/* Pinecrest Structures — site styles
   One light theme on purpose (see AUDIT D3). Tokens first, then base, layout, components, pages. */
/* Brand fonts, self-hosted (SIL OFL; subsets of Marcellus and Public Sans in assets/fonts) */
@font-face{font-family:"Marcellus";src:url(../fonts/marcellus.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(../fonts/publicsans-var.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
:root{
  color-scheme:light;
  --cream:#f7f4ec;--cream-2:#efe9dc;--paper:#fffdf8;--ink:#17201a;--muted:#55625a;--line:#e1d9c9;--line-2:#cfc5b1;
  --forest:#1b3225;--forest-2:#234030;--forest-3:#2f5240;--forest-ink:#e9f0ea;--forest-muted:#b7c9bc;
  --sage:#8fa295;--sage-soft:#e2e8de;--clay:#8c5f3c;--gold:#c9952f;--focus:#c98a2b;--danger:#9b2c24;--ok:#2f6b45;
  --serif:"Marcellus",Georgia,"Times New Roman",serif;--sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r-sm:10px;--r:16px;--r-lg:24px;--shadow-1:0 1px 2px rgba(23,32,26,.06),0 4px 14px rgba(23,32,26,.06);--shadow-2:0 18px 44px rgba(23,32,26,.14);
  --wrap:1200px;--gutter:clamp(16px,4vw,32px);--header-h:72px;--mobile-bar:0px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.62 var(--sans);padding-bottom:var(--mobile-bar)}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:var(--forest-3);text-underline-offset:.18em}
a:hover{color:var(--forest)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:.005em;margin:0 0 .5em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.2rem,5.2vw,4rem)}
h2{font-size:clamp(1.75rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.2rem,2vw,1.45rem)}
h4{font-size:1.1rem}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
strong{font-weight:700}
small,.small{font-size:.86rem}
.muted{color:var(--muted)}
.lede{font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--muted);max-width:62ch}
.eyebrow{display:block;font:800 .72rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--forest-3);margin:0 0 .9rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--forest);color:#fff;padding:.7rem 1rem;border-radius:var(--r-sm);font-weight:700;text-decoration:none}
.skip-link:focus{top:12px;color:#fff}

/* layout */
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section--tight{padding:clamp(2rem,4vw,3rem) 0}
.section--tint{background:var(--cream-2)}
.section--paper{background:var(--paper);border-block:1px solid var(--line)}
.section--forest{background:var(--forest);color:var(--forest-ink)}
.section--forest h2,.section--forest h3{color:#fff}
.section--forest .eyebrow{color:var(--forest-muted)}
.section--forest .muted,.section--forest .lede{color:var(--forest-muted)}
.section-head{max-width:720px;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.section-head--center{margin-inline:auto;text-align:center}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;max-width:none;flex-wrap:wrap}
.section-head--row>div{max-width:680px}
.grid{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.split--top{align-items:start}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.35rem;border-radius:999px;border:1.5px solid transparent;font:700 .97rem/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background:var(--forest);color:#fff}
.btn--primary:hover{background:var(--forest-3);color:#fff}
.btn--light{background:#fff;color:var(--forest);border-color:#fff}
.btn--light:hover{background:var(--cream);color:var(--forest)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{border-color:var(--forest);color:var(--forest)}
.btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghost-light:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.btn--sm{min-height:40px;padding:.5rem 1rem;font-size:.9rem}
.btn--block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:.65rem}
.link-arrow{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.link-arrow:hover{text-decoration:underline}

/* top bar + header */
.topbar{background:var(--forest);color:var(--forest-ink);font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px}
.topbar ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.topbar li{display:flex;align-items:center;gap:.4rem}
.topbar svg{width:14px;height:14px;opacity:.8}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
.topbar a:hover{text-decoration:underline;color:#fff}
.topbar li.tb-mob{display:none}
@media (max-width:860px){.topbar li.tb-desk{display:none}.topbar li.tb-mob{display:flex}.topbar ul{gap:1rem}}
@media (max-width:520px){.topbar .tb-right{display:none}.topbar .wrap{justify-content:center}}
.site-header{position:sticky;top:0;z-index:80;background:rgba(247,244,236,.96);border-bottom:1px solid var(--line)}
/* solid header: a see-through one turned gray over dark sections (3D builder panel, CTAs) */
.site-header{background:#f7f4ec}
.header-inner{display:flex;align-items:center;gap:1.25rem;min-height:var(--header-h)}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1;margin-right:auto}
.brand-name{font-family:var(--serif);font-size:1.5rem;letter-spacing:.06em}
.brand-sub{font-size:.62rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.brand:hover{color:var(--ink)}
.main-nav>ul{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.main-nav a,.nav-drop-btn{display:flex;align-items:center;gap:.3rem;padding:.55rem .7rem;border-radius:999px;color:var(--ink);text-decoration:none;font:600 .92rem/1 var(--sans);background:none;border:0;cursor:pointer;min-height:44px}
.main-nav a:hover,.nav-drop-btn:hover{background:var(--cream-2);color:var(--forest)}
.main-nav a[aria-current="page"],.nav-drop-btn.is-current{color:var(--forest);box-shadow:inset 0 -2px 0 var(--forest);border-radius:0}
.nav-drop{position:relative}
.nav-drop-btn svg{width:14px;height:14px;transition:transform .15s}
.nav-drop-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-panel{position:absolute;top:calc(100% + 8px);left:-12px;width:min(560px,90vw);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-2);padding:.6rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem}
.nav-panel[hidden]{display:none}
.nav-panel a{display:block;padding:.7rem .8rem;border-radius:var(--r-sm);min-height:0}
.nav-panel a strong{display:block;font-size:.95rem}
.nav-panel a span{display:block;font-weight:400;font-size:.82rem;color:var(--muted);margin-top:.2rem;line-height:1.35}
.nav-panel a:hover{background:var(--cream)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--ink);line-height:1.15;font-size:.78rem;padding:.2rem .4rem}
.header-phone strong{font-size:1rem}
.header-phone:hover{color:var(--forest)}
.menu-toggle{display:none;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .95rem;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);font:700 .92rem var(--sans);color:var(--ink);cursor:pointer}
.menu-toggle svg{width:18px;height:18px}
.mobile-nav{display:none}
@media (max-width:1180px){.header-phone{display:none}}
@media (max-width:1199px){
  .main-nav{display:none}.menu-toggle{display:inline-flex}
  .mobile-nav{display:block;position:fixed;inset:0;z-index:120;background:var(--paper);overflow-y:auto;padding:0 var(--gutter) 2rem;overscroll-behavior:contain}
  .mobile-nav[hidden]{display:none}
}
@media (max-width:520px){.header-actions .btn--quote{display:none}.brand-name{font-size:1.3rem}}
.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;min-height:var(--header-h);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper)}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav li a{display:flex;justify-content:space-between;align-items:center;padding:1rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:700;font-size:1.05rem;min-height:52px}
.mobile-nav li a[aria-current="page"]{color:var(--forest-3)}
.mobile-nav .mn-group{font:800 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:1.4rem .2rem .3rem}
.mobile-nav .mn-sub a{font-weight:600;font-size:1rem;padding-left:.9rem}
.mobile-nav .btn-row{margin-top:1.4rem}
.mobile-nav .btn-row .btn{flex:1 1 140px}

/* mobile action bar */
.mobile-bar{display:none}
@media (max-width:760px){
  :root{--mobile-bar:calc(68px + env(safe-area-inset-bottom))}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom));background:rgba(255,253,248,.97);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(23,32,26,.08)}
  .mobile-bar .btn{min-height:50px;padding:.5rem .6rem;font-size:.92rem}
  body.has-own-bar{--mobile-bar:0px}
  body.has-own-bar .mobile-bar{display:none}
  .mobile-bar{transition:transform .15s}body.is-typing .mobile-bar{transform:translateY(110%)}
}

/* breadcrumb */
.breadcrumb{font-size:.84rem;color:var(--muted);padding:1.1rem 0 0}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0}
.breadcrumb li+li::before{content:"/";margin-right:.3rem;color:var(--line-2)}
.breadcrumb a{color:var(--muted)}

/* hero */
.hero{padding:clamp(1rem,2.5vw,1.8rem) 0 0}
.hero-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--forest);box-shadow:var(--shadow-2);min-height:clamp(420px,58vw,620px);display:flex;align-items:flex-end}
.hero-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 55%}
.hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,28,20,.86) 0%,rgba(15,28,20,.62) 42%,rgba(15,28,20,.08) 75%)}
.hero-copy{position:relative;z-index:1;color:#fff;max-width:640px;padding:clamp(1.5rem,5vw,3.6rem)}
.hero-copy h1{color:#fff}
.hero-copy .eyebrow{color:#cfe0d3}
.hero-copy p{color:#e1ebe3;font-size:clamp(1rem,1.5vw,1.12rem);max-width:54ch}
.hero-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;list-style:none;padding:1.1rem 0 0;margin:1.5rem 0 0;border-top:1px solid rgba(255,255,255,.22);font-size:.86rem;color:#d4e2d7}
.hero-facts strong{display:block;color:#fff;font-size:1rem}
@media (max-width:700px){
  .hero-frame{display:block;min-height:0;background:var(--forest)}
  .hero-frame>img{position:relative;height:clamp(220px,60vw,340px)}
  .hero-frame::after{display:none}
  .hero-copy{padding:1.4rem 1.2rem 1.6rem}
}
.page-hero{padding:clamp(1.4rem,3vw,2.4rem) 0 clamp(2rem,4vw,3rem)}
.page-hero .split{align-items:center}
.page-hero-media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);background:var(--cream-2);aspect-ratio:4/3}
.page-hero-media img{width:100%;height:100%;object-fit:cover}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin:1rem 0 1.2rem}
.price-line .from{font-family:var(--serif);font-size:1.9rem;color:var(--forest)}
.price-line .rto{font-size:.92rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0 0 1.2rem;padding:0}
.chips li{border:1px solid var(--line-2);border-radius:999px;padding:.28rem .75rem;font-size:.82rem;font-weight:600;color:var(--muted);background:var(--paper)}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:clamp(1.2rem,3vw,2rem) 0}
.trust li{display:flex;gap:.85rem;align-items:flex-start;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.trust .ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--sage-soft);display:grid;place-items:center;color:var(--forest)}
.trust .ic svg{width:22px;height:22px}
.trust strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.08rem;line-height:1.2}
.trust span{font-size:.86rem;color:var(--muted);line-height:1.4;display:block;margin-top:.2rem}
@media (max-width:960px){.trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.trust{grid-template-columns:minmax(0,1fr)}}

/* cards */
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);min-width:0}
.card-media{aspect-ratio:4/3;background:var(--cream-2);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
@media (prefers-reduced-motion:no-preference){.card:hover .card-media img{transform:scale(1.03)}}
.card-body{display:flex;flex-direction:column;gap:.15rem;padding:1.25rem 1.3rem 1.35rem;flex:1}
.card-body h3{margin-bottom:.25rem}
.card-body h3 a{color:inherit;text-decoration:none}
.card-body h3 a::after{content:"";position:absolute;inset:0}
.card--link{position:relative}
.card--link .btn,.card--link .card-actions a{position:relative;z-index:1}
.card-price{font:800 .74rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--forest-3);margin-bottom:.35rem}
.card-body p{color:var(--muted);font-size:.95rem;margin-bottom:.8rem}
.card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.4rem}
.card--text{padding:1.4rem 1.4rem 1.5rem;gap:.3rem}
.card--text .card-ic{width:44px;height:44px;border-radius:12px;background:var(--sage-soft);color:var(--forest);display:grid;place-items:center;margin-bottom:.6rem}
.card--text .card-ic svg{width:22px;height:22px}
.badge{display:inline-block;background:var(--gold);color:#1e1606;font:800 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.35rem .55rem;border-radius:6px;margin-left:.4rem;vertical-align:middle}

/* feature lists */
.checks{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.55rem}
.checks li{position:relative;padding-left:1.7rem;line-height:1.45}
.checks li::before{content:"";position:absolute;left:0;top:.18em;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--sage-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%231b3225' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.section--forest .checks li::before{background-color:rgba(255,255,255,.14);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.checks--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.5rem}
@media (max-width:600px){.checks--2{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,3vw,1.9rem);box-shadow:var(--shadow-1);min-width:0}
.panel h3{margin-bottom:.7rem}
.panel--forest{background:var(--forest);border-color:var(--forest);color:var(--forest-ink)}
.panel--forest h2,.panel--forest h3{color:#fff}
.note{font-size:.86rem;color:var(--muted);border-left:3px solid var(--sage);padding:.2rem 0 .2rem .8rem;margin:1rem 0}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;counter-increment:step;position:relative}
.steps li::before{content:counter(step,decimal-leading-zero);display:block;font:800 .74rem var(--sans);letter-spacing:.16em;color:var(--forest-3);margin-bottom:.7rem}
.steps h3{font-size:1.2rem;margin-bottom:.4rem}
.steps p{font-size:.93rem;color:var(--muted);margin:0}
@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:minmax(0,1fr)}}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
.stats li{padding:1rem 0;border-top:2px solid var(--forest)}
.stats strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3vw,2rem);color:var(--forest);line-height:1.1}
.stats span{font-size:.88rem;color:var(--muted)}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* tables */
.table-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
table.data{width:100%;border-collapse:collapse;font-size:.95rem}
table.data caption{text-align:left;padding:.9rem 1rem;font-weight:700;border-bottom:1px solid var(--line)}
table.data th,table.data td{padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.data thead th{background:var(--cream-2);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}
table.data tbody tr:last-child td,table.data tbody tr:last-child th{border-bottom:0}
table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.data tbody th{font-weight:700}
table.data .btn{min-height:36px;padding:.35rem .8rem;font-size:.84rem}
@media (max-width:640px){
  table.data.stack thead{display:none}
  table.data.stack,table.data.stack tbody,table.data.stack tr,table.data.stack td,table.data.stack th{display:block;width:100%}
  table.data.stack tr{padding:.7rem 1rem;border-bottom:1px solid var(--line)}
  table.data.stack tbody tr:last-child{border-bottom:0}
  table.data.stack td,table.data.stack th{border:0;padding:.18rem 0;text-align:left!important;display:flex;justify-content:space-between;gap:1rem}
  table.data.stack td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:.84rem;font-weight:600}
  table.data.stack tbody th{font-size:1.02rem;padding-bottom:.3rem}
}
.size-group+.size-group{margin-top:1.4rem}
.size-group h3{font-family:var(--sans);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}

/* accordions (details) */
.faq{display:grid;gap:.6rem}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.faq summary{list-style:none;cursor:pointer;padding:1rem 3rem 1rem 1.2rem;font-weight:700;position:relative;min-height:52px;display:flex;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:1.2rem;top:50%;width:10px;height:10px;border-right:2px solid var(--forest);border-bottom:2px solid var(--forest);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq .faq-body{padding:0 1.2rem 1.1rem;color:var(--muted)}
.faq .faq-body p:last-child{margin:0}

/* in-page sub nav */
.subnav{position:sticky;top:var(--header-h);z-index:40;background:rgba(247,244,236,.96);border-bottom:1px solid var(--line)}
.subnav ul{display:flex;gap:.3rem;list-style:none;margin:0;padding:.5rem 0;overflow-x:auto;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:block;white-space:nowrap;padding:.45rem .85rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.88rem;color:var(--ink)}
.subnav a:hover{background:var(--cream-2)}

/* gallery */
.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.4rem}
.filter-btn{min-height:42px;padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);font:600 .9rem var(--sans);color:var(--ink);cursor:pointer}
.filter-btn[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.gallery{grid-template-columns:minmax(0,1fr)}}
.gallery figure{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gallery button{display:block;width:100%;padding:0;border:0;background:var(--cream-2);cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}
.gallery button img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{padding:.8rem 1rem .95rem}
.gallery figcaption strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.1rem}
.gallery figcaption span{font-size:.88rem;color:var(--muted)}
.gallery li[hidden]{display:none}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh;width:100%}
.lightbox::backdrop{background:rgba(10,18,13,.86)}
.lightbox-inner{position:relative;background:var(--paper);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;max-height:92vh}
.lightbox img{width:100%;max-height:calc(92vh - 70px);object-fit:contain;background:#0d1610}
.lightbox-bar{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem}
.lightbox-bar p{margin:0 auto 0 .2rem;font-weight:600;font-size:.95rem}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;color:var(--ink)}
.icon-btn svg{width:20px;height:20px}
.photo-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.photo-strip a{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:var(--cream-2)}
.photo-strip img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.media-pair{display:grid;grid-template-columns:2fr 1fr;gap:.8rem}
.media-pair>*{border-radius:var(--r);overflow:hidden;background:var(--cream-2)}
.media-pair img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.media-pair{grid-template-columns:minmax(0,1fr)}}

/* forms */
.form{display:grid;gap:1rem}
.field{display:grid;gap:.35rem;min-width:0}
.field label,.field legend{font-weight:700;font-size:.92rem}
.field .hint{font-size:.82rem;color:var(--muted);font-weight:400}
.req{color:var(--danger)}
input,select,textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1.5px solid var(--line-2);border-radius:var(--r-sm);padding:.8rem .9rem;min-height:50px}
textarea{min-height:110px;resize:vertical}
/* checkboxes and radio buttons: one size everywhere, never stretched by the text-field rule above */
input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:none;flex:none;accent-color:var(--forest);cursor:pointer;vertical-align:middle}
input[type=checkbox]:focus,input[type=radio]:focus{outline:none}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.check{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;cursor:pointer;font-weight:600;font-size:.95rem;line-height:1.35}
input[type=file]{min-height:0;padding:.55rem;background:var(--paper);cursor:pointer;font-size:.9rem}
input[type=file]::file-selector-button{font:600 .9rem var(--sans);color:var(--ink);border:1.5px solid var(--line-2);background:#fff;border-radius:var(--r-sm);padding:.5rem .85rem;margin-right:.75rem;cursor:pointer}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%2355625a' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:18px;padding-right:2.6rem}
input:focus,select:focus,textarea:focus{border-color:var(--forest-3);outline:3px solid rgba(201,138,43,.35);outline-offset:0}
[aria-invalid="true"]{border-color:var(--danger)}
.field-error{color:var(--danger);font-size:.84rem;font-weight:600}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:560px){.field-row{grid-template-columns:minmax(0,1fr)}}
fieldset{border:0;margin:0;padding:0;min-width:0}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.choice{position:relative}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.55rem .7rem;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-weight:600;font-size:.92rem;cursor:pointer}
.choice input:checked+span{border-color:var(--forest);background:var(--sage-soft);color:var(--forest)}
.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.alert{border-radius:var(--r);padding:1rem 1.1rem;border:1px solid var(--line);background:var(--paper)}
.alert--info{border-color:#c9d6c9;background:#f1f6f0}
.alert--ok{border-color:#a9cdb4;background:#eef7f0}
.alert--error{border-color:#e2b3ad;background:#fbefed;color:#5e1a14}
.attached-design{border:1.5px dashed var(--sage);border-radius:var(--r);padding:1rem;background:#f4f7f2}
.attached-design pre{white-space:pre-wrap;font:400 .86rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:.5rem 0 0;max-height:260px;overflow:auto}
.handoff{display:grid;gap:.8rem}
.handoff textarea{font:400 .88rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:180px;background:var(--cream)}

/* swatches */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.9rem;list-style:none;margin:0;padding:0}
.swatches li{display:flex;flex-direction:column;gap:.45rem}
.swatches .chip{aspect-ratio:1.4/1;border-radius:12px;border:1px solid rgba(0,0,0,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.swatches strong{font-size:.9rem;line-height:1.2}
.swatches span{font-size:.78rem;color:var(--muted);margin-top:-.3rem}

/* calculator */
.calc{display:grid;gap:1.1rem}
.calc-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;list-style:none;margin:0;padding:0}
.calc-out li{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-sm);padding:.8rem;text-align:center}
.calc-out strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--forest);white-space:nowrap}.calc-out strong small{font-family:var(--sans);font-size:.62em;color:var(--muted);margin-left:.1em}
.calc-out span{display:block;font-size:.8rem;line-height:1.35;color:var(--muted)}
@media (max-width:520px){.calc-out{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:389px){.calc-out li{padding:.7rem .5rem}.calc-out strong{font-size:1.2rem}}
.calc-total{font-size:.92rem;color:var(--muted);margin:0}

/* CTA band */
.cta-band{background:var(--forest);color:var(--forest-ink);border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,3rem);display:flex;justify-content:space-between;align-items:center;gap:1.5rem 2.5rem;flex-wrap:wrap}
.cta-band h2{color:#fff;margin-bottom:.3rem}
.cta-band p{color:var(--forest-muted);margin:0;max-width:56ch}

/* builder promo */
.promo-media{border-radius:var(--r-lg);overflow:hidden;background:#dfe7df;aspect-ratio:16/10;box-shadow:var(--shadow-2)}
.promo-media img{width:100%;height:100%;object-fit:cover}

/* footer */
.site-footer{background:#132219;color:#c9d6cc;padding:clamp(2.5rem,6vw,4rem) 0 1.5rem;font-size:.93rem}
.site-footer a{color:#e6eee8;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:minmax(0,1fr)}}
.footer-brand .brand-name{color:#fff}
.footer-brand p{margin:.9rem 0 1.1rem;max-width:36ch}
.site-footer h2{font:800 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#93a898;margin:0 0 .9rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.footer-legal{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;font-size:.82rem;color:#93a898}
.footer-legal p{margin:0;max-width:80ch}

/* 404 */
.notfound{text-align:center;padding:clamp(4rem,10vw,7rem) 0}
.notfound .btn-row{justify-content:center}

/* print (quote and builder summaries) */
@media print{
  .topbar,.site-header,.mobile-bar,.site-footer,.no-print,.mobile-nav{display:none!important}
  body{background:#fff;padding:0}
  .section{padding:1rem 0}
}
.site-footer ul a{display:inline-block;padding:.35rem 0}
.link-arrow svg{width:18px;height:18px;flex:none}
.site-footer .btn--light{color:var(--forest)}
.site-footer .btn--light:hover{color:var(--forest);text-decoration:none}
/* logo lockup */
.brand{flex-direction:row;align-items:center;gap:.7rem}
.brand-logo{height:48px;width:auto;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand--footer{display:flex;color:#fff}
.brand--footer .brand-sub{color:#93a898}
.brand--footer .brand-logo{height:64px}
@media (max-width:520px){.brand-logo{height:46px}.brand{gap:.5rem}.brand-name{font-size:1.3rem}}
@media (max-width:360px){.brand-sub{display:none}}
.main-nav a,.nav-drop-btn,.header-phone,.brand-sub,.brand-name{white-space:nowrap}
@media (max-width:1360px){.header-phone{display:none}}
.b-head{padding:1rem 0 .8rem}
/* price pair on cards */
.price-pair{display:flex;flex-direction:column;gap:.1rem;margin:.2rem 0 .8rem}
.price-pair strong{font-family:var(--serif);font-weight:400;font-size:1.45rem;color:var(--forest);line-height:1.15}
.price-pair span{font-size:.92rem;color:var(--muted);font-weight:600}
/* homepage category row */
.cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
@media (max-width:1100px){.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.cat-grid{grid-template-columns:minmax(0,1fr)}}
.cat-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.cat-card:hover{color:var(--ink);box-shadow:var(--shadow-2)}
@media (prefers-reduced-motion:no-preference){.cat-card:hover{transform:translateY(-3px)}}
.cat-media{aspect-ratio:4/3;background:var(--cream-2);overflow:hidden}
.cat-media img{width:100%;height:100%;object-fit:cover}
.cat-body{padding:.9rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.15rem}
.cat-body strong{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.2}
.cat-body span{font-size:.86rem;color:var(--muted)}
.cat-body em{font-style:normal;font-weight:700;font-size:.84rem;color:var(--forest-3);margin-top:.35rem}
/* homepage financing examples */
.fin-ex{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}
.fin-ex li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.1rem 1rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:1rem 1.2rem}
.fin-ex span{font-weight:700;color:#fff}
.fin-ex strong{grid-row:span 2;font-family:var(--serif);font-weight:400;font-size:1.7rem;color:#fff}
.fin-ex small{color:var(--forest-muted)}
/* homepage delivery band */
.del-band{display:flex;align-items:center;gap:1.2rem 1.6rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem 1.6rem}
.del-band .card-ic{width:52px;height:52px;border-radius:14px;background:var(--sage-soft);display:grid;place-items:center;color:var(--forest);flex:none}
.del-band .card-ic svg{width:26px;height:26px}
.del-band>div:nth-child(2){flex:1;min-width:240px}
.del-band h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:0 0 .2rem}
.del-band p{margin:0}
@media (max-width:480px){.brand-sub{display:none}}
/* owner section (About) */
.owner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.owner-photo{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-2)}
.owner-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.owner-photo figcaption{background:var(--paper);padding:.7rem 1rem;font-size:.88rem;font-weight:700;color:var(--forest)}
.owner h3{margin:1.2rem 0 .4rem}
@media (max-width:860px){.owner{grid-template-columns:minmax(0,1fr)}.owner-photo{max-width:440px}}
/* any inline icon defaults to icon size */
.mobile-nav li a svg{width:18px;height:18px;flex:none;color:var(--muted)}

/* early payoff callout (Financing) */
.section--tight{padding-block:clamp(1.5rem,3vw,2.4rem)}
.payoff{display:flex;gap:1.2rem;align-items:flex-start;background:var(--forest);color:#fff;border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,2rem) clamp(1.3rem,3vw,2.2rem);box-shadow:var(--shadow-2)}
.payoff h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 .35rem}
.payoff p{margin:0;color:rgba(255,255,255,.88);font-size:1.06rem;max-width:62ch}
.payoff strong{color:#fff}
.payoff-ic{flex:none;width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.payoff-ic svg{width:28px;height:28px}
@media (max-width:520px){.payoff{flex-direction:column}}
.calc-payoff{margin:.8rem 0 0;padding:.7rem .9rem;border-radius:10px;background:var(--sage-soft);color:var(--forest);font-size:.92rem}
/* value / best-seller callouts */
.badge--value{background:var(--forest);color:#fff}
.cat-card{position:relative}
.cat-badge{position:absolute;top:.7rem;left:.7rem;background:var(--gold);color:#1e1606;font:800 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:.42rem .6rem;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.cat-badge--value{background:var(--forest);color:#fff}
.hero-budget{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hero-budget:hover{color:#fff}
.hero-budget svg{width:16px;height:16px}
.mn-deal{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.1rem .6rem;margin:.2rem 0 .6rem;padding:.8rem 1rem;border-radius:14px;background:var(--forest);color:#fff;text-decoration:none}
.mn-deal strong{font-size:1.05rem}.mn-deal span{grid-column:1;font-size:.85rem;opacity:.85}.mn-deal svg{grid-row:1/3;grid-column:2;width:18px;height:18px}
.topbar li.tb-desk a{color:#fff;font-weight:700}
.visit{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,2.2rem);box-shadow:var(--shadow-1)}
.visit h2{margin-top:.2rem}
.visit-addr{display:flex;gap:.6rem;align-items:flex-start;font-size:1.15rem;font-weight:700;margin:1rem 0}
.visit-addr svg{width:22px;height:22px;flex:none;color:var(--forest);margin-top:.15rem}

/* =====================================================================
   v3: established-business layer (trust row, mega nav, builds, how it works,
   why Pinecrest, built to last, delivery + lot, final CTA, ZIP check)
   ===================================================================== */
.topbar li.tb-wide{display:flex}
.topbar li.tb-wide a{display:flex;align-items:center;gap:.4rem;font-weight:600}
@media (max-width:1180px){.topbar li.tb-wide{display:none}}

/* mega panel */
.nav-panel{width:min(760px,92vw);grid-template-columns:1.55fr 1fr;padding:.7rem;gap:.7rem}
.np-links{display:grid;grid-template-columns:1fr 1fr;gap:.15rem}
.nav-panel .np-links a{display:flex;align-items:center;gap:.7rem;padding:.55rem .6rem}
.nav-panel .np-links img,.np-ic{width:64px;height:48px;border-radius:8px;object-fit:cover;flex:none;background:var(--cream-2)}
.np-ic{display:grid;place-items:center;color:var(--forest)}
.np-ic svg{width:22px;height:22px}
.np-t{display:block;min-width:0}
.np-side{background:var(--cream-2);border-radius:var(--r);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.np-side strong{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.2}
.np-side p{font-size:.86rem;color:var(--muted);margin:0 0 .3rem;line-height:1.45}
.nav-panel .np-side .btn{display:inline-flex;padding:.5rem 1rem;min-height:40px;border-radius:999px}
.nav-panel .np-side .btn--primary{color:#fff}
.nav-panel .np-side .btn--primary:hover{background:var(--forest-3)}
.np-call{margin-top:auto!important;padding-top:.4rem}
.nav-panel .np-call a{display:inline;padding:0;font-weight:700;color:var(--forest)}
.mn-lot{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem;color:var(--muted);margin:1.2rem 0 0}
.mn-lot svg{width:18px;height:18px;flex:none;margin-top:.15rem;color:var(--forest)}

/* trust row */
.trust-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.trust-row li{display:flex;gap:.75rem;align-items:center;min-width:0}
.trust-row svg{width:38px;height:38px;padding:8px;flex:none;border-radius:10px;background:var(--sage-soft);color:var(--forest)}
.trust-row strong{display:block;font-size:.95rem;line-height:1.25}
.trust-row span{display:block;font-size:.84rem;color:var(--muted);line-height:1.35}
@media (max-width:960px){.trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}}
@media (max-width:420px){.trust-row{grid-template-columns:minmax(0,1fr)}}
.section--trust{padding:clamp(1.1rem,2.5vw,1.6rem) 0 0}
.trust-row--hero{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.4rem;box-shadow:var(--shadow-1)}
.footer-trust{background:var(--paper);border-top:1px solid var(--line);padding:1.5rem 0}

/* footer */
.footer-addr{font-style:normal;line-height:1.55;margin:0 0 .7rem;color:#e6eee8}
.footer-addr strong{color:#fff}
.site-footer ul a svg{width:16px;height:16px;display:inline-block;vertical-align:-3px;margin-right:.4rem;opacity:.85}
.ft-dim{color:#93a898;font-size:.85rem}
.ft-area{margin:.8rem 0 0;line-height:1.5}

/* categories */
.cat-more{margin:1.2rem 0 0;color:var(--muted);font-size:.95rem;display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center}
@media (max-width:700px){.cat-grid>:last-child:nth-child(odd){grid-column:span 2}.cat-grid>:last-child:nth-child(odd) .cat-media{aspect-ratio:16/8}}
@media (max-width:420px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.cat-body{padding:.7rem .75rem .85rem}.cat-body strong{font-size:1.05rem}.cat-body span{font-size:.8rem}.cat-body em{font-size:.78rem}.cat-badge{top:.45rem;left:.45rem;font-size:.58rem;padding:.35rem .45rem}}

/* why pinecrest */
.why{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.why-owner{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1)}
.why-owner img{width:100%;aspect-ratio:4/4.3;object-fit:cover;object-position:50% 18%}
.why-owner figcaption{padding:1.1rem 1.3rem 1.3rem;display:grid;gap:.5rem}
.why-owner blockquote{margin:0;font-family:var(--serif);font-size:1.15rem;line-height:1.4;color:var(--ink)}
.why-owner figcaption>span{font-weight:700;font-size:.88rem;color:var(--forest-3)}
.why-list{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem;counter-reset:why}
.why-list li{counter-increment:why;padding-top:.9rem;border-top:2px solid var(--forest)}
.why-list h3{font-size:1.2rem;margin:0 0 .35rem}
.why-list p{margin:0;color:var(--muted);font-size:.95rem}
@media (max-width:860px){.why{grid-template-columns:minmax(0,1fr)}.why-owner{display:grid;grid-template-columns:140px 1fr;align-items:center}.why-owner img{height:100%;aspect-ratio:auto;min-height:190px}.why-owner blockquote{font-size:1.02rem}}
@media (max-width:560px){.why-list{grid-template-columns:minmax(0,1fr);gap:1.1rem}.why-owner{grid-template-columns:110px 1fr}.why-owner figcaption{padding:.9rem 1rem}}

/* rent-to-own band */
.fin-note{font-size:.85rem;color:var(--forest-muted);margin:.8rem 0 0}
.section--forest .lede+.checks{margin-top:1rem}

/* real builds */
.builds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
@media (max-width:960px){.builds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.builds{grid-template-columns:minmax(0,1fr)}}
.build{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);min-width:0}
.build-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream-2)}
.build-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
@media (prefers-reduced-motion:no-preference){.build:hover .build-media img{transform:scale(1.035)}}
.build-body{padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;flex:1}
.build-label{font:800 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--forest-3);margin-bottom:.4rem}
.build-body h3{margin:0 0 .3rem;font-size:1.3rem}
.build-body p{color:var(--muted);font-size:.93rem;margin:0 0 .8rem}
.build-feat{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0 0 1rem;padding:0}
.build-feat li{font-size:.78rem;font-weight:600;color:var(--ink);background:var(--cream-2);border-radius:999px;padding:.25rem .65rem}
.build .link-arrow{margin-top:auto}

/* how it works */
.hw{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);position:relative}
.hw li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem 1.3rem 1.5rem;box-shadow:var(--shadow-1)}
.hw-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.hw-n{width:40px;height:40px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font:700 1.05rem var(--sans)}
.hw-ic svg{width:28px;height:28px;color:var(--forest-3)}
.hw h3{font-size:1.25rem;margin:0 0 .45rem}
.hw p{margin:0;font-size:.93rem;color:var(--muted)}
.hw li:not(:last-child)::after{content:"";position:absolute;top:2.65rem;right:calc(-1 * clamp(1rem,2vw,1.6rem));width:clamp(1rem,2vw,1.6rem);border-top:2px dashed var(--line-2)}
.hw-cta{justify-content:center;margin-top:clamp(1.4rem,3vw,2.2rem)}
@media (max-width:960px){.hw{grid-template-columns:repeat(2,minmax(0,1fr))}.hw li::after{display:none}}
@media (max-width:560px){.hw{grid-template-columns:minmax(0,1fr);gap:.8rem}.hw li{display:grid;grid-template-columns:40px 1fr;gap:0 1rem;padding:1.1rem}.hw-top{grid-row:span 2;margin:0;align-self:start}.hw-ic{display:none}.hw h3{font-size:1.15rem;align-self:center}.hw p{grid-column:2}}

/* built to last */
.btl{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.btl-media{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-2);background:var(--cream-2)}
.btl-media img{width:100%;aspect-ratio:4/3.4;object-fit:cover}
.btl-media figcaption{background:var(--paper);padding:.7rem 1rem;font-size:.85rem;color:var(--muted)}
@media (max-width:860px){.btl{grid-template-columns:minmax(0,1fr)}}
.warranty{display:flex;gap:1rem;align-items:flex-start;background:var(--paper);border:1.5px solid var(--forest);border-radius:var(--r);padding:1.1rem 1.2rem;margin-top:.6rem}
.warranty-ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--forest);color:#fff;display:grid;place-items:center}
.warranty-ic svg{width:24px;height:24px}
.warranty strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.25;margin-bottom:.25rem}
.warranty p{margin:0 0 .3rem;color:var(--muted);font-size:.92rem}
.warranty p:last-child{margin:0}

/* delivery + lot */
.dv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,2vw,1.5rem);align-items:stretch}
@media (max-width:860px){.dv{grid-template-columns:minmax(0,1fr)}}
.dv h3{display:flex;align-items:center;gap:.55rem}
.dv h3 svg{width:24px;height:24px;color:var(--forest);flex:none}
.dv-del{display:flex;flex-direction:column}
.dv-del .zipw{margin:.4rem 0 1rem}
.dv-lot{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column}
.dv-lot-media{aspect-ratio:16/8;overflow:hidden;background:var(--cream-2)}
.dv-lot-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.dv-lot-body{padding:clamp(1.2rem,3vw,1.7rem)}
.dv-lot .visit-addr{margin:.3rem 0 .8rem}

/* ZIP check */
.zipw label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.35rem}
.zipw-row{display:flex;gap:.5rem}
.zipw-row input{max-width:200px}
.zipw-row .btn{min-height:50px}
.zip-out{margin:.5rem 0 0;font-size:.92rem;line-height:1.45}
.zip-out:empty{display:none}
.zip-out{padding:.6rem .8rem;border-radius:var(--r-sm);background:var(--cream-2);color:var(--ink)}
.zip-out.is-free{background:#e6f1e8;color:#1f4d31}
.zip-out.is-far{background:#fbf1e3;color:#6a4310}
.zip-out strong{font-weight:700}

/* final CTA */
.final-cta{background:var(--forest);color:var(--forest-ink);border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:1.5rem 3rem;align-items:center;box-shadow:var(--shadow-2)}
.final-cta h2{color:#fff;margin-bottom:.4rem}
.final-cta p{color:var(--forest-muted);margin:0;max-width:58ch}
.final-points{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.92rem;color:#fff;font-weight:600}
.final-points li{display:flex;align-items:center;gap:.4rem}
.final-points svg{width:18px;height:18px;color:#bfe0c8}
.final-actions{display:grid;gap:.6rem}
.final-actions .btn{width:100%}
.final-actions p{text-align:center;font-size:.92rem}
.final-actions p a{color:#fff;font-weight:700}
@media (max-width:760px){.final-cta{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .builds{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) .6rem;scrollbar-width:none}
  .builds::-webkit-scrollbar{display:none}
  .build{flex:0 0 82%;scroll-snap-align:start}
  .build-body p{font-size:.9rem}
}
.builds-hint{display:none;font-size:.82rem;color:var(--muted);margin:.4rem 0 0}
@media (max-width:600px){.builds-hint{display:block}}
@media (max-width:420px){.trust-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem .7rem}.trust-row svg{width:32px;height:32px;padding:6px}.trust-row strong{font-size:.86rem}.trust-row span{font-size:.76rem}.trust-row li{align-items:flex-start}}
.is-home .footer-trust{display:none}
.builds-hint svg{width:14px;height:14px;display:inline;vertical-align:-2px}

/* product pages */
.product-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}
@media (max-width:860px){.product-hero{grid-template-columns:minmax(0,1fr)}.product-hero .pg{order:-1}}
.hero-assure{list-style:none;margin:1.3rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-size:.86rem;font-weight:600;color:var(--muted)}
.hero-assure li{display:flex;align-items:center;gap:.4rem}
.hero-assure svg{width:17px;height:17px;color:var(--forest-3)}
.pg{display:grid;gap:.6rem;min-width:0}
.pg-main{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-2);aspect-ratio:4/3;box-shadow:var(--shadow-2)}
.pg-main img{width:100%;height:100%;object-fit:cover}
.pg-count{position:absolute;right:.7rem;bottom:.7rem;background:rgba(15,28,20,.78);color:#fff;font-size:.8rem;font-weight:700;padding:.4rem .7rem;border-radius:999px;text-decoration:none}
.pg-count:hover{color:#fff;background:rgba(15,28,20,.92)}
.pg-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;list-style:none;margin:0;padding:0}
.pg-thumbs button{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--cream-2);cursor:pointer;aspect-ratio:4/3}
.pg-thumbs button[aria-pressed="true"]{border-color:var(--forest)}
.pg-thumbs img{width:100%;height:100%;object-fit:cover}
.glance-wrap{padding-top:0}
.glance{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem 1.4rem;box-shadow:var(--shadow-1);display:grid;grid-template-columns:auto 1fr;gap:1rem 1.6rem;align-items:center}
.glance-h{font:800 .74rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--forest-3);margin:0;writing-mode:horizontal-tb}
.glance dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem 1.4rem;margin:0}
.glance dt{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.glance dd{margin:.15rem 0 0;font-weight:700;font-size:.95rem;line-height:1.35}
@media (max-width:960px){.glance{grid-template-columns:minmax(0,1fr)}.glance dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.size-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.2rem}
.size-tabs button{min-height:42px;padding:.45rem 1rem;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);font:700 .9rem var(--sans);color:var(--ink);cursor:pointer}
.size-tabs button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.feat-media{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);background:var(--cream-2)}
.feat-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.opt-details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg)}
.opt-details>summary{list-style:none;cursor:pointer;padding:1.1rem 3rem 1.1rem 1.3rem;font-weight:700;position:relative}
.opt-details>summary::-webkit-details-marker{display:none}
.opt-details>summary::after{content:"";position:absolute;right:1.3rem;top:50%;width:10px;height:10px;border-right:2px solid var(--forest);border-bottom:2px solid var(--forest);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.opt-details[open]>summary::after{transform:translateY(-30%) rotate(225deg)}
.opt-details>.table-wrap{margin:0 1rem;border-radius:var(--r-sm)}
.opt-details>.note{margin:1rem 1.3rem 1.2rem}
.panel .zipw{margin:1rem 0}
/* quote form */
.q-more{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--cream)}
.q-more>summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;font-size:.92rem}
.q-more[open]>summary{border-bottom:1px solid var(--line)}
.q-more .field-row{padding:1rem}
.q-assure{display:flex;gap:.45rem;align-items:center;justify-content:center;font-size:.86rem;color:var(--muted);margin:-.3rem 0 0}
.q-assure svg{width:16px;height:16px;color:var(--ok)}
.side-owner{display:grid;grid-template-columns:72px 1fr;gap:.9rem;align-items:center}
.side-owner img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 15%}
.side-owner p{margin:0;color:var(--forest-muted);font-size:.9rem;line-height:1.45}
.side-owner strong{display:block;color:#fff}
.side-lot{display:flex;gap:.5rem;margin:1rem 0 0;font-size:.9rem;color:var(--forest-muted)}
.side-lot svg{width:18px;height:18px;flex:none;margin-top:.15rem}
.side-lot a{color:#fff}
.field .zip-out{margin-top:.2rem}
.help-panel{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}
.help-panel h3{margin:0 0 .3rem}.help-panel p{margin:0;max-width:60ch}
.field-row{align-items:start}
.main-nav .nav-panel .np-side .btn{display:inline-flex;align-items:center;justify-content:center;width:100%;gap:.45rem;font:700 .9rem/1.1 var(--sans);min-height:42px;border-radius:999px;box-shadow:none}
.main-nav .nav-panel .np-side .btn--primary{background:var(--forest);color:#fff;border:1.5px solid var(--forest)}
.main-nav .nav-panel .np-side .btn--primary:hover{background:var(--forest-3);color:#fff}
.main-nav .nav-panel .np-side .btn--ghost{background:var(--paper);color:var(--ink);border:1.5px solid var(--line-2)}
.main-nav .nav-panel .np-side .btn--ghost:hover{border-color:var(--forest);color:var(--forest)}
.main-nav .nav-panel .np-ic{display:grid;place-items:center}
.main-nav .nav-panel .np-ic svg{display:block}
.nav-panel{width:min(820px,92vw);grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr)}
.np-links,.np-side{min-width:0}
.nav-panel .np-links a{min-width:0}
.main-nav .nav-panel a,.main-nav .nav-panel span{white-space:normal}.nav-panel{width:min(880px,92vw)}
.header-inner{position:relative}.nav-drop{position:static}.nav-panel{left:50%;transform:translateX(-50%);top:calc(100% - 6px)}

/* =====================================================================
   v4 polish: rhythm, hierarchy, showcase, compact supporting sections,
   micro-interactions
   ===================================================================== */
.tb-dot{opacity:.55;margin:0 .35rem}
.topbar li.tb-desk strong{font-weight:800}
.topbar li.tb-mob{font-weight:600}

/* rhythm: big moments keep air, supporting sections stay quiet */
.section--compact{padding:clamp(2.2rem,4.5vw,3.6rem) 0}
.section--compact .section-head{margin-bottom:clamp(1.1rem,2vw,1.6rem)}
.section--compact h2{font-size:clamp(1.55rem,2.8vw,2.15rem)}
.section--feature{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
@media (max-width:640px){
  .section{padding:2.6rem 0}
  .section--compact{padding:2rem 0}
  .section--tight{padding:1.4rem 0}
  .section-head{margin-bottom:1.2rem}
  .section-head--row{gap:.6rem}
  h2{font-size:1.72rem}
  .section--compact h2{font-size:1.5rem}
  .lede{font-size:.98rem}
  .eyebrow{margin-bottom:.55rem;font-size:.68rem}
}

/* hero (mobile): photo shorter, facts compact */
@media (max-width:700px){
  .hero-frame>img{height:clamp(200px,52vw,280px)}
  .hero-copy{padding:1.2rem 1.1rem 1.3rem}
  .hero-copy h1{font-size:2rem;margin-bottom:.4rem}
  .hero-copy p{font-size:.97rem;margin-bottom:1rem}
  .hero-copy .btn-row .btn{flex:1 1 150px}
  .hero-facts{margin-top:1.1rem;padding-top:.9rem;gap:.4rem 1rem;font-size:.8rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-facts strong{font-size:.9rem}
}

/* trust row on the homepage: quieter */
.trust-row--hero{padding:1rem 1.3rem}
@media (max-width:640px){.section--trust{padding-top:.9rem}.trust-row--hero{padding:.9rem;gap:.8rem .7rem}}

/* categories: tighter mobile cards */
@media (max-width:700px){.cat-grid{gap:.7rem}.cat-body{padding:.7rem .8rem .85rem}.cat-body strong{font-size:1.05rem}.cat-body em{margin-top:.2rem}.cat-more{font-size:.88rem;margin-top:.9rem}}

/* why pinecrest: medium moment */
.why-links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:0}
.why-links svg{width:16px;height:16px}
.why-list{margin-bottom:1.2rem}
@media (max-width:640px){.why-list li{padding-top:.7rem}.why-list h3{font-size:1.08rem}.why-list p{font-size:.9rem}.why{gap:1.2rem}.why-owner img{min-height:170px}}

/* rent-to-own: medium */
@media (max-width:640px){.section--forest .checks{gap:.4rem;font-size:.93rem}.fin-ex li{padding:.75rem 1rem}.fin-ex strong{font-size:1.4rem}}

/* designer feature: big moment */
.section--feature .promo-media{box-shadow:0 24px 60px rgba(23,32,26,.18)}
@media (max-width:640px){.section--feature .btn-row .btn{flex:1 1 100%}.section--feature .checks{font-size:.93rem;gap:.4rem}}

/* how it works: compact */
.section--compact .hw li{padding:1.1rem 1.1rem 1.2rem;box-shadow:none}
.section--compact .hw-top{margin-bottom:.7rem}
.section--compact .hw-n{width:34px;height:34px;font-size:.95rem}
.section--compact .hw-ic svg{width:24px;height:24px}
.section--compact .hw h3{font-size:1.1rem}
.section--compact .hw p{font-size:.9rem}
.section--compact .hw li:not(:last-child)::after{top:2.2rem}
@media (max-width:560px){
  .section--compact .hw{gap:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
  .section--compact .hw li{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:.95rem 1rem}
  .section--compact .hw li:last-child{border-bottom:0}
  .section--compact .hw p{font-size:.87rem}
}

/* delivery: compact supporting band */
.dvc{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:1.5rem 2.5rem;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,2.2rem)}
.dvc h2{margin-bottom:.4rem}
.dvc-main .muted{margin-bottom:1rem;max-width:58ch}
.dvc-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;list-style:none;margin:0;padding:0}
.dvc-facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--forest);line-height:1.2}
.dvc-facts span{font-size:.84rem;color:var(--muted)}
.dvc-side{display:grid;gap:.8rem;align-content:start}
.dvc-side .zipw{background:var(--cream);border-radius:var(--r);padding:1rem}
.dvc-lot{display:flex;gap:.5rem;align-items:flex-start;margin:0;font-size:.9rem;color:var(--muted)}
.dvc-lot svg{width:18px;height:18px;flex:none;margin-top:.1rem;color:var(--forest)}
@media (max-width:860px){.dvc{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.dvc-facts{gap:.6rem 1.1rem}.dvc-facts strong{font-size:1rem}.zipw-row input{max-width:none}}

/* real builds showcase: photography leads */
.section--showcase{padding-bottom:clamp(2.6rem,5vw,4.5rem)}
.showcase{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:repeat(2,clamp(220px,22vw,300px));gap:clamp(.7rem,1.4vw,1rem)}
.sc-item{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-1);isolation:isolate}
.sc-0{grid-row:1/3}
.sc-1{grid-column:2/4}
.sc-media{position:absolute;inset:0;display:block}
.sc-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sc-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,14,0) 42%,rgba(10,20,14,.82) 100%);pointer-events:none;z-index:1}
.sc-item figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem 1.15rem 1.05rem;color:#fff;display:grid;gap:.15rem;pointer-events:none}
.sc-label{font:800 .66rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#cfe3d4}
.sc-item strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.15}
.sc-0 strong{font-size:clamp(1.35rem,2.2vw,1.85rem)}
.sc-text{font-size:.86rem;color:rgba(255,255,255,.86);line-height:1.4}
.sc-build{pointer-events:auto;justify-self:start;margin-top:.35rem;display:inline-flex;align-items:center;gap:.35rem;color:#fff;font-weight:700;font-size:.86rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}
.sc-build:hover{color:#fff;border-color:#fff}
.sc-build svg{width:15px;height:15px}
@media (hover:hover){.sc-item .sc-text,.sc-item .sc-build{opacity:.0;transform:translateY(6px);transition:opacity .25s,transform .25s}.sc-0 .sc-text,.sc-0 .sc-build{opacity:1;transform:none}.sc-item:hover .sc-text,.sc-item:hover .sc-build,.sc-item:focus-within .sc-text,.sc-item:focus-within .sc-build{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.sc-item:hover .sc-media img{transform:scale(1.04)}}
.sc-foot{display:flex;justify-content:center;margin-top:clamp(1rem,2vw,1.4rem)}
@media (max-width:860px){.showcase{grid-template-columns:1fr 1fr;grid-template-rows:clamp(260px,52vw,380px) clamp(180px,34vw,240px) clamp(180px,34vw,240px)}.sc-0{grid-row:auto;grid-column:1/3}.sc-1{grid-column:auto}}
@media (max-width:600px){
  .showcase{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.7rem;margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) .3rem;scrollbar-width:none}
  .showcase::-webkit-scrollbar{display:none}
  .sc-item{flex:0 0 86%;height:330px;scroll-snap-align:start}
  .sc-item .sc-text,.sc-item .sc-build{opacity:1!important;transform:none!important}
  .sc-foot .btn{width:100%}
}

/* built to last: medium, tighter on phones */
@media (max-width:640px){.btl-media img{aspect-ratio:16/10}.btl .checks--2{gap:.4rem;font-size:.93rem}.warranty{padding:.9rem 1rem}.warranty-ic{width:40px;height:40px}.warranty strong{font-size:1.08rem}}

/* final CTA: the conclusion */
.final-cta h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
@media (max-width:640px){.final-cta{padding:1.5rem 1.2rem}.final-points{gap:.35rem 1rem;font-size:.86rem}}

/* footer (mobile): two link columns, less scroll */
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.6rem 1rem}
  .footer-brand,.footer-grid>div:last-child{grid-column:1/-1}
  .site-footer ul{gap:.1rem}
  .site-footer ul a{padding:.45rem 0}
  .footer-legal{margin-top:1.6rem}
}

/* micro-interactions */
.btn{transition:background-color .15s,border-color .15s,color .15s,transform .12s,box-shadow .15s}
.btn:active{transform:translateY(1px) scale(.985)}
.btn--primary:hover{box-shadow:0 6px 16px rgba(27,50,37,.22)}
.link-arrow svg{transition:transform .15s}
.link-arrow:hover svg{transform:translateX(3px)}
@media (prefers-reduced-motion:no-preference){
  .mobile-nav:not([hidden]){animation:mnIn .22s cubic-bezier(.2,.7,.2,1)}
  .nav-panel:not([hidden]){animation:panelIn .16s ease-out}
  .faq details[open] .faq-body,.opt-details[open]>*:not(summary),.q-more[open]>*:not(summary){animation:fadeDown .2s ease-out}
  .zip-out:not(:empty){animation:fadeDown .2s ease-out}
}
@keyframes mnIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes panelIn{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq summary:hover,.opt-details>summary:hover,.q-more>summary:hover{color:var(--forest)}
input:hover,select:hover,textarea:hover{border-color:#bdb29b}
.field-error{display:flex;align-items:center;gap:.3rem}
[aria-invalid="true"]{background:#fffafa}
.is-valid{border-color:#8fb79b}
@media (max-width:440px){.hero-copy .btn-row .btn{flex:1 1 100%}}
@media (max-width:359px){.btn{white-space:normal;text-align:center;line-height:1.2}}
.visit--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 2.5rem;align-items:center}
.visit-view{background:var(--cream);border-radius:var(--r);padding:1.2rem 1.3rem}
.visit-view h3{margin:0 0 .3rem}
@media (max-width:760px){.visit--split{grid-template-columns:minmax(0,1fr)}}
.sc-foot{flex-direction:column;align-items:center;gap:.7rem}
.sc-foot p{margin:0;font-size:.92rem;color:var(--muted);text-align:center}
.prose{max-width:760px}
.prose h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin:1.8rem 0 .5rem}
.prose p{color:var(--ink);line-height:1.7}
@media (max-width:760px){.btn--sm,.size-tabs button,.filter-btn,.pg-thumbs button,.b-pills button{min-height:48px}.btn--sm{padding-block:.6rem}}
@media (max-width:760px){table.data .btn{min-height:48px;padding:.5rem 1rem}}
/* QA: standalone text links get a full-size tap area on touch screens */
@media (max-width:860px){.link-arrow,.sc-build,.pg-count{min-height:44px;display:inline-flex;align-items:center}}
/* Recent builds: captions always readable (no hover-only text, darker fade, soft shadow) */
.sc-item .sc-text,.sc-item .sc-build{opacity:1!important;transform:none!important}
.sc-item::after{background:linear-gradient(180deg,rgba(10,20,14,0) 30%,rgba(10,20,14,.55) 62%,rgba(10,20,14,.9) 100%)}
.sc-item figcaption{text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* mobile menu: every link lines up the same under its group label; page behind it doesn't scroll */
.mobile-nav li a,.mobile-nav .mn-sub a{padding-left:.2rem;font-weight:650;font-size:1.02rem}
body:has(.mobile-nav:not([hidden])){overflow:hidden}
@media (max-width:374px){.topbar{font-size:.72rem}.topbar ul{gap:.6rem}.topbar li{white-space:nowrap}}
@media (max-width:420px){table.data.stack td{flex-wrap:wrap;row-gap:0}table.data.stack td>.muted.small{flex-basis:100%;text-align:right}}
.ty-ref{font-size:1.02rem;background:var(--paper,#fffdf8);border:1px solid var(--line,#e1d9c9);border-radius:12px;padding:.7rem 1rem;display:inline-block;margin:.2rem 0 1rem}
/* ---------- Reserve page (optional refundable reservation) ---------- */
.res-ways{margin-top:1.6rem}
.res-split{align-items:start}
.res-sum{position:sticky;top:calc(var(--header-h) + 1rem)}
.res-what{font-weight:700;margin:0 0 .6rem;color:#fff}
.res-row{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.95rem;color:var(--forest-muted)}
.res-row b{color:#fff;font-weight:700;white-space:nowrap}
.res-row.res-grand{border-top:1px solid rgba(255,255,255,.18);margin-top:.25rem;padding-top:.5rem;font-size:1.05rem}
.res-row.res-grand span{color:#fff;font-weight:700}
.res-small{font-size:.84rem;line-height:1.45;color:var(--forest-muted);margin:.6rem 0 0}
.res-today{font-family:var(--serif);font-size:1.7rem;margin:0;color:#fff}.res-today small{display:block;font:500 .82rem/1.4 var(--sans,inherit);color:var(--forest-muted)}
.res-terms{border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem;margin:1.2rem 0 .8rem;background:var(--paper);max-height:300px;overflow:auto}
.res-terms h3{font-size:1.05rem;margin:0 0 .5rem}.res-terms ul{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.res-terms li{margin:0 0 .45rem}
.res-agree{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 1rem;font-size:.95rem;line-height:1.45;cursor:pointer}
.res-agree input{margin-top:.15rem}
.res-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.res-status h2{margin-top:.2rem}.res-num{font:700 1.6rem/1.2 var(--sans,inherit);letter-spacing:.04em;margin:.2rem 0 .8rem}
.res-next{padding-left:1.2rem;line-height:1.55}.res-next li{margin:0 0 .35rem}
.res-test{display:inline-block;background:#fdf1d8;color:#6b4a00;border-radius:999px;padding:.05rem .55rem;font-size:.72rem;letter-spacing:.04em;margin-left:.4rem;vertical-align:middle}
.res-status .res-small{color:var(--muted,#55625a)}
@media (max-width:900px){.res-sum{position:static}}
.res-est-m{display:none}
@media (max-width:900px){.res-est-m{display:block;margin-top:1.2rem;padding:1.1rem 1.15rem}.res-est-m h3{font-size:1.15rem;margin:0 0 .5rem;color:#fff}.res-sum #res-est,.res-sum #rs-h,.res-sum .res-small{display:none}}
.res-split--status{grid-template-columns:minmax(0,720px)!important}
.res-ways[hidden],.res-sum[hidden]{display:none!important}
.res-status:focus{outline:none}
/* ---------- Personalized checkout (/checkout/TOKEN) ---------- */
.ck-wrap{padding:1.6rem 0 3rem}
.ck-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.6rem;align-items:start}
.ck-main{min-width:0}
.ck-side{position:sticky;top:calc(var(--header-h, 70px) + 1rem)}
.ck-side h2{font-size:1.3rem;margin:0 0 .6rem}.ck-side hr{border:0;border-top:1px solid rgba(255,255,255,.15);margin:1rem 0}
.ck-side-b{color:#fff;font-weight:700;margin:0 0 .5rem}.ck-help{font-size:.88rem;color:var(--forest-muted);margin:0}.ck-help a{color:#fff}
.ck-head h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.2rem 0 .4rem}
.ck-panel{margin:0 0 1.2rem}.ck-panel h2{display:flex;align-items:center;gap:.6rem;font-size:1.4rem;margin:0 0 1rem}
.ck-panel h2:focus{outline:none}
.ck-n{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--forest);color:#fff;font:700 .95rem/1 var(--sans,inherit);flex:none}
.ck-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;list-style:none;padding:0;margin:1rem 0 1.2rem;counter-reset:ck}
.ck-steps li{counter-increment:ck;font-size:.8rem;font-weight:700;color:var(--muted,#55625a);border-top:4px solid var(--line);padding-top:.45rem}
.ck-steps li::before{content:counter(ck) ". "}
.ck-steps li.is-on{color:var(--forest);border-color:var(--forest)}.ck-steps li.is-done{color:var(--forest);border-color:var(--sage,#8fb59a)}
/* pay first, rental details after: progress after payment, delivery & setup, what's left after paying */
.ck-track{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;list-style:none;padding:0;margin:.8rem 0 1rem}
.ck-track li{font-size:.8rem;font-weight:700;line-height:1.25;color:var(--muted,#55625a);border-top:4px solid var(--line);padding-top:.45rem}
.ck-track li.is-done{color:var(--forest);border-color:var(--sage,#8fb59a)}.ck-track li.is-done::before{content:"✓ "}
.ck-track li.is-on{color:var(--forest);border-color:var(--forest)}
.ck-next-h{font-size:1.15rem;font-weight:800;color:var(--forest);margin:.2rem 0 0}
.ck-receipt{margin-top:1rem}
.ck-setupbox{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin:0 0 1rem;background:var(--cream,#faf7f0)}
.ck-setupbox .ck-h3{margin:0 0 .4rem}
.ck-setup-l{margin:0 0 .5rem;padding-left:1.1rem}.ck-setup-l li{margin:.2rem 0}
.ck-blocks summary{cursor:pointer;font-weight:700;color:var(--forest);padding:.35rem 0;min-height:44px;display:flex;align-items:center}
.ck-blocks p{margin:.2rem 0 .3rem;font-size:.92rem}
.ck-after{margin:.8rem 0 0;padding-top:.6rem;border-top:1px solid var(--line)}.ck-after-h{font-weight:800;margin:0 0 .25rem}.ck-after ol{margin:0;padding-left:1.2rem;font-size:.92rem}
.ck-paynote p{margin:0 0 .5rem}
.ck-charges{margin:.4rem 0 .6rem}
#ck-rental{margin-top:1rem}
.ck-bld-name{font-family:var(--serif);font-size:1.5rem;margin:0 0 .3rem}.ck-bld-desc{margin:0 0 .8rem;color:var(--muted,#55625a)}
.ck-lines{width:100%;border-collapse:collapse;margin:.6rem 0 1rem;font-size:.95rem}
.ck-lines td{padding:.45rem 0;border-bottom:1px solid var(--line)}.ck-lines .num{text-align:right;white-space:nowrap;padding-left:1rem}
.ck-disc{color:var(--ok);font-weight:700}
.ck-code{margin:1rem 0 .25rem}.ck-code-d summary{cursor:pointer;font-weight:700;color:var(--ink);padding:.35rem 0;width:max-content;max-width:100%}
.ck-code-row{display:flex;gap:.5rem;margin-top:.5rem;max-width:22rem}.ck-code-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.04em}
.ck-code-on{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between;background:var(--sage-soft);border-radius:var(--r-sm);padding:.7rem .9rem;margin:0}
.ck-code-x{background:none;border:0;padding:.25rem 0;font:inherit;font-weight:700;color:var(--ink);text-decoration:underline;cursor:pointer}
.ck-lines tfoot td{font-weight:800;font-size:1.08rem;border-bottom:0;padding-top:.7rem}
.ck-note{background:var(--paper);border-left:4px solid var(--sage,#8fb59a);padding:.7rem .9rem;border-radius:0 8px 8px 0;margin:0 0 .8rem}
.ck-small,.ck-fine{font-size:.82rem;line-height:1.5;color:var(--muted,#55625a)}
.ck-design summary{cursor:pointer;font-weight:700;margin:.2rem 0 .5rem}.ck-design pre{white-space:pre-wrap;font:400 .82rem/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--paper);padding:.8rem;border-radius:8px;max-height:260px;overflow:auto}
.ck-terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin:0 0 1rem}
.ck-term{min-width:0;overflow-wrap:anywhere}
.ck-term{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;padding:.8rem .9rem;cursor:pointer;font:inherit;color:inherit;min-height:44px}
.ck-term[aria-checked="true"]{border-color:var(--forest);box-shadow:0 0 0 3px rgba(27,50,37,.12);background:#f4f7f2}
.ck-term strong{font-size:.9rem}.ck-term-m{font-weight:800;font-size:1.35rem;font-variant-numeric:tabular-nums}.ck-term-m small{font-size:.8rem;font-family:var(--sans,inherit)}.ck-term-d{font-size:.8rem;color:var(--muted,#55625a)}
.ck-dl{margin:0 0 .6rem;display:grid;gap:.1rem}.ck-dl div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.ck-dl dt{color:var(--muted,#55625a)}.ck-dl dd{margin:0;font-weight:700;white-space:nowrap}.ck-dl .ck-total{border-bottom:0;font-size:1.12rem}.ck-dl .ck-total dt{color:inherit;font-weight:800}
.ck-addr{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem .2rem;margin:0 0 1rem}.ck-addr legend{font-weight:800;padding:0 .4rem}
.ck-3{grid-template-columns:2fr 1fr 1fr}.ck-same{margin:-.3rem 0 1rem}
.ck-h3{font-size:1.15rem;margin:1.3rem 0 .6rem}
.ck-acks{display:grid;gap:.55rem;margin:0 0 1.2rem}
.ck-ack{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;background:#fff;cursor:pointer;line-height:1.45;font-size:.93rem}
.ck-ack input{margin-top:.13rem}
.ck-ack:has(input:checked){border-color:var(--forest);background:#f4f7f2}
.ck-ack{flex-wrap:wrap}.ck-ack>span{flex:1 1 0;min-width:0}.ck-ack .field-error{flex-basis:100%;margin:.1rem 0 0 1.95rem}
.ck-pay{font-size:1.05rem;min-height:52px}
.ck-rev p{margin:0 0 .5rem}
.ck-resume{margin:0 0 1rem}
@media (max-width:900px){.ck-grid{grid-template-columns:1fr}.ck-side{display:none!important}.ck-3{grid-template-columns:1fr 1fr}.ck-3 .field:first-child{grid-column:1/-1}}
@media (max-width:520px){.ck-steps li{font-size:.7rem;line-height:1.25}.ck-steps li::before{content:counter(ck) " ";display:block;font-size:.8rem}.ck-terms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:400px){.ck-term{padding:.7rem .65rem}.ck-term-m{font-size:1.1rem;white-space:nowrap}.ck-term-m small{font-size:.72rem}}
/* ---------- Schedule a free call ---------- */
.sc-panel{margin-top:1.2rem}.sc-h{font-size:1.15rem;margin:1.2rem 0 .6rem}.sc-h:first-child{margin-top:0}
.sc-days{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .1rem .6rem;scroll-snap-type:x mandatory}
.sc-day{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;min-width:76px;border:2px solid var(--line);background:#fff;border-radius:12px;padding:.55rem .6rem;cursor:pointer;font:inherit;color:inherit}
.sc-day small{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#55625a)}.sc-day strong{font-size:1rem}
.sc-day[aria-checked="true"],.sc-time[aria-checked="true"]{border-color:var(--forest);background:var(--forest);color:#fff}.sc-day[aria-checked="true"] small{color:#d6e6da}
.sc-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.45rem}
.sc-time{border:2px solid var(--line);background:#fff;border-radius:10px;padding:.6rem .4rem;font:700 .92rem/1 var(--sans,inherit);cursor:pointer;color:inherit;min-height:44px}
#sc-done h2,#sc-manage h2{margin:.3rem 0 .6rem}
body.no-mobile-bar{padding-bottom:env(safe-area-inset-bottom)}
#ck-done:focus,#ck-dead:focus,#sc-done:focus,#sc-manage:focus{outline:none}
/* order link: pictures, cash vs rent-to-own, delivery check */
.ck-pics{display:grid;grid-template-columns:2fr 1fr;gap:.6rem;margin:0 0 1rem}
.ck-pics:empty{display:none}
.ck-pic{margin:0;border-radius:12px;overflow:hidden;background:#e4ece5;aspect-ratio:1.6}
.ck-pic img{display:block;width:100%;height:100%;object-fit:cover}
.ck-pics .ck-pic:only-child{grid-column:1/-1}
.ck-bld-colors{margin:0 0 .4rem;font-weight:600;font-size:.92rem}
.ck-tag{display:inline-block;vertical-align:middle;font:800 .65rem var(--sans);letter-spacing:.12em;text-transform:uppercase;background:#f2d38a;color:#3d2a06;border-radius:999px;padding:.2rem .55rem;margin-left:.4rem}
.ck-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem;margin:0 0 1rem}
.ck-plans[hidden]{display:none}
.ck-plan{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;text-align:left;border:2px solid var(--line);background:#fff;border-radius:14px;padding:.95rem 1rem;cursor:pointer;font:inherit;color:inherit;min-height:44px}
.ck-plan[aria-checked="true"]{border-color:var(--forest);box-shadow:0 0 0 3px rgba(27,50,37,.12);background:#f4f7f2}
.ck-plan strong{font-size:1.05rem}.ck-plan-m{font-weight:800;font-size:1.25rem;font-variant-numeric:tabular-nums}.ck-plan-d{font-size:.85rem;color:var(--muted,#55625a)}
.ck-addr-note{margin:-.2rem 0 .6rem}
.ck-notice{margin:0 0 1rem}
#ck-addr-msg{margin:1rem 0 0}
@media (max-width:520px){.ck-pics{grid-template-columns:1fr}.ck-pic-sm{display:none}}
.ck-code{font-size:.85em;opacity:.8;white-space:nowrap}

/* ===== Order a Shed (/order) ===== */
.o-hero{padding-bottom:1rem}.o-hero h1{margin:.2rem 0 .5rem}
.o-alt{margin:.6rem 0 0;color:var(--muted);font-size:.95rem}.o-alt a{font-weight:700;display:inline-flex;align-items:center;gap:.3rem}.o-alt svg{width:18px;height:18px}
.o-section{padding-top:1rem}
.o-progress{list-style:none;margin:0 0 1.2rem;padding:0;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}
.o-progress::-webkit-scrollbar{display:none}
.o-progress li{flex:1 1 0;min-width:0}
.o-progress li>*{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.55rem .6rem;border:0;border-top:4px solid var(--line);background:none;font:inherit;color:var(--muted);text-align:left;cursor:default}
.o-progress button{cursor:pointer}.o-progress button:hover em{text-decoration:underline}
.o-progress b{font-size:.8rem;font-weight:700}.o-progress em{font-style:normal;font-weight:600;font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.o-progress .is-done>*{border-top-color:var(--sage);color:var(--ink)}
.o-progress .is-cur>*{border-top-color:var(--forest);color:var(--forest)}.o-progress .is-cur em{font-weight:800}
.o-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start}
.o-step-h{font-size:1.65rem;margin:0 0 1rem;outline:none}.o-step-h span{display:block;font:700 .8rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.o-h3{font:700 1.02rem var(--sans);margin:1.4rem 0 .6rem}
.o-hint{color:var(--muted);font-size:.92rem;margin:.6rem 0 0}.o-empty{color:var(--muted)}
.o-note{margin-bottom:1rem}
.o-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.o-card{display:flex;flex-direction:column;padding:0;border:2px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}
.o-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--cream-2)}
.o-card-b{display:grid;gap:.2rem;padding:.8rem .95rem 1rem}.o-card-b strong{font-size:1.1rem}.o-card-b span{color:var(--muted);font-size:.92rem}.o-card-b em{font-style:normal;font-weight:700;color:var(--forest);margin-top:.2rem}
.o-card:hover,.o-opt:hover,.o-size:hover,.o-plan:hover:not(:disabled),.o-term:hover{border-color:var(--forest-3)}
.o-card.is-on,.o-opt.is-on,.o-size.is-on,.o-plan.is-on,.o-term.is-on,.o-chip.is-on{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest) inset;background:#f3f7f2}
.o-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}
.o-opts--list{grid-template-columns:minmax(0,1fr);padding:0 0 .4rem}
.o-opt{display:grid;gap:.15rem;padding:.85rem 1rem;min-height:56px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer}
.o-opts--list .o-opt{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.o-opt strong{font-size:1rem}.o-opt span{color:var(--muted);font-size:.9rem}.o-opt b{color:var(--forest);font-size:.95rem}
.o-opt:disabled{cursor:default;opacity:1}
.o-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.o-chip{min-height:48px;padding:.6rem 1.05rem;border:1.5px solid var(--line-2);border-radius:999px;background:#fff;font:600 .98rem var(--sans);color:var(--ink);cursor:pointer}
.o-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem}
.o-size{display:grid;gap:.1rem;padding:.75rem .8rem;min-height:60px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font:inherit;color:inherit;cursor:pointer;text-align:left}
.o-size strong{font-size:1.05rem}.o-size span{color:var(--forest);font-weight:700}
.o-group{border:1.5px solid var(--line);border-radius:var(--r);background:#fff;margin:0 0 .75rem}
.o-group>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.05rem;cursor:pointer;list-style:none;min-height:56px}
.o-group>summary::-webkit-details-marker{display:none}
.o-group>summary span{font-weight:700}.o-group>summary b{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--muted);font-size:.92rem;text-align:right}
.o-group>summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:-4px .2rem 0 0;transition:transform .15s}
.o-group[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.o-group>:not(summary){margin-left:1.05rem;margin-right:1.05rem}.o-group>:last-child{margin-bottom:1rem}
.o-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block}
.o-sws{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.45rem;margin-top:.6rem}
.o-sw{display:grid;justify-items:center;gap:.3rem;padding:.5rem .3rem;border:1.5px solid transparent;border-radius:var(--r-sm);background:none;font:600 .8rem/1.2 var(--sans);color:var(--ink);cursor:pointer;text-align:center}
.o-sw i{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:block}
.o-sw.is-on{border-color:var(--forest);background:#f3f7f2}.o-sw.is-on i{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--forest)}
.o-box{border:1.5px solid var(--line);border-radius:var(--r);background:#fff;padding:1rem 1.05rem;margin:0 0 .9rem}.o-box .o-h3{margin-top:0}
.o-list{list-style:none;margin:0;padding:0}
.o-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.65rem 0;border-top:1px solid var(--line)}.o-list li:first-child{border-top:0}
.o-list li>span{flex:1 1 220px}.o-list li>b{font-weight:700;color:var(--forest)}
.o-x{border:1.5px solid var(--line-2);background:#fff;border-radius:999px;padding:.45rem .9rem;min-height:40px;font:600 .88rem var(--sans);color:var(--danger);cursor:pointer}
.o-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.8rem}.o-row label{font-weight:700}.o-row select{width:auto;min-width:190px}
.o-check{margin-top:.5rem}
.o-add{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}
.o-add>.field:first-child{grid-column:1/-1}.o-add>.check,.o-add>.o-hint{grid-column:1/-1}.o-add>.btn{grid-column:1/-1;justify-self:start;min-height:48px}
.o-addon{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line)}
.o-group>.o-addon:first-of-type{border-top:0}
.o-addon>span:not(.o-qty){display:grid;gap:.1rem;font-weight:600}.o-addon small{color:var(--muted);font-weight:500;font-size:.86rem}
.o-addon.is-off>span{color:var(--muted)}.o-addon.is-off>b{color:var(--muted);font-weight:600;font-size:.88rem}
.o-addon>b{font-size:.9rem;color:var(--forest)}
.o-mini{min-width:88px;min-height:44px;border:1.5px solid var(--forest);border-radius:999px;background:#fff;color:var(--forest);font:700 .92rem var(--sans);cursor:pointer}
.o-mini.is-on{background:var(--forest);color:#fff}
.o-qty{display:inline-flex;align-items:center;border:1.5px solid var(--line-2);border-radius:999px;overflow:hidden;flex:none}
.o-qty button{width:44px;height:44px;border:0;background:#fff;font:700 1.25rem var(--sans);color:var(--forest);cursor:pointer}
.o-qty output{min-width:54px;text-align:center;font-weight:700}
.o-zip{max-width:300px}
.o-facts{list-style:none;padding:0;margin:.6rem 0 0}.o-facts li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.o-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.o-plan{display:grid;gap:.25rem;padding:1rem 1.1rem;border:1.5px solid var(--line-2);border-radius:var(--r);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;min-height:100px}
.o-plan strong{font-size:1.1rem}.o-plan b{color:var(--forest)}.o-plan small{color:var(--muted)}
.o-plan:disabled{cursor:not-allowed;opacity:.6}
.o-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.9rem}
.o-term{display:grid;gap:.1rem;padding:.75rem .6rem;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font:inherit;color:inherit;cursor:pointer;text-align:left}
.o-term b{color:var(--forest);font-size:1.05rem}.o-term small{color:var(--muted);font-size:.8rem}
.o-form{display:grid;gap:1rem}
.o-review{margin-top:1.4rem;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;padding:1rem 1.1rem}.o-review .o-h3{margin-top:0}
.o-lines{width:100%;border-collapse:collapse;font-size:.95rem}.o-lines td{padding:.45rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.o-lines td.num{text-align:right;white-space:nowrap;padding-left:1rem;font-variant-numeric:tabular-nums}
.o-lines small{display:block;color:var(--muted)}
.o-tot{margin-top:.6rem}.o-grand td{font-weight:800;font-size:1.05rem;border-bottom:2px solid var(--ink)}
.o-today td{font-weight:800;color:var(--forest)}
.o-go{margin-top:1rem}.o-main .btn-row{margin-top:.4rem}
#o-result{margin-top:1rem}
.o-nav{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.o-nav #o-next{margin-left:auto}
.btn--lg{min-height:54px;padding-left:1.5rem;padding-right:1.5rem;font-size:1.05rem}
.o-side{position:sticky;top:calc(var(--header-h) + 1rem)}
.o-sum{border:1.5px solid var(--line);border-radius:var(--r);background:#fff;padding:1.1rem 1.15rem;box-shadow:var(--shadow-1)}
.o-sum-k{margin:0;font:700 .78rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.o-sum-n{margin:.2rem 0 0;font:400 1.35rem/1.25 var(--serif)}.o-sum-s{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}
.o-sum-dl{margin:.9rem 0 0}.o-sum-dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-top:1px solid var(--line);font-size:.94rem}
.o-sum-dl dt{color:var(--muted)}.o-sum-dl dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.o-sum-tot{border-top:2px solid var(--ink)!important}.o-sum-tot dt,.o-sum-tot dd{color:var(--ink);font-weight:800;font-size:1.05rem}
.o-sum-today dt,.o-sum-today dd{color:var(--forest);font-weight:800}
.o-side-note{display:flex;gap:.5rem;align-items:flex-start;color:var(--muted);font-size:.86rem;margin:.75rem .2rem 0}.o-side-note svg{flex:none;width:18px;height:18px;margin-top:.1rem}
.o-more{margin-top:1.2rem;color:var(--muted)}
.o-bar{display:none}
.mn-order{margin:1rem 0 .6rem}
@media (max-width:900px){
  .o-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .o-side{position:static}
  .o-progress em{display:none}.o-progress .is-cur em{display:block}
  .o-progress li{flex:0 0 auto}.o-progress .is-cur{flex:1 1 auto}
  .o-bar:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--forest);color:#fff;box-shadow:0 -6px 18px rgba(23,32,26,.18)}
  .o-bar-p{display:grid;line-height:1.15}.o-bar-p small{font-size:.75rem;color:var(--forest-muted)}.o-bar-p strong{font-size:1.2rem}.o-bar-p span{font-size:.85rem;color:var(--forest-muted)}
  .o-app{padding-bottom:76px}
}
@media (max-width:560px){
  .o-cards{grid-template-columns:minmax(0,1fr)}
  .o-card{flex-direction:row}.o-card img{width:38%;aspect-ratio:auto;min-height:112px}
  .o-plans{grid-template-columns:minmax(0,1fr)}
  .o-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .o-add{grid-template-columns:minmax(0,1fr)}
  .o-step-h{font-size:1.4rem}
  .o-nav .btn{flex:1}.o-nav #o-next{flex:2}
  .o-row select{width:100%}
}
/* ===== header layout (logo, menu, buttons) =====
   The logo never shrinks, so menu links can't slide under the tagline. Full menu from 1200px; below that the Menu button,
   with Order a Shed and Get a Quote kept as buttons on tablets. The phone number lives in the top bar (and the phone bar). */
.site-header .brand{flex:none}
.header-phone{display:none!important}
.header-inner{gap:1.5rem}
.main-nav{flex:none}
.btn--order{display:none}
@media (max-width:1279px) and (min-width:1200px){.main-nav>ul{gap:0}.main-nav a,.nav-drop-btn{padding-left:.55rem;padding-right:.55rem}.header-inner{gap:1rem}}
@media (max-width:1199px) and (min-width:760px){.header-actions .btn--order{display:inline-flex}}
@media (max-width:1199px){.header-actions{gap:.6rem}}
.calc .calc-payoff{margin:0}
/* phones: comfortable tap areas for breadcrumb and footer links (same look) */
@media (max-width:767px){.breadcrumb{padding-top:.45rem}.breadcrumb a{display:inline-block;padding:.6rem 0}.breadcrumb li{align-items:center}.site-footer ul a{padding:.6rem 0}.site-footer ul{gap:0}}
/* page-top buttons on phones: stacked full width, like the homepage */
@media (max-width:560px){.product-hero .btn-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.product-hero .btn-row>.btn:first-child{grid-column:1/-1}.product-hero .btn-row>.btn{justify-content:center;width:100%}}
/* section tabs that scroll sideways fade at the edge, so the last one doesn't look cut off */
@media (max-width:767px){.subnav ul{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:2rem}}
@media (max-width:560px){.page-hero .btn-row:has(>.btn:nth-child(3)){display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.page-hero .btn-row:has(>.btn:nth-child(3))>.btn:first-child{grid-column:1/-1}.page-hero .btn-row:has(>.btn:nth-child(3))>.btn{justify-content:center;width:100%;padding-left:.6rem;padding-right:.6rem}}
/* phones: buttons that wrap onto their own lines are full width, so they line up */
@media (max-width:560px){.page-hero .btn-row>.btn,.cta-band .btn-row>.btn{flex:1 1 100%;justify-content:center}.cta-band .btn-row{width:100%}}
/* breadcrumb: the link and the current page sit on one line */
.breadcrumb ol{align-items:center}
/* cards and panels: even padding top and bottom (the last line's own margin doesn't add to it) */
.card>:last-child,.card-body>:last-child,.panel>:last-child,.o-box>:last-child{margin-bottom:0}
/* quote form "Building details": the same chevron as every other expandable section */
.q-more>summary{list-style:none;position:relative;padding-right:2.6rem;min-height:48px;display:flex;align-items:center}
.q-more>summary::-webkit-details-marker{display:none}
.q-more>summary::after{content:"";position:absolute;right:1.1rem;top:50%;width:9px;height:9px;border-right:2px solid var(--forest);border-bottom:2px solid var(--forest);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.q-more[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
/* packages: four across on wide screens, two by two below that */
@media (max-width:1199px) and (min-width:641px){.pkg-grid.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* building pages: the three page-top buttons fit on one line on desktop */
@media (min-width:1200px){.product-hero .btn-row{gap:.5rem}.product-hero .btn-row>.btn{padding-left:1.1rem;padding-right:1.1rem}}
@media (min-width:561px) and (max-width:1279px){.product-hero .btn-row,.page-hero .btn-row:has(>.btn:nth-child(3)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-width:460px}.product-hero .btn-row>.btn:first-child,.page-hero .btn-row:has(>.btn:nth-child(3))>.btn:first-child{grid-column:1/-1}.product-hero .btn-row>.btn,.page-hero .btn-row:has(>.btn:nth-child(3))>.btn{justify-content:center;padding-left:.8rem;padding-right:.8rem}}
/* two recent-build cards fill the row instead of leaving an empty third slot */
@media (min-width:601px){.builds:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* schedule: a message in the day or time area spans the whole row */
.sc-times>p,.sc-days>p{grid-column:1/-1;margin:0}
@media (max-width:430px){.o-nx-name{display:none}}
@media (max-width:560px){.o-go{width:100%}}
/* small phones: an option group's current choice sits under its title instead of being squeezed beside it */
@media (max-width:400px){.o-group>summary{flex-wrap:wrap;row-gap:.2rem}.o-group>summary span{flex:1 1 0}.o-group>summary b{order:3;flex-basis:100%;justify-content:flex-start;text-align:left}}
@media (max-width:400px){.o-sws{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}}
#o-next{gap:0}
/* checkout "Building details": the site's chevron, not the browser triangle */
.ck-design summary{list-style:none;position:relative;padding-right:1.6rem;display:inline-flex;align-items:center;min-height:40px}
.ck-design summary::-webkit-details-marker{display:none}
.ck-design summary::after{content:"";position:absolute;right:.2rem;top:50%;width:8px;height:8px;border-right:2px solid var(--forest);border-bottom:2px solid var(--forest);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.ck-design[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
/* checkout on phones: buttons that wrap are full width */
@media (max-width:430px){#ck-s1 .btn-row>.btn{flex:1 1 100%;justify-content:center}}
.o-sw span{overflow-wrap:anywhere;hyphens:auto}
/* ===== quote page (/quote/…): payment options ===== */
.ck-quote-pay{margin:1.1rem 0 .4rem}
.ck-qp{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.ck-qp-box{border:1.5px solid var(--line);border-radius:var(--r);background:var(--paper);padding:.9rem 1rem}
.ck-qp-box>strong{display:block;font-size:1.05rem}.ck-qp-sub{display:block;color:var(--muted);font-size:.88rem;margin-top:.1rem}
.ck-qp-box .ck-dl{margin-top:.5rem}
.ck-qp-t{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.94rem}
.ck-qp-t th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:.3rem 0;border-bottom:1px solid var(--line)}
.ck-qp-t td{padding:.42rem 0;border-bottom:1px solid var(--line)}.ck-qp-t .num{text-align:right;font-variant-numeric:tabular-nums}
.ck-qp-t tr:last-child td{border-bottom:0}
.is-quote #ck-proceed{order:-1}
.ck-access .muted{margin:0 0 .6rem;font-size:.92rem}.ck-access-note{margin:0 0 1rem}
/* ===== address autocomplete dropdown ===== */
.addr-wrap{position:relative}
.addr-box{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:200;background:#fff;border:1.5px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-2);overflow:hidden}
.addr-list{list-style:none;margin:0;padding:.25rem 0;max-height:min(320px,50vh);overflow-y:auto;overscroll-behavior:contain}
.addr-opt{display:grid;gap:.05rem;padding:.6rem .85rem;min-height:48px;cursor:pointer;line-height:1.25}
.addr-opt strong{font-size:.98rem}.addr-opt span{font-size:.85rem;color:var(--muted)}
.addr-opt:hover,.addr-opt.is-act{background:#f1f6f0}
.addr-by{margin:0;padding:.3rem .85rem .4rem;font-size:.72rem;color:var(--muted);border-top:1px solid var(--line);text-align:right}.addr-by a{color:var(--muted)}
.zip-near{display:block;margin-top:.35rem;font-weight:600;color:var(--ink)}.zip-near a{font-weight:700}
/* rent-to-own application: renter as on ID, monthly payment method */
.field-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.field-row--3{grid-template-columns:minmax(0,1fr)}}
.ck-seg{display:flex;flex-wrap:wrap;gap:.6rem;margin:.2rem 0 .4rem}
.ck-seg label{display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.6rem 1rem;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600}
.ck-seg label:has(input:checked){border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.ck-seg input{width:18px;height:18px;accent-color:var(--forest)}
.ck-plans{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
/* /quote/TOKEN/pdf: the quote PDF on screen */
body.is-pdfv{background:#ece8de}
body.is-pdfv>:not(#pdfv){display:none!important}
.pdfv-bar{position:sticky;top:0;z-index:20;background:var(--forest);color:#fff;padding:.7rem 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.pdfv-top{display:flex;align-items:center;gap:.9rem;min-width:0}
.pdfv-brand img{display:block;height:44px;width:auto}
.pdfv-bar h1{font:400 1.25rem/1.2 var(--serif,Georgia,serif);margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdfv-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.pdfv-b{background:#fff;color:var(--forest);border-color:#fff}
.pdfv-b:disabled{opacity:.6;cursor:progress}
.pdfv-order{background:var(--gold);color:#1e1606;border-color:var(--gold)}
.pdfv-order:hover{filter:brightness(1.05);color:#1e1606}
.pdfv-pages{max-width:860px;margin:0 auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:16px}
.pdfv-page{position:relative;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.14);border-radius:4px;overflow:hidden}
.pdfv-page canvas{display:block;width:100%;height:auto}
.pdfv-link{position:absolute;display:block}
.pdfv-link:focus-visible{outline:3px solid var(--focus)}
.pdfv-wait{padding:2rem;text-align:center;color:var(--ink)}
@media (max-width:560px){.pdfv-btns{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pdfv-order{grid-column:1/-1}.pdfv-b,.pdfv-order{padding-left:.4rem;padding-right:.4rem}}
@media print{@page{size:letter;margin:0}body.is-pdfv{background:#fff}body.is-pdfv .pdfv-bar{display:none!important}.pdfv-pages{max-width:none;padding:0;gap:0}.pdfv-page{box-shadow:none;border-radius:0;break-after:page;page-break-after:always}.pdfv-page:last-child{break-after:auto}}
@media (max-width:600px){.pdfv-bar{position:static;padding:.6rem 16px}.pdfv-brand img{height:36px}.pdfv-bar h1{font-size:1.1rem}}
/* quote page polish: room under the menu, payment boxes only as tall as their content, room under the buttons */
.ck-wrap{padding:2.4rem 0 3.5rem}
@media (max-width:700px){.ck-wrap{padding:1.4rem 0 2.5rem}}
.ck-qp{align-items:start}
.ck-main .btn-row+.ck-small{margin-top:.8rem}
/* quote page: Rent-to-own / Cash toggle (one plan at a time, the monthly up front) */
.ck-qp-tog{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--cream-2);margin:0 0 .8rem}
.ck-qp-tog button{border:0;background:none;font:700 .92rem var(--sans);color:var(--muted);padding:.6rem 1.1rem;min-height:44px;border-radius:999px;cursor:pointer}
.ck-qp-tog button[aria-selected=true]{background:var(--paper);color:var(--forest);box-shadow:var(--shadow-1)}
.ck-qp-tog button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ck-qp-big{font:400 1.05rem var(--sans);margin:0 0 .2rem}.ck-qp-big strong{font:700 1.7rem var(--sans);color:var(--forest)}
.ck-qp-sub{margin:0 0 .8rem;color:var(--ok);font-weight:700}
/* the size upsell: one quiet card */
#ck-upsell{margin:1rem 0}
.ck-up{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;justify-content:space-between;padding:.9rem 1rem;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r-sm);background:var(--paper)}
.ck-up p{margin:0}.ck-up-h{font-weight:800;color:var(--forest);margin-bottom:.15rem!important}
.ck-up .btn{min-height:44px}
.ck-up-done{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;border-radius:var(--r-sm);background:var(--sage-soft)}
.ck-up-done>span:first-child{color:var(--ok);font-weight:800}
#ck-qtop{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
#ck-qtop[hidden],#ck-qcta[hidden]{display:none}
/* Order a Shed landing */
.o-hero--land{padding-bottom:2rem}
.o-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.o-hero-media img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow-1);aspect-ratio:4/3;object-fit:cover}
.o-hero-rto{font-size:1.1rem;margin:.6rem 0 1rem}.o-hero-rto strong{color:var(--forest)}
.o-cats{grid-template-columns:repeat(4,minmax(0,1fr))}
.o-pop-h{margin:1.6rem 0 .6rem;font:700 1.05rem var(--sans)}
.o-pop{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.o-pop a{display:flex;flex-direction:column;gap:.15rem;padding:.8rem 1rem;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);text-decoration:none;color:var(--ink)}
.o-pop a:hover{border-color:var(--forest-3)}.o-pop strong{color:var(--forest)}.o-pop small{color:var(--muted)}
.hw--3{grid-template-columns:repeat(3,minmax(0,1fr))}
#order-app:focus{outline:none}
@media (max-width:900px){.o-hero-grid{grid-template-columns:1fr}.o-hero-media{display:none}.o-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.hw--3{grid-template-columns:1fr}}
.o-pop-sec{padding-block:1.2rem 0}.o-pop-h{margin-top:0;font:700 1.15rem var(--sans)}.o-pop-more{margin:.7rem 0 0;font-size:.92rem}

/* Focused public catalog: sheds and tiny homes. */
.header-actions .btn--order{display:inline-flex}.header-actions .btn--quote{display:none}.home-focused .hero-frame{min-height:460px}.home-focused .hero-copy{max-width:690px}.home-focused .hero-copy h1{font-size:clamp(2.1rem,4.5vw,3.7rem);line-height:1.08}.home-focused .hero-copy p{max-width:45ch}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.focus-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}.focus-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.focus-card-copy{padding:1.4rem}.focus-card h3{font-size:1.8rem;margin:.4rem 0}.focus-card p{color:var(--muted)}.focus-card strong{display:inline-flex;gap:.5rem;align-items:center;color:var(--forest)}.focus-card strong svg{width:18px;height:18px}.focus-custom{margin-top:1.2rem;color:var(--muted)}.focus-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.focus-steps>li>span{font-size:.85rem;color:var(--muted)}.focus-steps h3{margin:.6rem 0}.focus-steps p{color:var(--muted)}.focus-proof{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}.focus-close{text-align:center}.focus-close .btn-row{justify-content:center}.quick-header .brand-logo{width:65px;height:48px}.quick-header .brand-sub{display:block}.quick-header .header-inner{justify-content:space-between}.quick-header .brand-name{font-size:1.5rem}
@media(max-width:700px){.home-focused .hero-frame{min-height:0}.focus-grid,.focus-proof,.focus-steps{grid-template-columns:minmax(0,1fr);gap:1.2rem}.focus-card-copy{padding:1.1rem}.focus-steps li{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.quick-header .brand-logo{width:47px;height:35px}.quick-header .brand-name{font-size:1.05rem}.quick-header .brand-sub{font-size:.6rem}.quick-header .btn{padding:.5rem .65rem;font-size:.8rem}.header-actions .btn--order{display:none}}

.quick-footer{padding:2rem 0;background:#f6f4ee;border-top:1px solid var(--line);font-size:.85rem;text-align:center}.quick-footer a{color:var(--forest)}.quick-footer .note{margin:.6rem 0 0}
.site-announcement{padding:10px 20px;text-align:center;background:#e8bd72;color:#1b3225;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.site-announcement[hidden]{display:none}.hero-copy [data-website-copy]{overflow-wrap:anywhere}.hero-copy h1{font-size:clamp(2rem,4.6vw,4.5rem)}
/* the Stripe card form inside the checkout page */
/* payment page: order summary, then the card box */
.ck-sum{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);padding:1rem 1.1rem;margin:0 0 1.1rem}
.ck-sum-h{display:flex;justify-content:space-between;gap:1rem;font:800 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:.6rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}
.ck-sum-l{margin:0 0 .6rem;display:grid}.ck-sum-l div{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.ck-sum-l dt{color:var(--muted);font-size:.9rem}.ck-sum-l dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}.ck-sum-sub{display:block;font-weight:400;font-size:.88rem;color:var(--muted)}
.ck-sum .ck-fine{margin:.2rem 0 0}
.ck-paybox{border:1px solid var(--line-2);border-radius:var(--r);background:#fff;padding:1.1rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;box-shadow:var(--shadow-1)}
@media (max-width:360px){.ck-paybox{padding:.9rem}}
.ck-paybox .ck-pay{white-space:normal;text-align:center}
.ck-card{display:grid;gap:.9rem}.ck-card[hidden]{display:none}
.ck-cf{display:grid;gap:.35rem;min-width:0}
.ck-card-row{display:grid;grid-template-columns:1fr;gap:.9rem}
@media (min-width:360px){.ck-card-row{grid-template-columns:1fr 1fr}.ck-cf--zip{grid-column:1/-1}}
@media (min-width:600px){.ck-card-row{grid-template-columns:1.2fr 1fr 1fr}.ck-cf--zip{grid-column:auto}}
.ck-card-l{font-weight:700;font-size:.95rem;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-card-field{border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;padding:.9rem .85rem;min-height:50px;transition:border-color .15s,box-shadow .15s}
input.ck-card-field{width:100%;font:inherit;font-size:17px;color:#1f2a24;line-height:1.2;outline:none}input.ck-card-field::placeholder{color:#7a837d}
.ck-card-field.StripeElement--focus,input.ck-card-field:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(27,50,37,.16)}
.ck-card-field.is-invalid,.ck-card-field.StripeElement--invalid{border-color:var(--danger,#b3261e)}
.ck-secure{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:0;font-size:.8rem;white-space:nowrap;color:var(--muted);text-align:center}
.ck-secure svg{width:16px;height:16px;flex:none}
@media (max-width:360px){.ck-secure{white-space:normal;font-size:.76rem}}
@media (max-width:520px){.ck-sum-l div{grid-template-columns:1fr;gap:.1rem}}
/* two ways to buy: Shop & Order (solid, first) and Design Your Shed (outlined); calling is a plain link beside them */
.header-actions .btn--order{display:inline-flex}.btn--design{display:none}
@media (min-width:1000px){.header-actions .btn--design{display:inline-flex}}
@media (max-width:700px){.header-actions .btn--order{display:none}}
.hero-call{margin:.85rem 0 0;font-size:.95rem;color:#d4e2d7}.hero-call a{color:#fff;font-weight:700}
.page-hero .hero-call{color:var(--muted)}.page-hero .hero-call a{color:var(--forest)}
.mn-hint{margin:.2rem 0 .8rem;font-size:.86rem;color:var(--muted)}
.mn-call{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;font-weight:700;color:var(--forest);text-decoration:none}.mn-call svg{width:18px;height:18px}
@media (max-width:760px){.mobile-bar{grid-template-columns:1.35fr 1fr .8fr}.mobile-bar .btn svg{width:16px;height:16px}}
.mn-buy{padding:.6rem 0 .4rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}.mn-buy .mn-order{margin:0 0 .5rem}.mn-buy .mn-hint{margin:.45rem 0 .1rem;text-align:center}
/* Shed Size Planner link in the phone menu */
.mn-size{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;font-weight:700;font-size:.92rem;color:var(--forest-3);text-decoration:none}.mn-size svg{width:16px;height:16px}
/* six top-menu links (Size Planner added): a little tighter so the buttons stay inside the page width */
.main-nav>ul{gap:0}
@media (max-width:1279px) and (min-width:1200px){.main-nav a,.nav-drop-btn{padding-left:.45rem;padding-right:.45rem}}
/* header "Shed Styles" menu: Find My Shed card beside the shed lines */
.nav-drop-btn svg{width:16px;height:16px;transition:transform .15s}
.nav-drop-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.main-nav .nav-panel .np-fms{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;background:var(--forest);color:var(--forest-ink);border-radius:var(--r);padding:1.05rem 1.15rem;text-decoration:none;min-width:0}
.main-nav .nav-panel .np-fms:hover{background:var(--forest-2);color:#fff}
.main-nav .nav-panel .np-fms strong{font:400 1.3rem/1.15 var(--serif);color:#fff}
.main-nav .nav-panel .np-fms span{font-weight:400;font-size:.86rem;line-height:1.45;color:var(--forest-muted)}
.main-nav .nav-panel .np-fms em{margin-top:auto;font:700 .9rem/1 var(--sans);font-style:normal;color:#fff;display:inline-flex;gap:.35rem;align-items:center;padding-top:.6rem}
.main-nav .nav-panel .np-fms em svg{width:16px;height:16px}
.np-fms-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff}
.main-nav .nav-panel .np-fms .np-fms-ic svg{width:22px;height:22px}
/* Find My Shed: homepage section and the small entry strips on shed pages */
.fms-home{padding-top:clamp(2.2rem,5vw,4rem)}
.fms-hp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.25rem,3.5vw,2.75rem);box-shadow:var(--shadow-1)}
.fms-hp-copy h2{margin-bottom:.35em}
.fms-hp-copy .lede{margin-bottom:1.1rem}
.fms-hp-chips{list-style:none;padding:0;margin:0 0 1.3rem;display:flex;flex-wrap:wrap;gap:.45rem}
.fms-hp-chips a{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .9rem;border-radius:999px;background:var(--cream);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.9rem;text-decoration:none}
.fms-hp-chips a:hover{border-color:var(--forest);color:var(--forest);background:#fff}
.fms-hp-note{font-size:.9rem;color:var(--muted);margin:.9rem 0 0;max-width:46ch}
.fms-hp-media{position:relative;min-height:320px}
.fms-hp-media>img{width:100%;height:100%;min-height:320px;max-height:460px;object-fit:cover;border-radius:var(--r)}
.fms-hp-plan{position:absolute;right:clamp(.6rem,2vw,1.2rem);bottom:clamp(.6rem,2vw,1.2rem);width:min(46%,230px);margin:0;background:rgba(255,253,248,.97);border-radius:14px;padding:.65rem .7rem .4rem;box-shadow:var(--shadow-2)}
.fms-hp-plan figcaption{display:flex;justify-content:space-between;gap:.4rem;font-size:.75rem;margin-bottom:.3rem}
.fms-hp-plan figcaption span{color:var(--ok);font-weight:700}
.fms-hp-svg{width:100%;height:auto}
.fms-hp-svg .w{fill:#5b4a3a}.fms-hp-svg .f{fill:#f6efe1}.fms-hp-svg .g line{stroke:#e6dcc8;stroke-width:.5}
.fms-hp-svg .walk{fill:rgba(47,107,69,.14);stroke:rgba(47,107,69,.45);stroke-dasharray:3 2;stroke-width:.8}
.fms-hp-svg rect[fill]{stroke:rgba(23,32,26,.35);stroke-width:.7}
.fms-hp-svg text{text-anchor:middle;dominant-baseline:middle;fill:#17201a;font-family:var(--sans);font-weight:600}
.fms-hp-svg .d{fill:var(--gold)}.fms-hp-svg .dim{fill:var(--muted);font-weight:600}
@media (prefers-reduced-motion:no-preference){.fms-hp-svg g rect[fill]{animation:fmsIn .5s ease-out both}.fms-hp-svg g:nth-of-type(3) rect{animation-delay:.08s}.fms-hp-svg g:nth-of-type(4) rect{animation-delay:.16s}.fms-hp-svg g:nth-of-type(5) rect{animation-delay:.24s}.fms-hp-svg g:nth-of-type(6) rect{animation-delay:.32s}}
@keyframes fmsIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:860px){.fms-hp{grid-template-columns:minmax(0,1fr)}.fms-hp-media{min-height:0}.fms-hp-media>img{min-height:240px;max-height:320px}.fms-hp-plan{width:min(52%,210px)}}
.hero-fms a{font-weight:700}
.fms-strip{display:flex;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;flex-wrap:wrap;margin:1.2rem 0 .4rem;padding:.9rem 1.1rem;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--forest);border-radius:var(--r-sm)}
.fms-strip strong{display:block;font-size:1rem}
.fms-strip span{display:block;font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.fms-hp-plan figcaption{font-size:.66rem;white-space:nowrap;gap:.3rem}.fms-hp-plan{padding:.5rem .55rem .3rem}}
/* homepage: what it costs, right in the hero, then three popular sheds (2026-10-27) */
.hero-afford{margin:.2rem 0 1rem;font-size:1rem;line-height:1.45;max-width:36rem}
.hero-afford a{color:inherit;text-decoration:none}.hero-afford strong{font-size:1.2rem;text-decoration:underline;text-underline-offset:3px}
.pop-sec{padding-top:clamp(1.4rem,4vw,2.4rem)}
.pop-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.pop-head h2{margin:0}.pop-head a{font-weight:700}
.pop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pop-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg,14px);overflow:hidden;display:flex;flex-direction:column}
.pop-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;height:auto}
.pop-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;flex:1}
.pop-body h3{margin:0 0 .5rem;font-size:1.15rem}.pop-body h3 a{color:inherit;text-decoration:none}
.pop-body p{margin:0}
.pop-mo{color:var(--forest);font-weight:700}.pop-mo strong{font-size:1.75rem}
.pop-term{font-size:.86rem;color:var(--muted);margin:.15rem 0 .4rem !important}
.pop-cash{margin:0 0 .8rem !important}.pop-body .btn{margin-top:auto;min-height:48px}
.pop-fine{font-size:.85rem;color:var(--muted);margin:.9rem 0 0}
@media (max-width:760px){.pop-grid{grid-template-columns:minmax(0,1fr)}.pop-card{flex-direction:row}.pop-img{flex:0 0 38%}.pop-img img{height:100%;aspect-ratio:auto}.pop-body{padding:.75rem}.pop-mo strong{font-size:1.45rem}.pop-body .btn{min-height:44px;font-size:.95rem}}
