/* ============================================================
   Alvero — shared styles for marketing subpages + homepage adds
   (loaded alongside site/site.css). Gold/cream/black only.
   ============================================================ */

/* anchor targets offset for the sticky nav */
.anchor-target { display:block; position:relative; top:-90px; visibility:hidden; height:0; }
[id]{ scroll-margin-top: 90px; }

/* ---------- Subpage hero ---------- */
.subhero { background: var(--ink); color: var(--paper); padding: 110px var(--pad-x) 90px; position: relative; overflow: hidden; border-bottom: 1px solid var(--ink-line); }
.subhero::after { content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(60% 80% at 75% 20%, rgba(175,136,74,0.10), transparent 60%); }
.subhero .inner { max-width: var(--max); margin: 0 auto; position: relative; z-index: 2; }
.subhero .kicker { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 22px; }
.subhero h1 { font-size: clamp(38px, 6vw, 72px); max-width: 18ch; line-height: 1.03; }
.subhero h1 em { font-style: italic; color: var(--gold-hi); }
.subhero .lede { max-width: 64ch; }

/* generic content wrapper */
.prose-wrap { max-width: var(--max); margin: 0 auto; }

/* ---------- Capability list ---------- */
.cap-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; max-width: 760px; }
.cap-list li { display: flex; gap: 14px; align-items: flex-start; font-size: 16px; line-height: 1.55; }
.cap-list .ck { color: var(--gold); flex: none; font-family: var(--f-mono); margin-top: 2px; }
.agent-list { counter-reset: ag; display: grid; gap: 16px; max-width: 820px; }
.agent-list .ag { border: 1px solid var(--ink-line); padding: 18px 20px; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: baseline; }
.agent-list .ag .code { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--gold); }
.agent-list .ag .nm { font-family: var(--f-display); font-style: italic; font-size: 20px; color: var(--paper); }
.agent-list .ag .ds { color: var(--bone); font-size: 14px; margin-top: 4px; }

/* fit note */
.fit-note { max-width: 720px; color: var(--bone); font-size: 16px; line-height: 1.7; }

/* CTA card */
.cta-card { margin-top: 56px; border: 1px solid var(--gold-lo); background: linear-gradient(180deg, rgba(175,136,74,0.06), transparent); padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-card .l { font-family: var(--f-display); font-style: italic; font-size: clamp(22px,3vw,30px); color: var(--paper); }

/* ---------- Legal pages ---------- */
.legal-page { background: var(--ink); color: var(--paper); min-height: 60vh; padding: 90px var(--pad-x) 120px; }
.legal-inner { max-width: 720px; margin: 0 auto; }
.legal-inner h1 { font-size: clamp(34px,5vw,52px); margin-bottom: 12px; }
.legal-meta { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--gold); margin-bottom: 40px; display: flex; gap: 18px; flex-wrap: wrap; border-bottom: 1px solid var(--ink-line); padding-bottom: 24px; }
.legal-inner h2 { font-size: 24px; margin: 44px 0 14px; color: var(--paper); }
.legal-inner h3 { font-size: 18px; margin: 28px 0 10px; color: var(--gold-hi); font-style: italic; }
.legal-inner p, .legal-inner li { color: var(--bone); font-size: 15px; line-height: 1.75; }
.legal-inner p { margin: 0 0 14px; }
.legal-inner ul { margin: 0 0 18px; padding-left: 22px; display: grid; gap: 7px; }
.legal-inner strong { color: var(--paper); font-weight: 500; }
.legal-inner a { color: var(--gold-hi); text-decoration: underline; text-underline-offset: 3px; }
.legal-inner blockquote { border-left: 2px solid var(--gold-lo); padding: 12px 0 12px 20px; margin: 24px 0; color: var(--bone); font-style: italic; }
.legal-inner .uc { font-size: 13px; line-height: 1.7; }

/* ---------- Demo page ---------- */
.demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; max-width: var(--max); margin: 0 auto; align-items: start; }
.demo-copy h1 { font-size: clamp(34px,5vw,60px); line-height: 1.04; }
.demo-copy h1 em { font-style: italic; color: var(--gold-hi); }
.demo-copy .lede { max-width: 46ch; }
.demo-checks { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 12px; }
.demo-checks li { display: flex; gap: 12px; align-items: flex-start; color: var(--bone); font-size: 15px; }
.demo-checks .ck { color: var(--gold); flex: none; }
.demo-note { margin-top: 28px; font-family: var(--f-display); font-style: italic; font-size: 18px; color: var(--paper); }
.demo-calendar-reserved { min-height: 0; }
.demo-form { border: 1px solid var(--ink-line); background: var(--ink-deep); padding: 32px; display: grid; gap: 18px; }
.demo-form .field { display: grid; gap: 7px; }
.demo-form label { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--bone); }
.demo-form label .req { color: var(--gold); }
.demo-form input, .demo-form select, .demo-form textarea {
  background: var(--ink); border: 1px solid var(--ink-line); color: var(--paper);
  font-family: var(--f-sans); font-size: 15px; padding: 12px 14px; border-radius: 4px; width: 100%;
  transition: box-shadow .2s, border-color .2s;
}
.demo-form input:focus, .demo-form select:focus, .demo-form textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 2px rgba(175,136,74,0.4); }
.demo-form input.invalid, .demo-form select.invalid { border-color: var(--alert); box-shadow: 0 0 0 2px rgba(156,59,35,0.35); }
.demo-form .hint { font-size: 12px; color: var(--stone); }
.demo-form .err { font-size: 12px; color: var(--alert); font-family: var(--f-mono); letter-spacing: 0.06em; display: none; }
.demo-form .field.show-err .err { display: block; }
.demo-form .submit { background: linear-gradient(180deg, var(--gold-hi), var(--gold)); color: var(--ink); border: none; padding: 16px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; border-radius: 4px; transition: filter .2s; }
.demo-form .submit:hover { filter: brightness(1.08); }
.demo-confirm { border: 1px solid var(--gold-lo); background: linear-gradient(180deg, rgba(175,136,74,0.08), transparent); padding: 48px 40px; text-align: center; }
.demo-confirm h2 { font-size: 36px; color: var(--gold-hi); font-style: italic; }
.demo-confirm p { color: var(--bone); margin-top: 16px; font-size: 16px; max-width: 40ch; margin-inline: auto; }

/* ---------- For Owners ---------- */
.owner-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: var(--max); margin: 0 auto; }
.owner-card { border: 1px solid var(--gold-lo); padding: 32px; }
.owner-card.without { border-color: var(--ink-line); }
.owner-card .lbl { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; }
.owner-card.without .lbl { color: var(--stone); }
.owner-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.owner-card li { color: var(--bone); font-size: 15px; line-height: 1.55; padding-left: 18px; position: relative; }
.owner-card li::before { content: "—"; position: absolute; left: 0; color: var(--gold-lo); }
.owner-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: var(--max); margin: 0 auto; }
.owner-num { border-top: 2px solid var(--gold); padding-top: 24px; }
.owner-num .n { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.2em; color: var(--gold); }
.owner-num h3 { font-size: 26px; margin: 12px 0 12px; }
.owner-num p { color: inherit; opacity: 0.85; font-size: 15px; line-height: 1.6; }
.owner-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 0; }
.owner-faq details { border-bottom: 1px solid var(--ink-line); padding: 22px 0; }
.owner-faq summary { font-family: var(--f-display); font-size: 21px; color: var(--paper); cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.owner-faq summary::-webkit-details-marker { display: none; }
.owner-faq summary::after { content: "+"; color: var(--gold); font-family: var(--f-mono); }
.owner-faq details[open] summary::after { content: "−"; }
.owner-faq p { color: var(--bone); margin-top: 14px; font-size: 15px; line-height: 1.7; max-width: 70ch; }

/* ---------- Founder note + portrait ---------- */
.founder-note { position: relative; }
.founder-note-card { max-width: 760px; margin: 0 auto; border: 1px solid rgba(175,136,74,0.3); border-radius: 10px; padding: 56px; position: relative; background: radial-gradient(120% 120% at 50% 0%, rgba(175,136,74,0.06), transparent 60%); }
.founder-note-card .lbl { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; }
.founder-note-card blockquote { font-family: var(--f-display); font-size: 1.35rem; line-height: 1.65; color: var(--paper); margin: 0; }
.founder-note-card .attrib { display: flex; align-items: center; gap: 18px; margin-top: 32px; }
.founder-note-card .avatar { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; border: 2px solid var(--gold); box-shadow: 0 0 20px rgba(175,136,74,0.25); flex: none; }
.founder-note-card .avatar img { width: 100%; height: 100%; object-fit: cover; }
.founder-note-card .nm { font-family: var(--f-display); font-size: 20px; color: var(--paper); }
.founder-note-card .rl { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--bone); margin-top: 6px; }

.origin-portrait { border-radius: 8px; overflow: hidden; border: 1px solid rgba(175,136,74,0.4); box-shadow: 0 12px 48px rgba(0,0,0,0.4), 0 0 32px rgba(175,136,74,0.15); }
.origin-portrait img { width: 100%; height: auto; display: block; }
.origin-caption { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); margin-top: 14px; }
.origin-grid.with-portrait { display: grid; grid-template-columns: 40% 60%; gap: 48px 48px; align-items: start; }
.origin-grid.with-portrait .founder { grid-column: 1 / -1; margin-top: 8px; }

/* ---------- Pricing ---------- */
.section--pricing .gold-italic, .gold-italic { font-style: italic; color: var(--gold-hi); }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: var(--max); margin: 40px auto 0; }
.pricing-card { border: 1px solid var(--ink-line); padding: 36px; }
.pricing-card--featured { border-color: var(--gold-lo); background: linear-gradient(180deg, rgba(175,136,74,0.06), transparent); }
.pricing-card__label { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 22px; }
.pricing-card__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.pricing-card__list li { color: var(--bone); font-size: 15px; line-height: 1.5; padding-left: 20px; position: relative; }
.pricing-card__list li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); font-family: var(--f-mono); font-size: 12px; }
.pricing-card__cta-row { margin-top: 28px; }
.pricing-fineprint { max-width: 60ch; margin: 36px auto 0; text-align: center; color: var(--stone); font-size: 14px; line-height: 1.6; }

/* ── v11 value-anchored pricing ── */
.pr-strip{ position:relative; min-height:200px; display:flex; align-items:center; justify-content:center; margin:8px auto 48px; max-width:900px; background:radial-gradient(120% 100% at 0% 50%, rgba(175,136,74,.10), transparent 40%), radial-gradient(120% 100% at 100% 50%, rgba(175,136,74,.10), transparent 40%), #0a0806; border-radius:14px; overflow:hidden; }
.pr-strip-stage{ position:relative; width:100%; min-height:200px; }
.pr-phase{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; opacity:0; }
.pr-strip-label{ font-family:var(--f-mono); font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); }
.pr-strip-label.pr-gold{ color:var(--gold); }
.pr-strip-num{ font-family:var(--f-mono); font-variant-numeric:tabular-nums; font-size:72px; line-height:1; color:var(--gold); display:flex; align-items:baseline; gap:8px; }
.pr-strip-suf{ font-family:var(--f-sans); font-size:18px; color:var(--paper); }
.pr-strip-underline{ height:2px; width:0; background:var(--gold); }
.pr-wave{ display:flex; align-items:flex-end; gap:5px; height:30px; }
.pr-wave span{ width:5px; height:10px; background:var(--gold); border-radius:2px; transform:scaleY(.4); transform-origin:bottom; }
.pr-strip-tag{ font-family:var(--f-display); font-size:28px; color:var(--paper); text-align:center; }
.pr-strip-static{ display:none; }
/* animation — only when not reduced-motion */
@media (prefers-reduced-motion: no-preference){
  .pr-strip-stage{ }
  .pr-phase-salary{ animation:prSalary 10s ease-in-out infinite; }
  .pr-phase-salary .pr-strip-num span#pr-count{ }
  .pr-phase-salary .pr-strip-underline{ animation:prUnderline 10s ease-in-out infinite; }
  .pr-phase-alvero{ animation:prAlvero 10s ease-in-out infinite; }
  .pr-wave span{ animation:prWave 1s ease-in-out infinite alternate; }
  .pr-wave span:nth-child(2){ animation-delay:.08s; }
  .pr-wave span:nth-child(3){ animation-delay:.16s; }
}
@keyframes prSalary{ 0%{opacity:0} 4%{opacity:1} 36%{opacity:1} 42%{opacity:0} 100%{opacity:0} }
@keyframes prUnderline{ 0%,30%{width:0} 36%{width:220px} 42%{width:220px} 43%{width:0} 100%{width:0} }
@keyframes prAlvero{ 0%,45%{opacity:0} 50%{opacity:1} 95%{opacity:1} 100%{opacity:0} }
@keyframes prWave{ from{transform:scaleY(.35)} to{transform:scaleY(1)} }
@media (prefers-reduced-motion: reduce){
  .pr-strip-stage{ display:none; }
  .pr-strip-static{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:14px; padding:32px 24px; text-align:center; }
  .pr-static-num{ font-family:var(--f-mono); font-variant-numeric:tabular-nums; font-size:40px; color:var(--gold); }
  .pr-static-dash{ color:var(--gold); font-size:28px; }
  .pr-static-alvero{ font-family:var(--f-display); font-size:22px; color:var(--paper); }
}
.pr-compare{ width:100%; max-width:760px; margin:44px auto 0; border-collapse:collapse; }
.pr-compare th, .pr-compare td{ padding:13px 16px; text-align:left; font-size:15px; border-bottom:1px solid rgba(175,136,74,.2); }
.pr-compare thead th{ font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.pr-compare .pr-col-admin{ color:rgba(244,233,212,.6); }
.pr-compare .pr-col-alvero{ color:var(--gold); }
.pr-compare td:first-child{ color:rgba(244,233,212,.7); }
.pr-compare td{ color:rgba(244,233,212,.85); }
.pr-compare .pr-win{ color:var(--gold); font-weight:600; }
.pr-card{ max-width:480px; margin:48px auto 0; border:1px solid rgba(175,136,74,.3); border-radius:18px; padding:36px; background:radial-gradient(120% 80% at 0% 0%, rgba(175,136,74,.06), transparent 50%), #0a0806; }
.pr-card-plan{ font-family:var(--f-mono); font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); }
.pr-card-price{ font-family:var(--f-mono); font-variant-numeric:tabular-nums; font-size:48px; color:var(--gold); margin-top:14px; line-height:1; }
.pr-card-per{ font-family:var(--f-sans); font-size:16px; color:rgba(244,233,212,.7); }
.pr-card-was{ font-size:16px; color:rgba(244,233,212,.5); margin-top:8px; }
.pr-hairline{ height:1px; background:rgba(175,136,74,.4); margin:24px 0; }
.pr-card-h{ font-size:14px; color:rgba(244,233,212,.7); margin-bottom:12px; }
.pr-card-list{ list-style:none; padding:0; margin:0 0 4px; display:grid; gap:10px; }
.pr-card-list li{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--paper); line-height:1.45; }
.pr-card-list + .pr-card-h{ margin-top:22px; }
.pr-x, .pr-check{ color:var(--gold); flex:none; font-family:var(--f-mono); }
.pr-card-foot{ text-align:center; font-size:18px; color:var(--paper); line-height:1.4; margin:0 0 22px; }
.pr-card-cta{ display:block; width:100%; text-align:center; background:var(--gold); color:#0a0806; font-weight:600; font-family:var(--f-mono); font-size:13px; letter-spacing:.1em; text-transform:uppercase; padding:16px; border-radius:8px; text-decoration:none; transition:transform .2s, background .2s; }
.pr-card-cta:hover{ transform:translateY(-2px); background:var(--gold-hi); }
.pr-card-cta:focus-visible{ outline:2px solid rgba(244,233,212,.6); outline-offset:2px; }
.pr-microcta{ text-align:center; font-size:16px; color:rgba(244,233,212,.7); margin:28px auto 0; }
.pr-microcta a{ color:var(--paper); font-weight:600; text-decoration:none; border-bottom:1px solid var(--gold-lo); }
.pr-microcta .pr-arrow{ color:var(--gold); }
.pr-footnote{ max-width:64ch; margin:36px auto 0; text-align:center; font-size:12px; color:rgba(244,233,212,.5); line-height:1.6; }
.pr-footnote a{ color:var(--gold); text-decoration:none; }
.pr-footnote a:hover{ text-decoration:underline; }
@media (max-width:640px){
  .pr-strip-num{ font-size:56px; }
  .pr-card{ padding:28px 18px; }
}
/* v2 tiers */
.pr-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1140px; margin:48px auto 0; align-items:stretch; }
.pr-tier{ position:relative; display:flex; flex-direction:column; border:1px solid rgba(175,136,74,.3); border-radius:18px; padding:30px 26px; background:radial-gradient(120% 70% at 0% 0%, rgba(175,136,74,.05), transparent 50%), #0a0806; }
.pr-tier--featured{ border-color:rgba(175,136,74,.7); }
.pr-tier-flag{ font-family:var(--f-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.pr-tier-name{ font-family:var(--f-mono); font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:var(--paper); padding-bottom:8px; border-bottom:2px solid var(--gold); display:inline-block; }
.pr-tier-desc{ font-size:16px; color:rgba(244,233,212,.8); line-height:1.5; margin:16px 0 22px; }
.pr-tier-h{ font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(244,233,212,.6); margin-bottom:14px; }
.pr-tier-list{ list-style:none; padding:0; margin:0 0 26px; display:grid; gap:11px; }
.pr-tier-list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:var(--paper); line-height:1.45; }
.pr-tier-cta{ display:block; margin-top:auto; text-align:center; font-family:var(--f-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; padding:14px; border-radius:8px; text-decoration:none; transition:transform .2s, background .2s, color .2s; }
.pr-tier-cta--ghost{ border:1px solid var(--gold); background:transparent; color:var(--gold); }
.pr-tier-cta--ghost:hover{ background:var(--gold); color:#0a0806; transform:translateY(-2px); }
.pr-tier-cta--solid{ border:1px solid var(--gold); background:var(--gold); color:#0a0806; }
.pr-tier-cta--solid:hover{ background:var(--gold-hi); transform:translateY(-2px); }
.pr-tier-cta:focus-visible{ outline:2px solid rgba(244,233,212,.6); outline-offset:2px; }
.pr-reassure{ max-width:640px; margin:40px auto 0; text-align:center; font-style:italic; font-size:15px; color:rgba(244,233,212,.6); line-height:1.6; }
.pr-cta-wrap{ margin:28px auto 0; text-align:center; }
.pr-cta-sub{ font-size:12px; color:rgba(244,233,212,.5); margin-top:12px; }
@media (max-width:900px){ .pr-tiers{ grid-template-columns:1fr; max-width:420px; } }

/* ---------- Scroll reveal ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); will-change: opacity, transform; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-stagger > * { opacity: 0; transform: translateY(20px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.15s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.25s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.35s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:.45s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(6){transition-delay:.55s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(7){transition-delay:.65s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(8){transition-delay:.75s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(9){transition-delay:.85s;opacity:1;transform:none;}
.reveal-stagger.is-visible > *:nth-child(10){transition-delay:.95s;opacity:1;transform:none;}
.diff-item__check { display:inline-block; opacity:0; transform:scale(.6); transition: opacity .5s ease, transform .5s cubic-bezier(.34,1.56,.64,1); }
.reveal-stagger.is-visible .diff-item__check { opacity:1; transform:scale(1); }

/* ---------- Subpage mobile menu / hamburger ---------- */
.nav-burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:0 9px; background:transparent; border:1px solid var(--ink-line); border-radius:8px; cursor:pointer; z-index:1001;}
.nav-burger span{display:block; height:2px; width:100%; background:var(--gold); border-radius:2px; transition:transform .3s ease, opacity .2s ease;}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{position:fixed; inset:0; z-index:999; background:rgba(10,12,14,.97); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .35s ease; overflow-y:auto;}
.mobile-menu.open{opacity:1; pointer-events:auto;}
.mobile-menu .mm-inner{padding:88px 28px 48px; display:flex; flex-direction:column; gap:26px; max-width:520px; margin:0 auto;}
.mobile-menu .mm-h{font-family:var(--f-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:10px;}
.mobile-menu .mm-group a{display:block; font-family:var(--f-display); font-size:22px; color:var(--paper); text-decoration:none; padding:9px 0; border-bottom:1px solid rgba(175,136,74,.1);}
.mobile-menu .mm-group a:hover{color:var(--gold-hi);}
.mobile-menu .mm-cta{display:flex; flex-direction:column; gap:12px; margin-top:8px;}
.mobile-menu .mm-cta a{text-align:center; padding:15px; font-family:var(--f-mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; text-decoration:none;}
.mobile-menu .mm-cta .btn-primary{background:var(--gold); color:var(--ink);}
.mobile-menu .mm-cta .btn-ghost{background:transparent; color:var(--paper); border:1px solid rgba(175,136,74,.4);}
body.menu-open{overflow:hidden;}

@media (max-width: 900px){
  .demo-grid, .owner-compare, .owner-cards, .pricing-grid, .origin-grid.with-portrait { grid-template-columns: 1fr; gap: 28px; }
  .nav .nav-links, .nav .nav-cta { display: none; }
  .nav .nav-burger { display: flex; }
}
/* ============================================================
   v6 — motion choreography, editorial photos, owner network,
   inline CTAs, sticky rail CTA
   ============================================================ */
:root{
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --duration-base: 480ms;
  --duration-slow: 880ms;
  --duration-cinematic: 1400ms;
}
.reveal-cinematic{ opacity:0; transform:translate3d(0,64px,0) scale(.98); filter:blur(8px);
  transition:opacity var(--duration-cinematic) var(--ease-out-expo), transform var(--duration-cinematic) var(--ease-out-expo), filter var(--duration-cinematic) var(--ease-out-expo); will-change:opacity,transform; }
.reveal-cinematic.is-visible{ opacity:1; transform:none; filter:blur(0); }
.parallax-photo{ will-change:transform; transition:transform 80ms linear; }
.hairline{ background:linear-gradient(90deg, transparent, var(--gold), transparent); height:1px; width:0; margin:0 auto; transition:width var(--duration-slow) var(--ease-out-quart); }
.hairline.is-visible{ width:100%; }

/* editorial full-bleed photo */
.editorial-photo{ position:relative; margin:0; width:100%; height:clamp(420px,70vh,680px); overflow:hidden; background:#0a0806; }
.editorial-photo img{ width:100%; height:112%; object-fit:cover; object-position:center 35%; display:block; }
.editorial-caption{ position:absolute; bottom:48px; left:48px; right:48px; display:flex; flex-direction:column; gap:12px; color:var(--paper); text-shadow:0 2px 24px rgba(0,0,0,.6); }
.editorial-caption .k{ font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-hi); }
.editorial-caption .l{ font-family:var(--f-display); font-style:italic; font-size:clamp(24px,2.4vw,36px); line-height:1.2; max-width:36ch; }

/* owner network proof */
.section--proof{ padding:140px var(--pad-x); background:var(--ink); color:var(--paper); border-top:1px solid rgba(201,162,106,.12); border-bottom:1px solid rgba(201,162,106,.12); }
.section--proof .inner{ max-width:var(--max); margin:0 auto; }
.owner-logos{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px; align-items:center; padding:56px 0; }
.owner-logo{ text-align:center; font-family:var(--f-display); font-size:clamp(18px,1.6vw,24px); color:var(--bone); letter-spacing:.01em; opacity:.72; transition:opacity var(--duration-base) var(--ease-out-quart); border:1px solid var(--ink-line); padding:26px 14px; }
.owner-logo .sub{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); margin-top:8px; }
.owner-logo:hover{ opacity:1; border-color:var(--gold-lo); }
.owner-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:48px; padding:56px 0 24px; }
.stat__value{ font-family:var(--f-display); font-style:italic; font-size:clamp(48px,5.5vw,80px); line-height:1; color:var(--gold-hi); letter-spacing:-.02em; }
.stat__label{ font-family:var(--f-sans); font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--paper); margin-top:14px; }
.stat__detail{ font-family:var(--f-mono); font-size:11px; letter-spacing:.05em; color:rgba(244,233,212,.55); margin-top:8px; }
.proof-footnote{ text-align:center; font-size:12px; letter-spacing:.06em; color:rgba(244,233,212,.4); margin:44px auto 0; max-width:680px; line-height:1.6; }
.proof-cta{ text-align:center; margin-top:44px; }

/* inline CTA after value moments */
.inline-cta{ display:flex; align-items:center; justify-content:space-between; gap:32px; max-width:880px; margin:0 auto; padding:32px 40px; border:1px solid rgba(201,162,106,.18); background:linear-gradient(180deg, rgba(201,162,106,.04), rgba(201,162,106,0)); }
.inline-cta .lead{ font-family:var(--f-display); font-style:italic; font-size:22px; color:var(--paper); line-height:1.3; }
.sect:not(.dark) .inline-cta .lead{ color:var(--ink); }
.btn-ghost-gold{ display:inline-block; padding:14px 28px; border:1px solid var(--gold-hi); background:transparent; color:var(--gold); font-family:var(--f-mono); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; white-space:nowrap; transition:all var(--duration-base) var(--ease-out-quart); }
.btn-ghost-gold:hover{ background:var(--gold); color:#0a0806; transform:translateY(-1px); }

/* sticky rail CTA */
.rail-cta{ position:fixed; right:24px; bottom:24px; z-index:50; opacity:0; transform:translateY(20px); transition:opacity var(--duration-base) var(--ease-out-quart), transform var(--duration-base) var(--ease-out-quart); pointer-events:none; }
.rail-cta.is-active{ opacity:1; transform:none; pointer-events:auto; }
.rail-cta a{ display:flex; align-items:center; gap:12px; padding:16px 22px; background:var(--gold-hi); color:#0a0806; text-decoration:none; font-family:var(--f-mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; line-height:1.2; box-shadow:0 12px 32px rgba(0,0,0,.4), 0 0 0 1px rgba(201,162,106,.3); transition:transform var(--duration-base) var(--ease-out-quart); }
.rail-cta a:hover{ transform:translateY(-2px); }
@media (max-width:1024px){ .rail-cta{ display:none; } }

@media (max-width:768px){
  .section--proof{ padding:96px var(--pad-x); }
  .owner-logos{ grid-template-columns:repeat(2,1fr); gap:24px; }
  .owner-stats{ grid-template-columns:repeat(2,1fr); gap:40px 24px; }
  .editorial-caption{ bottom:24px; left:24px; right:24px; }
  .inline-cta{ flex-direction:column; align-items:stretch; text-align:center; }
  .btn-ghost-gold{ width:100%; text-align:center; }
}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *, .diff-item__check, .reveal-cinematic { opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
  .hairline{ width:100% !important; }
}

/* ============================================================
   v10 Stream D — accessibility ceiling (global, all pages)
   ============================================================ */
/* D3 — visible gold focus ring on every focusable element */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, video:focus-visible {
  outline: 2px solid #C9A26A;
  outline-offset: 2px;
  border-radius: 2px;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }

/* D1 — active nav state */
.nav-links a[aria-current="page"], .mm-group a[aria-current="page"] { color: #C9A26A; }
.nav-links a[aria-current="page"]::after {
  content: ""; display:block; height:1px; background:#AF884A; margin-top:3px;
}

/* D2 — reduced motion: stop autoplay videos, show poster fallback */
@media (prefers-reduced-motion: reduce){
  *, ::before, ::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  video[autoplay] { display: none !important; }
  video[autoplay] + .poster-fallback { display: block !important; }
}
.poster-fallback { display: none; }
.story .poster-fallback { width:100%; height:100%; object-fit:cover; }
@media (prefers-reduced-motion: reduce){
  .story video { display: none !important; }
  .story .poster-fallback { display: block !important; }
}

/* D4 — contrast: ensure dim utility text clears AA on deep black.
   #8A8273 stone on #0a0806 ≈ 4.6:1 (AA body); keep body copy on --bone/--paper. */
.skip {
  position:absolute; left:-9999px; top:0; z-index:2000;
  background:#C9A26A; color:#0a0806; padding:12px 18px; font-family:var(--f-mono); font-size:12px;
}
.skip:focus { left:8px; top:8px; }
