/* ══ Organic tokens ══════════════════════════════════════ */
    :root{
      --bg:#f5ead8;
      --surface:#ebddc5;
      --text:#201e1d;
      --accent:#c67139;
      --divider:rgba(32,30,29,.16);

      --n100:#f9f4ed; --n200:#eee7db; --n300:#dcd3c4; --n400:#c0b6a5;
      --n500:#a19786; --n600:#82796a; --n700:#645c50; --n800:#474238; --n900:#2e2b25;

      --a100:#fff2eb; --a200:#ffe1d0; --a300:#ffc6a5; --a400:#f6a06b;
      --a500:#d67f48; --a600:#b2622d; --a700:#8c491a; --a800:#643312; --a900:#402310;

      --g100:#f0fae1; --g200:#e1eecc; --g300:#ccdbb2; --g400:#aebf92;
      --g500:#8fa073; --g600:#728157; --g700:#56633f; --g800:#3d472b; --g900:#272e1b;

      --head:"Caprasimo", Georgia, serif;
      --body:"Figtree", system-ui, -apple-system, sans-serif;

      --r-sm:8px; --r-md:16px; --r-lg:28px; --r-xl:32px;
      --sh-sm:0 1px 2px rgba(46,43,37,.14);
      --sh-md:0 3px 10px rgba(46,43,37,.16);
      --sh-lg:0 12px 32px rgba(46,43,37,.22);

      --gutter:clamp(1.25rem,4.5vw,3.5rem);
      --section:clamp(3.5rem,8vw,6.5rem);
      --maxw:78rem;
    }

    *,*::before,*::after{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; scroll-padding-top:5rem; -webkit-text-size-adjust:100%; }
    @media (prefers-reduced-motion:reduce){
      html{ scroll-behavior:auto; }
      *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
    }

    body{
      margin:0; background:var(--bg); color:var(--text);
      font-family:var(--body); font-size:clamp(15px,1.05vw,16.5px); line-height:1.6;
      -webkit-font-smoothing:antialiased; overflow-x:hidden;
    }
    h1,h2,h3,h4{ font-family:var(--head); font-weight:400; line-height:1.06;
      letter-spacing:-.015em; margin:0; text-wrap:balance; }
    p{ margin:0; }
    img{ display:block; max-width:100%; height:auto; }
    a{ color:inherit; }
    ::selection{ background:rgba(198,113,57,.3); }
    :where(a,button,summary,input,select,textarea):focus-visible{
      outline:2px solid var(--accent); outline-offset:2px; }

    .wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
    .wrap--narrow{ max-width:54rem; }
    .band{ position:relative; padding-block:var(--section); }
    .band--surface{ background:var(--surface); }
    .band--green{ background:var(--g900); color:var(--g100); }
    .band--tight{ padding-block:clamp(2.5rem,5vw,4rem); }

    .kicker{ font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
      color:var(--a700); margin-bottom:.85rem; }
    .band--green .kicker{ color:var(--a400); }

    /* ══ buttons ══ */
    .btn{ display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
      font-family:var(--head); font-weight:400; font-size:15px; line-height:1.2;
      padding:.95rem 1.65rem; border-radius:999px; border:1px solid transparent;
      cursor:pointer; text-decoration:none; transition:background .18s,color .18s,border-color .18s; }
    .btn-primary{ background:var(--accent); color:var(--bg); }
    .btn-primary:hover{ background:var(--a600); }
    .btn-secondary{ border-color:var(--divider); color:var(--text); background:transparent; }
    .btn-secondary:hover{ background:rgba(32,30,29,.07); }
    .btn-light{ border:1px solid rgba(250,245,234,.42); color:#faf5ea; background:transparent; }
    .btn-light:hover{ background:rgba(250,245,234,.16); }
    .btn-sm{ padding:.6rem 1.15rem; font-size:13.5px; }
    .btn-block{ width:100%; }

    /* ══ status strip ══ */
    .statusbar{ background:var(--g800); color:var(--g100);
      font-size:12.5px; font-weight:600; letter-spacing:.05em; }
    .statusbar div{ max-width:var(--maxw); margin-inline:auto; padding:.7rem var(--gutter);
      display:flex; align-items:center; justify-content:center; gap:.15rem .7rem; flex-wrap:wrap; text-align:center; }
    @media (max-width:720px){
      .statusbar{ font-size:11.5px; }
      .statusbar em{ display:none; }
      .statusbar div{ gap:.1rem .5rem; }
    }
    .pip{ width:7px; height:7px; border-radius:999px; background:var(--a400); flex:none;
      animation:blink 2.4s ease-in-out infinite; }
    @keyframes blink{ 0%,100%{opacity:1} 50%{opacity:.35} }
    .statusbar b{ font-weight:600; }
    .statusbar em{ font-style:normal; opacity:.55; }

    /* ══ masthead ══ */
    .mast{ position:sticky; top:0; z-index:60; background:var(--bg);
      border-bottom:1px solid var(--divider); transition:background .25s,border-color .25s; }
    .mast.is-over{ background:transparent; border-color:transparent; }
    .mast__in{ max-width:var(--maxw); margin-inline:auto; padding:.85rem var(--gutter);
      display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
    .brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; flex:none; }
    .brand img{ width:42px; height:42px; border-radius:999px; }
    .brand span{ font-family:var(--head); font-size:15px; letter-spacing:.13em; white-space:nowrap; }
    .mast.is-over .brand span,.mast.is-over .navlinks a{ color:#faf5ea; }
    .navlinks{ display:none; gap:1.75rem; font-size:14px; font-weight:600; }
    .navlinks a{ text-decoration:none; color:var(--text); transition:color .18s; white-space:nowrap; }
    .navlinks a:hover{ color:var(--a700); }
    .mast.is-over .navlinks a:hover{ color:var(--a300); }
    @media (min-width:1060px){ .navlinks{ display:flex; } }
    .mast__cta{ display:flex; align-items:center; gap:.65rem; flex:none; }
    .burger{ display:flex; flex-direction:column; gap:5px; padding:.45rem; background:none; border:0; cursor:pointer; }
    .burger span{ width:22px; height:2px; background:var(--text); border-radius:2px;
      transition:transform .3s,opacity .2s; }
    .mast.is-over .burger span{ background:#faf5ea; }
    .burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
    .burger.is-open span:nth-child(2){ opacity:0; }
    .burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
    @media (min-width:1060px){ .burger{ display:none; } }
    /* Below the desktop nav breakpoint the wordmark + CTA + burger cannot all fit.
       The CTA is dropped (the fixed bottom bar and the drawer both carry it). */
    @media (max-width:1059px){
      .mast__in{ gap:.75rem; }
      .brand{ flex:1 1 auto; min-width:0; }
      .brand img{ width:34px; height:34px; }
      .brand span{ font-size:12.5px; letter-spacing:.09em; overflow:hidden; text-overflow:ellipsis; }
      .mast__cta .btn{ display:none; }
    }
    @media (max-width:380px){ .brand span{ font-size:11.5px; letter-spacing:.06em; } }
    .drawer{ display:none; background:var(--bg); border-top:1px solid var(--divider); }
    .drawer.is-open{ display:block; }
    .drawer ul{ list-style:none; margin:0; padding:.5rem var(--gutter) 1.25rem; }
    .drawer li+li{ border-top:1px solid var(--divider); }
    .drawer a{ display:block; padding:.85rem 0; text-decoration:none; font-weight:600; color:var(--text); }
    @media (min-width:1060px){ .drawer{ display:none!important; } }

    /* ══ hero (1b full-bleed) ══ */
    .hero{ position:relative; margin-top:calc(-1 * var(--mastH, 4.4rem)); background:var(--g900); isolation:isolate; }
    .hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
      filter:saturate(.72) contrast(.94) brightness(.8); z-index:-2; }
    .hero__scrim{ position:absolute; inset:0; z-index:-1;
      background:linear-gradient(to top, rgba(24,22,18,.9) 0%, rgba(24,22,18,.36) 48%, rgba(24,22,18,.62) 100%); }
    .hero__in{ max-width:var(--maxw); margin-inline:auto;
      padding:calc(var(--mastH, 4.4rem) + clamp(1.5rem,7vw,6.5rem)) var(--gutter) clamp(2.5rem,7vw,5rem);
      min-height:clamp(30rem,82vh,46rem); display:flex; flex-direction:column; justify-content:flex-end; }
    .tagpill{ display:inline-flex; align-items:center; border-radius:999px; padding:.4rem .95rem;
      font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
      background:var(--g200); color:var(--g800); margin-bottom:1.1rem; width:fit-content; }
    .hero h1{ font-size:clamp(2.9rem,7.6vw,5.6rem); color:#faf5ea; margin-bottom:1rem; max-width:16ch; }
    .hero h1 em{ font-style:normal; color:var(--a300); display:block; }
    .hero__lede{ font-size:clamp(1.05rem,1.5vw,1.28rem); color:rgba(250,245,234,.85);
      max-width:50ch; margin-bottom:1.9rem; }
    .capture{ display:flex; gap:.6rem; flex-wrap:wrap; max-width:34rem; }
    .capture input{ flex:1 1 14rem; min-width:0; border-radius:999px; padding:.95rem 1.35rem;
      font:inherit; font-size:15px; background:rgba(250,245,234,.95); border:1px solid transparent;
      color:var(--text); }
    .capture input::placeholder{ color:var(--n600); }
    .capture input:focus{ outline:2px solid var(--a400); outline-offset:1px; }
    .hero__fine{ font-size:13px; color:rgba(250,245,234,.62); margin-top:.85rem; }

    /* stat bar at hero base (1b) */
    .statbar{ display:grid; grid-template-columns:repeat(2,1fr); background:var(--bg);
      border-top:6px solid var(--accent); position:relative; }
    @media (min-width:820px){ .statbar{ grid-template-columns:repeat(4,1fr); } }
    .statbar div{ padding:1.1rem clamp(1rem,2.5vw,1.75rem); border-right:1px solid var(--divider);
      border-bottom:1px solid var(--divider); }
    @media (min-width:820px){ .statbar div{ border-bottom:0; } .statbar div:last-child{ border-right:0; } }
    .statbar b{ display:block; font-family:var(--head); font-weight:400;
      font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.1; }
    .statbar span{ font-size:13px; color:var(--n700); }

    /* ══ section heads ══ */
    .head{ display:grid; gap:1rem; margin-bottom:clamp(2rem,4vw,3rem); align-items:end; }
    @media (min-width:860px){ .head{ grid-template-columns:1.15fr .85fr; } }
    .head h2{ font-size:clamp(2rem,4.4vw,3.25rem); }
    .head p{ color:var(--n800); }
    .band--green .head p{ color:var(--g300); }

    /* ══ cards ══ */
    .card{ background:var(--n100); border:1px solid var(--divider); border-radius:var(--r-xl);
      padding:clamp(1.75rem,3vw,2.4rem); }
    .card--dark{ background:var(--g800); color:var(--g100); border-color:transparent;
      box-shadow:var(--sh-lg); position:relative; }

    /* ══ pricing ══ */
    .tiers{ display:grid; gap:1.5rem; }
    @media (min-width:860px){ .tiers{ grid-template-columns:1fr 1fr; } }
    .tier__top{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
    .tier__top h3{ font-size:clamp(1.6rem,2.6vw,2rem); }
    .tier__amt{ font-family:var(--head); font-size:clamp(2rem,3.6vw,2.6rem); line-height:1; }
    .tier__for{ font-size:14.5px; color:var(--n700); margin-top:.4rem; }
    .card--dark .tier__for{ color:var(--g300); }
    .flag{ position:absolute; top:-.85rem; left:clamp(1.75rem,3vw,2.4rem); background:var(--accent);
      color:var(--bg); border-radius:999px; padding:.35rem 1rem; font-size:11.5px; font-weight:700;
      letter-spacing:.06em; text-transform:uppercase; }
    .capbar{ height:13px; border-radius:999px; background:var(--n300); overflow:hidden; margin:1.5rem 0 .55rem; }
    .card--dark .capbar{ background:var(--g900); }
    .capbar i{ display:block; height:100%; border-radius:999px; background:var(--g500); }
    .card--dark .capbar i{ background:var(--a400); }
    .caprow{ display:flex; justify-content:space-between; font-size:12.5px; color:var(--n700); }
    .card--dark .caprow{ color:var(--g300); }
    .ticks{ display:grid; gap:.65rem; margin:1.6rem 0 1.9rem; font-size:15px; }
    .ticks div{ display:flex; gap:.6rem; }
    .ticks i{ color:var(--g600); font-style:normal; font-weight:800; }
    .card--dark .ticks i{ color:var(--a400); }

    /* ══ sizer ══ */
    .sizer{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
    @media (min-width:900px){ .sizer{ grid-template-columns:1fr 1fr; } }
    .qlabel{ font-size:15px; font-weight:700; margin-bottom:.9rem; }
    .counter{ display:flex; align-items:center; gap:1.1rem; }
    .counter button{ width:3.2rem; height:3.2rem; border-radius:999px; border:1px solid var(--divider);
      background:transparent; font:400 1.5rem/1 var(--body); color:var(--text); cursor:pointer;
      transition:background .18s; }
    .counter button:hover{ background:rgba(32,30,29,.07); }
    .counter output{ font-family:var(--head); font-size:3.1rem; min-width:2.4ch; text-align:center; line-height:1; }
    .choices{ display:grid; gap:.6rem; max-width:26rem; }
    .choice{ display:block; width:100%; text-align:left; cursor:pointer; padding:.9rem 1.25rem;
      border-radius:var(--r-md); border:1px solid var(--divider); background:transparent;
      font-family:var(--body); color:var(--text); transition:border-color .18s,background .18s; }
    .choice:hover{ border-color:var(--n500); }
    .choice[aria-pressed="true"]{ border:2px solid var(--accent); background:var(--a100);
      padding:calc(.9rem - 1px) calc(1.25rem - 1px); }
    .choice b{ display:block; font-size:15.5px; font-weight:700; }
    .choice span{ display:block; font-size:13px; opacity:.72; }

    .verdict{ background:var(--g800); color:var(--g100); border-radius:var(--r-xl);
      padding:clamp(1.75rem,3vw,2.4rem); box-shadow:var(--sh-lg); }
    .verdict__k{ font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--g300); }
    .verdict__lbs{ font-family:var(--head); font-size:clamp(2.8rem,6vw,3.6rem); color:#fff; line-height:1; margin:.3rem 0 .1rem; }
    .verdict__sub{ font-size:15px; color:var(--g200); }
    .gauge{ height:13px; border-radius:999px; background:var(--g900); overflow:hidden; margin:1.5rem 0 .5rem; }
    .gauge i{ display:block; height:100%; border-radius:999px; background:var(--a400); transition:width .35s ease; }
    .gscale{ display:flex; justify-content:space-between; font-size:12.5px; color:var(--g400); }
    .verdict__rec{ margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--g700); }
    .verdict__rec h3{ font-size:1.5rem; color:#fff; margin-bottom:.55rem; }
    .verdict__rec p{ font-size:14.5px; color:var(--g200); margin-bottom:1.4rem; }

    /* ══ split ══ */
    .split{ display:grid; gap:1.5rem; align-items:center; margin-top:clamp(2.5rem,5vw,3.5rem);
      padding-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--divider); }
    @media (min-width:860px){ .split{ grid-template-columns:1.1fr .9fr; gap:3rem; } }
    .split h3{ font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:.7rem; }
    .split p{ color:var(--n800); font-size:15px; max-width:52ch; }
    .halves{ display:flex; gap:.75rem; }
    .half{ flex:1; border-radius:var(--r-lg); border:1px solid var(--divider); background:var(--n100);
      padding:1.4rem 1rem; text-align:center; }
    .half.is-open{ border-style:dashed; background:transparent; }
    .half small{ display:block; font-size:11.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--n700); }
    .half b{ display:block; font-family:var(--head); font-size:1.7rem; margin:.35rem 0 .15rem; }
    .half u{ display:block; text-decoration:none; font-size:12.5px; color:var(--n700); }

    /* ══ cut list ══ */
    .cuts{ list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
    @media (min-width:760px){ .cuts{ grid-template-columns:1fr 1fr; gap:.75rem 1.5rem; } }
    .cuts li{ border-radius:var(--r-lg); border:1px solid var(--divider); background:var(--n100); }
    .cuts summary{ display:flex; align-items:center; gap:.85rem; cursor:pointer; list-style:none;
      padding:1.05rem 1.35rem; }
    .cuts summary::-webkit-details-marker{ display:none; }
    .cuts summary b{ font-family:var(--head); font-weight:400; font-size:1.25rem; }
    .cuts summary i{ margin-left:auto; font-style:normal; color:var(--accent); font-size:1.15rem;
      transition:transform .25s; }
    .cuts details[open] summary i{ transform:rotate(45deg); }
    .cuts p{ padding:0 1.35rem 1.2rem; font-size:14.5px; color:var(--n800); }
    .cuts p b{ color:var(--text); }

    /* ══ delivery lookup (2a) — ported from design_handoff_woodcock ══ */
    [hidden]{ display:none !important; }
    .visually-hidden{ position:absolute; width:1px; height:1px; margin:-1px; padding:0;
      overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

    .delivery{ background:var(--g900); color:var(--g100); padding:44px var(--gutter); }
    .delivery__in{ max-width:var(--maxw); margin-inline:auto;
      display:grid; grid-template-columns:1.02fr .98fr; gap:52px; align-items:start; }
    .delivery .kicker{ font-size:13px; font-weight:700; letter-spacing:.16em;
      color:var(--a400); margin:0 0 12px; }
    .delivery h2{ font-size:clamp(34px,4.2vw,52px); line-height:1.02; color:#fff;
      margin:0 0 14px; max-width:17ch; }
    .delivery .lede{ font-size:17px; line-height:1.6; color:var(--g200); margin:0 0 24px; max-width:46ch; }

    #town-search{ width:100%; font-family:var(--body); font-size:17px; padding:16px 24px;
      border:1px solid transparent; border-radius:999px; background:var(--g100);
      color:var(--text); margin-bottom:8px; white-space:nowrap; }
    #town-search::placeholder{ color:var(--n600); }

    .delivery .meta{ display:flex; align-items:center; justify-content:space-between;
      gap:20px; flex-wrap:wrap; padding:0 4px 10px; }
    .delivery .meta span{ font-size:14px; color:var(--g400); }
    #toggle-all{ cursor:pointer; border:0; background:transparent; padding:2px 0;
      font-family:var(--head); font-size:15px; color:var(--a400); white-space:nowrap; }
    #toggle-all:hover{ color:var(--a300); }

    #rows{ display:grid; gap:2px; }
    #rows button{ display:flex; align-items:center; justify-content:space-between; gap:16px;
      width:100%; text-align:left; cursor:pointer; border:0; background:transparent;
      border-bottom:1px solid var(--g800); padding:12px 4px; font-family:var(--body); color:var(--g100); }
    #rows button:hover{ background:rgba(240,250,225,.05); }
    #rows .name{ font-size:17px; font-weight:600; }
    #rows .mi{ font-size:15px; white-space:nowrap; color:var(--g400); }
    #rows .mi.far{ color:var(--a400); }

    #cloud{ display:flex; flex-wrap:wrap; gap:7px; }
    #cloud button{ cursor:pointer; border:1px solid var(--g700); background:var(--g800);
      color:var(--g100); border-radius:999px; padding:7px 14px; font-family:var(--body);
      font-size:14px; font-weight:600; white-space:nowrap; }
    #cloud button:hover{ background:var(--g700); border-color:var(--g500); }
    #cloud button[aria-pressed="true"]{ background:var(--accent); border-color:var(--accent); color:var(--bg); }

    #no-match{ font-size:16px; line-height:1.6; color:var(--g300); margin:18px 0 0; }
    #no-match a{ color:var(--a300); }

    .answer{ background:var(--g800); border-radius:28px; padding:32px 34px; }
    .answer .label{ font-size:12px; font-weight:700; letter-spacing:.1em; color:var(--g400); margin-bottom:10px; }
    .answer .town{ font-family:var(--head); font-size:42px; line-height:1.02; color:#fff; }
    .answer .sub{ font-size:15px; color:var(--g300); margin-top:6px; }
    .track-head{ display:flex; align-items:baseline; justify-content:space-between;
      gap:12px; margin:24px 0 11px; }
    .track-head .from{ font-size:15px; color:var(--g300); }
    .track-head .to{ font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--g400); }
    .track{ height:9px; border-radius:999px; background:var(--g900); overflow:hidden; margin:0 0 22px; }
    .track i{ display:block; height:100%; border-radius:999px; background:var(--g500);
      transition:width .25s ease, background .25s ease; }
    .track i.far{ background:var(--accent); }
    .answer p{ font-size:16px; line-height:1.6; color:var(--g200); margin:0 0 20px; }
    .answer .btn{ display:flex; align-items:center; justify-content:center; white-space:nowrap;
      font-family:var(--head); font-size:15px; padding:15px 24px; border-radius:999px; border:0;
      background:var(--accent); color:var(--bg); text-decoration:none; cursor:pointer; width:100%; }
    .answer .btn:hover{ background:#b2622d; color:var(--bg); }
    .answer .call{ display:block; text-align:center; font-size:14px; color:var(--g300);
      text-decoration:none; margin-top:10px; }
    .answer .call:hover{ color:var(--g100); }

    @media (max-width:900px){
      .delivery{ padding-top:36px; }
      .delivery__in{ grid-template-columns:1fr; gap:32px; }
      .answer{ order:-1; }
      #rows button, .answer .btn{ min-height:48px; }
    }

    /* ══ towns ══ */
    .towns{ list-style:none; margin:1.5rem 0 0; padding:0;
      display:grid; grid-template-columns:repeat(2,1fr); gap:.4rem 1.5rem; }
    @media (min-width:760px){ .towns{ grid-template-columns:repeat(3,1fr); } }
    .towns li{ display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0;
      border-bottom:1px solid var(--divider); font-size:14px; }
    .band--green .towns li{ border-color:var(--g700); }
    .towns span{ color:var(--n600); }
    .band--green .towns b{ color:var(--g100); }
    .band--green .towns span{ color:var(--g400); }

    /* ══ arch photos (1a/1c signature) ══ */
    .arch{ border-radius:220px 220px var(--r-lg) var(--r-lg); overflow:hidden; }
    .arch img{ width:100%; height:100%; object-fit:cover; }
    .round{ border-radius:999px; overflow:hidden; border:7px solid var(--bg); box-shadow:var(--sh-md); }

    .duo{ display:grid; gap:1.25rem; }
    @media (min-width:760px){ .duo{ grid-template-columns:1fr 1fr; } }
    .duo img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-xl); }

    .trio{ display:grid; gap:1.25rem; grid-template-columns:repeat(2,1fr); }
    @media (min-width:980px){ .trio{ grid-template-columns:repeat(4,1fr); } }
    .trio img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--r-xl); }
    .trio figcaption{ margin-top:.6rem; font-size:13.5px; color:var(--n700); text-align:center; }

    /* ══ about ══ */
    .about{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
    @media (min-width:860px){ .about{ grid-template-columns:.85fr 1.15fr; } }
    .about__photo{ position:relative; }
    .about__photo .arch{ aspect-ratio:4/5; }
    .about__photo .round{ position:absolute; right:-14px; bottom:-14px; width:38%; aspect-ratio:1; }
    .about__photo .round img{ width:100%; height:100%; object-fit:cover; }
    .quote{ font-family:var(--head); font-size:clamp(1.5rem,2.8vw,2.2rem); line-height:1.2; margin-bottom:1.2rem; }
    .about p{ color:var(--n800); max-width:56ch; }
    .sig{ margin-top:1.5rem; font-size:14px; color:var(--n700); }
    .sig b{ display:block; font-family:var(--head); font-weight:400; font-size:1.2rem; color:var(--text); }

    /* ══ steps ══ */
    .steps{ display:grid; gap:1.25rem; }
    @media (min-width:900px){ .steps{ grid-template-columns:repeat(4,1fr); } }
    .step{ background:var(--n100); border:1px solid var(--divider); border-radius:var(--r-xl); padding:1.6rem 1.5rem; }
    .step b{ display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.4rem;
      border-radius:999px; background:var(--a100); color:var(--a700); font-family:var(--head);
      font-size:1.15rem; margin-bottom:.9rem; }
    .step h3{ font-size:1.2rem; margin-bottom:.4rem; }
    .step p{ font-size:14px; color:var(--n700); }

    /* ══ faq ══ */
    .faq{ display:grid; gap:.75rem; }
    .faq details{ background:var(--n100); border:1px solid var(--divider); border-radius:var(--r-lg); }
    .faq summary{ display:flex; align-items:center; gap:1rem; cursor:pointer; list-style:none;
      padding:1.15rem 1.5rem; font-family:var(--head); font-weight:400; font-size:1.15rem; }
    .faq summary::-webkit-details-marker{ display:none; }
    .faq summary i{ margin-left:auto; font-style:normal; color:var(--accent); transition:transform .25s; }
    .faq details[open] summary i{ transform:rotate(45deg); }
    .faq p{ padding:0 1.5rem 1.35rem; font-size:14.5px; color:var(--n800); }

    /* ══ wizard ══ */
    .wizcard{ background:var(--bg); color:var(--text); border-radius:var(--r-xl);
      padding:clamp(1.75rem,4vw,2.75rem); box-shadow:var(--sh-lg); }
    .bars{ display:flex; align-items:center; gap:.55rem; margin-bottom:1.9rem; }
    .bars i{ flex:1; height:6px; border-radius:999px; background:var(--n300); }
    .bars i.is-on{ background:var(--accent); }
    .bars span{ font-size:12.5px; font-weight:700; color:var(--n700); white-space:nowrap; }
    .wizstep[hidden]{ display:none; }
    .wizstep h3{ font-size:clamp(1.6rem,3.2vw,2.35rem); margin-bottom:.5rem; }
    .wizstep>p{ color:var(--n800); font-size:15px; margin-bottom:1.6rem; }
    .grid2{ display:grid; gap:1rem; }
    @media (min-width:640px){ .grid2{ grid-template-columns:1fr 1fr; } }
    .span2{ grid-column:1/-1; }
    .field label{ display:block; font-size:12.5px; color:var(--n700); margin-bottom:.35rem; font-weight:600; }
    .field .req{ color:var(--accent); }
    .field input,.field select,.field textarea{ width:100%; padding:.8rem 1.15rem; font:inherit; font-size:14.5px;
      background:var(--surface); color:var(--text); border:1px solid var(--divider); border-radius:999px; }
    .field textarea{ border-radius:var(--r-md); min-height:5.5rem; resize:vertical; }
    .field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--accent); }
    .sizepick{ display:grid; gap:.8rem; }
    .sizepick button{ display:flex; justify-content:space-between; align-items:center; gap:1.25rem; width:100%;
      text-align:left; cursor:pointer; padding:1.2rem 1.5rem; border-radius:var(--r-md);
      border:1px solid var(--divider); background:var(--n100); font-family:var(--body); color:var(--text);
      transition:border-color .18s,background .18s; }
    .sizepick button:hover{ border-color:var(--n500); }
    .sizepick button[aria-pressed="true"]{ border:2px solid var(--accent); background:var(--a100);
      padding:calc(1.2rem - 1px) calc(1.5rem - 1px); }
    .sizepick b{ display:block; font-family:var(--head); font-weight:400; font-size:1.4rem; }
    .sizepick small{ display:block; font-size:13.5px; opacity:.75; margin-top:.1rem; }
    .sizepick .amt{ font-family:var(--head); font-size:1.5rem; white-space:nowrap; }
    .seg{ display:inline-flex; gap:.25rem; padding:.28rem; border-radius:999px; background:var(--n200);
      margin-bottom:1.5rem; }
    .seg button{ cursor:pointer; border:0; background:transparent; border-radius:999px;
      font-family:var(--head); font-size:14.5px; color:var(--n700); padding:.65rem 1.35rem; transition:background .18s,color .18s; }
    .seg button[aria-pressed="true"]{ background:var(--accent); color:var(--bg); }
    .maxcut{ background:var(--g100); border:1px solid var(--g300); border-radius:var(--r-md);
      padding:1.4rem 1.5rem; margin-bottom:1.6rem; }
    .maxcut b{ display:block; font-family:var(--head); font-weight:400; font-size:1.25rem; margin-bottom:.45rem; }
    .maxcut p{ font-size:14.5px; color:var(--g900); }
    .wiznav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
      border-top:1px solid var(--divider); padding-top:1.5rem; margin-top:1.9rem; }
    .wiznav .alt{ font-size:13.5px; color:var(--n700); }
    .wiznav .alt a{ color:var(--a700); font-weight:700; }
    .status{ margin-top:1.35rem; font-weight:700; color:var(--a700); }

    /* ══ closing ══ */
    .closing{ text-align:center; }
    .closing h2{ font-size:clamp(2.2rem,5.5vw,4rem); color:#fff; margin-bottom:.9rem; }
    .closing p{ color:var(--g300); margin-bottom:2rem; }
    .closing div{ display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }

    /* ══ footer ══ */
    .foot{ background:var(--surface); padding-block:clamp(2.5rem,5vw,4rem); }
    .verse{ font-family:var(--head); font-weight:400; font-size:clamp(1.05rem,1.7vw,1.3rem); line-height:1.45;
      color:var(--n800); max-width:58ch; margin-inline:auto; text-align:center; }
    .verse+p{ text-align:center; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
      color:var(--n600); margin-top:.9rem; }
    .seo{ font-size:13.5px; color:var(--n700); max-width:76ch; margin:clamp(2rem,4vw,3rem) auto 0; text-align:center; }
    .seo h2{ font-size:1.2rem; margin-bottom:.6rem; color:var(--text); }
    .footmeta{ margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--divider);
      display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; justify-content:space-between;
      font-size:13.5px; color:var(--n700); }
    .footmeta a{ color:var(--n900); text-decoration:none; font-weight:600; }
    .footmeta a:hover{ color:var(--a700); }

    /* ══ mobile bar ══ */
    .mbar{ position:fixed; left:0; right:0; bottom:0; z-index:70; display:flex; gap:.5rem;
      background:var(--g900); padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); }
    .mbar a{ flex:1; text-align:center; padding:.85rem; border-radius:999px; font-family:var(--head);
      font-size:14.5px; text-decoration:none; color:var(--bg); background:var(--accent); }
    .mbar a.ghost{ flex:0 0 auto; padding-inline:1.4rem; background:transparent; color:#faf5ea;
      border:1px solid rgba(250,245,234,.4); }
    @media (min-width:640px){ .mbar{ display:none; } }
    @media (max-width:639px){ body{ padding-bottom:5rem; } }

    .rise{ opacity:0; transform:translateY(14px); }
    .rise.is-in{ opacity:1; transform:none; transition:opacity .7s ease-out,transform .7s ease-out; }
    @media (prefers-reduced-motion:reduce){ .rise{ opacity:1; transform:none; } }

/* ══ multi-page additions ══════════════════════════════════ */

/* wayfinding tiles on the landing page */
.tiles{ display:grid; gap:1.25rem; }
@media (min-width:760px){ .tiles{ grid-template-columns:repeat(3,1fr); } }
.tile{ display:block; text-decoration:none; color:inherit; background:var(--n100);
  border:1px solid var(--divider); border-radius:var(--r-xl); overflow:hidden;
  transition:box-shadow .2s ease, transform .2s ease; }
.tile:hover{ box-shadow:var(--sh-md); transform:translateY(-2px); }
.tile img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.tile__body{ padding:1.2rem 1.35rem 1.45rem; }
.tile h3{ font-size:1.35rem; margin-bottom:.35rem; }
.tile p{ font-size:14.5px; color:var(--n700); }
.tile span{ display:inline-block; margin-top:.75rem; color:var(--a700); font-weight:700; font-size:14px; }

/* compact price snapshot */
.snap{ display:grid; gap:1rem; }
@media (min-width:640px){ .snap{ grid-template-columns:1fr 1fr; } }
.snapcard{ border:1px solid var(--divider); border-radius:var(--r-xl);
  padding:1.5rem 1.6rem; background:var(--n100); }
.snapcard .row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.snapcard h3{ font-size:1.5rem; }
.snapcard .amt{ font-family:var(--head); font-size:1.9rem; line-height:1; }
.snapcard p{ font-size:14.5px; color:var(--n700); margin-top:.45rem; }

/* cross-links between pages */
.xlinks{ display:flex; flex-wrap:wrap; gap:.6rem;
  margin-top:clamp(2rem,4vw,3rem); padding-top:1.5rem; border-top:1px solid var(--divider); }
.xlinks a{ display:inline-flex; align-items:center; gap:.4rem; text-decoration:none;
  border:1px solid var(--divider); border-radius:999px; padding:.6rem 1.15rem;
  font-size:14px; font-weight:600; color:var(--text); transition:background .18s; }
.xlinks a:hover{ background:rgba(32,30,29,.06); }
.band--green .xlinks{ border-top-color:var(--g700); }
.band--green .xlinks a{ border-color:var(--g700); color:var(--g100); }
.band--green .xlinks a:hover{ background:rgba(240,250,225,.08); }

/* freezer capacity reference table */
.captable{ width:100%; border-collapse:collapse; font-size:15px; margin-top:1.5rem; }
.captable th{ text-align:left; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--n700); padding:.6rem .5rem; border-bottom:1px solid var(--divider); font-weight:700; }
.captable td{ padding:.7rem .5rem; border-bottom:1px solid var(--divider); }
.captable td:first-child{ font-weight:600; }

/* current page marker in nav */
.navlinks a[aria-current="page"]{ color:var(--a700); }
.mast.is-over .navlinks a[aria-current="page"]{ color:var(--a300); }
.drawer a[aria-current="page"]{ color:var(--a700); }

/* interior pages: lead heading promoted to h1, same scale as the h2 it replaces */
.head h1{ font-size:clamp(2rem,4.4vw,3.25rem); }
.delivery h1{ font-size:clamp(34px,4.2vw,52px); line-height:1.02; color:#fff; margin:0 0 14px; max-width:17ch; }
