/*
  Brand SFL — shared design system (all lanes use this file).
  Fonts are SELF-HOSTED (see @font-face below) — pages only need:

  <link rel="stylesheet" href="/styles.css">

  Type system matched glyph-by-glyph to the approved mockup (qa/FONT-MATCH.md):
  headings/buttons = Playfair Display · text/UI = Montserrat.
  (Supersedes the build pack's Fraunces + Manrope suggestion — those were
  "practical visual matches" and visibly drifted from the mockup.)

  Tokens (BRAND-SYSTEM.md / design-tokens.css — approved reference controls):
  navy #062451 · turquoise #009F9B · teal-action #007C78 · orange #FF8900
  ivory #FFF8EF · border #E5DDD1 · muted #49556A
*/
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/playfairdisplay-var.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('/assets/fonts/playfairdisplay-italic-var.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/montserrat-var.woff2') format('woff2')}
:root{
  --navy:#062451; --turquoise:#009F9B; --teal-action:#007C78; --teal-dark:#005F5C;
  --orange:#FF8900; --ivory:#FFF8EF; --white:#FFFFFF; --border:#E5DDD1; --muted:#49556A;
  --grey-pill:#6B7280;
  --font-heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Montserrat',Arial,Helvetica,sans-serif;
  --content-width:1140px; --card-radius:16px;
  --shadow-sm:0 2px 10px rgba(6,36,81,.06);
  --shadow-md:0 10px 32px rgba(6,36,81,.10);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--font-body);font-weight:500;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-action)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.08;color:var(--navy);margin:0 0 .45em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(44px,5.4vw,76px);line-height:1.05;font-weight:900}
h2{font-size:clamp(30px,3.6vw,42px);font-weight:800}
h3{font-size:22px}
p{margin:0 0 1em}
.container{width:min(var(--content-width),calc(100% - 64px));margin-inline:auto}
.section{padding-block:54px}
.section--tight{padding-block:44px}
.center{text-align:center}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.muted{color:var(--muted)}
.eyebrow{font-family:var(--font-body);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--turquoise);font-size:17px;margin:0 0 20px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;background:rgba(0,159,155,.12);color:var(--teal-dark);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

/* ---------- Buttons ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:15px 34px;border-radius:999px;background:var(--teal-action);color:#fff;text-decoration:none;font-family:var(--font-heading);font-weight:800;font-size:19px;border:2px solid var(--teal-action);cursor:pointer;transition:background .18s ease,transform .18s ease;text-align:center}
.button:hover{background:var(--teal-dark);border-color:var(--teal-dark)}
.button.secondary{background:#fff;color:var(--navy);border-color:var(--navy)}
.button.secondary:hover{background:var(--ivory)}
.button.light{background:#fff;color:var(--teal-dark);border-color:#fff}
.button.light:hover{background:var(--ivory)}
.button.small{min-height:44px;padding:9px 20px;font-size:15px}
.button[disabled],.button.disabled{opacity:.55;pointer-events:none}

/* ---------- Staging notice ---------- */
.notice{background:var(--navy);color:#fff;text-align:center;font-size:14px;font-weight:600;padding:9px 16px}
.notice a{color:#FFD9A8}

/* ---------- Header / nav ---------- */
.site-header{position:relative;z-index:1;padding:30px 0 10px;text-align:center;background:radial-gradient(1100px 420px at 50% -120px,rgba(255,196,110,.28),rgba(255,196,110,0) 70%)}
.site-header .container{position:relative;z-index:2}
.brand-logo{display:block;width:min(620px,84vw);height:auto;margin-inline:auto}
.brand-logo.small{width:170px;margin-inline:0}
.frond{position:absolute;top:-8px;width:352px;max-width:46vw;height:auto;z-index:1;pointer-events:none;opacity:.96}
.frond-tl{left:-30px}
.frond-tr{right:-30px;transform:scaleX(-1)}
.frond-side{display:none}
.nav-toggle{display:none}
.site-nav{margin-top:26px}
.site-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 46px;list-style:none;margin:0;padding:0}
.site-nav a{color:var(--navy);text-decoration:none;font-weight:700;font-size:17.5px}
.site-nav a:hover{color:var(--teal-action);text-decoration:underline;text-underline-offset:4px}

/* ---------- Hero ---------- */
.hero{position:relative;z-index:2;text-align:center;padding:38px 0 34px;overflow:clip;background:radial-gradient(560px 300px at 14% 62%,rgba(233,197,138,.20),rgba(233,197,138,0) 70%),radial-gradient(640px 340px at 84% 8%,rgba(233,197,138,.16),rgba(233,197,138,0) 70%),radial-gradient(420px 260px at 62% 96%,rgba(146,183,110,.12),rgba(146,183,110,0) 70%)}
.hero .container{position:relative;z-index:2}
.hero h1{max-width:920px;margin-inline:auto}
.hero h1 .accent{position:relative;white-space:nowrap}
.hero h1 .accent::after{content:"";position:absolute;left:2%;right:2%;bottom:.02em;height:.14em;background:var(--orange);border-radius:999px;opacity:.9;z-index:-1}
.hero .support{max-width:700px;margin:22px auto 0;font-size:20.5px;font-weight:600;color:var(--navy)}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:32px}
.hero .sun{position:absolute;right:-105px;top:42%;width:305px;height:305px;border-radius:50%;background:var(--orange);opacity:.96;pointer-events:none;z-index:1}
.hero-plant{position:absolute;left:26px;bottom:-6px;width:118px;height:auto;z-index:1;pointer-events:none}
@media(max-width:900px){.hero .sun{width:190px;height:190px;right:-72px;top:47%}.hero-plant{display:none}}

/* ---------- Before / after ---------- */
.ba-section{padding-top:20px}
.ba-wrap{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fff}
.ba-wrap picture,.ba-wrap img{width:100%}
.ba-wrap img{object-fit:cover}
.ba-label{position:absolute;top:24px;z-index:2;display:inline-flex;align-items:center;padding:10px 34px;border-radius:999px;color:#fff;font-weight:700;letter-spacing:.1em;font-size:17.5px;text-transform:uppercase;box-shadow:var(--shadow-sm)}
.ba-label.before{left:30px;background:var(--grey-pill)}
.ba-label.after{left:63.5%;transform:translateX(-50%);background:var(--turquoise);color:#fff}
.ba-caption{text-align:center;margin-top:22px}
.ba-caption .concept{font-family:var(--font-heading);font-style:italic;font-weight:600;font-size:18.5px;display:flex;align-items:center;gap:18px;justify-content:center}
.ba-caption .concept::before,.ba-caption .concept::after{content:"";height:1px;width:min(200px,22vw);background:var(--turquoise)}
.ba-caption .fine{font-size:14.5px;color:var(--muted);margin-top:6px}

/* ---------- Cards / grids ---------- */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:26px;box-shadow:var(--shadow-sm)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* ---------- Kit ---------- */
.kit-section{position:relative;overflow:clip}
.kit-section .container{position:relative;z-index:1}
.frond-peek{position:absolute;left:-34px;top:-24px;width:205px;height:auto;z-index:0;pointer-events:none;opacity:.5}
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.price-panel{position:relative;overflow:hidden;background:var(--teal-action);background:linear-gradient(160deg,#00867F 0%,var(--teal-action) 55%,#006B67 100%);color:#fff;border-radius:20px;padding:48px 42px 84px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}
.price-panel h3{font-family:var(--font-body);font-weight:700;color:#fff;font-size:34px;margin-bottom:8px;position:relative;z-index:1}
.price-panel .price-row{display:flex;align-items:center;gap:20px;margin:8px 0 12px;position:relative;z-index:1}
.price-panel .price{font-family:var(--font-body);font-size:112px;font-weight:800;line-height:1}
.price-panel .one-time{border-left:2px solid rgba(255,255,255,.65);padding-left:20px;text-align:left;font-weight:700;letter-spacing:.12em;line-height:1.35;font-size:19px;text-transform:uppercase}
.price-panel p{color:#EAF7F5;max-width:360px;font-weight:500;font-size:18.5px;position:relative;z-index:1}
.price-panel .button{margin-top:12px;min-width:min(340px,100%);position:relative;z-index:1}
.price-panel .panel-wave{position:absolute;left:0;right:0;bottom:0;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 64' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C55 10 110 48 185 32 C260 16 325 44 400 24 L400 64 L0 64 Z' fill='%2300A79F' opacity='.55'/%3E%3Cpath d='M0 44 C70 24 150 58 230 42 C305 28 355 52 400 40 L400 64 L0 64 Z' fill='%23005F5C' opacity='.65'/%3E%3C/svg%3E") bottom/100% 64px no-repeat;pointer-events:none}
.checklist-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:38px 40px;box-shadow:var(--shadow-sm)}
.checklist-card h3{font-family:var(--font-heading);font-weight:800;font-size:26px}
.checklist{list-style:none;margin:16px 0 20px;padding:0;display:grid;gap:12px}
.checklist li{position:relative;padding-left:34px;font-weight:600;font-size:18.5px}
.checklist li::before{content:"✓";position:absolute;left:2px;top:0;font-weight:800;font-size:21px;line-height:1.35;color:var(--turquoise)}
.checklist-card .note{border-top:1px solid var(--border);padding-top:15px;font-family:var(--font-heading);font-size:16px;color:var(--muted);font-style:italic;font-weight:600;margin:0}

/* ---------- Service cards ---------- */
.services-head{text-align:center;max-width:760px;margin:0 auto 38px}
.services-head h2{font-size:clamp(34px,4vw,46px)}
.services-head .muted{font-family:var(--font-heading);font-style:italic;font-weight:600;color:var(--navy);font-size:19.5px}
  #process .muted{font-family:var(--font-heading);font-style:italic;font-weight:600;color:var(--navy);font-size:19.5px}
.service-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:20px;padding:32px 28px 84px;overflow:hidden;box-shadow:var(--shadow-sm);text-align:left}
.service-card .card-head{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.service-card .icon{flex:none;width:66px;height:66px;border-radius:50%;background:rgba(0,159,155,.13);display:grid;place-items:center;color:var(--teal-action)}
.service-card .icon svg{width:33px;height:33px}
.service-card h3{font-family:var(--font-body);font-weight:700;font-size:21.5px;line-height:1.25;margin:0}
.service-card .price{font-family:var(--font-body);font-weight:800;color:var(--teal-action);font-size:31px;margin:2px 0 10px}
.service-card p{font-size:16.5px;line-height:1.55;color:var(--navy);margin-bottom:8px}
.service-card .term{font-size:14px;color:var(--muted)}
.service-card .learn{font-weight:800;color:var(--teal-action);text-decoration:none}
.service-card .learn:hover{text-decoration:underline}
.service-card .wave{position:absolute;left:0;right:0;bottom:0;height:58px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 58' preserveAspectRatio='none'%3E%3Cpath d='M0 32 C45 10 95 46 155 30 C215 14 265 44 320 28 C355 18 380 30 400 22 L400 58 L0 58 Z' fill='%23009F9B' opacity='.45'/%3E%3Cpath d='M0 42 C60 24 130 56 205 40 C280 24 340 50 400 36 L400 58 L0 58 Z' fill='%23007C78'/%3E%3C/svg%3E") bottom/100% 58px no-repeat;pointer-events:none}

/* ---------- Steps / process ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px;text-align:center}
.step{position:relative;padding:0 8px}
.step .icon{width:86px;height:86px;margin:0 auto 18px;border-radius:50%;background:rgba(0,159,155,.13);display:grid;place-items:center;color:var(--teal-action)}
.step .icon svg{width:40px;height:40px}
.step h3{font-family:var(--font-body);font-weight:700;font-size:20.5px}
.step p{font-size:16.5px;color:var(--muted);max-width:310px;margin-inline:auto}
.step .arrow{position:absolute;top:36px;right:-24px;color:var(--teal-action);font-size:30px;font-weight:700}
.step:last-child .arrow{display:none}

/* ---------- FAQ accordion ---------- */
.faq{max-width:860px;margin-inline:auto}
.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;font-weight:800;font-size:17.5px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:700;color:var(--teal-action)}
.faq details[open ] summary::after{content:"–"}
.faq details .answer{padding:0 22px 18px;color:var(--muted);font-size:16.5px}
.faq details .answer p{margin:0}
.faq-more{text-align:center;margin-top:18px;font-weight:700}

/* ---------- Inner pages ---------- */
.page-hero{text-align:center;padding:44px 0 10px}
.page-hero h1{max-width:880px;margin-inline:auto}
.page-hero .sub{max-width:680px;margin:16px auto 0;font-size:19px;color:var(--muted)}
.prose{max-width:760px;margin-inline:auto;font-size:17.5px}
.prose h2{margin-top:1.4em}
.prose ul{padding-left:1.2em}

/* ---------- Forms ---------- */
.form{display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:15.5px}
.field input,.field select,.field textarea{font:inherit;font-size:16.5px;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--navy);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--turquoise);outline:3px solid rgba(255,137,0,.55);outline-offset:1px}
.field .hint{font-size:13.5px;color:var(--muted)}
.field .error{font-size:14px;color:#B3261E;font-weight:700}

/* ---------- Footer CTA + footer ---------- */
.footer-cta{position:relative;margin-top:24px;color:#fff;overflow:hidden;background:#007C78}
.footer-cta .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%}
.footer-cta .overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,105,100,.42) 0%,rgba(0,105,100,.14) 36%,rgba(0,105,100,0) 58%)}
.footer-cta .inner{position:relative;padding:74px 0 68px;max-width:600px}
.footer-cta h2{color:#fff;font-size:clamp(32px,4.2vw,47px);text-shadow:0 1px 14px rgba(0,60,57,.35)}
.footer-cta p{color:#EAF7F5;text-shadow:0 1px 10px rgba(0,60,57,.35)}
.city-strip{background:var(--navy);color:#fff;text-align:center;letter-spacing:.32em;font-weight:700;font-size:15px;padding:19px 12px;text-transform:uppercase}
.site-footer{background:var(--ivory);padding:52px 0 34px;border-top:1px solid var(--border)}
.site-footer.compact{padding:28px 0 20px}
.compact-row{display:flex;align-items:flex-start;gap:26px 44px;flex-wrap:wrap}
.compact-row .brand-logo.small{width:158px}
.compact-links{display:flex;flex-wrap:wrap;gap:7px 22px;max-width:760px;padding-top:8px}
.compact-links a{color:var(--navy);text-decoration:none;font-size:14.5px;font-weight:600}
.compact-links a:hover{color:var(--teal-action);text-decoration:underline}
.site-footer.compact .footer-fine{margin-top:20px;padding-top:14px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.site-footer h4{font-family:var(--font-body);font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:var(--navy);text-decoration:none;font-size:15.5px}
.site-footer a:hover{color:var(--teal-action);text-decoration:underline}
.footer-fine{margin-top:34px;padding-top:18px;border-top:1px solid var(--border);font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .grid-3,.steps{grid-template-columns:1fr}
  .step .arrow{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
  .frond{width:290px}
  .frond-tl{left:-72px}
  .frond-tr{right:-72px}
}
@media(max-width:640px){
  .container{width:calc(100% - 28px)}
  .section{padding-block:42px}
  /* Header: logo + hamburger (Carlos phone mockup) */
  .site-header{padding-top:20px;text-align:left}
  .site-header .container{display:flex;align-items:center;flex-wrap:wrap}
  .site-header .container>a{margin-inline:auto}
  .site-header .brand-logo{width:178px}
  .brand-logo.small{width:150px}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5.5px;width:46px;height:46px;padding:10px 7px;background:none;border:0;cursor:pointer;flex:none}
  .nav-toggle span{display:block;height:3.6px;border-radius:3px;background:var(--navy)}
  .site-nav{display:none;width:100%;margin-top:16px}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md)}
  .site-nav li+li{border-top:1px solid var(--border)}
  .site-nav a{display:block;padding:14px 18px;font-size:16px}
  .frond{width:172px;top:-12px}
  .frond-tl{left:-28px;transform:rotate(14deg);transform-origin:top left}
  .frond-tr{display:none}
  /* Hero */
  .hero{padding-top:24px}
  .eyebrow{font-size:13.2px;letter-spacing:.07em;white-space:nowrap}
  .hero .eyebrow{position:relative;padding-bottom:12px}
  .hero .eyebrow::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:196px;max-width:56vw;height:4px;border-radius:4px;background:var(--orange)}
  .hero .support{font-size:18px}
  .hero .sun{width:172px;height:172px;right:-66px;top:248px}
  .frond-side{display:block;position:absolute;width:142px;height:auto;z-index:1;pointer-events:none;opacity:.92}
  .frond-side-l{left:-84px;top:118px}
  .frond-side-r{right:-72px;top:318px;transform:scaleX(-1)}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
  .hero-actions .button{width:100%}
  .hero-actions .button:first-child::after{content:"→";font-weight:800}
  /* Before / after: single diagonal composite, mockup-proportioned pills */
  .ba-label{top:7px;font-size:10.5px;padding:5px 12px;letter-spacing:.08em}
  .ba-label.before{left:10px}
  .ba-label.after{left:70%;top:7px}
  .ba-caption{margin-top:16px}
  .ba-caption .concept{font-size:14.5px}
  .ba-caption .concept::before,.ba-caption .concept::after{display:none}
  .ba-caption .fine{font-size:12.5px}
  .ba-wrap{border-radius:14px}
  .grid-2,.kit-grid{grid-template-columns:1fr}
  .frond-peek{display:none}
  /* Kit panel: title | $499 side-by-side (phone mockup) */
  .price-panel{display:grid;grid-template-areas:"title price" "tag tag" "btn btn";grid-template-columns:1fr auto;column-gap:10px;align-items:center;text-align:left;padding:26px 18px 22px}
  .price-panel h3{grid-area:title;font-size:22.5px;line-height:1.18;margin:0}
  .price-panel .price-row{grid-area:price;border-left:2px solid rgba(255,255,255,.55);padding-left:12px;margin:0;gap:7px}
  .price-panel .price{font-size:52px}
  .price-panel .one-time{border-left:0;padding-left:0;font-size:10.5px;letter-spacing:.1em}
  .price-panel p{grid-area:tag;text-align:center;font-size:13.6px;max-width:none;margin:16px 0 4px}
  .price-panel .button{grid-area:btn;width:100%;min-width:0;margin-top:10px}
  .price-panel .panel-wave{display:none}
  /* Checklist: two columns, serif centered title (phone mockup) */
  .checklist-card{padding:26px 16px;margin-inline:-6px}
  .checklist-card h3{font-family:var(--font-heading);text-align:center;font-size:23px}
  .checklist{grid-template-columns:.94fr 1.06fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:11px 12px}
  .checklist li{font-size:12.6px;letter-spacing:-.02em;padding-left:20px;line-height:1.35}
  .checklist li::before{font-size:15px;left:0}
  .checklist-card .note{font-size:12.5px;text-align:center}
  /* Monthly services: three mini cards across (phone mockup) */
  .services-head{margin-bottom:22px}
  .services-head h2{font-size:29px}
  .services-head .muted{display:none}
  #services .grid-3{grid-template-columns:repeat(3,1fr);gap:10px}
  .service-card{padding:15px 5px 30px;text-align:center;border-radius:14px}
  .service-card .card-head{flex-direction:column;gap:5px;margin-bottom:5px}
  .service-card .icon{width:40px;height:40px;background:transparent}
  .service-card .icon svg{width:29px;height:29px}
  .service-card h3{font-size:12.8px;line-height:1.25}
  .service-card .price{font-size:16.5px;margin:0}
  .service-card p{display:none}
  .service-card p.price{display:block}
  .service-card .wave{height:19px;background-size:100% 19px}
  .footer-cta .inner{padding:50px 0 46px}
  .footer-cta .bg{object-position:center 68%}
  .footer-cta .overlay{background:linear-gradient(180deg,rgba(0,105,100,.62) 0%,rgba(0,105,100,.34) 55%,rgba(0,105,100,.12) 100%)}
  .city-strip{letter-spacing:.11em;font-size:11px;padding:16px 8px;white-space:nowrap}
  .footer-grid{grid-template-columns:1fr}
  .site-footer.compact .brand-logo.small{width:132px}
  .compact-row{gap:18px}
  .compact-links{gap:6px 16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
