/* Final typography, interaction, and surface details. */
:root{--muted:#626779;--ease-out:cubic-bezier(.22,1,.36,1);--surface-line:#dfe2ee}
body{text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p{overflow-wrap:break-word}
.hero-description,.chapter-description,.section-heading>p{color:#5f6377}
.hero-description{letter-spacing:-.025em;max-width:560px}
.hero-bottom{color:#687087}
.eyebrow{font-weight:600}
.button{border-radius:10px;transition:background .2s,box-shadow .25s,transform .25s var(--ease-out)}
.button:active{transform:translateY(0) scale(.985)}
.button-primary{background:#5d4bea;box-shadow:0 2px 3px #2b1c8210,0 9px 22px #5d4bea22,inset 0 1px #ffffff29}
.button-small{border-radius:8px}
.text-link{text-underline-offset:5px;text-decoration-thickness:1px}
:is(a,button,summary):focus-visible{outline:2px solid #7464ee;outline-offset:5px}
.header{background:#f8f9fcec;border-color:#e1e3efb3;box-shadow:0 1px 0 #ffffff70;-webkit-backdrop-filter:blur(18px)}
.brand{font-weight:730;letter-spacing:-1.4px;white-space:nowrap}
.brand-mark{transition:opacity .2s;image-rendering:auto}
.brand:hover .brand-mark{opacity:.8}
.desktop-nav a[aria-current="location"]{color:var(--accent)}
.desktop-nav a[aria-current="location"]:after{right:0}
.platform-subheader .journey-nav-inner{border-color:#e0e2ee;box-shadow:0 4px 7px #20234c03,0 12px 32px #20234c08}
.platform-subheader a{color:#707389;font-weight:500;min-height:44px}
.platform-subheader .step-dot{color:#71748a;border-color:#d9dce9;font-variant-numeric:tabular-nums}
.platform-subheader a.is-current{background:rgba(var(--scene-rgb),.07)}
.platform-subheader a.is-visited:not(.is-current){color:#7d728e}
.journey-nav-title,.journey-count{color:#77778f}
.journey-count b{font-variant-numeric:tabular-nums}
.menu-toggle span{transition:transform .22s var(--ease-out),background .22s}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-nav{box-shadow:0 18px 30px #20234c08}
.mobile-nav>a[aria-current="location"]{color:var(--accent);font-weight:600}
.chapter-number{font-variant-numeric:tabular-nums;letter-spacing:-1.7px}
.chapter-number small{color:#797b90;letter-spacing:.2px}
.chapter-heading{max-width:430px}
.chapter-discovered{color:#7b7c90}
.feature-chapter.is-discovered .chapter-discovered{color:#777085}
.story-copy .eyebrow{color:#73758a;letter-spacing:.09em}
.story-copy h3{font-weight:600}
.chapter-description{line-height:1.9}
.chapter-tags{gap:8px}
.chapter-tags span{border-radius:7px;font-size:13px;line-height:1.4;color:#696d81;background:#fff9}
.feature-chapter.is-active .chapter-tags span{background:rgba(var(--scene-rgb),.045);border-color:rgba(var(--scene-rgb),.19)}
.world-node.main{border-radius:14px;border-color:#d9dbea;box-shadow:0 2px 4px #24204003,0 10px 28px #24204007}
.world-node.main strong{color:#53586f}
.world-node.main small{color:#777b94}
.world-node.minor{color:#7d8096;background:#f8f9fcde}
.world-node.minor.connected{color:#646a82}
.world-node.quiet{opacity:.2}
.world-node.is-related{opacity:1;border-color:rgba(var(--scene-rgb),.4)}
.world-node.minor.is-related{color:var(--scene);background:#fff}
.world-edges path.is-hovered{stroke:var(--scene);stroke-width:1.8;opacity:.85}
.world-edge-label.is-hovered{color:var(--scene);opacity:1;background:#fff}
.world-core{box-shadow:0 0 0 8px #ffffff85,0 0 0 9px #d9d3eeaa,0 16px 42px #5d4bea1c}
.journey-complete{border-radius:20px;border-color:#dedfee;background:linear-gradient(115deg,#fff,#f5f3ff);box-shadow:0 4px 8px #24204002,0 20px 45px #24204006}
.journey-complete h3{font-weight:600}
.journey-complete p{font-size:16px;color:#666b80}
.completion-symbol{display:grid;place-items:center;flex:none;width:72px;height:72px;border-radius:20px;border:1px solid #e7e2f6;background:#fff;line-height:1}
.completion-symbol img{display:block;width:52px;height:52px}
.journey-complete.all-discovered .completion-symbol{transform:none;border-color:#cfc7f5;box-shadow:0 0 0 5px #6554e808}
.section-pad{padding-block:clamp(76px,7.5vw,112px)}
.section-heading{margin-bottom:40px;gap:32px}
.section-heading>div,.section-heading>h2,.section-heading>p,.faq-heading{background:none;border-radius:0}
.section-heading>p{max-width:360px;padding-right:0}
.solution-grid{gap:24px}
.solution-card{display:flex;flex-direction:column;border-color:var(--surface-line);border-radius:18px;background:#fff;padding:34px 32px 0;box-shadow:0 3px 7px #24204002}
.solution-card h3{font-weight:590;margin-top:30px}
.solution-card>p{font-size:16px;color:#686d80}
.solution-chip{color:#6d7186;background:#f7f8fc;border-color:#e2e4ef;border-radius:7px;line-height:1.4}
.solution-model{width:100%;min-height:150px;margin-top:auto}
.solution-model>span{color:#676b83;border-color:#dfe2ed;background:#f9faff}
.solution-model>.model-main{color:#5e4bc7;background:#f1eeff}
.solution-link{font-size:14px;color:#5846bf;font-weight:600;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;line-height:1.6}
.solution-note{color:#74798c;background:none;padding-inline:0}
.solution-note p{font-size:14px}
.insights{background:#f0f2f8;border-color:#e1e4ee}
.insights-description{font-size:16px;color:#686e82}
.insight-grid{align-items:stretch;gap:24px}
.insight-card{display:flex;flex-direction:column;background:#fff;border-color:#e0e4ef;border-radius:16px;padding:12px 12px 24px;box-shadow:0 3px 6px #24204002;transition:border-color .25s,box-shadow .3s,transform .3s var(--ease-out)}
.insight-card .article-visual{border-radius:10px;border-color:#00000005}
.insight-card:hover .article-visual{transform:none}
.article-meta{color:#737a8e;margin-top:22px;line-height:1.6}
.insight-card h3{font-weight:590;font-size:22px;line-height:1.5}
.insight-card>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:15px;color:#626a80;line-height:1.8;margin-bottom:24px;min-height:0}
.article-read{margin-top:auto;align-self:flex-start;font-size:14px;color:#5e647c;border-bottom-color:#d2d5e2}
.art-label,.art-index{color:#79698e}
.capacity-visual :is(.art-label,.art-index){color:#637b99}
.time-visual :is(.art-label,.art-index){color:#647b6a}
.faq{gap:48px;align-items:start}
.faq-heading .text-link{color:#666d84;font-size:14px}
.faq-list{padding:0 26px;border:1px solid #e1e4ee;border-radius:16px;background:#fff}
.faq details:first-child{border-top:0}
.faq details:last-child{border-bottom:0}
.faq summary{padding:24px 0;font-size:16px;font-weight:550;letter-spacing:-.025em}
.faq summary span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#686f88;background:#f4f5fa;font-size:0;position:relative}
.faq summary span::before,.faq summary span::after{content:"";position:absolute;width:10px;height:1.5px;background:currentColor;border-radius:1px;transition:transform .2s}
.faq summary span::after{transform:rotate(90deg)}
.faq details[open] summary span{color:var(--accent);background:#efedff;transform:none}
.faq details[open] summary span::after{transform:rotate(0)}
.faq details>p{color:#687085;font-size:16px;line-height:1.85;padding:0 34px 25px 0}
.faq details[open]>p{animation:answerReveal .22s ease-out}
.contact-section{background:linear-gradient(115deg,#4838bf,#6554e8);padding-block:88px}
.contact-copy h2{font-weight:600}
.contact-copy>p{font-size:16px;color:#e0dbfa}
.contact-action{padding:28px;border:1px solid #ffffff30;border-radius:18px;background:#ffffff09;box-shadow:inset 0 1px #ffffff0a}
.contact-action legend{font-size:16px;color:#f9f7ff}
.interest-options{gap:8px}
.interest-options label{flex:1 1 auto}
.interest-options label>span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:14px;border-radius:9px;text-align:center;background:#35257820;color:#f1edff;line-height:1.5}
.interest-options label>span::before{content:"";width:14px;height:14px;flex-shrink:0;border:1px solid #ffffff88;border-radius:50%;box-sizing:border-box}
.interest-options input:checked+span::before{border:4px solid #5d4bea;background:#fff}
.interest-options input:checked+span{background:#fff;color:#4d3cbd;border-color:#fff;box-shadow:0 3px 10px #22126718;font-weight:600}
.contact-action input:focus-visible+span{outline:2px solid #fff;outline-offset:4px}
.contact-action .button{font-size:16px;min-height:56px;font-weight:650;gap:14px}
.contact-action .button::after{content:"→";font-size:20px;font-weight:400;flex-shrink:0}
.contact-action .button:focus-visible{outline-color:#fff}
.contact-note{color:#e0dafa;font-size:13px;min-height:44px;text-align:left;margin-top:16px}
footer{background:#fff}
.footer-top .brand-mark{width:32px;height:32px;border-radius:0}
.footer-top>div>p{font-size:14px;color:#767c91}
.footer-nav{gap:clamp(28px,5vw,76px)}
.footer-nav strong{font-size:14px;color:#454d66}
.footer-nav a{font-size:14px;color:#70788e;min-height:28px;display:inline-flex;align-items:center}
.footer-bottom,.footer-bottom>a{color:#737b90}
@keyframes answerReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){
 .solution-card:hover,.solution-card:focus-within{border-color:#bdb6ed;box-shadow:0 8px 30px #3023670b}
 .insight-card:hover,.insight-card:focus-visible{transform:translateY(-4px);border-color:#bdb6ed;box-shadow:0 12px 28px #3023670c}
 .faq summary:hover{color:var(--accent)}
 .footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}
}
@media(min-width:701px) and (max-width:1000px){
 .insight-grid{gap:16px}.insight-card h3{font-size:20px}
 .insight-card>p{font-size:16px}
 .solution-card{padding-inline:24px}.solution-card h3{font-size:25px}
 .contact-content{gap:28px}.contact-action{padding:23px}
 .faq{gap:28px;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr)}
}
@media(max-width:700px){
 .hero-copy{padding-top:42px}.hero-description{font-size:16px;line-height:1.85;word-break:keep-all}
 .hero-actions{gap:12px 18px;align-items:center}.hero-actions .button{font-size:14px;padding:16px 22px;min-height:50px}
 .hero-actions .text-link{font-size:14px}.hero-bottom{font-size:13px;line-height:1.6}
 .header-actions .button-small{min-height:40px}.menu-toggle{width:42px;height:42px}
 .mobile-nav{padding:10px 20px 24px;max-height:calc(100dvh - 72px);overscroll-behavior:contain}
 .platform-subheader{padding-inline:10px}.platform-subheader .journey-nav-inner{border-radius:12px}
 .platform-subheader a{font-size:12px;min-height:48px}
 .chapter-heading{margin-bottom:16px;max-width:none}.chapter-number{font-size:30px}
 .chapter-description{line-height:1.85}.chapter-tags span{font-size:13px;padding:7px 9px}
 .world-node.main{border-radius:10px}.world-core{box-shadow:0 0 0 5px #fff9,0 0 0 6px #d9d3eeaa,0 12px 30px #5d4bea1a}
 .journey-complete{padding:26px 22px;gap:18px;border-radius:16px}
 .completion-symbol{width:48px;height:48px;border-radius:13px}.completion-symbol img{width:38px;height:38px}
 .journey-complete>div{flex-basis:calc(100% - 66px)}.journey-complete h3{font-size:25px;line-height:1.4}
 .journey-complete .button{margin:4px 0 0;width:100%}
 .section-pad{padding-block:72px}.section-heading{margin-bottom:30px}
 .section-heading>p{font-size:16px;margin-top:20px;max-width:none}
 .solution-grid{gap:18px}.solution-card{padding:26px 24px 0;border-radius:15px}
 .solution-card h3{font-size:27px;margin-top:28px}.solution-top{gap:10px;flex-wrap:wrap}
 .solution-model{min-height:144px}.solution-model>span{padding:11px 10px;min-width:0}
 .solution-model>.model-main{padding:16px 12px}.solution-link{font-size:14px;line-height:1.7}
 .solution-note{padding-inline:2px;gap:12px}
 .insight-grid{gap:22px}.insight-card{padding:12px 12px 24px}
 .insight-card .article-visual{height:200px}.insight-card h3{font-size:23px}
 .insights .section-heading .text-link{font-size:14px;min-height:40px}
 .faq-list{padding:0 20px;border-radius:14px}.faq-heading{padding:0}
 .faq summary{font-size:16px;gap:16px;padding:22px 0}.faq details>p{padding-right:0;font-size:16px}
 .contact-section{padding:62px 0 max(62px,env(safe-area-inset-bottom))}
 .contact-content{gap:28px}.contact-copy h2{font-size:35px;line-height:1.3}
 .contact-action{padding:24px 20px;border-radius:16px}.contact-action legend{font-size:16px;line-height:1.7}
 .interest-options label{flex:1 1 calc(50% - 4px)}.interest-options label:last-child{flex-basis:100%}
 .interest-options label>span{padding:11px 8px;font-size:14px}.contact-note{min-height:44px;font-size:13px}
 .footer-top{gap:32px;padding-bottom:32px}.footer-nav{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .footer-nav strong{font-size:13px}.footer-nav a{font-size:13px;min-height:32px;word-break:keep-all}
 .footer-bottom{align-items:flex-start;gap:12px;line-height:1.7}
}
@media(max-width:380px){
 .hero-actions{flex-direction:row;align-items:center}.hero-actions .button{width:auto;padding-inline:20px}
 .hero-actions .text-link{align-self:auto}.hero .eyebrow{letter-spacing:0;font-size:12px;line-height:1.6}
 .journey-complete>div{flex-basis:100%}.completion-symbol{display:none}
 .solution-card{padding-inline:20px}.solution-card h3{font-size:25px}
 .solution-model>span{font-size:12px;padding-inline:8px}.solution-model>.model-main{padding-inline:9px}
 .insight-card h3{font-size:21px}.contact-action{padding:22px 16px}
 .contact-copy h2{font-size:32px}.footer-nav{gap:9px}
}
@media(prefers-reduced-motion:reduce){.faq details[open]>p{animation:none}}
