@font-face{font-family:Manrope;src:url('assets/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}

:root{color-scheme:light;--cream:#FFF9F2;--navy:#17233D;--blue:#2457E7;--orange:#F47A3C;--line:#D8DDE7;--white:#fff;--muted:#526079;--soft-blue:#EAF0FF;--radius:1rem;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--cream);color:var(--navy);font:400 1rem/1.7 Manrope,system-ui,sans-serif}
button{font:inherit;cursor:pointer;color:inherit}
a{color:inherit}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px;box-shadow:0 0 0 3px var(--white)}
button[hidden]{display:none}
img{max-width:100%}
h1,h2,h3{text-wrap:balance;letter-spacing:-.035em}
h2{font-size:clamp(2.15rem,4vw,3.375rem);line-height:1.15;font-weight:600;margin:0}
p{max-width:70ch}
section[id]{scroll-margin-top:1.5rem}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:3rem}
.skip{position:fixed;left:1rem;top:-100px;z-index:50;padding:.75rem 1.5rem;background:var(--white)}
.skip:focus{top:.75rem}
.previewbar{background:var(--navy);color:var(--white);text-align:center;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:600}
.previewbar span{font-weight:400;margin-left:1rem}
.site-header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;flex-shrink:0}
.brand img{display:block;width:172px;height:48px;object-fit:contain}
.site-header nav{display:flex;gap:1.75rem;font-size:.875rem;font-weight:600}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem 1.5rem;border-radius:.75rem;background:var(--blue);color:var(--white);text-decoration:none;font-weight:600;font-size:.9375rem;border:1px solid transparent;min-height:48px;transition:background-color .15s,transform .15s var(--ease)}
.button:hover{background:#1943BC}
.button:active{transform:scale(.98);transition-duration:60ms}
.button.compact{padding:.75rem 1.125rem;font-size:.875rem}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}
.text-link:hover{color:var(--blue)}
.intro,.small-label{font-size:.875rem;font-weight:600}
.intro{margin:0 0 1.25rem}
.fine-print,.hero-note,.boundary,.example-disclosure{font-size:.8125rem;line-height:1.7}
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;padding-top:3rem}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(3.125rem,5.8vw,4.8125rem);line-height:1.07;margin:0 0 1.75rem;font-weight:700}
.hero-body{max-width:440px;font-size:1.0625rem;line-height:1.8;margin:0 0 1.75rem}
.actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.hero-note{margin-top:1.25rem;max-width:30rem}

/* The paired paths are decorative; controls remain available without visible captions. */
.journey-art{position:relative;min-width:0;padding-bottom:2rem}
.hero-art.journey-art{align-self:center;width:100%;min-height:0}
.journey-svg{display:block;width:100%;height:auto;overflow:visible}
.journey-motion{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--muted)}
.journey-motion:hover{border-color:var(--blue);color:var(--blue);background:var(--white)}
.journey-motion:active{background:var(--soft-blue)}
.motion-play,.journey-motion[data-paused="true"] .motion-pause{display:none}
.journey-motion[data-paused="true"] .motion-play{display:block}
.journey-art[data-motion="playing"] .road-flow{animation:road-flow 6s linear infinite}
.journey-art[data-motion="paused"] .road-flow{animation-play-state:paused}
@keyframes road-flow{to{stroke-dashoffset:-138}}

.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;margin-bottom:3.5rem}
.section-heading p{font-size:1rem;max-width:440px;margin:0;line-height:1.8}
.possibilities{padding-block:6rem}
.task-explorer{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:center}
.task-choices>p:first-child{margin-bottom:1.5rem}
.task-button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:1.5rem 0;gap:1.25rem;font-size:1.125rem;font-weight:500;min-height:48px}
.task-button.active{color:var(--blue);font-weight:700}
.task-button:hover,.style-choice:hover{background:var(--white)}
.task-button:active,.style-choice:active{background:var(--soft-blue)}
.example-disclosure{max-width:25rem;margin-top:1.5rem;color:var(--muted)}
.task-paper{padding:2rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.paper-top{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--blue);font-weight:600}
.task-paper h3{font-size:1.875rem;line-height:1.25;margin:1.5rem 0 1rem}
.task-paper>p{font-size:.9375rem}
.example-output{margin-top:1.5rem}
.example-output ul{list-style:none;margin:1rem 0 0;padding:0}
.example-output li{font-size:.9375rem;padding:.5rem 0 .5rem 1.5rem;position:relative}
.example-output li:before{content:'↗';position:absolute;left:0;color:var(--blue)}
.boundary{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}
.demo-contrast{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-block:4.5rem 5.5rem;border-top:1px solid var(--line);align-items:center}
.demo-prompts p{font-size:clamp(1.75rem,3.1vw,2.625rem);line-height:1.3;letter-spacing:-.025em;margin:0 0 1.5rem;color:var(--muted)}
.demo-prompts p:last-child{margin-left:2rem}
.demo-answer h2{font-size:clamp(2.25rem,4.5vw,3.75rem)}
.demo-answer>p{font-size:1rem;max-width:28rem;margin:1.5rem 0 0}
.fit-section{padding-block:5.5rem;background:var(--white)}
.fit-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:3rem}
.fit-heading h2{font-size:clamp(2.5rem,4.7vw,3.9375rem)}
.fit-copy>p:last-child{font-size:1rem;max-width:33rem;margin:1.5rem 0 0}
.fit-dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:3rem 0 3.5rem}
.fit-dimensions>div{border-top:2px solid var(--blue);padding-top:1rem}
.fit-dimensions dt{font-size:1rem;font-weight:700;margin-bottom:.5rem}
.fit-dimensions dd{margin:0;font-size:.9375rem;max-width:30ch}
.fit-voice{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start;padding-top:2rem;border-top:1px solid var(--line)}
.style-options{display:flex;gap:1.5rem;margin:1rem 0;flex-wrap:wrap}
.style-choice{border:0;min-height:44px;padding:.625rem 0;background:transparent;font-size:.9375rem;font-weight:500;border-bottom:2px solid transparent}
.style-choice.active{color:var(--blue);border-color:var(--blue);font-weight:700}
.package-detail h3{font-size:1.25rem;margin:0 0 .625rem}
.package-detail>p{font-size:.9375rem;margin:0}
.package-detail blockquote{font-size:1.75rem;font-weight:500;line-height:1.5;margin:1.25rem 0 .75rem;letter-spacing:-.02em}
.package-detail .fine-print{font-size:.8125rem}
.fit-next{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem}
.fit-next p{max-width:35rem;font-size:.9375rem;margin:0}
.fit-next .button{flex-shrink:0}
.definition{background:var(--navy);color:var(--cream);padding:4rem 0}
.definition-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem 5rem}
.definition h2,.definition h3{font-size:1.5rem;font-weight:600;margin:0 0 1rem;line-height:1.3}
.definition p{font-size:1rem;max-width:28rem;margin:0}
.definition-not{padding-left:3rem;border-left:1px solid #ffffff40}
.definition .definition-control{grid-column:1/-1;max-width:none;padding-top:1.5rem;border-top:1px solid #ffffff40;font-size:.875rem}
.included{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-block:5rem}
.included>div>p:last-child{max-width:26rem;margin-top:1.5rem}
.included-list{margin:0}
.included-list>div{border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:1.5rem}
.included-list dt{font-weight:600;font-size:1rem;margin-bottom:.5rem}
.included-list dd{font-size:.9375rem;margin:0;max-width:28rem}
.setup{background:var(--white);padding-block:5rem}
.setup-strip{background:var(--cream);padding-block:5.5rem 3rem}
.setup-heading{margin-bottom:2.75rem}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.steps li{border-top:1px solid var(--line);padding-top:1.25rem}
.step-number{display:inline-block;font-size:.875rem;color:var(--blue);font-weight:700;margin-bottom:1.25rem}
.steps h3{font-size:1.25rem;margin:0 0 .75rem;line-height:1.4}
.steps p{font-size:.9375rem;margin:0}
.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;padding-block:4rem 5rem}
details{border-bottom:1px solid var(--line);padding:1.25rem 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;font-weight:600;font-size:1rem;min-height:44px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-weight:400;font-size:1.5rem;flex-shrink:0}
details[open]>summary:after{content:'−'}
summary:hover{text-decoration:underline;text-underline-offset:5px}
summary:active{color:var(--blue)}
details p{font-size:.9375rem;margin:1rem 0 0}
.faq details:first-child{padding-top:0}
.closing{text-align:center;padding-block:3.5rem 5rem}
.closing h2{font-size:clamp(2.5rem,5vw,4.25rem)}
.closing>p{margin:1.5rem auto;font-size:1rem}
.closing .fine-print{font-size:.8125rem;margin:1rem auto}
.closing-dot{width:20px;height:20px;background:var(--orange);border-radius:50%;display:block;margin:0 auto 1.75rem}
.closing-inline{text-align:left;border-top:1px solid var(--line);padding-block:3rem;display:flex;justify-content:space-between;gap:2rem;align-items:center}
.closing-inline h2{font-size:clamp(2rem,3.4vw,2.8125rem);max-width:40rem}
.closing-inline .button{flex-shrink:0}
.footer-top{border-top:1px solid var(--line);padding:2rem 0;display:flex;align-items:center;gap:2rem;justify-content:space-between}
.footer-top>span{font-size:.875rem}
footer>.fine-print a{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}
.footer-note{font-size:.8125rem;padding:1rem 0 2rem;margin:0}

@media(max-width:1050px){
 .wrap{padding-inline:2rem}.site-header nav{gap:1rem}.site-header>.button{display:none}
 .hero h1{font-size:3.75rem}.hero{gap:0 1rem}
 .task-explorer,.included,.section-heading,.demo-contrast,.fit-voice,.faq{gap:3rem}.fit-dimensions,.steps{gap:2rem}
 .definition-inner{gap:1.5rem 3rem}.definition-not{padding-left:2rem}.fit-next{align-items:start;flex-direction:column}
}
@media(max-width:700px){
 .wrap{padding-inline:1.375rem}.previewbar{font-size:.75rem;padding:.5rem .75rem}.previewbar span{display:block;margin:0}
 .site-header{min-height:0;padding-top:1rem;padding-bottom:1rem;gap:.5rem 1rem;flex-wrap:wrap}
 .brand img{width:140px;height:44px}.brand{min-height:44px}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:.8125rem;gap:.5rem}
 .site-header>.text-link{font-size:.8125rem}
 .hero{grid-template-columns:1fr;padding-top:1.5rem}.hero h1{font-size:clamp(2.65rem,11.5vw,4rem);line-height:1.08;max-width:510px}
 .hero-body{font-size:1rem}.intro{font-size:.8125rem}.actions{gap:.75rem 1.25rem}.button{font-size:.875rem;padding:.875rem 1.25rem;gap:1.25rem}
 .hero-art.journey-art{margin-top:0;max-width:430px;width:100%;justify-self:center}
 .fit-heading{grid-template-columns:1fr;gap:1rem}
 .possibilities{padding-block:4rem}.section-heading{display:block;margin-bottom:2.5rem}.section-heading p{margin-top:1.25rem}
 .task-explorer,.fit-voice,.included,.faq,.demo-contrast{grid-template-columns:1fr;gap:2rem}
 .task-choices>p:first-child{margin-bottom:.5rem}.task-button{padding:1.125rem 0;font-size:1rem}.task-paper{padding:1.5rem}.task-paper h3{font-size:1.75rem}
 .demo-contrast{padding-block:3rem}.demo-prompts p{font-size:1.875rem;margin-bottom:1rem}.demo-prompts p:last-child{margin-left:1rem;margin-bottom:0}
 .demo-answer h2{font-size:2.5rem}.fit-section{padding-block:3.5rem}.fit-heading h2{font-size:2.5rem}
 .fit-dimensions{grid-template-columns:1fr;gap:0;margin:2rem 0}.fit-dimensions>div{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:1.125rem 0}
 .fit-dimensions dt{font-size:.9375rem;margin:0}.fit-dimensions dd{max-width:none}.fit-voice{gap:1rem;padding-top:1.5rem}.style-options{margin:.5rem 0;gap:1.5rem}
 .package-detail blockquote{font-size:1.625rem}.fit-next{gap:1.25rem;margin-top:2rem;padding-top:1.5rem}
 .definition{padding-block:3rem}.definition-inner{grid-template-columns:1fr;gap:1.75rem}.definition-not{border:0;padding:0}
 .definition .definition-control{padding-top:1.25rem}.included{padding-block:3.5rem}.setup{padding-block:3.5rem}.setup-strip{padding-block:3.5rem 2rem}
 .setup-heading{margin-bottom:2rem}.steps{grid-template-columns:1fr;gap:0}.steps li{position:relative;padding:1.5rem 0 1.5rem 2.75rem}.step-number{position:absolute;left:0;top:1.5rem;margin:0}
 .steps h3{font-size:1.125rem}.faq{gap:2rem;padding-block:3rem}.closing{padding-block:2.5rem 4rem}.closing h2{font-size:2.5rem}
 .closing-inline{display:block;padding-block:2.5rem}.closing-inline h2{font-size:2.25rem}.closing-inline>.button{margin-top:1.5rem}
 .footer-top{flex-wrap:wrap;gap:1rem;padding-block:1.75rem}
}
@media(max-width:360px){.fit-dimensions>div{grid-template-columns:1fr;gap:.5rem}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.road-flow{animation:none!important}.button{transition:background-color .15s}.button:active{transform:none}
}
@media(prefers-contrast:more){:root{--line:#68758B;--muted:#17233D}a:focus-visible,button:focus-visible,summary:focus-visible{outline-width:4px}.task-button.active,.style-choice.active{text-decoration:underline;text-underline-offset:5px}}
@media(forced-colors:active){.button,.journey-motion{border:1px solid ButtonText}.task-button.active,.style-choice.active{outline:2px solid Highlight}.journey-svg{forced-color-adjust:none}}
