/* Layout: split hero with a receipt-style quote ticket; calm sections below. Single light look. */
:root{
  --paper:#f6f8f6; --white:#ffffff; --ink:#13211d; --ink-2:#44554f; --line:#d9e2de;
  --euc:#0f6b58; --euc-dark:#0a4d40; --euc-tint:#e3f0eb; --stamp:#ffd84d; --err:#b3261e;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"Public Sans", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.55}
.wrap{max-width:1120px; margin:0 auto; padding-inline:20px}
.narrow{max-width:760px}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}
.muted{color:var(--ink-2)}
h1,h2,h3{font-family:var(--display); line-height:1.08; text-wrap:balance; margin:0}
h1{font-size:clamp(2.3rem, 5vw, 3.9rem); font-weight:800; letter-spacing:-.02em}
h2{font-size:clamp(1.6rem, 3vw, 2.3rem); font-weight:800; letter-spacing:-.01em; margin-bottom:.4em}
h3{font-size:1.15rem; font-weight:600}
.eyebrow{font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--euc); margin:0 0 .8rem}
.lead{font-size:1.08rem; color:var(--ink-2); max-width:62ch; margin:0 0 1.5rem}
a{color:var(--euc)}
:focus-visible{outline:3px solid var(--stamp); outline-offset:2px}

/* Demo bar + header */
.demo-bar{background:var(--ink); color:#cfe3dc; font-size:.82rem; text-align:center; padding:.45rem 16px}
.demo-bar strong{color:var(--stamp)}
.top{background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:env(safe-area-inset-top,0px); z-index:20}
.top-in{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:62px}
.logo{display:flex; align-items:center; gap:.55rem; font-family:var(--display); font-weight:800; font-size:1.1rem; color:var(--ink); text-decoration:none}
.logo-mark{width:30px; height:30px; border-radius:8px; background:var(--euc); color:var(--white); display:grid; place-items:center; font-size:1rem}
.top-nav{display:flex; align-items:center; gap:1.4rem; font-size:.93rem}
.top-nav a{color:var(--ink-2); text-decoration:none}
.top-nav a:hover{color:var(--euc)}
.top-phone{font-family:var(--mono); font-weight:600; color:var(--euc)}
@media (max-width:820px){.top-nav a{display:none}}

/* Hero */
.hero{padding-block:48px 64px; background:linear-gradient(180deg, var(--euc-tint) 0%, var(--paper) 100%)}
.hero-in{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:stretch}
.hero-copy{padding-top:0; min-width:0; display:flex; flex-direction:column}
.hero-sub{font-size:1.15rem; color:var(--ink-2); max-width:46ch; margin:1.1rem 0 1.4rem}
.hero-points{list-style:none; padding:0; margin:0; display:grid; gap:.6rem}
.hero-points li{padding-left:1.8rem; position:relative}
.hero-points li::before{content:"✓"; position:absolute; left:0; top:0; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--euc); color:var(--white); font-size:.75rem; display:grid; place-items:center; margin-top:.2rem}
@media (max-width:900px){.hero-in{grid-template-columns:1fr; gap:28px} .hero-copy{padding-top:0}}

/* Quote ticket */
.ticket{background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px -22px rgba(15,60,50,.35); overflow:hidden; min-width:0}
.ticket-head{display:flex; justify-content:space-between; padding:.8rem 1.2rem; background:var(--ink); color:var(--white); font-weight:600; font-size:.9rem}
.ticket-head .mono{color:var(--stamp); font-weight:400}
.ticket-body{padding:1.2rem; display:grid; gap:1rem}
.field{display:grid; gap:.35rem; border:0; padding:0; margin:0; min-width:0}
.lbl{font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2)}
select, input[type=text], input[type=tel], input[type=email], input[type=date]{
  width:100%; font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:.7rem .8rem; min-height:46px}
select:focus, input:focus{border-color:var(--euc); outline:none; box-shadow:0 0 0 3px var(--euc-tint)}
.seg{display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:6px}
.seg button{font:600 1rem var(--mono); min-height:46px; border-radius:10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); cursor:pointer}
.seg button[aria-checked="true"]{background:var(--euc); border-color:var(--euc); color:var(--white)}
.toggle{display:flex; align-items:center; gap:.6rem; font-weight:500; cursor:pointer}
.toggle input, .addon input{width:20px; height:20px; accent-color:var(--euc)}
.addons legend{margin-bottom:.35rem}
.addon{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.6rem; padding:.45rem 0; border-bottom:1px dashed var(--line); cursor:pointer; font-size:.95rem}
.addon:last-child{border-bottom:0}
.addon .price{color:var(--ink-2); font-size:.85rem}

/* Receipt */
.receipt{background:var(--paper); border-top:2px dashed var(--line); padding:1rem 1.2rem 1.3rem; position:relative}
.receipt::before,.receipt::after{content:""; position:absolute; top:-11px; width:20px; height:20px; border-radius:50%; background:var(--euc-tint)}
.receipt::before{left:-10px} .receipt::after{right:-10px}
.lines{list-style:none; margin:0 0 .7rem; padding:0; font-size:.92rem}
.lines li{display:flex; justify-content:space-between; gap:12px; padding:.25rem 0; color:var(--ink-2)}
.total-row{display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--ink); padding-top:.6rem}
.total-row span{font-weight:600} .total-row small{color:var(--ink-2); font-weight:400}
.total-row strong{font-size:2rem; color:var(--ink)}
.deposit{font-size:.9rem; color:var(--ink-2); margin:.3rem 0 1rem}

.btn{display:inline-flex; align-items:center; justify-content:center; font:600 1rem var(--body); border-radius:10px; padding:.85rem 1.3rem; min-height:50px; border:0; cursor:pointer; text-decoration:none}
.btn.primary{background:var(--euc); color:var(--white); width:100%}
.btn.primary:hover{background:var(--euc-dark)}

/* Booking */
.booking{padding-block:8px 48px}
.card{background:var(--white); border:1px solid var(--line); border-radius:14px; padding:1.6rem}
.book-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem}
.span2{grid-column:1 / -1}
.err{color:var(--err); margin:0; font-weight:500}
.done{margin-top:1rem; padding:1rem 1.2rem; background:var(--euc-tint); border-radius:10px}
.done h3{color:var(--euc-dark); margin-bottom:.3rem}
@media (max-width:600px){.book-grid{grid-template-columns:1fr}}

/* Sections */
.section{padding-block:72px}
.section.alt{background:var(--white); border-block:1px solid var(--line)}
.rooms{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.room{background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1.2rem}
.room h3{margin-bottom:.6rem; color:var(--euc-dark)}
.room ul{margin:0; padding-left:1.1rem; color:var(--ink-2); font-size:.95rem; display:grid; gap:.35rem}
@media (max-width:980px){.rooms{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.rooms{grid-template-columns:1fr}}

/* Proof report */
.proof-in{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start}
@media (min-width:901px){.proof-in .report{position:sticky; top:calc(env(safe-area-inset-top,0px) + 84px)}}
.proof-in > *{min-width:0}
.ticks{list-style:none; padding:0; margin:0; display:grid; gap:.5rem}
.ticks li::before{content:"✓  "; color:var(--euc); font-weight:700}
.report{background:var(--paper); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:.95rem}
.report-head{display:flex; justify-content:space-between; padding:.7rem 1rem; background:var(--white); border-bottom:1px solid var(--line); font-weight:600}
.report-row{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:1rem; border-bottom:1px solid var(--line); align-items:start}
.report-row .meta{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:.25rem 1rem; padding-top:.15rem}
.report-row .meta b{flex-basis:100%}
.shot{aspect-ratio:1; border-radius:8px; position:relative; overflow:hidden; max-width:100%}
.shot span{position:absolute; left:8px; bottom:8px; font-size:.75rem; font-weight:600; background:rgba(0,0,0,.55); color:#fff; padding:1px 6px; border-radius:4px}
.shot.before{background:radial-gradient(circle at 30% 35%, #6b5a3e 0 18%, transparent 19%), radial-gradient(circle at 70% 60%, #5d4c33 0 22%, transparent 23%), linear-gradient(135deg,#8a7a5f,#a39577)}
.shot.before.b2{background:repeating-linear-gradient(45deg,#7d6f55 0 6px,#958664 6px 12px)}
.shot.after{background:linear-gradient(135deg,#dfe7e4,#c9d6d1 60%, #eef3f1)}
.shot.photo{background:var(--line)}
.shot.photo a{display:block; width:100%; height:100%; border-radius:8px}
.shot.photo a:focus-visible{outline:3px solid var(--euc); outline-offset:2px}
.shot.photo img{width:100%; height:100%; object-fit:cover; border-radius:8px; display:block}
.shot.photo span{pointer-events:none}
.meta{display:grid; gap:.15rem}
.meta .mono{font-size:.8rem; color:var(--ink-2)}
.ok{color:var(--euc); font-size:.82rem; font-weight:600}
.report-foot{padding:.7rem 1rem; color:var(--ink-2); font-size:.82rem; background:var(--white)}
@media (max-width:900px){.proof-in{grid-template-columns:1fr; gap:28px}}
@media (max-width:420px){.report-row{gap:8px; padding:.8rem}}

/* Guarantee */
.guarantee{display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:start}
.guarantee > div:last-child{min-width:0}
.stamp{width:150px; height:150px; border-radius:50%; background:var(--stamp); color:var(--ink); display:grid; place-content:center; text-align:center; font-family:var(--display); font-weight:800; font-size:3rem; line-height:.9; transform:rotate(-8deg); border:4px double var(--ink)}
.stamp small{font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; line-height:1.15; margin-top:.3rem}
.steps{margin:0; padding-left:1.3rem; display:grid; gap:.6rem}
@media (max-width:640px){.guarantee{grid-template-columns:1fr; gap:20px} .stamp{width:110px; height:110px; font-size:2.2rem}}

/* Suburbs + FAQ */
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{background:var(--euc-tint); color:var(--euc-dark); padding:.4rem .8rem; border-radius:999px; font-size:.9rem; font-weight:500}
details{border-bottom:1px solid var(--line); padding:1rem 0}
summary{font-weight:600; cursor:pointer; font-size:1.05rem}
details p{color:var(--ink-2); margin:.6rem 0 0}

/* Footer + mobile bar */
.foot{background:var(--ink); color:#dce8e4; padding-block:36px 96px; font-size:.95rem}
.foot-in{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap}
.foot .muted{color:#9fb3ad}
.mobile-bar{display:none}
@media (max-width:900px){
  .mobile-bar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:30; align-items:center; justify-content:space-between; gap:12px;
    background:var(--white); border-top:1px solid var(--line); padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); transition:transform .2s}
  .mobile-bar small{display:block; font-size:.72rem; color:var(--ink-2); text-transform:uppercase; letter-spacing:.06em}
  .mobile-bar strong{font-size:1.4rem}
  .mobile-bar .btn{width:auto; min-height:44px}
  .mobile-bar.hide{transform:translateY(110%)}
}
.top-phone{white-space:nowrap}
.logo{min-width:0}
.logo span:last-child{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
@media (max-width:520px){.top-phone{display:none} .logo{font-size:1rem}}

/* Recent bond cleans */
.gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:18px; margin-top:1.2rem}
.gal-card{background:var(--white); border:1px solid var(--line); border-radius:14px; padding:14px; min-width:0}
.gal-card h3{margin:0 0 .6rem; font-size:1rem}
.gal-pair{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.shot-fig{margin:0; min-width:0}
.shot-fig img,.shot-ph{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block}
.shot-ph{background:var(--euc-tint); border:1.5px dashed var(--euc); color:var(--euc-dark); display:grid; place-items:center; text-align:center; font-size:.8rem; padding:8px}
.shot-fig figcaption{font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin-top:.35rem}
.gal-cap{margin:.7rem 0 0; font-size:.9rem; color:var(--ink-2)}
.gal-pair.single{grid-template-columns:1fr}
.foot-power{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:22px; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); font-size:.85rem}
.foot-power img{display:block; height:22px; width:auto}
.logo img{display:block; height:28px; width:auto; max-width:100%}

/* Photos */
.hero-photo{display:block; position:relative; flex:1 1 auto; min-height:240px; margin-top:1.6rem}
.hero-photo img{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 30%; border-radius:14px}
.proof-photo{display:block; margin-top:1.4rem}
.proof-photo img{display:block; width:100%; height:auto; max-height:320px; object-fit:cover; object-position:center 35%; border-radius:14px}
.guar-photo{display:none}
@media (max-width:900px){.hero-photo{display:none}}
@media (min-width:641px){
  .guar-photo{display:block; width:200px; align-self:stretch}
  .guar-photo img{display:block; width:100%; height:300px; object-fit:cover; object-position:80% 0%; border-radius:14px}
  .guarantee .stamp{display:none}
}
@media (max-width:900px){.proof-photo img{max-height:260px}}
.demo-icon{width:14px; height:14px; vertical-align:-2px; margin-right:4px; border-radius:3px}
.demo-bar .nw{white-space:nowrap}

/* ===== Section system v2: pill badges, dark bands, stats, steps, grids, CTA band, footer ===== */
:root{--ink-deep:#0a2a23; --ink-deeper:#07211b}
.center{text-align:center}
.sec-head{margin-bottom:2rem}
.sec-head.center .lead{margin-inline:auto}
.pill{display:inline-block; background:var(--euc-tint); color:var(--euc-dark); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.3rem .8rem; border-radius:999px; margin-bottom:.9rem}
.pill-dark{background:rgba(255,255,255,.1); color:#d6ebe4; border:1px solid rgba(255,255,255,.16)}
.section.tint{background:#eef3f0; border-block:1px solid var(--line)}

/* Header: dark bar, uppercase nav, solid CTA */
.top{background:var(--ink); border-bottom:0; box-shadow:0 6px 16px -10px rgba(0,0,0,.5)}
.top-nav{gap:1.1rem}
.top-nav a{color:#d6e4df; font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase}
.top-nav a:hover{color:var(--stamp)}
.top-phone{color:var(--stamp)}
.top-nav .top-cta{background:var(--euc); color:var(--white); padding:.55rem 1rem; border-radius:8px; letter-spacing:.04em}
.top-nav .top-cta:hover{background:#0d806a; color:var(--white)}
@media (max-width:1000px){.top-nav a:not(.top-cta){display:none}}
@media (max-width:520px){.top-nav .top-cta{padding:.5rem .8rem; font-size:.75rem}}

/* Buttons */
.btn-solid,.btn-ghost{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.8rem 1.5rem; border-radius:10px; font-weight:700; text-decoration:none; transition:background-color .2s, color .2s, transform .15s}
.btn-solid{background:var(--stamp); color:var(--ink)}
.btn-solid:hover{background:#ffe27a; transform:translateY(-1px)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.65); color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}

/* Stats banner */
.stats{background:var(--euc); color:var(--white)}
.stats-in{display:grid; grid-template-columns:repeat(4,1fr); padding-block:22px}
.stat{text-align:center; padding:.4rem 1rem; position:relative}
.stat:not(:last-child)::after{content:""; position:absolute; right:0; top:15%; height:70%; width:1px; background:rgba(255,255,255,.22)}
.stat strong{display:block; font-family:var(--display); font-size:2rem; font-weight:800; line-height:1.1}
.stat span:last-child{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#cfe9e1; font-weight:600}
@media (max-width:640px){
  .stats-in{grid-template-columns:1fr 1fr; row-gap:10px}
  .stat:nth-child(2)::after{display:none}
  .stat strong{font-size:1.6rem}
}

/* How it works: numbered circles with dashed connector */
.how-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:980px; margin-inline:auto}
.how-top{display:flex; align-items:center; margin-bottom:1rem}
.how-num{width:46px; height:46px; border-radius:50%; background:var(--euc); color:var(--white); display:grid; place-items:center; font:700 1.05rem var(--display); flex-shrink:0}
.how-line{flex:1; border-top:2px dashed #aebfb8; margin-left:12px}
.how-step h3{margin-bottom:.4rem}
.how-step p{margin:0; color:var(--ink-2); font-size:.95rem; padding-right:12px}
@media (max-width:720px){.how-steps{grid-template-columns:1fr; gap:22px} .how-line{display:none}}

/* Dark sections */
.section.dark{background:var(--ink-deep); color:var(--white)}
.section.dark.deep{background:var(--ink-deeper)}
.section.dark h2,.section.dark h3{color:var(--white)}
.section.dark .lead{color:rgba(255,255,255,.72)}

/* Pricing cards */
.price-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; max-width:980px; margin:0 auto 1.4rem}
.price-card{position:relative; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:1.6rem 1rem 1.3rem; text-align:center; transition:transform .2s, border-color .2s}
.price-card:hover{transform:translateY(-3px); border-color:rgba(255,255,255,.38)}
.price-card.popular{border-color:var(--stamp); background:rgba(255,216,77,.07)}
.price-flag{position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--stamp); color:var(--ink); font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:.2rem .7rem; border-radius:999px; white-space:nowrap}
.price-card h3{font-size:1rem; font-weight:700}
.price-sub{display:block; font-size:.78rem; color:#9fc2b8; margin-top:.15rem}
.price-amt{font-size:2rem; font-weight:600; margin:1rem 0 .1rem}
.price-gst{font-size:.74rem; color:#9fc2b8}
.price-foot{text-align:center; color:rgba(255,255,255,.62); font-size:.9rem; margin:0 0 1.2rem}

/* Why us: single bordered grid with number accents */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--white)}
.why-box{padding:1.8rem 1.4rem; border-right:1px solid var(--line); transition:background-color .2s}
.why-box:last-child{border-right:0}
.why-box:hover{background:var(--euc-tint)}
.why-no{display:block; font:800 .8rem var(--mono); color:var(--euc); margin-bottom:.8rem}
.why-box h3{margin-bottom:.45rem}
.why-box p{margin:0; color:var(--ink-2); font-size:.92rem}
@media (max-width:900px){
  .why-grid{grid-template-columns:1fr 1fr}
  .why-box:nth-child(2){border-right:0}
  .why-box:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:520px){
  .why-grid{grid-template-columns:1fr}
  .why-box{border-right:0; border-bottom:1px solid var(--line)}
  .why-box:last-child{border-bottom:0}
}

/* Included checklist on dark cards */
.section.dark .room{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.14); transition:transform .2s, border-color .2s}
.section.dark .room:hover{transform:translateY(-3px); border-color:rgba(255,216,77,.55)}
.section.dark .room h3{color:var(--white); padding-bottom:.7rem; margin-bottom:.9rem; border-bottom:1px solid rgba(255,255,255,.12)}
.section.dark .room ul{list-style:none; padding:0; color:rgba(255,255,255,.82); gap:.6rem}
.section.dark .room li{position:relative; padding-left:1.4rem}
.section.dark .room li::before{content:"✓"; position:absolute; left:0; color:var(--stamp); font-weight:700}

/* Gallery cards lift on hover */
.gal-card{transition:transform .2s, box-shadow .2s}
.gal-card:hover{transform:translateY(-3px); box-shadow:0 14px 26px -18px rgba(15,60,50,.45)}

/* Suburb pill tags, centred */
.chips{justify-content:center; max-width:860px; margin-inline:auto}
.chip{background:var(--white); color:var(--ink); border:1px solid var(--line); font-weight:600; font-size:.85rem; padding:.4rem .95rem; transition:border-color .2s, color .2s, transform .15s}
.chip:hover{border-color:var(--euc); color:var(--euc); transform:translateY(-1px)}

/* FAQ as boxed accordion rows */
details{background:var(--white); border:1px solid var(--line); border-radius:12px; padding:0; margin-bottom:10px}
summary{list-style:none; position:relative; padding:1rem 3rem 1rem 1.2rem; font-size:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:1.2rem; top:50%; transform:translateY(-50%); color:var(--euc); font:700 1.3rem var(--mono); transition:transform .2s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details[open] summary{color:var(--euc-dark)}
details p{margin:0; padding:0 1.2rem 1.1rem}

/* CTA band */
.cta-band{background:linear-gradient(120deg, var(--euc) 0%, var(--euc-dark) 100%); color:var(--white); padding-block:48px}
.cta-in{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap}
.cta-in h2{color:var(--white); margin-bottom:.3rem}
.cta-in p{margin:0; color:#d6ebe4; font-size:1.05rem}
.cta-btns{display:flex; gap:12px; flex-wrap:wrap}
@media (max-width:640px){.cta-btns{width:100%} .cta-btns > *{flex:1}}

/* Footer: three columns with accent underline */
.foot{background:var(--ink-deeper)}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:36px; padding-bottom:8px}
.foot h4{font-family:var(--display); font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; color:var(--white); margin:0 0 1rem; padding-bottom:.55rem; position:relative}
.foot h4::after{content:""; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--stamp)}
.foot p{margin:0 0 .7rem}
.foot-links{list-style:none; padding:0; margin:0; display:grid; gap:.5rem}
.foot-links a{color:#dce8e4; text-decoration:none; transition:color .2s, padding-left .2s}
.foot-links a:hover{color:var(--stamp); padding-left:5px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr; gap:26px}}
@media (prefers-reduced-motion: reduce){.price-card,.room,.gal-card,.chip,.btn-solid{transition:none}}


/* ===== Premium quote ticket (overrides above) ===== */
.ticket{border-radius:18px; border:1px solid rgba(15,107,88,.18);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 2px 4px rgba(19,33,29,.04), 0 24px 60px -24px rgba(10,77,64,.45);}
.ticket-head{padding:1rem 1.4rem; background:linear-gradient(135deg,#13211d 0%,#0d2a23 100%); font-size:.95rem; letter-spacing:.01em; align-items:center}
.ticket-head .mono{font-size:.8rem; color:#9fc9bc; letter-spacing:.06em}
.live{display:inline-flex; align-items:center; gap:.55rem}
.live-dot{width:8px; height:8px; border-radius:50%; background:#3ddc97; box-shadow:0 0 0 0 rgba(61,220,151,.6); animation:livepulse 2s infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(61,220,151,.55)}70%{box-shadow:0 0 0 8px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.ticket-body{padding:1.4rem; gap:1.15rem}
.lbl{font-size:.72rem; letter-spacing:.1em; color:#5d6f69}

/* Select with custom chevron */
.ticket select{appearance:none; -webkit-appearance:none; background-color:var(--white); border:1px solid #cfdad5; border-radius:12px; padding:.75rem 2.6rem .75rem .95rem; min-height:50px; font-weight:500;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230f6b58' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; transition:border-color .15s, box-shadow .15s}
.ticket select:hover{border-color:#a9c2b9}

/* Segmented control: track + raised active pill */
.seg{background:#eef3f1; border:1px solid #e1e9e5; padding:4px; border-radius:14px; gap:4px}
.seg button{border:0; background:transparent; border-radius:10px; min-height:44px; color:#3c4d48; font-weight:600; transition:background .18s, color .18s, box-shadow .18s, transform .1s}
.seg button:hover{background:rgba(255,255,255,.6)}
.seg button:active{transform:scale(.97)}
.seg button[aria-checked="true"]{background:var(--white); color:var(--euc); box-shadow:0 1px 2px rgba(19,33,29,.08), 0 4px 12px -4px rgba(10,77,64,.35); border:0}

/* Furnished: switch */
.toggle{justify-content:space-between; flex-direction:row-reverse; padding:.8rem .95rem; border:1px solid #e1e9e5; border-radius:12px; background:#fbfcfb}
.toggle input{appearance:none; -webkit-appearance:none; width:44px; height:26px; border-radius:999px; background:#cfdad5; position:relative; cursor:pointer; transition:background .2s; flex:none; margin:0}
.toggle input::after{content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s}
.toggle input:checked{background:var(--euc)}
.toggle input:checked::after{transform:translateX(18px)}
.toggle input:focus-visible{outline:3px solid var(--stamp); outline-offset:2px}

/* Add-ons: selectable cards */
#addons{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.addon{grid-template-columns:auto 1fr; grid-template-areas:"box name" "box price"; column-gap:.65rem; row-gap:0; padding:.7rem .75rem; border:1px solid #e1e9e5; border-bottom:1px solid #e1e9e5; border-radius:12px; background:var(--white); font-size:.9rem; line-height:1.3; transition:border-color .15s, background .15s, box-shadow .15s}
.addon:last-child{border-bottom:1px solid #e1e9e5}
.addon:hover{border-color:#a9c2b9}
.addon input{grid-area:box; appearance:none; -webkit-appearance:none; width:20px; height:20px; border:1.5px solid #a9bab4; border-radius:6px; margin:0; position:relative; cursor:pointer; background:#fff}
.addon input:checked{background:var(--euc); border-color:var(--euc)}
.addon input:checked::after{content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg)}
.addon input:focus-visible{outline:3px solid var(--stamp); outline-offset:2px}
.addon > span:not(.price){grid-area:name; font-weight:500}
.addon .price{grid-area:price; font-size:.78rem; color:#5d6f69}
.addon:has(input:checked){border-color:var(--euc); background:#f1f8f5; box-shadow:0 0 0 1px var(--euc) inset}
@media (max-width:420px){#addons{grid-template-columns:1fr}}

/* Receipt */
.receipt{background:linear-gradient(180deg,#f7faf8,#eef4f1); padding:1.2rem 1.4rem 1.4rem}
.lines li{align-items:baseline}
.lines li span:first-child{flex:1; display:flex; align-items:baseline; gap:6px; min-width:0}
.lines li span:first-child::after{content:""; flex:1; border-bottom:1px dotted #b9c8c2; transform:translateY(-3px); min-width:12px}
.total-row{border-top:1px solid #c9d6d1; padding-top:.8rem; margin-top:.2rem}
.total-row strong{font-family:var(--display); font-weight:800; font-size:2.6rem; letter-spacing:-.02em; color:var(--ink); line-height:1}
.total-row strong.bump{animation:bump .35s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.06); color:var(--euc)}100%{transform:scale(1)}}
.deposit{display:inline-flex; align-items:center; gap:.4rem; margin:.7rem 0 1.1rem; padding:.35rem .75rem; border-radius:999px; background:var(--white); border:1px solid #d6e2dd; font-size:.85rem}
.deposit b{color:var(--euc)}

/* CTA */
.btn.cta{min-height:56px; border-radius:14px; font-size:1.05rem; letter-spacing:.01em; gap:.5rem;
  background:linear-gradient(180deg,#14806a 0%,#0f6b58 55%,#0b5747 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 24px -10px rgba(10,77,64,.7); transition:transform .15s, box-shadow .15s, filter .15s}
.btn.cta:hover{background:linear-gradient(180deg,#14806a 0%,#0f6b58 55%,#0b5747 100%); filter:brightness(1.06); transform:translateY(-1px); box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 14px 28px -12px rgba(10,77,64,.75)}
.btn.cta:active{transform:translateY(0)}
.btn.cta span{transition:transform .15s}
.btn.cta:hover span{transform:translateX(3px)}
.trust{list-style:none; margin:.9rem 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:.3rem 1rem; font-size:.78rem; color:#5d6f69}
.trust li::before{content:"✓ "; color:var(--euc); font-weight:700}
@media (prefers-reduced-motion: reduce){.live-dot{animation:none} .seg button,.btn.cta,.addon,.toggle input,.toggle input::after{transition:none}}


/* =====================================================================
   V2: premium, conversion-led redesign (body.v2). Layered on top of the
   base styles so report.html keeps working unchanged.
   ===================================================================== */
body.v2{--forest:#0a1f1a; --forest-2:#0f2c25; --mint:#3ddc97; --gold:#ffd84d; --gold-2:#ffc93c}
body.v2 .section{padding-block:88px}
@media (max-width:640px){body.v2 .section{padding-block:60px}}
body.v2 h2{font-size:clamp(1.75rem,3.4vw,2.6rem); letter-spacing:-.02em}

/* Header */
body.v2 .top{background:rgba(10,31,26,.92); backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); box-shadow:0 1px 0 rgba(255,255,255,.06)}
body.v2 .top-in{min-height:66px; gap:20px}
.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:#fff; min-width:0}
.brand-mark{width:34px; height:34px; border-radius:10px; display:grid; place-items:center; font:800 1.05rem var(--display); color:var(--forest,#0a1f1a); background:linear-gradient(135deg,#ffe27a,#ffc93c); box-shadow:0 4px 12px -4px rgba(255,201,60,.6); flex:none}
.brand-name{font:800 1.1rem var(--display); letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
body.v2 .top-nav{margin-left:auto}
body.v2 .top-nav a{color:#cfe0da; font-size:.82rem; letter-spacing:.05em}
body.v2 .top-nav a:hover{color:var(--gold)}
.top-actions{display:flex; align-items:center; gap:14px; flex:none}
body.v2 .top-phone{display:inline-flex; align-items:center; gap:.4rem; color:var(--gold); text-decoration:none; font-family:var(--mono); font-weight:600; font-size:.9rem}
.ph-ic{font-size:.85rem}
body.v2 .top-cta{display:inline-flex; align-items:center; min-height:40px; padding:.5rem 1.05rem; border-radius:10px; background:linear-gradient(180deg,#ffe27a,#ffc93c); color:#1a1a12; font-weight:800; font-size:.86rem; text-decoration:none; box-shadow:0 6px 16px -8px rgba(255,201,60,.8); transition:transform .15s, filter .15s}
body.v2 .top-cta:hover{transform:translateY(-1px); filter:brightness(1.04)}
@media (max-width:1000px){body.v2 .top-nav{display:none} .top-actions{margin-left:auto}}
@media (max-width:560px){body.v2 .top-phone{display:none} .brand-name{font-size:1rem}}

/* Hero */
.hero2{position:relative; overflow:hidden; color:#fff; padding-block:64px 80px;
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(61,220,151,.18), transparent 60%),
    radial-gradient(700px 500px at 100% 20%, rgba(255,216,77,.10), transparent 60%),
    linear-gradient(180deg,#0a1f1a 0%,#0c261f 100%)}
.hero2::after{content:""; position:absolute; inset:auto 0 0 0; height:120px; background:linear-gradient(180deg,transparent,rgba(0,0,0,.12)); pointer-events:none}
.hero2-in{position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start}
.hero2-copy{padding-top:18px; min-width:0}
.kicker{display:inline-flex; align-items:center; gap:.55rem; margin:0 0 1.1rem; padding:.35rem .85rem; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); font-size:.8rem; font-weight:600; letter-spacing:.04em; color:#d6ebe4}
.kicker.light{background:rgba(255,255,255,.12)}
.kicker-dot{width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(61,220,151,.2)}
.hero2 h1{color:#fff; font-size:clamp(2.5rem,5.6vw,4.4rem); line-height:1.02; letter-spacing:-.035em}
.hero2 h1 mark{background:none; color:var(--gold); position:relative; white-space:nowrap}
.hero2 h1 mark::after{content:""; position:absolute; left:-2px; right:-2px; bottom:.04em; height:.14em; background:var(--gold); opacity:.35; border-radius:3px}
.hero2-sub{font-size:1.18rem; line-height:1.55; color:#c5d8d2; max-width:48ch; margin:1.3rem 0 1.8rem}
.hero2-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:2rem}
.proof-strip{list-style:none; margin:0; padding:1.2rem 0 0; border-top:1px solid rgba(255,255,255,.1); display:grid; grid-template-columns:1fr 1fr; gap:.7rem 1.2rem; font-size:.93rem; color:#c5d8d2}
.proof-strip li{display:flex; gap:.55rem; align-items:baseline}
.proof-strip li::before{content:"✓"; flex:none; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:.7rem; font-weight:800; color:#0a1f1a; background:var(--mint); transform:translateY(3px)}
.proof-strip b{color:#fff}
.hero2 .ticket{color:var(--ink); text-align:left; border-color:rgba(255,255,255,.14); box-shadow:0 30px 80px -30px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.04)}
.hero2 .receipt::before,.hero2 .receipt::after{background:#0b231d}
@media (max-width:900px){
  .hero2{padding-block:40px 56px}
  .hero2-in{grid-template-columns:1fr; gap:32px}
  .hero2-copy{padding-top:0}
}
@media (max-width:480px){.proof-strip{grid-template-columns:1fr} .hero2-ctas > *{flex:1 1 100%}}

/* Buttons */
.btn-gold,.btn-line{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:54px; padding:.85rem 1.5rem; border-radius:14px; font-weight:800; font-size:1.02rem; text-decoration:none; transition:transform .15s, filter .15s, background-color .15s, box-shadow .15s}
.btn-gold{background:linear-gradient(180deg,#ffe27a 0%,#ffd84d 50%,#ffc93c 100%); color:#1a1a12; box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 12px 28px -12px rgba(255,201,60,.75)}
.btn-gold:hover{transform:translateY(-2px); filter:brightness(1.03)}
.btn-gold span,.btn-solid span{transition:transform .15s}
.btn-gold:hover span,.btn-solid:hover span{transform:translateX(3px)}
.btn-line{color:#fff; border:1.5px solid rgba(255,255,255,.35); background:rgba(255,255,255,.04)}
.btn-line:hover{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.6)}
body.v2 .btn-solid{gap:.5rem; min-height:52px; border-radius:14px; padding:.85rem 1.5rem; background:var(--euc); color:#fff; box-shadow:0 12px 26px -12px rgba(10,77,64,.7)}
body.v2 .btn-solid:hover{background:#0d806a}
.link-strong{font-weight:700; text-decoration-thickness:2px; text-underline-offset:3px}
.cta-gap{margin-top:2rem}

/* Stakes */
.stakes{background:#fff7d6; border-block:1px solid #f2e3a4; padding-block:72px}
.stakes-in{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center}
.stakes-copy .lead{color:#4d4a33}
.pill-warn{background:#1a1a12; color:var(--gold)}
.stakes-stats{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.big-stat{background:#fff; border:1px solid #efdf9c; border-radius:18px; padding:1.4rem 1.2rem; box-shadow:0 14px 30px -22px rgba(90,70,0,.45)}
.big-stat strong{display:block; font:800 clamp(2.4rem,5vw,3.4rem)/1 var(--display); letter-spacing:-.03em; color:#1a1a12}
.big-stat span{display:block; margin-top:.5rem; font-size:.9rem; color:#4d4a33}
.src{grid-column:1/-1; margin:.2rem 0 0; font-size:.75rem; color:#7a7350}
@media (max-width:900px){.stakes-in{grid-template-columns:1fr; gap:28px}}

/* Comparison */
.compare{max-width:900px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 24px 50px -32px rgba(10,77,64,.35)}
.cmp-row{display:grid; grid-template-columns:1fr 1.1fr 1.1fr; align-items:center; border-bottom:1px solid var(--line)}
.cmp-row:last-child{border-bottom:0}
.cmp-row > span{padding:1rem 1.2rem; font-size:.95rem}
.cmp-row > span:first-child{font-weight:700; color:var(--ink)}
.cmp-head > span{font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#5d6f69; padding-block:.9rem}
.cmp-head .cmp-us{color:var(--euc)}
.cmp-row .no{color:#6b7773}
.cmp-row .no::before{content:"✕  "; color:#c0544a; font-weight:800}
.cmp-row .yes{background:#f1f8f5; color:var(--ink); font-weight:600; align-self:stretch; display:flex; align-items:center; gap:.5rem}
.cmp-row .yes::before{content:"✓"; flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:800; color:#fff; background:var(--euc)}
.cmp-head .cmp-us{background:#e6f3ee}
@media (max-width:640px){
  .cmp-row{grid-template-columns:1fr 1fr}
  .cmp-row > span:first-child{grid-column:1/-1; padding-bottom:.2rem; background:#fafcfb}
  .cmp-head > span:first-child{display:none}
  .cmp-row > span{padding:.75rem .9rem; font-size:.88rem}
}

/* Pricing tweaks on dark */
body.v2 .section.dark{background:radial-gradient(800px 400px at 50% 0%, rgba(61,220,151,.12), transparent 70%), var(--forest)}
body.v2 .price-card{border-radius:18px; background:rgba(255,255,255,.05)}
body.v2 .price-amt{font-family:var(--display); font-weight:800; font-size:2.3rem; letter-spacing:-.02em; color:#fff}
body.v2 .price-card.popular{border-color:var(--gold); background:rgba(255,216,77,.08); box-shadow:0 20px 40px -24px rgba(255,201,60,.5)}

/* Checklist on light */
body.v2 #included .room{border-radius:16px; transition:transform .2s, box-shadow .2s}
body.v2 #included .room:hover{transform:translateY(-3px); box-shadow:0 18px 34px -24px rgba(10,77,64,.45)}
body.v2 #included .room ul{list-style:none; padding:0; gap:.55rem}
body.v2 #included .room li{position:relative; padding-left:1.5rem; color:var(--ink-2)}
body.v2 #included .room li::before{content:"✓"; position:absolute; left:0; color:var(--euc); font-weight:800}

/* Guarantee */
.guar2{color:#fff; padding-block:88px; background:linear-gradient(135deg,#0f6b58 0%,#0a4d40 60%,#083e34 100%); position:relative; overflow:hidden}
.guar2::before{content:""; position:absolute; width:520px; height:520px; right:-160px; top:-200px; border-radius:50%; background:radial-gradient(circle, rgba(255,216,77,.18), transparent 65%)}
.guar2-in{position:relative; display:grid; grid-template-columns:auto 1fr; gap:56px; align-items:center}
.guar2 h2{color:#fff}
.guar2 .lead{color:#d2e8e0}
.guar2 .steps{color:#e6f2ee; margin-bottom:1.8rem}
.guar2 .steps b{color:#fff}
.seal{width:220px; height:220px; border-radius:50%; display:grid; place-content:center; text-align:center; color:#1a1a12;
  background:radial-gradient(circle at 35% 30%, #fff1b0, #ffd84d 55%, #f2b92a 100%);
  box-shadow:0 0 0 10px rgba(255,216,77,.18), 0 0 0 11px rgba(255,216,77,.5), 0 30px 60px -20px rgba(0,0,0,.55); transform:rotate(-8deg)}
.seal-num{font:800 5rem/0.9 var(--display); letter-spacing:-.04em}
.seal-txt{font:800 .78rem/1.25 var(--body); letter-spacing:.14em; margin-top:.4rem}
@media (max-width:760px){.guar2-in{grid-template-columns:1fr; gap:30px; justify-items:start} .seal{width:150px; height:150px} .seal-num{font-size:3.4rem} .seal-txt{font-size:.62rem}}

/* Final CTA */
.cta-band2{padding-block:72px; color:#fff; background:radial-gradient(700px 300px at 85% 50%, rgba(255,216,77,.16), transparent 70%), var(--forest)}
.cta2-in{display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap}
.cta2-in h2{color:#fff; max-width:22ch; margin-bottom:.4rem}
.cta2-in p{margin:0; color:#c5d8d2; font-size:1.05rem; max-width:52ch}
@media (max-width:640px){.cta2-in .cta-btns{width:100%} .cta2-in .cta-btns > *{flex:1 1 100%}}

/* Mobile bar: gold CTA */
body.v2 .mobile-bar .btn{background:linear-gradient(180deg,#ffe27a,#ffc93c); color:#1a1a12; font-weight:800}

/* Footer */
body.v2 .foot{background:#071a15}
@media (prefers-reduced-motion: reduce){.btn-gold,.btn-line,.top-cta,.room{transition:none}}

/* v2 fixes: keep inline text runs together */
.kicker{display:inline-block; line-height:1.4}
.kicker-dot{display:inline-block; vertical-align:middle; margin:-2px .5rem 0 0}
.proof-strip li{display:block; position:relative; padding-left:28px}
.proof-strip li::before{position:absolute; left:0; top:1px; transform:none}
.cmp-row .yes{display:block; position:relative; padding-left:3.1rem}
.cmp-row .yes::before{position:absolute; left:1.1rem; top:50%; transform:translateY(-50%)}
@media (max-width:640px){.cmp-row .yes{padding-left:2.6rem} .cmp-row .yes::before{left:.75rem}}

/* Header logo image (config.brand.logo) */
.brand-logo{display:block; height:30px; width:auto; max-width:200px}
@media (max-width:420px){.brand-logo{height:26px}}

[hidden]{display:none !important}

/* Services section */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.svc{background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; min-width:0; transition:transform .2s, box-shadow .2s}
.svc:hover{transform:translateY(-4px); box-shadow:0 22px 40px -26px rgba(10,77,64,.5)}
.svc-img{position:relative; aspect-ratio:4/3; background:#e9f1ee; overflow:hidden}
.svc-img img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s}
.svc:hover .svc-img img{transform:scale(1.04)}
.svc-ph{display:none; position:absolute; inset:12px; border:1.5px dashed #9cc4b6; border-radius:12px; place-items:center; text-align:center; color:#2e6b5a; font-size:.85rem; font-weight:600; padding:10px}
.svc-img.no-img img{visibility:hidden}
.svc-img.no-img .svc-ph{display:grid}
.svc-body{padding:1.1rem 1.2rem 1.2rem; display:flex; flex-direction:column; gap:.45rem; flex:1}
.svc-body h3{font-size:1.12rem}
.svc-body p{margin:0; color:var(--ink-2); font-size:.93rem; flex:1}
.svc-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:.5rem; padding-top:.8rem; border-top:1px solid var(--line)}
.svc-price{font:800 1rem var(--display); color:var(--ink)}
.svc-inc{font-weight:700; font-size:.9rem; color:var(--euc)}
.svc-link{font-weight:700; font-size:.9rem; text-decoration:none; white-space:nowrap}
.svc-link span{display:inline-block; transition:transform .15s}
.svc-link:hover span{transform:translateX(3px)}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.svc,.svc-img img{transition:none}}

/* Hero v3: team photo banner + quote band */
.hero2.hero3{padding-top:0}
.hero3-top{position:relative; min-height:clamp(500px,40vw,580px); display:flex; align-items:center}
.hero3-media{position:absolute; top:0; right:0; bottom:0; width:72%; z-index:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 26%),linear-gradient(0deg,transparent 0%,#000 18%);
  -webkit-mask-composite:source-in; mask-image:linear-gradient(90deg,transparent 0%,#000 26%),linear-gradient(0deg,transparent 0%,#000 18%); mask-composite:intersect}
.hero3-media picture,.hero3-media img{display:block; width:100%; height:100%}
.hero3-media img{object-fit:cover; object-position:100% 30%}
.hero3-media::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(10,31,26,.55) 0%,rgba(10,31,26,.2) 30%,rgba(10,31,26,0) 45%)}
.hero3-copy{position:relative; z-index:2; width:100%; padding-block:56px}
.hero3-copy > *{max-width:540px}
.hero3 h1{font-size:clamp(2.4rem,4.6vw,3.6rem); text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero3-quote{padding-top:56px}
.hero3-side{padding-top:18px; min-width:0}
.hero3-side h2{color:#fff; font-size:clamp(1.8rem,3.2vw,2.5rem); line-height:1.08; letter-spacing:-.02em; margin:0 0 .8rem}
.hero3-side-sub{color:#c5d8d2; font-size:1.08rem; line-height:1.55; max-width:44ch; margin:0 0 1.6rem}
@media (max-width:1180px) and (min-width:901px){
  .hero3-media{width:58%}
  .hero3-copy > *{max-width:480px}
}
@media (max-width:900px){
  .hero3-top{display:block; min-height:0}
  .hero3-media{position:relative; width:100%; aspect-ratio:16/9;
    -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 30%); mask-image:linear-gradient(0deg,transparent 0%,#000 30%)}
  .hero3-media img{object-position:72% 30%}
  .hero3-media::before{display:none}
  .hero3-copy{padding-block:0 8px; margin-top:-28px}
  .hero3-copy > *{max-width:none}
  .hero3-quote{padding-top:28px}
  .hero3-side{order:2; padding-top:0}
  .hero3-side .kicker,.hero3-side h2,.hero3-side-sub{display:none}
}

/* Quote band: fill the left column */
.hero3-side .proof-strip{margin-bottom:2rem}
.next-steps{list-style:none; margin:0 0 2rem; padding:0; display:grid; gap:0; position:relative}
.next-steps li{display:grid; grid-template-columns:40px 1fr; gap:14px; padding-bottom:1.3rem; position:relative}
.next-steps li:not(:last-child)::after{content:""; position:absolute; left:19px; top:40px; bottom:4px; width:2px; background:linear-gradient(180deg,rgba(61,220,151,.5),rgba(61,220,151,.08))}
.ns-n{width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font:800 1rem var(--display); color:#0a1f1a; background:var(--mint); box-shadow:0 0 0 5px rgba(61,220,151,.12)}
.next-steps b{display:block; color:#fff; font-size:1.05rem; margin:.45rem 0 .2rem}
.next-steps p{margin:0; color:#a9c4bb; font-size:.95rem; line-height:1.5; max-width:46ch}
.mini-report{display:block; max-width:440px; padding:16px; border-radius:16px; text-decoration:none; color:#fff; background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.12); transition:transform .15s, border-color .15s}
.mini-report:hover{transform:translateY(-2px); border-color:rgba(255,216,77,.45)}
.mr-head{display:flex; justify-content:space-between; align-items:center; gap:10px; font-weight:700; font-size:.92rem; margin-bottom:12px}
.mr-tag{font:600 .74rem var(--mono); color:#a9c4bb; letter-spacing:.03em}
.mr-pics{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.mr-pics figure{margin:0; position:relative; border-radius:10px; overflow:hidden}
.mr-pics img{display:block; width:100%; height:auto; aspect-ratio:1}
.mr-pics figcaption{position:absolute; left:8px; top:8px; padding:.15rem .5rem; border-radius:6px; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:rgba(10,31,26,.8); color:#fff}
.mr-pics figure:last-child figcaption{background:var(--mint); color:#0a1f1a}
.mr-foot{display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px; font-size:.82rem; color:#a9c4bb}
.mr-link{margin-left:auto; color:var(--gold); font-weight:700}
@media (min-width:901px){.hero3-side{position:sticky; top:96px}}
@media (max-width:900px){.next-steps{margin-top:1.6rem} .mini-report{max-width:none}}

/* Problem -> Solution */
.ps{padding-block:80px; background:linear-gradient(180deg,#fff7d6 0%,#fffdf5 38%,#ffffff 100%); border-top:1px solid #f2e3a4}
.ps-head{max-width:820px; margin:0 auto 48px; text-align:center}
.ps-head h2{font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1.1; letter-spacing:-.025em; margin:.9rem 0 1.6rem}
.ps-stats{display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:640px; margin:0 auto}
.ps-stat{background:#fff; border:1px solid #f0dc94; border-radius:16px; padding:18px 20px; text-align:left; box-shadow:0 10px 30px -20px rgba(120,90,0,.35)}
.ps-stat strong{display:block; font:800 clamp(2.2rem,4vw,2.8rem)/1 var(--display); color:#b4231a; letter-spacing:-.03em}
.ps-stat span{display:block; margin-top:.4rem; color:#4d4a33; font-size:.95rem; line-height:1.4}
.ps-head .src{margin-top:.9rem; font-size:.78rem; color:#7a7558}
.ps-grid{display:grid; grid-template-columns:1fr 56px 1fr; gap:14px 0; max-width:1040px; margin:0 auto}
.ps-row{display:contents}
.ps-colhead{font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:0 4px 4px}
.ps-colhead-p{color:#b4231a}
.ps-colhead-s{color:var(--euc,#0f6b58)}
.ps-card{display:flex; gap:14px; align-items:flex-start; padding:20px 22px; border-radius:16px; min-width:0}
.ps-card h3{font-size:1.08rem; margin:.1rem 0 .35rem; line-height:1.25}
.ps-card p{margin:0; font-size:.95rem; line-height:1.5}
.ps-p{background:#fff; border:1px solid #f1d6d2; color:#5b4a47}
.ps-p h3{color:#3d2a27; text-decoration:line-through; text-decoration-color:rgba(180,35,26,.45); text-decoration-thickness:2px}
.ps-s{background:linear-gradient(180deg,#0f2c25,#0a1f1a); border:1px solid rgba(61,220,151,.35); color:#c5d8d2; box-shadow:0 18px 40px -24px rgba(10,31,26,.7)}
.ps-s h3{color:#fff}
.ps-ic{flex:none; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-size:1.3rem}
.ps-p .ps-ic{background:#fdecea}
.ps-s .ps-ic{background:rgba(61,220,151,.14)}
.ps-arrow{display:grid; place-items:center; font-size:1.4rem; font-weight:800; color:var(--euc,#0f6b58)}
.ps-cta{margin-top:40px}
@media (max-width:820px){
  .ps{padding-block:56px}
  .ps-grid{grid-template-columns:1fr; gap:0}
  .ps-colhead{display:none}
  .ps-gap{display:none}
  .ps-row{display:block; margin-bottom:22px}
  .ps-arrow{transform:rotate(90deg); height:34px}
  .ps-stats{grid-template-columns:1fr}
}

/* Bondi Lite chat assistant */
.bondi-fab{position:fixed; right:20px; bottom:20px; z-index:45; display:inline-flex; align-items:center; gap:.55rem; min-height:52px; padding:.6rem 1.1rem .6rem .8rem; border:0; border-radius:999px; cursor:pointer;
  background:linear-gradient(180deg,#123a30,#0a1f1a); color:#fff; font:800 .95rem var(--display); box-shadow:0 14px 34px -12px rgba(10,31,26,.75), 0 0 0 1px rgba(61,220,151,.35); transition:transform .15s}
.bondi-fab:hover{transform:translateY(-2px)}
.bondi-fab.bondi-hide:not(.is-open){transform:translateY(160%); opacity:0; pointer-events:none}
.bondi-fab{transition:transform .25s, opacity .25s}
.bondi-fab:focus-visible,.bondi-chip:focus-visible,.bondi-x:focus-visible,.bondi-send:focus-visible{outline:3px solid var(--gold,#ffd84d); outline-offset:2px}
.bondi-fab.is-open .bondi-fab-txt::after{content:" ×"}
.bondi-panel{position:fixed; right:20px; bottom:84px; z-index:46; width:min(380px,calc(100vw - 24px)); height:min(600px,calc(100vh - 120px)); display:flex; flex-direction:column;
  background:#fff; color:var(--ink); border-radius:20px; overflow:hidden; box-shadow:0 30px 80px -24px rgba(10,31,26,.55), 0 0 0 1px rgba(10,31,26,.08)}
.bondi-panel[hidden]{display:none !important}
.bondi-head{display:flex; align-items:center; gap:10px; padding:14px 14px 14px 16px; background:linear-gradient(180deg,#123a30,#0a1f1a); color:#fff}
.bondi-av{width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.1); flex:none}
.bondi-title{display:flex; flex-direction:column; line-height:1.2; min-width:0}
.bondi-title strong{font:800 1.02rem var(--display)}
.bondi-title span{font-size:.76rem; color:#a9c4bb}
.bondi-x{margin-left:auto; width:40px; height:40px; border:0; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; font-size:1.4rem; cursor:pointer}
.bondi-log{flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; background:#f6f8f6}
.bondi-msg{max-width:88%; padding:.65rem .85rem; border-radius:14px; font-size:.93rem; line-height:1.45; word-wrap:break-word}
.bondi-msg.bot{align-self:flex-start; background:#fff; border:1px solid var(--line); border-bottom-left-radius:4px}
.bondi-msg.me{align-self:flex-end; background:var(--euc,#0f6b58); color:#fff; border-bottom-right-radius:4px}
.bondi-chips{display:flex; flex-wrap:wrap; gap:6px}
.bondi-chip{display:inline-flex; align-items:center; min-height:40px; padding:.4rem .8rem; border-radius:999px; border:1px solid rgba(15,107,88,.35); background:#fff; color:var(--euc,#0f6b58); font:600 .86rem var(--body,inherit); text-decoration:none; cursor:pointer}
.bondi-chip:hover{background:#e6f3ee}
.bondi-chip.on{background:var(--euc,#0f6b58); color:#fff; border-color:transparent}
.bondi-quote{margin-top:.6rem; padding:.7rem .8rem; border-radius:12px; background:#f1f8f5; border:1px dashed rgba(15,107,88,.35)}
.bondi-quote ul{list-style:none; margin:0; padding:0; display:grid; gap:.3rem; font-size:.85rem}
.bondi-quote li{display:flex; justify-content:space-between; gap:10px}
.bondi-quote li b{font-family:var(--mono); font-weight:600}
.bondi-total{display:flex; justify-content:space-between; align-items:baseline; margin-top:.55rem; padding-top:.55rem; border-top:1px solid rgba(15,107,88,.2); font-weight:700}
.bondi-total strong{font:800 1.35rem var(--mono)}
.bondi-quote p{margin:.35rem 0 0; font-size:.78rem; color:var(--ink-2)}
.bondi-form{display:flex; gap:8px; padding:10px; border-top:1px solid var(--line); background:#fff}
.bondi-form input{flex:1; min-width:0; min-height:44px; padding:.5rem .8rem; border:1px solid var(--line); border-radius:12px; font:inherit; font-size:16px}
.bondi-send{width:46px; min-height:44px; border:0; border-radius:12px; background:var(--euc,#0f6b58); color:#fff; font-size:1.2rem; font-weight:800; cursor:pointer}
.bondi-note{margin:0; padding:0 12px 8px; font-size:.72rem; color:#6b7773; background:#fff}
@media (max-width:900px){
  .bondi-fab{bottom:84px; right:14px; min-height:48px; padding:.5rem .9rem .5rem .7rem; transition:transform .25s, opacity .25s}
  .bondi-fab.bondi-wait:not(.is-open){transform:translateY(160%); opacity:0; pointer-events:none}
  .bondi-panel{left:0; right:0; bottom:0; width:100%; height:min(82vh,640px); border-radius:20px 20px 0 0; z-index:60}
}
@media (prefers-reduced-motion:reduce){.bondi-fab{transition:none}}
