@layer base, layout, components, effects, utilities;@layer base{*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0f1a;--paper:#0f1422;--ink:#e6ebf5;--muted:#9aa3b2;--brand:oklch(0.70 0.18 250);--brand-2:oklch(0.74 0.16 220);--ease:cubic-bezier(.2,.8,.2,1);--ring:color-mix(in oklab,var(--brand),#fff 25%);--shadow-1:0 6px 24px rgba(0,0,0,.25);--shadow-2:0 20px 60px rgba(0,0,0,.35);--rail:clamp(260px,22vw,360px);--g:clamp(18px,1.2vw + .6rem,28px);--radius:14px}@media (prefers-color-scheme:light){:root[data-theme=light]{--bg:#f5f7fb;--paper:#fff;--ink:#0a0d16;--muted:#5a6a84;--shadow-1:0 6px 18px rgba(0,0,40,.08);--shadow-2:0 20px 60px rgba(0,0,40,.12)}}html{color-scheme:light dark;scroll-behavior:smooth}body{accent-color:var(--brand);background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji;line-height:1.55;overflow-x:hidden;transition:background-color .3s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}a{color:inherit;text-decoration:none}.skip-link{background:color-mix(in oklab,var(--paper),var(--brand) 8%);border:1px solid color-mix(in oklab,var(--ink),transparent 82%);border-radius:10px;color:var(--ink);left:12px;padding:.55rem .75rem;position:fixed;top:8px;transform:translateY(-140%);transition:transform .2s ease;z-index:2000}.skip-link:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring),transparent 40%);transform:translateY(0)}a:focus-visible{border-radius:8px;outline:2px solid color-mix(in oklab,var(--brand),#fff 10%);outline-offset:2px}h1,h2,h3,h4{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans;font-optical-sizing:auto}::-moz-selection{background:color-mix(in oklab,var(--brand),#fff 18%);color:#fff}::selection{background:color-mix(in oklab,var(--brand),#fff 18%);color:#fff}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.bg-anim{animation:none!important}}}@layer layout{.app{grid-template-columns:var(--rail) 1fr;min-height:100dvh;position:relative;z-index:0}.app,.rail{display:grid}.rail{background:linear-gradient(180deg,transparent 0 60%,color-mix(in oklab,var(--paper),transparent 50%) 100%),linear-gradient(90deg,color-mix(in oklab,var(--paper),transparent 10%),transparent),var(--paper);border-right:1px solid color-mix(in oklab,var(--ink),transparent 90%);gap:var(--g);grid-template-rows:auto 1fr auto;height:100dvh;padding:calc(var(--g)*1.3);position:sticky;top:0}.brand{display:grid;gap:.75rem}.logo{background:color-mix(in oklab,var(--paper),transparent 0);border-radius:10px;box-shadow:none;display:block;height:44px;padding:4px;width:auto}.name{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans;font-optical-sizing:auto;font-size:clamp(24px,2vw + .4rem,34px);font-variation-settings:"wght" 780;font-weight:800;letter-spacing:-.02em}.role{color:var(--muted);display:inline-block;font-size:clamp(12px,.6vw + .5rem,14px);letter-spacing:.12em;text-transform:uppercase}.rail-nav{align-self:start;display:grid;gap:10px;padding-top:var(--g)}.rail-nav a{border:1px solid color-mix(in oklab,var(--ink),transparent 88%);border-radius:10px;color:var(--muted);padding:.7rem .9rem;transition:transform .2s var(--ease),background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.rail-nav a:is(:hover,:focus-visible){background:color-mix(in oklab,var(--paper),var(--brand) 6%);border-color:color-mix(in oklab,var(--brand),transparent 40%);color:var(--ink);transform:translateX(4px)}.rail-footer{align-items:center;border-top:1px dashed color-mix(in oklab,var(--ink),transparent 88%);color:var(--muted);display:flex;font-size:14px;gap:12px;justify-content:space-between;padding-top:var(--g)}.social{display:flex;gap:10px}.chip{background:color-mix(in oklab,var(--paper),transparent 10%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:999px;padding:.45rem .7rem}.rail-social{display:flex;gap:10px;margin:10px 0 var(--g)}.icon-btn{background:color-mix(in oklab,var(--paper),transparent 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:999px;color:var(--muted);display:grid;height:36px;place-items:center;transition:transform .18s var(--ease),border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease);width:36px}.icon-btn:focus-visible,.icon-btn:hover{border-color:color-mix(in oklab,var(--brand),transparent 40%);color:var(--ink);outline:none;transform:translateY(-2px)}.icon-btn svg{display:block;height:18px;width:18px}.content{scroll-snap-type:y mandatory}section.section{align-content:center;display:grid;gap:calc(var(--g)*1.2);min-height:100dvh;padding:calc(var(--g)*1.6) clamp(var(--g),4vw,80px);position:relative;scroll-snap-align:start}.kicker{color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.headline{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans;font-optical-sizing:auto;font-size:clamp(40px,6vw,92px);font-variation-settings:"wght" 760;font-weight:900;letter-spacing:-.035em;line-height:.95;transition:font-variation-settings .3s var(--ease)}.headline:hover{font-variation-settings:"wght" 840}.headline .accent{background:linear-gradient(120deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Fraunces,ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-variation-settings:"opsz" 72,"wght" 700;letter-spacing:-.01em}.headline{position:relative}.headline:after{background-color:color-mix(in oklab,var(--brand),#fff 10%);content:"";height:26px;left:-14px;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 30"><path d="M5 20 C 25 -10, 75 40, 95 10" fill="none" stroke="black" stroke-width="6" stroke-linecap="round"/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 30"><path d="M5 20 C 25 -10, 75 40, 95 10" fill="none" stroke="black" stroke-width="6" stroke-linecap="round"/></svg>') center/contain no-repeat;opacity:.28;pointer-events:none;position:absolute;top:-12px;width:86px}.soft-mask{-webkit-mask-image:radial-gradient(120% 120% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(120% 120% at 50% 50%,#000 60%,transparent 100%)}.lede{color:var(--muted);font-size:clamp(16px,1.2vw + .6rem,22px);max-width:70ch}}@layer components{#clients .logo-grid{align-items:center;display:grid;gap:calc(var(--g)*.7);grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:860px){#clients .logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}#clients .logo-item{list-style:none}#clients .logo-item a{background:color-mix(in oklab,var(--paper),var(--ink) 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 92%);border-radius:calc(var(--radius) - 2px);display:grid;height:88px;padding:14px 16px;place-items:center;transform:translateY(var(--y,0));transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}#clients .logo-item img{display:block;height:auto;max-height:clamp(28px,8vw,46px);max-width:100%;opacity:1}html[data-theme=light] #clients .logo-item a{background:#fff}#clients .logo-item.logo-shadow img{filter:drop-shadow(0 0 1px black)!important}#clients .logo-item:nth-child(4n+1){--y:-10px;animation:float 7.5s ease-in-out infinite}#clients .logo-item:nth-child(4n+2){--y:2px;animation:float 8.5s ease-in-out .2s infinite}#clients .logo-item:nth-child(4n+3){--y:-6px;animation:float 7.8s ease-in-out .1s infinite}#clients .logo-item:nth-child(4n+4){--y:4px;animation:float 9s ease-in-out .3s infinite}#clients .logo-item a:focus-visible,#clients .logo-item a:hover{border-color:color-mix(in oklab,var(--brand),transparent 80%);box-shadow:0 10px 24px color-mix(in oklab,var(--brand),transparent 86%);position:relative;transform:translateY(calc(var(--y, 0))) scale(1.04);z-index:2}@keyframes float{0%{transform:translateY(var(--y,0))}50%{transform:translateY(calc(var(--y, 0) + 6px))}to{transform:translateY(var(--y,0))}}@media (prefers-reduced-motion:reduce){#clients .logo-item{animation:none}}@media (max-width:520px){#clients .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#clients .logo-item a{height:78px}}.grid{display:grid;gap:var(--g)}.grid.cols-3{container-type:inline-size;grid-template-columns:repeat(3,minmax(0,1fr))}@container (max-width: 860px){.grid.cols-3{grid-template-columns:1fr}}.card{background:color-mix(in oklab,var(--paper),transparent 0);border:1px solid color-mix(in oklab,var(--ink),transparent 88%);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:calc(var(--g)*1.1);transition:transform .25s var(--ease),border-color .2s var(--ease),background-color .3s var(--ease)}.card:hover{background:color-mix(in oklab,var(--paper),var(--brand) 5%);border-color:color-mix(in oklab,var(--brand),transparent 40%);transform:translateY(-6px)}.card .card-toggle{align-items:center;background:none;border:1px solid color-mix(in oklab,var(--ink),transparent 88%);border-radius:10px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:14px;gap:8px;margin-top:.6rem;padding:.45rem .6rem}.card .card-toggle:focus-visible,.card .card-toggle:hover{background:color-mix(in oklab,var(--paper),transparent 6%);border-color:color-mix(in oklab,var(--ink),transparent 80%)}.card .chev{display:inline-block;transition:transform .25s var(--ease)}.card.is-open .chev{transform:rotate(180deg)}.card-extra{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s var(--ease),opacity .25s var(--ease)}.card.is-open .card-extra{margin-top:.6rem;max-height:320px;opacity:1}.bullets{color:var(--muted);display:grid;gap:.3rem;margin:.4rem 0 0 1.1rem}.stats{display:grid;gap:var(--g);grid-template-columns:repeat(4,1fr)}.stat{background:color-mix(in oklab,var(--paper),transparent 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 88%);border-radius:12px;padding:1.2rem 1rem;text-align:center}.stat .num{font-size:clamp(32px,4vw,56px);font-weight:900;letter-spacing:-.03em}.stat .label{color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase}@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.stats{grid-template-columns:1fr}}.project{align-items:center;display:grid;gap:14px;grid-template-columns:1fr auto}.project h3{font-size:clamp(18px,1.2vw + .6rem,26px);font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:999px;color:var(--muted);font-size:12px;padding:.35rem .6rem}.timeline{display:grid;gap:var(--g)}.tl-item{align-items:start;display:grid;gap:18px;grid-template-columns:120px 1fr}.tl-date{color:var(--muted);font-variant-numeric:tabular-nums}.tl-card{border-bottom:1px dashed color-mix(in oklab,var(--ink),transparent 86%);padding-bottom:12px}.tl-card h4{font-size:18px;margin-bottom:6px}.tl-card p{color:var(--muted)}.btn{transition:transform .3s var(--ease),background-color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.btn:active{transform:translateY(0) scale(.99)}.btn:focus-visible{animation:focusPulse .35s ease-out 1;box-shadow:0 0 0 3px color-mix(in oklab,var(--ring),transparent 40%)}@keyframes focusPulse{0%{transform:scale(1)}50%{transform:scale(1.015)}to{transform:scale(1)}}.cta{display:flex;flex-wrap:wrap;gap:14px}.btn,.cta{align-items:center}.btn{background:color-mix(in oklab,var(--paper),transparent 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:12px;box-shadow:var(--shadow-1);color:var(--ink);display:inline-flex;font:inherit;gap:.6rem;justify-content:center;line-height:1.15;padding:.9rem 1.2rem;transition:transform .2s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease)}.btn:hover{border-color:color-mix(in oklab,var(--brand),transparent 40%);transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));border:1px solid transparent;color:#fff}footer{border-top:1px solid color-mix(in oklab,var(--ink),transparent 90%);color:var(--muted);font-size:14px;padding:var(--g) clamp(var(--g),4vw,80px)}.utils{display:flex;gap:8px;position:fixed;right:16px;top:16px;z-index:1000}.util{background:color-mix(in oklab,var(--paper),transparent 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:10px;color:var(--muted);font-size:13px;padding:.55rem .75rem}}.theme-fab{background:color-mix(in oklab,var(--paper),var(--ink) 2%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);box-shadow:var(--shadow-1);color:var(--muted);transition:transform .18s var(--ease),border-color .2s var(--ease),background-color .3s var(--ease)}.theme-fab:focus-visible,.theme-fab:hover{border-color:color-mix(in oklab,var(--brand),transparent 60%);transform:translateY(-2px)}@media (max-width:860px){.drawer,.drawer-backdrop,.hamburger{display:none!important}}#contact .schedule-form{display:none;margin-top:.9rem}#contact.form-open .schedule-form{animation:form-in .38s var(--ease) both;display:grid;gap:.7rem;grid-template-columns:1fr 1fr}@media (max-width:600px){#contact.form-open .schedule-form{grid-template-columns:1fr}}#contact.form-open .schedule-form .actions,#contact.form-open .schedule-form .field{animation:field-in .42s var(--ease) both;opacity:0;transform:translateY(6px)}#contact.form-open .schedule-form .field:first-child{animation-delay:.02s}#contact.form-open .schedule-form .field:nth-child(2){animation-delay:.04s}#contact.form-open .schedule-form .field:nth-child(3){animation-delay:.06s}#contact.form-open .schedule-form .field:nth-child(4){animation-delay:.08s}#contact.form-open .schedule-form .field:nth-child(5){animation-delay:.1s}#contact.form-open .schedule-form .field:nth-child(6){animation-delay:.12s}#contact.form-open .schedule-form .field:nth-child(7){animation-delay:.14s}#contact.form-open .schedule-form .actions{animation-delay:.16s}#contact .schedule-form .field label{color:var(--muted);font-size:13px}#contact .schedule-form input,#contact .schedule-form textarea{background:color-mix(in oklab,var(--paper),transparent 4%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:10px;color:var(--ink);font:inherit;padding:.6rem .7rem;width:100%}#contact .schedule-form input:focus-visible,#contact .schedule-form textarea:focus-visible{border-color:color-mix(in oklab,var(--brand),transparent 40%);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand),transparent 85%);outline:none}#contact .schedule-form input,#contact .schedule-form textarea{caret-color:var(--ink);color-scheme:dark}#contact .schedule-form ::-moz-placeholder{color:color-mix(in oklab,var(--ink),transparent 45%)}#contact .schedule-form ::placeholder{color:color-mix(in oklab,var(--ink),transparent 45%)}#contact .schedule-form input[type=date]::-webkit-calendar-picker-indicator,#contact .schedule-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.6) saturate(80%);opacity:.85}@keyframes form-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes field-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#contact.form-open .cta{display:none}#scheduleBtn{view-transition-name:schedule}.theme-fab{border-radius:999px;bottom:16px;display:grid;height:46px;place-items:center;position:fixed;right:16px;width:46px;z-index:1400}.theme-fab .icon{position:absolute;transition:opacity .25s var(--ease),transform .25s var(--ease)}html[data-theme=light] .theme-fab .sun{opacity:1;transform:rotate(0deg) scale(1)}html[data-theme=light] .theme-fab .moon{opacity:0;transform:rotate(-30deg) scale(.9)}html[data-theme=dark] .theme-fab .sun{opacity:0;transform:rotate(30deg) scale(.9)}html[data-theme=dark] .theme-fab .moon{opacity:1;transform:rotate(0deg) scale(1)}.theme-fab.spin{animation:spin .6s ease}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(180deg)}}#contact .schedule-success{display:none;margin-top:.9rem}#contact.success .cta,#contact.success .schedule-form{display:none!important}#contact.success .schedule-success{animation:form-in .3s var(--ease);display:block}#contact.form-open #scheduleForm{view-transition-name:schedule}.drawer{background:var(--paper);border-right:1px solid color-mix(in oklab,var(--ink),transparent 86%);color:var(--ink);display:flex;flex-direction:column;gap:10px;height:100dvh;inset:0 auto 0 0;padding:18px;position:fixed;transform:translateX(-102%);transition:transform .36s var(--ease);width:min(84vw,320px);z-index:1200}.drawer ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.drawer a{border:1px solid transparent;border-radius:10px;color:inherit;display:block;padding:.7rem .8rem}.drawer a:focus-visible,.drawer a:hover{background:color-mix(in oklab,var(--paper),transparent 6%);border-color:color-mix(in oklab,var(--ink),transparent 82%)}.drawer-close{align-self:flex-end;margin-bottom:6px}.drawer-backdrop{backdrop-filter:blur(2px);background:rgba(10,13,22,.44);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s var(--ease);z-index:1100}.drawer-open .drawer{transform:translateX(0)}.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}body.drawer-open{overflow:hidden}.hamburger{display:none}@media (max-width:860px){.hamburger{display:inline-flex}}@layer effects{.reveal{opacity:0;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}:root{view-transition-name:app}::view-transition-group(app){animation-duration:.5s;animation-timing-function:var(--ease)}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}::view-transition-old(app){animation:vt-fade-out .28s var(--ease) both}::view-transition-new(app){animation:vt-fade-in .28s var(--ease) both}html.vt-theme *,html.vt-theme :after,html.vt-theme :before{transition:none!important}@supports (animation-timeline:view()){.reveal{animation-timeline:view();animation-range:entry 0 cover 40%;animation:rise .9s var(--ease) both;opacity:0;transform:translateY(18px)}.reveal .toast-container{bottom:16px;display:grid;gap:10px;left:16px;pointer-events:none;position:fixed;z-index:1600}.reveal .toast{align-items:center;animation:toast-in .28s var(--ease);background:color-mix(in oklab,var(--paper),transparent 6%);border:1px solid color-mix(in oklab,var(--ink),transparent 86%);border-radius:12px;box-shadow:var(--shadow-2);color:var(--ink);display:flex;gap:.7rem;max-width:min(420px,92vw);min-width:240px;padding:.7rem .9rem;pointer-events:auto;position:relative;will-change:transform,opacity}.reveal .toast .toast-ico{animation:ico-in .26s var(--ease) .04s both}.reveal .toast .toast-text{animation:text-in .26s var(--ease) .06s both}.reveal .toast.success{background:color-mix(in oklab,var(--paper),var(--brand) 7%);border-color:color-mix(in oklab,var(--brand),transparent 35%)}.reveal .toast.error{background:color-mix(in oklab,var(--paper),oklch(.64 .2 25) 10%);border-color:color-mix(in oklab,oklch(.64 .2 25),transparent 35%)}.reveal .toast .toast-close{background:none;border:1px solid color-mix(in oklab,var(--ink),transparent 85%);border-radius:8px;color:var(--muted);cursor:pointer;margin-left:auto;padding:.2rem .45rem}.reveal .toast .toast-close:hover{border-color:color-mix(in oklab,var(--ink),transparent 70%);color:var(--ink)}.reveal .toast .toast-line{animation:toast-line var(--dur,4s) linear forwards;background:color-mix(in oklab,var(--ink),transparent 70%);bottom:0;height:2px;left:0;position:absolute;right:0;transform-origin:left}.reveal .toast.out{animation:toast-out .2s var(--ease) forwards}@keyframes toast-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateX(-6px)}}@keyframes toast-line{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ico-in{0%{opacity:0;transform:scale(.86) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes text-in{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:none}}.reveal .toast .toast-ico{color:var(--muted);display:inline-grid;flex:0 0 20px;height:20px;place-items:center;width:20px}.reveal .toast.success .toast-ico{color:var(--brand)}.reveal .toast.error .toast-ico{color:oklch(.64 .2 25)}.reveal .toast.info .toast-ico{color:var(--muted)}.reveal .toast .toast-text{line-height:1.35}@keyframes rise{to{opacity:1;transform:translateY(0)}}}.rail-nav a[data-active=true]{background:color-mix(in oklab,var(--paper),var(--brand) 6%);border-color:color-mix(in oklab,var(--brand),transparent 40%);color:var(--ink)}:focus-visible{border-radius:6px;outline:2px solid var(--ring);outline-offset:3px}.bg-anim{animation:bg-drift 24s ease-in-out infinite alternate,bg-rotate 160s linear infinite;background:radial-gradient(60vmax 60vmax at 12% 18%,color-mix(in oklab,var(--brand),transparent 70%) 10%,transparent 60%),radial-gradient(50vmax 50vmax at 88% 24%,color-mix(in oklab,var(--brand-2),transparent 70%) 12%,transparent 60%),radial-gradient(70vmax 70vmax at 40% 86%,color-mix(in oklab,var(--brand),var(--brand-2) 35%) 8%,transparent 60%),conic-gradient(from 210deg at 60% 40%,color-mix(in oklab,var(--brand),transparent 75%),color-mix(in oklab,var(--brand-2),transparent 75%),color-mix(in oklab,var(--brand),transparent 75%));filter:saturate(110%) blur(24px);inset:-12vmax;mix-blend-mode:normal;opacity:.34;pointer-events:none;position:fixed;transform:translateZ(0) scale(1.02) rotate(.001deg);will-change:transform,filter;z-index:-1}@keyframes bg-drift{0%{opacity:.42;transform:translate3d(-1.6%,-.8%,0) scale(1.02)}50%{opacity:.46;transform:translate3d(1%,.6%,0) scale(1.025)}to{opacity:.44;transform:translate3d(2.2%,1.2%,0) scale(1.03)}}@keyframes bg-rotate{to{transform:translate3d(2.2%,1.2%,0) scale(1.03) rotate(6deg)}}@media (max-width:860px){.bg-anim{animation:bg-drift 18s ease-in-out infinite alternate;background:radial-gradient(60vmax 60vmax at 12% 18%,color-mix(in oklab,var(--brand),transparent 70%) 10%,transparent 60%),radial-gradient(50vmax 50vmax at 88% 24%,color-mix(in oklab,var(--brand-2),transparent 70%) 12%,transparent 60%),radial-gradient(70vmax 70vmax at 40% 86%,color-mix(in oklab,var(--brand),var(--brand-2) 35%) 8%,transparent 60%);filter:saturate(108%) blur(18px);opacity:.24}}:root[data-theme=light] .bg-anim{filter:saturate(110%) blur(28px);opacity:.32}}@layer utilities{.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}@media (max-width:860px){.app{grid-template-columns:1fr}.rail{border-bottom:1px solid color-mix(in oklab,var(--ink),transparent 90%);border-right:none;gap:12px;grid-template-rows:auto auto;height:auto;padding:calc(var(--g)*.9);position:static}.brand{align-items:center;gap:10px;grid-auto-flow:column;justify-content:start}.role{letter-spacing:.1em}.rail-nav{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:10px;overflow-x:auto;padding:6px 0 10px;scroll-snap-type:x proximity}.rail-nav a{flex:0 0 auto;padding:.55rem .8rem;scroll-snap-align:start}section.section{align-content:start;padding:calc(var(--g)*1.2) var(--g)}.grid.cols-3,.project{grid-template-columns:1fr}.timeline{gap:calc(var(--g)*.8)}.tl-item{gap:6px;grid-template-columns:1fr}.tl-date{font-size:12px}.utils{right:10px;top:10px}}