@font-face{font-family:Outfit;src:url('/fonts/outfit-v4-latin-regular.woff2')}@font-face{font-family:Paytone;src:url('/fonts/paytone-one-v16-latin-regular.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0d0b0c;color:#f9f4da;font-family:Outfit,sans-serif;background-image:linear-gradient(rgba(249,244,218,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(249,244,218,.045) 1px,transparent 1px);background-size:32px 32px}.top{max-width:1120px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center}.brand{color:#ff8a19;font:32px Paytone;text-decoration:none}.top>.brand:not(:has(.kv-wordmark)){color:transparent}.back{color:#f9f4da;text-decoration:none;border-bottom:1px solid currentColor}.hero{max-width:1000px;margin:4rem auto 7rem;padding:0 24px;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}.hero h1{font:clamp(3rem,8vw,6.8rem)/.92 Paytone;text-transform:uppercase;margin:.6rem 0 1.5rem}.hero p{font-size:1.3rem;line-height:1.55;max-width:43rem;color:#d9d2bf}.vibe{border-left:4px solid var(--accent);padding-left:1rem;color:#f9f4da!important}.vibe b{color:var(--accent)}.deck{position:relative;height:310px}.card{position:absolute;inset:0;margin:auto;width:210px;height:285px;border:7px solid #f9f4da;border-radius:14px;background:var(--accent);box-shadow:9px 9px #2a2728;display:grid;place-items:center;color:#171515;font:74px Paytone}.card:nth-child(1){transform:rotate(8deg) translate(28px,5px);opacity:.38}.card:nth-child(2){transform:rotate(4deg) translate(14px,2px);opacity:.65}.journey{max-width:980px;margin:0 auto;padding:0 24px 8rem}.journey>h2{text-align:center;font:clamp(2.7rem,6vw,5rem)/1 Paytone;text-transform:uppercase;margin:0 0 1.25rem}.click-hint{text-align:center;margin:0 auto 5rem;color:#d9d2bf;font-size:1.1rem}.click-hint span{display:inline-block;color:var(--accent);font:26px Paytone;animation:nudge 1.5s ease-in-out infinite}.path{position:relative}.path:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:6px;background:#f9f4da;border:2px solid #292526;border-radius:99px;transform:translateX(-50%)}.stage{position:relative;width:44%;margin:0 0 4.5rem;border:2px solid #292526;background:#f9f4da;color:#171515;border-radius:18px;box-shadow:8px 8px var(--accent);overflow:visible;transition:transform .2s ease,box-shadow .2s ease}.stage:nth-child(even){margin-left:56%}.stage:hover{transform:translateY(-3px);box-shadow:11px 11px var(--accent)}.stage[open]{box-shadow:12px 12px var(--accent);z-index:2}.stage summary{position:relative;list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.6rem 4.1rem 1.6rem 1.4rem;min-height:150px}.stage summary::-webkit-details-marker{display:none}.num{position:absolute;top:-24px;right:-24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--accent);border:5px solid #0d0b0c;font:20px Paytone}.stage:nth-child(even) .num{right:auto;left:-24px}.stage-heading{display:grid;gap:.45rem}.stage-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#625d58}.stage-title{font:26px/1.05 Paytone;text-transform:uppercase}.stage-preview{line-height:1.45;color:#4e4945}.expand-icon{position:absolute;right:1.25rem;width:32px;height:32px;border:2px solid #171515;border-radius:50%}.expand-icon:before,.expand-icon:after{content:'';position:absolute;left:8px;right:8px;top:13px;height:2px;background:#171515}.expand-icon:after{transform:rotate(90deg);transition:transform .2s ease}.stage[open] .expand-icon:after{transform:rotate(0)}.stage-details{padding:0 1.5rem 1.6rem;border-top:2px dashed rgba(23,21,21,.22);animation:reveal .25s ease}.stage-details p{font-size:1.05rem;line-height:1.6}.stage-details h3{font:18px Paytone;text-transform:uppercase;margin:1.3rem 0 .5rem}.stage-details ul{margin:0;padding-left:1.2rem;line-height:1.8}.build{margin-top:1.25rem;padding:1rem;background:#171515;color:#f9f4da;border-radius:10px;line-height:1.5}.build ol{margin:.65rem 0 0;padding-left:1.25rem}.build li{padding-left:.2rem}.build li+li{margin-top:.45rem}.build b{color:var(--accent)}.stage-vibe{margin-bottom:0!important;font-weight:700;color:#171515!important}.finish{text-align:center;max-width:650px;margin:2rem auto 0;padding:2rem;border:2px solid var(--accent);border-radius:18px;background:#171515}.finish h2{margin:0 0 1rem;font:34px Paytone;text-transform:uppercase}.finish p{line-height:1.6}.finish a{display:inline-block;margin-top:1rem;background:var(--accent);color:#171515;text-decoration:none;padding:.9rem 1.2rem;border-radius:99px;font-weight:900}@keyframes reveal{from{opacity:0;transform:translateY(-8px)}}@keyframes nudge{50%{transform:translate(-5px,5px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:720px){.hero{grid-template-columns:1fr;margin-top:2rem;gap:1rem}.deck{height:250px}.card{width:170px;height:225px}.journey>h2{text-align:left;margin-left:54px}.click-hint{text-align:left;margin-left:54px}.path:before{left:22px}.stage,.stage:nth-child(even){width:calc(100% - 54px);margin-left:54px}.num,.stage:nth-child(even) .num{right:auto;left:-62px}.stage summary{min-height:132px;padding:1.3rem 3.7rem 1.3rem 1.2rem}.stage-title{font-size:22px}.stage-preview{font-size:.92rem}.hero h1{font-size:clamp(3rem,15vw,5rem)}}
/* Interactive roadmap card deck */
.deck{perspective:900px;touch-action:pan-y;user-select:none}.deck:after{content:'↔ Swipe the cards';position:absolute;left:50%;bottom:-2.2rem;transform:translateX(-50%);white-space:nowrap;color:#d9d2bf;font-size:.88rem;letter-spacing:.04em}.card{cursor:grab;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s ease,box-shadow .2s ease;will-change:transform,opacity}.card:nth-child(1){transform:rotate(8deg) translate(28px,5px) scale(.94);z-index:1}.card:nth-child(2){transform:rotate(4deg) translate(14px,2px) scale(.97);z-index:2}.card:nth-child(3){z-index:3}.card:nth-child(3):hover{transform:translateY(-7px) rotate(-1deg);box-shadow:13px 17px #2a2728}.card.is-dragging{cursor:grabbing;transition:none}.card.is-swiping{pointer-events:none;opacity:0!important}.deck:focus-visible{outline:3px solid var(--accent);outline-offset:12px;border-radius:16px}

.career-context{width:min(1120px,calc(100% - 40px));margin:10px auto 100px;display:grid;grid-template-columns:1.08fr .92fr;border:1px solid #302c2e;background:#111012;box-shadow:12px 12px 0 #211e20}.stack-panel,.work-panel{padding:clamp(28px,4vw,52px)}.stack-panel{border-right:1px solid #302c2e}.context-label{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.14em}.career-context h2{margin:.65rem 0 .5rem;font:900 clamp(1.7rem,3vw,2.7rem)/1 Paytone,Outfit,sans-serif;color:#f9f4da}.career-context p{color:#a9a09b;line-height:1.45}.stack-chips{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.stack-chip{height:44px;display:inline-flex;align-items:center;gap:9px;padding:5px 15px 6px 9px;background:#111820;border:1px solid #202b34;border-radius:99px;color:#f9f4da;box-shadow:0 4px 0 #aaa;font-size:.82rem}.stack-chip img{width:27px;height:27px;object-fit:contain}.stack-chip b{font-weight:800}.work-list{margin-top:22px;border-top:1px solid #332e30}.work-list a{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:15px 4px;border-bottom:1px solid #332e30;text-decoration:none;color:#f9f4da;transition:.18s}.work-list a:hover{padding-left:11px;color:var(--accent)}.work-list a>span{font-size:.7rem;color:#7e7573;font-weight:900}.work-list b,.work-list small{display:block}.work-list small{margin-top:3px;color:#9e9590;font-size:.78rem}.work-list i{font-style:normal}.work-note{font-size:.72rem;margin:16px 0 0}@media(max-width:760px){.career-context{grid-template-columns:1fr;margin-bottom:70px}.stack-panel{border-right:0;border-bottom:1px solid #302c2e}.stack-chip{height:41px;padding-right:12px}.career-context h2{font-size:1.8rem}}
@media(max-width:520px){.top .kv-wordmark{font-size:.88em}}
/* roadmap-architecture:start */
.hero .roadmap-update{margin:1.35rem 0 0;color:#f9f4da;font-size:.95rem;line-height:1.4;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.roadmap-update time{color:var(--accent)}
.related-roadmaps{margin:4rem auto 0;padding:2rem;border:1px solid #4b4547;border-radius:18px;background:#171515}
.related-roadmaps h2{margin:0 0 1.25rem;font:clamp(1.7rem,4vw,2.5rem)/1 Paytone;text-transform:uppercase}
.related-roadmaps ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:0;padding:0;list-style:none}
.related-roadmaps a{display:block;height:100%;padding:1rem;border:1px solid #4b4547;border-radius:12px;color:#f9f4da;text-decoration:none;line-height:1.4}
.related-roadmaps a:hover,.related-roadmaps a:focus-visible{border-color:var(--accent);color:var(--accent)}
.roadmap-site-footer{max-width:1120px;margin:0 auto;padding:2.2rem 24px 3rem;border-top:1px solid #373334;display:flex;justify-content:space-between;gap:2rem;color:#c9c1ad}
.roadmap-site-footer p{margin:.6rem 0 0}
.roadmap-footer-brand{text-decoration:none}
.roadmap-footer-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:1rem}
.roadmap-footer-links a{color:#f9f4da;text-decoration:none;border-bottom:1px solid transparent}
.roadmap-footer-links a:hover,.roadmap-footer-links a:focus-visible{border-color:currentColor}
@media(max-width:720px){.hero{grid-template-columns:minmax(0,1fr)}.hero>div{min-width:0}.hero h1{font-size:clamp(2.75rem,14vw,5rem);overflow-wrap:break-word}.related-roadmaps ul{grid-template-columns:1fr}.roadmap-site-footer{display:block}.roadmap-footer-links{margin-top:1.5rem}}
/* roadmap-architecture:end */
