.journey-page{margin:0}
.menu button[aria-current="page"]{color:var(--ink);background:var(--purple-soft)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--purple-text)}
.tagline{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--purple-text)}
.tagline i{width:28px;height:2px;background:var(--yellow);border-radius:2px}
.lede{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:60ch}
.mod{width:clamp(210px,20vw,250px);height:clamp(270px,36vh,320px);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;flex-direction:column;box-shadow:var(--shadow);transform-style:preserve-3d;will-change:transform;transition:border-color .3s var(--ease-out)}
.mod:hover{border-color:var(--purple-text)}
.mod .ic{width:58px;height:58px;border-radius:16px;background:var(--purple-soft);display:grid;place-items:center}
.mod .ic svg{width:30px;height:30px;stroke:var(--purple-text)}
.mod b{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin-top:auto}
.mod small{display:block;font-size:14px;color:var(--ink-2);margin-top:6px;line-height:1.4}
.mod.key{background:var(--purple);border-color:var(--purple);color:#fff}
.mod.key .ic{background:rgba(255,255,255,.14)}.mod.key .ic svg{stroke:var(--yellow)}
.mod.key small{color:rgba(255,255,255,.78)}
.band{position:relative;overflow:hidden;background:var(--purple);color:#fff;border-radius:40px;margin-inline:var(--gutter);padding:clamp(56px,9vw,120px) clamp(24px,6vw,96px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;isolation:isolate}
.band h2{font-weight:900;font-size:clamp(38px,5.6vw,78px);letter-spacing:-.04em;line-height:.95}
.band p{font-size:clamp(18px,1.7vw,22px);color:rgba(255,255,255,.82);margin-top:20px;max-width:38ch}
.band p b{color:var(--yellow);font-weight:600}
.band .btn{margin-top:34px}
.band-art{position:relative;aspect-ratio:1;max-width:100%;perspective:900px}
.cube{position:absolute;inset:18%;transform-style:preserve-3d}
.cube div{position:absolute;inset:0;border-radius:24%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.28);display:grid;place-items:center}
.cube div svg{width:52%;fill:#fff}
.cube .f1{transform:translateZ(var(--d))}
.cube .f2{transform:rotateY(180deg) translateZ(var(--d))}
.cube .f3{transform:rotateY(90deg) translateZ(var(--d))}
.cube .f4{transform:rotateY(-90deg) translateZ(var(--d))}
.cube .f5{transform:rotateX(90deg) translateZ(var(--d));background:var(--yellow);border-color:var(--yellow)}
.cube .f5 svg{fill:var(--purple)}
.cube .f6{transform:rotateX(-90deg) translateZ(var(--d))}
.band::before{content:"";position:absolute;right:-12%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent);z-index:-1}
.phero{position:relative;padding-block:clamp(40px,7vh,88px) clamp(40px,6vh,72px);overflow:hidden}
.phero::before{content:"";position:absolute;inset:-30% -10% auto 45%;height:120%;background:radial-gradient(closest-side,var(--purple-soft),transparent);pointer-events:none}
.phero .crumb{position:relative;display:flex;gap:8px;align-items:center;font-family:var(--font-display);font-size:14px;color:var(--ink-2);margin-bottom:22px}
.phero .crumb a{text-decoration:none}.phero .crumb svg{width:12px;height:12px;opacity:.6}
.phero h1{position:relative;font-weight:900;font-size:clamp(44px,6.4vw,92px);line-height:.94;letter-spacing:-.04em;text-transform:uppercase;margin-top:20px;max-width:14ch}
.phero h1 .line{display:block;overflow:hidden;padding-bottom:.05em}.phero h1 .line>span{display:inline-block}
.phero .lede{position:relative;margin-top:22px}
.phero .lede em{font-style:normal;font-weight:600;color:var(--ink);background:linear-gradient(transparent 62%,var(--highlight) 62%)}
.hub{display:grid;grid-template-columns:4fr 3fr 2fr;gap:clamp(16px,2vw,28px);align-items:start;perspective:1600px}
.col{display:grid;gap:16px;min-width:0}
.col .phase-head{display:flex;align-items:baseline;gap:12px;font-family:var(--font-display);padding-bottom:6px}
.col .phase-head span{font-weight:800;font-size:15px;color:var(--purple-text);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.col .phase-head b{font-weight:800;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em}
.col .phase-head i{flex:1;height:1.5px;min-width:30px;background:linear-gradient(90deg,var(--line),transparent)}
.tiles{display:grid;gap:16px}
.c1 .tiles{grid-template-columns:1fr 1fr}
.c2 .tiles{grid-template-columns:1fr}
.c3 .tiles{grid-template-columns:1fr}
a.mod{width:auto;height:auto;min-height:200px;text-decoration:none;color:inherit;transform-style:preserve-3d;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}
a.mod:hover{box-shadow:0 1px 2px rgba(60,10,58,.06),0 30px 50px -20px rgba(60,10,58,.35)}
a.mod .go{position:absolute;right:20px;top:22px;width:20px;height:20px;color:var(--ink-2);transition:transform .3s var(--ease-out),color .3s}
a.mod:hover .go{transform:translateX(4px);color:var(--purple-text)}
a.mod.key .go{color:rgba(255,255,255,.7)}
a.mod{position:relative}
.c2 a.mod,.c3 a.mod{min-height:150px}
@media (max-width:1000px){.hub{grid-template-columns:1fr}.c1 .tiles,.c2 .tiles,.c3 .tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media (max-width:900px){.band{grid-template-columns:1fr}.band-art{max-width:300px;width:100%;margin-inline:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}a.mod:hover{transform:none}}
