:root{color-scheme:light;--canvas:#f7f8fb;--card:#fff;--ink:#10192d;--ink2:#23304a;--muted:#68748a;--line:#dfe3eb;--blue:#335cff;--blue2:#2448dc;--blue-soft:#e9edff;--yellow:#ffd75a;--mint:#56c9a5;--navy:#10192d;--serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--sans:'Avenir Next',Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;--shadow:0 18px 60px rgba(16,25,45,.08)}
html[data-theme=dark]{color-scheme:dark;--canvas:#090f1d;--card:#111a2b;--ink:#eef3ff;--ink2:#cbd4e7;--muted:#95a2ba;--line:#27324a;--blue:#7d98ff;--blue2:#9eb1ff;--blue-soft:#1c2a55;--navy:#070c16;--shadow:none}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.skip-link{position:fixed;z-index:1000;left:16px;top:12px;transform:translateY(-180%);padding:11px 15px;border-radius:10px;background:var(--ink);color:var(--card);font-weight:800}.skip-link:focus{transform:none}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{height:82px;display:flex;align-items:center;gap:34px;padding:0 max(24px,calc((100vw - 1180px)/2));position:relative;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--canvas) 91%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.045em;white-space:nowrap}.brand b{color:var(--blue)}.brand-mark{width:34px;height:34px;display:block;border-radius:11px;background:url('../favicon.svg?v=rolebyrole-1') center/cover no-repeat}.primary-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.primary-nav a,.text-action{color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.primary-nav a:hover,.text-action:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:11px}.theme-toggle,.menu-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer}.menu-toggle{display:none}.button{min-height:46px;border:1px solid var(--blue);border-radius:12px;padding:11px 18px;background:var(--blue);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 24px color-mix(in srgb,var(--blue) 18%,transparent);transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);background:var(--blue2)}.button:focus-visible,.theme-toggle:focus-visible,.menu-toggle:focus-visible,.planner-close:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:3px}.button-small{min-height:42px;padding:9px 15px;font-size:12px}.button-large{min-height:54px;padding:14px 22px;border-radius:14px}.button-ghost{background:var(--card);border-color:var(--line);color:var(--ink);box-shadow:none}.button-ghost:hover{background:var(--blue-soft)}.eyebrow{margin:0 0 18px;display:flex;align-items:center;gap:9px;color:var(--blue);font:700 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase}.eyebrow>span{width:22px;height:2px;background:currentColor}.eyebrow.light{color:var(--yellow)}
.hero{min-height:670px;padding-block:72px 82px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(410px,.86fr);gap:80px;align-items:center}.hero h1{font:600 clamp(54px,6vw,88px)/.93 var(--serif);letter-spacing:-.06em;margin:0;max-width:740px}.hero h1 em{font-style:italic;color:var(--blue)}.hero-lede{max-width:650px;margin:27px 0;color:var(--muted);font-size:17px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:11px}.hero-note{display:flex;gap:9px;align-items:center;margin:17px 0 0;color:var(--muted);font-size:11px}.hero-note>span:first-child{color:#16876a;font-weight:900}.route-demo{position:relative;min-height:525px;display:grid;place-items:center}.route-demo:before{content:'';position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c9d2ff 0,rgba(201,210,255,.25) 40%,transparent 70%);filter:blur(3px)}html[data-theme=dark] .route-demo:before{background:radial-gradient(circle at 35% 30%,rgba(51,92,255,.36),transparent 68%)}.route-window{position:relative;z-index:2;width:min(430px,100%);padding:15px 19px 19px;border:1px solid color-mix(in srgb,var(--line) 80%,#fff);border-radius:24px;background:color-mix(in srgb,var(--card) 93%,transparent);box-shadow:0 28px 90px rgba(16,25,45,.17);transform:rotate(1.4deg)}.window-bar{height:30px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}.window-bar>span{width:7px;height:7px;border-radius:50%;background:var(--line)}.window-bar small{margin-left:auto;color:var(--muted);font:600 8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.target-card{margin:17px 0 12px;padding:17px 18px;border-radius:16px;background:var(--navy);color:#fff}.target-card small,.target-card span{display:block;color:#9fabc0;font-size:10px}.target-card strong{display:block;margin:4px 0 3px;font-size:18px}.route-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}.route-list li{min-height:57px;padding:7px 9px;display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:13px;color:var(--muted)}.route-list li.current{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 28%,var(--line));color:var(--ink)}.route-list li.complete{color:var(--ink)}.route-list i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--canvas);color:var(--muted);font:700 9px var(--mono);font-style:normal}.route-list .complete i{background:#dff6ed;color:#13785d}.route-list .current i{background:var(--blue);color:#fff}.route-list div{display:grid;gap:2px}.route-list strong{font-size:12px}.route-list span{font-size:10px}.route-list b{margin-left:auto;font:700 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.route-list .current b{color:var(--blue)}.route-footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding:12px 4px 2px;color:var(--muted);font-size:10px}.route-footer b{color:var(--ink);font-size:16px}.mini-progress{width:120px;height:5px;border-radius:5px;background:var(--line);overflow:hidden}.mini-progress i{display:block;width:38%;height:100%;background:var(--blue)}.float-card{position:absolute;z-index:3;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);transform:rotate(-3deg)}.float-card span,.float-card strong{display:block}.float-card span{color:var(--muted);font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.09em}.float-card strong{margin-top:4px;font-size:11px}.float-one{left:-30px;top:70px}.float-two{right:-28px;bottom:49px;transform:rotate(3deg)}
.proof-strip{min-height:88px;padding:18px max(24px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:repeat(4,1fr);align-items:center;background:var(--navy);color:#fff}.proof-strip>div{min-height:40px;display:flex;align-items:center;gap:12px;padding-inline:26px;border-right:1px solid rgba(255,255,255,.13)}.proof-strip>div:first-child{padding-left:0}.proof-strip>div:last-child{border:0}.proof-strip strong{color:var(--yellow);font:600 25px var(--serif)}.proof-strip span{max-width:150px;color:#a9b3c5;font-size:10px;line-height:1.35}.section{padding-block:112px}.section-head{max-width:760px;margin-bottom:50px}.section-head h2,.method-copy h2,.faq-section h2{font:600 clamp(40px,5vw,66px)/.98 var(--serif);letter-spacing:-.05em;margin:0}.section-head>p:last-child,.section-head.split>p,.method-copy>p,.faq-section>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.7}.section-head.split{max-width:none;display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:end}.journey-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--card)}.journey-grid article{position:relative;min-height:248px;padding:24px 21px;border-right:1px solid var(--line)}.journey-grid article:last-child{border:0}.journey-grid article>span{color:var(--muted);font:700 9px var(--mono)}.journey-grid i{width:46px;height:46px;margin:32px 0 24px;display:grid;place-items:center;border-radius:14px;background:var(--blue-soft);color:var(--blue);font-style:normal;font-weight:900}.journey-grid h3{font-size:17px;margin:0 0 9px}.journey-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.plan-section{padding-block:104px;background:var(--navy);color:#fff;overflow:hidden}.plan-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.plan-layout h2{font:600 clamp(42px,5vw,68px)/.96 var(--serif);letter-spacing:-.05em;margin:0}.plan-layout>div>p:not(.eyebrow){max-width:560px;color:#aab5c8;font-size:14px;line-height:1.7}.check-list{list-style:none;margin:25px 0 32px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#d7deeb;font-size:11px}.check-list li:before{content:'✓';margin-right:8px;color:var(--mint);font-weight:900}.button-light{background:#fff;border-color:#fff;color:#10192d;box-shadow:none}.button-light:hover{background:var(--yellow)}.plan-preview{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.06);box-shadow:0 30px 80px rgba(0,0,0,.25)}.plan-preview-top{display:flex;justify-content:space-between;padding:4px 4px 17px;color:#8795ac;font:700 9px var(--mono);letter-spacing:.1em}.plan-day{min-height:77px;margin-bottom:8px;padding:13px 15px;display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.plan-day.active{background:#fff;color:#10192d}.plan-day>b{font-size:10px}.plan-day div{display:grid;gap:4px}.plan-day strong{font-size:12px}.plan-day span{color:#8996aa;font-size:10px}.plan-day time{font:700 9px var(--mono);color:var(--yellow)}.plan-day.active time{color:var(--blue)}.kind-note{display:flex;gap:10px;align-items:center;padding:14px 6px 3px;color:#9ca8bb;font-size:10px}.kind-note i{color:var(--mint);font-size:18px;font-style:normal}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.path-card{position:relative;min-height:390px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:0 1px 2px rgba(16,25,45,.03)}.path-card.featured{border-color:color-mix(in srgb,var(--blue) 38%,var(--line));background:linear-gradient(150deg,var(--blue-soft),var(--card) 52%)}.path-label{position:absolute;right:22px;top:24px;color:var(--muted);font:700 8px var(--mono);letter-spacing:.1em}.path-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--navy);color:var(--yellow);font:800 13px var(--mono)}.path-card h3{font:600 28px/1.05 var(--serif);letter-spacing:-.035em;margin:27px 0 14px}.path-card p{min-height:79px;color:var(--muted);font-size:12px;line-height:1.65}.path-meta{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 28px}.path-meta span{padding:7px 9px;border-radius:99px;background:var(--canvas);color:var(--muted);font-size:9px}.path-card>a,.text-link{color:var(--blue);font-size:11px;font-weight:800;text-decoration:none}.license-row{margin-top:20px;padding:18px 22px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.license-row span{margin-right:auto;color:var(--muted);font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.license-row a{padding:8px 12px;border-radius:9px;background:var(--canvas);font-size:11px;font-weight:800;text-decoration:none}.method-section{background:color-mix(in srgb,var(--blue-soft) 48%,var(--canvas))}.method-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.principles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.principles article{min-height:150px;padding:21px;display:flex;gap:16px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.principles i{color:var(--blue);font:800 9px var(--mono);font-style:normal}.principles h3{margin:0 0 8px;font-size:15px}.principles p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:72px;padding:21px 42px 21px 2px;display:flex;align-items:center;cursor:pointer;font-weight:800;font-size:13px;list-style:none;position:relative}.faq-list summary:after{content:'+';position:absolute;right:4px;font-size:21px;color:var(--blue)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{max-width:760px;margin:-5px 0 22px;color:var(--muted);font-size:12px;line-height:1.7}.closing-cta{margin-bottom:90px;padding:75px;border-radius:28px;background:linear-gradient(135deg,#294fe4,#172d8e);color:#fff;text-align:center}.closing-cta .eyebrow{justify-content:center}.closing-cta h2{font:600 clamp(38px,5vw,66px)/.98 var(--serif);letter-spacing:-.05em;margin:0 0 29px}.closing-cta>p:last-child{color:#c5cff7;font-size:10px}.site-footer{padding:64px max(24px,calc((100vw - 1180px)/2)) 26px;background:var(--navy);color:#fff}.footer-main{display:grid;grid-template-columns:1fr auto;gap:40px}.footer-brand{width:max-content}.footer-main>p{grid-column:1;color:#919db1}.footer-links{grid-area:1/2/3/3;display:grid;grid-template-columns:repeat(3,140px);gap:28px}.footer-links>div{display:grid;align-content:start;gap:11px}.footer-links strong{margin-bottom:7px;font-size:11px}.footer-links a{color:#9ba7b9;font-size:10px;text-decoration:none}.footer-bottom{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:#7f8ca1;font-size:9px}
.planner{width:min(820px,calc(100% - 24px));max-height:min(850px,calc(100dvh - 24px));padding:0;border:0;border-radius:24px;background:var(--canvas);color:var(--ink);box-shadow:0 30px 120px rgba(7,12,22,.34);overflow:auto}.planner::backdrop{background:rgba(7,12,22,.68);backdrop-filter:blur(6px)}.planner form{min-height:650px;padding:25px 34px 30px;display:flex;flex-direction:column}.planner-top{display:flex;justify-content:space-between;align-items:center}.planner-top .brand{font-size:17px}.planner-top .brand-mark{width:29px;height:29px}.planner-close{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:24px;cursor:pointer}.planner-progress{margin:28px 0 42px}.planner-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--muted);font:700 9px var(--mono);letter-spacing:.08em}.progress-track{height:5px;border-radius:5px;background:var(--line);overflow:hidden}.progress-track i{display:block;width:20%;height:100%;background:var(--blue);transition:width .25s ease}.planner-step{width:100%;max-width:720px;margin-inline:auto}.planner-step h2{max-width:680px;margin:0;font:600 clamp(34px,5vw,48px)/1 var(--serif);letter-spacing:-.045em}.step-help{margin:13px 0 24px;color:var(--muted);font-size:12px}.choice-grid{display:grid;gap:9px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid.compact{grid-template-columns:repeat(4,1fr)}.choice-grid label{display:block;cursor:pointer}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid label>span{min-height:95px;padding:15px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:border .15s ease,background .15s ease,transform .15s ease}.choice-grid label:hover>span{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 50%,var(--line))}.choice-grid input:checked+span{border:2px solid var(--blue);padding:14px;background:var(--blue-soft)}.choice-grid input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:2px}.choice-grid i{margin-bottom:9px;color:var(--blue);font:800 10px var(--mono);font-style:normal}.choice-grid strong{font-size:12px}.choice-grid small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.4}.choice-grid.compact label>span{min-height:82px}.date-field{margin-top:22px;display:grid;gap:7px;max-width:310px;color:var(--ink);font-size:11px;font-weight:800}.date-field input{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink)}.date-field small{color:var(--muted);font-size:9px;font-weight:500}.planner-controls{max-width:720px;width:100%;margin:auto auto 0;display:flex;gap:10px;padding-top:28px}.planner-controls .button{min-width:120px}.planner-controls #plannerNext{margin-left:auto}.planner-skip,.planner-restart{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.planner-error{max-width:720px;width:100%;margin:14px auto 0;color:#bd3e2d;font-size:11px}.planner-result{text-align:center;margin:auto}.result-mark{width:56px;height:56px;margin:0 auto 23px;display:grid;place-items:center;border-radius:18px;background:#dff6ed;color:#13785d;font-weight:900;font-size:22px}.planner-result .eyebrow{justify-content:center}.planner-result h2{margin-inline:auto}.planner-result>p{color:var(--muted);font-size:12px;line-height:1.65}.result-route{max-width:520px;margin:24px auto;display:flex;align-items:center;text-align:left;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.result-route div{display:grid;gap:3px}.result-route small{color:var(--blue);font:700 8px var(--mono);letter-spacing:.1em}.result-route strong{font-size:14px}.result-route span{color:var(--muted);font-size:9px}.result-route>i{margin-left:auto;color:var(--blue);font-size:24px;font-style:normal}.planner-restart{display:block;margin:17px auto 0;color:var(--blue)}.privacy-note{font-size:9px!important}
@media(max-width:1000px){.primary-nav{display:none;position:absolute;top:81px;left:0;right:0;padding:18px 24px;background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.primary-nav.open{display:flex}.menu-toggle{display:block}.text-action{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:58px}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-note{justify-content:center}.hero-lede{margin-inline:auto}.hero-actions{justify-content:center}.route-demo{width:min(560px,100%);margin:auto}.float-one{left:0}.float-two{right:0}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip>div:nth-child(2){border-right:0}.journey-grid{grid-template-columns:repeat(3,1fr)}.journey-grid article:nth-child(3){border-right:0}.journey-grid article:nth-child(n+4){border-top:1px solid var(--line)}.plan-layout,.method-grid,.faq-section{grid-template-columns:1fr;gap:55px}.section-head.split{grid-template-columns:1fr;gap:15px}.path-grid{grid-template-columns:1fr 1fr}.path-card:last-child{grid-column:1/-1}.choice-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.shell{width:min(100% - 30px,1180px)}.site-header{height:72px;padding-inline:15px;gap:10px}.site-header>.brand{font-size:17px}.site-header .brand-mark{width:31px;height:31px}.header-actions{margin-left:auto}.header-actions .button-small{display:none}.primary-nav{top:71px}.hero{min-height:0;padding-block:55px}.hero h1{font-size:clamp(47px,14vw,66px)}.hero-lede{font-size:14px}.hero-actions{display:grid}.hero-note{flex-wrap:wrap}.route-demo{min-height:485px}.route-window{transform:none}.float-card{display:none}.proof-strip{padding-inline:15px}.proof-strip>div{padding:14px 12px}.proof-strip strong{font-size:20px}.section{padding-block:78px}.section-head{margin-bottom:34px}.section-head h2,.method-copy h2,.faq-section h2{font-size:42px}.journey-grid{grid-template-columns:1fr}.journey-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:34px 50px 1fr;align-items:center;gap:8px}.journey-grid article:last-child{border-bottom:0}.journey-grid article:nth-child(n+4){border-top:0}.journey-grid i{margin:0}.journey-grid h3{margin:0}.journey-grid p{grid-column:3}.plan-section{padding-block:78px}.plan-layout{gap:50px}.check-list{grid-template-columns:1fr}.plan-preview{padding:12px}.plan-day{grid-template-columns:50px 1fr auto}.path-grid{grid-template-columns:1fr}.path-card:last-child{grid-column:auto}.license-row{align-items:flex-start;flex-wrap:wrap}.license-row span{width:100%;margin-bottom:4px}.principles{grid-template-columns:1fr}.closing-cta{width:calc(100% - 30px);padding:54px 20px}.footer-main{grid-template-columns:1fr}.footer-links{grid-area:auto;grid-template-columns:repeat(3,1fr)}.footer-bottom{gap:12px;flex-direction:column}.planner form{min-height:calc(100dvh - 24px);padding:18px 16px 22px}.planner-progress{margin:20px 0 30px}.choice-grid.two,.choice-grid.three{grid-template-columns:1fr}.choice-grid label>span{min-height:74px}.choice-grid.compact label>span{min-height:76px}.planner-controls{position:sticky;bottom:-22px;margin-top:auto;padding:16px 0 22px;background:linear-gradient(transparent,var(--canvas) 18%)}.planner-skip{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.choice-grid label>span,.progress-track i{transition:none}}
@media(max-width:700px){.route-demo{overflow:hidden}}
