/* Broadline finish: original typography, photo panels and burgundy accents.
   Palette and motion overrides are grouped below for straightforward editing. */
:root{--wine:#4B132E;--wine-2:#601B3A;--deep:#34091E;--surface:#642340;--bg:#4B132E;--muted:#EED4CA;--head:"Bricolage Grotesque","Arial Narrow",Arial,sans-serif;--green:#71E6A5;--whatsapp:#25D366;--header-height:84px}
html{scroll-padding-top:calc(var(--header-height) + 22px)}
body{background:var(--wine);color:var(--cream)}
h1,h2,h3,.clean-intro h1,.clean-script span,.clean-script span:last-child{font-family:var(--head);letter-spacing:-.025em;line-height:1.12}
h2,.gains h2,.steps-sec h2,#services h2,.proof h2,.reels h2,.why h2,.clients-heading h2,#areas h2,#faq h2,#quote h2{font-size:clamp(38px,4.7vw,66px);font-weight:800;letter-spacing:-.025em;line-height:1.12}
h3,.journey h3,.gain h3,.story-card h3,.why li strong,.coverage-copy h3,.quote-form h3{font-weight:800;letter-spacing:-.015em;line-height:1.2}
.lead{color:#F0D9CF;line-height:1.7}
.neon-words,.section-neon .neon-words,.reels figcaption h3 .neon-words{color:#F33B59;text-shadow:0 0 10px rgba(232,28,66,.36),0 0 28px rgba(232,28,66,.24)}

/* The navigation is available immediately and remains fixed during the film. */
.site-header,.site-header.is-visible{position:fixed;inset:0 0 auto;opacity:1;visibility:visible;transform:none;background:rgba(62,12,36,.97);border-bottom:1px solid rgba(232,28,66,.65);box-shadow:0 3px 25px rgba(52,9,30,.18);backdrop-filter:blur(15px)}
.site-header.has-scrolled{box-shadow:0 4px 28px rgba(52,9,30,.28),0 1px 14px rgba(232,28,66,.12)}
.site-header .bar{height:var(--header-height);gap:24px;padding-inline:var(--page-gutter)}
.site-header .brand{display:flex;align-items:center;flex:none}
.site-header .brand img{width:98px;height:70px;object-fit:contain}
.header-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.5vw,34px);margin-left:auto;font-size:14px;font-weight:600}
.header-nav a{opacity:1;white-space:nowrap;position:relative;min-height:44px;display:flex;align-items:center;color:var(--cream)}
.header-nav a::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:2px;border-radius:9px;background:var(--neon);box-shadow:0 0 10px rgba(232,28,66,.6);transform:scaleX(0);transition:transform .25s}
.header-nav a:hover::after,.header-nav a:focus-visible::after{transform:scaleX(1)}
.header-nav a:hover{color:var(--cream);text-shadow:0 0 12px rgba(232,28,66,.3)}
.site-header .header-quote{flex:none;font-size:13px;padding:15px 21px;gap:17px}
.film-topline{display:none}
.clean-intro{top:max(calc(var(--header-height) + 45px),17%);max-width:610px;width:52%}
.clean-intro h1{font-weight:800;font-size:clamp(54px,6.1vw,84px);line-height:1.08;letter-spacing:-.035em}
.clean-intro h1 span{color:#F03351;text-shadow:0 0 18px rgba(232,28,66,.32)}
.clean-intro .clean-intro-copy{font-size:15px}
.clean-intro .trust{font-size:12px}
.clean-intro .hero-social{margin-block:22px 18px}
.clean-script span,.clean-script span:last-child{font-weight:800;font-size:clamp(38px,5.2vw,72px)}
.clean-script{top:max(calc(var(--header-height) + 38px),15%);bottom:auto;height:100px}
.clean-finish{top:max(calc(var(--header-height) + 32px),16%)}

/* Generous, rounded buttons with a warm red glow and unmistakable WhatsApp green. */
.btn,.btn-sm,.offer a,.clean-finish .btn,.quote-form .form-foot .btn,.contact-list a.whatsapp-contact{border-radius:999px}
.btn-primary{background:#E81C42;color:#fff;font-weight:700;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 22px rgba(232,28,66,.44);animation:welcoming-glow 4.8s ease-in-out infinite;animation-play-state:paused}
.is-in-view .btn-primary,.site-header .btn-primary{animation-play-state:running}
.btn-primary:hover,.btn-primary:focus-visible{background:#ED2A4D;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 35px rgba(232,28,66,.64);transform:translateY(-2px)}
@keyframes welcoming-glow{50%{box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 30px rgba(232,28,66,.58)}}
.btn-whatsapp,.clean-intro .btn-whatsapp,.contact-list a.whatsapp-contact{background:#25D366!important;border:1px solid #65ED97!important;color:#08381D!important;font-weight:700;box-shadow:0 0 20px rgba(37,211,102,.3)!important}
.btn-whatsapp:hover,.clean-intro .btn-whatsapp:hover,.contact-list a.whatsapp-contact:hover{background:#49E080!important;box-shadow:0 0 30px rgba(37,211,102,.45)!important}
.clean-intro .btn{padding:16px 21px;min-height:50px}
.whatsapp-note,.clean-intro .whatsapp-note{color:#DCF5E4}
.social-link,.contact-list a.social-link{background:rgba(75,19,46,.9);border-color:#F03351;color:#F33B59;box-shadow:0 0 14px rgba(232,28,66,.28)}
.social-links-footer .social-link{border-radius:999px;min-height:44px}

/* Reassurance bar. Final colour treatment is grouped with the photo panels below. */
.offer{background:#4B1731;border-color:rgba(113,230,165,.25)}
.assurance-copy strong{font-family:var(--head);font-size:25px;font-weight:800;color:var(--green);text-shadow:0 0 20px rgba(113,230,165,.16)}
.assurance-copy svg{stroke:var(--green);filter:drop-shadow(0 0 9px rgba(113,230,165,.2))}
.assurance-copy small{color:#F0D9CF}
.offer a{border:1px solid rgba(113,230,165,.65);background:rgba(113,230,165,.08);color:#D8FAE6;font-weight:600}
.offer a:hover{background:rgba(113,230,165,.15);box-shadow:0 0 22px rgba(113,230,165,.17)}

/* Wine, plum and berry replace the near-black section backgrounds. */
.gains{background:radial-gradient(ellipse at 85% 15%,#6C2042,#4B132E 75%)}
.gain{border-radius:22px;background:rgba(111,38,69,.38);border-color:rgba(243,201,180,.2);border-top-color:var(--neon)}
.gain:hover{background:rgba(111,38,69,.55)}
.gain h3{font-size:27px}.gain li{color:#F0D9CF}
#services{background:linear-gradient(160deg,#702846 0%,#5A1C38 70%,#541631 100%)}
#services .lead{margin-top:25px;margin-bottom:54px;color:#F5DED5}
#services h2 .neon-words{color:#FF4863}
.price-list{border-top:1px solid rgba(243,201,180,.38)}
.price-list .row{border-bottom-color:rgba(243,201,180,.23)}
.price-list .row p,.price-list .row .from small,#services .note{color:#F0D9CF}
.price-list h3{font-size:25px}.row .from{color:#FFAC66}
.proof{background:radial-gradient(ellipse at 80% 45%,#752645,#541631 70%)}
.proof h2 .neon-words{color:#FF4863;text-shadow:0 0 9px rgba(232,28,66,.5),0 0 30px rgba(232,28,66,.4)}
.report-shell .report{background:#5A1A37;border-radius:18px;border-color:rgba(243,201,180,.3);border-top-color:var(--neon);box-shadow:0 22px 60px rgba(52,9,30,.23),0 0 35px rgba(232,28,66,.15)}
.report-flap-top{border-radius:18px 18px 0 0}.report-flap-bottom{border-radius:0 0 18px 18px}
.report-enhanced .report-flap{background:linear-gradient(135deg,#762646,#4B132E);border-color:#E84967}
.report .report-head .stamp{border-radius:999px;border-color:rgba(113,230,165,.5);background:rgba(113,230,165,.10);color:#B9F6D3;font-weight:600}
.comparisons.reels{background:linear-gradient(#541631,#5F1D3B 45%,#4B132E)}
.reels .comparison-view{border-radius:20px;box-shadow:0 16px 45px rgba(52,9,30,.18)}
.reels h2{max-width:none}.reels figcaption h3{font-weight:800}
.reel-sticky{top:var(--header-height);min-height:calc(100svh - var(--header-height))}
section[aria-labelledby="why-title"]{background:radial-gradient(ellipse at 10% 40%,#682140,#4B132E 72%)}
.owner-panel{padding:28px;border:1px solid rgba(243,201,180,.22);border-top-color:var(--neon);border-radius:22px;background:rgba(117,40,72,.35)}
.owner-panel:hover{background:rgba(117,40,72,.48);box-shadow:0 0 24px rgba(232,28,66,.1)}
.owner-panel .owner-neon-title{color:#F8627B;text-shadow:0 0 20px rgba(232,28,66,.24)}
.clients-sec{background:linear-gradient(#4B132E,#69213F)}
.client-grid{gap:24px;align-items:stretch}
.story-card{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:block!important;margin-bottom:0}
.story-float{height:100%;padding:32px 28px;border:1px solid rgba(243,201,180,.24);border-top:2px solid var(--neon);border-radius:24px;background:linear-gradient(145deg,#79314F,#5C1C39);box-shadow:0 18px 45px rgba(52,9,30,.18);transition:box-shadow .25s,border-color .25s}
.story-float:hover{border-color:#F24C6A;box-shadow:0 18px 40px rgba(52,9,30,.2),0 0 25px rgba(232,28,66,.15)}
.story-tag{color:#FFC2CC;font-size:10px;margin-bottom:22px}
.story-card h3{font-size:clamp(26px,2.5vw,34px);line-height:1.2;max-width:16ch;margin-bottom:18px}
.story-card p{color:#F5DED5;font-size:15px}.story-card em{display:block;margin-top:22px;color:#F2D7CD;font-size:12px;font-style:italic}
.story-card:hover h3{color:var(--cream)}
.areas-sec{background:linear-gradient(#69213F,#511730)}
.coverage-copy h3{font-size:clamp(32px,4vw,49px)}
.coverage-kicker{color:var(--green)}
.coverage-kicker::before{background:var(--green);box-shadow:0 0 12px rgba(113,230,165,.5)}
.coverage-regions span{border-radius:999px;color:#D9F9E7;border-color:rgba(113,230,165,.35);background:rgba(113,230,165,.05);padding:9px 13px}
.perth-map,.suburb-directory{border-radius:22px;overflow:hidden;border-color:rgba(113,230,165,.26)}
.map-title,.map-caption{background:#5D1E39}.map-title svg{stroke:var(--green)}
.map-title a{border:1px solid rgba(113,230,165,.4);border-radius:999px;padding:7px 13px;color:#C5F8DB;text-decoration:none}
.suburb-directory{background:rgba(111,38,69,.3)}
#faq{background:linear-gradient(#511730,#60203C)}
#faq details{border-radius:13px;border-bottom-color:rgba(243,201,180,.24)}
#faq details[open]{background:rgba(132,48,81,.3)}
#quote{background:radial-gradient(ellipse at 18% 28%,#7B2E50,#5A1B38 60%,#4B132E)}
#quote h2 .neon-words{color:#FF647B}
.quote-form{border-radius:24px;box-shadow:0 25px 65px rgba(52,9,30,.22)}
.quote-form input,.quote-form select,.quote-form textarea{border-radius:12px}
.quote-form .quote-extras{border-radius:12px}
.quote-form .form-foot .btn{box-shadow:0 0 22px rgba(232,28,66,.3)}
.site-footer{background:#45102A}
.thanks-page{background:radial-gradient(ellipse at 70% 25%,#7B2E50,#4B132E)}

/* The room drifts independently of scroll, while the cards gently bob. */
.steps-sec{background:#4B132E}
.steps-sec::before{background:linear-gradient(180deg,#4B132E,rgba(75,19,46,.18) 30%,rgba(75,19,46,.25) 75%,#702846)}
.steps-sec .how-photo{transform-origin:center;animation:room-drift 18s ease-in-out infinite alternate;animation-play-state:paused}
.steps-sec.is-in-view .how-photo{animation-play-state:running}
.steps-sec .how-photo img{opacity:.94;filter:saturate(.85)}
@keyframes room-drift{from{transform:scale(1.04) translate3d(-.5%,0,0)}to{transform:scale(1.10) translate3d(1%,.6%,0)}}
.step-card{border-radius:24px;background:rgba(89,25,54,.91);border-color:rgba(243,201,180,.28);box-shadow:0 18px 50px rgba(52,9,30,.19);animation-duration:6.8s}
.step-card:hover{background:rgba(106,32,64,.94);border-color:var(--neon);box-shadow:0 15px 40px rgba(232,28,66,.25)}
.journey-bubble{border-color:#F44563;background:rgba(232,28,66,.12);box-shadow:0 0 24px rgba(232,28,66,.24)}
.journey-bubble span{border-color:#5B1B37}
.gain,.story-float,.owner-panel,.quote-promise,.coverage-kicker,.assurance-copy svg,.price-list .from,#faq .neon-mark{animation:gentle-bob 7.5s ease-in-out infinite;animation-play-state:paused}
.is-in-view .gain,.is-in-view .story-float,.is-in-view .owner-panel,.is-in-view .quote-promise,.is-in-view .coverage-kicker,.is-in-view .assurance-copy svg,.is-in-view .price-list .from,.is-in-view#faq .neon-mark{animation-play-state:running}
.gain:nth-child(2),.story-card:nth-child(2) .story-float,.price-list .row:nth-child(2n) .from{animation-delay:-2.5s}
.gain:nth-child(3),.story-card:nth-child(3) .story-float{animation-delay:-5s}
.gain:nth-child(4){animation-delay:-1.2s}
@keyframes gentle-bob{50%{translate:0 -7px}}
.price-list .from{animation-name:price-breathe}
@keyframes price-breathe{50%{translate:0 -3px;text-shadow:0 0 20px rgba(238,118,42,.2)}}

@media(max-width:1050px){.site-header .bar{gap:20px;padding-inline:28px}.header-nav{gap:18px;font-size:12px}.site-header .header-quote{padding:14px 17px;font-size:12px}.clean-intro{width:65%}.clean-intro h1{font-size:68px}.clean-intro .trust{font-size:11px}}
@media(max-width:800px){
 :root{--header-height:116px}
 .site-header .bar{display:grid;grid-template-columns:1fr auto;gap:0 14px;grid-template-rows:70px 46px;padding-inline:24px}
 .site-header .brand{grid-column:1;grid-row:1}.site-header .brand img{width:80px;height:60px}
 .site-header .header-quote{grid-column:2;grid-row:1;min-height:44px;padding:13px 17px}
 .header-nav{grid-column:1/-1;grid-row:2;display:flex;width:100%;justify-content:space-between;gap:10px;margin:0;border-top:1px solid rgba(243,201,180,.14);font-size:12px}
 .header-nav a{min-height:44px}
 .clean-intro{width:auto;left:24px;right:24px;top:calc(var(--header-height) + 30px);max-width:560px}
 .clean-intro h1{font-size:62px}.clean-finish{top:calc(var(--header-height) + 30px)}
 .story-card h3{max-width:none}.story-card p{max-width:55ch}.story-float{padding:30px}.client-grid{gap:30px}
}
@media(max-width:600px){
 .site-header .bar{padding-inline:20px}.header-nav{font-size:11px;gap:8px}.site-header .header-quote{font-size:11px}
 .clean-intro{top:calc(var(--header-height) + 24px)}
 .clean-intro h1{font-size:clamp(44px,12.1vw,58px);line-height:1.08;margin-bottom:15px}
 .clean-intro .clean-intro-copy{font-size:12px;line-height:1.6}.clean-intro .ctas{margin-top:17px;gap:10px}
 .clean-intro .btn{font-size:12px;min-height:46px;padding:13px 20px}
 .clean-intro .hero-social{margin-block:15px}.clean-intro .trust{font-size:10px;gap:5px}
 .clean-script span,.clean-script span:last-child{font-size:clamp(34px,9.5vw,48px)}
 .finish-brand{width:200px}.clean-finish .btn{font-size:14px}
 h2,.gains h2,.steps-sec h2,#services h2,.proof h2,.reels h2,.why h2,.clients-heading h2,#areas h2,#faq h2,#quote h2{font-size:clamp(37px,10.1vw,48px);line-height:1.14}
 .gains h2{max-width:17ch}.gain{border-radius:20px}.gain h3{font-size:26px}
 .assurance-copy strong{font-size:23px}.assurance-copy small{font-size:12px}
 .story-float{padding:28px 24px}.story-card h3{font-size:29px;max-width:16ch}.story-card p{font-size:14px}
 .report-scene{padding-block:22px}.owner-panel{padding:24px}.quote-form{padding:28px 22px}
 .coverage-copy h3{font-size:35px}.coverage-regions{gap:8px}.coverage-regions span{font-size:11px}
 .map-title a{font-size:10px}.map-title{padding-inline:14px}
}
@media(max-width:760px){.reel-sticky{min-height:0}.reel-card-inner{top:calc(var(--header-height) + 14px)}.reels .comparison-view{max-height:calc(100svh - var(--header-height) - 190px)}}
@media(max-height:740px) and (max-width:600px){
 .clean-intro{top:calc(var(--header-height) + 17px)}.clean-intro h1{font-size:43px;margin-bottom:11px}.clean-intro .clean-eyebrow{margin-bottom:8px}.clean-intro .clean-intro-copy{font-size:11px}.clean-intro .ctas{margin-top:14px;gap:8px}.clean-intro .hero-social{margin-block:12px}.clean-intro .trust{font-size:9px;gap:3px}
}
@media(max-height:600px) and (min-width:601px){
 .clean-intro{top:calc(var(--header-height) + 16px);width:78%;max-width:700px}.clean-intro h1{font-size:43px;display:inline-block}.clean-intro .clean-intro-copy{display:inline-block;max-width:29ch;font-size:12px;margin-left:24px;vertical-align:top}.clean-intro .ctas{margin-top:4px}.clean-intro .hero-social{margin-block:12px}.clean-intro .trust{display:flex;flex-wrap:wrap;font-size:9px}.finish-brand{width:150px;margin-bottom:12px}.clean-finish{top:calc(var(--header-height) + 12px)}
}
@media(prefers-reduced-motion:reduce){
 .btn-primary,.steps-sec .how-photo,.gain,.story-float,.owner-panel,.quote-promise,.coverage-kicker,.assurance-copy svg,.price-list .from,#faq .neon-mark{animation:none!important;translate:none}
 .steps-sec .how-photo{transform:none}.clean-finish{top:calc(var(--header-height) + 30px)}
 .reel-sticky{min-height:0}
}

/* Original Broadline typography. Keep these rules after responsive refinements. */
:root{--orange:#BD4E18}
h1,h2,h3{letter-spacing:-.01em}
h2,.gains h2,.steps-sec h2,#services h2,.proof h2,.reels h2,.why h2,.clients-heading h2,#areas h2,#faq h2,#quote h2{font-size:clamp(32px,4.4vw,48px);line-height:1.06;letter-spacing:-.01em;font-weight:800}
h3,.journey h3,.gain h3,.story-card h3,.why li strong,.coverage-copy h3,.quote-form h3{font-weight:700;letter-spacing:-.01em}
.clean-intro h1{font-family:var(--head);font-weight:800;font-size:clamp(54px,6.7vw,86px);line-height:1.06;letter-spacing:-.01em}
.clean-time{font-family:var(--head);font-weight:800;letter-spacing:-.01em}
.site-header .brand img{width:70px;height:70px;filter:drop-shadow(0 0 9px rgba(232,28,66,.26))}
.gain h3,.journey h3{font-size:25px}.story-card h3{font-size:30px}

/* Room completion circles retain the existing film timing. */
.clean-dashboard{width:500px;max-width:calc(100% - 2 * var(--page-gutter))}
.clean-rooms{gap:9px;align-items:center;margin-top:16px}
.clean-rooms li{position:relative;width:60px;height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:center;padding:6px;border:1px solid #E81C42;border-radius:50%;background:rgba(52,9,30,.78);color:#FCF4EC;font-size:9px;line-height:1.3;text-align:center;box-shadow:0 0 12px rgba(232,28,66,.18);transition:background .25s,box-shadow .25s,border-color .25s}
.clean-rooms li::before{content:"";display:none}
.clean-rooms li.is-done{background:rgba(91,13,40,.94);border-color:#FF5778;box-shadow:0 0 17px rgba(232,28,66,.42),inset 0 0 10px rgba(232,28,66,.12)}
.clean-rooms li.is-done::before{content:"✓";position:absolute;top:-5px;right:-3px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#E81C42;color:white;font-size:11px;text-shadow:none}
.finish-brand{width:240px}
.finish-actions{display:flex;justify-content:center;align-items:flex-start;gap:14px}
.clean-finish .btn{gap:12px;white-space:nowrap;font-size:13px;padding:16px 21px}
.finish-actions .whatsapp-cta{display:flex;flex-direction:column;align-items:center;gap:9px}
.finish-actions .whatsapp-note{font-size:10px;line-height:1.5;white-space:nowrap}
.clean-finish .hero-social{margin-top:24px}

/* A distinct green pause between the film and the rest of the site. */
.offer{background:#137749;border-color:#439C66}
.assurance-copy strong,.assurance-copy small{color:#fff;text-shadow:none}
.assurance-copy strong{font-size:25px;font-weight:700}
.assurance-copy svg{stroke:#fff;filter:none}
.offer a{background:rgba(255,255,255,.08);border:1px solid #fff;color:#fff;font-weight:700}
.offer a:hover{color:#fff;background:rgba(255,255,255,.17);box-shadow:0 0 20px rgba(255,255,255,.15)}

/* Fresh photography and cream paper break up the wine sections. */
.gains{background:#FCF4EC;color:#34091E}
.gains::before{inset:0;z-index:1;background:linear-gradient(90deg,rgba(252,244,236,.97),rgba(252,244,236,.86) 38%,rgba(252,244,236,.08) 78%),linear-gradient(0deg,#FCF4EC 5%,transparent 75%);animation:none}
.benefits-image{position:absolute;inset:0 0 auto;height:660px;z-index:0;overflow:hidden;pointer-events:none}
.benefits-image img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.gains>.wrap{position:relative;z-index:2}
.gains .lead{color:#60404E;max-width:42ch;margin-bottom:70px}
.gains h2,#services h2{color:#34091E}
.gains .neon-words,#services h2 .neon-words{color:#BC183B;text-shadow:0 0 18px rgba(232,28,66,.16)}
.gain{background:rgba(255,252,247,.94);border-color:#E0C9CD;border-top-color:#D42044;border-radius:14px;box-shadow:0 12px 35px rgba(78,27,45,.06)}
.gain:hover{background:#FFFCF7;box-shadow:0 14px 32px rgba(78,27,45,.09)}
.gain h3,.gain:hover h3{color:#34091E;text-shadow:none}
.gain li{color:#60404E}.gain li strong{color:#34091E}
.steps-sec::before{background:linear-gradient(180deg,#FCF4EC,rgba(252,244,236,.78) 32%,rgba(75,19,46,.1) 66%,#F8EFE5)}
.steps-sec h2,.steps-sec .how-lead{color:#34091E}
#services{background:#F8EFE5;color:#34091E}
.services-intro{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px;margin-bottom:55px}
#services h2{max-width:13ch}
#services .lead{margin:24px 0 0;color:#60404E;max-width:40ch}
.services-photo{height:350px;overflow:hidden;border-radius:16px;box-shadow:0 20px 45px rgba(74,25,42,.10)}
.services-photo img{width:100%;height:100%;object-fit:cover;animation:room-drift 20s ease-in-out infinite alternate;animation-play-state:paused}
#services.is-in-view .services-photo img{animation-play-state:running}
.price-list{border-top-color:#C88B8C}
.price-list .row{border-bottom-color:#DCC6C9}
.price-list .row h3,.price-list .row:hover h3{font-size:25px;font-weight:700;color:#34091E;text-shadow:none}
.price-list .row p,.price-list .row .from small,#services .note{color:#60404E}
.price-list .row p a{color:#AC1738}
.price-list .from{color:#BD4E18;font-weight:700;font-size:38px}
.price-list .coming-soon{color:#653146;border-color:#CFAEB6;border-radius:999px;background:transparent}

/* The report has its own slow sticky scroll: closed, open/read, then folded. */
main>section.proof.cinematic-section{position:relative;isolation:isolate;overflow:visible;display:block;min-height:0;padding-block:100px;background:#563443}
.proof-background{position:absolute;inset:0;z-index:0;overflow:clip;pointer-events:none}
.proof-background img{position:sticky;top:0;width:100%;height:100svh;object-fit:cover;object-position:center}
.proof-background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,9,30,.91),rgba(52,9,30,.68) 42%,rgba(52,9,30,.26));}
.proof>.wrap{position:relative;z-index:1}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:65px}
.proof-copy{position:sticky;top:calc(var(--header-height) + 12svh)}
.proof .lead{font-size:16px;line-height:1.7}
.report-scroll-track{height:190svh;position:relative;min-width:0}
.report-scene{position:sticky;top:calc(var(--header-height) + 12svh);padding:0}
.report-shell .report{background:#FCF4EC;color:#34091E;border-color:#E5CBD0;border-top-color:#E81C42;border-radius:12px;box-shadow:0 25px 65px rgba(52,9,30,.25)}
.report .report-head strong,.report .checks li{color:#34091E}
.report .report-head span:not(.stamp),.report .checks em,.report .report-foot{color:#70515E}
.report .report-head{border-color:#DCC6C9}
.report .checks li{border-color:#E1CED1}
.report .report-head .stamp{color:#14613D;border-color:#78A88B;background:#DFF0E3}
.report-scroll-hint{text-align:center;font-size:12px;line-height:1.5;color:#fff;margin:25px 0 0}
.report-enhanced .report-flap{background:linear-gradient(135deg,#571632,#34091E);border-color:#CF3656}
.report-flap-top{border-radius:12px 12px 0 0}.report-flap-bottom{border-radius:0 0 12px 12px}
.comparisons.reels{background:linear-gradient(#42172D,#571C37 65%,#4B132E)}

@media(max-width:1050px){.services-intro{gap:40px}.proof-grid{gap:35px}.clean-intro h1{font-size:68px}.gain-grid{gap:22px}}
@media(max-width:860px){
 .proof-grid{display:block}.proof-copy{position:relative;top:auto;margin-bottom:48px;max-width:600px}
 .report-scroll-track{height:180svh}.report-scene{top:calc(var(--header-height) + 35px)}
 .report-shell{max-width:540px}.proof-background::after{background:rgba(52,9,30,.62)}
 .services-intro{gap:30px}.services-photo{height:310px}
}
@media(max-width:800px){.site-header .brand img{width:58px;height:58px}.finish-brand{width:210px}.clean-finish{top:calc(var(--header-height) + 24px)}}
@media(max-width:600px){
 h2,.gains h2,.steps-sec h2,#services h2,.proof h2,.reels h2,.why h2,.clients-heading h2,#areas h2,#faq h2,#quote h2{font-size:38px;line-height:1.08}
 .clean-intro h1{font-size:clamp(44px,12.1vw,58px);line-height:1.03}
 .clean-dashboard{max-width:none;width:auto;bottom:12%}.clean-rooms{gap:8px;max-width:240px}
 .clean-rooms li{width:52px;height:52px;flex-basis:52px;font-size:9px;padding:3px}
 .finish-actions{display:flex;flex-direction:column;align-items:center;gap:13px}.clean-finish .btn{font-size:12px;min-height:46px;padding:13px 22px}
 .finish-brand{width:180px;margin-bottom:17px}.clean-finish .hero-social{margin-top:18px;gap:10px}.finish-actions .whatsapp-note{font-size:9px}
 .assurance-copy strong{font-size:23px}.assurance-copy small{font-size:12px}
 .benefits-image{height:520px}.benefits-image img{object-position:65% top}
 .gains::before{background:linear-gradient(0deg,#FCF4EC 25%,rgba(252,244,236,.65) 67%,rgba(252,244,236,.9))}
 .gains .lead{margin-bottom:130px;font-size:15px}.gain h3{font-size:25px}
 .services-intro{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.services-photo{height:240px}
 #services h2{max-width:none}#services .lead{font-size:15px;max-width:45ch}
 .price-list .row h3{font-size:23px}.price-list .from{font-size:33px}
 main>section.proof.cinematic-section{padding-block:65px}.proof .lead{font-size:15px}.report-scroll-track{height:170svh}
 .report .report-head strong{font-size:21px}.report .report-head{gap:12px}.report .checks li{font-size:11px}.report .checks em{font-size:9px}
 .report .report-head .stamp{font-size:8px;padding:5px 8px}.report-scroll-hint{font-size:11px;margin-top:22px}
}
@media(max-height:740px) and (max-width:600px){.clean-intro h1{font-size:43px}.finish-brand{width:145px}.clean-finish{top:calc(var(--header-height) + 17px)}.clean-finish .hero-social{margin-top:13px}.clean-dashboard{bottom:11%}.clean-rooms li{width:44px;height:44px;flex-basis:44px}}
@media(max-height:600px) and (min-width:601px){.clean-intro h1{font-size:43px}.finish-brand{width:130px}.clean-finish{top:calc(var(--header-height) + 12px)}.clean-dashboard{bottom:12%}.clean-rooms li{width:45px;height:45px;flex-basis:45px}}
@media(prefers-reduced-motion:reduce){.services-photo img{animation:none;transform:none}.report-scroll-track{height:auto}.report-scene,.proof-copy{position:relative;top:auto}.proof-background img{position:absolute;height:100%;top:0}.clean-rooms li{transition:none}}

/* Final section rhythm: clear headings, local skyline and a lighter FAQ. */
.site-header .brand{gap:13px;text-decoration:none}
.brand-name{display:flex;flex-direction:column;gap:3px;color:#FCF4EC;white-space:nowrap}
.brand-name strong{font:700 21px/1.1 var(--head);letter-spacing:-.015em}
.brand-name>span{font:500 9px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#F3C9B4}
.site-header .bar{gap:25px}.header-nav{gap:24px;font-size:13px}

/* Opaque enough to read on every frame of the gently moving room. */
.how-heading-panel{display:inline-block;max-width:650px;padding:26px 32px;border-left:3px solid #D42044;border-radius:0 15px 15px 0;background:rgba(252,244,236,.96);box-shadow:0 12px 40px rgba(52,9,30,.08)}
#how h2{color:#34091E;text-shadow:none;margin-bottom:16px}
#how .how-lead{color:#60404E;text-shadow:none;margin:0;font-size:16px}
#how::after{content:"";position:absolute;z-index:2;inset:auto 0 0;height:70px;pointer-events:none;background:linear-gradient(transparent,#F8EFE5 80%)}
#how .journey{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:none;margin-top:65px}
#how .step-card{padding:28px 22px;min-height:238px;display:block;border-radius:18px}
#how .journey h3{font-size:23px;line-height:1.2}
#how .journey-bubble{margin-bottom:25px}
.journey-swipe-hint{display:none}
#how .journey:focus-visible{outline:2px solid #E81C42;outline-offset:8px;border-radius:14px}

/* Keep the cream price page, with stronger burgundy and neon accents. */
#services .services-photo{border:1px solid #C5A4AF;border-bottom:3px solid #D42044}
#services .price-list{border-top:2px solid #CB2448}
#services .price-list .row{padding-inline:20px;border-bottom-color:#D1A4B1}
#services .price-list .row:nth-child(odd){background:linear-gradient(90deg,rgba(75,19,46,.065),rgba(75,19,46,.015) 80%)}
#services .price-list .row h3{justify-self:start;display:inline-block;padding:10px 16px;border:1px solid #B83858;border-radius:999px;background:#4B132E;color:#FCF4EC;font-size:21px;line-height:1.25;box-shadow:0 0 14px rgba(232,28,66,.08)}
#services .price-list .row:hover h3{color:white;background:#601B3A;border-color:#E81C42;box-shadow:0 0 20px rgba(232,28,66,.18)}
#services .note{border-left:2px solid #D42044;padding-left:16px}

/* Local identity stays quiet behind the trust copy. */
section.why-section{position:relative;isolation:isolate;overflow:hidden;background:#42182F;border-top:1px solid rgba(243,201,180,.25)}
.why-city-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none}
.why-city-backdrop img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:grayscale(.85) saturate(.25);opacity:.26}
.why-city-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,9,30,.65),rgba(52,9,30,.3)),linear-gradient(0deg,#42182F,transparent 38%,rgba(66,24,47,.18))}
.why-section>.wrap{position:relative;z-index:1}
.why-section .owner-panel{background:rgba(75,19,46,.8);border-color:rgba(243,201,180,.3);border-top-color:#E81C42}
.why-section .lead,.why-section .trust-copy span{color:#F7E5DD}
.clients-sec{border-top:1px solid rgba(243,201,180,.25)}
#areas{position:relative;background:linear-gradient(125deg,#7B3A53,#69273F 58%,#5B2039);border-top:1px solid #E95C79;border-bottom:1px solid #B9677D;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
#areas::before{content:"";position:absolute;left:var(--page-gutter);top:-1px;width:100px;height:2px;background:#FF567B;box-shadow:0 0 15px rgba(232,28,66,.65)}
#areas .suburb-directory{background:rgba(52,9,30,.22)}

/* Cream FAQ with a restrained blush glow, then back to wine for the quote. */
#faq{background:radial-gradient(ellipse at 8% 20%,#F3DFDB,transparent 58%),#FCF4EC;color:#34091E;border-top:1px solid #D5A5B2;border-bottom:2px solid #C83051}
#faq h2{color:#34091E}
#faq .faq-policies{color:#60404E;border-top-color:#C82347}
#faq .neon-mark,#faq .policy-tick{color:#C31942;text-shadow:0 0 18px rgba(232,28,66,.20)}
#faq details{background:rgba(255,255,255,.32);border-bottom-color:#D7BAC3;border-radius:10px}
#faq summary,#faq summary:hover{color:#34091E;text-shadow:none}
#faq details .faq-answer p{color:#60404E}
#faq details[open]{background:#F5E4E5;border-color:#CF3153}
#faq summary::after{color:#C31942;border-color:#C31942;box-shadow:0 0 9px rgba(232,28,66,.16)}
#faq details[open] summary::after,#faq summary:hover::after{color:white;background:#C31942}
#faq summary:focus-visible{outline-color:#C31942}

/* A steady strong green halo everywhere, with a slow pulse while in view. */
.btn-whatsapp,.clean-intro .btn-whatsapp,.contact-list a.whatsapp-contact{background:#25D366!important;border-color:#8BFFB4!important;box-shadow:0 0 0 1px rgba(163,255,193,.4),0 0 20px rgba(37,211,102,.65),0 0 48px rgba(37,211,102,.32)!important;animation:whatsapp-glow 3.8s ease-in-out infinite;animation-play-state:paused}
.is-in-view .btn-whatsapp,.is-in-view .whatsapp-contact,.thanks-page .btn-whatsapp{animation-play-state:running}
.btn-whatsapp:hover,.btn-whatsapp:focus-visible,.clean-intro .btn-whatsapp:hover,.contact-list a.whatsapp-contact:hover{background:#57EA8E!important;box-shadow:0 0 0 2px rgba(180,255,204,.65),0 0 28px rgba(37,211,102,.85),0 0 65px rgba(37,211,102,.48)!important}
@keyframes whatsapp-glow{50%{filter:drop-shadow(0 0 8px rgba(37,211,102,.45))}}
.whatsapp-note,.clean-intro .whatsapp-note,.finish-actions .whatsapp-note{font-size:12px;font-weight:600;line-height:1.5;color:#F0FFF4;white-space:normal;max-width:270px;text-shadow:0 1px 4px rgba(0,20,9,.9);padding:5px 10px;background:rgba(4,44,22,.88);border:1px solid rgba(111,247,158,.38);border-radius:8px}
.contact-list .whatsapp-note{display:block;width:fit-content;margin-top:12px}
.thanks-contact .whatsapp-cta{display:flex;flex-direction:column;align-items:center;gap:12px}
.thanks-contact .btn-whatsapp{padding:13px 22px}

@media(max-width:1100px){
 :root{--header-height:116px}
 .site-header .bar{display:grid;grid-template-columns:1fr auto;grid-template-rows:70px 46px;gap:0 14px;padding-inline:28px}
 .site-header .brand{grid-column:1;grid-row:1}.site-header .brand img{width:58px;height:58px}
 .site-header .header-quote{grid-column:2;grid-row:1;min-height:44px}
 .header-nav{grid-column:1/-1;grid-row:2;display:flex;width:100%;justify-content:space-between;margin:0;border-top:1px solid rgba(243,201,180,.14);font-size:12px;gap:15px}
 .header-nav a{min-height:44px}
 #how .journey{gap:14px}#how .step-card{padding:24px 16px;min-height:220px}#how .journey h3{font-size:19px}#how .journey p{font-size:12px}
}
@media(max-width:800px){#how .journey{gap:12px}#how .step-card{padding:22px 14px}#how .journey h3{font-size:18px}}
@media(max-width:600px){
 .site-header .bar{padding-inline:18px;gap:0 10px}.site-header .brand{gap:8px}.site-header .brand img{width:48px;height:48px}
 .brand-name strong{font-size:17px}.brand-name>span{font-size:8px;letter-spacing:.08em}
 .site-header .header-quote{padding:12px 14px;font-size:10px;gap:9px}.header-nav{font-size:10px;gap:8px}
 .how-heading-panel{padding:22px;display:block}#how h2{font-size:36px}#how .how-lead{font-size:14px}
 .journey-swipe-hint{display:flex;justify-content:space-between;gap:20px;color:#34091E;background:rgba(252,244,236,.94);padding:10px 15px;border-radius:999px;font-size:12px;font-weight:600;margin:24px 0 0}
 #how .journey{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#E81C42 #F3DFDB;margin-top:12px;padding:18px 4px 22px}
 #how .journey>li{scroll-snap-align:start;min-width:0}#how .step-card{min-height:238px;padding:26px 24px;display:block}#how .journey h3{font-size:24px}#how .journey p{font-size:14px}
 #how .journey-bubble{margin:0 0 25px}
 #services .price-list .row{padding-inline:14px}#services .price-list .row h3{font-size:18px;padding:9px 12px}
 .whatsapp-note,.clean-intro .whatsapp-note,.finish-actions .whatsapp-note{font-size:11px;max-width:255px;padding:5px 8px}
 .clean-intro .hero-social{margin-top:14px}.clean-finish .hero-social{margin-top:18px}
}
@media(max-width:380px){.site-header .bar{padding-inline:14px}.brand-name strong{font-size:16px}.brand-name>span{font-size:7.5px}.site-header .brand img{width:44px;height:44px}.site-header .header-quote{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.btn-whatsapp,.clean-intro .btn-whatsapp,.contact-list a.whatsapp-contact{animation:none;filter:none}#how .journey{scroll-behavior:auto;scroll-snap-type:none}}

/* Brand finish: logo-like wordmark and stronger, deliberate neon accents. */
.brand-name strong{font-family:"Montserrat","Manrope",Arial,sans-serif;font-weight:800;font-size:21px;letter-spacing:-.035em;line-height:1}
.brand-name>span{font-family:"Montserrat","Manrope",Arial,sans-serif;font-weight:500;font-size:8px;letter-spacing:.20em;color:#EE762A;line-height:1.5}
.brand-name{gap:6px}

/* These two quote buttons use a lighter green than the WhatsApp buttons. */
.offer a.btn-quote-green,.quote-form .form-foot .btn-quote-green{background:#81F5AE;color:#093C24;border:1px solid #C5FFDA;font-weight:800;box-shadow:0 0 0 1px rgba(129,245,174,.3),0 0 22px rgba(98,246,151,.65),0 0 45px rgba(98,246,151,.3);animation:quote-green-glow 4s ease-in-out infinite;animation-play-state:paused}
.offer.is-in-view a.btn-quote-green,#quote.is-in-view .quote-form .form-foot .btn-quote-green{animation-play-state:running}
.offer a.btn-quote-green:hover,.quote-form .form-foot .btn-quote-green:hover,.quote-form .form-foot .btn-quote-green:focus-visible{background:#A3FFC6;color:#093C24;box-shadow:0 0 0 1px #D8FFE6,0 0 30px rgba(98,246,151,.8),0 0 55px rgba(98,246,151,.4)}
@keyframes quote-green-glow{50%{filter:drop-shadow(0 0 7px rgba(98,246,151,.35))}}
.gains h2 .neon-words{color:#B8133A;text-shadow:0 0 7px rgba(232,28,66,.46),0 0 22px rgba(232,28,66,.32),0 0 40px rgba(232,28,66,.15)}
#how .how-heading-panel{border-left-color:#E81C42;box-shadow:0 0 0 1px rgba(232,28,66,.19),0 0 22px rgba(232,28,66,.13)}
#how .journey-bubble{border:1px solid #FF587A;background:rgba(232,28,66,.15);box-shadow:inset 0 0 15px rgba(232,28,66,.22),0 0 9px rgba(255,87,122,.65),0 0 27px rgba(232,28,66,.55)}
#how .journey-bubble svg{stroke:#FFF3F6;filter:drop-shadow(0 0 5px rgba(255,105,136,.6))}
#how .journey-bubble span{background:#E81C42;box-shadow:0 0 12px rgba(232,28,66,.7)}

/* Service names stay matte burgundy, leaving the accents to prices and status. */
#services .price-list .row h3{background:#4B132E;border-color:#6C3B50;color:#FCF4EC;box-shadow:none;text-shadow:none}
#services .price-list .row:hover h3{background:#601B3A;color:#FCF4EC;border-color:#8E5C70;box-shadow:none;text-shadow:none}
#services .price-list .from{color:#D15304;font-size:40px;font-weight:800;text-shadow:0 0 15px rgba(238,118,42,.35)}
#services .price-list .from small{font-weight:600;text-shadow:none}
#services .row-coming-soon .from{grid-column:3}
#services .price-list .coming-soon{display:inline-block;background:#C81840;border:1px solid #FF7B97;color:#fff;font-size:12px;font-weight:700;padding:10px 14px;text-shadow:0 0 7px rgba(255,255,255,.25);box-shadow:0 0 10px rgba(232,28,66,.5),0 0 26px rgba(232,28,66,.25)}
.why-section .owner-panel .owner-neon-title{color:#FCF4EC;text-shadow:none}

#areas .coverage-kicker{color:#9AFFBB;font-weight:700;text-shadow:0 0 9px rgba(98,246,151,.65),0 0 24px rgba(98,246,151,.3)}
#areas .coverage-kicker::before{background:#81F5AE;box-shadow:0 0 13px rgba(98,246,151,.9)}
#areas .map-title>span{color:#9AFFBB;font-weight:700;text-shadow:0 0 12px rgba(98,246,151,.6)}
#areas .map-title svg{stroke:#9AFFBB;filter:drop-shadow(0 0 5px rgba(98,246,151,.6))}
#areas .coverage-regions span{color:#AEFFCA;background:rgba(8,63,35,.85);border:1px solid #71F2A1;box-shadow:0 0 10px rgba(98,246,151,.35),0 0 22px rgba(98,246,151,.18);text-shadow:0 0 8px rgba(98,246,151,.35);font-weight:600}
#areas .map-title a{color:#AEFFCA;border-color:#71F2A1;background:rgba(8,63,35,.65);box-shadow:0 0 12px rgba(98,246,151,.3)}
#faq .policy-tick{background:#D71B45;color:#fff;font-weight:800;font-size:13px;text-shadow:none;box-shadow:0 0 13px rgba(232,28,66,.42)}
#faq summary::after{background:#CE1640;border-color:#FF5E80;color:#fff;box-shadow:0 0 8px rgba(232,28,66,.5),0 0 21px rgba(232,28,66,.28)}
#faq summary:hover::after,#faq details[open] summary::after{background:#E81C42;color:#fff;box-shadow:0 0 11px rgba(232,28,66,.7),0 0 27px rgba(232,28,66,.4)}

#quote h2 .neon-words,.site-footer .footer-social-title .neon-words{color:#FF6B8A;text-shadow:0 0 7px rgba(232,28,66,.85),0 0 25px rgba(232,28,66,.65),0 0 45px rgba(232,28,66,.35)}
#quote h2 .neon-words::after{display:none}
#quote .contact-list a[href^="mailto:"],.footer-contact a[href^="mailto:"]{border-bottom:0;text-decoration:none;box-shadow:none}
.quote-house{stroke:#FF6B8A;filter:drop-shadow(0 0 8px rgba(232,28,66,.65));transform-origin:center;animation:house-gentle-float 5.6s ease-in-out infinite;animation-play-state:paused}
.quote-house .house-window{fill:rgba(238,118,42,.12);stroke:#FFB470;animation:house-window-glow 5.6s ease-in-out infinite;animation-play-state:paused}
.quote-house .house-tick{stroke:#8CFFB6;stroke-width:2.4;stroke-dasharray:1;animation:house-check-draw 7s ease-in-out infinite;animation-play-state:paused}
.quote-house .quote-spark{stroke:#FFAF60;animation:house-sparkle 3.6s ease-in-out infinite;animation-play-state:paused}
.quote-house .quote-spark:last-child{animation-delay:-1.8s}
#quote.is-in-view .quote-house,#quote.is-in-view .quote-house .house-window,#quote.is-in-view .quote-house .house-tick,#quote.is-in-view .quote-house .quote-spark{animation-play-state:running}
@keyframes house-gentle-float{0%,100%{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes house-window-glow{50%{fill:rgba(238,118,42,.4);filter:drop-shadow(0 0 4px rgba(238,118,42,.5))}}
@keyframes house-check-draw{0%,12%{stroke-dashoffset:1}32%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes house-sparkle{0%,100%{transform:scale(.75) rotate(-8deg);opacity:.45}50%{transform:scale(1.15) rotate(8deg);opacity:1;filter:drop-shadow(0 0 4px rgba(238,118,42,.8))}}
.clean-progress-line>span:last-child{color:var(--cream);font-size:10px}
@media(max-width:1100px){.brand-name strong{font-size:20px}.brand-name>span{font-size:7.8px}}
@media(max-width:600px){
 .brand-name strong{font-size:16px;letter-spacing:-.04em}.brand-name>span{font-size:6.2px;letter-spacing:.17em}.brand-name{gap:4px}
 #services .price-list .from{font-size:35px}#services .price-list .row-coming-soon{grid-template-columns:minmax(0,1fr) auto}#services .row-coming-soon .from{grid-column:2}#services .price-list .coming-soon{font-size:10px;padding:9px 11px}
 .clean-progress-line>span:last-child{font-size:9px}
}
@media(max-width:380px){.brand-name strong{font-size:15px}.brand-name>span{font-size:5.8px}.site-header .brand{gap:6px}}
@media(prefers-reduced-motion:reduce){.offer a.btn-quote-green,.quote-form .form-foot .btn-quote-green,.quote-house,.quote-house .house-window,.quote-house .house-tick,.quote-house .quote-spark{animation:none!important}.quote-house .house-tick{stroke-dashoffset:0}.quote-house .quote-spark{opacity:1;transform:none}}
