:root{color-scheme:light;--color-bg:#f6f7fb;--color-surface:#fff;--color-surface-alt:#eef1f7;--color-text:#1a1d26;--color-text-muted:#596172;--color-primary:#1d4ed8;--color-primary-soft:#dbe7ff;--color-border:#d8dce6;--color-accent:#0f172a;--color-success:#0f766e;--color-warning:#b45309;--icon-fill:var(--color-text-muted);--icon-fill-hover:var(--color-text);--font-sans:"Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;--font-family-base:var(--font-sans);--font-family-display:var(--font-sans);--fs-1:clamp(.6rem, .6rem + .05vw, .6875rem);--fs-2:clamp(.6875rem, .66rem + .1vw, .75rem);--fs-3:clamp(.75rem, .72rem + .15vw, .8125rem);--fs-4:clamp(.875rem, .84rem + .2vw, .9375rem);--fs-5:clamp(.9375rem, .91rem + .22vw, 1rem);--fs-6:clamp(1rem, .96rem + .25vw, 1.125rem);--fs-7:clamp(1.25rem, 1.16rem + .45vw, 1.5rem);--fs-8:clamp(1.5rem, 1.34rem + .8vw, 2rem);--fs-9:clamp(2rem, 1.7rem + 1.6vw, 3rem);--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-flat:1;--lh-tight:1.15;--lh-snug:1.3;--lh-base:1.6;--lh-relaxed:1.7;--ls-tightest:-.04em;--ls-tighter:-.02em;--ls-tight:-.01em;--ls-normal:0;--ls-wide:.04em;--ls-wider:.08em;--ls-widest:.12em;--space-unit:.25rem;--space-1:calc(var(--space-unit) * .5);--space-2:calc(var(--space-unit) * 1);--space-3:calc(var(--space-unit) * 2);--space-4:calc(var(--space-unit) * 3);--space-5:calc(var(--space-unit) * 4);--space-6:calc(var(--space-unit) * 6);--space-7:calc(var(--space-unit) * 8);--space-8:calc(var(--space-unit) * 12);--space-9:calc(var(--space-unit) * 16);--space-10:6rem;--space-inline:var(--space-3);--space-stack:var(--space-5);--space-card:var(--space-6);--space-section:var(--space-9);--container:1120px;--container-lg:1440px;--header-py:var(--space-4);--header-py-shrink:var(--space-3);--header-links-offset:72px;--header-links-offset-shrink:64px;--logo-xs:clamp(40px, 6vw, 56px);--logo-sm:clamp(56px, 8vw, 72px);--logo-md:clamp(72px, 10vw, 96px);--logo-lg:clamp(96px, 12vw, 128px);--logo-xl:clamp(128px, 14vw, 168px);--logo-2xl:clamp(168px, 18vw, 220px);--logo-3xl:clamp(220px, 22vw, 280px);--logo-4xl:clamp(300px, 26vw, 420px);--avatar-xs:clamp(72px, 10vw, 112px);--avatar-sm:clamp(96px, 9vw, 120px);--avatar-md:clamp(120px, 10vw, 192px);--avatar-lg:clamp(144px, 12vw, 240px);--avatar-xl:clamp(168px, 14vw, 288px);--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--radius-soft:var(--radius-md);--radius-slant-ui:16px 22px 16px 22px / 60% 40% 60% 40%;--radius-btn:14px 18px 14px 18px / 58% 42% 58% 42%;--shadow-sm:0 8px 24px #0f172a14;--shadow-md:0 18px 40px #0f172a1f;--shadow-lg:0 32px 64px #0f172a29;--transition-fast:.18s ease;--transition-base:.22s ease;--transition-slow:.3s ease;--ease-3:cubic-bezier(.25, 0, .3, 1);--ease-out-5:cubic-bezier(0, 0, 0, 1);--ease-elastic-3:cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-4:cubic-bezier(.5, 1.5, .75, 1.25);--ease-reveal:cubic-bezier(.2, .8, .2, 1);--reveal-distance:26px;--reveal-duration:.52s;--reveal-delay-step:64ms;--reveal-delay-max:.32s;--reveal-distance-soft:14px;--reveal-duration-soft:.42s;--reveal-distance-standard:26px;--reveal-duration-standard:.56s;--reveal-distance-visual:40px;--reveal-duration-visual:.64s;--reveal-scale-visual:.985;--reveal-delay-step-cards:56ms;--reveal-delay-step-visual:90ms;--z-header:100;--z-nav-backdrop:105;--z-nav-panel:110;--z-skip-link:999}[data-theme=dark]{color-scheme:dark;--color-bg:#0b0f17;--color-surface:#121826;--color-surface-alt:#182033;--color-text:#eef2ff;--color-text-muted:#b7c0da;--color-primary:#7aa2ff;--color-primary-soft:#1b2a4d;--color-border:#25304b;--color-accent:#f8fafc;--color-success:#2dd4bf;--color-warning:#fbbf24;--icon-fill:var(--color-text);--icon-fill-hover:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-base:0s;--reveal-distance:0px;--reveal-duration:1ms;--reveal-delay-step:0s;--reveal-delay-max:0s;--reveal-distance-soft:0px;--reveal-duration-soft:1ms;--reveal-distance-standard:0px;--reveal-duration-standard:1ms;--reveal-distance-visual:0px;--reveal-duration-visual:1ms;--reveal-scale-visual:1;--reveal-delay-step-cards:0s;--reveal-delay-step-visual:0s}}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family-base);font-size:var(--fs-6);line-height:var(--lh-base);font-weight:var(--fw-regular);background:var(--color-bg);color:var(--color-text);text-rendering:optimizelegibility;margin:0}img,picture,svg,video{border-radius:var(--radius-sm);max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}p,ul,ol,h1,h2,h3,h4{margin:0}p{line-height:var(--lh-base);text-wrap:pretty}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--font-family-display);line-height:var(--lh-tight);text-wrap:balance}h1,h2{letter-spacing:var(--ls-tight)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}main{display:block}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.section{padding:var(--space-9) 0}.section__header{gap:var(--space-5);margin-bottom:var(--space-7);padding:0;display:grid}.section__title{font-size:var(--fs-8);max-width:42ch}.section__subtitle{color:var(--color-text-muted);max-width:42ch;font-size:var(--fs-4);font-weight:var(--fw-regular);margin-top:0}.grid{gap:var(--space-6);display:grid}.grid--2,.grid--3{grid-template-columns:1fr}@media (width>=660px){.grid--2,.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width>=1114px){.grid--3{grid-template-columns:repeat(3,1fr)}}.contact-details-grid{gap:var(--space-6);align-items:center;display:grid}@media (width>=760px){.contact-details-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.service-detail__grid{gap:var(--space-7);align-items:start;display:grid}@media (width>=900px){.service-detail__grid{gap:var(--space-7);grid-template-columns:minmax(0,1.45fr) minmax(19rem,.9fr)}}.projects-archive__grid{align-items:stretch}.header{z-index:var(--z-header);--header-py-current:var(--header-py);--header-links-offset-current:var(--header-links-offset);--header-scale:1;--header-translate-y:0px;background-color:color-mix(in srgb, var(--color-bg) 92%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base), backdrop-filter var(--transition-base);will-change:background-color, backdrop-filter, border-color, box-shadow;position:sticky;top:0}.header.is-shrink{--header-py-current:var(--header-py-shrink);--header-links-offset-current:var(--header-links-offset-shrink);--header-scale:.98;--header-translate-y:-2px;background-color:color-mix(in srgb, var(--color-bg) 96%, transparent);backdrop-filter:blur(18px);border-color:color-mix(in srgb, var(--color-border) 70%, transparent);box-shadow:var(--shadow-sm)}.nav{padding:var(--header-py-current) 0;transform:translateY(var(--header-translate-y)) scale(var(--header-scale));transform-origin:top;transition:padding var(--transition-base), transform var(--transition-base);will-change:padding, transform;justify-content:space-between;align-items:center;display:flex}.nav__brand{align-items:center;gap:var(--space-4);font-weight:var(--fw-semibold);display:flex}.brand__logo{object-fit:contain;flex:none;width:48px;height:48px;display:block}.nav__brand-text{font-size:var(--fs-5)}.nav__actions{align-items:center;gap:var(--space-3);display:flex}.nav__toggle,.theme-toggle{border-radius:var(--radius-pill);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);transition:transform var(--transition-fast), border-color var(--transition-fast);place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.nav__toggle:hover,.theme-toggle:hover{transform:translateY(-1px)}}.nav__toggle:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nav__toggle svg,.theme-toggle svg{width:28px;height:18px}.sun-and-moon>:is(.moon,.sun,.sun-beams){transform-origin:50%}.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill)}.theme-toggle:is(:hover,:focus-visible)>.sun-and-moon>:is(.moon,.sun){fill:var(--icon-fill-hover)}.sun-and-moon>.sun-beams{stroke:var(--icon-fill);stroke-width:2px}.theme-toggle:is(:hover,:focus-visible) .sun-and-moon>.sun-beams{stroke:var(--icon-fill-hover)}[data-theme=dark] .sun-and-moon>.sun{transform:scale(1.75)}[data-theme=dark] .sun-and-moon>.sun-beams{opacity:0}[data-theme=dark] .sun-and-moon>.moon>circle{transform:translate(-7px)}.nav__toggle-icon{border-radius:var(--radius-pill);width:18px;height:2px;transition:background var(--transition-fast);background:currentColor;display:block;position:relative}.nav__toggle-icon:before,.nav__toggle-icon:after{content:"";border-radius:var(--radius-pill);width:100%;height:2px;transition:transform var(--transition-fast), top var(--transition-fast), opacity var(--transition-fast);background:currentColor;position:absolute;left:0}.nav__toggle-icon:before{top:-6px}.nav__toggle-icon:after{top:6px}.nav--open .nav__toggle-icon{background:0 0}.nav--open .nav__toggle-icon:before{top:0;transform:rotate(45deg)}.nav--open .nav__toggle-icon:after{top:0;transform:rotate(-45deg)}.js .nav__links{inset:var(--header-links-offset-current) 0 auto 0;z-index:var(--z-nav-panel);background:color-mix(in srgb, var(--color-bg) 94%, transparent);padding:var(--space-5) var(--space-6);backdrop-filter:blur(22px);align-items:stretch;gap:var(--space-4);-webkit-overflow-scrolling:touch;max-height:calc(100dvh - var(--header-links-offset-current));opacity:0;pointer-events:none;visibility:hidden;transition:transform var(--transition-base), opacity var(--transition-base), visibility var(--transition-base);flex-direction:column;display:flex;position:fixed;overflow-y:auto;transform:translateY(-8px)}.js .nav--open .nav__links{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}html:not(.js) .nav__links{align-items:flex-start;gap:var(--space-4);opacity:1;pointer-events:auto;visibility:visible;backdrop-filter:none;background:0 0;border:none;flex-direction:column;max-height:none;padding:0;display:flex;position:static;inset:auto;overflow:visible;transform:none}html:not(.js) .nav__toggle{display:none}.nav__link{font-weight:var(--fw-medium);font-size:var(--fs-5);letter-spacing:var(--ls-tight);color:var(--color-text);transition:color var(--transition-fast)}.js .nav__links .nav__link{align-items:center;width:100%;min-height:44px;display:flex}.nav__link:hover,.nav__link:focus-visible,.nav__link[aria-current=page]{color:var(--color-text)}.nav-open{overflow:hidden}.nav--open .nav__backdrop{opacity:1;pointer-events:auto}.nav__backdrop{z-index:var(--z-nav-backdrop);background:color-mix(in srgb, var(--color-bg) 55%, transparent);opacity:0;pointer-events:none;transition:opacity var(--transition-base);position:fixed;inset:0}@media (width>=900px){.nav__toggle{display:none}.nav__links,.js .nav__links{align-items:center;gap:var(--space-6);opacity:1;pointer-events:auto;visibility:visible;backdrop-filter:none;background:0 0;border:none;flex-direction:row;max-height:none;padding:0;display:flex;position:static;inset:auto;transform:none}.nav__link{font-size:var(--fs-4);color:var(--color-text-muted)}.js .nav__links .nav__link{width:auto;min-height:auto}.nav__backdrop{display:none}}@media (prefers-reduced-motion:no-preference){.sun-and-moon>.sun{transition:transform .5s var(--ease-elastic-3)}.sun-and-moon>.sun-beams{transition:transform .5s var(--ease-elastic-4), opacity .5s var(--ease-3)}.sun-and-moon .moon>circle{transition:transform .25s var(--ease-out-5)}@supports (cx:1){.sun-and-moon .moon>circle{transition:cx .25s var(--ease-out-5)}}[data-theme=dark] .sun-and-moon>.sun{transition-timing-function:var(--ease-3);transition-duration:.25s;transform:scale(1.75)}[data-theme=dark] .sun-and-moon>.sun-beams{transition-duration:.15s;transform:rotate(-25deg)}[data-theme=dark] .sun-and-moon>.moon>circle{transition-duration:.5s;transition-delay:.25s}}@media (prefers-reduced-motion:reduce){.header,.nav,.nav__links,.nav__toggle,.nav__backdrop{transition:none}}@supports (cx:1){[data-theme=dark] .sun-and-moon>.moon>circle{cx:17;transform:translate(0)}}.footer{padding:var(--space-9) 0 var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}.footer__grid{column-gap:var(--space-7);row-gap:var(--space-9);grid-template-columns:1fr;display:grid}.footer__col{gap:var(--space-4);align-content:start;display:grid}.footer__logo{margin-bottom:var(--space-5);margin-left:var(--space-4);height:var(--logo-lg);width:auto;display:block}.footer__contact-list{gap:var(--space-2);font-style:normal;display:grid}.footer__social{margin-top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.footer__social-links{align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.footer__bottom{gap:var(--space-4);padding-top:var(--space-4);margin-top:var(--space-6);border-top:1px solid var(--color-border);flex-direction:column;align-items:center;display:flex}.footer__legal-links{justify-content:flex-start;align-items:center;gap:0;row-gap:var(--space-2);flex-wrap:wrap;display:flex}.footer__legal-links .footer__link{white-space:nowrap;font-size:var(--fs-3);flex:none}@media (width>=768px){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__social-links{justify-content:right}.footer__bottom{flex-direction:row;justify-content:space-between}}@media (width>=1024px){.footer__grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}.footer__logo{height:var(--logo-md)}}.breadcrumbs{margin-bottom:var(--space-9)}.breadcrumbs__list{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.breadcrumbs__item{align-items:center;gap:var(--space-3);min-height:32px;color:var(--color-text-muted);font-size:var(--fs-2);letter-spacing:var(--ls-wide);font-weight:var(--fw-medium);display:inline-flex}.breadcrumbs__item+.breadcrumbs__item:before{content:"/";color:color-mix(in srgb, var(--color-text-muted) 65%, transparent)}.breadcrumbs__link,.breadcrumbs__current{line-height:var(--lh-flat)}.breadcrumbs__link{color:inherit;transition:color var(--transition-fast), text-decoration-color var(--transition-fast)}@media (hover:hover) and (pointer:fine){.breadcrumbs__link:hover{color:var(--color-text)}}.breadcrumbs__link:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);outline-offset:3px;border-radius:var(--radius-xs)}.breadcrumbs__current{color:var(--color-accent);font-weight:var(--fw-semibold)}.section__eyebrow{padding:var(--space-3) var(--space-5);background:color-mix(in srgb, var(--color-surface) 60%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);margin-bottom:var(--space-5);font-size:var(--fs-1);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-text-muted);border-radius:var(--radius-slant-ui);width:fit-content;font-weight:var(--fw-semibold);display:inline-block}@media (width>=480px){.section__eyebrow{margin-bottom:var(--space-4)}}.button{appearance:none;justify-content:center;align-items:center;gap:var(--space-3);padding:calc(var(--space-4) + 1px) var(--space-6);border-radius:var(--radius-btn);font-family:inherit;font-size:var(--fs-3);font-weight:var(--fw-medium);line-height:var(--lh-flat);cursor:pointer;white-space:nowrap;user-select:none;transition:background-color var(--transition-base), color var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base), filter var(--transition-base);border:none;text-decoration:none;display:inline-flex}.button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 35%, transparent);outline:none}.button--primary{background:var(--color-primary);color:#fff;box-shadow:0 6px 18px #1d4ed840}@media (hover:hover) and (pointer:fine){.button--primary:hover{filter:brightness(1.05)}}.button--primary:active{filter:brightness(.95);box-shadow:0 4px 12px #1d4ed838}.button--ghost{color:var(--color-text);border:1px solid var(--color-border);background:0 0}@media (hover:hover) and (pointer:fine){.button--ghost:hover{background:var(--color-surface-alt);border-color:var(--color-border)}}.button--ghost:active{background:color-mix(in srgb, var(--color-surface-alt) 85%, transparent)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (prefers-reduced-motion:reduce){.button{transition:none}}.card{background:color-mix(in srgb, var(--color-surface) 88%, transparent);border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);padding:var(--space-5);box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);gap:var(--space-6);display:grid}.card--compact{padding:var(--space-5)}.card__title{font-size:var(--fs-7)}.card__lead{font-size:var(--fs-5);color:var(--color-text);opacity:.98;max-width:42ch;margin:0}.card__meta{font-size:var(--fs-4);color:var(--color-text-muted);max-width:42ch}.card__actions{justify-content:flex-start;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.card__actions .button{flex:0 0 146px;min-height:42px}.service-card{background:color-mix(in srgb, var(--color-surface) 92%, var(--color-bg));border-color:color-mix(in srgb, var(--color-border) 88%, transparent);height:100%;transition:transform var(--transition-fast), box-shadow var(--transition-base), border-color var(--transition-base), background var(--transition-base);will-change:transform;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.service-card:hover{border-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-card:hover:before{opacity:1}}.service-card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(180px 120px at 0% 0%, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 60%);transition:opacity var(--transition-base);position:absolute;inset:0}.service-card:focus-within{border-color:color-mix(in srgb, var(--color-primary) 38%, var(--color-border));box-shadow:var(--shadow-md)}.service-card__head{align-items:center;gap:var(--space-6);display:flex}.service-card__icon{block-size:24px;inline-size:24px;color:var(--color-primary);flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.service-card__icon svg{block-size:100%;inline-size:100%;display:block}.service-card .card__actions{justify-content:space-between;margin-top:auto}@media (prefers-reduced-motion:reduce){.service-card,.service-card:before{transition:none}.service-card:hover{transform:none}}.work-card{height:100%;padding:var(--space-5);background:color-mix(in srgb, var(--color-surface) 96%, var(--color-bg));border-color:color-mix(in srgb, var(--color-border) 90%, transparent);transition:transform var(--transition-fast), box-shadow var(--transition-base), border-color var(--transition-base), background var(--transition-base);will-change:transform;flex-direction:column;margin-top:auto;display:flex;position:relative;overflow:hidden}.work-card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(900px 280px at 10% -10%, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 60%);transition:opacity var(--transition-base);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.work-card:hover{border-color:color-mix(in srgb, var(--color-primary) 22%, var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-3px)}.work-card:hover:before{opacity:1}}.work-card:focus-within{border-color:color-mix(in srgb, var(--color-primary) 34%, var(--color-border));box-shadow:var(--shadow-md)}[data-theme=dark] .work-card{background:color-mix(in srgb, var(--color-surface) 92%, #000);border-color:color-mix(in srgb, var(--color-border) 72%, transparent)}[data-theme=dark] .work-card:before{background:radial-gradient(900px 280px at 10% -10%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 60%)}.work-card__image{border:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);background:color-mix(in srgb, var(--color-surface-alt) 80%, var(--color-bg));padding:var(--space-3);margin:calc(var(--space-5) * -1);margin-bottom:var(--space-2)}.work-card__image img{border-radius:var(--radius-xs);block-size:auto;inline-size:100%;transition:transform var(--transition-base), filter var(--transition-base), box-shadow var(--transition-base);display:block}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__image img{filter:saturate(1.05)contrast(1.05);transform:scale(1.02);box-shadow:0 18px 40px #00000059}[data-theme=dark] .work-card:hover .work-card__image img{box-shadow:0 20px 48px #0000008c}}.work-card .card__title{letter-spacing:var(--ls-tight)}.work-card .card__subtitle{font-size:var(--fs-5);opacity:.8;line-height:var(--lh-base);font-weight:var(--fw-semibold)}.work-card__actions{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;margin-top:auto;display:flex}.work-card .button{min-height:42px;font-size:var(--fs-3);flex:0 0 126px}.work-card .button--ghost{border-color:color-mix(in srgb, var(--color-text) 14%, var(--color-border));background:color-mix(in srgb, var(--color-surface-alt) 42%, transparent)}@media (hover:hover) and (pointer:fine){.work-card .button--ghost:hover{background:color-mix(in srgb, var(--color-surface-alt) 72%, transparent);border-color:color-mix(in srgb, var(--color-text) 22%, var(--color-border))}}.tag{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-soft);background:var(--color-surface-alt);letter-spacing:var(--ls-wide);font-size:var(--fs-2);display:inline-flex}.list{gap:var(--space-3);color:var(--color-text-muted);font-size:var(--fs-4);margin:0;padding:0;list-style:none;display:grid}.list li{padding-left:calc(var(--space-4) + 6px);position:relative}.list li:before{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text-muted) 55%, transparent);width:4px;height:4px;position:absolute;top:.62em;left:0}.footer__brand-title{font-size:var(--fs-6);font-weight:var(--fw-semibold);margin-bottom:var(--space-4);letter-spacing:var(--ls-tight)}.footer__brand-title a{color:var(--color-text);text-decoration:none}.footer__brand-title a:focus-visible{color:var(--color-primary)}@media (hover:hover) and (pointer:fine){.footer__brand-title a:hover{color:var(--color-primary)}}.footer__lead{font-size:var(--fs-5);color:var(--color-text);max-width:24ch}.footer__meta{font-size:var(--fs-4);color:var(--color-text-muted);max-width:22ch}.footer__title{font-size:var(--fs-5);letter-spacing:var(--ls-widest);text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 75%, var(--color-text-muted));font-weight:var(--fw-semibold);margin:0 0 var(--space-4)}.footer__links{gap:var(--space-2);display:grid}.footer__link{color:var(--color-text-muted);min-height:36px;font-size:var(--fs-4);font-weight:var(--fw-medium);letter-spacing:var(--ls-normal);transition:color var(--transition-fast), text-decoration-color var(--transition-fast);align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.footer__link:hover{color:color-mix(in srgb, var(--color-text) 85%, var(--color-text-muted));text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--color-text) 55%, transparent)}}.footer__link:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);outline-offset:3px;border-radius:var(--radius-sm)}.footer__contact-list .footer__link{font-size:var(--fs-5);color:var(--color-text)}.footer__contact-list .footer__meta{margin:var(--space-4) 0}.footer__meta--address{max-width:32ch}.footer__contact .actions{justify-content:left;margin:0}.footer__contact .actions .button{min-height:42px;margin:var(--space-6) 0;flex:0 0 146px}.footer__social-link{min-width:40px;min-height:40px;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--icon-fill);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.footer__social-icon{width:20px;height:20px;color:inherit}@media (hover:hover) and (pointer:fine){.footer__social-link:hover{color:var(--icon-fill-hover);background-color:color-mix(in srgb, var(--color-surface-alt) 70%, transparent)}}.footer__social-link:focus-visible{color:var(--icon-fill-hover);background-color:color-mix(in srgb, var(--color-surface-alt) 60%, transparent);border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 35%, transparent);border-radius:var(--radius-sm);outline:none}.footer__legal{font-size:var(--fs-3);color:var(--color-text-muted);margin:0}.footer__legal-links .footer__link+.footer__link{margin-left:var(--space-4)}.footer__legal-links .footer__link+.footer__link:before{content:"·";margin-right:var(--space-4);color:var(--color-text-muted);opacity:.8}.hero__grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}.hero__content{padding:0}.hero__title{font-weight:var(--fw-semibold);font-size:var(--fs-9);margin:var(--space-6) 0 var(--space-5);max-width:18ch}.hero__lead{margin-bottom:var(--space-8);color:color-mix(in srgb, var(--color-text) 75%, var(--color-text-muted));max-width:52ch;font-size:var(--fs-4)}.hero__cta{gap:var(--space-4);padding:var(--space-2) var(--space-4);display:grid}.hero__cta .button{width:100%}.hero__meta.hero__visual{place-items:start center;display:grid}.hero__logo{max-width:var(--logo-3xl);max-height:var(--logo-3xl);opacity:.11;width:100%;margin-top:0}[data-theme=dark] .hero__logo{filter:invert()}.hero__meta strong{font-size:var(--fs-6)}@media (width>=480px){.hero__cta{flex-wrap:wrap;align-items:center;padding:0;display:flex}.hero__cta .button{flex:0 0 200px;min-height:42px}}@media (width>=660px){.hero__grid{grid-template-columns:1.2fr .6fr;align-items:center}.hero__logo{margin:0}}@media (width>=760px){.hero__grid{grid-template-columns:1.2fr .7fr}}@media (width>=1024px){.hero__grid{grid-template-columns:1.2fr 1fr}.hero{padding:var(--space-10) 0}}.process{counter-reset:step}.process__item{gap:var(--space-4);position:relative}.process__header{align-items:center;gap:var(--space-4);display:flex}.process__step{inline-size:var(--space-7);block-size:var(--space-7);border-radius:var(--radius-slant-ui);font-size:var(--fs-3);font-weight:var(--fw-semibold);background:var(--color-primary);color:var(--color-primary-soft);flex-shrink:0;place-items:center;display:grid}.callout{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 68%, var(--color-surface-alt)), color-mix(in srgb, var(--color-surface-alt) 78%, var(--color-bg)));color:var(--color-text);border:1px solid color-mix(in srgb, var(--color-border) 40%, transparent);border-radius:var(--radius-sm);padding:var(--space-8) var(--space-5);gap:var(--space-7);box-shadow:inset 0 1px 0 #ffffff2e, var(--shadow-md);display:grid}.callout__header,.callout__item,.callout__actions{display:grid}.callout__header{gap:var(--space-4);padding-bottom:var(--space-5)}.callout__item{gap:var(--space-3)}.callout__item p{font-size:var(--fs-3);line-height:var(--line-height-relaxed);max-width:42ch}.callout .actions .button{flex:0 0 220px}.callout .button--ghost{color:inherit}.vault-promo{gap:var(--space-6);position:relative;overflow:hidden}.vault-promo:before{content:"";border-radius:var(--radius-pill);background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 4%, transparent) 0%, transparent 42%);opacity:.7;pointer-events:none;width:min(24rem,52vw);height:min(24rem,52vw);position:absolute;inset:-10rem -10rem auto auto}.vault-promo__header{z-index:1;max-width:60rem;position:relative}.vault-promo__title{letter-spacing:var(--ls-tight);margin-left:var(--space-4)}.vault-promo__subtitle{max-width:44rem;margin-left:var(--space-4)}.vault-promo__relationship{gap:var(--space-2);padding:var(--space-4) var(--space-5);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, var(--color-surface-alt)), color-mix(in srgb, var(--color-surface) 86%, var(--color-bg)));border:1px solid color-mix(in srgb, var(--color-border) 68%, transparent);border-radius:var(--radius-sm);max-width:48rem;margin:0;display:grid;box-shadow:inset 0 1px #ffffff2e}.vault-promo__relationship-label,.vault-promo__card-label,.vault-promo__meta-label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-bold);margin:0}.vault-promo__relationship-value{color:color-mix(in srgb, var(--color-text) 78%, var(--color-text-muted));font-size:var(--fs-4);font-weight:var(--fw-medium)}.vault-promo__grid{gap:var(--space-5);z-index:1;align-items:start;display:grid;position:relative}.vault-promo__content{gap:var(--space-5);display:grid}.vault-promo__lead{font-size:var(--fs-4);max-width:48ch;color:color-mix(in srgb, var(--color-text) 88%, var(--color-text-muted));margin:0;margin-left:var(--space-4)}.vault-promo__cards{gap:var(--space-5);display:grid}.vault-promo__card{gap:var(--space-4);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 88%, var(--color-surface)), color-mix(in srgb, var(--color-surface) 98%, var(--color-bg)));border-color:color-mix(in srgb, var(--color-border) 72%, transparent);box-shadow:inset 0 1px 0 #ffffff29, var(--shadow-sm)}.vault-promo__card .card__title{font-size:var(--fs-6)}.vault-promo__card .card__meta{max-width:52ch}.vault-promo__list{padding-left:var(--space-4);font-size:var(--fs-4);margin:0;display:grid}.vault-promo__visual-card{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 97%, var(--color-surface-alt)), color-mix(in srgb, var(--color-surface-alt) 78%, var(--color-bg)));border-color:color-mix(in srgb, var(--color-border) 74%, transparent);box-shadow:inset 0 1px 0 #ffffff2e, var(--shadow-sm);position:relative;overflow:hidden}.vault-promo__visual-card:before{content:"";pointer-events:none;background:radial-gradient(220px 160px at 100% 0%, color-mix(in srgb, var(--color-primary) 6%, transparent), transparent 65%);position:absolute;inset:0}.vault-promo__visual{gap:var(--space-4);display:grid}.vault-promo__visual-frame{padding:var(--space-3);border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 56%, var(--color-surface)), transparent), linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 6%, transparent), transparent 62%), color-mix(in srgb, var(--color-surface) 98%, var(--color-bg));border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);box-shadow:inset 0 1px 0 #ffffff38, 0 1px 0 color-mix(in srgb, var(--color-border) 24%, transparent);align-content:end;display:grid;overflow:hidden}.vault-promo__visual-frame picture,.vault-promo__visual-frame img{width:100%;height:100%;display:block}.vault-promo__visual-frame img{object-fit:contain;object-position:top center}.vault-promo__meta{gap:var(--space-4);display:grid}.vault-promo__meta-item{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);display:grid}.vault-promo__meta-item:first-child{border-top:none;padding-top:0}.vault-promo__meta-value{color:var(--color-text-muted);font-size:var(--fs-4);max-width:34ch}.vault-promo__supporting-link{z-index:1;color:color-mix(in srgb, var(--color-text) 70%, var(--color-text-muted));font-size:var(--fs-3);position:relative}.vault-promo__supporting-link a{color:inherit;font-weight:var(--fw-semibold);text-underline-offset:.16em;letter-spacing:var(--ls-wide);text-decoration-thickness:.08em}@media (width>=760px){.vault-promo__grid{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(18rem,.88fr)}}.case-study{background:var(--color-surface);padding:var(--space-6);border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.case-study:after{content:"";width:var(--logo-md);height:var(--logo-md);opacity:.06;pointer-events:none;background:url(/assets/img/logo/logo-magic.svg) 50%/contain no-repeat;position:absolute;top:1%;right:5%}.case-study__lead{font-size:var(--fs-4);max-width:42ch}.case-study .pill-grid{justify-content:center;align-items:center;padding:0}.case-study .tag{letter-spacing:var(--ls-wide);color:color-mix(in srgb, var(--color-text) 85%, var(--color-text-muted));white-space:nowrap;justify-content:center}.case-study .actions .button{flex:0 0 220px}@media (width>=760px){.case-study:after{top:36%;right:15%}}@media (width>=1024px){.case-study:after{width:var(--logo-lg);height:var(--logo-lg)}}.about{position:relative}.about__intro{gap:var(--space-4);width:100%;display:grid}.about__intro:before{content:"";pointer-events:none;background:radial-gradient(360px 120px at 0% 16%, color-mix(in srgb, var(--color-primary) 5%, transparent), transparent 60%);opacity:.9;position:absolute;inset:0}.about__intro-text{gap:var(--space-2);flex-direction:column;display:flex}.about__subtitle{padding-bottom:var(--space-4);position:relative}.about__subtitle:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--color-border) 15%, transparent) 0 1px, transparent 1px 5px, color-mix(in srgb, var(--color-border) 25%, transparent) 5px 6px, transparent 6px 10px);pointer-events:none;block-size:10px;inline-size:100%;position:absolute;bottom:-.25rem;left:0}.about__profile{gap:var(--space-5);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.about__avatar{inline-size:var(--avatar-sm);block-size:var(--avatar-sm);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-md);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 84%, transparent) 100%);box-shadow:var(--shadow-sm);flex:none;padding:3px}.about__avatar-surface{border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);border-radius:calc(var(--radius-md) - 2px);background:color-mix(in srgb, var(--color-surface) 96%, transparent);block-size:100%;inline-size:100%;padding:2px}.about__profile-copy{gap:var(--space-2);display:grid}.about__profile-label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.about__profile-text{color:color-mix(in srgb, var(--color-text) 78%, var(--color-text-muted));font-size:var(--fs-4);max-width:30ch;margin:0}.about__avatar-img{object-fit:cover;border-radius:calc(var(--radius-sm) + 1px);block-size:100%;inline-size:100%;display:block}.about__grid{align-items:start;gap:var(--space-8);grid-template-columns:1fr}.about__content{flex-direction:column;min-height:100%;display:flex}.about__content-subtitle{margin-bottom:var(--space-6);max-width:32ch}.about__lead{color:var(--color-text);margin-bottom:var(--space-6)}.about__highlights{margin-top:var(--space-6);gap:var(--space-6);margin-bottom:0;padding:0;list-style:none;display:grid}.about__highlight{gap:var(--space-2);padding-left:var(--space-4);border-left:2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);display:grid}.about__kicker{font-size:var(--fs-2);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:color-mix(in srgb, var(--color-primary) 85%, transparent)}.about__text{font-size:var(--fs-4);font-weight:var(--fw-semibold);max-width:42ch;color:color-mix(in srgb, var(--color-text) 80%, var(--color-text-muted))}.about__contact-actions{justify-content:flex-start;align-items:center;gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.about__contact-link{justify-content:center;align-items:center;gap:var(--space-2);min-width:120px;min-height:3rem;padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-btn);background:color-mix(in srgb, var(--color-surface) 88%, transparent);color:var(--color-text);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex}.about__contact-icon{opacity:.88;flex-shrink:0}.about__contact-text{font-size:var(--fs-3);font-weight:var(--fw-semibold);line-height:var(--lh-flat);white-space:nowrap}.about__contact-link:focus-visible{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent), var(--shadow-sm);outline:none}.about__contact-link:active{box-shadow:var(--shadow-sm);transform:translateY(1px)scale(.985)}@media (hover:hover) and (pointer:fine){.about__contact-link:hover{border-color:color-mix(in srgb, var(--color-border) 88%, var(--color-text-muted));background:color-mix(in srgb, var(--color-surface) 94%, var(--color-text-muted));box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.about__card{align-content:start;position:relative}.about__card:before{content:"";pointer-events:none;background:radial-gradient(320px 320px at 50% 48%, color-mix(in srgb, var(--color-primary) 2%, transparent), transparent 20%);opacity:.8;position:absolute;inset:0}.about__card .card__title{margin:var(--space-3) 0;letter-spacing:var(--ls-tighter);font-size:var(--fs-6)}.about__divider{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-border) 70%, transparent), transparent);height:1px;margin:var(--space-3) 0}.about__mini-title{font-size:var(--fs-3);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-text-muted)}.about__steps{gap:var(--space-5);margin-bottom:var(--space-4);display:grid}.about__step{padding-left:var(--space-6);font-size:var(--fs-4);gap:var(--space-2);display:grid;position:relative}.about__step:before{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-primary) 55%, transparent);block-size:.4rem;inline-size:.4rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 12%, transparent), 0 1px 0 #ffffff38 inset;position:absolute;top:.4rem;left:0}.about__step-title{font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--color-text)}.about__step-text{color:color-mix(in srgb, var(--color-text) 48%, var(--color-text-muted));text-wrap:pretty;max-width:42ch}@media (width>=480px){.about__contact-actions{gap:var(--space-4)}}@media (width>=760px){.about__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cta{background:var(--color-surface);padding:var(--space-6) 0;border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);gap:var(--space-2);display:grid}.cta .section__header{margin:var(--space-4) auto 0;text-align:center}.cta .section__title{font-size:var(--fs-7)}.cta .section__subtitle{padding-inline:var(--space-2);text-align:center;margin:0 auto}.cta .actions .button{flex:0 0 220px}@media (width>=574px){.cta .actions{justify-content:center;gap:var(--space-6)}}.contact-grid{gap:var(--space-7);display:grid}.contact__card{margin-top:var(--space-6)}@media (width>=900px){.contact-grid{grid-template-columns:1.1fr .9fr}}.project-filter{gap:var(--space-4);flex-wrap:wrap;display:flex}.skip-link{left:-999px;top:var(--space-4);background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-5);z-index:var(--z-skip-link);position:absolute}.skip-link:focus{left:var(--space-4)}.pill-grid{gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.actions{justify-content:center;align-items:center;gap:var(--space-4);margin-inline:auto;margin-top:var(--space-7);flex-wrap:wrap;display:flex}@media (width>=574px){.actions{justify-content:flex-end;margin-inline:0}}.reveal{--reveal-index:0;--reveal-distance-current:var(--reveal-distance-standard,var(--reveal-distance));--reveal-duration-current:var(--reveal-duration-standard,var(--reveal-duration));--reveal-delay-step-current:var(--reveal-delay-step);--reveal-delay-max-current:var(--reveal-delay-max);--reveal-scale-current:1;--reveal-delay:min(calc(var(--reveal-index) * var(--reveal-delay-step-current)), var(--reveal-delay-max-current))}[data-reveal=soft],[data-reveal-item=soft]{--reveal-distance-current:var(--reveal-distance-soft);--reveal-duration-current:var(--reveal-duration-soft)}[data-reveal=standard],[data-reveal-item=standard]{--reveal-distance-current:var(--reveal-distance-standard);--reveal-duration-current:var(--reveal-duration-standard)}[data-reveal=visual],[data-reveal-item=visual]{--reveal-distance-current:var(--reveal-distance-visual);--reveal-duration-current:var(--reveal-duration-visual);--reveal-scale-current:var(--reveal-scale-visual)}[data-reveal-group=cards]{--reveal-delay-step-current:var(--reveal-delay-step-cards)}[data-reveal-group=visual]{--reveal-delay-step-current:var(--reveal-delay-step-visual)}[data-reveal-group=visual] [data-reveal-item]:not([data-reveal-item=soft]):not([data-reveal-item=standard]){--reveal-distance-current:var(--reveal-distance-visual);--reveal-duration-current:var(--reveal-duration-visual);--reveal-scale-current:var(--reveal-scale-visual)}.js [data-reveal].reveal--pending,.js [data-reveal-item].reveal--pending{opacity:0;transform:translate3d(0, var(--reveal-distance-current), 0) scale(var(--reveal-scale-current));transition:opacity var(--reveal-duration-current) var(--ease-reveal) var(--reveal-delay), transform var(--reveal-duration-current) var(--ease-reveal) var(--reveal-delay);will-change:opacity, transform}.js [data-reveal].reveal--pending.is-visible,.js [data-reveal-item].reveal--pending.is-visible,.reveal.is-visible{opacity:1;transform:translate(0,0)scale(1)}@media (prefers-reduced-motion:reduce){.js [data-reveal].reveal--pending,.js [data-reveal-item].reveal--pending{opacity:1;will-change:auto;transition:none;transform:none}}.page-hero{padding:var(--space-2) 0 var(--space-8);position:relative;overflow:clip}.page-hero:before{content:"";aspect-ratio:1;border-radius:var(--radius-pill);pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 10%, transparent) 0%, transparent 72%);opacity:.35;filter:blur(8px);width:22rem;position:absolute;top:-10rem;right:-10rem}.page-hero__content{max-width:70rem}.page-hero__title{font-size:var(--fs-8);margin-top:var(--space-8);max-width:32ch}.page-hero__lead{margin:0 0 var(--space-6)}.page--service .page-hero:before{opacity:.24;width:18rem;top:-8rem;right:-7rem}.page--service .page-hero__layout{gap:var(--space-7);align-items:center;display:grid}.page--service .page-hero__content{max-width:42rem}.page--service .page-hero__media{justify-content:center;display:flex}.page--service .page-hero__illustration{border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 88%, transparent) 100%);width:min(100%,30rem);box-shadow:var(--shadow-md);padding:clamp(var(--space-3), 1.8vw, var(--space-5))}.page--service .page-hero__illustration img{width:100%;height:auto;display:block}@media (width>=760px){.page--service .page-hero__layout{gap:var(--space-8);grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr)}.page--service .page-hero__media{justify-content:flex-end}}@media (width>=1024px){.page--service .page-hero__layout{grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr)}.page--service .page-hero__illustration{width:min(100%,28rem)}}.page--about .about-binary-rain,.page--home .about-binary-rain,.page--services .about-binary-rain,.page--projects .about-binary-rain,.page--contact .about-binary-rain{inset:calc(var(--header-links-offset) + var(--space-5)) 0 auto 0;pointer-events:none;z-index:0;opacity:0;height:min(18rem,34vh);transition:opacity var(--transition-base);position:fixed}.page--about .about-binary-rain.is-active,.page--home .about-binary-rain.is-active,.page--services .about-binary-rain.is-active,.page--projects .about-binary-rain.is-active,.page--contact .about-binary-rain.is-active{opacity:1}.page--about .about-binary-rain__lane,.page--home .about-binary-rain__lane,.page--services .about-binary-rain__lane,.page--projects .about-binary-rain__lane,.page--contact .about-binary-rain__lane{gap:var(--space-4);justify-content:space-between;width:clamp(3.75rem,9vw,6rem);display:flex;position:absolute;top:0}.page--about .about-binary-rain__lane--left,.page--home .about-binary-rain__lane--left,.page--services .about-binary-rain__lane--left,.page--projects .about-binary-rain__lane--left,.page--contact .about-binary-rain__lane--left{left:clamp(.25rem,1.5vw,1.25rem)}.page--about .about-binary-rain__lane--right,.page--home .about-binary-rain__lane--right,.page--services .about-binary-rain__lane--right,.page--projects .about-binary-rain__lane--right,.page--contact .about-binary-rain__lane--right{right:clamp(.25rem,1.5vw,1.25rem)}.page--about .about-binary-rain__stream,.page--home .about-binary-rain__stream,.page--services .about-binary-rain__stream,.page--projects .about-binary-rain__stream,.page--contact .about-binary-rain__stream{white-space:pre;font-size:var(--fs-2);letter-spacing:var(--ls-wide);color:color-mix(in srgb, var(--color-primary) 26%, var(--color-text-muted));opacity:.045;transition:opacity var(--transition-fast), transform var(--transition-base);will-change:transform, opacity;line-height:1.08;display:block;transform:translateY(-.5rem)}.page--about .about-binary-rain__stream:nth-child(2),.page--home .about-binary-rain__stream:nth-child(2),.page--services .about-binary-rain__stream:nth-child(2),.page--projects .about-binary-rain__stream:nth-child(2),.page--contact .about-binary-rain__stream:nth-child(2){margin-top:var(--space-6);opacity:.03}.page--about .about-binary-rain.is-active .about-binary-rain__stream,.page--home .about-binary-rain.is-active .about-binary-rain__stream,.page--services .about-binary-rain.is-active .about-binary-rain__stream,.page--projects .about-binary-rain.is-active .about-binary-rain__stream,.page--contact .about-binary-rain.is-active .about-binary-rain__stream{opacity:.1;animation:about-binary-rain-fall .88s var(--ease-3) 1 both}.page--about .about-binary-rain.is-active .about-binary-rain__stream:nth-child(2),.page--home .about-binary-rain.is-active .about-binary-rain__stream:nth-child(2),.page--services .about-binary-rain.is-active .about-binary-rain__stream:nth-child(2),.page--projects .about-binary-rain.is-active .about-binary-rain__stream:nth-child(2),.page--contact .about-binary-rain.is-active .about-binary-rain__stream:nth-child(2){opacity:.075;animation-delay:90ms}@keyframes about-binary-rain-fall{0%{opacity:0;transform:translateY(-.75rem)}24%{opacity:.085}to{opacity:0;transform:translateY(1rem)}}.about-intro__grid{gap:var(--space-6);align-items:center;display:grid}.about-intro__content{max-width:60ch;margin:0}.about-intro__text{color:var(--color-text);margin-bottom:var(--space-4)}.about-intro__media{justify-content:center;align-items:center;display:flex}.about-intro__photo-wrap{width:100%;max-width:23.5rem;position:relative}.about-intro__photo-accent{aspect-ratio:1;border-radius:var(--radius-xl);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 14%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 78%, transparent) 100%);border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);width:clamp(7rem,24vw,9.5rem);box-shadow:var(--shadow-sm);pointer-events:none;position:absolute;inset:auto auto 1rem -.75rem}.about-intro__photo-frame,.about-intro__photo-placeholder{border-radius:calc(var(--radius-xl) + 2px);width:100%;padding:clamp(var(--space-3), 1.2vw, var(--space-4));border:1px solid color-mix(in srgb, var(--color-border) 84%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 86%, transparent) 100%);box-shadow:var(--shadow-md);position:relative}.about-intro__photo-surface{border-radius:var(--radius-xl);padding:var(--space-2);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 98%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 92%, transparent) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-surface) 82%, transparent), 0 12px 30px color-mix(in srgb, var(--color-accent) 10%, transparent);overflow:hidden}.about-intro__photo{border-radius:calc(var(--radius-lg) + 2px);width:100%;height:auto;display:block}.about-intro__photo-placeholder{aspect-ratio:4/5}.about-focus__subtitle{color:var(--color-text);max-width:60ch}.about-focus__top{gap:var(--space-8);margin-bottom:var(--space-6);margin-right:var(--space-9);align-items:center;display:grid}.about-focus__brand-mark{display:none}.about-focus__brand-mark img{opacity:.12;width:100%;height:auto;display:block}@media (width>=700px){.page--about .about-binary-rain,.page--home .about-binary-rain,.page--services .about-binary-rain,.page--projects .about-binary-rain,.page--contact .about-binary-rain{inset:calc(var(--header-links-offset) + var(--space-6)) 0 auto 0}.page--about .about-binary-rain__lane,.page--home .about-binary-rain__lane,.page--services .about-binary-rain__lane,.page--projects .about-binary-rain__lane,.page--contact .about-binary-rain__lane{width:clamp(4rem,8vw,6.5rem)}.about-intro__grid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}.about-intro__photo-wrap{max-width:24.5rem}.about-intro__photo-accent{inset:auto auto 1.25rem -1rem}}@media (width>=760px){.page--about .about-binary-rain__lane--left,.page--home .about-binary-rain__lane--left,.page--services .about-binary-rain__lane--left,.page--projects .about-binary-rain__lane--left,.page--contact .about-binary-rain__lane--left{left:clamp(.5rem,3vw,2rem)}.page--about .about-binary-rain__lane--right,.page--home .about-binary-rain__lane--right,.page--services .about-binary-rain__lane--right,.page--projects .about-binary-rain__lane--right,.page--contact .about-binary-rain__lane--right{right:clamp(.5rem,3vw,2rem)}.about-focus__top{gap:var(--space-6);grid-template-columns:minmax(0,1fr) clamp(8rem,14vw,11rem)}.about-focus__brand-mark{justify-content:flex-end;display:flex}}@media (width>=1024px){.page--about .about-binary-rain,.page--home .about-binary-rain,.page--services .about-binary-rain,.page--projects .about-binary-rain,.page--contact .about-binary-rain{height:min(19rem,36vh)}.page--about .about-binary-rain__lane--left,.page--home .about-binary-rain__lane--left,.page--services .about-binary-rain__lane--left,.page--projects .about-binary-rain__lane--left,.page--contact .about-binary-rain__lane--left{left:clamp(1rem,5vw,4rem)}.page--about .about-binary-rain__lane--right,.page--home .about-binary-rain__lane--right,.page--services .about-binary-rain__lane--right,.page--projects .about-binary-rain__lane--right,.page--contact .about-binary-rain__lane--right{right:clamp(1rem,5vw,4rem)}.about-intro__photo-wrap{max-width:25.5rem}.about-intro__photo-frame{padding:var(--space-4)}.about-intro__photo-surface{padding:var(--space-3)}.about-focus__top{gap:var(--space-7);grid-template-columns:minmax(0,1fr) clamp(10rem,19vw,13rem)}.about-focus__brand-mark img{opacity:.2}}@media (prefers-reduced-motion:reduce){.page--about .about-binary-rain,.page--home .about-binary-rain,.page--services .about-binary-rain,.page--projects .about-binary-rain,.page--contact .about-binary-rain{display:none}.page--about .about-binary-rain__stream,.page--home .about-binary-rain__stream,.page--services .about-binary-rain__stream,.page--projects .about-binary-rain__stream,.page--contact .about-binary-rain__stream{transition:none;animation:none}}.contact__list{gap:var(--space-4);font-size:var(--fs-4);display:grid}.contact__item{gap:var(--space-1);display:grid}.contact__label{color:var(--color-text-muted);font-size:var(--fs-3);font-weight:var(--fw-medium);line-height:var(--lh-base)}.contact__value{color:var(--color-text);font-weight:var(--fw-semibold);line-height:var(--lh-base);text-wrap:pretty;text-decoration:none}.contact__value--muted{font-weight:var(--fw-medium)}.contact__value[href]:focus-visible{color:var(--color-primary)}@media (hover:hover) and (pointer:fine){.contact__value[href]:hover{color:var(--color-primary)}}.contact__actions{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.contact__action{justify-content:center;align-items:center;gap:var(--space-2);min-width:120px;min-height:3rem;padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-btn);background:color-mix(in srgb, var(--color-surface) 88%, transparent);color:var(--color-text);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex}.contact__action-icon{opacity:.88;flex-shrink:0}.contact__action-text{font-size:var(--fs-3);font-weight:var(--fw-semibold);line-height:var(--lh-flat);white-space:nowrap}.contact__action:focus-visible{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent), var(--shadow-sm);outline:none}.contact__action:active{box-shadow:var(--shadow-sm);transform:translateY(1px)scale(.985)}@media (hover:hover) and (pointer:fine){.contact__action:hover{border-color:color-mix(in srgb, var(--color-border) 88%, var(--color-text-muted));background:color-mix(in srgb, var(--color-surface) 94%, var(--color-text-muted));box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.contact__form-card{padding:var(--space-6)}.contact-form{gap:var(--space-5);margin-top:var(--space-5);display:grid}.form__summary{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));color:var(--color-text);display:grid}.form__summary p,.form__summary ul{margin:0}.form__summary ul{padding-left:1.2rem}.form__summary a{color:inherit}.form__field{gap:var(--space-2);display:grid}.form__field--honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form__field--error .form__input,.form__field--error .form__textarea{border-color:color-mix(in srgb, var(--color-primary) 24%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 8%, transparent)}.form__label{font-size:var(--fs-3);font-weight:var(--fw-medium);color:var(--color-text-muted)}.form__input,.form__textarea{border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 94%, transparent);width:100%;color:var(--color-text);padding:var(--space-3) var(--space-5);font:inherit;line-height:var(--lh-base);transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);appearance:none;box-shadow:inset 0 1px #ffffff0a}.form__textarea{resize:vertical;min-height:10rem;font-size:var(--fs-4)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-muted);opacity:.8;font-size:var(--fs-4)}.form__input:focus,.form__textarea:focus{outline:none}.form__input:focus-visible,.form__textarea:focus-visible{border-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-border));background:var(--color-surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.contact-form__actions{gap:var(--space-3);margin-top:var(--space-2);align-items:start;display:grid}.contact-form__actions .button{justify-self:center;width:280px;min-height:42px}.contact-form__actions .button[disabled]{opacity:.7;cursor:wait}.form__error{font-size:var(--fs-2);color:var(--color-primary)}.form__message{font-size:var(--fs-3);color:var(--color-text-muted)}.form__message[data-state=pending]{color:var(--color-text-muted)}.form__message[data-state=success]{color:var(--color-text)}.form__message[data-state=error]{color:var(--color-primary)}@media (hover:hover) and (pointer:fine){.form__input:hover,.form__textarea:hover{border-color:color-mix(in srgb, var(--color-border) 72%, var(--color-text-muted));background:color-mix(in srgb, var(--color-surface) 98%, transparent)}}.contact__map-card{min-height:320px;padding:0;overflow:hidden}.contact__map{border:0;width:100%;height:100%;min-height:320px;display:block}.contact__details{gap:var(--space-4);align-content:center;display:grid}.contact__details .section__title{margin-bottom:var(--space-4)}.contact__details .section__subtitle{max-width:52ch}.contact__details-actions{justify-content:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.contact__details-actions .button{flex:0 0 240px}@media (width>=760px){.contact__map-card{min-height:100%}}.page--services .page-hero:before{opacity:.24;width:18rem;top:-8rem;right:-8rem}.page--services .services-hero{gap:var(--space-7);align-items:center;display:grid}.page--services .services-hero__media{justify-content:center;display:flex}.page--services .services-hero__preview{gap:var(--space-3);width:min(100%,34rem);padding:clamp(var(--space-3), 1.5vw, var(--space-5));border:1px solid color-mix(in srgb, var(--color-border) 80%, transparent);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 82%, transparent) 100%);box-shadow:var(--shadow-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page--services .services-hero__card{gap:var(--space-3);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 92%, transparent);box-shadow:var(--shadow-sm);display:grid}.page--services .services-hero__card img{border-radius:calc(var(--radius-md) - 4px);background:color-mix(in srgb, var(--color-surface-alt) 76%, transparent);width:100%;height:auto;display:block}.page--services .services-hero__label{color:var(--color-text);font-size:var(--fs-3);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0}.service-detail{border-top:1px solid color-mix(in srgb, var(--color-border) 72%, transparent)}.service-detail__content{min-width:0}.page--services .section__subtitle{max-width:60ch}.page--services .services-overview__header{margin-bottom:var(--space-7)}.page--services .services-overview__grid{row-gap:var(--space-6)}.service-detail__text{gap:var(--space-3);max-width:62ch;font-size:var(--fs-5);display:grid}.service-detail__text p{color:var(--color-text);opacity:.96}.page--services .service-detail__content .section__header{margin-bottom:var(--space-5)}.page--services .actions{margin-top:var(--space-6)}.page--services .actions .button{flex:0 0 240px}.service-detail__aside{min-width:0}.service-detail__panel{gap:var(--space-3);padding:var(--space-5);border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface-alt) 72%, transparent);box-shadow:var(--shadow-sm);display:grid}.service-detail__group{gap:var(--space-3);display:grid}.service-detail__group+.service-detail__group{padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--color-border) 72%, transparent)}.service-detail__subtitle{font-size:var(--fs-3);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--ls-wide)}.service-detail__list{gap:var(--space-2);color:var(--color-text);font-size:var(--fs-4);margin:0;padding-left:0;list-style:none;display:grid}.service-detail__list li{padding-left:var(--space-4);margin:0;position:relative}.service-detail__list li:before{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text) 72%, transparent);width:.28rem;height:.28rem;position:absolute;top:.72em;left:0}.service-detail__note{color:var(--color-text);font-size:var(--fs-4);opacity:.92;margin:0}.service-detail{--service-glow-size:14rem;--service-glow-offset:-55%;--service-glow-top:4rem;position:relative;overflow:visible}.service-detail:before{content:"";top:var(--service-glow-top);width:var(--service-glow-size);height:var(--service-glow-size);transform:translateX(var(--service-glow-offset));background:radial-gradient(circle at 30% 50%, color-mix(in srgb, var(--color-primary) 36%, transparent) 0%, transparent 54%);opacity:.6;filter:blur(24px);pointer-events:none;z-index:-1;position:absolute;left:0}@media (width>=900px){.service-detail__aside{top:var(--header-links-offset-shrink);position:sticky}.service-detail--reverse .service-detail__content{order:2}.service-detail--reverse .service-detail__aside{order:1}}@media (width>=760px){.page--services .services-hero{gap:var(--space-8);grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr)}.page--services .services-hero__media{justify-content:flex-end}}@media (width>=1024px){.page--services .services-hero{grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr)}.page--services .services-hero__preview{gap:var(--space-4);width:min(100%,33rem)}}.page--services .service-card__jump{top:var(--space-5);right:var(--space-5);width:var(--space-7);height:var(--space-7);border-radius:var(--radius-md);color:var(--color-text-muted);opacity:.18;transition:opacity var(--transition-base), transform var(--transition-base), color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);z-index:2;background:0 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;transform:translateY(-.125rem)}.page--services .service-card__jump svg{width:var(--space-4);height:var(--space-4)}.page--services .service-card:hover .service-card__jump,.page--services .service-card:focus-within .service-card__jump{opacity:.62;transform:translateY(0)}.page--services .service-card__jump:hover,.page--services .service-card__jump:focus-visible{opacity:1;color:var(--color-text);border-color:color-mix(in srgb, var(--color-primary) 32%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 92%, transparent)}.page--services .service-detail{scroll-margin-top:var(--space-8)}.page--projects{--projects-archive-grid-max:min(var(--container-lg), calc(var(--container) + 10rem))}.page--projects .section__header{max-width:46rem}.page--projects .projects-archive{padding-top:var(--space-8)}.projects-archive__grid-wrap{width:min(100% - 2rem, var(--projects-archive-grid-max));margin-inline:auto;margin-top:0}.projects-archive__grid{grid-template-columns:1fr}@media (width>=760px){.projects-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.projects-archive__grid{gap:var(--space-7);grid-template-columns:repeat(3,minmax(0,1fr))}}.project-filters{justify-content:center;gap:var(--space-1) var(--space-6);margin:0 auto var(--space-8);padding:var(--space-3);border:1px solid color-mix(in srgb, var(--color-border) 30%, transparent);border-radius:var(--radius-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 32%, transparent), color-mix(in srgb, var(--color-surface-alt) 78%, transparent));box-shadow:0 10px 30px color-mix(in srgb, var(--color-shadow) 10%, transparent), inset 0 1px 0 #ffffff1a;-webkit-backdrop-filter:blur(10px);flex-wrap:wrap;display:flex}.filter-button{min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);width:148px;color:var(--color-text);font:inherit;font-size:var(--fs-2);font-weight:var(--fw-semibold);line-height:var(--lh-flat);letter-spacing:var(--ls-wide);text-transform:none;cursor:pointer;transition:background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base), transform var(--transition-fast), box-shadow var(--transition-base);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.filter-button:is(.is-active,[aria-pressed=true]){border-color:color-mix(in srgb, var(--color-primary) 10%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));box-shadow:0 8px 20px color-mix(in srgb, var(--color-primary) 12%, transparent), inset 0 1px 0 #ffffff1a}.filter-button:focus-visible{border-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent), 0 8px 20px color-mix(in srgb, var(--color-primary) 10%, transparent);outline:none}@media (hover:hover) and (pointer:fine){.filter-button:hover{border-color:color-mix(in srgb, var(--color-primary) 22%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 72%, transparent);transform:translateY(-1px)}}.projects-archive .work-card{height:100%}.service{--websites-glow-offset:-10%;position:relative}.service:before{content:"";border-radius:var(--radius-pill);width:16rem;height:16rem;transform:translateX(var(--websites-glow-offset));background:radial-gradient(circle at 10% 50%, color-mix(in srgb, var(--color-primary) 76%, transparent) 0%, transparent 34%);opacity:.8;filter:blur(24px);pointer-events:none;z-index:-1;position:absolute;top:0;left:-80px}.page--service .section__header{max-width:58rem}.page--service .section__subtitle{max-width:42rem}.service__intro-text{gap:var(--space-4);max-width:68ch;font-size:var(--fs-4);display:grid}.service__intro-text p{color:var(--color-text);font-weight:var(--fw-regular)}.service-detail__content .actions .button{flex:0 0 220px}.page--service .service-detail__panel{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 78%, transparent), color-mix(in srgb, var(--color-surface) 96%, transparent)), var(--color-surface)}.service__cards{align-items:stretch}.service__card,.service__factor-card,.service__pricing-card{height:100%}.service__card{position:relative}.service__card-label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.service--surface{background:color-mix(in srgb, var(--color-surface) 76%, transparent);border-block:1px solid color-mix(in srgb, var(--color-border) 72%, transparent)}.service__pricing{align-items:stretch}.service__pricing-card{background:color-mix(in srgb, var(--color-surface-alt) 82%, transparent);justify-content:start}.service__price-kicker,.service__result-label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--fw-semibold)}.service__result-label{color:var(--color-primary)}.service__price-value{font-size:var(--fs-9);line-height:var(--lh-flat);letter-spacing:var(--ls-tight);color:var(--color-text);font-weight:var(--fw-semibold)}.service__pricing-note{margin:var(--space-6) 0 0;max-width:70ch;color:var(--color-text-muted);font-size:var(--fs-4)}.service__benefits-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.service__benefits-list li{padding:var(--space-4) var(--space-5) var(--space-4) calc(var(--space-6) + var(--space-4));border:1px solid color-mix(in srgb, var(--color-border) 78%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 90%, transparent);color:var(--color-text);box-shadow:var(--shadow-sm);font-size:var(--fs-4);position:relative}.service__benefits-list li:before{content:"";left:var(--space-5);width:var(--space-3);height:var(--space-1);border-radius:var(--radius-pill);background:var(--color-primary);position:absolute;top:50%;transform:translateY(-50%)}.service__result-card{position:relative;overflow:hidden}.service__result-card:before{content:"";pointer-events:none;background:radial-gradient(220px 120px at 100% 0%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 60%);position:absolute;inset:0}.service__faq{gap:var(--space-5);display:grid}.service__faq-item{gap:var(--space-4)}.service__faq-item summary{list-style:none}.service__faq-item summary::-webkit-details-marker{display:none}.service__faq-question{padding-right:var(--space-8);font-size:var(--fs-5);font-weight:var(--fw-semibold);color:var(--color-text);cursor:pointer;position:relative}.service__faq-question:after{content:"+";font-size:var(--fs-6);line-height:var(--lh-flat);color:var(--color-primary);position:absolute;top:50%;right:0;transform:translateY(-50%)}.service__faq-item[open] .service__faq-question:after{content:"−"}.service__faq-answer{color:var(--color-text-muted);max-width:64ch;font-size:var(--fs-5);font-weight:var(--fw-regular);margin:0}.page--case-study .section__header{max-width:58rem}.page--case-study .section__subtitle{max-width:60ch}.vault-overview__shell{gap:var(--space-7);display:grid}.vault-overview__intro{gap:var(--space-6);display:grid}.vault-overview__header{margin-bottom:0}.vault-overview__meta{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 78%, transparent), color-mix(in srgb, var(--color-surface) 96%, transparent));align-content:start}.vault-overview__meta-label,.vault-status__label,.vault-solution__panel-label,.vault-module__label,.vault-layer__index,.vault-relationship__label,.vault-roadmap__phase{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.vault-overview__meta-value{font-size:var(--fs-7);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--color-text);font-weight:var(--fw-semibold);margin:0}.vault-status{gap:var(--space-4);display:grid}.vault-status__item{gap:var(--space-4);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, transparent), color-mix(in srgb, var(--color-surface-alt) 72%, transparent));border-color:color-mix(in srgb, var(--color-border) 76%, transparent);align-content:start}.vault-status__item .card__title{font-size:var(--fs-6);max-width:22ch}.vault-status__item .card__meta{max-width:34ch}.page--case-study .case-study .pill-grid{gap:var(--space-3);margin:0}.vault-problem__card,.vault-module,.vault-audience,.vault-layer,.vault-relationship__card,.vault-roadmap__item{height:100%}.vault-solution__grid{gap:var(--space-7);align-items:start;display:grid}.vault-solution__content{margin-bottom:0}.vault-solution__list{max-width:68ch}.vault-solution__panel{gap:var(--space-5);background:color-mix(in srgb, var(--color-surface) 94%, transparent);position:relative;overflow:hidden}.vault-solution__panel:before,.vault-roadmap__item:before,.vault-relationship__card:before{content:"";pointer-events:none;background:radial-gradient(240px 160px at 100% 0%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 65%);position:absolute;inset:0}.vault-solution__metrics{gap:var(--space-4);display:grid}.vault-solution__metric{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);display:grid}.vault-solution__metric:first-child{border-top:none;padding-top:0}.vault-solution__metric strong{font-size:var(--fs-6);line-height:var(--lh-flat);color:var(--color-text)}.vault-solution__metric span{color:var(--color-text-muted);font-size:var(--fs-4)}.vault-layers,.vault-roadmap__stack{gap:var(--space-5);display:grid}.vault-layer{padding-left:calc(var(--space-6) + var(--space-3));position:relative}.vault-layer:before{content:"";left:var(--space-5);top:var(--space-6);bottom:var(--space-6);background:linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 45%, transparent), color-mix(in srgb, var(--color-border) 42%, transparent));width:1px;position:absolute}.vault-relationship__grid{align-items:stretch}.vault-relationship__card,.vault-roadmap__item,.vault-cta{position:relative;overflow:hidden}.vault-cta:before{content:"";border-radius:var(--radius-pill);background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 10%, transparent) 0%, transparent 72%);opacity:.6;pointer-events:none;width:18rem;height:18rem;position:absolute;inset:auto auto -20% -10%}@media (width>=760px){.vault-overview__intro,.vault-solution__grid{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}.vault-status{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.vault-overview__shell{gap:var(--space-8)}.vault-layers{grid-template-columns:repeat(2,minmax(0,1fr))}}.page--ecosystem .section__header{max-width:58rem}.page--ecosystem .section__subtitle{max-width:60ch}.ecosystem-intro__shell{gap:var(--space-7);display:grid}.ecosystem-intro__grid,.ecosystem-why__grid,.ecosystem-vision__grid{gap:var(--space-7);align-items:start;display:grid}.ecosystem-intro__header,.ecosystem-why__content,.ecosystem-vision__content{margin-bottom:0}.ecosystem-intro__panel,.ecosystem-why__panel,.ecosystem-vision__panel{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 78%, transparent), color-mix(in srgb, var(--color-surface) 96%, transparent));align-content:start;position:relative;overflow:hidden}.ecosystem-intro__panel:before,.ecosystem-why__panel:before,.ecosystem-vision__panel:before,.ecosystem-branch:before,.ecosystem-future__item:before{content:"";pointer-events:none;background:radial-gradient(240px 160px at 100% 0%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 65%);position:absolute;inset:0}.ecosystem-intro__label,.ecosystem-why__label,.ecosystem-pillar__label,.ecosystem-branch__label,.ecosystem-vision__label,.ecosystem-future__label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.ecosystem-intro__value{font-size:var(--fs-7);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--color-text);font-weight:var(--fw-semibold);margin:0}.page--ecosystem .case-study .pill-grid{gap:var(--space-3);margin:0}.ecosystem-direction__card,.ecosystem-pillar,.ecosystem-branch,.ecosystem-value__card,.ecosystem-future__item{height:100%}.ecosystem-why__list{max-width:64ch}.ecosystem-branches__grid{align-items:stretch}.ecosystem-branch,.ecosystem-future__item{position:relative;overflow:hidden}.ecosystem-vision__points,.ecosystem-future__stack{gap:var(--space-4);display:grid}.ecosystem-vision__point{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);display:grid}.ecosystem-vision__point:first-child{border-top:none;padding-top:0}.ecosystem-vision__point strong{font-size:var(--fs-6);line-height:var(--lh-flat);color:var(--color-text)}.ecosystem-vision__point span{color:var(--color-text-muted);font-size:var(--fs-4)}.ecosystem-cta{position:relative;overflow:hidden}.ecosystem-cta:before{content:"";border-radius:var(--radius-pill);background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 10%, transparent) 0%, transparent 72%);opacity:.6;pointer-events:none;width:18rem;height:18rem;position:absolute;inset:auto -12% -24% auto}@media (width>=760px){.ecosystem-intro__grid,.ecosystem-why__grid,.ecosystem-vision__grid{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}}@media (width>=900px){.ecosystem-intro__shell{gap:var(--space-8)}.ecosystem-future__stack{grid-template-columns:repeat(3,minmax(0,1fr))}}.page--legal .page-hero__content{max-width:64rem}.page--legal .page-hero__title{max-width:20ch}.page--legal .page-hero__lead{max-width:60ch}.page--legal .section__title{max-width:34ch}.page--legal .section__subtitle{max-width:64ch}.legal-intro__panel,.legal-toc,.legal-section,.legal-note__panel{position:relative;overflow:hidden}.legal-intro__panel:before,.legal-toc:before,.legal-note__panel:before{content:"";pointer-events:none;background:radial-gradient(240px 160px at 100% 0%, color-mix(in srgb, var(--color-primary) 8%, transparent), transparent 65%);position:absolute;inset:0}.legal-intro__header,.legal-toc__header{margin-bottom:0}.legal-intro__note,.legal-note__meta{max-width:72ch;color:var(--color-text-muted);font-size:var(--fs-4);margin:0}.legal-content{padding-top:0}.legal-content__stack{gap:var(--space-6);display:grid}.legal-toc__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.legal-toc__list li{margin:0}.legal-toc__list a{min-height:2.5rem;color:var(--color-text);font-size:var(--fs-4);font-weight:var(--fw-medium);transition:color var(--transition-fast), transform var(--transition-fast);align-items:center;text-decoration:none;display:inline-flex}.legal-toc__list a:before{content:"";width:.5rem;height:1px;margin-right:var(--space-4);background:color-mix(in srgb, var(--color-primary) 48%, transparent);transition:width var(--transition-fast), background-color var(--transition-fast)}.legal-toc__list a:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 30%, transparent);outline-offset:4px;border-radius:var(--radius-xs)}.legal-section{gap:var(--space-5)}.legal-section__kicker{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.legal-section__title{font-size:var(--fs-7);letter-spacing:var(--ls-tight);margin:0}.legal-section__body{gap:var(--space-4);max-width:72ch;display:grid}.legal-section__body p{color:var(--color-text);font-size:var(--fs-4);margin:0}.legal-section__body a,.legal-note__meta a{color:var(--color-text);text-underline-offset:.18em;text-decoration-thickness:1px}.legal-list{gap:var(--space-3);color:var(--color-text);font-size:var(--fs-4);margin:0;padding-left:1.2rem;display:grid}.legal-list li{padding-left:var(--space-2)}.legal-backlink{align-items:center;gap:var(--space-3);width:fit-content;min-height:2rem;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--fs-3);font-weight:var(--fw-medium);transition:color var(--transition-fast), transform var(--transition-fast);text-decoration:none;display:inline-flex}.legal-backlink:before{content:"↑";font-size:var(--fs-4);color:color-mix(in srgb, var(--color-primary) 68%, var(--color-text-muted));line-height:1}.legal-backlink:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 28%, transparent);outline-offset:4px;border-radius:var(--radius-xs)}@media (hover:hover) and (pointer:fine){.legal-toc__list a:hover,.legal-backlink:hover{color:var(--color-text);transform:translateY(-1px)}.legal-toc__list a:hover:before{background:color-mix(in srgb, var(--color-primary) 78%, transparent);width:.9rem}}@media (width>=900px){.legal-content__stack{gap:var(--space-7)}}.cookies-intro__panel .legal-intro__note a,.cookies-note__panel .legal-note__meta a,.page--legal .legal-section__body code{color:var(--color-text)}.page--legal .legal-section__body code{min-height:1.5rem;padding:0 var(--space-2);border:1px solid color-mix(in srgb, var(--color-border) 72%, transparent);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--color-surface-alt) 82%, transparent);font-size:var(--fs-3);align-items:center;display:inline-flex}.privacy-intro__panel .legal-intro__note a,.privacy-note__panel .legal-note__meta a{color:var(--color-text)}.page--project-detail .page-hero__layout{gap:var(--space-6);align-items:center;display:grid}.page--project-detail .page-hero__media{justify-content:center;display:flex}.project-hero-preview{width:min(100%,34rem);padding:var(--space-2);border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:calc(var(--radius-lg) + 2px);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 96%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 88%, transparent) 100%);box-shadow:0 18px 40px color-mix(in srgb, var(--color-shadow) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-surface) 84%, transparent);margin:0}.project-hero-preview__surface{border-radius:var(--radius-lg);padding:var(--space-1);border:1px solid color-mix(in srgb, var(--color-border) 32%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 98%, transparent) 0%, color-mix(in srgb, var(--color-surface-alt) 92%, transparent) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-surface) 82%, transparent), 0 10px 24px color-mix(in srgb, var(--color-shadow) 10%, transparent);position:relative;overflow:hidden}.project-hero-preview__surface:before{content:"";pointer-events:none;opacity:.6;background:linear-gradient(#ffffff24 0%,#0000 30%);position:absolute;inset:0}.project-hero-preview picture,.project-hero-preview img{width:100%;display:block}.project-hero-preview img{border-radius:calc(var(--radius-md) + 2px);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);height:auto;box-shadow:0 18px 32px color-mix(in srgb, var(--color-shadow) 14%, transparent)}.project-overview__grid,.project-stack__grid{gap:var(--space-7);align-items:start;display:grid}.project-overview__copy{gap:var(--space-5);display:grid}.project-overview__copy>p,.project-stack__intro>p{color:var(--color-text);font-size:var(--fs-4);margin:0}.project-overview__panel,.project-stack__panel,.project-cta__shell{position:relative;overflow:hidden}.project-overview__panel:before,.project-stack__panel:before,.project-cta__shell:before{content:"";pointer-events:none;background:radial-gradient(240px 140px at 100% 0%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 65%);position:absolute;inset:0}.project-meta{gap:var(--space-5);display:grid}.project-meta__group{gap:var(--space-2);display:grid}.project-meta__label,.project-highlights__index,.project-stack__label{font-size:var(--fs-2);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-primary);font-weight:var(--fw-semibold);margin:0}.project-meta__value{color:var(--color-text);font-size:var(--fs-6);line-height:var(--lh-tight);font-weight:var(--fw-semibold);margin:0}.project-meta__note{color:var(--color-text-muted);font-size:var(--fs-3);margin:0}.project-highlights{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 82%, transparent), color-mix(in srgb, var(--color-surface-alt) 62%, transparent));border-block:1px solid color-mix(in srgb, var(--color-border) 72%, transparent)}.project-highlights__card{gap:var(--space-4);height:100%}.project-highlights__title{font-size:var(--fs-6);color:var(--color-text);margin:0}.project-highlights__card .card__meta{margin:0}.project-stack__intro,.project-stack__list{gap:var(--space-4);display:grid}.project-stack__item{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb, var(--color-border) 76%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 86%, transparent);display:grid}.project-stack__value{color:var(--color-text);font-size:var(--fs-5);font-weight:var(--fw-semibold);margin:0}.project-stack__desc{color:var(--color-text-muted);font-size:var(--fs-3);margin:0}.project-visual__frame{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.project-mockups{gap:var(--space-5);place-items:end center;display:grid}.project-mockups--trio{gap:var(--space-5);grid-template-columns:1fr;justify-items:center;width:100%}.project-mockups__item{gap:var(--space-3);align-content:start;min-width:0;display:grid}.project-mockups__item--mobile{max-width:500px}.project-mockups__item--tablet{max-width:520px}.project-mockups__item--desktop{justify-self:center;max-width:780px}.project-mockups__media{min-width:0;display:block;overflow:visible}.project-mockups__media>picture,.project-mockups__media>img,.project-mockups__media>picture img,.project-mockups__media>img{width:100%;height:auto;display:block}.project-cta__shell{gap:var(--space-6);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface-alt) 76%, transparent), color-mix(in srgb, var(--color-surface) 96%, transparent)), var(--color-surface);display:grid}.project-cta__shell .section__header{max-width:44rem;margin-bottom:0}.project-cta__actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.project-cta__actions .button{flex:0 0 220px;min-height:46px}@media (width>=760px){.page--project-detail .page-hero__layout{gap:var(--space-8);grid-template-columns:minmax(0,1.12fr) minmax(18rem,.88fr)}.page--project-detail .page-hero__media{justify-content:flex-end}.project-overview__grid,.project-stack__grid{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}.project-cta__shell{grid-template-columns:minmax(0,1fr) auto;align-items:end}.project-cta__actions{justify-content:flex-end}}@media (width>=1024px){.page--project-detail .page-hero__layout{grid-template-columns:minmax(0,1.18fr) minmax(20rem,.82fr)}.project-hero-preview{width:min(100%,35rem)}.project-mockups--trio{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-mockups--trio .project-mockups__item:nth-child(3){grid-column:1/-1;justify-self:center;width:min(100%,780px)}}@media (width<=639px){.project-cta__actions .button{flex-basis:100%}}