.app-frame{transform:translateY(var(--hero-lift,0)) rotate(var(--hero-turn,-7deg));will-change:transform}h1,h2{font-family:BrandHeading,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:800}.hero h1{letter-spacing:-.07em}.journey{background:#f5f5f7;color:#17151c;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:0 max(7vw,24px) 100px}.journey-visual{position:relative}.visual-inner{position:sticky;top:95px;height:calc(100vh - 120px);max-height:810px;min-height:590px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9e4ee;border-radius:40px;transition:background .8s;overflow:hidden}.visual-label{font-size:12px;letter-spacing:.14em;color:#84768c;margin:18px 0 22px}.study-frame{margin:0;width:min(64%,290px);filter:drop-shadow(0 20px 22px #30204520);transition:transform .8s}.study-frame img{display:block;width:100%;height:auto;border-radius:28px;border:5px solid #fff}.screen-note{font-size:12px;color:#7e7386;margin:14px 0}.chapter-dots{display:flex;gap:8px;margin:7px 0 18px}.chapter-dots i{display:block;width:6px;height:6px;border-radius:10px;background:#c5b9d0;transition:width .4s,background .4s}.chapter-dots i.active{width:25px;background:#8250bc}.chapter{min-height:86vh;display:flex;flex-direction:column;justify-content:center;padding:80px 0}.chapter h2{font-size:clamp(36px,4vw,60px)}.chapter h2 span{color:#8a789b}.chapter>p:not(.step){font-size:20px;line-height:1.85;color:#736a7b;max-width:480px}.step{font-size:14px;color:#7844b0;font-weight:600;margin:0 0 30px}.mini-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.mini-list span{border-bottom:1px solid #c8bfd0;padding:9px 0;margin-right:14px;font-size:14px;color:#564b61}.chapter-callout{border-left:2px solid #8e51c7;padding-left:22px;margin-top:25px;color:#8a789b;line-height:1.5;font-size:23px}.chapter-callout strong{color:#503168}.journey[data-active="1"] .visual-inner{background:#e5deef}.journey[data-active="1"] .study-frame{transform:rotate(2deg)}.journey[data-active="2"] .visual-inner{background:#e0deed}.journey[data-active="2"] .study-frame{transform:rotate(-2deg)}.planner{background:#100a1a;position:relative;overflow:hidden;text-align:center}.planner h2 span{background:linear-gradient(110deg,#cfb5ff,#a678ef,#e0c7ff);color:transparent;background-clip:text}.planner .lead{color:#b6a8c5}.planner-flow{max-width:1000px;margin:80px auto 50px;display:flex;align-items:center;justify-content:center;gap:0}.flow-source{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flow-source span{padding:15px;border:1px solid #433250;border-radius:10px;color:#b6a8c5;font-size:14px;white-space:nowrap}.flow-line{width:70px;height:1px;background:linear-gradient(90deg,#4e2f66,#b786fb);flex-shrink:0}.flow-core{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:180px;min-height:180px;border:1px solid #715187;border-radius:50%;background:radial-gradient(circle,#66339365,transparent 70%);box-shadow:0 0 65px #8a38d320;font-size:16px;line-height:1.6}.flow-core img{width:49px;height:49px;clip-path:inset(14%);margin-bottom:8px}.flow-core strong{font-size:20px}.flow-result{text-align:left}.flow-result p{font-size:22px;font-weight:700;margin:0 0 12px}.flow-result span{font-size:14px;color:#b6a8c5}.planner-note{color:#93869f;font-size:13px;max-width:600px;margin:0 auto;line-height:1.8}.subjects{background:white;color:#201b26}.subjects h2 span{color:#8f829b}.subject-list{margin-top:70px}.subject-list>div{display:grid;grid-template-columns:55px 1fr 1fr;align-items:center;border-top:1px solid #ded8e3;padding:30px 0}.subject-list>div:last-child{border-bottom:1px solid #ded8e3}.subject-list>div>span{color:#9c8baa;font-size:13px}.subject-list h3{font-size:30px;letter-spacing:-.04em;margin:0}.subject-list p{color:#7d7187;font-size:16px;margin:0;text-align:right}.subjects-note{font-size:13px;color:#8b808f;margin:24px 0 0;line-height:1.8}.release-note{font-size:13px;color:#a99ab7;margin:22px 0 0}.reveal.animate{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.shown{opacity:1;transform:none}.legal-page{background:#f7f6f9;color:#231d2b}.legal-page .nav{background:#fffefbf0;border-color:#e8e2ed}.legal-page .nav-cta{background:#eee6fa}.legal-main{max-width:880px;padding:85px 28px 110px;margin:auto;min-height:70vh}.legal-main h1{font-size:clamp(34px,5vw,54px);line-height:1.3;margin:0 0 20px;letter-spacing:-.04em}.legal-main h2{font-size:24px;margin:45px 0 16px;line-height:1.45;letter-spacing:-.025em}.legal-main p,.legal-main li{font-size:16px;line-height:1.95;color:#62596c;white-space:pre-line;overflow-wrap:anywhere}.legal-main a:not(.button){color:#743db1;text-decoration:underline;text-underline-offset:4px}.legal-main .button{margin:18px 0}.legal-main .eyebrow{color:#89639e}.legal-main .effective{font-size:14px;color:#8b7f95;margin:0 0 44px}.legal-main .notice{padding:24px;background:#ece5f4;border-radius:16px;margin:28px 0}.legal-main ul{padding-left:22px}@media(max-width:900px){.journey{gap:5vw;padding-left:30px;padding-right:30px}.visual-inner{min-height:520px}.study-frame{width:80%}.chapter h2{font-size:38px}.chapter>p:not(.step){font-size:18px}.planner-flow{flex-direction:column;gap:0}.flow-line{width:1px;height:42px;background:linear-gradient(#4e2f66,#b786fb)}.flow-source{grid-template-columns:repeat(4,1fr)}.flow-result{text-align:center}}@media(max-width:600px){.journey{display:flex;flex-direction:column;padding:0 24px 70px;gap:0}.visual-inner{position:relative;top:auto;min-height:0;height:auto;padding:22px 20px;max-height:none;border-radius:28px}.study-frame{width:230px}.visual-label{margin:0 0 24px}.chapter-dots{display:none}.chapter{min-height:0;padding:65px 0 10px}.chapter h2{font-size:40px}.chapter>p:not(.step){font-size:18px;line-height:1.8}.step{margin-bottom:20px}.chapter-callout{font-size:22px}.planner-flow{margin-top:48px}.flow-source{grid-template-columns:1fr 1fr}.flow-source span{font-size:14px;padding:13px 17px}.subject-list{margin-top:45px}.subject-list>div{grid-template-columns:32px 1fr;gap:10px;padding:25px 0}.subject-list h3{font-size:27px}.subject-list p{grid-column:2;text-align:left;font-size:14px}.legal-main{padding-top:55px}.legal-main h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.reveal.animate{opacity:1;transform:none}.app-frame{transform:rotate(-7deg);will-change:auto}.study-frame{transform:none!important}}

.hero h1{font-size:clamp(72px,10.5vw,152px);line-height:1.2}.hero h1 span{color:#ac72f4}.hero-copy>.button{margin-top:32px}.hero .eyebrow{color:#b47afa}.hero-stage{margin-top:55px}@media(max-width:600px){.hero h1{font-size:clamp(53px,14vw,84px)}.hero-copy>.button{margin-top:26px}}

.app-brand{display:inline-flex;align-items:center;gap:8px!important;font:400 16px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;letter-spacing:-.4px!important;white-space:nowrap}.app-brand img{width:32px;height:32px;object-fit:contain}.app-brand strong{font-weight:800}.policy-layout{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,760px);gap:48px;padding:48px 24px}.policy-layout .legal-main{margin:0;padding:0;min-width:0;max-width:760px}.policy-layout h1{font-size:32px;line-height:1.4;letter-spacing:-.04em}.policy-layout h2{font-size:20px;line-height:1.5;margin-top:32px;scroll-margin-top:100px}.policy-layout p{font-size:16px;line-height:1.8;margin:16px 0;overflow-wrap:anywhere}.policy-menu{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:100px}.policy-menu strong{font-size:20px;margin-bottom:16px}.policy-menu a{padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5}.policy-menu a[aria-current]{background:#eee5fa;color:#7439ac;font-weight:700}.policy-toc{display:grid;gap:8px;padding:20px;border:1px solid #e4dceb;border-radius:16px;margin:24px 0}.policy-toc a{font-size:14px;line-height:1.6;color:#714595}.policy-layout .effective{font-size:14px;color:#7a638a}@media(max-width:760px){.policy-layout{display:block;padding:28px 20px}.policy-menu{position:static;margin-bottom:32px;display:grid;grid-template-columns:1fr 1fr}.policy-menu strong{grid-column:1/-1}.policy-layout h1{font-size:28px}}
