/* KnightStone — warm editorial refinement. Existing brand families retained. */
@font-face{font-family:'Cormorant Garamond';src:url('cormorant-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('inter-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--navy:#20211e;--navy-2:#2b2c27;--navy-3:#34362f;--ink:#252820;--gray:#66685f;--gray-2:#b3b4aa;--gold:#b99a54;--gold-2:#d8bd80;--gold-deep:#80662f;--bg:#faf9f5;--soft:#f0eee7;--line:#deddd3;--font-display:'Cormorant Garamond',Georgia,serif;--gold-grad:linear-gradient(135deg,#dbc289,#b99a54)}
body{font-family:var(--font-ui);font-size:15px;line-height:1.7;background:var(--bg)}
.wrap{max-width:1248px;padding-inline:40px}
section{padding:88px 0}
.h2{font-family:var(--font-serif);font-size:clamp(38px,4.3vw,60px);font-weight:400;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
.center{text-align:center}.head{margin-bottom:36px}.lead{font-family:var(--font-ui);font-size:15px;line-height:1.8;max-width:600px;margin-top:18px}
.eyebrow{font:500 10px/1.7 var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:18px}
.btn{border-radius:4px!important;font-size:11px!important;letter-spacing:.055em!important;text-transform:none!important;padding:16px 25px!important;min-height:50px;box-shadow:none!important;transition:background .2s,transform .2s,border-color .2s}
.btn-gold{background:var(--gold)!important;background-image:none!important;color:#20211e!important}
.btn-gold:hover{background:#c8ac6e!important;transform:translateY(-2px)}
.btn-dark{background:var(--navy)!important;color:#fff!important}
.btn-outline{color:var(--ink)!important;border:1px solid #a9ab9e!important;background:transparent!important}
.btn-outline:hover{background:#eeeee5!important;color:var(--ink)!important}
nav{background:#faf9f5f5!important;color:var(--ink)!important;border-bottom:1px solid var(--line)!important;backdrop-filter:blur(16px)}
.nav-in{height:82px}.logo .lwm{color:var(--ink);font-size:30px;letter-spacing:-.01em}
.logo .lsub{color:var(--gray);font-size:8px;letter-spacing:.23em}.logo .lrule{background:var(--line)}
.nav-links>a{color:var(--ink)!important;font-size:11px;letter-spacing:0}.nav-phone{color:var(--ink)!important}
.burger{color:var(--ink)}.nav-cta .btn{min-height:42px;padding:12px 18px!important}.logo img{border-radius:0!important}
#heroCopy{padding:84px 0 66px;position:relative;background:var(--bg)}
#heroCopy h1{font-size:clamp(48px,6.4vw,88px);line-height:.99;letter-spacing:-.045em;max-width:900px;margin-bottom:25px}
#heroCopy h1 .gold{display:block;color:#957535!important}
#heroCopy .lead{font-size:15px;line-height:1.75;max-width:580px}
.hero-actions{gap:12px;margin-top:26px}
.risk-note{border-top:1px solid var(--line);max-width:630px;margin-top:32px;padding-top:20px;font:12px/1.7 var(--font-ui);color:var(--gray)}
.risk-note p:first-child{color:var(--ink);font-weight:500}.risk-note p+p{margin-top:5px}
.footnote{font:11px/1.6 var(--font-ui);color:#6a6b61!important;margin:14px 0}
.trust{background:var(--bg)!important;color:var(--ink)!important;border-block:1px solid var(--line)!important}
.trust .ti{padding:25px 18px;border-color:var(--line)!important;gap:12px}
.trust .ti .ic{background:transparent;color:var(--gold-deep);width:24px;height:30px}
.trust .ti .tt{font:500 11px/1.5 var(--font-ui)}.trust .ti .ts{color:var(--gray)!important;font-size:10px;line-height:1.5;margin-top:4px}
#how-membership-works{background:#faf9f5}
.step-labels{font:10px/1.5 var(--font-ui);letter-spacing:.04em;gap:38px;margin-bottom:24px}
.vision-track{gap:22px;padding:0 0 14px;scrollbar-width:none}.vision-track::-webkit-scrollbar{display:none}
.journey-card{flex:0 0 91%;padding:0!important;border:1px solid var(--line)!important;border-radius:8px!important;box-shadow:none!important;overflow:hidden;grid-template-columns:1.15fr 1fr;gap:0;background:#f0eee7!important}
.journey-card .clay-scene{height:380px;border-radius:0;background:#ece7db}
.clay-scene img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.clay-scene .clay-video{display:block;width:100%;height:100%;object-fit:cover}
.clay-video-toggle{position:absolute;right:12px;bottom:12px;z-index:2;border:1px solid #ffffff70!important;border-radius:99px;background:#20211ee6!important;color:#fff!important;font:10px/1.2 var(--font-ui);padding:10px 13px;min-height:44px;cursor:pointer}
.clay-video-toggle:hover{background:#20211e!important}.clay-video-toggle:disabled{cursor:default;opacity:.7}
.journey-card>div+div{padding:38px 40px}
.journey-card h3{font-size:42px;line-height:1.03;font-weight:400;letter-spacing:-.03em;margin:0 0 18px;text-wrap:balance}
.journey-card p{font-size:14px}.journey-card p.eyebrow{font-size:10px;color:var(--gold-deep)!important;margin-bottom:24px}
.journey-card:hover .clay-scene img{transform:scale(1.025)}
.carousel-controls{justify-content:flex-end;font:10px/1.5 var(--font-ui);letter-spacing:.12em;margin:6px 0 16px;gap:16px}
.carousel-controls button{background:transparent;border:1px solid #a9ab9e;color:var(--ink);width:42px;height:42px;font-size:18px;transition:.2s}
.carousel-controls button:hover:enabled{background:var(--ink);color:#fff}.carousel-controls button:disabled{opacity:.3}
#how-membership-works>.wrap>.center{margin-top:-48px;pointer-events:none}#how-membership-works>.wrap>.center a{pointer-events:auto}
#plans{background:var(--soft);border-block:1px solid var(--line)}
.billing{width:max-content;max-width:100%;margin:25px auto 18px;padding:4px;border:1px solid var(--line);border-radius:99px;background:#e5e4db;gap:4px}
.billing button{background:transparent!important;border:0!important;min-height:40px;padding:10px 24px;font:11px var(--font-ui);box-shadow:none}
.billing [aria-pressed=true]{background:#fff!important;color:var(--ink);box-shadow:0 2px 8px #20211e12;font-weight:500}
.plan-grid{gap:0;margin-top:32px;align-items:stretch}
.plan-grid .plan-card{border:1px solid var(--line)!important;border-radius:0!important;padding:32px 30px;box-shadow:none!important;background:#faf9f5!important}
.plan-grid .plan-card:first-child{border-radius:8px 0 0 8px!important}
.plan-grid .plan-card:last-child{border-radius:0 8px 8px 0!important}
.plan-grid .plan-card:nth-child(2){background:var(--navy)!important;color:#faf9f5!important;border-color:var(--navy)!important;position:relative;box-shadow:0 18px 38px #20211e15!important}
.plan-kicker{font:10px/1.5 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)!important;margin:0 0 26px!important}
.plan-title{font-family:var(--font-serif);font-weight:400;font-size:32px!important;letter-spacing:-.03em;line-height:1.1!important;margin:0 0 8px!important}
.plan-subtitle{font-size:12px;margin-top:0;line-height:1.5}
.plan-price{margin-top:25px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.plan-price-main{font:400 64px/1.05 var(--font-serif);letter-spacing:-.06em}.plan-price-period{font:11px var(--font-ui);letter-spacing:0;margin-left:7px}
.plan-price-main{display:block;white-space:normal!important;overflow-wrap:anywhere}.billing:has([data-cadence=annual][aria-pressed=true])~.plan-grid .plan-price-main{font-size:38px;letter-spacing:-.035em}
.plan-benefits{font:13px/1.7 var(--font-ui);margin:18px 0 20px;color:var(--gray)!important}
.plan-benefits li{position:relative;padding:10px 0 10px 19px;border:0}.plan-benefits li::before{content:'✓';position:absolute;left:0;color:var(--gold-deep);font-size:11px}
.plan-grid .plan-card:nth-child(2) .plan-kicker{color:var(--gold-2)!important}
.plan-grid .plan-card:nth-child(2) .plan-subtitle,.plan-grid .plan-card:nth-child(2) .plan-benefits,.plan-grid .plan-card:nth-child(2) .plan-price-period{color:#d1d2c8!important}
.plan-grid .plan-card:nth-child(2) .plan-price{border-color:#ffffff25}
.plan-grid .plan-card:nth-child(2) .plan-benefits li::before{color:var(--gold-2)}
.plan-card .btn{font-size:11px!important;letter-spacing:0!important;white-space:normal}
#membership-faq,#service-faq{border-top:1px solid var(--line);padding:64px 0}
#membership-faq>.wrap,#service-faq>.wrap{max-width:1000px}
.faq{max-width:850px;margin:auto}.qa{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0;margin:0;background:transparent!important}
.qa summary{padding:21px 0;font:400 14px/1.5 var(--font-ui)}
.qa .a{padding:0 36px 24px 0;font:13px/1.85 var(--font-ui);max-width:760px}
.qa summary .pl{font-weight:400;color:var(--gold-deep)}
.request-panel{background:#eae9e1;padding:70px 24px}
.request-panel .book{box-shadow:0 12px 40px #20211e08!important;border-radius:8px;max-width:890px}
.book-body{padding:32px}.book-tabs button{font-size:10px;padding:18px 8px;text-transform:none;letter-spacing:0}
.fld label,.service-field legend{font-size:10px;letter-spacing:.04em;text-transform:none}
.fld input,.fld select{border-radius:4px;font-size:14px;min-height:48px;background:#faf9f5!important}
.service-choice,.photo-drop{border-radius:4px!important}.service-help{font-size:11px}.request-panel .head .lead{margin-inline:auto}
#about{padding:80px 0}.team-grid{grid-template-columns:1fr;max-width:440px;margin:auto;gap:32px}
.sec-dark .tmcard{background:transparent!important;border:0!important;box-shadow:none;border-radius:0}
.tmcard .tmphoto{aspect-ratio:5/4;border-radius:4px;filter:saturate(.65)}
.tmcard .tmphoto img{object-position:center 28%}.tmcard .tmbody{padding:24px 0 0}
.tmname{font:400 36px/1.1 var(--font-serif)}.tmrole{font-size:10px;letter-spacing:.06em}.tmbio{font-size:13px;line-height:1.8}
.sec-dark .tmbadge{font-size:9px;padding:8px 12px;border-radius:2px}
#about .head .lead{max-width:660px;font-size:13px}
#veterans{padding:64px 0;background:#eae6d9;border-bottom:1px solid #d8d2be}
#veterans .lead{font-family:var(--font-serif);font-size:30px}#veterans .lead .gold{color:var(--gold-deep)!important}
#veterans>.wrap>p:not(.lead):not(.footnote){font-size:13px}
#learn{padding:72px 0;background:var(--bg)}
.vision-article{flex:0 0 38%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 0 16px!important}
.vision-article .clay-scene{height:250px;border-radius:5px}
.vision-article h3{font:400 29px/1.1 var(--font-serif);letter-spacing:-.02em;max-width:330px;margin:24px 0 12px}
.vision-article p{font-size:12px;max-width:320px;line-height:1.7}.vision-article>a{font:500 11px var(--font-ui);border-bottom:1px solid #a4a58f;padding-bottom:6px}
footer{padding:60px 0 24px!important}.foot-grid{gap:40px}.foot-bottom{font-size:10px}
dialog.vision-dialog{background:var(--bg);border-radius:8px;box-shadow:0 24px 100px #0004;padding:32px;font-size:13px}
.vision-dialog .close{border:1px solid var(--line);border-radius:50%;background:transparent}.vision-dialog h2{font-size:38px;line-height:1.1}
.vision-dialog form{display:grid;gap:12px;margin:18px 0 8px}
.vision-dialog .fld{display:flex;flex-direction:column;gap:6px}
.vision-dialog .fld input,.vision-dialog .fld select{width:100%;border:1px solid var(--line);border-radius:4px;min-height:48px;padding:0 12px;background:#faf9f5;font:14px/1.4 var(--font-ui)}
.vision-dialog .lead-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45}
.vision-dialog .lead-consent input{margin-top:3px;flex:none}
.vision-dialog .lead-error{min-height:1.2em;color:#b03e3e;margin:0}
.vision-dialog .plan-legal{color:#6b6b6b;font-size:12.5px;line-height:1.55;margin:12px 0 16px}
.vision-dialog #previewOutcome{margin:12px 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#f6f5f3;font-size:14px;line-height:1.55}
.vision-dialog #selectedSummary{font-size:15px;margin:8px 0 0}

.article-body{padding:50px 24px}.article-body h1{font:400 56px/1.05 var(--font-serif);letter-spacing:-.03em}.article-body .clay-scene{height:auto;aspect-ratio:3/2}.article-body p{font-size:15px}
body:has(main.wrap){--font-serif:'Cormorant Garamond',Georgia,serif;--font-ui:Inter,system-ui,sans-serif;font:14px/1.75 var(--font-ui)}
main.wrap>section>h1{font:400 60px/1.05 var(--font-serif);letter-spacing:-.04em;margin:24px 0 16px}
main.wrap .plan-grid{gap:28px}main.wrap .plan-grid>.card{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
main.wrap .plan-grid>.card .clay-scene{border-radius:5px}main.wrap .plan-grid>.card p{font:13px/1.8 var(--font-ui);margin:14px 0}
main.wrap .plan-grid>.card a{font-size:12px}
@media(min-width:1001px){.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.wrap{padding-inline:28px}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-grid .plan-card{padding:25px 18px}.plan-title{font-size:27px!important}.nav-links{gap:10px}.nav-links>a{font-size:10px}.trust .wrap{grid-template-columns:1fr 1fr}.journey-card>div+div{padding:28px}.journey-card h3{font-size:35px}}
@media(max-width:700px){
 .wrap{padding-inline:24px}section{padding:58px 0}.h2{font-size:42px}.head{margin-bottom:28px}.lead{font-size:13px}
 .nav-in{height:68px}.logo .lwm{font-size:25px}.nav-cta .btn{font-size:10px!important;padding:10px 12px!important}.nav-links.open{background:var(--bg)!important;border-bottom:1px solid var(--line)}.nav-links.open a{font-size:14px!important;padding:10px}
 #heroCopy{padding:55px 0 44px}#heroCopy h1{font-size:51px;line-height:1.01;letter-spacing:-.045em}#heroCopy .eyebrow{font-size:8px;letter-spacing:.13em}#heroCopy .lead{font-size:12px;line-height:1.8}
 .hero-actions{flex-wrap:nowrap;gap:8px}.hero-actions .btn{padding:14px 16px!important;font-size:10px!important;flex:1}.risk-note{font-size:11px;padding-top:20px;margin-top:24px}
 .trust .wrap{padding:0 16px}.trust .ti{align-items:flex-start;padding:20px 8px;gap:7px}.trust .ti .tt{font-size:10px}.trust .ti .ts{font-size:9px}.trust .ti .ic{width:20px}.trust .ti .ic svg{width:17px}
 .step-labels{gap:14px;font-size:8px;letter-spacing:0}.journey-card{flex-basis:91%;grid-template-columns:1fr}.journey-card .clay-scene{height:230px}.journey-card>div+div{padding:26px}.journey-card h3{font-size:35px}.journey-card p{font-size:12px}.journey-card p.eyebrow{margin-bottom:13px}.vision-track{gap:14px}
 #how-membership-works>.wrap>.center{margin-top:0}.carousel-controls{margin:5px 0 22px}
 .plan-grid{grid-template-columns:1fr;gap:16px;margin-top:25px}.plan-grid .plan-card{padding:28px!important;border-radius:8px!important}.plan-grid .plan-card:first-child,.plan-grid .plan-card:last-child{border-radius:8px!important}.plan-title{font-size:34px!important}.plan-kicker{margin-bottom:20px!important}.plan-price{margin-top:18px;padding-bottom:18px}.plan-price-main{font-size:60px}.plan-benefits{margin-top:14px}.plan-benefits li{padding-block:7px}
 #membership-faq,#service-faq{padding:50px 0}.qa summary{font-size:13px}.qa .a{font-size:12px}
 .request-panel{padding:52px 16px}.request-panel .h2{font-size:40px}.book-body{padding:22px 16px}.brow{grid-template-columns:1fr}.book-tabs button{font-size:9px}.book-foot .btn{width:100%}
 #about{padding:58px 0}.team-grid{grid-template-columns:1fr;gap:34px}.tmcard .tmphoto{aspect-ratio:5/4}.tmcard .tmbody{padding-top:20px}
 #veterans{padding:50px 0}#veterans .h2{font-size:42px}#learn{padding:54px 0}.vision-article{flex-basis:87%}.vision-article .clay-scene{height:210px}.vision-article h3{font-size:28px}
 .article-body h1{font-size:42px}.article-body{padding:32px 24px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.clay-scene img{transform:none!important}}

/* ============================================================
   Brutal-critique fixes — hero film chrome, carousel, quiet notes.
   Appended last so it settles over the base sheet above.
   ============================================================ */


/* --- sticky nav: drawer meets the bar it hangs from at every nav height --- */
@media(max-width:1240px){.nav-links.open{top:100%!important}}
@media(max-width:430px){
  .nav-in{gap:10px}.nav-cta{gap:8px}.logo .lwm{font-size:21px}
  .nav-cta .btn{padding:10px 11px!important;font-size:9px!important}
}

/* --- carousels: nothing clipped, pagination you can read and click --- */
.vision-track{padding:8px 8px 18px;margin-inline:-8px;scroll-snap-type:x proximity;scroll-padding-inline:8px;overscroll-behavior-x:contain}
.vision-article{min-width:0}
.carousel-controls{gap:14px}
.carousel-dots{display:flex;align-items:center;gap:2px}
.carousel-controls .carousel-dots .carousel-dot{position:relative;width:26px;height:26px;padding:0;border:0!important;border-radius:50%;background:transparent!important;cursor:pointer}
.carousel-controls .carousel-dots .carousel-dot::after{content:"";position:absolute;inset:9px;border-radius:50%;border:1px solid #a9ab9e;transition:.2s}
.carousel-controls .carousel-dots .carousel-dot:hover::after{border-color:var(--ink)}
.carousel-controls .carousel-dots .carousel-dot.is-on::after{inset:8px;background:var(--gold-deep);border-color:var(--gold-deep)}
[data-count]{font:10px/1 var(--font-ui);letter-spacing:.12em;color:var(--gray)}
[data-journey].is-static .carousel-controls{display:none}
[data-journey].is-static .vision-track{overflow-x:visible}
/* Three articles, three columns — nothing cut off mid-headline at the edge. */
@media(min-width:1001px){#learn .vision-article{flex:0 0 calc((100% - 44px) / 3)}}
@media(min-width:701px) and (max-width:1000px){#learn .vision-article{flex:0 0 calc((100% - 22px) / 2)}}

/* --- FAQ: first answer open, so the band is never an empty cream slab --- */
.qa[open] summary{color:var(--ink);font-weight:500}
.qa[open] summary .pl{transform:rotate(45deg)}
.qa .a{color:var(--gray)}

/* --- quiet notes: one footnote per surface, never a wall --- */
.plan-footnote{font:11px/1.7 var(--font-ui);color:#6a6b61;max-width:640px;margin:34px auto 0}
.form-status{font:11px/1.6 var(--font-ui);color:var(--gray);margin-top:10px}
.form-status:empty{display:none}
.foot-note{max-width:760px;margin-top:10px;font:10px/1.7 var(--font-ui);color:#8b8d83}

@media(max-width:700px){
  .vision-track{padding:6px 6px 14px;margin-inline:-6px}
  .carousel-controls{justify-content:center;gap:8px}
  .plan-footnote{margin-top:26px}
}

/* ============================================================
   JP round 2 — under-hero rebuild (appended last; wins the cascade)
   Order is now nav → film → editorial landing. Page ground is white.
   ============================================================ */

:root{--bg:#ffffff;--soft:#f6f4ee;--film-ratio:1288/1610}
body{background:#fff}

/* --- P0-B: sticky nav at the top, quiet, with clear space for the CTA --- */
nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92)!important;border-bottom:1px solid #ecebe6!important}
.nav-cta .btn{min-height:44px;padding:0 20px!important;font-size:12px!important;letter-spacing:.02em!important}
@media(max-width:700px){
  .nav-in{height:64px;gap:12px}
  .nav-cta{gap:12px;padding-right:2px}
  .nav-cta .btn{min-height:40px;padding:0 14px!important;font-size:11px!important}
}
@media(max-width:430px){.nav-cta .btn{padding:0 12px!important;font-size:11px!important}}

/* --- P0-D: first editorial band — confident type, intentional padding --- */
#heroCopy{background:#fff;padding:96px 0 72px;text-align:center}
#heroCopy .eyebrow{font:500 11px/1.6 var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin:0 auto 22px}
#heroCopy h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(46px,6.2vw,86px);line-height:1;letter-spacing:-.035em;max-width:880px;margin:0 auto 22px;text-wrap:balance}
#heroCopy .lead{font:400 17px/1.65 var(--font-ui);color:#4d4f47;max-width:560px;margin:0 auto}
#heroCopy .hero-actions{display:flex;justify-content:center;gap:14px;margin-top:34px;flex-wrap:wrap}
#heroCopy .hero-actions .btn{min-height:52px;padding:0 28px!important;font-size:13px!important;letter-spacing:.02em!important;border-radius:4px!important}
#heroCopy .risk-note{border-top:1px solid #ecebe6;max-width:560px;margin:40px auto 0;padding-top:18px;font:12px/1.7 var(--font-ui);color:var(--gray)}
#heroCopy .risk-note p:first-child{color:var(--gray);font-weight:400}
@media(max-width:700px){
  #heroCopy{padding:60px 0 52px}
  #heroCopy .eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:18px}
  #heroCopy h1{font-size:clamp(42px,12.5vw,52px);line-height:1;margin-bottom:18px}
  #heroCopy .lead{font-size:15px;line-height:1.7}
  #heroCopy .hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:28px;max-width:360px;margin-inline:auto}
  #heroCopy .hero-actions .btn{flex:none;width:100%;min-height:52px;padding:0 20px!important;font-size:13px!important}
  #heroCopy .risk-note{margin-top:30px;padding-top:16px;font-size:11.5px}
}

/* --- trust strip: quieter, aligned, one hairline ---------------------- */
.trust{background:#fff!important;border-top:1px solid #ecebe6!important;border-bottom:1px solid #ecebe6!important}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust .ti{display:flex;align-items:center;gap:12px;padding:22px 20px;border-right:1px solid #ecebe6!important}
.trust .ti:last-child{border-right:0!important}
.trust .ti .ic{width:22px;height:22px;flex:none;color:var(--gold-deep);background:transparent}
.trust .ti .ic svg{width:18px;height:18px}
.trust .ti .tt{font:500 12px/1.4 var(--font-ui);color:var(--ink);letter-spacing:0}
.trust .ti .ts{font:400 11px/1.5 var(--font-ui);color:var(--gray)!important;margin-top:2px}
@media(max-width:1000px){.trust .wrap{grid-template-columns:1fr 1fr}.trust .ti:nth-child(2){border-right:0!important}.trust .ti:nth-child(-n+2){border-bottom:1px solid #ecebe6}}
@media(max-width:700px){
  .trust .wrap{padding:0 24px}
  .trust .ti{align-items:flex-start;padding:16px 12px 16px 0;gap:10px;border-right:0!important}
  .trust .ti:nth-child(2n){padding-left:12px;border-left:1px solid #ecebe6}
  .trust .ti .tt{font-size:11px}.trust .ti .ts{font-size:10px}
  .trust .ti .ic{width:18px;height:18px;margin-top:1px}.trust .ti .ic svg{width:16px;height:16px}
}

/* --- global button proportion: no 10px labels, no tall gold slabs ----- */
.btn{font-size:12px!important;letter-spacing:.02em!important;min-height:48px;padding:0 24px!important}
.btn-gold{background:var(--gold)!important;color:#20211e!important}
@media(max-width:700px){.btn{font-size:12px!important;min-height:46px;padding:0 20px!important}}
.eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:16px}
@media(max-width:700px){.eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:14px}}

/* --- P1: veterans + know-your-home rhythm ------------------------------ */
#veterans{padding:72px 0;background:var(--soft);border-bottom:1px solid #e6e3d9}
#veterans>.wrap{max-width:720px}
#veterans .eyebrow{margin-bottom:14px}
#veterans .h2{margin:0 0 10px;font-size:clamp(36px,4.2vw,56px)}
#veterans .lead{font-family:var(--font-serif);font-size:clamp(24px,2.6vw,30px);line-height:1.2;margin:0 auto 14px!important;max-width:none}
#veterans>.wrap>p:not(.lead):not(.footnote){font:400 15px/1.65 var(--font-ui);color:#4d4f47;max-width:520px;margin:0 auto}
#veterans .footnote{font:400 11.5px/1.6 var(--font-ui);color:#7a7b72!important;max-width:520px;margin:12px auto 24px}
#veterans .btn{min-height:46px;padding:0 24px!important;font-size:12px!important}
#learn{padding:72px 0 64px;background:#fff}
#learn .head{margin-bottom:28px}
#learn .head .eyebrow{margin-bottom:14px}
#learn .head .h2{margin-bottom:8px}
#learn .head .lead{font:400 15px/1.65 var(--font-ui);color:#4d4f47;margin:0 auto}
@media(max-width:700px){
  #veterans{padding:52px 0}
  #veterans .h2{font-size:38px;margin-bottom:8px}
  #veterans .lead{font-size:24px;margin-bottom:12px!important}
  #veterans>.wrap>p:not(.lead):not(.footnote){font-size:14px}
  #veterans .footnote{margin:10px auto 20px}
  #veterans .btn{min-height:44px;font-size:12px!important}
  #learn{padding:52px 0 44px}
  #learn .head{margin-bottom:22px}
  #learn .head .h2{font-size:38px}
  #learn .head .lead{font-size:14px}
}

/* soft cream surfaces elsewhere follow the new lighter ground */
#plans,.sec-soft{background:var(--soft)}
#how-membership-works{background:#fff}
.plan-card .btn,.book-foot .btn,.commercial-cta .btn{padding:12px 20px!important;line-height:1.3}


/* --- Autoplay + denser under-film band (JP: videos autoplay; heroCopy was hungry) --- */
#heroCopy{padding:56px 0 48px!important}
#heroCopy .eyebrow{margin-bottom:14px!important}
#heroCopy h1{margin-bottom:14px!important}
#heroCopy .lead{margin-top:0!important;font-size:16px!important;max-width:520px;margin-inline:auto}
#heroCopy .hero-actions{margin-top:22px!important}
#heroCopy .risk-note{margin-top:22px!important;padding-top:16px!important}
@media(max-width:700px){
  #heroCopy{padding:40px 0 36px!important}
  #heroCopy h1{font-size:clamp(34px,9vw,44px)!important}
  #heroCopy .lead{font-size:15px!important}
}
.clay-scene video.clay-video{opacity:1}


/* --- Trust strip: KnightStone gold/orange banner (JP) + no video buttons --- */
#playToggle,
.clay-video-toggle{display:none!important;pointer-events:none!important}

.trust{
  background:var(--gold)!important;
  background-image:linear-gradient(180deg,#c8ac6e 0%,var(--gold) 55%,#a88842 100%)!important;
  color:#20211e!important;
  border:0!important;
}
.trust .wrap{border:0!important}
.trust .ti{
  border-color:rgba(32,33,30,.18)!important;
  color:#20211e!important;
}
.trust .ti .ic{color:#20211e!important}
.trust .ti .tt{color:#20211e!important;font-weight:600}
.trust .ti .ts{color:rgba(32,33,30,.72)!important}
@media(max-width:1000px){
  .trust .ti{border-color:rgba(32,33,30,.18)!important}
  .trust .ti:nth-child(-n+2){border-bottom:1px solid rgba(32,33,30,.18)!important}
}
@media(max-width:700px){
  .trust .ti:nth-child(2n){border-left:1px solid rgba(32,33,30,.18)!important}
}




/* --- Commercial: editorial white band, quiet rule, 2x2 step grid --- */
#commercial{padding:84px 0 80px;background:#fff!important;color:var(--ink)!important}
#commercial .head{margin-bottom:34px}
#commercial .lead{max-width:600px}
.commercial-rule{
  max-width:640px;margin:0 auto 44px;padding:20px 8px 22px;text-align:center;
  border-top:1px solid var(--gold)!important;border-bottom:1px solid var(--line)!important;
  font:400 19px/1.55 var(--font-serif);color:var(--ink)!important;
}
.commercial-rule b{
  display:block;margin-bottom:6px;
  font:600 11px/1.5 var(--font-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gray)!important;
}
.commercial-steps{
  list-style:none;margin:0 auto;padding:0;max-width:1000px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;
}
.commercial-step{
  position:relative;min-width:0;padding:30px 28px 30px 30px!important;
  display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:18px;align-items:start;align-content:start;
}
.commercial-step .commercial-num{
  grid-row:1 / span 2;padding-top:4px;
  font:400 30px/1 var(--font-display);letter-spacing:.02em;color:var(--gold)!important;
  font-variant-numeric:tabular-nums;
}
.commercial-step h3{
  margin:0 0 8px;font:400 26px/1.15 var(--font-serif);letter-spacing:0;color:var(--ink)!important;
  white-space:normal;overflow:visible;overflow-wrap:break-word;word-break:normal;hyphens:manual;
}
.commercial-step p{
  margin:0;font:400 15.5px/1.65 var(--font-ui);color:var(--gray)!important;
  white-space:normal;overflow:visible;overflow-wrap:break-word;word-break:normal;
}
.commercial-foot{
  max-width:1000px;margin:44px auto 0;padding-top:30px;border-top:1px solid var(--line)!important;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 48px;align-items:start;
}
.commercial-factors-label{
  margin:0 0 12px;font:600 11px/1.5 var(--font-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gray)!important;
}
.commercial-factors{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.commercial-factors li{
  padding:8px 13px;border:1px solid var(--line)!important;border-radius:999px;
  background:var(--soft)!important;color:var(--ink)!important;font:500 12.5px/1.2 var(--font-ui);letter-spacing:.01em;
}
.commercial-cta{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.commercial-cta p{margin:0;max-width:520px;font:400 15px/1.6 var(--font-ui);color:var(--gray)!important}
.commercial-cta .btn{flex:none}
@media(max-width:900px){
  .commercial-foot{grid-template-columns:1fr;gap:28px}
}
@media(max-width:700px){
  #commercial{padding:56px 0 52px}
  #commercial .head{margin-bottom:26px}
  .commercial-rule{margin-bottom:30px;padding:16px 4px 18px;font-size:17px}
  .commercial-steps{grid-template-columns:1fr;gap:14px}
  .commercial-step{padding:22px 20px!important;column-gap:14px}
  .commercial-step .commercial-num{font-size:26px;padding-top:2px}
  .commercial-step h3{font-size:23px}
  .commercial-step p{font-size:15px}
  .commercial-foot{margin-top:32px;padding-top:24px}
  .commercial-cta .btn{width:100%}
}

/* ============================================================
   HEROSHOT — 2026-09-11i. True 16:9 desktop film from Content Creator
   (will-ad-claymation-v5-family-16x9-vo → membership-vsl-wide.mp4 1920×1080).
   Heights still match live .hero-media clamps. Desktop/iPad: cover fills
   the panel (16:9 into ~16:9 box). Phone: portrait membership-vsl-phone + cover.
   ============================================================ */
:root{--nav-h:82px;--stage:#0c0d11}
@media(max-width:700px){:root{--nav-h:64px}}
.vision-video{display:block;position:relative;width:100%;
  height:clamp(360px,62svh,700px);
  min-height:0;max-height:none;padding:0;margin:0;
  background:var(--stage)!important;border-bottom:0;overflow:hidden}
.vision-video .film{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;
  overflow:hidden;background:var(--stage)!important;border-radius:0;box-shadow:none;aspect-ratio:auto}
.vision-video video{position:absolute;inset:0;width:100%;height:100%;display:block;background:transparent;opacity:1}
/* Desktop/iPad — true landscape source fills like live panel */
.vision-video .hero-vid-d{display:block!important;object-fit:cover!important;object-position:center center!important}
.vision-video .hero-vid-m{display:none!important}
@media(min-width:981px){
  .vision-video{height:clamp(620px,calc(100svh - 106px),760px)}
}
@media(max-width:980px){
  .vision-video{height:clamp(430px,64svh,620px)}
}
@media(max-width:767px){
  .vision-video{height:min(520px,128vw);min-height:430px}
  .vision-video .hero-vid-d{display:none!important}
  .vision-video .hero-vid-m{display:block!important;object-fit:cover!important;object-position:center top!important}
}
.vision-video .video-controls{position:absolute;inset:auto 12px 12px auto;width:auto;margin:0;padding:0;background:transparent;display:flex;gap:0;pointer-events:none;z-index:3}
.vision-video .video-controls #soundToggle{display:inline-flex;align-items:center;pointer-events:auto;
  background:rgba(18,18,16,.48)!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;
  border-radius:99px!important;padding:0 14px!important;min-height:34px!important;height:34px;
  font:500 10px/1 var(--font-ui)!important;letter-spacing:.04em!important;transform:none!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.vision-video .video-controls #soundToggle:hover,.vision-video .video-controls #soundToggle:focus-visible{background:rgba(18,18,16,.66)!important}
.vision-video .video-controls #soundToggle[aria-pressed="true"]{background:var(--gold)!important;color:#20211e!important;border-color:var(--gold)!important}

/* ============================================================
   FAQ SPLIT — 2026-09-11a. Carousel | three.js clay iPad stage.
   Desktop ≥900px two columns; mobile stacks carousel then stage.
   ============================================================ */
#faq{background:#fff;border-top:1px solid var(--line);padding:88px 0 72px}
#faq .head{margin-bottom:40px}
#faq .faq-split{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:36px 42px;align-items:stretch;max-width:1180px;margin:0 auto;
}
#faq .faq-carousel{
  display:flex;flex-direction:column;justify-content:center;gap:22px;
  min-height:420px;padding:28px 30px 24px;
  background:var(--soft);border:1px solid var(--line);border-radius:10px;
}
#faq .faq-viewport{position:relative;flex:1;min-height:280px}
#faq .faq-slide{display:none;animation:faqIn .35s ease}
#faq .faq-slide.is-on,#faq .faq-slide:not([hidden]){display:block}
#faq .faq-slide[hidden]{display:none!important}
#faq .faq-q{
  margin:0 0 16px;font:400 clamp(26px,2.6vw,36px)/1.18 var(--font-serif);
  letter-spacing:-.02em;color:var(--ink);text-wrap:balance;
}
#faq .faq-a{margin:0;font:400 14.5px/1.8 var(--font-ui);color:var(--gray);max-width:540px}
#faq .faq-a b{color:var(--ink);font-weight:600}
#faq .faq-a ul{margin:12px 0 4px;padding-left:20px}
#faq .faq-a li{margin:6px 0}
#faq .faq-controls{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
#faq .faq-nav{
  width:42px;height:42px;border:1px solid #a9ab9e;border-radius:4px;
  background:transparent;color:var(--ink);font-size:18px;cursor:pointer;transition:.2s;
}
#faq .faq-nav:hover{background:var(--ink);color:#fff}
#faq .faq-nav:disabled{opacity:.3;cursor:default}
#faq .faq-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;flex:1}
#faq .faq-dot{
  position:relative;width:22px;height:22px;padding:0;border:0;border-radius:50%;
  background:transparent;cursor:pointer;
}
#faq .faq-dot::after{
  content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid #a9ab9e;transition:.2s;
}
#faq .faq-dot:hover::after{border-color:var(--ink)}
#faq .faq-dot.is-on::after,#faq .faq-dot[aria-current="true"]::after{
  inset:7px;background:var(--gold-deep);border-color:var(--gold-deep);
}
#faq .faq-stage{
  position:relative;min-height:420px;height:100%;border-radius:10px;overflow:hidden;
  background:#14181f;border:1px solid #1e2430;box-shadow:0 18px 40px #20211e12;
}
#faq .faq-stage-canvas{display:block;width:100%;height:100%;min-height:420px}
#faq .faq-stage-video{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 18%;background:#0c0d11}
#faq .faq-cta{margin-top:36px}
@keyframes faqIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  #faq .faq-slide{animation:none}
}
@media(max-width:899px){
  #faq{padding:64px 0 56px}
  #faq .faq-split{grid-template-columns:1fr;gap:22px}
  #faq .faq-carousel{min-height:0;padding:22px 20px 18px}
  #faq .faq-viewport{min-height:220px}
  #faq .faq-q{font-size:28px}
  #faq .faq-a{font-size:13.5px}
  #faq .faq-stage{min-height:340px;height:340px}
  #faq .faq-stage-canvas,#faq .faq-stage-video{min-height:340px;height:340px}
  #faq .faq-cta{margin-top:28px}
}
@media(max-width:700px){
  #faq .faq-stage{min-height:300px;height:300px}
  #faq .faq-stage-canvas,#faq .faq-stage-video{min-height:300px;height:300px}
  #faq .faq-controls{justify-content:center}
}
/* Dual heroshot: wide qg-v4 on desktop/iPad, true 9:16 qg-v4 twin on phone. */
.vision-video.restored-hero{height:auto;min-height:0;aspect-ratio:16/9}
.vision-video.restored-hero .hero-vid-d{display:block!important;object-fit:contain!important;object-position:center!important}
.vision-video.restored-hero .hero-vid-m{display:none!important}
@media(max-width:767px){
  .vision-video.restored-hero{aspect-ratio:9/16;max-height:min(88svh,720px);height:auto}
  .vision-video.restored-hero .hero-vid-d{display:none!important}
  .vision-video.restored-hero .hero-vid-m{display:block!important;object-fit:cover!important;object-position:center top!important}
}

/* Hero owner face beside the headline — face scales; copy stays put */
.hero-owner{position:relative;display:block;max-width:720px;padding-left:72px}
.hero-owner-photo{position:absolute;left:0;top:0;width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:center 18%;border:2px solid #e7e4df;box-shadow:0 6px 18px #00000014;z-index:1}
.hero-owner-copy{min-width:0}
.hero-owner-copy .eyebrow{margin:2px 0 10px}
.hero-owner-copy h1{margin:0}
@media(max-width:700px){
  .hero-owner{padding-left:60px}
  .hero-owner-photo{width:76px;height:76px}
}
