@layer reset,tokens,base,layout,components,utilities,motion;@layer tokens{:root{--color-bg: #05080d;--color-bg-deep: #03050a;--color-surface: #0b111a;--color-surface-raised: #111b28;--color-text: #f4f7fb;--color-text-muted: #a7b2c2;--color-cyan: #00d9f5;--color-cyan-strong: #7ff0ff;--color-blue: #168bff;--cyan-rgb: 0 217 245;--color-border: rgba(150, 190, 210, .18);--color-border-strong: rgba(150, 190, 210, .6);--color-danger: #ff8a8a;--color-success: #5eead4;--color-warn: #ffd27a;--color-warn-bg: #3a2a00;--color-focus: #ffffff;--color-on-light: #05080d;--color-light: #f4f7fb;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-xs: .8125rem;--text-sm: clamp(.875rem, .85rem + .1vw, .9375rem);--text-base: clamp(1rem, .97rem + .15vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);--text-xl: clamp(1.375rem, 1.2rem + .9vw, 1.875rem);--text-2xl: clamp(1.75rem, 1.4rem + 1.8vw, 2.75rem);--text-3xl: clamp(2rem, 1.35rem + 3vw, 3.5rem);--text-hero: clamp(2.25rem, 1.3rem + 4.4vw, 4.5rem);--leading-tight: 1.1;--leading-snug: 1.25;--leading-body: 1.65;--tracking-tight: -.025em;--tracking-caps: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--container: 72rem;--reading: 42rem;--reading-legal: 46rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--shadow-card: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 32px rgba(0, 0, 0, .35);--shadow-glow: 0 0 0 1px rgb(var(--cyan-rgb) / .35), 0 0 32px rgb(var(--cyan-rgb) / .18);--gradient-accent: linear-gradient(135deg, var(--color-cyan), var(--color-blue));--z-base: 0;--z-sticky: 20;--z-header: 50;--z-menu: 60;--z-progress: 70;--z-skip: 100;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .7s;--ease-out: cubic-bezier(.22, 1, .36, 1);--distance-reveal: 1.5rem;--icon-alert: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>");color-scheme:dark}}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul[class],ol[class]{list-style:none;padding:0}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse}}@layer base{html{scroll-padding-top:6rem;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font:var(--text-base) / var(--leading-body) var(--font-sans);text-rendering:optimizeLegibility}main{flex:1}main:focus{outline:none}h1,h2,h3,h4{line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}p{text-wrap:pretty}h1{font-size:var(--text-2xl);line-height:var(--leading-tight)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p+p{margin-top:var(--space-4)}a{color:var(--color-cyan);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-cyan-strong);text-decoration-thickness:2px}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,input:focus-within{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 6px rgb(var(--cyan-rgb) / .55)}::selection{background:rgb(var(--cyan-rgb) / .35)}small{font-size:var(--text-sm)}code{font-family:var(--font-mono);font-size:.9em}}@layer layout{.container{width:min(100% - 2rem,var(--container));margin-inline:auto}.reading{max-width:var(--reading)}.reading--legal{max-width:var(--reading-legal)}.section{padding-block:clamp(3rem,2rem + 5vw,6rem)}.section--flush-top{padding-top:0}.section--alt{background:linear-gradient(180deg,var(--color-surface),var(--color-bg));border-block:1px solid var(--color-border)}.stack>*+*{margin-top:var(--space-4)}.grid{display:grid;gap:var(--space-5)}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.split{display:grid;gap:var(--space-7);align-items:start}.split>*{min-width:0}@media(min-width:62rem){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-9)}}.page-head{padding-block:clamp(2.5rem,2rem + 4vw,5rem) var(--space-6)}.page-head .lead{margin-top:var(--space-4)}.table-wrap{overflow-x:auto}.rule{border:0;border-top:1px solid var(--color-border);margin-block:var(--space-7)}}@layer components{.skip-link{position:absolute;left:var(--space-4);top:-4rem;z-index:var(--z-skip);background:var(--color-light);color:var(--color-on-light);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-weight:600}.skip-link:focus{top:var(--space-4)}.eyebrow{font:600 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-cyan);margin-bottom:var(--space-3)}.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:46rem}.muted{color:var(--color-text-muted)}.icon{flex:none;vertical-align:-.2em}.title-xl{font-size:var(--text-3xl);line-height:var(--leading-tight)}.accent{color:var(--color-cyan);font-style:normal;text-shadow:0 0 18px rgb(var(--cyan-rgb) / .7),0 0 40px rgb(var(--cyan-rgb) / .3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out),background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.btn--primary{background:var(--gradient-accent);color:var(--color-on-light);border-color:rgb(var(--cyan-rgb) / .55);box-shadow:0 8px 24px rgb(var(--cyan-rgb) / .2)}.btn--primary:hover{background:linear-gradient(135deg,var(--color-cyan-strong),var(--color-cyan));color:var(--color-on-light);border-color:rgb(var(--cyan-rgb) / .8);box-shadow:0 10px 30px rgb(var(--cyan-rgb) / .3);transform:translateY(-1px)}.btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover{border-color:var(--color-cyan);color:var(--color-cyan)}.btn:active{transform:scale(.98) translateY(0)}.hero .btn--primary{animation:cta-pulse 5s ease-in-out infinite}@keyframes cta-pulse{0%,80%,to{box-shadow:0 0 0 1px rgb(var(--cyan-rgb) / .4),0 8px 24px rgb(var(--cyan-rgb) / .18)}90%{box-shadow:0 0 0 6px rgb(var(--cyan-rgb) / .12),0 0 0 1px rgb(var(--cyan-rgb) / .4),0 8px 24px rgb(var(--cyan-rgb) / .18)}}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn--sm{min-height:40px;font-size:var(--text-sm)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;min-height:44px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.card--link{transition:border-color var(--duration-base),transform var(--duration-base)}.card--link:hover{border-color:var(--color-cyan)}.lead-block{border-top:2px solid var(--color-cyan);padding-top:var(--space-4)}.step-line{display:grid;gap:var(--space-5)}.step-line li{display:grid;align-content:start;gap:var(--space-2);padding-left:var(--space-5);border-left:2px solid var(--color-border-strong);box-shadow:-2px 0 8px rgb(var(--cyan-rgb) / .15)}.step-line .n{font:700 var(--text-2xl) / 1 var(--font-mono);letter-spacing:var(--tracking-caps);color:var(--color-cyan);opacity:.7}@media(max-width:47.99rem){.service-row{grid-template-columns:3rem minmax(0,1fr)}.service-row__icon{width:48px;height:48px}}@media(min-width:48rem){.step-line{grid-template-columns:repeat(3,minmax(0,1fr));position:relative}.step-line:before{content:"";position:absolute;top:calc(var(--text-2xl) / 2);left:calc(33.333% + var(--space-5));right:calc(33.333% + var(--space-5));height:1px;background:linear-gradient(90deg,rgb(var(--cyan-rgb) / .4),rgb(var(--cyan-rgb) / .15) 50%,rgb(var(--cyan-rgb) / .4));pointer-events:none}.service-row{grid-template-columns:4.5rem minmax(0,1fr)}}.panel{background:linear-gradient(160deg,var(--color-surface-raised),var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.notice{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);background:var(--color-surface)}.notice strong{color:var(--color-cyan)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);background:var(--color-surface)}.empty-state{text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:clamp(2rem,1rem + 5vw,4.5rem) var(--space-5);background:radial-gradient(60% 80% at 50% 0%,rgb(var(--cyan-rgb) / .08),transparent 70%),var(--color-surface)}.empty-state p{max-width:36rem;margin-inline:auto;color:var(--color-text-muted)}.site-header{position:sticky;top:0;z-index:var(--z-header);padding:var(--space-3) 0}.nav-capsule{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);background:#0b111ae6;backdrop-filter:blur(10px);border:1px solid rgb(var(--cyan-rgb) / .25);border-radius:var(--radius-pill);box-shadow:0 0 0 1px rgb(var(--cyan-rgb) / .08),0 4px 24px #00000080,0 0 32px rgb(var(--cyan-rgb) / .06)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--color-text);text-decoration:none;font:700 1rem / 1 var(--font-mono);letter-spacing:.04em}.brand img{width:48px;height:48px}.brand .slash{color:var(--color-cyan)}.nav-list{display:none;gap:var(--space-1)}.nav-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;position:relative}.nav-list a:after{content:"";position:absolute;bottom:6px;left:var(--space-4);right:var(--space-4);height:1px;background:var(--color-cyan);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) var(--ease-out)}.nav-list a:hover{color:var(--color-text);background:#ffffff0f}.nav-list a:hover:after,.nav-list a[aria-current=page]:after{transform:scaleX(1)}.nav-list a[aria-current=page]{color:var(--color-text);background:rgb(var(--cyan-rgb) / .14);box-shadow:inset 0 0 0 1px rgb(var(--cyan-rgb) / .5)}.nav-cta{display:none}.menu-toggle{display:none;min-width:44px;min-height:44px;place-items:center;background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);cursor:pointer}.site-header[data-menu-ready] .menu-toggle{display:inline-grid}.menu-toggle .icon-close,.menu-toggle[aria-expanded=true] .icon-open{display:none}.menu-toggle[aria-expanded=true] .icon-close{display:inline}.mobile-nav{margin-top:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);z-index:var(--z-menu)}.mobile-nav[hidden]{display:none}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav a{display:flex;align-items:center;min-height:48px;padding:0 var(--space-4);color:var(--color-text);text-decoration:none;border-radius:var(--radius-md)}.mobile-nav a[aria-current=page]{background:rgb(var(--cyan-rgb) / .14);font-weight:700}@media(min-width:62rem){.nav-list,.nav-cta{display:flex}.site-header[data-menu-ready] .menu-toggle,.site-header .mobile-nav{display:none}.hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero__visual{width:min(100%,42rem);aspect-ratio:1}.hero__mockup{display:block;position:absolute;left:0;top:0;width:88%;height:auto;overflow:visible;filter:drop-shadow(0 24px 48px rgb(0 0 0 / .45))}.hero__logo{inset:0;width:100%;height:100%;filter:drop-shadow(0 16px 40px rgb(var(--cyan-rgb) / .3))}.hero__caption{display:block;position:absolute;left:0;bottom:-2rem;font-size:var(--text-xs);color:var(--color-text-muted);max-width:22rem}}.site-footer{position:relative;background:var(--color-surface);padding-block:var(--space-9) var(--space-7);margin-top:var(--space-8)}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--color-cyan) 0%,transparent 65%);opacity:.7}.footer-grid{display:grid;gap:var(--space-7);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.footer-grid h2{font:600 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-text-muted);margin-bottom:var(--space-4)}.footer-grid ul{display:grid;gap:var(--space-2);margin:0}.footer-grid li{min-width:0}.footer-grid a{color:var(--color-text);text-decoration:none;display:inline-flex;gap:var(--space-2);align-items:center;min-height:44px;overflow-wrap:anywhere;min-width:0;transition:color var(--duration-fast) var(--ease-out)}.footer-grid a:hover{color:var(--color-cyan)}.footer-brand__logo{font:700 1rem / 1 var(--font-mono);letter-spacing:.04em;gap:var(--space-3)}.footer-brand__logo img{width:40px;height:40px}.footer-nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.footer-tagline{font-family:var(--font-mono);font-size:var(--text-xs);color:rgb(var(--cyan-rgb) / .38);margin-top:var(--space-4)}.footer-tagline:after{content:"_";animation:badge-blink 1s step-end infinite}.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.06);margin-top:var(--space-7)}.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.footer-bottom a{color:var(--color-text-muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;transition:color var(--duration-fast) var(--ease-out)}.footer-bottom a:hover{color:var(--color-cyan)}.hero-badge{position:relative}.hero-badge:after{content:"|";animation:badge-blink 1s step-end infinite;margin-left:2px}@keyframes badge-blink{50%{opacity:0}}.hero{position:relative;overflow:hidden;isolation:isolate;min-height:100dvh;padding-block:clamp(2.5rem,1.5rem + 5vw,6rem) clamp(3rem,2rem + 5vw,6rem);display:flex;flex-direction:column;justify-content:center}.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.75;background:radial-gradient(80% 70% at 75% -10%,rgb(var(--cyan-rgb) / .28),transparent 70%),radial-gradient(rgb(var(--cyan-rgb) / .45) 1px,transparent 1.5px) 0 0 / 28px 28px;-webkit-mask-image:radial-gradient(85% 95% at 60% 30%,#000 30%,transparent 85%);mask-image:radial-gradient(85% 95% at 60% 30%,#000 30%,transparent 85%)}.hero__grid{display:grid;gap:var(--space-7);align-items:center}.hero__title{font-size:var(--text-hero);line-height:var(--leading-tight);max-width:15ch}.hero .lead{margin-block:var(--space-5) var(--space-6)}.hero__visual{margin:0;justify-self:center;width:min(46%,10rem);aspect-ratio:1;position:relative}.hero__mockup,.hero__caption{display:none}.hero__logo{position:absolute;inset:0;width:100%;height:100%;animation:mascot-glow 3.5s ease-in-out infinite}@keyframes mascot-glow{0%,to{filter:drop-shadow(0 0 10px rgb(var(--cyan-rgb) / .18))}50%{filter:drop-shadow(0 0 28px rgb(var(--cyan-rgb) / .42))}}@media(max-width:61.99rem){.hero__visual{order:-1;width:min(60%,14rem);margin-inline:auto}.hero__grid{gap:var(--space-5);text-align:center}.hero__copy .lead,.hero__title{margin-inline:auto}.hero__copy .btn-row{justify-content:center}}.service-list{border-top:1px solid var(--color-border)}.service-row{display:grid;gap:var(--space-3) var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--color-border);align-items:start}.service-row__icon{color:var(--color-cyan);display:inline-grid;place-items:center;width:64px;height:64px;border:1px solid rgb(var(--cyan-rgb) / .4);border-radius:var(--radius-md);background:rgb(var(--cyan-rgb) / .08);box-shadow:0 0 10px rgb(var(--cyan-rgb) / .2),inset 0 0 6px rgb(var(--cyan-rgb) / .08);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out);flex-shrink:0}.service-row:is(:hover,:focus-within) .service-row__icon{box-shadow:0 0 28px rgb(var(--cyan-rgb) / .5),inset 0 0 14px rgb(var(--cyan-rgb) / .18);background:rgb(var(--cyan-rgb) / .14);transform:scale(1.08)}.service-row h2,.service-row h3{font-size:var(--text-lg)}.service-row__body{max-width:40rem}.service-row dl{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.service-row dt{font:600 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-cyan)}.service-row dd{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.story{position:relative}.story__layout{display:grid;gap:var(--space-7)}.story__chapters{display:grid;gap:var(--space-6);list-style:none;padding:0;margin:0;counter-reset:etapa}.chapter{position:relative;padding:var(--space-5) var(--space-5) var(--space-5) var(--space-6);border-left:2px solid var(--color-border-strong);background:linear-gradient(90deg,rgb(var(--cyan-rgb) / .05),transparent 70%);border-radius:0 var(--radius-lg) var(--radius-lg) 0;scroll-margin-top:6rem}.chapter__step{font:600 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-cyan);margin-bottom:var(--space-2)}.chapter h3{font-size:var(--text-xl);margin-bottom:var(--space-3)}.chapter p{color:var(--color-text-muted);max-width:36rem}.chapter ul{margin:var(--space-4) 0 0;padding-left:1.1rem;color:var(--color-text-muted);max-width:36rem}.chapter li+li{margin-top:var(--space-2)}.story__panel{display:none}.diagram{width:100%;max-width:22rem;margin-inline:auto}.diagram .rail{stroke:var(--color-border-strong);stroke-width:2}.diagram .node circle{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:2;transition:stroke var(--duration-base),fill var(--duration-base)}.diagram .node text{fill:var(--color-text-muted);font:600 11px var(--font-mono);text-anchor:middle;dominant-baseline:central}.diagram .label{fill:var(--color-text-muted);font:600 12px var(--font-sans)}.diagram .node[data-state=done] circle{stroke:var(--color-cyan)}.diagram .node[data-state=active] circle{fill:var(--color-cyan);stroke:var(--color-cyan-strong)}.diagram .node[data-state=active] text{fill:var(--color-on-light)}.diagram .node[data-state=active]+.label,.diagram .label[data-state=active]{fill:var(--color-text)}@media(min-width:64rem)and (min-height:40rem){.story__layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-9);align-items:start}.story__panel{display:block;position:sticky;top:7rem;max-height:calc(100vh - 9rem);align-self:start}.story__chapters{gap:18vh;padding-bottom:6vh}}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.breadcrumbs li+li:before{content:"/";margin-right:var(--space-2)}table{width:100%;font-size:var(--text-sm)}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.section--cta-glow{position:relative;isolation:isolate}.section--cta-glow:before,.section--cta-glow:after{content:"";position:absolute;z-index:-1}.section--cta-glow:before{inset:0 20% auto;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--cyan-rgb) / .5),transparent)}.section--cta-glow:after{inset:0;background:radial-gradient(50% 60% at 50% 100%,rgb(var(--cyan-rgb) / .06),transparent 70%)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:var(--space-5)}.project-card{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);transition:border-color var(--duration-base)}.project-card:hover{border-color:var(--color-cyan)}.project-card__logo{height:2.5rem;width:auto;max-width:100%;object-fit:contain;object-position:left;filter:brightness(0) invert(1);opacity:.7;transition:opacity var(--duration-base),filter var(--duration-base)}.project-card:hover .project-card__logo{opacity:1;filter:brightness(0) saturate(100%) invert(82%) sepia(60%) saturate(400%) hue-rotate(145deg) brightness(105%)}.project-card h2,.project-card h3{font-size:var(--text-lg);margin:0}.project-card .link-arrow{margin-top:auto}.projects-empty{grid-column:1 / -1;padding:var(--space-9);text-align:center;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.contact-channels{display:grid;gap:var(--space-4)}.contact-channels__primary,.contact-channels__secondary{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:37.49rem){.contact-channels__primary,.contact-channels__secondary{grid-template-columns:1fr}}.channel-tile{display:flex;flex-direction:column;gap:var(--space-2);height:100%;text-decoration:none;color:var(--color-text)}.channel-tile .icon{color:var(--color-cyan)}.channel-tile__value{color:var(--color-cyan);font-weight:600;overflow-wrap:anywhere}.definition{display:grid;gap:var(--space-5)}.definition h3{color:var(--color-cyan);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-xs);margin-bottom:var(--space-2)}.status{border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-strong);background:var(--color-surface-raised)}.status[hidden]{display:none}.status--error{border-color:var(--color-danger)}.status--ok{border-color:var(--color-cyan);box-shadow:inset 0 0 0 1px rgb(var(--cyan-rgb) / .35)}.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-5)}.field label{font-weight:600;font-size:var(--text-sm)}.field .hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400}.field :is(input:not([type=checkbox]),textarea,select){width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.field :is(input,textarea,select):focus-visible{outline:none;border-color:var(--color-cyan);box-shadow:0 0 0 3px rgb(var(--cyan-rgb) / .25)}.field :is(input,textarea)::placeholder{color:var(--color-text-muted);opacity:.7}.field textarea{min-height:9rem;resize:vertical}.field [aria-invalid=true]{border-color:var(--color-danger)}.field-row{display:flex;gap:var(--space-2)}.field-row>input{flex:1;min-width:0}.field-error{color:var(--color-danger);font-size:var(--text-sm)}.field-error:before{content:"";display:inline-block;width:1em;height:1em;margin-right:.35em;vertical-align:-.15em;background:currentColor;-webkit-mask:var(--icon-alert) center / contain no-repeat;mask:var(--icon-alert) center / contain no-repeat}.check{display:flex;gap:var(--space-3);align-items:flex-start;min-height:44px}.check input{width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--color-cyan)}.form-card{background:linear-gradient(160deg,var(--color-surface-raised),var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.form-card>h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}.form-card__intro{color:var(--color-text-muted);margin-bottom:var(--space-6)}.form-grid{display:grid;gap:0 var(--space-5);grid-template-columns:1fr 1fr}.form-grid>.field--full{grid-column:1 / -1}@media(max-width:36rem){.form-grid{grid-template-columns:1fr}}}@layer utilities{.no-list{list-style:none;padding:0;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.title-md{font-size:var(--text-lg)}.center{text-align:center}.mx-auto{margin-inline:auto}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mb-4{margin-bottom:var(--space-4)}.flex-center{justify-content:center}.w-full{width:100%}.maxw-form{max-width:44rem}.maxw-narrow{max-width:30rem;margin-inline:auto}}@layer motion{@keyframes hero-draw{0%{stroke-dashoffset:var(--len, 600)}to{stroke-dashoffset:0}}@keyframes hero-rise{0%{transform:translateY(.75rem)}to{transform:none}}.hero__visual .draw{stroke-dasharray:var(--len, 600);animation:hero-draw 1.2s var(--ease-out) both}.hero__copy{animation:hero-rise .7s var(--ease-out) both}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes chapter-rise{0%{transform:translateY(var(--distance-reveal))}to{transform:none}}@keyframes rule-glow{0%{border-left-color:var(--color-border-strong)}to{border-left-color:var(--color-cyan)}}@keyframes parallax-drift{0%{transform:translateY(-1rem)}to{transform:translateY(1rem)}}.scroll-progress{display:none}@supports ((animation-timeline: view()) and (animation-range: entry 0% cover 40%)){.scroll-progress{display:block;position:fixed;inset:0 0 auto;height:3px;z-index:var(--z-progress);transform-origin:0 50%;background:var(--gradient-accent);pointer-events:none;animation:progress-grow linear both;animation-timeline:scroll(root block)}.chapter{animation:chapter-rise linear both,rule-glow linear both;animation-timeline:view(),view();animation-range:entry 0% entry 60%,entry 10% cover 45%}.hero__bg{animation:parallax-drift linear both;animation-timeline:scroll(root block);animation-range:0 100vh}}[data-reveal]{opacity:0;transform:translateY(var(--distance-reveal));transition:opacity var(--duration-slow) var(--ease-out) var(--reveal-delay, 0ms),transform var(--duration-slow) var(--ease-out) var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scroll-progress{display:none!important}.story__panel{position:static!important}.btn:hover,.btn:active{transform:none}[data-reveal]{opacity:1;transform:none;transition:none}}}
