/* =========================================================
   Farmhouse Interiors Co.
   Palette from the client's paint swatches (approximate matches)
   ========================================================= */


:root{
  /* client palette */
  --cream:#E7DFD2;        /* main background */
  --shiplap:#EFE8DC;      /* shiplap plank tone */
  --greige:#BFB1A1;       /* secondary bg, cards, borders */
  --olive:#9E8E6B;        /* accents, icons, dividers (not for small text) */
  --sage:#7B7F77;         /* secondary accent, large type only on light bg */
  --clay:#956952;         /* primary buttons / CTAs (white text 4.75:1) */
  --rose:#86594F;         /* hover + highlight (white text 5.9:1) */
  --charcoal:#4F4C42;     /* footer + dark sections (white text 8.6:1) */
  --ink:#1A1A1A;          /* body text (13.2:1 on cream) */

  /* tints derived from the palette */
  --cream-lt:#F3EEE6;     /* card surfaces */
    --olive-d:#5E5238;      /* olive for SMALL text: 5.8:1 on cream */
  --muted:#4A463F;        /* secondary text: 7.1:1 on cream */
  --line:rgba(79,76,66,.18);
  --on-dark:#F3EEE6;

  --f-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --f-text:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --f-script:"Allura", "Segoe Script", cursive;

  /* type ramp */
  --t-caption:clamp(.72rem,.7rem + .08vw,.78rem);
  --t-label:clamp(.84rem,.82rem + .1vw,.9rem);
  --t-body:clamp(.98rem,.95rem + .15vw,1.06rem);
  --t-lede:clamp(1.25rem,1.1rem + .55vw,1.55rem);
  --t-h3:clamp(1.8rem,1.4rem + 1.4vw,2.6rem);
  --t-h2:clamp(2.5rem,1.7rem + 3.4vw,4.75rem);
  --t-h1:clamp(3rem,1.8rem + 5vw,6.5rem);
  --t-hero:clamp(3.4rem,2rem + 6vw,8.5rem);
  --t-script:clamp(2rem,1.6rem + 1.6vw,3.1rem);
  --t-mirror:clamp(1.5rem,8.4cqi,3.4rem);

  --ls-tight:-.015em; --ls-wide:.14em; --ls-wider:.22em;
  --lh-1:1; --lh-2:1.08; --lh-3:1.3; --lh-4:1.7;

  --pad:clamp(1.25rem,4vw,4rem);
  --measure:62ch;
  --radius:16px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --hdr:108px;            /* fixed header height (utility bar + main bar) */
}
@media (max-width:1180px){:root{--hdr:72px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--f-text);font-weight:400;font-size:var(--t-body);line-height:var(--lh-4);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
em{font-style:italic;font-weight:400}
h1,h2,h3,p,figure,blockquote{margin:0}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:.6rem 1rem}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

/* ===== Shiplap: rustic white-washed boards (client photo, tiled seamlessly) =====
   A soft cream wash on top keeps text easy to read.
   To go back to the drawn (CSS) shiplap, swap this block for the one kept
   in the comment below. */
.shiplap{
  background-color:var(--shiplap);
  background-image:
    linear-gradient(rgba(239,232,220,.22),rgba(239,232,220,.22)),
    url("assets/shiplap-rustic.webp");
  background-size:auto, 494px auto;
  background-repeat:repeat;
}
@media (max-width:640px){.shiplap{background-size:auto, 400px auto}}
/* Previous drawn shiplap:
( ===== Shiplap: white-painted planks, a little rustic =====
   Deeper groove between planks (shadow line + lit lower edge), a faint
   warm wood grain showing through the paint, and gentle plank-to-plank
   tone shifts. All very light so text stays easy to read. )
.shiplap{
  background-color:var(--shiplap);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='288'%3E%3Cfilter id='g' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0022 .36' numOctaves='4' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .23 0 0 0 -1.5 .95'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.16'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .32' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .31 0 0 0 0 .29 0 0 0 0 .25 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),
    repeating-linear-gradient(180deg,
      rgba(255,255,255,0) 0, rgba(255,255,255,0) 66px,
      rgba(110,92,66,.07) 66px, rgba(79,66,48,.16) 69px,
      rgba(70,58,42,.30) 70px, rgba(70,58,42,.30) 71px,
      rgba(255,255,255,.85) 72px, rgba(255,255,255,.25) 74px, rgba(255,255,255,0) 76px),
    repeating-linear-gradient(180deg,
      rgba(255,255,255,.16) 0 72px, rgba(191,177,161,.08) 72px 144px, rgba(255,255,255,.05) 144px 216px, rgba(205,190,170,.06) 216px 288px);
  background-size:900px 288px, 600px 240px, 100% 72px, 100% 288px;
}

*/

/* ===== Type roles ===== */
.eyebrow,.svc-sub,.m-label,.m-eyebrow,.vnum,.qby,.foot-sub,.review-by{font-family:var(--f-text);font-weight:600;font-size:var(--t-caption);letter-spacing:var(--ls-wider);text-transform:uppercase;line-height:var(--lh-3)}
.eyebrow{color:var(--olive-d);margin-bottom:1rem}
.script{font-family:var(--f-script);font-weight:400;font-size:var(--t-script);line-height:1.1;color:var(--clay);margin-bottom:.35rem;letter-spacing:0;text-transform:none}
.h1{font-family:var(--f-display);font-weight:400;font-size:var(--t-h1);line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.h2{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);line-height:var(--lh-2);letter-spacing:var(--ls-tight);text-wrap:balance}
.h3{font-family:var(--f-display);font-weight:500;font-size:var(--t-h3);line-height:var(--lh-2);letter-spacing:var(--ls-tight)}
.lede{font-family:var(--f-display);font-weight:400;font-size:var(--t-lede);line-height:var(--lh-3);color:var(--muted);max-width:42ch;margin-top:1rem;text-wrap:balance}
.text-link{display:inline-block;margin-top:1.6rem;font-size:var(--t-label);font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--clay);padding-bottom:.3rem;transition:color .3s var(--ease),border-color .3s var(--ease)}
.text-link:hover{color:var(--rose);border-color:var(--rose)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--f-text);font-weight:600;font-size:var(--t-label);letter-spacing:var(--ls-wide);text-transform:uppercase;text-decoration:none;white-space:nowrap;background:var(--clay);color:#fff;border:1px solid var(--clay);padding:1rem 1.75rem;border-radius:999px;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);will-change:transform}
.btn:hover{background:var(--rose);border-color:var(--rose)}
.btn-ghost{background:rgba(243,238,230,.9);color:var(--ink);border-color:rgba(79,76,66,.35)}
.btn-ghost:hover{background:var(--cream-lt);border-color:var(--charcoal);color:var(--ink)}
.btn-small{padding:.72rem 1.25rem;font-size:var(--t-caption)}

/* ===== Social icons ===== */
.socials{display:flex;align-items:center;gap:.75rem}
.socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid currentColor;color:inherit;transition:background .3s var(--ease),color .3s var(--ease)}
.socials svg{width:20px;height:20px;display:block;flex:none}
.socials a:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.socials-sm{gap:.35rem}
.socials-sm a{width:28px;height:28px;border:0}
.socials-sm svg{width:17px;height:17px}

/* ===== Header (centred wordmark) ===== */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(231,223,210,.97);transition:box-shadow .4s var(--ease)}
.site-header.scrolled{box-shadow:0 1px 0 var(--line),0 10px 30px -22px rgba(60,45,20,.5)}
.utility{height:34px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--pad);background:var(--charcoal);color:var(--on-dark);font-size:var(--t-caption);letter-spacing:.06em}
.utility-right{display:flex;align-items:center;gap:1rem}
.utility-link{text-decoration:none;font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase}
.utility-link:hover{text-decoration:underline}
.mainbar{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:0 var(--pad);border-bottom:1px solid var(--line)}
.nav-links{display:flex;gap:clamp(1.2rem,2vw,2.2rem);align-items:center}
.nav-left{justify-self:start}
.nav-right{justify-self:end;margin-right:clamp(9rem,12vw,10.5rem)}
.nav-links a{text-decoration:none;font-size:var(--t-caption);font-weight:500;letter-spacing:var(--ls-wide);text-transform:uppercase;position:relative;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-book{position:absolute;right:var(--pad);top:calc(34px + 37px);transform:translateY(-50%)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand-mark{width:32px;height:32px;color:var(--charcoal);flex:none}
.brand-mark.big{width:54px;height:54px;color:var(--on-dark)}
.brand-logo{display:block;height:64px;width:auto}
.brand-word{display:flex;flex-direction:column;align-items:center;line-height:var(--lh-1)}
.brand-top{font-family:var(--f-display);font-weight:600;font-size:1.55rem;letter-spacing:.16em;text-transform:uppercase;padding-left:.16em}
.brand-sub{font-family:var(--f-text);font-weight:500;font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;margin-top:.3rem;color:var(--muted);padding-left:.42em}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(79,76,66,.3);background:var(--cream-lt);cursor:pointer;position:relative;flex:none;justify-self:start}
.menu-btn span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease)}
.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:25px}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:var(--hdr) 0 0 0;z-index:45;background:var(--cream);display:flex;flex-direction:column;gap:1rem;padding:2rem var(--pad) 3rem;overflow-y:auto}
.mobile-menu[hidden]{display:none}
.mobile-menu a:not(.btn){font-family:var(--f-text);font-weight:500;font-size:clamp(1.05rem,4.4vw,1.25rem);letter-spacing:.08em;text-transform:uppercase;line-height:1.3;text-decoration:none;min-height:44px;display:flex;align-items:center}
.mobile-menu .btn{align-self:flex-start;margin-top:.8rem}
.mobile-menu .socials{margin-top:1rem}
.mobile-menu .socials a{font-size:inherit}
/* the menu link style above must not pull the icons off-centre */
.mobile-menu .socials a:not(.btn){display:grid;place-items:center;padding:0;min-height:0;letter-spacing:0;line-height:0}
.menu-open body{overflow:hidden}
@media (max-width:1180px){
  .utility,.nav-links{display:none}
  .mainbar{height:72px;grid-template-columns:auto 1fr auto}
  .menu-btn{display:block}
  .brand{justify-self:center}
  .brand-logo{height:58px}
  .nav-book{position:static;transform:none;justify-self:end}
}
@media (min-width:1181px){.mobile-menu{display:none!important}}
@media (max-width:480px){
  .mainbar{gap:.6rem;padding:0 1rem}
  .brand-mark{display:none}
  .brand-logo{height:54px}
  .brand-top{font-size:1.2rem;letter-spacing:.12em}
  .brand-sub{font-size:.52rem;letter-spacing:.34em}
  .nav-book{padding:.65rem .9rem}
}

/* ===== HERO / STAGE (mirror element unchanged; framed below the header) ===== */
.hero{position:relative;height:100vh;height:100svh;overflow:hidden;background:#E9DFCC}
.hero-frame{position:absolute;left:0;right:0;bottom:0;top:var(--hdr);overflow:hidden}
.stage{position:absolute;left:50%;top:50%;width:max(100%,calc((100svh - var(--hdr)) * 1.7778));height:max(100%,56.25vw);transform:translate(-50%,-50%)}
.wall{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sconce-glow{position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,150,.38),rgba(255,214,150,0) 65%);top:22%;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:soft-light;animation:breathe 6s ease-in-out infinite}
.sconce-l{left:15.6%}.sconce-r{left:84.6%;animation-delay:-3s}
@keyframes breathe{50%{opacity:.6}}

.mirror{position:absolute;left:50%;top:9%;height:66%;aspect-ratio:830/1180;transform:translateX(-50%);border-radius:50% 50% 3.5% 3.5% / 35% 35% 2.4% 2.4%;padding:1.9%;
  background:
    repeating-linear-gradient(97deg,rgba(255,255,255,.05) 0 2px,rgba(0,0,0,.035) 2px 5px),
    linear-gradient(160deg,#CDA87D 0%,#A9825A 38%,#8B6845 70%,#B38C61 100%);
  box-shadow:0 2px 0 rgba(255,255,255,.35) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 30px 60px -20px rgba(70,50,25,.45),0 10px 22px -8px rgba(70,50,25,.35);
  will-change:transform}
.glass{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;container-type:inline-size;background:#ddd;isolation:isolate}
.reflection{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,248,243,.78) 0%,rgba(251,248,243,.55) 35%,rgba(251,248,243,.5) 70%,rgba(251,248,243,.72) 100%)}
.glass-copy{position:absolute;inset:0;text-align:center;color:var(--ink)}
.band{position:absolute;left:8%;right:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35em}
.fx .band{opacity:0;transition:opacity .35s ease}
.fx .band.lit{opacity:1}
.m-eyebrow{color:var(--olive-d);letter-spacing:.12em;white-space:nowrap;font-size:min(var(--t-caption),4.5cqi)}
.m-title{font-family:var(--f-display);font-weight:500;font-size:var(--t-mirror);line-height:var(--lh-2);letter-spacing:var(--ls-tight);text-wrap:balance}
.m-label{color:var(--olive-d)}
.m-line{font-family:var(--f-display);font-weight:500;font-size:var(--t-lede);line-height:var(--lh-3);text-wrap:balance;max-width:24ch}
.m-sub{font-family:var(--f-text);font-weight:500;font-size:var(--t-caption);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--olive-d)}
.fog{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.gleam{position:absolute;inset:-20% -60%;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.55) 49%,rgba(255,255,255,.12) 52%,transparent 58%);transform:translateX(-70%);opacity:0}
.glass-depth{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 10px 30px rgba(0,0,0,.12),inset 0 -6px 20px rgba(255,255,255,.2)}

.squeegee{position:absolute;left:0;top:0;width:3.2%;height:auto;z-index:6;opacity:0;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(40,30,15,.35));transform-origin:50% 50%;will-change:transform,opacity}


.counter-ui{position:absolute;left:50%;bottom:clamp(1rem,4.5vh,3rem);transform:translateX(-50%);z-index:8;display:grid;place-items:center}
.cue,.hero-cta{grid-area:1/1}
.cue{display:flex;align-items:center;gap:1rem;background:rgba(243,238,230,.92);border:1px solid rgba(79,76,66,.15);padding:.8rem 1.3rem;border-radius:999px;box-shadow:0 10px 30px -12px rgba(60,45,20,.35)}
.cue-text{font-size:var(--t-caption);font-weight:600;letter-spacing:var(--ls-wider);text-transform:uppercase;white-space:nowrap}
.cue-bar{width:90px;height:2px;background:rgba(79,76,66,.18);overflow:hidden;border-radius:2px}
.cue-bar span{display:block;height:100%;background:var(--clay);transform:scaleX(0);transform-origin:left}
.hero-cta{display:flex;gap:.8rem;opacity:0;visibility:hidden}

@media (max-aspect-ratio:4/5){
  .stage{width:max(100%,calc((100svh - var(--hdr)) * .6667));height:max(100%,150vw)}
  .mirror{top:9%;height:58%;padding:2.4%}
  .sconce-glow{display:none}
  .squeegee{width:7%}
  .hero-cta{flex-direction:column;align-items:stretch;width:min(80vw,320px)}
  .cue-long{display:none}
  .cue-bar{width:56px}
}

/* ===== Trust strip ===== */
.trust{background:var(--greige);padding:1.4rem var(--pad);border-top:1px solid rgba(79,76,66,.15);border-bottom:1px solid rgba(79,76,66,.15)}
.trust-row{list-style:none;margin:0 auto;padding:0;max-width:1320px;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem clamp(1.25rem,2.2vw,2.5rem)}
.trust li{display:flex;align-items:center;gap:.6rem;font-size:var(--t-caption);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.trust svg{width:26px;height:26px;color:var(--charcoal);flex:none}
@media (max-width:640px){.trust-row{display:grid;grid-template-columns:1fr 1fr;justify-items:start}.trust li:last-child{grid-column:1/-1;justify-self:center}}

/* ===== Section heads ===== */
.sec-head{max-width:1200px;margin:0 auto clamp(2.8rem,5vw,4.5rem)}
.sec-head.center{text-align:center}
.sec-head.center .lede{margin-left:auto;margin-right:auto}

/* ===== Who we are (text box layered over soft imagery) ===== */
.intro{position:relative;padding:clamp(5.5rem,11vw,10rem) var(--pad)}
.intro-wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto;align-items:start}
.ip{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -40px rgba(60,45,20,.55)}
.ip img{width:100%;height:118%;object-fit:cover;will-change:transform}
.ip-a{grid-column:1/8;grid-row:1;aspect-ratio:4/4.4}
.philo-box{grid-column:6/13;grid-row:1;align-self:center;position:relative;z-index:2;background:rgba(243,238,230,.96);border:1px solid var(--greige);border-radius:var(--radius);padding:clamp(1.8rem,4vw,3.5rem);box-shadow:0 30px 70px -40px rgba(60,45,20,.5)}
.philo-text{font-family:var(--f-display);font-weight:400;font-size:var(--t-lede);line-height:var(--lh-3);margin-top:1.2rem;max-width:40ch}
.sweep .w{opacity:.18}
@media (max-width:860px){
  .intro-wrap{display:block}
  .ip-a{aspect-ratio:4/3.4}
  .philo-box{margin:-3.5rem 1rem 0}
}

/* ===== Services: numbered, alternating image/text ===== */
.services{background:var(--cream);padding:clamp(6rem,10vw,9rem) var(--pad)}
.svc-list-wrap{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(4rem,9vw,8rem)}
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.svc-flip .svc-media{order:2}
.svc-media{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/4.6;box-shadow:0 34px 70px -44px rgba(60,45,20,.6)}
.svc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-media .hazy{transform:scale(1.06);clip-path:inset(0 0 0 0)}
.svc-body{position:relative}
.svc-num{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--f-display);font-weight:400;font-size:clamp(4rem,3rem + 4vw,7.5rem);line-height:.9;color:var(--olive);margin-bottom:.6rem;letter-spacing:-.02em}
.svc-body .eyebrow{margin-bottom:.4rem}
.svc-tag{color:var(--muted);margin:1rem 0 1.8rem;max-width:46ch}
.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem}
.svc-sub{color:var(--olive-d);margin-bottom:.5rem}
.svc ul{list-style:none;margin:0;padding:0}
.svc li{position:relative;padding-left:1.3rem;font-size:var(--t-label);line-height:var(--lh-3);margin-bottom:.5rem}
.svc li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.3rem;border-left:1.5px solid var(--clay);border-bottom:1.5px solid var(--clay);transform:rotate(-45deg)}
.svc-list{columns:2;column-gap:2rem}
.svc-list li{break-inside:avoid;font-size:var(--t-body)}
.addon{margin-top:2rem;padding:1.2rem 1.4rem;border:1px dashed var(--olive);border-radius:12px;background:var(--cream-lt)}
.addon p:last-child{font-size:var(--t-label)}
@media (max-width:860px){
  .svc{grid-template-columns:1fr}
  .svc-flip .svc-media{order:0}
  .svc-media{aspect-ratio:4/3}
  .svc-cols{grid-template-columns:1fr}
  .svc-list{columns:1}
}

/* ===== Values ===== */
.values{background:var(--charcoal);color:var(--on-dark);overflow:hidden}
.values-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:safe center;padding:calc(var(--hdr) + 2rem) 0 clamp(2.5rem,6vh,6rem)}
@media (min-width:861px) and (max-height:820px){.values-pin .sec-head{margin-bottom:1.6rem}.vcard{min-height:clamp(280px,38vh,360px);padding:1.6rem 1.6rem}}
.values-head{padding:0 var(--pad);width:100%}
.values .script{color:#E2C9B4}
.track{display:flex;gap:clamp(1rem,2vw,1.6rem);padding:0 var(--pad);width:max-content;will-change:transform}
.vcard{position:relative;width:clamp(270px,26vw,360px);min-height:clamp(320px,40vh,410px);background:var(--cream-lt);color:var(--ink);border-radius:var(--radius);padding:2rem 1.8rem;display:flex;flex-direction:column;overflow:hidden;border-top:4px solid var(--olive)}
.vicon{width:46px;height:46px;color:var(--olive);flex:none}
.vnum{color:var(--olive-d);margin-top:clamp(2.2rem,7vh,4.5rem)}
.vtitle{font-family:var(--f-display);font-weight:500;font-size:var(--t-h3);line-height:var(--lh-2);letter-spacing:var(--ls-tight);margin:.4rem 0 .8rem;text-wrap:balance}
.vtext{font-size:var(--t-label);line-height:var(--lh-4);color:var(--muted)}
.vfog{position:absolute;inset:0;z-index:2;background:url(assets/fog.webp) center/cover;clip-path:inset(0 0 0 0);pointer-events:none}
.vfog::after{content:"";position:absolute;inset:0;background:rgba(236,233,226,.6)}
.vfog i{position:absolute;top:0;bottom:0;left:0;width:10px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9),rgba(255,255,255,0));z-index:3}
@media (max-width:860px){
  .values-pin{min-height:0;padding:clamp(4.5rem,10vw,6rem) 0}
  .track{flex-direction:column;width:auto}
  .vcard{width:auto;min-height:270px}
}

/* ===== Areas marquee ===== */
.areas{background:var(--cream);padding:clamp(3rem,6vw,5rem) 0;overflow:hidden;border-bottom:1px solid var(--line)}
.marquee{display:flex;width:max-content;will-change:transform}
.mq-row{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);padding-right:clamp(1.5rem,3vw,3rem);font-family:var(--f-display);font-weight:400;font-size:var(--t-hero);line-height:var(--lh-1);letter-spacing:var(--ls-tight);white-space:nowrap;color:var(--sage)}
.mq-row span:nth-of-type(even){font-style:italic;color:var(--charcoal)}
.mq-row svg{width:.5em;height:.5em;color:var(--olive);flex:none}

/* ===== Featured quote ===== */
.quote{position:relative;padding:clamp(6rem,12vw,10rem) var(--pad);overflow:hidden;color:var(--ink)}
.quote-inner{position:relative;z-index:1;max-width:1050px;margin:0 auto}
.qmark{width:56px;color:var(--clay);margin-bottom:2rem}
.qtext{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);line-height:var(--lh-3);text-wrap:balance}
.qtext .w{opacity:.22}
.qby{margin-top:2.2rem;color:var(--charcoal)}

/* ===== Reviews ===== */
.reviews{padding:clamp(6rem,10vw,9rem) var(--pad)}
.review-carousel{max-width:1240px;margin:0 auto}
.review-track{--per:3;--gap:clamp(1rem,2vw,1.6rem);display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:.5rem .25rem 1.5rem;scrollbar-width:none;outline-offset:6px}
.review-track::-webkit-scrollbar{display:none}
.review{flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));scroll-snap-align:start;background:var(--cream-lt);border:1px solid var(--greige);border-radius:var(--radius);padding:clamp(1.6rem,2.5vw,2.2rem);display:flex;flex-direction:column;gap:1.1rem;box-shadow:0 24px 50px -40px rgba(60,45,20,.55)}
.stars{display:flex;gap:.25rem;color:var(--clay)}
.stars svg{width:18px;height:18px;fill:currentColor}
.review-text{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(1.2rem,1.1rem + .3vw,1.38rem);line-height:1.42;flex:1}
.review-by{color:var(--ink);padding-top:1rem;border-top:1px solid var(--greige)}
.review-controls{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:.5rem}
.rc-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(79,76,66,.35);background:var(--cream-lt);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),opacity .3s}
.rc-btn svg{width:20px;height:20px}
.rc-btn:hover:not(:disabled){background:var(--clay);border-color:var(--clay);color:#fff}
.rc-btn:disabled{opacity:.35;cursor:default}
.rc-dots{display:flex;gap:.5rem}
.rc-dots span{width:8px;height:8px;border-radius:50%;background:var(--greige);transition:background .3s,transform .3s}
.rc-dots span.on{background:var(--clay);transform:scale(1.25)}
@media (max-width:1000px){.review-track{--per:2}}
@media (max-width:640px){.review-track{--per:1.12;margin:0 calc(-1 * var(--pad));padding-left:var(--pad);padding-right:var(--pad);scroll-padding-left:var(--pad)}}

/* ===== Signature touches gallery ===== */
.touches{padding:clamp(6rem,10vw,9rem) var(--pad)}
.touch-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem)}
.touch{margin:0}
.touch:nth-child(even){margin-top:clamp(1.5rem,4vw,3.5rem)}
.touch-media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -40px rgba(60,45,20,.6);background:var(--greige)}
.touch-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.touch:hover .touch-media img{transform:scale(1.04)}
@media (max-width:900px){.touch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== FAQ ===== */
.faq{background:var(--cream-lt);padding:clamp(6rem,10vw,9rem) var(--pad)}
.faq .sec-head{max-width:900px}
.faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--greige)}
.faq details{border-bottom:1px solid var(--greige)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;font-family:var(--f-display);font-weight:500;font-size:var(--t-lede);line-height:var(--lh-3)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .35s var(--ease);color:var(--clay)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.6rem;max-width:var(--measure);color:var(--muted)}

/* ===== BookingKoala embeds ===== */
.embed-sec{padding:clamp(5rem,9vw,8rem) var(--pad)}
.bk-embed{width:100%;max-width:1200px;margin:0 auto;padding:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -45px rgba(60,45,20,.55)}
.bk-embed iframe{display:block;width:100%;max-width:100%}
@media (max-width:640px){
  /* full-bleed on phones so the form is never squeezed */
  .bk-embed{width:auto;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));border-radius:0;box-shadow:none}
}

/* ===== Sub-pages ===== */
.page-main{padding-top:var(--hdr)}
.page-hero{padding:clamp(4.5rem,9vw,7.5rem) var(--pad) clamp(3.5rem,7vw,5.5rem);text-align:center}
.page-hero .lede{margin-left:auto;margin-right:auto}
.page-hero .h1{max-width:16ch;margin:0 auto}
.page-hero .panel{max-width:900px;margin:0 auto}
.hide-head-when-empty.bk-empty .sec-head{display:none}
.nf{min-height:calc(100vh - var(--hdr));min-height:calc(100svh - var(--hdr));display:grid;grid-template-columns:minmax(0,320px) minmax(0,560px);justify-content:center;align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(4rem,8vw,6rem) var(--pad)}
.nf .nf-arch{width:100%}
.nf .h1{font-size:clamp(2.6rem,2rem + 3vw,4.4rem)}
.nf-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
@media (max-width:760px){.nf{grid-template-columns:1fr;justify-items:center}.nf .nf-arch{width:min(56vw,220px)}}
.contact-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 4rem;margin-top:2.5rem}
.contact-facts .eyebrow{margin-bottom:.3rem}
.contact-facts a{font-weight:500;overflow-wrap:anywhere}
.account-grid{max-width:1240px;margin:0 auto;padding:clamp(4rem,8vw,6rem) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3rem);align-items:start}
.account-col .sec-head{margin-bottom:1.4rem}
.sub-intro{margin-top:.6rem;color:var(--muted);max-width:44ch}
@media (max-width:1000px){.account-grid{grid-template-columns:1fr}}

/* ===== Team page ===== */
.team-hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding:calc(var(--hdr) + clamp(3rem,6vw,5rem)) max(var(--pad),calc((100vw - 1300px)/2)) clamp(4rem,8vw,6rem)}
.team-copy .lede{max-width:34ch}
.team-copy .btn{margin-top:2.2rem}
.team-arch{position:relative;justify-self:center;width:min(100%,420px);aspect-ratio:830/1180;border-radius:50% 50% 3.5% 3.5% / 35% 35% 2.4% 2.4%;padding:3%;background:repeating-linear-gradient(97deg,rgba(255,255,255,.05) 0 2px,rgba(0,0,0,.035) 2px 5px),linear-gradient(160deg,#CDA87D 0%,#A9825A 38%,#8B6845 70%,#B38C61 100%);box-shadow:0 30px 60px -20px rgba(70,50,25,.45)}
.team-glass{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;background:url(assets/fog.webp) center/cover;display:grid;place-items:center;text-align:center}
.team-glass::before{content:"";position:absolute;inset:0;background:url(assets/reflection.webp) center/cover;filter:blur(18px);opacity:.35}
.team-glass p{position:relative;font-family:var(--f-script);font-size:var(--t-script);color:var(--charcoal);line-height:1.1;animation:breathe 5s ease-in-out infinite}
@media (max-width:860px){.team-hero{grid-template-columns:1fr}.team-arch{width:min(78vw,340px)}}

/* ===== Footer ===== */
.footer{background:var(--charcoal);color:var(--on-dark);padding:clamp(4rem,8vw,6rem) var(--pad) 2rem}
.foot-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
.foot-logo{display:block;width:230px;height:auto;margin:0 0 1.4rem -6px}
.nl-copy .h3 em{white-space:nowrap}
.foot-name{font-family:var(--f-display);font-weight:600;font-size:1.35rem;letter-spacing:.06em;margin-top:1rem}
.foot-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-h3);line-height:var(--lh-2);margin-top:.4rem;max-width:14ch}
.socials-foot{margin-top:1.6rem}
.foot-handle{display:inline-block;margin-top:.8rem;font-size:var(--t-label);font-weight:500;text-decoration:none;letter-spacing:.02em}
.foot-handle:hover{text-decoration:underline}
.foot-col{display:flex;flex-direction:column;gap:.55rem}
.foot-sub{color:#E2C9B4;margin-bottom:.4rem}
.foot-col a{font-size:var(--t-label);text-decoration:none;overflow-wrap:anywhere}
.foot-col a:hover{text-decoration:underline}
.foot-area{font-size:var(--t-label);line-height:var(--lh-3);margin-top:.4rem}
.foot-legal{max-width:1240px;margin:3.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(243,238,230,.2);font-size:var(--t-caption);letter-spacing:var(--ls-wide);text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem}
.credit{opacity:.78;letter-spacing:.08em}
.credit a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(243,238,230,.35);transition:border-color .3s var(--ease),opacity .3s}
.credit a:hover{border-color:var(--greige)}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion:reduce){
  .fog,.squeegee,.gleam,.vfog,.cue{display:none!important}
  .hero-cta{opacity:1!important;visibility:visible!important}
  .sweep .w,.qtext .w{opacity:1!important}
  .sconce-glow,.team-glass p{animation:none}
  .svc-media .hazy{display:none}
}
.bk-embed.is-empty{box-shadow:none;background:transparent}
.bk-embed.is-empty iframe{height:0!important;min-height:0;visibility:hidden}
.bk-embed.is-empty + .bk-fallback{margin-top:0}
.bk-fallback{max-width:640px;margin:0 auto;text-align:center;background:var(--cream-lt);border:1px solid var(--greige);border-radius:var(--radius);padding:clamp(2rem,4vw,3rem)}
.bk-fallback p{font-family:var(--f-display);font-size:var(--t-lede);line-height:var(--lh-3);margin-bottom:1.4rem}

/* ===== Mobile readability & tap targets ===== */
@media (max-width:640px){
  :root{--t-caption:.875rem;--t-label:.9375rem}
  /* the mirror hero keeps its original fine type so it fits inside the glass */
  .m-eyebrow{font-size:min(.75rem,4.5cqi)}
  .m-label,.m-sub,.cue-text{font-size:.75rem}
  .btn,.btn-small{font-size:.875rem}
  .site-header .btn-small{padding:.7rem 1rem;letter-spacing:.08em}
  .foot-col{gap:0}
  .foot-col a,.foot-handle,.credit a{display:inline-flex;align-items:center;min-height:44px}
  .socials a{width:44px;height:44px}
  .foot-legal{flex-direction:column;gap:.2rem}
}

/* ===== Add-ons box, time note ===== */
.addon-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1.4rem}
.svc .addon-list li{position:relative;padding-left:1.1rem;font-size:var(--t-label);line-height:var(--lh-3);margin:0}
.svc .addon-list li::before{content:"+";position:absolute;left:0;top:0;width:auto;height:auto;border:0;transform:none;color:var(--clay);font-weight:600;line-height:inherit}
@media (max-width:520px){.addon-list{grid-template-columns:1fr}}
/* "Complete window service" info tooltip: absolutely positioned, so it never moves the layout */
.tip-wrap{position:relative;display:inline-block;vertical-align:-.18em;margin-left:.35rem}
.tip-btn{display:inline-grid;place-items:center;width:1.25em;height:1.25em;padding:0;border:0;background:none;color:var(--clay);cursor:pointer;border-radius:50%;position:relative}
.tip-btn::after{content:"";position:absolute;inset:-12px}
.tip-btn svg{width:100%;height:100%;display:block}
.tip-btn:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.tip{position:absolute;z-index:20;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);width:max-content;max-width:220px;padding:.55rem .8rem;border-radius:10px;background:var(--charcoal);color:var(--on-dark);font-family:var(--f-text);font-size:.8125rem;font-weight:500;line-height:1.4;letter-spacing:.01em;text-align:center;box-shadow:0 10px 24px -10px rgba(40,30,15,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s}
.tip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--charcoal)}
.tip-wrap:hover .tip,.tip-btn:focus-visible+.tip,.tip-wrap.open .tip{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media (min-width:521px){
  .tip{top:var(--ty,auto);left:var(--tx,50%);bottom:auto;transform:translateY(4px)}
  .tip-wrap:hover .tip,.tip-btn:focus-visible+.tip,.tip-wrap.open .tip{transform:none}
  .tip[data-side="right"]{transform:translateX(-4px)}
  .tip[data-side="right"]::after{top:50%;left:auto;right:100%;margin:-6px 0 0;border-top-color:transparent;border-right-color:var(--charcoal)}
  .tip[data-side="left"]{transform:translateX(4px)}
  .tip[data-side="left"]::after{top:50%;left:100%;margin:-6px 0 0;border-top-color:transparent;border-left-color:var(--charcoal)}
  .tip[data-side="top"]::after{left:var(--ax,50%)}
  .tip[data-side="bottom"]::after{top:auto;bottom:100%;left:var(--ax,50%);border-top-color:transparent;border-bottom-color:var(--charcoal)}
}
@media (max-width:520px){.tip{left:auto;right:-1.2rem;transform:translateY(4px)}.tip::after{left:auto;right:calc(1.2rem + .62em - 6px);margin:0}.tip-wrap:hover .tip,.tip-btn:focus-visible+.tip,.tip-wrap.open .tip{transform:none}}
.svc-time-note{max-width:900px;margin:clamp(3.5rem,7vw,5.5rem) auto 0;padding:1.3rem 1.6rem;background:var(--cream-lt);border:1px solid rgba(191,177,161,.7);border-radius:12px}
.svc-time-note p{font-size:var(--t-caption);line-height:1.65;color:var(--muted);letter-spacing:.01em}
.svc-time-note strong{color:var(--charcoal);font-weight:600}

/* ===== Newsletter (Netlify Form) ===== */
.newsletter{background:var(--cream-lt);border-top:1px solid var(--line);padding:clamp(4rem,7vw,6rem) var(--pad)}
.nl-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.nl-copy .h3{margin-top:.2rem}
.nl-sub{margin-top:.8rem;color:var(--muted);font-size:var(--t-label);line-height:var(--lh-4);max-width:42ch}
.nl-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:.9rem}
.nl-field{display:flex;flex-direction:column;gap:.4rem}
.nl-field span{font-size:var(--t-caption);font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--charcoal)}
.nl-field input{font:inherit;font-size:1rem;padding:.85rem 1rem;border:1px solid var(--greige);border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
.nl-field input:focus-visible,.nl-consent input:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.nl-consent{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0 1.3rem;font-size:var(--t-label);line-height:1.5;color:var(--muted);cursor:pointer}
.nl-consent input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--clay);flex:none}
.nl-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-error{margin-top:.9rem;color:var(--rose);font-size:var(--t-label)}
.nl-thanks{grid-column:2;text-align:left;padding:1.6rem 1.8rem;background:var(--cream);border:1px solid var(--greige);border-radius:var(--radius)}
.nl-thanks:focus{outline:none}
.newsletter.is-done .nl-form{display:none}
@media (max-width:820px){.nl-inner{grid-template-columns:1fr}.nl-fields{grid-template-columns:1fr}.nl-thanks{grid-column:1}}

/* ===== Gift cards coming soon ===== */
.gift-soon{max-width:1100px;margin:0 auto;padding:clamp(4.5rem,8vw,7.5rem) var(--pad);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.gift-card-art{aspect-ratio:1.6/1;border-radius:18px;background:linear-gradient(135deg,var(--cream-lt),var(--cream) 60%,var(--greige));border:1px solid var(--greige);box-shadow:0 34px 70px -40px rgba(60,45,20,.55);display:grid;place-items:center;position:relative;overflow:hidden;transform:rotate(-3deg)}
.gift-card-art::after{content:"";position:absolute;inset:10px;border:1px solid rgba(149,105,82,.35);border-radius:12px}
.gc-inner{text-align:center;color:var(--charcoal)}
.gc-inner svg{width:46px;height:46px;margin:0 auto .6rem}
.gc-name{font-family:var(--f-display);font-size:1.5rem}
.gc-label{font-family:var(--f-script);font-size:2rem;color:var(--clay);margin-top:.2rem}
.gift-soon-copy .lede{margin:1rem 0 1.8rem;max-width:42ch}
@media (max-width:760px){.gift-soon{grid-template-columns:1fr}.gift-card-art{max-width:340px;width:100%;margin:0 auto}}

/* ===== Consistent section rhythm (desktop + mobile) ===== */
:root{--sec-y:clamp(4.5rem,8vw,7.5rem)}
.intro,.services,.reviews,.touches,.faq,.embed-sec,.quote{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}
@media (max-width:860px){.values-pin{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}}

/* ===== Move In / Out kitchen photo: keep the island, sink and cabinets in frame ===== */
.svc-media img.mo-focus{object-fit:cover;object-position:50% 58%}
@media (max-width:860px){
  .svc-media img.mo-focus{object-position:50% 62%}
}

/* ===== Mirror headline: one line of copy, centred in the glass ===== */
.glass-copy .band-0{top:0;bottom:0;left:0;right:0;height:auto;padding:0 10%}
.band-0 .m-title{max-width:16ch}
@media (max-width:480px){
  .glass-copy .band-0{padding:0 7%}
  .band-0 .m-title{font-size:min(var(--t-mirror),10.2cqi)}
  .counter-ui{bottom:max(.8rem,env(safe-area-inset-bottom));width:min(calc(100vw - 2rem),360px)}
  .hero-cta{width:100%;gap:.5rem}
  .hero-cta .btn{min-height:44px;padding-top:.6rem;padding-bottom:.6rem}
}
@media (max-width:480px) and (max-height:700px){
  .mirror{top:7.5%;height:55.5%}
}
/* Very short phone screens (e.g. iPhone SE with browser bars): keep the scene
   inside the screen so both hero buttons stay visible */
@media (max-width:480px) and (max-height:620px){
  .stage{height:100%}
  .mirror{top:6.5%;height:55%}
}

/* Desktop only: the hero scene is cropped top and bottom when the window is wide,
   so anchor the buttons to the visible edge and keep a 40px gap above the trust strip. */
@media (min-width:1025px){
  .counter-ui{bottom:calc(max(0px, (56.25vw - (100svh - var(--hdr))) / 2) + 40px)}
}
