:root{
 --c-black-900:#080808;--c-black-800:#111;--c-black-700:#1a1a1a;--c-black-600:#272727;
 --c-grey-600:#626262;--c-grey-400:#929292;--c-grey-200:#c9c2da;--c-offwhite:#f5f5f2;
 --c-purple-700:#3c1c7e;--c-purple-300:#bd6cf7;--c-green-400:#cdfb50;
 --color-bg:var(--c-black-900);--color-surface:var(--c-black-800);--color-text:var(--c-offwhite);
 --color-text-muted:var(--c-grey-400);--color-text-muted-on-space:var(--c-grey-200);
 --color-border:var(--c-black-600);--color-border-control:var(--c-grey-600);
 --color-action:var(--c-green-400);--color-action-hover:#d9ff6e;--color-on-action:var(--c-black-900);--color-dot:var(--c-green-400);
 --gradient-space:radial-gradient(95% 75% at 88% 0%,rgb(189 108 247/.45) 0%,rgb(189 108 247/0) 62%),radial-gradient(60% 50% at 10% 30%,rgb(8 8 8/.18) 0%,rgb(8 8 8/0) 70%),var(--c-purple-700);
 --gradient-panel:radial-gradient(35% 55% at 100% 0%,rgb(189 108 247/.16) 0%,rgb(189 108 247/0) 70%),radial-gradient(65% 100% at 100% 0%,rgb(60 28 126/.9) 0%,rgb(60 28 126/0) 72%),linear-gradient(165deg,rgb(245 245 242/.04) 0%,rgb(245 245 242/0) 40%),var(--c-black-800);
 --gradient-glow-top-right:radial-gradient(30% 40% at 100% 0%,rgb(189 108 247/.14) 0%,rgb(189 108 247/0) 70%),radial-gradient(58% 75% at 100% 0%,rgb(60 28 126/.85) 0%,rgb(60 28 126/0) 72%);
 --btn-secondary-bg:rgb(245 245 242/.06);--btn-secondary-bg-hover:rgb(245 245 242/.1);--btn-secondary-border:rgb(245 245 242/.34);
 --glow-action:0 0 22px rgb(205 251 80/.2);--glow-action-hover:0 0 30px rgb(205 251 80/.38);--glow-secondary-hover:0 0 20px rgb(205 251 80/.22);
 --font-sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
 --fs-display-xl:clamp(2.375rem,.4rem + 7.4vw,8.75rem);--fs-display-l:clamp(2.125rem,.6rem + 5.4vw,6.5rem);
 --fs-h2:clamp(1.875rem,.9rem + 3.4vw,4.5rem);--fs-h3:clamp(1.375rem,1.05rem + 1vw,2rem);
 --fs-body-l:clamp(1.1875rem,1.05rem + .55vw,1.625rem);--fs-body:clamp(1rem,.96rem + .18vw,1.125rem);
 --fs-small:.875rem;--fs-ui:.8125rem;--fs-micro:.6875rem;
 --fw-display:650;--lh-display:.9;--lh-heading:.98;--ls-display:-.05em;--ls-heading:-.035em;--ls-label:.08em;
 --r-card:22px;--r-panel:30px;--r-media:28px;--r-stage:44px;--r-pill:999px;
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
 --section-y:clamp(5rem,2rem + 9vw,12.5rem);--panel-pad:clamp(1.5rem,.75rem + 3.2vw,4.5rem);
 --container-max:1460px;--gutter:clamp(1rem,.3rem + 3.2vw,4rem);--grid-gap:clamp(1rem,.6rem + 1vw,1.5rem);
 --header-h:4.5rem;--dur-ui:.25s;--dur-ui-slow:.35s;--dur-transition:.7s;
 --ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);
 --z-header:50;--z-flyout:60;color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--color-bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,ul,ol,figure,address{margin:0}ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
canvas,svg,video{display:block}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:var(--color-action);color:var(--color-on-action);border-radius:var(--r-pill);font-weight:700}
.skip-link:focus{top:1rem}
:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}
.container{width:min(var(--container-max),100% - 2*var(--gutter));margin-inline:auto}
.section{padding-block:var(--section-y)}
.t-display-xl,.t-display-l,.t-h2,.t-h3{font-weight:var(--fw-display);text-transform:uppercase;text-wrap:balance}
.t-display-xl{font-size:var(--fs-display-xl);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.t-display-l{font-size:var(--fs-display-l);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.t-h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}
.t-body-l{font-size:var(--fs-body-l);line-height:1.35}
.t-label{font-size:var(--fs-ui);line-height:1.3;font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase}
.t-small{font-size:var(--fs-small)}.t-muted{color:var(--color-text-muted)}
.section-label{margin-bottom:var(--space-6)}
.lines .line{display:block}
.lines.lines--flow .line,.lines.lines--flow .line__inner{display:inline}

/* ---- logo ---- */
.logo{font-weight:800;letter-spacing:-.06em;line-height:1;white-space:nowrap;display:inline-block}
.logo__i{position:relative;display:inline-block}
.logo__dot{position:absolute;left:50%;top:.03em;width:.2em;height:.2em;border-radius:50%;background:var(--color-dot);transform:translateX(-50%);box-shadow:0 0 .3em rgb(205 251 80/.5)}
.logo--lg{font-size:clamp(4rem,2rem + 8vw,8rem)}
.symbol{position:relative;display:inline-block;font-weight:800;font-size:1.6rem;line-height:1;letter-spacing:-.04em}
.symbol i{position:absolute;right:-.12em;top:-.02em;width:.3em;height:.3em;border-radius:50%;background:var(--c-purple-300)}
.symbol--lg{font-size:clamp(4rem,3rem + 6vw,8rem);color:var(--color-action)}.symbol--lg i{background:var(--c-purple-300)}

/* ---- buttons ---- */
.btn{--btn-h:3.25rem;--btn-pad:1.625rem;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--btn-h);padding-inline:var(--btn-pad);border:1px solid transparent;border-radius:var(--r-pill);font-size:var(--fs-ui);font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out),border-color var(--dur-ui) var(--ease-out),box-shadow var(--dur-ui-slow) var(--ease-out),transform var(--dur-ui) var(--ease-out)}
.btn__icon{display:inline-flex;flex:none;transition:transform var(--dur-ui-slow) var(--ease-out)}
.btn--sm{--btn-h:2.75rem;--btn-pad:1.25rem;gap:var(--space-2);font-size:var(--fs-micro)}
.btn--full{display:flex;width:100%}
.btn--primary{background:var(--color-action);color:var(--color-on-action);box-shadow:var(--glow-action)}
.btn--secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--color-text)}
@property --btn-orbit{syntax:"<angle>";inherits:false;initial-value:0deg}
.btn--secondary::before{content:"";position:absolute;inset:-1px;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--btn-orbit),rgb(205 251 80/0) 0deg,rgb(205 251 80/0) 250deg,rgb(205 251 80/.9) 330deg,rgb(205 251 80/0) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:opacity var(--dur-ui) var(--ease-out)}
@media(prefers-reduced-motion:no-preference){.btn--secondary::before{animation:btn-orbit 5s linear infinite paused}.btn--secondary.is-inview::before{animation-play-state:running}}
@keyframes btn-orbit{to{--btn-orbit:360deg}}
@media(hover:hover){.btn--primary:hover{background:var(--color-action-hover);box-shadow:var(--glow-action-hover)}.btn--secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--color-action);box-shadow:var(--glow-secondary-hover)}.btn--secondary:hover::before{opacity:0}.btn:hover .btn__icon{transform:translateX(4px)}.btn[data-arrow=down-right]:hover .btn__icon{transform:translate(3px,3px)}}
.btn:active{transform:scale(.98)}
.tag{display:inline-flex;align-items:center;min-height:2rem;padding-inline:.875rem;border:1px solid rgb(245 245 242/.22);border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:600;line-height:1;letter-spacing:var(--ls-label);text-transform:uppercase;white-space:nowrap}
.tag--muted{color:var(--color-text-muted);border-color:var(--color-border)}
a.tag{transition:border-color var(--dur-ui),box-shadow var(--dur-ui-slow)}
@media(hover:hover){a.tag:hover{border-color:var(--color-action);box-shadow:var(--glow-secondary-hover)}}
.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.dot{--dot-size:.75rem;position:relative;display:inline-block;flex:none;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--color-dot);vertical-align:middle;transition:opacity var(--dur-ui-slow),transform var(--dur-ui-slow)}
.dot--sm{--dot-size:.5rem}.dot--lg{--dot-size:1.125rem}
.dot[data-state=active]{box-shadow:0 0 .45rem rgb(205 251 80/.45)}
.dot[data-state=moving]{box-shadow:0 0 14px rgb(205 251 80/.6)}
.dot[data-state=lost]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--color-dot);opacity:.6}
.roll{position:relative;display:inline-block;flex-shrink:0;overflow:hidden;vertical-align:bottom;padding-block:.08em;margin-block:-.08em}
.roll__text{position:relative;display:block;transition:transform var(--dur-ui-slow) var(--ease-out)}
.roll__text::after{content:attr(data-text);position:absolute;top:calc(100% + .16em);left:0;white-space:nowrap;color:var(--color-action)}
@media(hover:hover){:is(a,button,summary):hover .roll__text{transform:translateY(calc(-100% - .16em))}}
:is(a,button,summary):focus-visible .roll__text{transform:translateY(calc(-100% - .16em))}
.link-arrow{display:inline-flex;transition:transform var(--dur-ui-slow) var(--ease-out)}
@media(hover:hover){a:hover>.link-arrow,a:hover .link-arrow{transform:translateX(4px)}}

/* ---- header ---- */
.site-header{--compact-w:20.5rem;position:fixed;inset:0 0 auto;z-index:var(--z-header);padding:var(--space-3) calc(var(--gutter) - var(--space-3)) var(--space-3);transition:transform var(--dur-transition) var(--ease-out)}
.site-header__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:min(calc(var(--container-max) + 2*var(--space-3)),100%);min-height:calc(var(--header-h) - var(--space-6));margin-inline:auto;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border:1px solid transparent;border-radius:var(--r-pill);transition:width var(--dur-transition) var(--ease-in-out),padding var(--dur-transition) var(--ease-in-out),background-color var(--dur-ui-slow),border-color var(--dur-ui-slow)}
.site-header[data-scrolled=true] .site-header__inner,.site-header[data-flyout=open] .site-header__inner{background:#111111eb;border-color:var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.brand{position:relative;display:block;min-width:2.75rem;height:2.75rem;transition:width var(--dur-transition) var(--ease-in-out)}
.brand__logo{display:flex;flex-direction:column;justify-content:center;height:100%;transform-origin:left center;transition:opacity var(--dur-ui-slow),transform var(--dur-transition) var(--ease-out)}
.brand__logo .logo{font-size:1.9rem}
.brand__logo small{font-size:.5rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);margin-top:-.1rem;padding-left:.2rem;text-transform:none}
.brand__symbol{position:absolute;left:.4rem;top:50%;opacity:0;transform:translateY(-50%) scale(.8);transition:opacity var(--dur-ui-slow),transform var(--dur-transition) var(--ease-out)}
.brand__symbol .symbol{font-size:1.9rem}
.main-nav{margin-inline:auto}
.main-nav__list{display:flex;gap:var(--space-1)}
.main-nav__link{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;padding-inline:var(--space-4);border-radius:var(--r-pill);font-size:var(--fs-ui);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase}
.main-nav__chevron{display:inline-flex;transition:transform var(--dur-ui)}
[aria-expanded=true]>.main-nav__chevron{transform:rotate(180deg)}
.site-header__actions{display:flex;align-items:center;gap:var(--space-2)}
.site-header__cta{display:none}@media(min-width:640px){.site-header__cta{display:block}}
.lang-switch{position:relative;display:none;grid-auto-flow:column;padding:3px;border:1px solid var(--color-border);border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:700}
@media(min-width:1100px){.lang-switch{display:inline-grid}}
.lang-switch__option{position:relative;z-index:1;padding:.45rem .8rem;color:var(--color-text-muted)}
.lang-switch__option[aria-current]{color:var(--color-text)}
.lang-switch__thumb{position:absolute;left:3px;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:var(--r-pill);background:rgb(245 245 242/.12)}
.menu-toggle{display:inline-flex;align-items:center;gap:var(--space-3);min-height:2.75rem;padding-inline:var(--space-5);border:1px solid var(--btn-secondary-border);border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color var(--dur-ui)}
.menu-toggle:hover{border-color:var(--color-action)}
@media(min-width:1100px){.menu-toggle{display:none}}
.site-header[data-compact=true] .menu-toggle{display:inline-flex}
.site-header[data-compact=true] .site-header__inner{width:var(--compact-w);padding:.3125rem;background:#111111d1;border-color:var(--color-border)}
.site-header[data-compact=true] .brand{width:2.75rem;min-width:2.75rem}
.site-header[data-compact=true] .brand__logo{opacity:0;transform:scale(.85)}
.site-header[data-compact=true] .brand__symbol{opacity:1;transform:translateY(-50%) scale(1)}
.site-header[data-compact=true] .main-nav,.site-header[data-compact=true] .lang-switch{opacity:0;visibility:hidden;position:absolute;pointer-events:none}
.site-header[data-compact=true] .site-header__cta{display:block}
.site-header[data-compact=true] .menu-toggle{width:2.75rem;padding:0;justify-content:center}
.site-header[data-compact=true] .menu-toggle__label{display:none}
@media(max-width:1099px){.main-nav{display:none}.site-header[data-hidden=true]{transform:translateY(calc(-100% - 1.5rem))}.site-header__inner{width:100%!important}}
.flyout{position:absolute;top:calc(100% + var(--space-6));left:50%;z-index:var(--z-flyout);width:min(56rem,calc(100vw - 2*var(--gutter)));padding:clamp(2rem,1.25rem + 1.5vw,3rem);border:1px solid var(--color-border);border-radius:var(--r-panel);background:var(--color-surface);box-shadow:0 30px 80px -30px #000c;opacity:0;transform:translate(-50%,-.5rem);transition:opacity var(--dur-ui),transform var(--dur-ui-slow) var(--ease-out)}
.flyout.is-open{opacity:1;transform:translate(-50%)}
.main-nav__item{position:static}
.flyout__groups{display:grid;grid-template-columns:1fr 1fr}
.flyout__group{display:grid;align-content:start;padding-right:clamp(1.5rem,1rem + 2vw,3rem)}
.flyout__group+.flyout__group{padding-right:0;padding-left:clamp(1.5rem,1rem + 2vw,3rem);border-left:1px solid var(--color-border)}
.flyout__note{margin-bottom:var(--space-3)}
.flyout__title{justify-self:start;margin-bottom:var(--space-5);font-size:clamp(1.75rem,1.2rem + 1vw,2.375rem);font-weight:var(--fw-display);line-height:1;letter-spacing:-.035em;text-transform:uppercase}
.flyout__list{border-top:1px solid var(--color-border)}.flyout__list li{border-bottom:1px solid var(--color-border)}
.flyout__link{display:flex;align-items:center;min-height:3.25rem;color:#f5f5f2c7;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;transition:color var(--dur-ui)}
.flyout__link:hover{color:var(--color-text)}
.flyout__diagnosis{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);margin-top:clamp(1.75rem,1rem + 1.5vw,2.5rem);padding:var(--space-5) var(--space-6);border:1px solid var(--color-border);border-radius:var(--r-card);background:var(--gradient-panel);transition:border-color var(--dur-ui),box-shadow var(--dur-ui-slow)}
.flyout__diagnosis-label{font-size:1.125rem;font-weight:600}
@media(hover:hover){.flyout__diagnosis:hover{border-color:var(--color-action);box-shadow:var(--glow-secondary-hover)}}
/* mobile nav */
.mnav{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--color-bg);color:var(--color-text);opacity:0;transform:translateY(-2%);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);overflow:auto}
.mnav.is-open{opacity:1;transform:none}.mnav::backdrop{background:#000}
.mnav__inner{display:flex;flex-direction:column;min-height:100%;padding:var(--space-5) var(--gutter) var(--space-8)}
.mnav__top{display:flex;justify-content:space-between;align-items:center}.mnav__top .logo{font-size:2rem}
.mnav__close{display:inline-flex;gap:var(--space-2);align-items:center;font-size:var(--fs-ui);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.mnav__list{margin-top:var(--space-12)}
.mnav__item{border-bottom:1px solid var(--color-border);opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i)*60ms + 100ms)}
.mnav.is-open .mnav__item{opacity:1;transform:none}
.mnav__link{display:flex;justify-content:space-between;align-items:center;padding-block:var(--space-5);font-size:clamp(1.9rem,1.2rem + 4vw,3rem);font-weight:var(--fw-display);text-transform:uppercase;letter-spacing:-.035em;list-style:none;cursor:pointer}
.mnav__link::-webkit-details-marker{display:none}
details[open] .mnav__plus{transform:rotate(45deg)}.mnav__plus{display:inline-block;transition:transform .3s}
.mnav__sub{display:grid;gap:var(--space-3);padding-bottom:var(--space-6)}
.mnav__note{color:var(--color-text-muted);margin-top:var(--space-3)}
.mnav__subtitle{font-size:1.5rem;font-weight:var(--fw-display);text-transform:uppercase}
.mnav__sublink{color:#f5f5f2c7;font-size:1.1rem;font-weight:600}
.mnav__bottom{margin-top:auto;padding-top:var(--space-8)}

/* ---- page progress ---- */
.pgp{--prog:0;position:fixed;top:50%;left:clamp(.5rem,1.2vw,1.25rem);z-index:calc(var(--z-header) - 1);display:none;width:1.5rem;height:min(44vh,26rem);translate:0 -50%;opacity:0;transition:opacity var(--dur-ui-slow)}
.pgp[data-visible=true]{opacity:1}
@media(min-width:900px){.pgp:not([hidden]){display:block}}
.pgp__line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:#f5f5f224}
.pgp__fill{position:absolute;inset:0 auto auto 50%;width:1px;height:calc(var(--prog)*100%);background:linear-gradient(to bottom,#cdfb5000,#cdfb508c)}
.pgp__dot{position:absolute;top:calc(var(--prog)*100%);left:50%;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-dot);box-shadow:0 0 12px #cdfb5099;translate:-50% -50%;pointer-events:none}
.pgp__marks{position:absolute;inset:0}
.pgp__marks li{position:absolute;top:var(--at);left:50%;translate:-50% -50%}
.pgp__marks button{position:relative;display:grid;place-items:center;width:1.5rem;height:1.25rem;padding:0}
.pgp__marks button::before{content:"";width:.4375rem;height:1px;background:#f5f5f24d;transition:width var(--dur-ui),background-color var(--dur-ui)}
.pgp__marks li[data-passed=true] button::before{background:#f5f5f299}
.pgp__marks button:hover::before,.pgp__marks button:focus-visible::before{width:.875rem;background:var(--color-text)}
.pgp__label{position:absolute;top:50%;left:calc(100% + .5rem);translate:0 -50%;padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:var(--r-pill);background:#111111eb;font-size:.75rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-4px);transition:opacity var(--dur-ui),transform var(--dur-ui)}
.pgp__marks button:hover .pgp__label,.pgp__marks button:focus-visible .pgp__label{opacity:1;transform:none}

/* ---- panels (rp) + bg-morph ---- */
.rp{position:relative;color:var(--color-text)}
.rp--transition{--rp-p:var(--p,1);isolation:isolate}
.rp__content{position:relative}
.rp__shape{position:absolute;inset:0;z-index:-1;border-radius:var(--r-stage) var(--r-stage) 0 0}
.rp--space .rp__shape{background:var(--gradient-space)}.rp--bg .rp__shape{background:var(--color-bg)}
.has-motion .rp__shape{--q:calc(1 - var(--p,0));border-radius:0;clip-path:inset(calc(var(--q)*var(--space-16)) calc(var(--q)*var(--gutter)) 0 round calc(var(--q)*var(--r-stage)))}
.rp--peek{--peek-h:22svh;--peek-left:48%}
.has-motion .rp--peek{margin-top:calc(var(--peek-h)*-1)}
.has-motion .rp--peek .rp__content{padding-top:var(--peek-h)}
.has-motion .rp--peek .rp__shape{clip-path:inset(0 calc(var(--q)*var(--gutter)) 0 calc(var(--q)*var(--peek-left)) round calc(var(--q)*var(--r-stage)))}
.rp--fade-out .rp__shape::after{content:"";position:absolute;inset:auto 0 0;height:min(55%,32rem);background:linear-gradient(to bottom,rgb(8 8 8/0),var(--color-bg))}
.bg-morph__layer{position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 90% at 85% 0%,rgb(189 108 247/.35),transparent 60%),radial-gradient(90% 80% at 0% 100%,rgb(60 28 126/.6),transparent 70%),var(--c-purple-700);opacity:0;pointer-events:none}
html.bg-morph body{background:transparent}
html.bg-morph .rp__shape{display:none}
.rp--space,.bg-space{--color-text-muted:var(--color-text-muted-on-space);--color-border:rgb(245 245 242/.18);--color-border-control:rgb(245 245 242/.45);--btn-secondary-bg:rgb(245 245 242/.08);--btn-secondary-border:rgb(245 245 242/.5)}
.bg-dots{--mx:-999px;--my:-999px;position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,rgb(245 245 242/.5) .9px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle 240px at var(--mx) var(--my),#000 0%,rgb(0 0 0/.5) 45%,transparent 100%);mask-image:radial-gradient(circle 240px at var(--mx) var(--my),#000 0%,rgb(0 0 0/.5) 45%,transparent 100%);opacity:0;transition:opacity .6s}
.bg-dots.is-on{opacity:.32}

/* ---- text reveal ---- */
.has-motion [data-reveal-style] .rv-w,.has-motion [data-reveal-style] .rv-c{--k:clamp(0,calc((var(--p,1) - var(--at,0)*.55)*2.6),1);display:inline-block}
.has-motion [data-reveal-style=chars] .rv-w,.has-motion [data-reveal-style=flip] .rv-w{--k:1}
.has-motion [data-reveal-style=assemble] .rv-w{opacity:calc(.08 + var(--k)*.92);transform:translate(calc((1 - var(--k))*var(--dx)),calc((1 - var(--k))*var(--dy))) rotate(calc((1 - var(--k))*var(--rot)))}
.has-motion [data-reveal-style=chars] .line__inner{overflow:hidden;display:inline-block;vertical-align:top;padding-bottom:.08em}
.has-motion [data-reveal-style=chars] .rv-c{transform:translateY(calc((1 - var(--k))*105%))}
.has-motion [data-reveal-style=flip] .rv-c{opacity:var(--k);transform:rotateX(calc((1 - var(--k))*-85deg));transform-origin:50% 80%}
.rv-w{white-space:nowrap}

/* ---- intro ---- */
.intro{display:none}
html.has-motion.has-intro .intro{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;background:var(--color-bg)}
.intro__inner{display:grid;gap:2.5rem;width:min(62vw,30rem)}
.intro__word .logo{font-size:clamp(3.5rem,3rem + 6vw,6.5rem);color:#f5f5f200;-webkit-text-stroke:1px var(--color-text);animation:intro-fill .9s var(--ease-in-out) .5s forwards}
.intro__word .logo__dot{opacity:0;transform:translate(-50%,-300%) scale(1.6);animation:intro-dot .55s cubic-bezier(.34,1.56,.64,1) 1.3s forwards}
@keyframes intro-fill{to{color:var(--color-text);-webkit-text-stroke-color:transparent}}
@keyframes intro-dot{to{opacity:1;transform:translate(-50%,0) scale(1)}}
.intro__progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-4)}
.intro__bar{position:relative;height:1px;overflow:hidden;background:var(--color-border-control)}
.intro__fill{position:absolute;inset:0;background:var(--color-action);transform:scaleX(0);transform-origin:left}
.intro__pct{min-width:3ch;color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right}.intro__pct::after{content:" %"}
.intro.is-open{--hole:0px;-webkit-mask:radial-gradient(circle at 50% 50%,transparent var(--hole),#000 calc(var(--hole) + 1px));mask:radial-gradient(circle at 50% 50%,transparent var(--hole),#000 calc(var(--hole) + 1px));animation:intro-open .8s cubic-bezier(.7,0,.2,1) forwards}
@property --hole{syntax:"<length>";inherits:false;initial-value:0px}
@keyframes intro-open{to{--hole:150vmax}}

/* ---- hero ---- */
.hero{--pin:0;--a:clamp(0,calc((var(--pin) - .14)*6),1);--a-out:clamp(0,calc((var(--pin) - .52)*8),1);--b:clamp(0,calc((var(--pin) - .54)*6),1);--end:clamp(0,calc((var(--pin) - .88)*8),1);position:relative;z-index:2}
.has-motion .hero{height:230vh}
.hero__sticky{position:relative;display:flex;align-items:flex-end;min-height:100svh;padding-block:calc(var(--header-h) + var(--space-16)) var(--space-12);overflow:clip}
.has-motion .hero__sticky{position:sticky;top:0;height:100svh;touch-action:pan-y}
.hero__inner{position:relative;z-index:1}
.hero__sphere{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.has-motion .hero__sphere{animation:sphere-in 1.4s var(--ease-out) .15s both}
@keyframes sphere-in{0%{opacity:0;transform:scale(.96)}}
@media(hover:hover) and (pointer:fine){.has-motion .hero__sticky{cursor:grab}.has-motion .hero[data-dragging] .hero__sticky{cursor:grabbing;user-select:none}}
.hero__hint{position:absolute;z-index:1;right:var(--gutter);top:calc(var(--header-h) + var(--space-8) + 3.5rem);display:none;color:var(--color-text-muted);font-size:var(--fs-micro);opacity:0}
@media(hover:hover) and (pointer:fine){.has-motion .hero__hint{display:block;animation:hint-in .6s var(--ease-out) 2.4s forwards}.has-motion .hero[data-dragged] .hero__hint{animation:none;opacity:0}}
@keyframes hint-in{to{opacity:.8}}
.hero__legend{position:absolute;z-index:1;top:calc(var(--header-h) + var(--space-8));right:var(--gutter);display:flex;gap:var(--space-5);color:var(--color-text-muted);font-size:var(--fs-micro)}
.hero__legend-item{display:inline-flex;align-items:center;gap:var(--space-2)}
.hero__clock{padding-right:var(--space-5);border-right:1px solid rgb(245 245 242/.18);color:var(--color-text)}
.hero__clock time{font-variant-numeric:tabular-nums}
.hero__key{width:.4375rem;height:.4375rem;border-radius:50%;background:var(--color-text-muted)}
.hero__legend .hero__key{width:.3125rem;height:.3125rem}
.hero__legend .hero__key--customer{width:.4375rem;height:.4375rem;background:var(--color-dot);box-shadow:0 0 8px #cdfb5099}
.hero__states{position:absolute;z-index:1;top:calc(var(--header-h) + var(--space-8) + 1.75rem);right:var(--gutter);display:grid;color:var(--color-text-muted);font-size:var(--fs-micro)}
.hero__state{grid-area:1/1;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);opacity:0}
.hero__state:nth-child(1){opacity:calc(var(--a) - var(--b))}.hero__state:nth-child(2){opacity:var(--b)}
.hero__state:nth-child(1) .hero__key{background:var(--color-text)}
.hero__state:nth-child(2) .hero__key{background:var(--color-dot);box-shadow:0 0 10px #cdfb5099}
.hero__foot{display:grid;gap:var(--space-8);margin-top:clamp(2.5rem,1rem + 4vw,5rem)}
.hero__copy{max-width:30ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.has-motion .hero__line--a{opacity:calc(1 - (var(--a-out) - var(--end))*.72);transition:opacity .12s linear}
.has-motion .hero__line--b{opacity:calc(1 - (var(--a) - var(--b))*.72);transition:opacity .12s linear}
.op-word{display:inline-block}
@media(min-width:900px){.hero__foot{grid-template-columns:1fr auto;align-items:end}.hero__line--b{padding-left:8vw}.hero__actions{margin-right:calc(10.5rem + var(--space-4))}}
@media(max-width:899px){.hero__legend,.hero__states,.hero__hint{display:none!important}.hero__sphere{inset:auto 0;top:calc(var(--header-h)*.5);height:60%;-webkit-mask-image:linear-gradient(#000 55%,transparent 100%);mask-image:linear-gradient(#000 55%,transparent 100%)}.hero__sticky{padding-block:calc(var(--header-h) + var(--space-8)) var(--space-8)}.hero__title{font-size:clamp(2.6rem,11.2vw,3.6rem);line-height:.92}.hero__foot{gap:var(--space-6);margin-top:var(--space-6)}.hero__copy{max-width:34ch}.hero__actions{margin-bottom:3.75rem}}

/* ---- fork ---- */
.fork__track{--loss-1:25%;--loss-2:75%;--g1:clamp(0,calc((var(--p,0) - .25)*7),1);--g2:clamp(0,calc((var(--p,0) - .75)*7),1);position:relative;height:5.5rem;margin-block:clamp(3rem,2rem + 4vw,6rem) var(--space-8)}
.fork__line{position:absolute;left:0;right:0;top:1.5rem;height:1px;background:var(--color-border-control)}
.fork__click{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--color-text)}
.fork__click .t-label{position:absolute;left:50%;bottom:0;transform:translate(-50%);padding:.2rem .6rem;border:1px solid var(--color-text);border-radius:var(--r-pill);background:var(--c-purple-700);font-size:var(--fs-micro)}
.fork__loss{position:absolute;top:1.5rem;width:1px;height:2.5rem;background:linear-gradient(var(--color-border-control),transparent)}
.fork__loss--1{left:var(--loss-1)}.fork__loss--2{left:var(--loss-2)}
.fork__runner,.fork__ghost{position:absolute;top:1.5rem;translate:-50% -50%}
.fork__runner{left:calc(var(--p,0)*100%)}
.fork__ghost--1{left:var(--loss-1);opacity:var(--g1);transform:translateY(calc(var(--g1)*2.5rem))}
.fork__ghost--2{left:var(--loss-2);opacity:var(--g2);transform:translateY(calc(var(--g2)*2.5rem))}
.fork__goal{position:absolute;right:0;top:1.5rem;translate:0 -170%}
.fork__sides{display:grid;gap:var(--space-16)}
.fork__side{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6)}
.fork__foot{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6);margin-top:auto;padding-top:var(--space-2)}
.fork__statement{max-width:14ch}
@media(min-width:900px){.fork__sides{grid-template-columns:1fr 1fr;gap:var(--grid-gap)}.fork__side:last-child{padding-left:var(--space-8)}}

/* ---- journey ---- */
.journey{--pin:1;padding-block:var(--section-y)}.has-motion .journey{--pin:0}
.journey__sticky{position:relative;isolation:isolate}
.journey__sticky::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gradient-glow-top-right);pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 22%),linear-gradient(to right,transparent 0%,#000 35%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0%,#000 22%),linear-gradient(to right,transparent 0%,#000 35%);mask-composite:intersect}
.journey__road{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(to top,#000 0%,rgb(0 0 0/.6) 30%,transparent 62%);mask-image:linear-gradient(to top,#000 0%,rgb(0 0 0/.6) 30%,transparent 62%)}
.journey__road line{vector-effect:non-scaling-stroke}
.journey__road-lines line{stroke:#f5f5f233;stroke-width:1.5}.journey__road-edges line{stroke:#f5f5f24a;stroke-width:2}
.journey__road-center{stroke:#f5f5f257;stroke-width:3;stroke-dasharray:32 54;stroke-dashoffset:calc(var(--pin)*-640)}
.journey__inner{position:relative;display:grid;gap:clamp(3rem,2rem + 4vw,6rem)}
.journey__head{display:grid;gap:var(--space-8)}.journey__copy{max-width:34ch;color:var(--color-text-muted)}
.journey__map{--jp:var(--p,0)}
.journey__track{position:relative}.journey__phases{display:none}
.journey__rail{position:absolute;left:.5rem;top:.75rem;bottom:.75rem;width:1px;background:var(--color-border-control)}
.journey__fill{position:absolute;inset:0;background:var(--color-text);transform-origin:top;transform:scaleY(var(--jp))}
.journey__dot{position:absolute;left:0;top:calc(var(--jp)*100%);translate:-50% -50%}
.journey__steps{display:grid;gap:var(--space-8);padding:0 0 0 var(--space-12)}
.journey__step{--r:clamp(0,calc((var(--jp) - var(--at))*30 + 1),1);position:relative;display:flex;align-items:center;gap:var(--space-4);min-height:2.5rem;opacity:calc(.35 + var(--r)*.65)}
.journey__node{position:absolute;left:calc(var(--space-12)*-1 + .5rem);width:.625rem;height:.625rem;border:1px solid color-mix(in srgb,var(--color-dot) calc(var(--r)*100%),var(--color-text));border-radius:50%;background:color-mix(in srgb,var(--color-dot) calc(var(--r)*100%),var(--color-bg));translate:-50% 0}
.journey__label{font-size:var(--fs-h3);font-weight:600;line-height:1.1;letter-spacing:-.025em}
.journey__click{position:absolute;left:0;top:calc(var(--space-8)/-2);translate:0 -50%;padding:.15rem .5rem;border:1px solid var(--color-text);border-radius:var(--r-pill);background:var(--color-bg);font-size:var(--fs-micro);z-index:1}
@media(min-width:900px){
 .journey__map{--col:calc(100%/var(--steps));--jp:min(1,calc(var(--pin)*1.2))}
 .has-motion .journey{height:280vh;padding-block:0}
 .has-motion .journey__sticky{position:sticky;top:0;display:flex;align-items:center;min-height:100svh;padding-block:calc(var(--header-h) + var(--space-8)) var(--space-8)}
 .journey__head{grid-template-columns:8fr 4fr;align-items:end;gap:var(--grid-gap)}.journey__copy{justify-self:end}
 .journey__phases{display:grid;grid-template-columns:3fr 4fr;margin-bottom:var(--space-8);color:var(--color-text-muted)}
 .journey__phases span+span{padding-left:var(--space-4)}
 .journey__rail{left:calc(var(--col)/2);right:calc(var(--col)/2);top:1.8125rem;bottom:auto;width:auto;height:1px}
 .journey__fill{transform-origin:left;transform:scaleX(var(--jp))}
 .journey__dot{left:calc(var(--jp)*100%);top:0}
 .journey__steps{grid-template-columns:repeat(var(--steps),minmax(0,1fr));gap:0;padding:0}
 .journey__step{flex-direction:column;align-items:center;gap:var(--space-6);padding-top:1.5rem;text-align:center}
 .journey__node{position:static;translate:none}
 .journey__label{font-size:clamp(.8125rem,1.3vw,1.375rem);white-space:nowrap}
 .journey__click{left:50%;top:1.8125rem;translate:-50% -50%;left:0;translate:-50% -50%}
}

/* ---- deck ---- */
.solutions{padding-block:var(--section-y)}
.solutions__head{margin-bottom:clamp(1.25rem,.75rem + 1.5vw,2.25rem)}
.deck{--deck:1;position:relative}.has-motion .deck{--deck:0}
.deck__stage{display:grid;gap:var(--grid-gap);perspective:1600px}
.solution{display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(1.25rem,.75rem + 1.3vw,2.25rem);border-radius:var(--r-panel);background:var(--gradient-panel);box-shadow:inset 0 0 0 1px #f5f5f214;--color-text-muted:var(--color-text-muted-default,#929292);--color-border:var(--c-black-600)}
.solution__visual{max-width:22rem;margin-block:var(--space-2) var(--space-4)}
.solution__list{display:grid;margin-bottom:var(--space-6);border-top:1px solid var(--color-border)}
.solution__link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4rem;border-bottom:1px solid var(--color-border);font-size:var(--fs-h3);font-weight:600;letter-spacing:-.025em}
.solution__cta{margin-top:auto}
.deck-card__mirror{align-self:flex-end;margin-top:auto;padding-top:var(--space-2);font-size:var(--fs-ui);font-weight:600;line-height:1;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;transform:rotate(180deg)}
.solution__cta+.deck-card__mirror{margin-top:0}
.deck-card__back{display:none}
.vis{display:block;width:100%;height:auto;overflow:visible}
.v-line{fill:none;stroke:#f5f5f238;stroke-width:1.5}.v-slot{fill:none;stroke:#f5f5f233;stroke-width:1.5}
.v-bar{fill:#f5f5f224}.v-bar--sub{fill:#f5f5f212}
.v-row--top .v-bar{fill:rgb(245 245 242/calc(.14 + var(--deck,1)*.4))}
.v-dot{fill:var(--color-dot)}
.v-dot--search{transform:translateY(calc(var(--deck,1)*-90px))}
.v-dot--journey{transform:translate(calc(var(--deck,1)*410px),calc(var(--deck,1)*75px))}
.v-cta{fill:rgb(205 251 80/clamp(0,calc((var(--deck,1) - .85)*7),1));stroke:#f5f5f24d;stroke-width:1.5}
@media(min-width:900px){
 .deck__stage{grid-template-columns:1fr 1fr}
 .has-motion .deck{height:calc(100vh + var(--n)*55vh)}
 .has-motion .deck__sticky{position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding-block:calc(var(--header-h) + var(--space-2)) var(--space-6)}
 .has-motion .deck-card__back{display:block}
 .has-motion .deck-card{min-width:0;--k:clamp(0,calc((var(--deck,0) - var(--start))/var(--dur)),1);--lift:calc(var(--k)*(1 - var(--k))*4);position:relative;z-index:calc(10 - var(--i));transform:translate(calc((1 - var(--k))*var(--fan-x))) translateY(calc((1 - var(--k))*var(--fan-y) - var(--lift)*1.5rem)) rotate(calc((1 - var(--k))*var(--fan-r)));transform-origin:50% 110%;will-change:transform}
 .has-motion .deck-card__inner{display:grid;height:100%;transform-style:preserve-3d;transform:rotateY(calc((1 - var(--k))*180deg)) scale(calc(1 + var(--lift)*.04))}
 .has-motion .deck-card__face{grid-area:1/1;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--r-panel)}
 .deck .solution{gap:var(--space-3)}
 .deck__stage .solution__title{font-size:clamp(2rem,1rem + 4.5vh,4rem)}
}
@media(min-width:900px) and (max-height:960px){.solution__visual{display:none}}
.deck-card__back{position:relative;overflow:hidden;transform:rotateY(180deg);background:radial-gradient(circle at 50% 46%,rgb(189 108 247/.28) 0%,rgb(60 28 126/.18) 34%,transparent 62%),radial-gradient(rgb(245 245 242/.13) .9px,transparent 1.2px) 0 0/11px 11px,linear-gradient(160deg,#1a0f33,#0b0716 55%,#08080a);box-shadow:inset 0 0 0 1px #bd6cf759,0 30px 60px -30px #000c}
.deck-card__frame{position:absolute;inset:12px;border:1px solid rgb(245 245 242/.18);border-radius:calc(var(--r-panel) - 8px)}
.deck-card__frame::before{content:"";position:absolute;inset:6px;border:1px dashed rgb(189 108 247/.25);border-radius:inherit}
.deck-card__crest{position:absolute;inset:0;display:grid;place-items:center}
.deck-card__crest::before{content:"";position:absolute;width:52%;aspect-ratio:1;border-radius:50%;border:1px solid rgb(245 245 242/.22);box-shadow:0 0 0 10px #3c1c7e40,0 0 0 11px #f5f5f21a}
.deck-card__crest .symbol{position:relative;filter:drop-shadow(0 0 18px rgb(205 251 80/.35))}
.deck-card__index{position:absolute;top:26px;left:26px;display:grid;gap:2px;font-size:var(--fs-ui);font-weight:600;letter-spacing:var(--ls-label);color:var(--color-action)}
.deck-card__index small{font-size:.68rem;color:#f5f5f2b3;text-transform:uppercase}
.deck-card__index--flip{inset:auto 26px 26px auto;transform:rotate(180deg)}

/* ---- projekte ---- */
.cases{padding-block:var(--section-y)}
.cases__head{margin-bottom:clamp(3rem,2rem + 4vw,6rem)}.cases__more{margin-top:clamp(3rem,2rem + 4vw,6rem)}
.fcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:center;margin-bottom:clamp(3rem,2rem + 4vw,6rem);padding:clamp(1.25rem,.8rem + 1.6vw,2.25rem);border:1px solid rgb(205 251 80/.25);border-radius:32px;background:radial-gradient(120% 140% at 0% 0%,rgb(205 251 80/.08),transparent 55%),#ffffff06;transition:border-color .4s var(--ease-out)}
.fcase:hover{border-color:#cdfb508c}
.fcase__label{display:flex;align-items:center;gap:.7rem;margin:0 0 1.4rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}
.fcase__pill{padding:.32rem .75rem;border-radius:999px;background:var(--color-action);color:var(--color-on-action);font-weight:800;box-shadow:0 0 20px #cdfb5066}
.fcase__title{font-weight:800;font-size:clamp(1.8rem,1.1rem + 2.6vw,3.6rem);line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.fcase__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1.2rem 0 1.8rem;color:var(--color-text-muted)}.fcase__meta strong{color:var(--color-text)}
.fcase__media{position:relative;aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:#111;transform:perspective(1100px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(var(--ts,1));transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.fcase__media.is-tilt{transition:transform .12s linear}
.fcase__media::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;opacity:var(--to,0);transition:opacity .5s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),rgba(189,108,247,.08) 28%,transparent 55%);mix-blend-mode:screen}
.ph{display:block;position:absolute;inset:0;background:#111}.ph canvas{width:100%;height:100%}
.pix__list{border-top:1px solid var(--color-border-control)}.pix__item{border-bottom:1px solid var(--color-border-control)}
.pix__row{position:relative;display:grid;grid-template-columns:1fr auto;gap:var(--space-4) var(--space-6);padding-block:clamp(1.75rem,1rem + 2vw,2.75rem);transition:opacity var(--dur-ui-slow)}
.pix__num{display:none;color:var(--color-text-muted)}
.pix__main{display:grid;gap:var(--space-3);min-width:0}
.pix__engpass{position:relative;max-width:22ch;font-size:clamp(1.5rem,.9rem + 2.4vw,3.25rem);font-weight:var(--fw-display);line-height:1.02;letter-spacing:var(--ls-heading);text-transform:uppercase;text-wrap:balance;transition:transform var(--dur-ui-slow) var(--ease-out)}
.pix__dot{position:absolute;top:.42em;left:-.2em;width:.24em;height:.24em;border-radius:50%;background:var(--color-dot);box-shadow:0 0 .4em #cdfb50b3;opacity:0;transform:scale(.3);transition:opacity var(--dur-ui),transform var(--dur-ui-slow) var(--ease-out)}
.pix__meta{display:flex;flex-wrap:wrap;gap:0 var(--space-3);color:var(--color-text-muted);font-size:var(--fs-small)}
.pix__meta>*+*::before{content:"·";margin-right:var(--space-3)}
.pix__client{color:var(--color-text);font-weight:600}
.pix__cat{display:none;color:var(--color-text-muted)}
.pix__arrow{align-self:start;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--color-border-control);border-radius:50%;transition:border-color var(--dur-ui),background-color var(--dur-ui),color var(--dur-ui)}
.pix__media{grid-column:1/-1;display:block;position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--r-media);background:var(--color-surface)}
.pix__media .ph{filter:grayscale(.7) brightness(.55);transition:filter .7s var(--ease-out)}
.pix__item.is-active .pix__media .ph{filter:none}
@media(max-width:899px){.pix__meta{flex-direction:column;gap:.15rem}.pix__meta>span+span{display:none}.pix__meta>*+*::before{content:none}.pix__meta>span:first-of-type::after{content:attr(data-more)}.fcase{grid-template-columns:1fr}.fcase__media{order:-1}}
@media(min-width:900px) and (hover:hover) and (pointer:fine){
 .pix__row{--slot:clamp(15rem,24vw,23rem);grid-template-columns:3.5rem minmax(0,1fr) var(--slot) 2.75rem;align-items:center;column-gap:var(--grid-gap);padding-block:clamp(1.25rem,.8rem + 1vw,1.75rem)}
 .pix__num{display:block;align-self:start;padding-top:.6em}
 .pix__cat{display:block;grid-column:3;justify-self:end;text-align:right;transition:opacity var(--dur-ui)}
 .pix__media{position:absolute;top:0;right:0;bottom:0;width:calc(var(--slot) + 2.75rem + var(--grid-gap));aspect-ratio:auto;border-radius:0;clip-path:inset(50% 0 50% 0);transition:clip-path .62s cubic-bezier(.65,0,.25,1)}
 .pix__media .ph{filter:none;transform:scale(1.06);transition:transform .9s var(--ease-out)}
 .pix__arrow{position:relative;z-index:1;background:#0808088c}
 .pix:has(.pix__row:hover) .pix__row:not(:hover){opacity:.32}
 .pix__row:hover .pix__engpass{transform:translate(.55em)}
 .pix__row:hover .pix__dot{opacity:1;transform:translate(-.55em) scale(1)}
 .pix__row:hover .pix__cat{opacity:0}
 .pix__row:hover .pix__media{clip-path:inset(0 0 0 0)}.pix__row:hover .pix__media .ph{transform:none}
 .pix__row:hover .pix__arrow{border-color:var(--color-action);background:var(--color-action);color:var(--color-on-action)}
}
/* clients */
.clients{--card-w:clamp(11rem,9rem + 5vw,15rem);--card-h:clamp(5.5rem,4.75rem + 2vw,7rem);--gap:clamp(.75rem,.5rem + .8vw,1.25rem);padding-block:clamp(4rem,2.5rem + 4vw,7rem)}
.clients__head{margin-bottom:clamp(2rem,1.25rem + 2vw,3.25rem)}
.clients__rows{display:grid;gap:var(--gap)}
.clients__viewport{overflow:hidden;padding-block:6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.clients__track{display:flex;width:max-content;gap:var(--gap);animation:clients-run 60s linear infinite paused}
.clients__viewport--reverse .clients__track{margin-left:calc(var(--card-w)/-2);animation-name:clients-run-reverse;animation-duration:66s}
.clients__viewport.is-inview .clients__track{animation-play-state:running}
.clients__viewport:hover .clients__track{animation-play-state:paused}
@keyframes clients-run{to{transform:translateX(calc(-50% - var(--gap)/2))}}
@keyframes clients-run-reverse{from{transform:translateX(calc(-50% - var(--gap)/2))}to{transform:none}}
.clients__card{flex:none;display:grid;place-items:center;width:var(--card-w);height:var(--card-h);padding:var(--space-4);border-radius:calc(var(--r-panel)*.6);background:radial-gradient(120% 140% at 0% 0%,rgb(60 28 126/.16),transparent 55%),linear-gradient(160deg,#151418,#0f0f11);box-shadow:inset 0 0 0 1px #f5f5f214;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);font-weight:800;font-size:1.25rem;letter-spacing:-.04em;color:rgb(245 245 242/.6)}
.clients__card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #cdfb5066,0 18px 40px -22px #cdfb5059;color:var(--color-text)}

/* ---- stance ---- */
.stance{--pin:1;padding-block:var(--section-y)}
.stance__stage{display:grid;gap:var(--space-10);justify-items:center;text-align:center}
.stance__sentence{max-width:24ch;font-size:clamp(1.75rem,.9rem + 3.2vw,4.25rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.stance__steps{display:none}
.has-motion .stance{--pin:0;height:calc(var(--n)*90vh + 100vh);padding-block:0}
.has-motion .stance__sticky{position:sticky;top:0;display:grid;align-items:center;min-height:100svh;background:radial-gradient(48% 42% at 50% 50%,#3c1c7e8c,#3c1c7e00)}
.has-motion .stance__stage{grid-template-areas:"stage" "steps"}
.has-motion .stance__sentence{--raw:calc(var(--pin)*var(--n) - var(--i));--in:clamp(0,calc((var(--raw) - .06)*12),1);--out:clamp(0,calc((var(--raw) - .8)*7.5),1);grid-area:stage;opacity:calc(var(--in)*(1 - var(--out)));transform:translateY(calc(var(--out)*-3rem + (1 - var(--in))*1.5rem))}
.has-motion .stance__sentence[data-state=future],.has-motion .stance__sentence[data-state=past]{visibility:hidden}
.has-motion .stance__sentence--last{--out:0}
.stance .w{transition:none}.stance .w--lead{color:var(--color-text-muted)}
.has-motion .stance__sentence .w{opacity:calc(.12 + clamp(0,calc((var(--raw)*1.35 - var(--at))*7),1)*.88)}
.has-motion .stance__steps{grid-area:steps;display:flex;gap:var(--space-3)}
.has-motion .stance__steps li{--on:clamp(0,calc((var(--pin)*var(--n) - var(--i))*12),1);width:.375rem;height:.375rem;border-radius:50%;background:color-mix(in srgb,var(--color-dot) calc(var(--on)*100%),rgb(245 245 242/.25))}

/* ---- strategy / process / agency / check ---- */
.strategy__panel{display:grid;gap:clamp(2.5rem,1.5rem + 4vw,5.5rem);padding:var(--panel-pad);border-radius:var(--r-stage);background:var(--gradient-panel);box-shadow:inset 0 0 0 1px #f5f5f20f}
.strategy__foot{display:grid;gap:var(--space-8);justify-items:start}
.chain{display:flex;flex-direction:column;align-items:flex-start}
.chain__step{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);min-height:2.5rem;color:var(--color-text-muted);font-weight:600}
.chain__step[data-first]{color:var(--color-text)}
.chain__step+.chain__step{margin-top:var(--space-4)}
.chain__step+.chain__step::before{content:"↓";position:absolute;left:.2rem;top:calc(var(--space-4)*-1 - .35rem);font-size:var(--fs-small)}
@media(min-width:640px){.chain{flex-direction:row;align-items:center}.chain__step+.chain__step{margin-top:0;margin-left:var(--space-10)}.chain__step+.chain__step::before{content:"→";left:calc(var(--space-10)*-.5);top:50%;translate:-50% -50%}}
@media(min-width:900px){.strategy__foot{grid-template-columns:1fr auto;align-items:center}}
.process__inner{display:grid;gap:clamp(3rem,2rem + 4vw,6rem)}
.process__track{position:relative;padding-left:clamp(2.5rem,1.5rem + 3vw,5rem)}
.process__rail{position:absolute;left:.5rem;top:.5em;bottom:.5em;width:1px;background:var(--color-border-control)}
.process__fill{position:absolute;inset:0;background:var(--color-text);transform-origin:top;transform:scaleY(var(--p,0))}
.process__dot{position:absolute;left:0;top:calc(var(--p,0)*100%);translate:-50% -50%}
.process__steps{container-type:inline-size;display:grid;gap:clamp(1.5rem,1rem + 2vw,3rem)}
.process__step{--r:clamp(0,calc((var(--p,0) - var(--at))*30 + 1),1);display:grid;gap:var(--space-2);opacity:calc(.28 + var(--r)*.72)}
.process__num{color:var(--color-text-muted)}
.process__name{font-size:min(var(--fs-display-l),12.5cqi)}
@media(min-width:900px){.process__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--grid-gap);align-items:start}.process__head{position:sticky;top:calc(var(--header-h) + var(--space-12))}.process__step{grid-template-columns:4rem 1fr;align-items:baseline}.process__name{font-size:min(var(--fs-display-l),6.2vw,calc((100cqi - 4rem)/8))}}
.agency__inner{display:grid;gap:var(--space-12)}
.agency__visual{--e:min(1,calc(var(--p,0)*2.4));position:relative;overflow:hidden;border-radius:var(--r-media);aspect-ratio:4/5;background:var(--color-surface)}
.has-motion .agency__visual{clip-path:inset(calc((1 - var(--e))*7%) calc((1 - var(--e))*6%) round var(--r-media))}
.agency__ph{position:absolute;inset:0;transform:translate3d(0,calc((.5 - var(--p,0))*10%),0) scale(1.12)}
.agency__ph canvas{width:100%;height:100%}
.agency__text{display:grid;gap:var(--space-8);align-content:end;justify-items:start}
.agency__copy{max-width:30ch}
.agency__logo{line-height:0}
.has-motion .agency__logo .logo__dot{--k:clamp(0,calc(var(--p,1)/.82),1);--land:clamp(0,calc(1 - (max(var(--p,1) - .86,.86 - var(--p,1))*9)),1);transform-origin:50% 100%;transform:translateX(-50%) translateY(calc((1 - var(--k))*(1 - var(--k))*-240px)) scale(calc(1 + (1 - var(--k))*.6 + var(--land)*.18),calc(1 + (1 - var(--k))*.6 - var(--land)*.22))}
@media(min-width:900px){.agency__inner{grid-template-columns:5fr 7fr;column-gap:calc(var(--grid-gap)*3);align-items:end}}
.check-cta{padding-block:var(--section-y)}
.check__entries{margin-block:clamp(3rem,2rem + 4vw,5rem);border-top:1px solid var(--color-border)}
.check__entry{display:flex;align-items:center;min-height:clamp(4.5rem,3.5rem + 3vw,7rem);border-bottom:1px solid var(--color-border);font-size:var(--fs-h2);font-weight:var(--fw-display);line-height:1;letter-spacing:var(--ls-heading);text-transform:uppercase}
.check__label{flex:1}.check__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* ---- footer ---- */
.site-footer{position:relative;padding-top:var(--space-8)}
.site-footer__panel{padding:var(--panel-pad) var(--panel-pad) 0;border-radius:var(--r-stage) var(--r-stage) 0 0;background:var(--gradient-panel);box-shadow:inset 0 0 0 1px #f5f5f20f;overflow:clip}
.footer-contact{display:grid;gap:var(--space-10);padding-bottom:clamp(3rem,2rem + 4vw,6rem);border-bottom:1px solid var(--color-border)}
.footer-contact__title{max-width:14ch;margin-top:var(--space-4)}
.footer-contact__links{display:grid;gap:var(--space-6)}
.footer-contact__link{display:grid;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}
.footer-contact__value{display:flex;align-items:center;justify-content:space-between;font-size:clamp(1.5rem,1rem + 2.4vw,3rem);font-weight:var(--fw-display);letter-spacing:var(--ls-heading)}
.site-footer__top{display:grid;gap:var(--space-10);padding-block:var(--space-12)}
.site-footer__nav{display:flex;gap:clamp(2rem,1rem + 6vw,6rem)}
.site-footer__col ul{display:grid;gap:var(--space-2);margin-top:var(--space-4);font-weight:600}
.site-footer__contact{font-style:normal;display:grid;gap:var(--space-3)}
.social{display:flex;gap:var(--space-2)}
.social__item{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--btn-secondary-border);border-radius:50%;font-size:.75rem;font-weight:700;text-transform:uppercase;transition:border-color var(--dur-ui),box-shadow var(--dur-ui-slow)}
.social__item:hover{border-color:var(--color-action);box-shadow:var(--glow-secondary-hover)}
.site-footer__bottom{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--color-border)}
.site-footer__bottom ul{display:flex;gap:var(--space-5)}
@media(min-width:900px){.footer-contact{grid-template-columns:1fr 1fr;align-items:end}.site-footer__top{grid-template-columns:1fr auto auto;align-items:start}}
.wm{--p:0;position:relative;display:flex;flex-direction:column;margin-top:calc(var(--space-8)*-1)}
.wm__spacer{height:clamp(16rem,55vh,40rem)}
.wm__stage{position:sticky;bottom:var(--panel-pad);margin-bottom:var(--panel-pad);container-type:inline-size;height:var(--wm-h,12rem)}
.wm__word{position:absolute;left:0;top:0;font-weight:800;letter-spacing:-.065em;line-height:1;white-space:nowrap;font-size:var(--wm-fs,20vw);color:rgb(245 245 242/calc(.07 + clamp(0,calc((var(--p) - .62)*3.2),1)*.93))}
.wm__i{position:relative;display:inline-block}
.wm__dot{position:absolute;left:50%;top:.04em;width:.2em;height:.2em;border-radius:50%;background:var(--color-dot);transform:translateX(-50%);filter:drop-shadow(0 0 calc(var(--p)*12px) rgb(205 251 80/.6));cursor:grab;touch-action:none;transition:opacity .12s linear}
.wm.wm--stolen .wm__dot{opacity:0}
.wm__smoke{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.wm__glow{position:absolute;inset:-30% -5%;background:radial-gradient(closest-side at 32% 58%,rgb(189 108 247/.26),rgb(189 108 247/.1) 55%,transparent 100%),radial-gradient(closest-side at 68% 38%,rgb(205 251 80/.12),rgb(205 251 80/.04) 55%,transparent 100%);opacity:calc(var(--p)*.9);pointer-events:none}
.wm__hint{position:absolute;z-index:2;font-size:clamp(.7rem,.55rem + .4vw,.95rem);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;white-space:nowrap;color:var(--color-action);opacity:0;transform:translate(-6px,4px) rotate(-6deg);transition:opacity .5s,transform .5s;pointer-events:none}
.wm__hint.is-on{opacity:.9;transform:translate(0) rotate(-6deg)}
.wm--hop .wm__dot{animation:wm-hop .85s cubic-bezier(.3,0,.3,1)}
@keyframes wm-hop{30%{transform:translateX(-50%) translateY(-1.2em) scale(1.1,.95)}60%{transform:translateX(-50%) translateY(0) scale(1.3,.7)}80%{transform:translateX(-50%) translateY(-.3em)}}
.wm__thief{position:fixed;left:0;top:0;z-index:9990;border-radius:50%;background:var(--color-dot);box-shadow:0 0 24px rgb(205 251 80/.7);pointer-events:none;opacity:0}
.wm__thief.is-on{opacity:1}

.copy-toast{position:fixed;z-index:10000;padding:.4rem .8rem;border-radius:var(--r-pill);background:var(--color-action);color:var(--color-on-action);font-size:.75rem;font-weight:700;pointer-events:none;opacity:0;transform:translate(-50%,-140%)}
.copy-toast.is-on{animation:toast 1.6s var(--ease-out) forwards}
@keyframes toast{10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-190%)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
