/* Shared architecture for rebuilt landings (not /2, not /4).
   Tokens must beat body.lp in base.css (0,1,1). */
body.lp-v0,body.lp-v1,body.lp-v3,body.lp-v5,body.lp-v6,body.lp-v7,body.lp-v8,body.lp-v9{
  --sans:"Montserrat LP",system-ui,sans-serif;
  --serif:"Noto Serif LP",Georgia,serif;
  --radius:0;
  --rule:1px;
  --accent:#141210;
  --accent-ink:#f3eee6;
  --max:1180px;
  --head-h:76px;
  --form-max:720px;
  --form-max-bleed:640px;
  --hero-ranch:56vh;
  --hero-studio:calc(100vh - var(--head-h));
  --hero-gallery:48vh;
  --plate:70vh;
  --parlor:64vh;
  --photo-sm:42vh;
  --photo-sm-gal:48vh;
  font-size:17px;line-height:1.6;
}

/* Solid sticky bar — no blur, no mix-blend */
.lp-head{
  position:sticky;top:0;z-index:40;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  mix-blend-mode:normal;
}
.lp-head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--head-h);padding:0}
.lp-brand{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;color:inherit}
.lp-brand:hover{opacity:.82}
.lp-mark,.lp-mark-svg{width:44px;height:44px;display:block;flex-shrink:0;color:currentColor}
.lp-nav-paper .lp-head{background:var(--bg);color:var(--ink);border-bottom:1px solid var(--ink)}
.lp-nav-paper .lp-mark-svg{color:var(--ink)}
.lp-nav-dark .lp-head{background:var(--ink);color:var(--bg);border-bottom:0}
.lp-nav-dark .lp-mark-svg{color:var(--bg)}
.lp-word{display:flex;flex-direction:column;gap:2px;line-height:1.1;min-width:0}
.lp-word strong{
  display:block;font-family:var(--sans);font-weight:700;font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;color:inherit;
}
.lp-word em{
  font-style:normal;font-weight:500;font-size:.62rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:1;
}
.lp-nav-dark .lp-word em{color:var(--bg)}
.lp-nav-links{display:flex;align-items:center;gap:28px;font-size:.75rem}
.lp-nav-links a{text-decoration:none;color:inherit}
.lp-nav-links a:not(.lp-cta){
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 0;line-height:1.2;white-space:nowrap;
}
.lp-nav-links a:not(.lp-cta):hover{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
}
.lp-head .lp-cta{white-space:nowrap;box-shadow:none}
.lp-head a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.lp-nav-dark .lp-head a:focus-visible{outline-color:var(--bg)}
#partners,#how,#quote,#faq{scroll-margin-top:calc(var(--head-h) + 12px)}

.lp-cta,.lp-cta-lg,.lp-next,.lp-submit,.lp-sticky{
  background:var(--accent);color:var(--accent-ink)!important;
  border-radius:0;letter-spacing:.12em;text-transform:uppercase;
  font-size:.72rem;font-weight:700;box-shadow:none;
}
body.lp-v3 .lp-cta,body.lp-v3 .lp-cta-lg,body.lp-v3 .lp-next,body.lp-v3 .lp-submit,body.lp-v3 .lp-sticky,
body.lp-v8 .lp-cta,body.lp-v8 .lp-cta-lg,body.lp-v8 .lp-next,body.lp-v8 .lp-submit,body.lp-v8 .lp-sticky{
  border-radius:2px;
}
.lp-cta,.lp-head .lp-cta{min-height:44px;padding:12px 20px}
.lp-cta-lg{padding:16px 26px}
.lp-cta:hover,.lp-cta-lg:hover,.lp-next:hover,.lp-submit:hover,.lp-sticky:hover{filter:brightness(.92)}

.lp-kicker{color:var(--accent);letter-spacing:.18em;font-size:.68rem;font-weight:700}
.lp-form-shell{
  background:var(--card);
  border:var(--rule) solid var(--ink);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:none;
}
.lp-form input,.lp-form select,.lp-form textarea,.lp-check,.lp-win,.lp-back,.lp-add,
.lp-win-remove,.lp-success,.lp-error,.lp-summary{
  border-radius:var(--radius);
}
.lp-form input,.lp-form select,.lp-form textarea{background:#fff;color:var(--ink)}
.lp-win{background:var(--card)}
.lp-logo-card,.lp-how-grid li,blockquote{
  border:var(--rule) solid var(--line);
  border-radius:var(--radius);
  box-shadow:none;
}

/* Studio — sibling of /4 */
.st-stack .st-hero{
  display:grid;grid-template-columns:1fr 1.3fr;min-height:var(--hero-studio)
}
.st-stack .st-hero.st-hero-rev{grid-template-columns:1.4fr 1fr}
.st-stack .st-hero.st-hero-rev .st-hero-photo{order:-1}
.st-stack .st-plate{
  padding:56px 40px;background:var(--bg);
  display:flex;flex-direction:column;justify-content:center;
  border-right:2px solid var(--ink);
}
.st-stack .st-hero-rev .st-plate{border-right:0;border-left:2px solid var(--ink)}
.st-stack .st-plate h1{
  font-family:var(--sans);text-transform:uppercase;letter-spacing:.04em;
  font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.1;margin:0 0 16px;max-width:14ch;
}
.st-stack .st-plate .lp-lead{max-width:32rem}
.st-stack .st-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  list-style:none;padding:0;margin:28px 0;
}
.st-stack .st-stats li{border-top:2px solid var(--ink);padding-top:10px}
.st-stack .st-stats strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1}
.st-stack .st-stats span{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.st-stack .st-hero-photo{margin:0}
.st-stack .st-hero-photo img{width:100%;height:100%;min-height:var(--hero-studio);object-fit:cover}
.st-stack .st-plates{background:var(--card)}
.st-stack .st-plates article{
  display:grid;grid-template-columns:1.1fr .9fr;min-height:var(--plate);
  border-bottom:2px solid var(--ink);
}
.st-stack .st-plates article.st-rev{grid-template-columns:.9fr 1.1fr}
.st-stack .st-plates article.st-rev figure{order:2}
.st-stack .st-plates figure{margin:0}
.st-stack .st-plates img{width:100%;height:100%;min-height:var(--plate);object-fit:cover}
.st-stack .st-plates div{padding:48px;display:flex;flex-direction:column;justify-content:center}
.st-stack .st-plates span{font-family:var(--serif);font-size:2.4rem;color:var(--accent)}
.st-stack .st-plates h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2;margin:8px 0 14px}
.st-stack .st-intake{padding:80px 0;background:var(--bg)}
.st-stack .st-intake .lp-form-shell{
  max-width:var(--form-max);margin-inline:auto;
  border:2px solid var(--ink);box-shadow:10px 10px 0 var(--accent);border-radius:0;
}

/* Ranch — sibling of /2 */
.rn-stack .rn-hero{margin:0}
.rn-stack .rn-hero img{width:100%;height:var(--hero-ranch);object-fit:cover}
.rn-stack .rn-title{padding:56px 0 24px}
.rn-stack .rn-title h1{
  font-family:var(--sans);font-weight:600;
  font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.03em;
  text-transform:uppercase;line-height:1.08;max-width:18ch;margin:0 0 16px;
}
.rn-stack .rn-title .lp-lead{max-width:36rem}
.rn-stack .rn-title .lp-cta{margin-top:22px}
.rn-stack .rn-line{display:grid;grid-template-columns:1.35fr .85fr;min-height:70vh}
.rn-stack .rn-line.rn-rev figure{order:2}
.rn-stack .rn-line figure{margin:0}
.rn-stack .rn-line img{width:100%;height:100%;min-height:70vh;object-fit:cover}
.rn-stack .rn-line div{
  padding:56px 40px;display:flex;flex-direction:column;justify-content:center;background:var(--card)
}
.rn-stack .rn-line h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.15rem);
  line-height:1.2;margin:0 0 14px
}
.rn-stack .rn-points{list-style:none;padding:0;margin:22px 0 0}
.rn-stack .rn-points li{
  padding:10px 0;border-top:1px solid var(--ink);
  font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem
}
.rn-stack .rn-form-band{padding:72px 0 96px;background:var(--bg);border-top:1px solid var(--ink)}
.rn-stack .rn-form-band .lp-form-shell{max-width:var(--form-max);margin-inline:auto;border:var(--rule) solid var(--ink);border-radius:var(--radius)}

/* Bleed — sibling of /8 */
.bn-stack .bn-hero{margin:0}
.bn-stack .bn-hero img{width:100%;height:var(--hero-gallery);object-fit:cover}
.bn-stack .bn-split{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--bg)}
.bn-stack .bn-copy{padding:64px 48px;display:flex;flex-direction:column;justify-content:center}
.bn-stack .bn-copy h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.15;margin:0 0 18px;max-width:16ch
}
.bn-stack .bn-copy .lp-lead{max-width:34rem}
.bn-stack .bn-form{padding:48px 40px;background:var(--card);border-left:var(--rule) solid var(--ink)}
.bn-stack .bn-split-rev .bn-form{border-left:0;border-right:var(--rule) solid var(--ink)}
.bn-stack .bn-form .lp-form-shell{max-width:var(--form-max-bleed);border:var(--rule) solid var(--ink);border-radius:var(--radius)}
.bn-stack .bn-parlor{margin:0;background:var(--ink);color:var(--bg)}
.bn-stack .bn-parlor img{width:100%;height:var(--parlor);object-fit:cover}
.bn-stack .bn-parlor figcaption{
  width:min(720px,calc(100% - 40px));margin:0 auto;padding:18px 0 28px;font-family:var(--serif)
}

@media(max-width:900px){
  body.lp-v0,body.lp-v1,body.lp-v3,body.lp-v5,body.lp-v6,body.lp-v7,body.lp-v8,body.lp-v9{--head-h:72px}
  .st-stack{display:flex;flex-direction:column}
  .st-stack .st-hero{order:1;display:flex;flex-direction:column;grid-template-columns:1fr}
  .st-stack .st-hero-photo{order:-1}
  .st-stack .st-intake{order:2}
  .st-stack .st-plates{order:3}
  .st-stack .st-plates article,.st-stack .st-plates article.st-rev{grid-template-columns:1fr}
  .st-stack .st-plates article.st-rev figure{order:0}
  .st-stack{--photo-sm:32vh}
  .st-stack .st-hero-photo img,.st-stack .st-plates img{min-height:var(--photo-sm);height:var(--photo-sm)}
  .st-stack .st-stats{grid-template-columns:1fr}
  .st-stack .st-plate,.st-stack .st-hero-rev .st-plate{padding:32px 20px;border:0}
  .st-stack .st-plates div{padding:32px 20px}

  .rn-stack{display:flex;flex-direction:column}
  .rn-stack .rn-hero{order:1}
  .rn-stack .rn-title{order:2}
  .rn-stack .rn-form-band{order:3}
  .rn-stack .rn-stats{order:4}
  .rn-stack .rn-line{order:5;grid-template-columns:1fr}
  .rn-stack .rn-line.rn-rev figure{order:0}
  .rn-stack .rn-hero img,.rn-stack .rn-line img{height:var(--photo-sm);min-height:var(--photo-sm)}
  .rn-stack .rn-line div{padding:32px 20px}

  .bn-stack{display:flex;flex-direction:column}
  .bn-stack .bn-hero{order:1}
  .bn-stack .bn-split{order:2;display:flex;flex-direction:column;grid-template-columns:1fr}
  .bn-stack .bn-form{order:1}
  .bn-stack .bn-copy{order:2}
  .bn-stack .bn-parlor{order:3}
  .bn-stack .bn-hero img,.bn-stack .bn-parlor img{height:var(--photo-sm-gal)}
  .bn-stack .bn-copy,.bn-stack .bn-form{padding:32px 20px;border:0}

  .lp-form-shell{padding:18px}
  .lp-head-inner{min-height:72px;gap:12px}
  .lp-brand{gap:10px}
  .lp-nav-links a:not(.lp-cta){display:none}
  .lp-head .lp-cta{padding:12px 16px;letter-spacing:.08em;font-size:.68rem}
}
@media(max-width:560px){
  .lp-word{display:none}
  .lp-head .lp-cta{padding:12px 14px;letter-spacing:.06em;font-size:.64rem}
}
