@font-face{font-family:Onest;src:url('fonts/Onest-VF.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--yellow:#FFE14A;--black:#121212;--paper:#FFFDF4;--pale:#FFF6C4;--line:#D9D4C3;--muted:#4A4739;--dark-muted:#D4D0C1;--wrap:1440px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--black);font:400 18px/1.55 Onest,system-ui,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;letter-spacing:-.015em}h1{font-size:clamp(44px,5vw,72px);line-height:1.06;letter-spacing:-.025em;text-wrap:balance}h2{font-size:clamp(32px,3.4vw,52px);line-height:1.1;text-wrap:balance}h3{font-size:24px;line-height:1.25}a{color:inherit;text-underline-offset:.2em}button{font:inherit;color:inherit;cursor:pointer}svg{display:block;flex:none}img{display:block;max-width:100%;height:auto}::selection{background:var(--black);color:var(--yellow)}.dark ::selection{background:var(--yellow);color:var(--black)}:focus-visible{outline:3px solid var(--black);outline-offset:5px}.dark :focus-visible{outline-color:var(--yellow)}.wrap{max-width:var(--wrap);margin:auto;padding:0 clamp(24px,4vw,64px)}section{padding:clamp(64px,7.8vw,112px) 0}.lead{font-size:clamp(20px,1.5vw,24px);font-weight:500;line-height:1.45;max-width:38rem}.muted{color:var(--muted)}.fine{font-size:15px;line-height:1.5}.section-head{display:grid;gap:20px;margin-bottom:48px}.section-head h2{max-width:24ch}.section-head p{max-width:40rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 28px;border:2px solid var(--black);border-radius:999px;background:var(--yellow);text-decoration:none;font-weight:600;line-height:1.3;box-shadow:0 4px 0 var(--black);transition:background .15s,transform .15s var(--ease),box-shadow .15s var(--ease)}.button:hover{background:#FFD61F}.button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--black)}.button svg{width:22px;height:22px}.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-weight:600}.text-link svg{width:20px;height:20px}.hero{padding:24px 0 56px;background:var(--yellow)}.topline{display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{width:148px;height:auto}.topline nav{display:flex;gap:28px;font-size:15px;font-weight:600}.topline nav a{min-height:44px;display:inline-flex;align-items:center}.hero-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:36px;align-items:center;margin-top:56px}.hero h1{max-width:20ch}.hero .lead{margin-top:28px;max-width:37rem}.hero .actions{margin-top:32px;display:grid;gap:18px;justify-items:start}.hero .button,.final .button{background:white}.hero .button:hover,.final .button:hover{background:var(--paper)}.hero-raven img{width:100%;border-radius:16px}.work-intro{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}.work-intro .section-head{margin:0}.work-intro h2{max-width:17ch}.recognition{margin:0;padding:0;list-style:none;border-top:2px solid var(--black)}.recognition li{padding:24px 0;border-bottom:1px solid var(--line)}.recognition p{font-size:23px;font-weight:500;line-height:1.4;max-width:34rem}.dark{background:var(--black);color:var(--paper)}.dark .muted{color:var(--dark-muted)}.demo-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}.demo-heading h2{max-width:17ch}.demo-heading .lead{margin-top:24px}.demo-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.demo-tabs button{border:1px solid var(--dark-muted);border-radius:999px;background:transparent;padding:10px 17px;color:var(--paper);font-size:16px;transition:background .15s,color .15s}.demo-tabs button[aria-selected=true]{background:var(--yellow);color:var(--black);border-color:var(--yellow)}.demo-tabs button:hover{border-color:var(--yellow)}.demo-context{border-top:1px solid #656356;margin-top:32px;padding-top:24px}.demo-context p{margin-top:10px;font-size:17px;max-width:31rem}.demo-context h3{font-size:19px;font-weight:600;color:var(--yellow)}.demo-heading .fine{margin-top:28px;max-width:32rem}.chat{display:flex;flex-direction:column;gap:16px;max-width:38rem;width:100%;justify-self:end}.message{padding:18px 22px;max-width:88%;border-radius:22px;font-size:20px;line-height:1.45}.message .who{display:block;font-size:13px;font-weight:600;line-height:1.4;margin-bottom:7px}.message.bot{background:var(--yellow);color:var(--black);border-bottom-left-radius:6px;align-self:start}.message.user{background:var(--paper);color:var(--black);border-bottom-right-radius:6px;align-self:end}.message.correction{align-self:start;max-width:95%;background:var(--pale);color:var(--black);border-radius:16px;font-size:18px}.message.correction p+p{margin-top:12px}.message.correction s{color:#655F4A;text-decoration-thickness:2px}.message.correction strong{font-weight:700}.message.correction .explain{font-size:16px;line-height:1.5}.skills-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}.skills-layout h2{max-width:18ch}.skills-layout .lead{margin-top:24px}.skill-list{margin:0;padding:0;list-style:none}.skill-list li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.skill-list li:first-child{padding-top:0}.skill-list svg{width:36px;height:36px;stroke-width:1.7}.skill-list p{margin-top:12px;font-size:18px;max-width:37rem}.phrases-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.phrases-layout h2{max-width:18ch}.phrases-layout .lead{margin-top:24px}.phrase-example{background:var(--pale);padding:36px;border-radius:16px}.phrase-example .phrase{font-size:clamp(26px,2.5vw,36px);font-weight:700;line-height:1.25;letter-spacing:-.015em}.phrase-example .translation{font-size:18px;margin-top:12px}.phrase-example hr{margin:24px 0;border:0;border-top:1px solid #B9AE79}.phrase-example .prompt{font-size:18px;font-weight:500;margin-top:16px}.phrase-example blockquote{margin:18px 0 0;font-size:21px;line-height:1.4}.phrase-example .fine{margin-top:24px;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:5fr 7fr;gap:64px}.faq-layout h2{max-width:16ch}.faq-layout .lead{margin-top:24px}.faq{border-top:2px solid var(--black)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:23px 0;font-size:21px;font-weight:600;line-height:1.3}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:28px;height:28px;transition:transform .25s var(--ease)}.faq details[open] summary svg{transform:rotate(45deg)}.answer{padding:0 45px 24px 0;font-size:17px;max-width:40rem}.answer p+p{margin-top:12px}.articles{padding-top:0}.articles h2{font-size:32px;margin-bottom:24px}.article-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}.article-list a{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line);font-size:18px;text-decoration:none;font-weight:500}.article-list a:hover{text-decoration:underline}.article-list svg{width:21px;height:21px}.final{background:var(--yellow);overflow:hidden}.final-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}.final h2{max-width:19ch;font-size:clamp(38px,4.5vw,64px)}.final .lead{margin-top:24px;max-width:36rem}.final .button{margin-top:32px}.final .symbol{width:100%;transform:translateX(15%)}footer{padding:32px 0 40px;color:var(--muted);font-size:15px}.footer-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.footer-top img{width:104px;height:auto}.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:24px}.footer-links a{display:inline-flex;align-items:center;min-height:44px}.skip-link{position:absolute;left:24px;top:-80px;padding:12px 20px;background:var(--paper);z-index:5}.skip-link:focus{top:16px}
@media(min-width:901px){.hero-raven{animation:arrive .8s var(--ease) both}@keyframes arrive{from{clip-path:inset(0 0 10% 0 round 16px)}to{clip-path:inset(0 round 16px)}}}
@media(max-width:1100px){h1{font-size:clamp(44px,5.7vw,64px)}.hero-layout{grid-template-columns:6fr 5fr}.work-intro,.demo-layout,.skills-layout,.faq-layout{gap:40px}.topline nav{gap:20px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr;margin-top:40px;gap:32px}.hero h1{max-width:22ch;font-size:clamp(42px,7vw,64px)}.hero-raven{width:min(65%,400px);justify-self:center}.hero-body{max-width:43rem}.work-intro,.demo-layout,.skills-layout,.phrases-layout,.faq-layout{grid-template-columns:1fr;gap:36px}.work-intro h2,.demo-heading h2,.skills-layout h2,.phrases-layout h2,.faq-layout h2{max-width:24ch}.chat{justify-self:start;max-width:40rem}.demo-heading .fine{margin-top:20px}.final .symbol{max-width:300px}.final-grid{grid-template-columns:7fr 3fr}}
@media(max-width:600px){body{font-size:17px}.wrap{padding:0 24px}.topline{align-items:center}.logo{width:124px}.topline nav{gap:14px;font-size:13px}.topline nav a:last-child{display:none}.hero{padding:20px 0 32px}.hero-layout{margin-top:34px;gap:28px}.hero h1{font-size:clamp(34px,9.1vw,48px);line-height:1.08}.hero .lead{margin-top:24px;font-size:19px}.hero .actions{margin-top:26px;gap:16px}.button{font-size:16px;padding:15px 20px;gap:10px}.button svg{width:20px;height:20px}.hero-raven{width:min(76%,288px)}h2{font-size:34px}.lead{font-size:19px}.section-head{margin-bottom:28px}.message{font-size:18px;padding:16px 18px;max-width:92%}.message.correction{font-size:17px;max-width:100%}.demo-tabs{gap:8px;margin-top:26px}.demo-tabs button{font-size:14px;padding:9px 13px}.demo-context{margin-top:26px}.skill-list li{grid-template-columns:32px 1fr;gap:16px}.skill-list svg{width:28px;height:28px}.skill-list h3{font-size:22px}.skill-list p{font-size:17px}.phrase-example{padding:24px}.phrase-example blockquote{font-size:19px}.faq summary{font-size:19px;gap:16px;padding:21px 0}.answer{padding-right:12px;font-size:16px}.article-list{grid-template-columns:1fr}.articles h2{font-size:28px}.article-list a{font-size:17px}.final-grid{grid-template-columns:1fr}.final h2{font-size:38px;max-width:18ch}.final .symbol{display:none}.footer-top{align-items:start;flex-direction:column;gap:18px}.footer-links{gap:8px 20px;font-size:14px}}
@media(max-width:360px){.wrap{padding:0 20px}.logo{width:112px}.topline nav{gap:10px;font-size:12px}.hero h1{font-size:33px}.button{font-size:15px;padding:14px 17px}.hero .lead{font-size:18px}h2{font-size:31px}.final h2{font-size:35px}}
.progress-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.progress-layout h2{max-width:18ch}.progress-layout .lead{margin-top:24px;max-width:34rem}.progress-visual{width:min(100%,400px);margin:0;justify-self:center}.progress-visual img{width:100%;border-radius:16px}.choose-section{background:var(--pale)}.choose-section h2{max-width:25ch}.compare-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 64px;margin-top:40px}.compare-list>div{padding-top:24px;border-top:1px solid #B9AE79}.compare-list .alternative{font-size:15px;font-weight:500;color:var(--muted);margin:0 0 12px}.compare-list h3{font-size:25px;max-width:23ch}.compare-list h3+p{margin-top:14px;font-size:18px;max-width:35rem}.choose-section .button{margin-top:40px}
@media(max-width:900px){.progress-layout{grid-template-columns:1fr;gap:36px}.progress-layout h2{max-width:24ch}.progress-visual{width:min(100%,360px)}.compare-list{gap:32px 40px}}
@media(max-width:600px){.recognition li{padding:21px 0}.recognition p{font-size:21px}.progress-visual{width:min(100%,320px)}.compare-list{grid-template-columns:1fr;gap:28px;margin-top:32px}.compare-list h3{font-size:23px}.compare-list h3+p{font-size:17px}.choose-section .button{margin-top:32px}}
.work-intro{display:block}.work-intro .section-head{grid-template-columns:1fr;margin-bottom:36px;align-items:start}.work-intro h2{max-width:none}.recognition{display:grid;grid-template-columns:1fr 1fr;gap:24px;border:0}.recognition li{padding:28px 30px;background:var(--pale);border:0;border-radius:24px 24px 24px 6px}.recognition li:nth-child(even){background:var(--yellow);border-radius:24px 24px 6px 24px}.recognition p{font-size:23px;line-height:1.4;max-width:30rem}
.features{padding:80px 0}.feature-stack{position:relative;isolation:isolate}.feature-track{display:grid;gap:28px}.feature-panel{min-width:0;padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.feature-panel h2{font-size:clamp(32px,3vw,44px)}.feature-panel .lead{font-size:20px;line-height:1.45}.feature-panel .skills-layout,.feature-panel .phrases-layout,.feature-panel .progress-layout{gap:40px;align-items:center}.feature-panel .skill-list li{padding:16px 0;gap:16px}.feature-panel .skill-list li:first-child{padding-top:0}.feature-panel .skill-list h3{font-size:22px}.feature-panel .skill-list p{font-size:16px;line-height:1.5;margin-top:8px}.feature-phrases{background:var(--pale)}.feature-phrases .phrase-example{padding:26px 0 26px 30px;border-left:1px solid #B9AE79;border-radius:0}.feature-phrases .phrase-example .phrase{font-size:30px}.feature-progress{background:white}.feature-progress .progress-visual{width:min(100%,300px)}
@media(max-width:1100px){.feature-panel{padding:28px}.feature-panel .skills-layout,.feature-panel .phrases-layout,.feature-panel .progress-layout{gap:28px}.feature-panel .skill-list li{grid-template-columns:32px 1fr}.feature-panel .skill-list svg{width:28px;height:28px}.feature-panel .lead{font-size:19px}}
@media(max-width:900px){.work-intro .section-head{grid-template-columns:1fr;gap:20px}.feature-panel .skills-layout,.feature-panel .phrases-layout,.feature-panel .progress-layout{grid-template-columns:1fr;gap:28px}.feature-panel{padding:28px}.feature-panel h2{font-size:34px}.feature-phrases .phrase-example{padding:24px 0 0;border-left:0;border-top:1px solid #B9AE79}}
@media(max-width:600px){.recognition{grid-template-columns:1fr;gap:14px}.recognition li{padding:22px 24px}.recognition p{font-size:20px}.features{padding:48px 0}.feature-panel{padding:24px}.feature-panel h2{font-size:31px}.feature-panel .lead{font-size:18px}.feature-panel .skill-list li{padding:18px 0}.feature-panel .skill-list p{font-size:16px}.feature-panel .skill-list h3{font-size:21px}.feature-phrases .phrase-example .phrase{font-size:27px}.feature-progress .progress-visual{width:min(100%,290px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.voice-strip{display:flex;align-items:center;gap:12px;margin-bottom:10px;min-width:0}.voice-play{width:36px;height:36px;border-radius:50%;background:var(--black);display:grid;place-items:center;flex:none}.voice-play svg{width:16px;height:16px}.message.bot .voice-play{color:var(--yellow)}.message.user .voice-play{color:var(--paper)}.voice-wave{height:28px;width:220px;max-width:230px;min-width:0;flex:1}.message .transcript{font-size:18px;line-height:1.45}.message .who{font-size:13px}.message.user .who{max-width:26ch}
@media(max-width:600px){.voice-strip{gap:10px}.voice-play{width:34px;height:34px}.message .transcript{font-size:17px}}

/* v47: desired-result stories follow the comparison; mechanisms stay in skills. */
.choose-intro{margin-top:24px;max-width:48rem}
.outcomes{padding:clamp(64px,6vw,96px) 0}
.outcomes-heading{max-width:54rem;margin-bottom:40px}
.outcomes-heading h2{max-width:24ch}
.outcomes-heading .lead{margin-top:24px;max-width:43rem}
.goal-stories{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;padding:0}
.goal-stories li{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:32px;background:white;border:1px solid var(--line);border-radius:16px}
.goal-stories li:first-child,.goal-stories li:last-child{background:var(--pale)}
.goal-stories blockquote{margin:0}
.goal-stories blockquote p{font-size:clamp(24px,2vw,28px);font-weight:600;line-height:1.35;letter-spacing:-.015em;max-width:31ch}
.goal-context{font-size:16px;line-height:1.5;color:var(--muted)}
.demo-goal{margin:24px 0 28px;padding-left:20px;border-left:3px solid var(--yellow)}
.demo-goal h3{font-size:18px;font-weight:600;letter-spacing:0}
.demo-goal p{margin-top:10px;max-width:36ch;font-size:20px;line-height:1.45}
@media(max-width:600px){.outcomes-heading{margin-bottom:32px}.goal-stories{grid-template-columns:1fr;gap:16px}.goal-stories li{padding:24px;gap:24px}.goal-stories blockquote p{font-size:23px}.demo-goal p{font-size:18px}}

/* v53: vertical stacking follows ordinary document scrolling. */
.feature-track{display:flex;flex-direction:column;gap:28px}
.feature-panel{flex:none;scroll-margin-top:24px}
.feature-stack.is-stacked .feature-panel{display:grid;align-items:center;min-height:var(--stack-card-height);position:sticky;top:calc(24px + var(--stack-index)*24px);z-index:var(--stack-index);scroll-margin-top:calc(24px + var(--stack-index)*24px)}
.feature-stack.is-stacked .feature-track:focus-within .feature-panel{position:relative;top:auto}
@media(prefers-reduced-motion:reduce){.feature-stack.is-stacked .feature-panel{position:relative;top:auto}}
