/* Shared visual system: marketing pages and practice UI. */
:root{--space-section:80px;--content-width:1180px;--focus:#536600}
[hidden]{display:none!important}
section[id],main[id]{scroll-margin-top:100px}
.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);z-index:100;background:#111;color:#fff;padding:12px 20px;border-radius:12px}
.skip-link:focus{transform:none}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.dark :focus-visible,.engine-section :focus-visible,.sim-panel :focus-visible{outline-color:var(--lime)}
.button,.nav-cta,.text-link,.menu-toggle{transition:background-color .18s,color .18s,border-color .18s;min-height:48px}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;padding:14px 22px}
.button.primary:hover,.nav .nav-cta:hover{background:#30332c;border-color:#30332c}
.button.secondary:hover{background:#e5e7de}
.dark .button.secondary:hover,.sim-panel .button.secondary:hover{background:#2b3035}
.sim-panel .button.primary:hover,.scenario-cta .button.primary:hover{background:#c5ee2c;border-color:#c5ee2c;color:#111}
.button:disabled{opacity:.55;cursor:wait}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:750;color:inherit;text-underline-offset:5px}
.text-link:hover{text-decoration-thickness:2px}
.nav{padding-inline:max(24px,calc((100vw - 1180px)/2));gap:24px}
.nav .nav-cta{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:800;padding:10px 20px}
.menu-toggle{display:none;font:inherit;border:1px solid #111;border-radius:999px;background:transparent;padding:10px 18px;cursor:pointer;font-weight:700}
.section{padding:var(--space-section) max(28px,calc((100vw - 1180px)/2))}
.section h2{font-size:clamp(32px,4.1vw,52px);line-height:1.08;margin:16px 0 32px;text-wrap:balance}
.section-intro{margin:-12px 0 28px}
.hero{max-width:1236px;margin:auto;padding:64px 28px 68px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(42px,4.8vw,66px);line-height:1.04;letter-spacing:-.045em;margin-bottom:24px;text-wrap:balance}
.hero h1 span{opacity:1;color:#62645d}
.hero .eyebrow{margin-bottom:20px}
.hero-copy{font-size:18px;line-height:1.6}
.hero-actions{gap:16px;margin-top:26px;align-items:center}
.hero-meta{gap:8px}
.hero-meta span{font-size:12px;color:#55584f}
.product-preview{min-width:0;background:#111518;color:#f5f6f7;border:1px solid #353b40;border-radius:22px;padding:24px;box-shadow:0 16px 50px #11111110;text-align:left}
.preview-top{display:flex;justify-content:space-between;gap:16px;font-size:11px;font-weight:800;letter-spacing:.08em;border-bottom:1px solid #394046;padding-bottom:16px}
.preview-dot{color:var(--lime)}
.preview-label{font-size:11px;color:#b8c0c6;font-weight:750;letter-spacing:.08em;margin:22px 0 16px}
.preview-message{padding:16px;background:#20262b;border:1px solid #41494e;border-radius:14px;margin:12px 20px 12px 0}
.preview-message b{font-size:10px;letter-spacing:.08em;color:#c1c8cd}
.preview-message p{margin:7px 0 0;font-size:15px;line-height:1.55}
.preview-you{margin:12px 0 12px 20px;background:#283314;border-color:#52652b}
.preview-you b{color:#d8ff7b}
.preview-coaching{border-top:1px solid #394046;margin-top:22px;padding-top:20px}
.preview-coaching>span{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.07em}
.preview-coaching h3{font-size:23px;line-height:1.2;margin:10px 0}
.preview-coaching p{font-size:14px;color:#c5ccd1}
.preview-dimensions{display:flex;flex-wrap:wrap;gap:8px}
.preview-dimensions span{font-size:12px;border:1px solid #52652b;border-radius:999px;padding:5px 10px;color:#e3efc7}
.proof{max-width:1180px;margin:0 auto;gap:24px}
.proof div{padding:20px 0;font-size:14px}
.cards article{padding:24px}
.num{margin-bottom:24px}
.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scenario-grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;padding:20px;border:1px solid #50544c;border-radius:14px;font-weight:700;line-height:1.4;background:#191b18;transition:background-color .18s,border-color .18s}
.scenario-grid a:after{content:'↗';color:var(--lime);font-size:20px}
.scenario-grid a:hover{background:#252b1c;border-color:#d8ff3e}
.engine-hint{margin:-10px 0 26px}
.engine-card summary{padding:22px}
.sim-panel,.feedback-card{max-width:100%}
.micro{font-size:13px}
.access-status{font-size:14px;color:#484e40;max-width:850px}
.access-status:empty{display:none}
.price-grid{max-width:none;gap:20px}
.price{display:flex;flex-direction:column;align-items:flex-start;padding:28px;min-width:0}
.price h3{margin:16px 0 0}.price .amount{margin:20px 0}
.price p{margin:0 0 14px}.price .button{margin-top:auto}
.price p:last-of-type{margin-bottom:26px}
.price .tag{color:#53574d;font-size:11px}
.pricing-note{font-size:14px;color:#62645d;line-height:1.5}
.faq-list{max-width:900px}
.faq-list details{border-bottom:1px solid #cdd0c7;padding:0}
.faq-list summary{padding:22px 30px 22px 0;font-weight:750;cursor:pointer;line-height:1.5}
.faq-list p{margin:0 0 24px;max-width:72ch;color:#50554b;line-height:1.65}
.home-faq{padding-top:48px;padding-bottom:48px}
.feedback-section{padding-top:28px;padding-bottom:28px;border-top:1px solid #d5d5cf}
#feedbackDetails>summary{font-size:18px;font-weight:700;cursor:pointer;padding:16px 0}
.feedback-content{padding-top:28px}
.feedback-content .section-label{display:none}
.final{padding-top:64px;padding-bottom:80px}
.seo-hero{max-width:1236px;margin:auto;padding:64px 28px 40px}
.seo-hero h1{font-size:clamp(38px,4.8vw,66px);line-height:1.06;max-width:950px;text-wrap:balance}
.seo-hero p{font-size:18px;max-width:72ch;color:#50554b}
.service-preview{max-width:1236px;margin:auto;padding:24px 28px 56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}
.service-preview h2{font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.03em;max-width:540px;text-wrap:balance}
.service-preview>div>p{font-size:18px;line-height:1.65;color:#50554b;max-width:58ch}
.service-preview .button{margin-top:16px}
.seo-copy{max-width:1236px;padding:0 28px 72px;margin:auto}
.seo-copy>p,.seo-copy>ul{max-width:76ch;line-height:1.7;color:#42463f}
.seo-copy h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.025em;margin:44px 0 20px}
.seo-copy>ul{padding:24px 24px 24px 44px;background:#fff;border:1px solid #d5d5cf;border-radius:18px}
.seo-copy>.faq-list{max-width:900px}
.related-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin-bottom:32px}
.related-scenarios a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:22px;background:#fff;border:1px solid #cdd0c7;border-radius:14px}
.related-scenarios a:hover{border-color:#111}
footer{font-size:13px;color:#62645d}
@media(min-width:1600px){.hero{max-width:1236px}.section{padding-inline:calc((100vw - 1180px)/2)}}
@media(max-width:1100px){.hero{gap:32px}.nav nav{gap:18px}.proof{margin-inline:28px}.hero h1{font-size:52px}}
@media(max-width:900px){
 .nav{height:auto;min-height:76px;padding:14px 24px;flex-wrap:wrap;gap:16px}
 .nav nav{width:100%;flex-wrap:wrap;gap:8px}
 .nav nav a:not(.nav-cta){display:inline-flex;align-items:center;min-height:48px;padding:10px 14px}
 .nav-enhanced .menu-toggle{display:inline-flex;align-items:center;margin-left:auto}
 .nav-enhanced nav{display:none}
 .nav-enhanced.menu-open nav{display:flex;flex-direction:column;align-items:stretch;padding-top:8px}
 .nav-enhanced.menu-open nav a{width:100%;justify-content:center}
 .hero{grid-template-columns:1fr;max-width:760px;padding-top:48px;gap:36px}
 .hero h1{font-size:clamp(42px,7vw,60px)}
 .hero .product-preview{max-width:600px;width:100%;justify-self:center}
 .scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-preview{gap:32px}
}
@media(max-width:760px){
 :root{--space-section:56px}
 .section{padding-inline:24px}.hero{padding:40px 24px 48px}
 .section h2{font-size:34px;margin-bottom:26px}
 .hero-copy{font-size:17px}.hero h1{font-size:clamp(38px,8.7vw,54px)}
 .proof{margin-inline:24px;gap:0}.proof div{padding:14px 0}
 .cards,.price-grid{gap:16px}.price{min-height:340px}
 .service-preview{grid-template-columns:1fr;padding:12px 24px 40px}
 .seo-hero{padding:42px 24px 28px}.seo-hero h1{font-size:clamp(36px,8.6vw,52px)}
 .seo-copy{padding:0 24px 48px}.seo-copy h2{margin-top:32px}
 .related-scenarios{grid-template-columns:1fr}
 .sim-panel,.feedback-card{padding:24px 20px}
 input,select,textarea,.sim-panel select,.sim-panel textarea{font-size:16px}
 .history-card{gap:12px;padding:16px;min-width:0}.history-card div{min-width:0;overflow-wrap:anywhere}
 .home-faq{padding-block:40px}.feedback-section{padding-block:20px}.final{padding-block:48px}
}
@media(max-width:420px){
 .nav{padding-inline:18px}.brand{font-size:14px;letter-spacing:.04em}.menu-toggle{padding-inline:14px}
 .hero-actions{align-items:stretch}.hero-actions>.button{width:100%}
 .hero-actions>.text-link{justify-content:center;width:100%}
 .scenario-grid{grid-template-columns:1fr}.scenario-grid a{min-height:64px}
 .product-preview{padding:20px}.preview-message{margin-right:10px}.preview-you{margin-left:10px;margin-right:0}
 .dims>div{grid-template-columns:90px minmax(0,1fr) 30px;font-size:13px;gap:8px}
 .score{flex-wrap:wrap}.score em{margin-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
