/* Adelaide Ceiling Replacements, dark site (Noir direction, Oct 2026) */
:root{--bg:#121110;--bg2:#1a1917;--bg3:#0a0908;--ink:#f1eee7;--mut:#b9b1a3;--line:#2f2c28;--line2:#4a4640;--gold:#c9a86a;--gold-ink:#121110;
  --serif:"Instrument Serif",Georgia,serif;--sans:Manrope,system-ui,-apple-system,sans-serif;--w:1400px;--g:40px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--ink)}a:hover{color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--g)}
.kick{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.mut{color:var(--mut)}
.sec{padding:96px 0}.sec.alt+.sec.alt{padding-top:0}
.alt{background:var(--bg2)}
.deep{background:var(--bg3)}
.h2{font-size:clamp(40px,5.4vw,80px);line-height:.98}
.lead{font-family:var(--serif);font-size:clamp(28px,3.6vw,52px);line-height:1.12}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--gold-ink);text-decoration:none;font-weight:600;padding:15px 26px;border-radius:999px;border:0;font:inherit;font-weight:600;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btn:hover{color:var(--gold-ink);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line2)}
.link{text-decoration:none;border-bottom:1px solid currentColor;font-weight:600;padding-bottom:2px}
.zoom{overflow:hidden}.zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.zoom:hover img{transform:scale(1.04)}
/* header */
.top{position:absolute;left:0;right:0;top:0;z-index:5}
.top.solid{position:static;background:var(--bg3)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;padding:24px var(--g);max-width:var(--w);margin:0 auto;font-size:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;font-weight:700;letter-spacing:.04em;color:#fff}
.brand img{width:42px;height:42px}
.nav nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.nav nav a,.nav .tel{color:#fff;text-decoration:none}
.nav nav a[aria-current]{color:var(--gold)}
.nav .tel{font-weight:600}
.menu-btn{display:none;background:none;border:1px solid var(--line2);color:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer}
/* hero */
.hero{position:relative;min-height:min(900px,100svh);display:flex;flex-direction:column;color:#fff;overflow:hidden}
.hero.short{min-height:min(680px,86svh)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 14s ease-out both}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,15,.6) 0%,rgba(18,17,15,.12) 28%,rgba(18,17,15,.45) 55%,rgba(18,17,15,.92) 100%)}
.hero .inner{position:relative;z-index:1;margin-top:auto;max-width:var(--w);width:100%;margin-left:auto;margin-right:auto;padding:0 var(--g) 56px;display:flex;flex-wrap:wrap;gap:28px;align-items:end;justify-content:space-between}
.hero h1{font-size:clamp(54px,9vw,140px);line-height:.92;letter-spacing:-.025em;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero.short h1{font-size:clamp(48px,7vw,104px)}
.hero .side{max-width:340px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.hero .side p{margin:0;color:#ece7dd}
@keyframes drift{from{transform:scale(1.08)}to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin-top:80px;border-top:1px solid var(--line);padding-top:32px}
.stats b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(56px,6vw,84px);line-height:.9}
.stats span{color:var(--mut);display:block;padding-top:10px}
/* services list */
.svc{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc li{display:grid;grid-template-columns:60px 150px minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:background-color .3s,padding-left .3s}
.svc li:hover{background:rgba(255,255,255,.03);padding-left:12px}
.svc .n{color:var(--gold)}
.svc img{width:150px;height:100px;object-fit:cover}
.svc a.t{font-family:var(--serif);font-size:clamp(32px,3.4vw,44px);line-height:1;text-decoration:none}
.svc .d{color:var(--mut)}
.svc .go{font-size:15px;white-space:nowrap}
/* grids */
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 40px;align-items:start}
.split .a{grid-column:1/span 6}.split .b{grid-column:7/span 6}
.card h3{font-size:30px;line-height:1.05;margin:12px 0 8px}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pt{border-top:1px solid var(--line2);padding-top:24px}
.pt .num{font-family:var(--serif);font-size:56px;line-height:1;color:var(--mut)}
.pt b{display:block;font-size:19px;margin-top:10px}
.pt p{color:#cfc8bb;margin:6px 0 0}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gal figure{margin:0}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gal figcaption{font-size:13px;color:var(--gold);padding-top:8px}
.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ba figure{margin:0;position:relative}.ba img{width:100%;height:min(720px,70vw);object-fit:cover}
.ba figcaption{position:absolute;left:28px;bottom:24px;font-family:var(--serif);font-size:44px;line-height:1;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.full{position:relative;height:min(820px,80vw);color:#fff;overflow:hidden}
.full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.full:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,15,0) 45%,rgba(18,17,15,.82) 100%)}
.full .inner{position:absolute;z-index:1;left:0;right:0;bottom:0;max-width:var(--w);margin:0 auto;padding:0 var(--g) 48px}
.ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 32px}
.ticks li{padding-left:22px;position:relative}.ticks li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--gold)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s);width:40px;height:40px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;font-weight:600}
.steps b{display:block;font-size:18px}.steps p{margin:4px 0 0;color:var(--mut)}
table.cmp{width:100%;border-collapse:collapse;font-size:15px}
table.cmp th{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--ink);font-weight:600}
table.cmp th:first-child,table.cmp td:first-child{color:var(--mut)}
table.cmp td{padding:12px 8px 12px 0;border-bottom:1px solid var(--line)}
.pk{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.pk>div{background:var(--bg2);padding:30px;border:1px solid var(--line)}
.pk>div.on{border-color:var(--gold)}
.pk h3{font-family:var(--sans);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:18px}
.pk .price{font-family:var(--serif);font-size:44px;line-height:1;margin:14px 0 4px}
.pk ul{padding-left:18px;color:#cfc8bb;margin:16px 0 0}
.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(32px,4vw,58px);line-height:1.1}
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:56px;border-top:1px solid var(--line);padding-top:28px}
.stars{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;font-size:13px}.chips span{border:1px solid #5b564e;padding:8px 14px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-size:19px;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";float:right;color:var(--gold)}
.faq details[open] summary:after{content:"–"}
.faq p{margin:10px 0 0;color:var(--mut)}
/* enquire */
.enq{position:relative;color:#fff;overflow:hidden}
.enq>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.enq:after{content:"";position:absolute;inset:0;background:rgba(18,17,15,.82)}
.enq .wrap{position:relative;z-index:1;padding-top:120px;padding-bottom:120px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-content:start}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cfc8bb}
.form .wide{grid-column:1/-1}
.form input,.form select,.form textarea{font:inherit;font-size:18px;color:#fff;padding:10px 0;border:0;border-bottom:1px solid #5b564e;background:transparent;border-radius:0}
.form select option{color:#121110}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-bottom-color:var(--gold)}
.form .hp{position:absolute;left:-9999px}
.form .msg{grid-column:1/-1;min-height:1.5em;color:var(--gold)}
.next{grid-column:1/-1;list-style:none;margin:8px 0 0;padding:22px 0 0;border-top:1px solid #5b564e;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font-size:14px;color:#e3ddd2}
.next b{display:block;color:#fff}.next i{font-style:normal;font-family:var(--serif);font-size:30px;color:#fff;line-height:1}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* footer */
footer{background:var(--bg3);color:var(--mut);font-size:14px;line-height:1.9}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;padding:56px 0 30px}
footer b{color:var(--ink)}footer a{color:var(--mut);text-decoration:none}footer a:hover{color:var(--gold)}
footer .base{border-top:1px solid #3a3733;padding:18px 0 90px;font-size:12px;color:#6b665e}
.sidetab{position:fixed;right:0;top:42%;z-index:6;writing-mode:vertical-rl;background:var(--gold);color:var(--gold-ink);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.14em;padding:22px 12px;border-radius:8px 0 0 8px}
.sidetab:hover{color:var(--gold-ink)}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--bg3);padding:10px 12px;gap:10px;border-top:1px solid var(--line)}
.mbar a{flex:1;text-align:center;text-decoration:none;font-weight:600;padding:14px;border-radius:999px}
.mbar .c{border:1px solid var(--line2);color:var(--ink)}.mbar .q{background:var(--gold);color:var(--gold-ink)}
@supports (animation-timeline:view()){.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}}
@media (max-width:900px){
  :root{--g:16px}
  .sec{padding:80px 0}
  .split>*{grid-column:1/-1!important}
  .split{grid-template-columns:minmax(0,1fr)}
  .svc li{grid-template-columns:90px minmax(0,1fr);gap:16px}
  .svc .n,.svc .go{display:none}.svc img{width:90px;height:70px}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .next{grid-template-columns:1fr}
  .menu-btn{display:inline-block}
  .nav nav{display:none;width:100%;flex-direction:column;gap:14px;font-size:18px;padding:10px 0}
  .nav.open nav{display:flex}
  .nav .tel{display:none}
  .sidetab{display:none}.mbar{display:flex}
  footer .base{padding-bottom:100px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img,.hero h1,.reveal{animation:none}.zoom img,.btn{transition:none}}

/* Google reviews badge */
.gbadge{display:inline-flex;align-items:center;gap:14px;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid var(--line2);padding:12px 18px 12px 12px;border-radius:14px;line-height:1.3;color:var(--ink)}
.gbadge:hover{border-color:var(--gold);color:var(--ink)}
.gbadge .g{width:40px;height:40px;border-radius:50%;background:#fff;color:#4285f4;font:700 22px/40px Arial,sans-serif;text-align:center;flex:none}
.gbadge b{font-size:20px}.gbadge small{color:var(--mut);font-size:13px}

/* Service intro: warning signs list in one column, inspection call-to-action band */
.ticks1 .ticks{grid-template-columns:minmax(0,1fr)}
.cta-band{margin-top:64px;padding:36px 40px;border:1px solid rgba(201,168,106,.35);display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.cta-band p{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.3;margin:0;max-width:600px}
.cta-act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
@media (max-width:900px){.cta-band{padding:28px 24px}}
