/* Values from the supplied KAGE_TYPOGRAPHY recipe and configured usage. */
body{font-family:"Geist",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
body,.body,.body-lg,.num{font-weight:300}
h1:not(.jp),h2:not(.jp),h3:not(.jp),.display:not(.jp){font-family:"Onest",system-ui,sans-serif;font-weight:400}
.display{letter-spacing:-.012em}
.h-hero{font-size:clamp(26px,3.05vw,46px)}
.h-sec{font-size:clamp(30px,4vw,60px)}
.body-lg{font-size:clamp(14px,1.02vw,14px)}
.body{font-size:11px}
/* Only fit accommodations for longer agency copy and working links. */
.brand-tx b{text-transform:none;letter-spacing:.02em}
.hero-actions{position:relative;z-index:12;display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}
.hero-actions .arrowlink{font-size:10px;letter-spacing:.12em}
.jp{font-family:inherit}
.card-lab b{font-size:clamp(20px,2.5vw,38px)}
#pathways>h2{margin:0 0 30px}
body[data-layout-closing="b"] .fin h2{max-height:75vh;font-size:clamp(32px,4.3vw,60px);text-wrap:balance}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--bone);outline-offset:6px}
.chip{text-decoration:none;color:inherit}
#contact-details{scroll-margin-top:100px}
#contact-status{font-size:13px;color:var(--bone-dim)}
.word-fb{font-size:15vw;letter-spacing:0}
@media(max-width:820px){.hero-actions{gap:12px}.brand-tx i{font-size:7px}.brand-tx b{font-size:18px}}
@media(max-width:600px){body[data-layout-closing="b"] .fin h2{max-height:none;font-size:clamp(34px,9vw,52px)}}

/* almostpersona. / violet identity — custom a/p mark, open orbit, quiet type. */
:root{--ink:#08060e;--ink-2:#100a1c;--bone:#f0eafb;--bone-dim:#c0b4d2;--muted:#9c8bad;--line:rgba(194,159,255,.2);--line-soft:rgba(194,159,255,.1);--vermilion:#a47aff;--ember:#cfafff;--gold:#bc9aed}
body{background:var(--ink)}
.persona-mark{color:var(--bone);overflow:visible}
.brand{gap:13px}
.brand svg{width:43px;height:43px}
.brand-tx b{font-size:20px;letter-spacing:-.065em;font-weight:500}
.brand-tx i{font-size:7px;letter-spacing:.21em;margin-top:4px;color:#b8a8ce}
.pre-mark svg{width:64px;height:64px}
.pre-jp{font-size:18px;letter-spacing:-.04em;text-transform:none}
.pre-bar i{background:linear-gradient(90deg,#7950c5,#d3baff)}
#pre{background:#08060e}
.display{text-transform:none;letter-spacing:-.05em;line-height:1.08}
.h-hero{font-size:clamp(30px,3.6vw,54px)}
.h-hero .mask-line:nth-child(2),.h-hero .mask-line:nth-child(3){color:#c5a6ff}
.body{font-size:13px;color:#b9b0c7}
.body-lg{font-size:15px;color:#c5bcd0}
.hero-sub{max-width:43ch}
.eyebrow,.sec-head .k,.card-meta,.les .t{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.13em}
.hero-actions{gap:12px;margin-top:22px}
.hero-actions .arrowlink{padding:12px 16px;border:1px solid rgba(182,142,250,.35);border-radius:3px;font-size:9px;letter-spacing:.09em;transition:background .25s,border-color .25s}
.hero-actions .arrowlink:first-child{background:rgba(131,79,211,.19)}
.hero-actions .arrowlink:hover{background:rgba(160,111,239,.3);border-color:#bc96ff}
.hero-side .v{font-family:ui-monospace,monospace;font-size:10px!important;letter-spacing:.3em;color:#bca4de}
.nav::before{background:rgba(10,6,18,.8)}
.nav-link{font-size:10px;letter-spacing:.13em}
.nav-link .alt{color:#cfafff}
.chip .num{color:#d8c6f6;font-weight:300}
.chip .tx p{color:#b6a8c6}
.cur-dot{border-color:rgba(196,157,255,.5)}
.card-fr,.peek-fr{filter:sepia(.85) saturate(1.8) hue-rotate(215deg)}
.fg img{filter:sepia(.7) saturate(1.1) hue-rotate(215deg)}
body[data-layout-curriculum="b"] .les{background:rgba(11,7,19,.88)}
body[data-layout-curriculum="b"] .les::before{background:linear-gradient(145deg,rgba(164,122,255,.15),transparent 58%)}
.les h3{letter-spacing:-.04em}
.foot-brand b{font-weight:500;letter-spacing:-.055em;color:#eee5ff}
.foot-base .jp{letter-spacing:.08em}
#grain{opacity:.032}
@media(min-width:821px){.nav-burger{display:none}}
@media(max-width:820px){.brand svg{width:36px;height:36px}.brand-tx b{font-size:20px}.brand-tx i{font-size:6px}.hero-actions .arrowlink{padding:10px 11px;font-size:8px}.nav.menu-open .nav-links{background:#0c0715}}
@media(max-width:600px){.h-hero{font-size:clamp(30px,8.5vw,40px)}.hero-sub{max-width:34ch}.hero-side{display:none}.hero-actions{gap:8px}.card-meta{font-size:8px}.foot-base{gap:14px}}
/* Studio-authored demo artwork already carries the brand palette. */
.card-fr{filter:none}
@media(max-width:600px){body[data-layout-hero="b"] .hero-side{display:none}}
.card-lab b{text-transform:none;letter-spacing:-.04em}
/* Compositor-driven loader; stable numeric width prevents percentage jitter. */
.pre-bar i{inset:0;transform:scaleX(0);transform-origin:left;transition:none;will-change:transform}
#pre-pct{font-variant-numeric:tabular-nums;display:inline-block;min-width:3ch;text-align:right}
.hero-actions .arrowlink,.nav-burger{min-height:44px;align-items:center;justify-content:center}
.hero-actions .arrowlink{display:inline-flex}
.hero-actions .arrowlink{box-sizing:border-box}
.hero-sub,.les,.card-lab,.foot-col{min-width:0;overflow-wrap:break-word}
@media(max-width:820px){.nav-links .nav-link{min-height:44px;display:flex;align-items:center}.nav-links .nav-link .alt{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
