@layer reset,tokens,base,layout,components,sections,pages,utilities,overrides;@font-face{font-family: 'Bricolage Grotesque';font-style: normal;font-weight: 400 800;font-stretch: 75% 100%;font-display: swap;src: url("fonts/5207f422-2f16-4134-8456-9aa93e768902.woff2") format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family: 'Bricolage Grotesque';font-style: normal;font-weight: 400 800;font-stretch: 75% 100%;font-display: swap;src: url("fonts/65f449ff-9a88-43d7-af50-b56aefdfc312.woff2") format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family: 'Manrope';font-style: normal;font-weight: 400 600;font-display: swap;src: url("fonts/ee2a2dca-fbf1-446d-bf7c-2877d9469c8a.woff2") format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family: 'Space Mono';font-style: normal;font-weight: 400;font-display: swap;src: url("fonts/a9349437-0b0a-40a3-81f1-d2e12af809ef.woff2") format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family: 'Space Mono';font-style: normal;font-weight: 700;font-display: swap;src: url("fonts/43a0db50-0231-41d5-aa33-61240eeb7aee.woff2") format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@layer tokens{:root{--sand-50: #F8F6F1;--sand-100: #F3F1EC;--sand-200: #ECE8E0;--sand-300: #D9D5CC;--navy-950: #0A101F;--navy-900: #0F1729;--navy-850: #141E35;--navy-800: #1A2540;--navy-750: #263456;--navy-700: #2C3853;--slate-600: #5A6178;--slate-550: #636B85;--slate-500: #64708E;--slate-450: #7F88A0;--slate-400: #8A8F9C;--slate-350: #8C95AC;--slate-300: #A7AEC0;--blue-700: #3D5BA9;--blue-500: #5B7FD6;--blue-300: #8CA5E2;--blue-250: #9DB2EA;--blue-200: #A0B5E7;--blue-150: #A5B9E8;--coral-200: #FFB4A8;--amber-200: #FFE08A;--amber-800: #8A6A00;--white: #FFFFFF;color-scheme: light;--color-bg: var(--sand-100);--color-ink: var(--navy-800);--color-muted: var(--slate-600);--color-dim: var(--slate-550);--color-line: var(--sand-300);--color-card: var(--sand-50);--color-chip: rgba(26,37,64,0.05);--color-btn: var(--navy-800);--color-btn-fg: var(--sand-100);--color-btn-hover: var(--navy-750);--color-track: rgba(26,37,64,0.15);--color-overlay: var(--sand-200);--color-nav-bar: rgba(243,241,236,0.9);--color-accent: var(--blue-500);--color-accent-light: var(--blue-250);--color-accent-soft: var(--blue-300);--color-accent-soft-navy: var(--blue-150);--color-accent-text: var(--blue-700);--color-focus: var(--blue-700);--color-on-accent: var(--white);--color-navy: var(--navy-900);--color-navy-card: var(--navy-850);--color-navy-panel: rgba(22,32,56,0.55);--color-navy-line: var(--navy-700);--color-navy-field: var(--slate-500);--color-navy-muted: var(--slate-300);--color-navy-dim: var(--slate-450);--color-navy-fg: var(--sand-200);--color-navy-inverse: var(--sand-200);--color-navy-inverse-fg: var(--navy-900);--color-navy-inverse-hover: var(--white);--color-navy-status: rgba(236,232,224,0.06);--color-error-navy: var(--coral-200);--color-error-navy-soft: rgba(255,180,168,0.08);--color-todo: var(--amber-200);--color-todo-ink: var(--navy-800);--color-todo-line: var(--amber-800);--font-sans: 'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--font-display: 'Bricolage Grotesque','Arial Narrow',sans-serif;--font-mono: 'Space Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--text-label: var(--text-xs);--text-mono: var(--text-xs);--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-base: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-lead-sm: clamp(16px,1.2vw,18px);--text-lead: clamp(17px,1.6vw,22px);--text-title-xs: clamp(20px,2vw,30px);--text-title-sm: clamp(24px,2.6vw,38px);--text-title: clamp(30px,3.6vw,52px);--text-title-lg: clamp(34px,4.8vw,72px);--text-title-xl: clamp(40px,5vw,76px);--text-display: clamp(42px,7vw,112px);--text-display-xl: clamp(46px,9vw,136px);--content-max: 1440px;--pad-x: clamp(20px,5vw,72px);--space-section: clamp(88px,10vw,152px);--space-section-top: var(--space-fluid-2xl);--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--space-fluid-xs: clamp(12px,1.5vw,20px);--space-fluid-s: clamp(20px,2.5vw,32px);--space-fluid-m: clamp(24px,3vw,48px);--space-fluid-l: clamp(32px,4vw,56px);--space-fluid-xl: clamp(40px,5vw,88px);--space-fluid-2xl: clamp(56px,7vw,104px);--space-fluid-3xl: clamp(80px,10vw,140px);--space-vh-xs: clamp(10px,2vh,18px);--space-vh-s: clamp(18px,2.6vh,28px);--space-vh-m: clamp(56px,7vh,96px);--space-vh-l: clamp(48px,10vh,120px);--space-vh-xl: clamp(96px,10vh,120px);--space-inset-media: clamp(12px,3%,32px);--space-hero-footer: 150px;--header-h: 82px;--header-float-h: 64px;--case-topbar-h: 65px;--case-sticky-top: 104px;--radius-pill: 999px;--radius-card: 20px;--radius-card-lg: 24px;--z-sticky: 10;--z-header: 60;--z-fab: 65;--z-menu: 95;--z-dev: 200;--z-progress: 999;--z-skip: 1000;--z-curtain: 1100;--ease-out: cubic-bezier(0.2,0.7,0.2,1);--ease-in-out: cubic-bezier(0.6,0,0.2,1);--ease-menu: cubic-bezier(0.76,0,0.24,1);--dur-theme: 700ms;--trans-theme: background-color var(--dur-theme) ease,color var(--dur-theme) ease,border-color var(--dur-theme) ease;--shadow-float: 0 10px 30px rgba(15,23,41,0.22);}[data-theme="dark"]{color-scheme: dark;--color-bg: var(--navy-900);--color-ink: var(--sand-200);--color-muted: var(--slate-300);--color-dim: var(--slate-350);--color-line: var(--navy-700);--color-card: var(--navy-850);--color-chip: rgba(236,232,224,0.07);--color-btn: var(--sand-200);--color-btn-fg: var(--navy-900);--color-btn-hover: var(--white);--color-track: rgba(236,232,224,0.15);--color-overlay: var(--navy-950);--color-nav-bar: rgba(15,23,41,0.9);--color-accent-soft: var(--blue-200);--color-accent-text: var(--blue-250);--color-focus: var(--blue-250);--color-navy: var(--navy-950);}@media (max-width: 1099px){:root{--header-h: 92px;}}@media (prefers-contrast: more){:root{--color-dim: var(--color-muted);--color-line: var(--slate-400);--color-navy-line: var(--color-navy-field);--color-navy-dim: var(--color-navy-muted);}[data-theme="dark"]{--color-line: var(--slate-500);}}}@layer reset{*,*::before,*::after{margin: 0;padding: 0;box-sizing: border-box;}[hidden]{display: none !important;}img{display: block;max-width: 100%;height: auto;}ul,ol{list-style: none;}button{font: inherit;color: inherit;cursor: pointer;border: none;background: none;}input,textarea,select{font: inherit;color: inherit;}}@layer base{html{scroll-behavior: smooth;scroll-padding-top: calc(var(--header-float-h) + var(--space-4));font-size: var(--text-lg);-webkit-text-size-adjust: 100%;}html.menu-open{overflow: hidden;}body{font-family: var(--font-sans);background-color: var(--color-bg);color: var(--color-ink);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;overflow-x: hidden;transition: var(--trans-theme);letter-spacing: -0.01em;line-height: 1.5;}a{color: inherit;text-decoration: none;transition: color 200ms ease;}a:hover{color: var(--color-accent-text);}:focus-visible{outline: 2px solid var(--color-focus);outline-offset: 3px;border-radius: 4px;}[tabindex="-1"]:focus{outline: none;}.skip-link{position: fixed;z-index: var(--z-skip);left: 16px;top: 12px;padding: var(--space-3) var(--space-5);border-radius: var(--radius-pill);background: var(--color-btn);color: var(--color-btn-fg);font-weight: 600;transform: translateY(calc(-100% - 80px));transition: transform 200ms ease;}.skip-link:focus{transform: translateY(0);color: var(--color-btn-fg);}.progress-bar{position: fixed;left: 0;top: 0;height: 2px;width: 0%;z-index: var(--z-progress);background: var(--color-accent);pointer-events: none;}@keyframes mcBlink{0%,49%{opacity: 1;}50%,100%{opacity: 0;}}}@layer base{.type-label{font-family: var(--font-mono);font-size: var(--text-label);letter-spacing: 0.08em;text-transform: uppercase;line-height: 1.5;}.type-mono{font-family: var(--font-mono);font-size: var(--text-mono);}.type-display{font-family: var(--font-display);font-stretch: 84%;font-weight: 800;letter-spacing: -0.02em;line-height: 1.08;}.type-display em{font-style: normal;display: inline-block;transform: skewX(-9deg);}.text-link{text-decoration: underline;text-underline-offset: 3px;text-decoration-thickness: 1px;}}@layer layout{.site-header{position: absolute;top: 0;left: 0;right: 0;z-index: var(--z-header);transition: opacity 700ms ease,transform 900ms var(--ease-out);}.site-header-inner{display: flex;align-items: center;justify-content: space-between;gap: var(--space-5);max-width: var(--content-max);margin: 0 auto;padding: var(--space-6) var(--pad-x);transition: padding 300ms ease;}.site-header.is-floating{position: fixed;background-color: var(--color-nav-bar);backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);border-bottom: 1px solid var(--color-line);transform: translateY(-105%);transition: transform 380ms var(--ease-out),background-color var(--dur-theme) ease;}.site-header.is-floating .site-header-inner{padding-top: var(--space-2-5);padding-bottom: var(--space-2-5);}.site-header.is-floating .menu-burger-btn{width: 44px;height: 44px;}.site-header.is-floating.is-shown,.site-header.is-floating:focus-within{transform: translateY(0);}.site-header.no-anim,.site-header.no-anim .site-header-inner{transition: none;}body:not(.page-home) > main{padding-top: var(--header-h);}.site-logo{display: flex;align-items: baseline;font-size: var(--text-xl);letter-spacing: -0.01em;color: var(--color-ink);user-select: none;}a.site-logo:hover{color: var(--color-accent-text);}.site-logo .brand-name{font-family: var(--font-sans);font-weight: 600;}.site-logo .brand-tld{font-family: var(--font-mono);font-weight: 400;font-size: var(--text-lg);color: var(--color-accent);}.desktop-nav ul{display: flex;gap: var(--space-fluid-s);font-size: var(--text-md);}.desktop-nav a{position: relative;display: inline-block;padding: var(--space-1-5) 0;color: var(--color-muted);}.desktop-nav a:hover,.desktop-nav a.is-current{color: var(--color-ink);}.desktop-nav a.is-current::after{content: "";position: absolute;left: 50%;bottom: -3px;width: 5px;height: 5px;margin-left: -2.5px;border-radius: 50%;background: var(--color-accent);}.header-controls{display: flex;gap: var(--space-2-5);align-items: center;}.header-cta{display: inline-flex;align-items: center;height: 38px;padding: 0 var(--space-5);border-radius: var(--radius-pill);background-color: var(--color-btn);color: var(--color-btn-fg);font-size: var(--text-md);font-weight: 600;white-space: nowrap;transition: background-color 250ms ease;}.header-cta:hover{background-color: var(--color-btn-hover);color: var(--color-btn-fg);}.mobile-controls{display: none;gap: var(--space-2);align-items: center;}.menu-burger-btn{width: 48px;height: 48px;border-radius: 50%;border: 1px solid var(--color-line);background: var(--color-chip);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--space-1);transition: width 300ms ease,height 300ms ease;}.burger-line-1,.burger-line-2{height: 1.5px;background: var(--color-ink);border-radius: 2px;}.burger-line-1{width: 18px;}.burger-line-2{width: 12px;margin-left: var(--space-1-5);}@media (max-width: 1099px){.desktop-nav{display: none;}.header-controls{display: none;}.mobile-controls{display: flex;}.no-js .site-header-inner{flex-wrap: wrap;}.no-js .desktop-nav{display: block;width: 100%;order: 3;}.no-js .desktop-nav ul{flex-wrap: wrap;gap: var(--space-2) var(--space-5);}.no-js .menu-burger-btn{display: none;}}@media (forced-colors: active){.header-cta{border: 1px solid ButtonText;}.desktop-nav a.is-current::after{forced-color-adjust: none;background: CanvasText;}}}@layer layout{.mobile-overlay-menu{position: fixed;inset: 0;z-index: var(--z-menu);background-color: var(--color-bg);color: var(--color-ink);clip-path: circle(0px at var(--menu-x,100%) var(--menu-y,0px));transition: clip-path 560ms var(--ease-menu);display: flex;flex-direction: column;overflow-y: auto;overscroll-behavior: contain;}.mobile-overlay-menu.is-open{clip-path: circle(150vmax at var(--menu-x,100%) var(--menu-y,0px));}.menu-canvas{position: absolute;inset: 0;width: 100%;height: 100%;pointer-events: none;}.menu-top-bar{position: relative;display: flex;justify-content: space-between;align-items: center;padding: var(--space-6) var(--pad-x);}.menu-close-btn{width: 48px;height: 48px;border-radius: 50%;border: 1px solid var(--color-line);display: flex;align-items: center;justify-content: center;transition: transform 700ms var(--ease-out);}.menu-close-btn:hover{transform: rotate(90deg);}.close-cross{position: relative;width: 18px;height: 18px;}.close-cross-line-1,.close-cross-line-2{position: absolute;left: 0;right: 0;top: 8.25px;height: 1.5px;background-color: var(--color-ink);}.close-cross-line-1{transform: rotate(45deg);}.close-cross-line-2{transform: rotate(-45deg);}.menu-nav-links{position: relative;flex: 1;display: flex;flex-direction: column;justify-content: center;padding: 0 var(--pad-x);}.menu-link-item{display: flex;align-items: center;gap: var(--space-4);padding: var(--space-vh-xs) 0;border-bottom: 1px solid var(--color-line);color: var(--color-ink);}.menu-link-item:hover{color: var(--color-accent-text);}.menu-link-num{color: var(--color-muted);width: 24px;}.menu-link-item.is-current .menu-link-num{color: var(--color-accent-text);}.menu-link-label{font-size: var(--text-title-xl);line-height: 1;letter-spacing: -0.025em;display: flex;align-items: center;}.menu-dot{width: 0.17em;height: 0.17em;border-radius: 50%;background-color: var(--color-accent);margin-left: 0.06em;align-self: flex-end;margin-bottom: 0.2em;}.menu-link-arrow{margin-left: auto;font-size: var(--text-2xl);color: var(--color-muted);transform: translateX(-16px);opacity: 0;transition: opacity 400ms ease,transform 600ms var(--ease-out);}.mobile-overlay-menu.is-open .menu-link-arrow{transform: translateX(0);opacity: 1;}.menu-bottom-box{position: relative;display: flex;flex-direction: column;gap: var(--space-5);padding: var(--space-5) var(--pad-x) max(var(--space-6),env(safe-area-inset-bottom));}.menu-cta-pill{display: flex;align-items: center;justify-content: space-between;height: 58px;padding: 0 var(--space-2) 0 var(--space-6);border-radius: var(--radius-pill);background-color: var(--color-ink);color: var(--color-bg);font-size: var(--text-lg);font-weight: 600;}.menu-cta-pill:hover{color: var(--color-bg);}.menu-sub-row{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: var(--space-3);}.menu-controls-group{display: flex;gap: var(--space-2-5);align-items: center;}.menu-mail-link{font-size: var(--text-sm);color: var(--color-muted);padding: var(--space-1-5) 0;overflow-wrap: anywhere;}.menu-mail-link:hover{color: var(--color-accent-text);}@media (pointer: coarse){.menu-mail-link{padding: var(--space-3) 0;}}@media (forced-colors: active){.menu-cta-pill{border: 1px solid ButtonText;}}}@layer layout{.section{position: relative;padding: 0 var(--pad-x) var(--space-section);background-color: var(--color-bg);color: var(--color-ink);transition: var(--trans-theme);}.section-container{max-width: var(--content-max);margin: 0 auto;display: flex;flex-direction: column;gap: var(--space-fluid-xl);}.section-header-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--space-8);align-items: end;}.section-eyebrow{color: var(--color-dim);margin-bottom: var(--space-4);}.section-eyebrow--navy{color: var(--color-navy-dim);}.section-title{font-size: var(--text-title-lg);text-wrap: balance;}.section-title em{color: var(--color-accent);}.section-lead{font-size: var(--text-lead-sm);line-height: 1.55;color: var(--color-muted);max-width: 480px;text-wrap: pretty;}.section-note{margin-top: var(--space-3-5);color: var(--color-dim);}.no-js .section-note{display: none;}@media (max-width: 819px){.section-header-grid{grid-template-columns: 1fr;}}}@layer layout{.site-footer{--color-focus: var(--color-accent-light);background-color: var(--color-navy);color: var(--color-navy-dim);padding: 0 var(--pad-x) max(var(--space-7),env(safe-area-inset-bottom));font-size: var(--text-md);}.site-footer-inner{max-width: var(--content-max);margin: 0 auto;display: flex;flex-wrap: wrap;gap: var(--space-4) var(--space-7);justify-content: space-between;align-items: center;padding-top: var(--space-7);border-top: 1px solid var(--color-navy-line);}.footer-brand{display: flex;align-items: baseline;font-size: var(--text-lg);color: var(--color-navy-fg);}.footer-brand .brand-name{font-weight: 600;}.footer-brand .brand-tld{font-family: var(--font-mono);font-size: var(--text-md);color: var(--color-accent-light);}.footer-links{display: flex;gap: var(--space-2) var(--space-6);flex-wrap: wrap;}.footer-links a{display: inline-block;padding: var(--space-1-5) 0;color: var(--color-navy-muted);}.footer-links a:hover{color: var(--color-navy-fg);}.footer-motion-toggle{display: inline-flex;align-items: center;gap: var(--space-2);padding: var(--space-1-5) 0;color: var(--color-navy-muted);transition: color 200ms ease;}.footer-motion-toggle:hover{color: var(--color-navy-fg);}.no-js .footer-motion{display: none;}.motion-icon{position: relative;width: 14px;height: 14px;flex-shrink: 0;}.motion-icon::before,.motion-icon::after{content: "";position: absolute;top: 2px;width: 3px;height: 10px;border-radius: 1px;background: currentColor;}.motion-icon::before{left: 3px;}.motion-icon::after{left: 8px;}[aria-pressed="true"] > .motion-icon::before{top: 1px;width: 0;height: 0;border-radius: 0;background: none;border-style: solid;border-width: 6px 0 6px 10px;border-color: transparent transparent transparent currentColor;}[aria-pressed="true"] > .motion-icon::after{display: none;}@media (pointer: coarse){.footer-links a,.footer-motion-toggle{padding: var(--space-3) 0;}}}@layer layout{.page-curtain{position: fixed;inset: 0;z-index: var(--z-curtain);display: grid;grid-template-rows: auto 1fr auto;padding: var(--space-fluid-m) var(--pad-x) calc(var(--space-fluid-m) + env(safe-area-inset-bottom,0px));background-color: var(--color-ink);color: var(--color-bg);clip-path: inset(100% 0 0 0);visibility: hidden;pointer-events: none;}.curtain-out .page-curtain,.curtain-in .page-curtain{visibility: visible;}.curtain-in{scroll-behavior: auto;}.curtain-top{font-size: var(--text-sm);opacity: 0.7;}.curtain-body{grid-row: 2;align-self: center;width: 100%;max-width: var(--content-max);margin: 0 auto;padding-bottom: var(--space-vh-l);display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-3);}.curtain-body:not([data-curtain-body="default"]),[data-curtain-target] .curtain-body[data-curtain-body="default"]{display: none;}[data-curtain-target="leistungen"] .curtain-body[data-curtain-body="leistungen"],[data-curtain-target="projekte"] .curtain-body[data-curtain-body="projekte"],[data-curtain-target="ablauf"] .curtain-body[data-curtain-body="ablauf"],[data-curtain-target="studio"] .curtain-body[data-curtain-body="studio"],[data-curtain-target="kontakt"] .curtain-body[data-curtain-body="kontakt"]{display: flex;}.curtain-line-mask,.curtain-word{overflow: hidden;padding-bottom: 0.08em;}.curtain-line-mask > span,.curtain-word > span{display: inline-block;}.curtain-line-mask:has(> :empty){display: none;}.curtain-index{font-size: var(--text-sm);opacity: 0.6;}.curtain-kicker{opacity: 0.8;}.curtain-rule{display: block;width: min(100%,320px);height: 2px;background-color: var(--color-accent);transform-origin: left center;}.curtain-title{font-size: var(--text-display-xl);font-weight: 700;line-height: 1;letter-spacing: -0.03em;overflow-wrap: anywhere;max-width: 16ch;}.curtain-word{display: inline-block;vertical-align: top;}.curtain-sub{font-size: var(--text-lead);opacity: 0.8;}.curtain-progress{position: absolute;left: 0;bottom: 0;width: 100%;height: 3px;background-color: var(--color-accent);transform: scaleX(0);transform-origin: left center;}.curtain-out .page-curtain{animation: curtain-cover 620ms var(--ease-menu) both;}.curtain-out .curtain-line-mask > span{animation: curtain-rise 620ms var(--ease-out) 240ms both;}.curtain-out .curtain-line-mask:nth-child(2) > span{animation-delay: 300ms;}.curtain-out .curtain-line-mask:last-child > span{animation-delay: 560ms;}.curtain-out .curtain-rule{animation: curtain-draw 700ms var(--ease-out) 320ms both;}.curtain-out .curtain-word > span{animation: curtain-rise 680ms var(--ease-out) 380ms both;}.curtain-out .curtain-word:nth-child(2) > span{animation-delay: 440ms;}.curtain-out .curtain-word:nth-child(3) > span{animation-delay: 500ms;}.curtain-out .curtain-word:nth-child(4) > span{animation-delay: 560ms;}.curtain-out .curtain-word:nth-child(n + 5) > span{animation-delay: 620ms;}.curtain-out .curtain-progress{animation: curtain-progress-start 900ms var(--ease-out) 300ms both;}.curtain-in .page-curtain{clip-path: inset(0);animation: curtain-lift 900ms var(--ease-menu) 720ms both;}.curtain-in .curtain-line-mask > span,.curtain-in .curtain-word > span{transform: none;animation: curtain-leave 560ms var(--ease-in-out) 140ms both;}.curtain-in .curtain-line-mask:nth-child(2) > span{animation-delay: 180ms;}.curtain-in .curtain-word > span{animation-delay: 220ms;}.curtain-in .curtain-word:nth-child(2) > span{animation-delay: 250ms;}.curtain-in .curtain-word:nth-child(n + 3) > span{animation-delay: 280ms;}.curtain-in .curtain-line-mask:last-child > span{animation-delay: 300ms;}.curtain-in .curtain-rule{animation: curtain-undraw 520ms var(--ease-in-out) 200ms both;}.curtain-in .curtain-progress{animation: curtain-progress-end 700ms var(--ease-out) both;}.curtain-in .case-topbar,.curtain-in .case-header,.curtain-in .case-summary,.curtain-in[data-curtain-target] :target .section-header-grid{animation: curtain-content 1000ms var(--ease-out) 950ms both;}.curtain-in .case-summary{animation-delay: 1050ms;}@keyframes curtain-cover{from{clip-path: inset(100% 0 0 0);}to{clip-path: inset(0);}}@keyframes curtain-lift{from{clip-path: inset(0);}to{clip-path: inset(0 0 100% 0);}}@keyframes curtain-rise{from{transform: translateY(110%);}to{transform: none;}}@keyframes curtain-leave{from{transform: none;}to{transform: translateY(-110%);}}@keyframes curtain-draw{from{transform: scaleX(0);}to{transform: scaleX(1);}}@keyframes curtain-undraw{from{transform: scaleX(1);transform-origin: right center;}to{transform: scaleX(0);transform-origin: right center;}}@keyframes curtain-progress-start{from{transform: scaleX(0);}to{transform: scaleX(0.6);}}@keyframes curtain-progress-end{from{transform: scaleX(0.6);}to{transform: scaleX(1);}}@keyframes curtain-content{from{opacity: 0;transform: translateY(28px);}to{opacity: 1;transform: none;}}@media print{.page-curtain{display: none;}}}@layer components{.btn-primary-pill{display: inline-flex;align-items: center;justify-content: space-between;gap: var(--space-3-5);min-height: 52px;padding: 0 var(--space-2) 0 var(--space-6);border-radius: var(--radius-pill);background-color: var(--color-btn);color: var(--color-btn-fg);font-size: var(--text-base);font-weight: 600;transition: background-color 250ms ease,color 250ms ease;user-select: none;}.btn-primary-pill:hover{background-color: var(--color-btn-hover);color: var(--color-btn-fg);}.btn-contact-submit{align-self: flex-start;display: inline-flex;align-items: center;gap: var(--space-3-5);min-height: 52px;padding: 0 var(--space-2) 0 var(--space-6);border-radius: var(--radius-pill);background: var(--color-navy-inverse);color: var(--color-navy-inverse-fg);font-size: var(--text-base);font-weight: 600;user-select: none;transition: background-color 200ms ease;}.btn-contact-submit:hover{background: var(--color-navy-inverse-hover);color: var(--color-navy-inverse-fg);}.btn-contact-submit[aria-disabled="true"]{cursor: progress;opacity: 0.75;}.arrow-circle{width: 38px;height: 38px;flex-shrink: 0;border-radius: 50%;background-color: var(--color-accent);display: flex;align-items: center;justify-content: center;font-size: var(--text-base);color: var(--color-on-accent);overflow: hidden;}.arrow-circle span{display: block;transition: transform 450ms var(--ease-out);}.btn-secondary-link{font-size: var(--text-base);font-weight: 500;border-bottom: 1px solid var(--color-muted);padding: var(--space-1-5) 0 3px;color: var(--color-ink);transition: border-color 200ms ease,color 200ms ease;}.btn-secondary-link:hover{border-bottom-color: var(--color-accent-text);color: var(--color-accent-text);}.pill-link{display: inline-flex;align-items: center;min-height: 44px;padding: 0 var(--space-5);border-radius: var(--radius-pill);border: 1px solid var(--color-line);font-weight: 600;}.pill-link:hover{border-color: var(--color-ink);color: var(--color-ink);}.cta-arrow{width: 42px;height: 42px;border-radius: 50%;background-color: var(--color-accent);color: var(--color-on-accent);display: flex;align-items: center;justify-content: center;}.mobile-fab-btn{position: fixed;z-index: var(--z-fab);right: 16px;bottom: max(16px,env(safe-area-inset-bottom));display: inline-flex;align-items: center;gap: var(--space-3);height: 52px;padding: 0 var(--space-1) 0 var(--space-5);border-radius: var(--radius-pill);background-color: var(--color-btn);color: var(--color-btn-fg);font-size: var(--text-base);font-weight: 600;box-shadow: var(--shadow-float);transform: translateY(140%);opacity: 0;visibility: hidden;transition: transform 600ms var(--ease-out),opacity 400ms ease,visibility 0s linear 600ms,padding 400ms var(--ease-out),gap 400ms var(--ease-out);}.mobile-fab-btn.is-visible{transform: translateY(0%);opacity: 1;visibility: visible;transition-delay: 0s,0s,0s,0s,0s;}.mobile-fab-btn:hover{color: var(--color-btn-fg);}.mobile-fab-label{max-width: 14em;overflow: hidden;white-space: nowrap;transition: max-width 400ms var(--ease-out),opacity 300ms ease;}.mobile-fab-btn.is-compact{gap: 0;padding: 0 var(--space-1);}.mobile-fab-btn.is-compact .mobile-fab-label{max-width: 0;opacity: 0;}@media (min-width: 820px){.mobile-fab-btn{display: none;}}@media (max-width: 560px){.btn-contact-submit{align-self: stretch;justify-content: space-between;}}@media (forced-colors: active){.btn-primary-pill,.btn-contact-submit,.pill-link,.mobile-fab-btn{border: 1px solid ButtonText;}}}@layer components{.theme-toggle-btn{width: 38px;height: 38px;border-radius: 50%;border: 1px solid var(--color-line);background: var(--color-chip);display: flex;align-items: center;justify-content: center;padding: 0;transition: background-color 300ms ease,border-color 300ms ease;}.theme-toggle-btn:hover{background: var(--color-card);border-color: var(--color-ink);}.theme-dial{width: 14px;height: 14px;border-radius: 50%;border: 1.5px solid var(--color-ink);background: linear-gradient(90deg,var(--color-ink) 50%,transparent 50%);transition: transform 600ms var(--ease-in-out);}.lang-switcher{display: flex;padding: 3px;border: 1px solid var(--color-line);border-radius: var(--radius-pill);background: var(--color-chip);}.lang-btn{display: inline-flex;align-items: center;padding: var(--space-1-5) var(--space-3);border-radius: var(--radius-pill);color: var(--color-muted);transition: background-color 200ms ease,color 200ms ease;}.lang-btn:hover{color: var(--color-accent-text);}.lang-btn.is-active,.lang-btn.is-active:hover{background: var(--color-ink);color: var(--color-bg);}.no-js .theme-toggle-btn{display: none;}@media (pointer: coarse){.lang-btn{min-height: 40px;padding: 0 var(--space-3-5);}.theme-toggle-btn{width: 44px;height: 44px;}}@media (forced-colors: active){.lang-btn{border: 1px solid ButtonText;}}}@layer components{.accordion-heading{font: inherit;margin: 0;}.accordion-icon{width: 42px;height: 42px;border-radius: 50%;border: 1px solid var(--color-line);display: flex;align-items: center;justify-content: center;justify-self: end;transition: background-color 300ms ease,border-color 300ms ease;}.accordion-item.is-open .accordion-icon{background-color: var(--color-btn);border-color: var(--color-btn);}.plus-icon{position: relative;width: 12px;height: 12px;transition: transform 500ms var(--ease-out);}.accordion-item.is-open .plus-icon{transform: rotate(45deg);}.plus-icon-h,.plus-icon-v{position: absolute;background-color: var(--color-ink);transition: background-color 300ms ease;}.accordion-item.is-open .plus-icon-h,.accordion-item.is-open .plus-icon-v{background-color: var(--color-btn-fg);}.plus-icon-h{left: 0;right: 0;top: 5.25px;height: 1.5px;}.plus-icon-v{top: 0;bottom: 0;left: 5.25px;width: 1.5px;}.accordion-panel{display: grid;grid-template-rows: 0fr;transition: grid-template-rows 600ms var(--ease-out);}.accordion-panel-inner{overflow: hidden;min-height: 0;visibility: hidden;transition: visibility 0s linear 600ms;}.accordion-item.is-open .accordion-panel,.no-js .accordion-panel{grid-template-rows: 1fr;}.accordion-item.is-open .accordion-panel-inner,.no-js .accordion-panel-inner{visibility: visible;transition-delay: 0s;}.no-js .accordion-icon{display: none;}}@layer components{.project-tags{display: flex;flex-wrap: wrap;gap: var(--space-2);}.project-tag{font-size: var(--text-2xs);color: var(--color-muted);background: var(--color-card);border: 1px solid var(--color-line);border-radius: var(--radius-pill);padding: var(--space-1) var(--space-2-5);}.project-kind{font-size: var(--text-2xs);color: var(--color-accent-text);border: 1px solid currentColor;border-radius: var(--radius-pill);padding: 3px var(--space-2);}.project-preview-badge{position: absolute;left: 16px;bottom: 14px;font-size: var(--text-2xs);color: var(--color-muted);background: var(--color-card);padding: var(--space-1) var(--space-2-5);border-radius: var(--radius-pill);pointer-events: none;}}@layer components{.breadcrumb ol{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-1-5) var(--space-2-5);color: var(--color-dim);}.breadcrumb li{display: inline-flex;align-items: center;}.breadcrumb li + li::before{content: "/";margin-right: var(--space-2-5);color: var(--color-dim);}.breadcrumb a{display: inline-block;padding: var(--space-1) 0;color: var(--color-muted);}.breadcrumb a:hover{color: var(--color-ink);}.breadcrumb [aria-current="page"]{padding: var(--space-1) 0;color: var(--color-ink);}@media (pointer: coarse){.breadcrumb a{padding: var(--space-3) 0;}}}@layer components{.card{display: flex;flex-direction: column;gap: var(--space-2);padding: var(--space-5) var(--space-6) var(--space-6);border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.card-title{font-family: var(--font-display);font-size: var(--text-xl);font-weight: 700;line-height: 1.25;}.card-text{font-size: var(--text-base);line-height: 1.55;color: var(--color-muted);text-wrap: pretty;}}@layer components{.check-list{display: flex;flex-direction: column;gap: var(--space-2-5);font-size: var(--text-lg);line-height: 1.55;color: var(--color-ink);}.check-list li{position: relative;padding-left: var(--space-6);}.check-list li::before{content: "";position: absolute;left: 2px;top: 0.62em;width: 7px;height: 7px;border-radius: 50%;background: var(--color-accent);}.check-list--muted{color: var(--color-muted);}.check-list--muted li::before{background: transparent;border: 1.5px solid var(--color-dim);}@media (forced-colors: active){.check-list li::before{forced-color-adjust: none;background: CanvasText;}}}@layer components{.col-block{display: flex;flex-direction: column;gap: var(--space-3-5);padding-top: var(--space-5);border-top: 1px solid var(--color-ink);}.col-n{color: var(--color-dim);}.col-h{font-weight: 700;font-size: var(--text-3xl);line-height: 1.15;letter-spacing: -0.01em;}.col-t{font-size: var(--text-lg);line-height: 1.6;color: var(--color-muted);text-wrap: pretty;}}@layer components{.project-facts-grid{width: 100%;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-5) var(--space-6);}.fact-item{display: flex;flex-direction: column;gap: var(--space-1-5);padding-top: var(--space-3);border-top: 1px solid var(--color-line);}.fact-label{color: var(--color-dim);}.fact-value{font-size: var(--text-base);color: var(--color-ink);}}@layer components{.faq-item{border-bottom: 1px solid var(--color-line);}.faq-item:first-child{border-top: 1px solid var(--color-line);}.faq-item summary{display: flex;justify-content: space-between;gap: var(--space-4);align-items: center;min-height: 56px;padding: var(--space-3-5) 0;font-weight: 600;cursor: pointer;list-style: none;}.faq-item summary::-webkit-details-marker{display: none;}.faq-item summary::after{content: "+";font-family: var(--font-mono);font-size: var(--text-2xl);line-height: 1;color: var(--color-accent-text);transition: transform 300ms var(--ease-out);}.faq-item[open] summary::after{transform: rotate(45deg);}.faq-answer{padding: 0 0 var(--space-5);color: var(--color-muted);}}@layer components{.form-required-note{font-size: var(--text-sm);color: var(--color-navy-muted);}.contact-label{color: var(--color-navy-muted);}.field-optional{text-transform: none;letter-spacing: 0;color: var(--color-navy-dim);}.topic-group{border: 0;display: flex;flex-direction: column;gap: var(--space-3-5);}.topic-group legend{margin-bottom: var(--space-3-5);}.topic-chips-wrapper{display: flex;flex-wrap: wrap;gap: var(--space-2);}.topic-chip{position: relative;display: inline-flex;}.topic-chip input{position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer;}.topic-chip span{display: inline-flex;align-items: center;gap: var(--space-1-5);font-size: var(--text-md);min-height: 40px;padding: var(--space-2) var(--space-4);border-radius: var(--radius-pill);border: 1px solid var(--color-navy-field);color: var(--color-navy-fg);transition: background-color 250ms ease,color 250ms ease,border-color 250ms ease;}.topic-chip input:checked + span{background: var(--color-navy-inverse);border-color: var(--color-navy-inverse);color: var(--color-navy-inverse-fg);}.topic-chip input:checked + span::before{content: "✓";font-weight: 700;}.topic-chip input:focus-visible + span{outline: 2px solid var(--color-accent-light);outline-offset: 3px;}.topic-chip input:hover + span{border-color: var(--color-navy-fg);}.form-field{display: flex;flex-direction: column;gap: var(--space-2);}.form-input,.form-textarea,.form-select{width: 100%;background: transparent;border: 0;border-bottom: 1px solid var(--color-navy-field);border-radius: 0;color: var(--color-navy-fg);font-size: var(--text-xl);padding: var(--space-2-5) 0;transition: border-color 200ms ease;}.form-input:focus,.form-textarea:focus,.form-select:focus{border-bottom-color: var(--color-accent-light);}.form-input[aria-invalid="true"],.form-textarea[aria-invalid="true"]{border-bottom-color: var(--color-error-navy);}.form-textarea{resize: vertical;min-height: 112px;line-height: 1.5;}.form-select{appearance: none;padding-right: var(--space-8);background-image: linear-gradient(45deg,transparent 50%,var(--color-navy-muted) 50%),linear-gradient(135deg,var(--color-navy-muted) 50%,transparent 50%);background-position: calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size: 6px 6px,6px 6px;background-repeat: no-repeat;cursor: pointer;}.form-select option{background: var(--color-navy-card);color: var(--color-navy-fg);}.field-hint{font-size: var(--text-sm);color: var(--color-navy-muted);}.field-error{font-size: var(--text-md);font-weight: 600;color: var(--color-error-navy);}.form-field--check{display: grid;grid-template-columns: auto minmax(0,1fr);gap: var(--space-3);align-items: start;}.form-field--check input{width: 20px;height: 20px;margin-top: 2px;accent-color: var(--color-accent-light);}.form-field--check .field-error{grid-column: 2;}.hp-field{position: absolute;left: -10000px;width: 1px;height: 1px;overflow: hidden;}.form-privacy{font-size: var(--text-sm);line-height: 1.55;color: var(--color-navy-muted);}.form-status:empty{display: none;}.form-status{font-size: var(--text-base);line-height: 1.5;padding: var(--space-3) var(--space-4);border-radius: 10px;background: var(--color-navy-status);border-left: 3px solid var(--color-accent-light);}.form-status.is-error{border-left-color: var(--color-error-navy);background: var(--color-error-navy-soft);}.contact-form-card[aria-busy="true"] .arrow-circle span{animation: mcBlink 1s steps(1) infinite;}@media (pointer: coarse){.topic-chip span{min-height: 44px;}}@media (forced-colors: active){.topic-chip span{border: 1px solid ButtonText;}.topic-chip input:checked + span{forced-color-adjust: none;background: Highlight;color: HighlightText;}}}@layer components{.draft-badge{position: absolute;top: 14px;left: 14px;z-index: 2;font-family: var(--font-mono);font-size: var(--text-2xs);letter-spacing: 0.04em;padding: var(--space-1) var(--space-2-5);border-radius: var(--radius-pill);background: var(--color-todo);color: var(--color-todo-ink);border: 1px dashed var(--color-todo-line);}.draft-badge--inline{position: static;align-self: flex-start;width: fit-content;}mark.todo{background: var(--color-todo);color: var(--color-todo-ink);padding: 0.05em 0.3em;border-radius: 4px;outline: 1px dashed var(--color-todo-line);box-decoration-break: clone;-webkit-box-decoration-break: clone;}.dev-badge{position: fixed;z-index: var(--z-dev);left: 8px;bottom: 8px;white-space: nowrap;max-width: calc(100vw - 24px);overflow: hidden;text-overflow: ellipsis;padding: var(--space-1-5) var(--space-3);border-radius: var(--radius-pill);background: var(--color-todo);color: var(--color-todo-ink);border: 1px dashed var(--color-todo-line);font-size: var(--text-2xs);}.dev-badge a{text-decoration: underline;}.todo-table{width: 100%;border-collapse: collapse;font-size: var(--text-md);}.todo-table th,.todo-table td{text-align: left;vertical-align: top;padding: var(--space-2-5) var(--space-2);border-bottom: 1px solid var(--color-line);}.todo-table code{overflow-wrap: anywhere;}}@layer sections{.hero-section{position: relative;min-height: 100svh;display: flex;flex-direction: column;padding-top: var(--header-h);background-color: var(--color-bg);color: var(--color-ink);overflow: hidden;transition: var(--trans-theme);}.hero-canvas{position: absolute;inset: 0;width: 100%;height: 100%;z-index: 1;}.hero-overlay{position: absolute;inset: 0;z-index: 0;background: var(--color-overlay);opacity: 0;transition: opacity 1300ms var(--ease-in-out);pointer-events: none;}.intro-pending .hero-overlay{opacity: 1;}.hero-grid,.hero-footer-bar{transition: opacity 700ms ease,transform 900ms var(--ease-out);}.intro-pending .site-header,.intro-pending .hero-grid,.intro-pending .hero-footer-bar,.intro-pending .progress-bar{opacity: 0;animation: mcIntroFailsafe 400ms ease 6s forwards;}.intro-pending .hero-grid{transform: translateY(18px);}@keyframes mcIntroFailsafe{to{opacity: 1;transform: none;}}.hero-content-wrapper{position: relative;z-index: 2;flex: 1;display: flex;align-items: center;padding: var(--space-fluid-xs) var(--pad-x) var(--space-vh-xl);}.hero-grid{width: 100%;max-width: var(--content-max);margin: 0 auto;display: grid;grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);gap: var(--space-fluid-l);align-items: center;}.hero-text-col{display: flex;flex-direction: column;gap: var(--space-vh-s);max-width: 560px;text-align: left;}.hero-eyebrow{color: var(--color-dim);}.hero-title{font-size: var(--text-title-xl);line-height: 1.02;letter-spacing: -0.025em;}.hero-title .hero-line{display: block;}.hero-title .typed-row{display: flex;align-items: center;justify-content: flex-start;height: 1.15em;color: var(--color-accent);}.hero-title .typed-text{white-space: nowrap;display: inline-block;transform: skewX(-9deg);transform-origin: left bottom;}.hero-title .cursor{display: inline-block;width: 2px;height: 0.78em;margin-left: var(--space-1-5);background-color: var(--color-accent);animation: mcBlink 1s steps(1) infinite;}.no-js .hero-title .cursor,.motion-paused .hero-title .cursor{animation: none;opacity: 0;}.hero-lead{font-size: var(--text-lead-sm);line-height: 1.55;color: var(--color-muted);max-width: 470px;text-wrap: pretty;}.hero-actions{display: flex;flex-wrap: wrap;gap: var(--space-6);align-items: center;}.hero-desktop-stage-box{position: absolute;z-index: 0;pointer-events: none;right: clamp(12px,3vw,56px);top: calc(var(--header-h) + 40px);width: min(42vw,760px);height: calc(100% - var(--header-h) - 40px - 72px);}.hero-mobile-stage-box{display: none;width: calc(100% + 16px);margin: 0 calc(var(--space-2) * -1);height: 24svh;min-height: 160px;max-height: 240px;pointer-events: none;}@media (min-width: 820px) and (max-width: 1180px){.hero-desktop-stage-box{width: 38vw;}.hero-text-col{max-width: min(560px,52vw);}}@media (min-width: 820px) and (max-width: 1180px) and (orientation: portrait){.hero-section{min-height: 0;}.hero-content-wrapper{padding-top: var(--space-vh-m);padding-bottom: var(--space-hero-footer);}.hero-desktop-stage-box{top: calc(var(--header-h) + 24px);height: calc(100% - var(--header-h) - 24px - 96px);}}@media (max-width: 819px){.hero-section{min-height: 0;}.hero-content-wrapper{padding: 0 var(--space-5) var(--space-12);}.hero-grid{grid-template-columns: 1fr;}.hero-text-col{margin: 0 auto;align-items: center;text-align: center;}.hero-title .typed-row{justify-content: center;}.hero-lead{text-align: center;}.hero-actions{justify-content: center;gap: var(--space-4);}.hero-actions .btn-primary-pill{width: 100%;}.hero-desktop-stage-box{display: none;}.hero-mobile-stage-box{display: block;}.no-js .hero-mobile-stage-box{display: none;}}}@layer sections{.hero-footer-bar{position: absolute;z-index: 3;left: 0;right: 0;bottom: 0;padding: 0 var(--pad-x) var(--space-6);}.hero-footer-inner{max-width: var(--content-max);margin: 0 auto;display: flex;justify-content: space-between;align-items: flex-end;gap: var(--space-6);}.hero-stages-grid{display: grid;grid-template-columns: repeat(3,minmax(90px,150px));gap: var(--space-5);}.hero-stage-item{display: flex;flex-direction: column;gap: var(--space-2-5);}.hero-stage-label{display: flex;gap: var(--space-2);align-items: baseline;color: var(--color-muted);transition: color 400ms ease;}.hero-stage-item.is-active .hero-stage-label{color: var(--color-ink);}.hero-stage-label .stage-name{font-size: var(--text-base);}.hero-stage-bar{height: 1px;background-color: var(--color-track);position: relative;overflow: hidden;}.hero-stage-bar [data-pbar]{position: absolute;left: 0;top: 0;bottom: 0;width: 0%;background-color: var(--color-ink);}.hero-mobile-stages{display: none;grid-template-columns: repeat(3,minmax(0,1fr));gap: var(--space-fluid-s);width: min(100%,400px);padding-top: var(--space-2-5);}.hero-mobile-stages .hero-stage-item{min-width: 0;gap: var(--space-2);}.hero-mobile-stages .hero-stage-label{justify-content: center;}.hero-mobile-stages .stage-num{display: none;}.hero-mobile-stages .stage-name{font-size: var(--text-xs);letter-spacing: 0.02em;white-space: nowrap;}.no-js .hero-stages-grid{display: none;}@media (max-width: 819px){.hero-mobile-stages{display: grid;}.no-js .hero-mobile-stages{display: none;}.hero-footer-bar{display: none;}}@media (max-width: 560px){.hero-mobile-stages{display: none;}}}@layer sections{.tools-strip{display: grid;grid-template-columns: auto minmax(0,1fr);align-items: center;gap: var(--space-fluid-m);max-width: var(--content-max);margin: 0 auto;padding: var(--space-6) var(--pad-x);border-bottom: 1px solid var(--color-line);}.tools-label{color: var(--color-dim);white-space: nowrap;}.tools-viewport{overflow: hidden;mask-image: linear-gradient(90deg,transparent,var(--color-ink) 8%,var(--color-ink) 92%,transparent);}.tools-track{display: flex;width: max-content;}.js .tools-track{animation: tools-scroll 45s linear infinite;}.no-js .tools-track{width: auto;}.no-js .tools-list{flex-wrap: wrap;row-gap: var(--space-3-5);}.no-js .tools-list[aria-hidden]{display: none;}.tools-viewport:hover .tools-track,.tools-viewport:focus-within .tools-track,.motion-paused .tools-track{animation-play-state: paused;}.tools-list{display: flex;align-items: center;gap: var(--space-fluid-l);padding-right: var(--space-fluid-l);}.tools-item{display: flex;align-items: center;gap: var(--space-2-5);font-family: var(--font-mono);font-size: var(--text-xs);letter-spacing: 0.08em;text-transform: uppercase;white-space: nowrap;color: var(--color-muted);}.tools-icon{width: 20px;height: 20px;flex-shrink: 0;fill: currentColor;}@keyframes tools-scroll{to{transform: translateX(-50%);}}@media (max-width: 819px){.tools-strip{grid-template-columns: minmax(0,1fr);gap: var(--space-3-5);}}@media (prefers-reduced-motion: reduce){.js .tools-track{width: auto;animation: none;}.tools-list{flex-wrap: wrap;row-gap: var(--space-3-5);}.tools-list[aria-hidden]{display: none;}.tools-viewport{mask-image: none;}}}@layer sections{.services-section{padding-top: var(--space-section-top);}.services-extra{margin-top: var(--space-fluid-l);padding-top: var(--space-6);border-top: 1px solid var(--color-line);max-width: 46em;font-size: var(--text-base);color: var(--color-muted);}.services-main-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--space-fluid-xl);align-items: start;}.services-accordion-list{display: flex;flex-direction: column;border-bottom: 1px solid var(--color-line);}.service-accordion-item{border-top: 1px solid var(--color-line);}.service-toggle-btn{width: 100%;display: grid;grid-template-columns: 52px minmax(0,1fr) 44px;align-items: center;gap: var(--space-3);padding: var(--space-fluid-s) 0;text-align: left;border-radius: 0;}.service-num{color: var(--color-dim);transition: color 300ms ease;}.service-accordion-item.is-active .service-num{color: var(--color-accent-text);}.service-item-title{font-weight: 700;font-size: var(--text-title-xs);line-height: 1.1;letter-spacing: -0.015em;color: var(--color-dim);transition: color 300ms ease,transform 500ms var(--ease-out);}.service-accordion-item.is-active .service-item-title,.service-toggle-btn:hover .service-item-title,.no-js .service-item-title{color: var(--color-ink);}.service-accordion-item.is-active .service-item-title{transform: translateX(10px);}.service-content-body{padding: 0 0 var(--space-8) var(--space-16);display: flex;flex-direction: column;gap: var(--space-5);opacity: 0;transition: opacity 500ms ease;}.service-accordion-item.is-open .service-content-body,.no-js .service-content-body{opacity: 1;}.service-desc{font-size: var(--text-lg);line-height: 1.6;color: var(--color-muted);max-width: 520px;text-wrap: pretty;}.service-tags-list{display: flex;flex-wrap: wrap;gap: var(--space-2);}.service-tag-pill{padding: var(--space-2) var(--space-3);border-radius: var(--radius-pill);border: 1px solid var(--color-line);color: var(--color-ink);}.service-links{display: flex;flex-wrap: wrap;gap: var(--space-2) var(--space-6);align-items: center;}.service-more-link,.service-ask-link{display: inline-flex;align-items: center;gap: var(--space-1-5);min-height: 36px;font-size: var(--text-base);font-weight: 600;}.service-more-link{color: var(--color-ink);border-bottom: 1px solid var(--color-muted);}.service-ask-link{color: var(--color-accent-text);text-decoration: underline;text-underline-offset: 4px;}.service-more-link:hover,.service-ask-link:hover{color: var(--color-accent-text);}.services-stage-container{position: sticky;top: calc(var(--header-float-h) + 24px);display: flex;flex-direction: column;gap: var(--space-3-5);align-items: flex-start;}.no-js .services-stage-container{display: none;}.no-js .services-main-grid{grid-template-columns: minmax(0,760px);}.services-stage-card{position: relative;width: 100%;aspect-ratio: 1 / 1;max-height: 76vh;border-radius: var(--radius-card);border: 1px solid var(--color-line);background-color: var(--color-card);overflow: hidden;transition: background-color var(--dur-theme) ease,border-color var(--dur-theme) ease;touch-action: pan-y;user-select: none;}.services-canvas{position: absolute;inset: 0;width: 100%;height: 100%;}.services-card-top{position: absolute;left: 20px;top: 18px;right: 20px;display: flex;justify-content: space-between;color: var(--color-muted);pointer-events: none;}.mobile-swipe-hint{display: none;position: absolute;top: 46px;right: 20px;font-size: var(--text-2xs);letter-spacing: 0.05em;color: var(--color-accent-text);background: var(--color-card);padding: var(--space-1) var(--space-2-5);border-radius: var(--radius-pill);border: 1px solid var(--color-line);pointer-events: none;animation: pulseHint 2.4s ease-in-out infinite;}.motion-paused .mobile-swipe-hint{animation: none;}@keyframes pulseHint{0%,100%{opacity: 0.75;transform: scale(1);}50%{opacity: 1;transform: scale(1.04);}}.services-card-bottom{position: absolute;left: 20px;right: 20px;bottom: 18px;display: flex;flex-direction: column;gap: var(--space-3);pointer-events: none;}.story-title-row{display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-3);}.story-scene-title{font-weight: 700;font-size: var(--text-lead);letter-spacing: -0.01em;color: var(--color-ink);}.story-scene-counter{color: var(--color-muted);}.story-bars-grid{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: var(--space-1-5);}.story-bar-track{height: 2px;border-radius: 2px;background-color: var(--color-line);overflow: hidden;}.story-bar-fill{height: 100%;width: 0%;background-color: var(--color-accent);}@media (max-width: 819px){.services-main-grid{grid-template-columns: 1fr;}.services-stage-container{position: relative;top: 0;order: -1;}.mobile-swipe-hint{display: inline-block;}.service-content-body{padding: 0 0 var(--space-6) var(--space-5);}.services-stage-card{max-height: 64vh;}}@media (pointer: coarse){.service-more-link,.service-ask-link{min-height: 44px;}}@media (prefers-contrast: more){.service-item-title{color: var(--color-ink);}}}@layer sections{.project-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,340px),1fr));gap: var(--space-fluid-s);margin-bottom: var(--space-fluid-2xl);}.project-card-link{display: flex;flex-direction: column;height: 100%;border: 1px solid var(--color-line);border-radius: var(--radius-card-lg);background-color: var(--color-card);overflow: hidden;color: inherit;transition: border-color 300ms ease;}.project-card-media{position: relative;aspect-ratio: 16 / 10;overflow: hidden;border-bottom: 1px solid var(--color-line);}.project-card-img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: top center;transition: transform 900ms var(--ease-out);}.project-card-body{display: flex;flex: 1;flex-direction: column;gap: var(--space-3);padding: var(--space-6) var(--space-6) var(--space-5);}.project-card-meta{color: var(--color-dim);}.project-card-title{font-size: var(--text-title-sm);font-weight: 700;line-height: 1.1;letter-spacing: -0.015em;}.project-card-text{font-size: var(--text-base);line-height: 1.55;color: var(--color-muted);text-wrap: pretty;}.project-card-cta{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);margin-top: auto;padding-top: var(--space-4);font-weight: 600;}.project-card-cta .cta-arrow{transition: transform 300ms var(--ease-out);}.project-card-link:hover{border-color: var(--color-ink);}.project-card-link:hover .project-card-img{transform: scale(1.03);}.project-card-link:hover .cta-arrow{transform: translateX(4px);}.projects-more-head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: var(--space-2) var(--space-5);margin-bottom: var(--space-6);}.projects-more-title{font-size: var(--text-title-xs);font-weight: 700;letter-spacing: -0.01em;}.projects-table-header,.project-row-btn{display: grid;grid-template-columns: 52px minmax(0,1.5fr) minmax(0,0.9fr) minmax(0,1.2fr) 64px 44px;gap: var(--space-5);}.projects-table-header{padding: 0 0 var(--space-3-5);color: var(--color-dim);}.projects-list{display: flex;flex-direction: column;border-bottom: 1px solid var(--color-line);}.project-item{border-top: 1px solid var(--color-line);}.project-row-btn{width: 100%;align-items: center;padding: var(--space-fluid-s) 0;text-align: left;border-radius: 0;}.project-num{color: var(--color-dim);transition: color 300ms ease;}.project-item.is-open .project-num{color: var(--color-accent-text);}.project-name-wrapper{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-2);transition: transform 500ms var(--ease-out);}.project-item.is-open .project-name-wrapper{transform: translateX(10px);}.project-name{font-size: var(--text-title-sm);color: var(--color-ink);}.project-mobile-meta{display: none;letter-spacing: 0.06em;color: var(--color-muted);}.project-col-text{font-size: var(--text-base);color: var(--color-muted);}.project-col-year{font-size: var(--text-sm);color: var(--color-muted);}.project-expanded-grid{display: grid;grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);gap: var(--space-fluid-l);padding: var(--space-1) 0 var(--space-fluid-l);opacity: 0;transition: opacity 500ms ease 120ms;}.project-item.is-open .project-expanded-grid,.no-js .project-expanded-grid{opacity: 1;}.project-preview-card{position: relative;aspect-ratio: 16 / 10;border-radius: 18px;border: 1px solid var(--color-line);background-color: var(--color-card);overflow: hidden;}.project-preview-canvas,.project-preview-img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;}.no-js .project-preview-card:has(canvas){display: none;}.project-details-col{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-7);justify-content: space-between;}.project-summary{font-size: var(--text-lead);line-height: 1.55;color: var(--color-ink);text-wrap: pretty;}@media (max-width: 1023px){.projects-table-header{display: none;}.project-row-btn{grid-template-columns: 36px minmax(0,1fr) 44px;}.project-col-text,.project-col-year{display: none;}.project-mobile-meta{display: block;}}@media (max-width: 819px){.project-expanded-grid{grid-template-columns: 1fr;}}}@layer sections{.process-steps{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: var(--space-fluid-m);}.effort-card{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);grid-template-areas: "title list" "note list";align-content: start;gap: var(--space-5) var(--space-fluid-xl);padding: var(--space-fluid-m);border-radius: var(--radius-card);border: 1px solid var(--color-line);background-color: var(--color-card);transition: background-color var(--dur-theme) ease,border-color var(--dur-theme) ease;}.effort-title{grid-area: title;font-size: var(--text-title-sm);line-height: 1.1;letter-spacing: -0.015em;}.effort-card .check-list{grid-area: list;}.effort-note{grid-area: note;align-self: end;font-size: var(--text-base);color: var(--color-muted);}@media (max-width: 1023px){.process-steps{grid-template-columns: repeat(2,minmax(0,1fr));}}@media (max-width: 819px){.effort-card{grid-template-columns: 1fr;grid-template-areas: "title" "list" "note";}}@media (max-width: 560px){.process-steps{grid-template-columns: 1fr;}}}@layer sections{.about-cta{margin-top: var(--space-7);}.person-card{display: grid;grid-template-columns: auto minmax(0,1fr);gap: var(--space-fluid-m);align-items: center;padding-top: var(--space-8);border-top: 1px solid var(--color-line);}.person-photo{width: clamp(128px,15vw,200px);aspect-ratio: 1 / 1;height: auto;border-radius: 50%;object-fit: cover;}.person-name{font-size: var(--text-title-sm);letter-spacing: -0.015em;}.person-role{margin-top: var(--space-1-5);color: var(--color-dim);}.person-bio{margin-top: var(--space-3-5);font-size: var(--text-lg);line-height: 1.6;color: var(--color-muted);max-width: 62ch;}@media (max-width: 560px){.person-card{grid-template-columns: 1fr;}}.about-reasons{display: flex;flex-direction: column;gap: var(--space-6);margin-top: var(--space-fluid-l);}.about-reasons-title{font-size: var(--text-title-xs);font-weight: 700;letter-spacing: -0.01em;}.about-reasons-list{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: var(--space-3);}}@layer sections{.contact-section{--color-focus: var(--color-accent-light);position: relative;color-scheme: dark;background-color: var(--color-navy);color: var(--color-navy-fg);padding: var(--space-section-top) var(--pad-x) var(--space-fluid-2xl);overflow: hidden;}.contact-container{max-width: var(--content-max);margin: 0 auto;display: flex;flex-direction: column;gap: var(--space-fluid-l);}.contact-canvas-wrapper{position: relative;width: 100%;height: clamp(150px,20vw,320px);}.no-js .contact-canvas-wrapper{display: none;}.contact-canvas{position: absolute;inset: 0;width: 100%;height: 100%;}.contact-main-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--space-fluid-xl);align-items: start;}.contact-info-col{display: flex;flex-direction: column;gap: var(--space-6);}.contact-info-col .section-eyebrow{margin-bottom: calc(var(--space-2) * -1);}.contact-title{font-size: var(--text-title-lg);text-wrap: balance;}.contact-title em{color: var(--color-accent-light);}.contact-lead{font-size: var(--text-lead-sm);line-height: 1.55;color: var(--color-navy-muted);max-width: 440px;text-wrap: pretty;}.contact-next{display: flex;flex-direction: column;gap: var(--space-3);}.contact-steps{display: flex;flex-direction: column;gap: var(--space-2-5);max-width: 440px;counter-reset: contact-step;}.contact-steps li{position: relative;padding-left: var(--space-8);font-size: var(--text-base);line-height: 1.5;color: var(--color-navy-muted);counter-increment: contact-step;}.contact-steps li::before{content: counter(contact-step,decimal-leading-zero);position: absolute;left: 0;top: 0.15em;font-family: var(--font-mono);font-size: var(--text-xs);color: var(--color-accent-light);}.contact-direct-links{display: flex;flex-direction: column;gap: var(--space-2-5);padding-top: var(--space-3);}.contact-label-dim{color: var(--color-navy-dim);}.contact-mail-link{font-weight: 700;font-size: var(--text-title-xs);letter-spacing: -0.01em;color: var(--color-navy-fg);border-bottom: 1px solid var(--color-navy-field);align-self: flex-start;padding-bottom: var(--space-1);overflow-wrap: anywhere;transition: color 200ms ease,border-color 200ms ease;}.contact-mail-link:hover{color: var(--color-accent-light);border-color: var(--color-accent-light);}.contact-location{font-size: var(--text-base);color: var(--color-navy-muted);}.contact-form-card,.contact-thanks-card{display: flex;flex-direction: column;gap: var(--space-6);padding: var(--space-fluid-m);border-radius: 22px;border: 1px solid var(--color-navy-line);background: var(--color-navy-panel);}.thanks-title{font-size: var(--text-title-sm);}.thanks-text{font-size: var(--text-xl);line-height: 1.55;color: var(--color-navy-muted);}.thanks-reset-btn{align-self: flex-start;font-size: var(--text-base);color: var(--color-navy-fg);border-bottom: 1px solid var(--color-navy-field);padding: var(--space-1-5) 0 3px;}@media (max-width: 1023px){.contact-main-grid{grid-template-columns: 1fr;}.contact-form-col{max-width: 720px;}}}@layer pages{.case-topbar{position: sticky;top: 0;z-index: var(--z-sticky);background-color: var(--color-nav-bar);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border-bottom: 1px solid var(--color-line);transition: top 380ms var(--ease-out);}:root:has(.case-topbar){scroll-padding-top: calc(var(--header-float-h) + var(--case-topbar-h) + var(--space-4));}.header-shown .case-topbar{top: var(--header-float-h);}.case-topbar-inner{max-width: var(--content-max);margin: 0 auto;padding: var(--space-3-5) var(--pad-x);display: flex;justify-content: space-between;align-items: center;gap: var(--space-4);}.case-back-btn{display: flex;align-items: center;gap: var(--space-2-5);font-size: var(--text-md);font-weight: 600;color: var(--color-ink);}.case-back-btn:hover{color: var(--color-accent-text);}.case-back-circle{width: 36px;height: 36px;flex-shrink: 0;border-radius: 50%;border: 1px solid var(--color-line);display: flex;align-items: center;justify-content: center;}.case-indicator{color: var(--color-muted);white-space: nowrap;}.case-body{max-width: var(--content-max);margin: 0 auto;padding: var(--space-fluid-2xl) var(--pad-x) 0;display: flex;flex-direction: column;gap: var(--space-fluid-xl);}.case-header{display: flex;flex-direction: column;gap: var(--space-6);}.case-meta-row{color: var(--color-muted);display: flex;flex-wrap: wrap;gap: var(--space-3);align-items: center;}.meta-dot{width: 7px;height: 7px;border-radius: 50%;background-color: var(--color-accent);}.case-headline{font-size: var(--text-display);line-height: 1;letter-spacing: -0.03em;overflow-wrap: anywhere;}.case-summary{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: var(--space-fluid-xl);align-items: start;}.case-summary-side{display: flex;flex-direction: column;gap: var(--space-6);}.case-summary-text{font-size: var(--text-lead);line-height: 1.5;text-wrap: pretty;}.case-illustration,.case-hero-figure{position: relative;width: 100%;aspect-ratio: 16 / 8;min-height: 240px;border-radius: var(--radius-card-lg);border: 1px solid var(--color-line);background-color: var(--color-card);overflow: hidden;}.case-hero-figure img{width: 100%;height: 100%;object-fit: cover;}.no-js .case-illustration{display: none;}.case-illustration-canvas{position: absolute;inset: 0;width: 100%;height: 100%;}.case-live{margin-top: calc(var(--space-4) * -1);}.case-cta{display: flex;align-items: end;justify-content: space-between;flex-wrap: wrap;gap: var(--space-6) var(--space-12);padding: var(--space-fluid-l);border-radius: var(--radius-card-lg);background-color: var(--color-card);border: 1px solid var(--color-line);}.case-cta-text{display: flex;flex-direction: column;gap: var(--space-3);}.case-cta-kicker{color: var(--color-accent-text);}.case-cta-title{font-size: var(--text-title);font-weight: 700;line-height: 1.05;letter-spacing: -0.02em;text-wrap: balance;}.case-next-btn{display: flex;justify-content: space-between;align-items: center;gap: var(--space-6);padding: var(--space-fluid-xl) 0;border-top: 1px solid var(--color-line);margin-top: var(--space-fluid-m);}.case-next-btn:hover{color: inherit;}.next-meta{display: flex;flex-direction: column;gap: var(--space-3);min-width: 0;}.next-meta-kicker{color: var(--color-muted);}.next-meta-name{font-size: var(--text-title-lg);line-height: 1.02;letter-spacing: -0.025em;color: var(--color-ink);overflow-wrap: anywhere;}.next-arrow-btn{width: clamp(56px,6vw,88px);height: clamp(56px,6vw,88px);border-radius: 50%;background-color: var(--color-accent);color: var(--color-on-accent);display: flex;align-items: center;justify-content: center;font-size: var(--text-3xl);flex-shrink: 0;transition: transform 500ms var(--ease-out);}.case-next-btn:hover .next-arrow-btn{transform: translateX(6px);}@media (max-width: 819px){.case-summary{grid-template-columns: 1fr;}.case-illustration,.case-hero-figure{aspect-ratio: 4 / 3;}}@media (forced-colors: active){.meta-dot{forced-color-adjust: none;background: CanvasText;}}}@layer pages{.case-glance-list{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: var(--space-fluid-xs);}.case-glance-item{display: flex;flex-direction: column;gap: var(--space-2-5);padding: var(--space-fluid-s);border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.case-glance-label{color: var(--color-accent-text);}.case-glance-text{font-size: var(--text-lg);line-height: 1.55;text-wrap: pretty;}.case-chapters{display: flex;flex-direction: column;gap: var(--space-fluid-2xl);}.case-chapter{position: relative;display: grid;grid-template-columns: minmax(0,4fr) minmax(0,8fr);gap: var(--space-fluid-l);padding-top: var(--space-6);}.case-chapter::before{content: "";position: absolute;top: 0;left: 0;right: 0;height: 1px;background-color: var(--color-ink);transform-origin: left center;transition: transform 1400ms var(--ease-out);}.js .case-chapter:not(:has(.case-chapter-head.is-revealed))::before{transform: scaleX(0);}.case-chapter-head{position: sticky;top: var(--case-sticky-top);align-self: start;display: flex;flex-direction: column;gap: var(--space-3-5);transition: top 380ms var(--ease-out);}.header-shown .case-chapter-head{top: calc(var(--case-sticky-top) + var(--header-float-h));}.case-chapter-title{font-weight: 700;font-size: var(--text-title-sm);line-height: 1.1;letter-spacing: -0.015em;}.case-chapter-body{container: case / inline-size;display: flex;flex-direction: column;gap: var(--space-fluid-m);min-width: 0;}.case-lead{max-width: 40em;font-size: var(--text-lead);line-height: 1.5;text-wrap: pretty;}.case-text{max-width: 42em;font-size: var(--text-lg);line-height: 1.65;color: var(--color-muted);text-wrap: pretty;}.case-more{border-top: 1px solid var(--color-line);interpolate-size: allow-keywords;}.case-more::details-content{block-size: 0;overflow: clip;transition: block-size 500ms var(--ease-out),content-visibility 500ms allow-discrete;}.case-more[open]::details-content{block-size: auto;}.case-more-btn{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);min-height: 44px;padding: var(--space-3-5) 0;list-style: none;cursor: pointer;font-size: var(--text-base);font-weight: 600;}.case-more-btn::-webkit-details-marker{display: none;}.case-more-icon{width: 36px;height: 36px;flex-shrink: 0;border-radius: 50%;border: 1px solid var(--color-line);display: flex;align-items: center;justify-content: center;transition: background-color 300ms ease,border-color 300ms ease;}.case-more-btn:hover .case-more-icon{border-color: var(--color-ink);}.case-more[open] .case-more-icon{background-color: var(--color-btn);border-color: var(--color-btn);}.case-more[open] .plus-icon{transform: rotate(45deg);}.case-more[open] .plus-icon-h,.case-more[open] .plus-icon-v{background-color: var(--color-btn-fg);}.case-more-body{display: flex;flex-direction: column;gap: var(--space-3-5);padding: var(--space-1) 0 var(--space-6);}.case-more-body .check-list{font-size: var(--text-base);color: var(--color-muted);}.case-indicator-chapter{transition: opacity 300ms ease;}.case-indicator-chapter:not(:empty)::before{content: "·";margin: 0 var(--space-2);}.case-indicator-chapter.is-changing{opacity: 0;}@media (max-width: 1023px){.case-chapter{grid-template-columns: minmax(0,1fr);gap: var(--space-5);}.case-chapter-head{position: static;}}@media (max-width: 560px){.case-indicator.has-chapter .case-indicator-count{display: none;}.case-indicator-chapter:not(:empty)::before{display: none;}}}@layer pages{.case-block{display: flex;flex-direction: column;gap: var(--space-3-5);min-width: 0;}.case-caption{color: var(--color-dim);}.case-note{font-size: var(--text-xs);color: var(--color-dim);}.case-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(200px,1fr));gap: var(--space-3);}.case-stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(160px,1fr));gap: var(--space-3);}.case-stat{display: flex;flex-direction: column-reverse;justify-content: flex-end;gap: var(--space-2-5);padding: var(--space-5) var(--space-6) var(--space-6);border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.case-stat-value{font-size: var(--text-title);font-weight: 700;line-height: 1;letter-spacing: -0.02em;}.case-stat-label{font-size: var(--text-md);line-height: 1.45;color: var(--color-muted);text-wrap: pretty;}.case-compare{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-3);}.case-compare-col{display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-6);border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.case-compare-col:has(.check-list--muted){background-color: transparent;}.case-compare .check-list{font-size: var(--text-base);}.case-quote{position: relative;margin: 0;padding-left: var(--space-fluid-s);}.case-quote::before{content: "";position: absolute;top: 4px;bottom: 4px;left: 0;width: 2px;background-color: var(--color-accent);transform-origin: center top;transition: transform 1000ms var(--ease-out) 150ms;}.case-quote-text{font-size: var(--text-title-sm);font-weight: 700;line-height: 1.15;letter-spacing: -0.02em;text-wrap: balance;}.case-quote-source{margin-top: var(--space-3-5);color: var(--color-dim);}.js .case-block:not(.is-revealed) .case-quote::before{transform: scaleY(0);}.case-palette{display: grid;grid-template-columns: repeat(auto-fit,minmax(84px,1fr));gap: var(--space-5) var(--space-3);}.case-swatch{display: flex;flex-direction: column;gap: 3px;}.case-swatch-chip{width: 100%;height: auto;aspect-ratio: 4 / 3;margin-bottom: var(--space-2-5);border: 1px solid var(--color-line);border-radius: 14px;}.case-swatch-name{font-size: var(--text-md);font-weight: 600;}.case-swatch-hex{font-size: var(--text-xs);color: var(--color-dim);}.case-swatch-role{font-size: var(--text-sm);line-height: 1.4;color: var(--color-muted);}@container case (max-width: 520px){.case-stats{grid-template-columns: repeat(2,minmax(0,1fr));}.case-stat{padding: var(--space-4) var(--space-4) var(--space-5);}.case-compare{grid-template-columns: minmax(0,1fr);}.case-palette{grid-template-columns: minmax(0,1fr);gap: var(--space-3);}.case-swatch{display: grid;grid-template-columns: 52px minmax(0,1fr);align-items: center;column-gap: var(--space-3-5);row-gap: 2px;}.case-swatch-chip{grid-row: span 3;aspect-ratio: 1;margin: 0;border-radius: 12px;}}@media (forced-colors: active){.case-swatch-chip{forced-color-adjust: none;}}}@layer pages{.case-steps{position: relative;display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: var(--space-5);}.case-steps::before,.case-steps::after{content: "";position: absolute;left: 5px;right: 0;top: 5px;height: 1px;background-color: var(--color-track);transform-origin: left center;}.case-steps::after{background-color: var(--color-accent);transition: transform 1400ms var(--ease-out) 150ms;}.case-steps--status::after{display: none;}.case-step{position: relative;display: flex;flex-direction: column;gap: var(--space-1-5);padding-top: var(--space-8);transition: opacity 700ms ease,transform 900ms var(--ease-out);}.case-step:nth-child(2){transition-delay: 120ms;}.case-step:nth-child(3){transition-delay: 240ms;}.case-step:nth-child(4){transition-delay: 360ms;}.case-step:nth-child(5){transition-delay: 480ms;}.case-step:nth-child(6){transition-delay: 600ms;}.case-step-dot{position: absolute;top: 0;left: 0;width: 11px;height: 11px;border-radius: 50%;background-color: var(--color-accent);}.case-step-title{font-size: var(--text-lg);font-weight: 700;line-height: 1.35;}.case-step-text{font-size: var(--text-md);line-height: 1.5;color: var(--color-muted);}.case-step-state{color: var(--color-accent-text);}.case-step.is-active .case-step-dot{box-shadow: 0 0 0 5px var(--color-chip);}.case-step.is-planned .case-step-dot{background-color: var(--color-bg);border: 1.5px solid var(--color-dim);}.case-step.is-planned .case-step-state,.case-step.is-planned .case-step-title{color: var(--color-muted);}.case-steps:has(> :nth-child(5)){grid-auto-flow: row;gap: var(--space-6);}.case-steps:has(> :nth-child(5))::before,.case-steps:has(> :nth-child(5))::after{top: 6px;bottom: 6px;right: auto;width: 1px;height: auto;transform-origin: center top;}.case-steps:has(> :nth-child(5)) .case-step{padding: 0 0 0 var(--space-8);}.js .case-block:not(.is-revealed) .case-step{opacity: 0;transform: translateY(10px);}.js .case-block:not(.is-revealed) .case-steps::after{transform: scaleX(0);}.js .case-block:not(.is-revealed) .case-steps:has(> :nth-child(5))::after{transform: scaleY(0);}@container case (max-width: 520px){.case-steps{grid-auto-flow: row;gap: var(--space-6);}.case-steps::before,.case-steps::after{top: 6px;bottom: 6px;right: auto;width: 1px;height: auto;transform-origin: center top;}.case-step{padding: 0 0 0 var(--space-8);}.js .case-block:not(.is-revealed) .case-steps::after{transform: scaleY(0);}}@media (forced-colors: active){.case-step-dot{forced-color-adjust: none;background-color: CanvasText;}}}@layer pages{.case-bars{display: flex;flex-direction: column;gap: var(--space-5);}.case-bar,.case-scale-row{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: baseline;gap: var(--space-2) var(--space-4);}.case-bar-label{font-size: var(--text-base);line-height: 1.4;}.case-bar-value{font-size: var(--text-sm);}.case-bar-track,.case-scale-track{grid-column: 1 / -1;width: 100%;height: 6px;border-radius: var(--radius-pill);}.case-bar-bg{fill: var(--color-track);}.case-bar-fill,.case-scale-fill,.case-split-seg{fill: var(--color-accent);transform-box: fill-box;transform-origin: left center;transition: transform 1200ms var(--ease-out) 150ms;}.case-bar:nth-child(2) .case-bar-fill{transition-delay: 240ms;}.case-bar:nth-child(3) .case-bar-fill{transition-delay: 330ms;}.case-bar:nth-child(4) .case-bar-fill{transition-delay: 420ms;}.case-bars--compact{gap: var(--space-3);margin-top: auto;padding-top: var(--space-4);border-top: 1px solid var(--color-line);}.case-bars--compact .case-bar-label{font-size: var(--text-sm);color: var(--color-muted);}.case-bars--compact .case-bar-track{height: 4px;}.case-scale{display: flex;flex-direction: column;gap: var(--space-5);}.case-scale-track{height: 10px;}.case-scale-track .case-bar-bg{fill: var(--color-chip);}.case-scale-zone{fill: var(--color-track);}.case-scale-fill.is-negative{transform-origin: right center;}.case-scale-zero{fill: var(--color-ink);}.case-scale-axis{display: flex;justify-content: space-between;margin-top: calc(var(--space-1-5) * -1);font-size: var(--text-xs);color: var(--color-dim);}.case-scale-legend{display: flex;align-items: center;gap: var(--space-2);font-size: var(--text-sm);color: var(--color-muted);}.case-scale-swatch{width: 18px;height: 8px;border-radius: 2px;background-color: var(--color-track);}.case-split-bar{width: 100%;height: 14px;border-radius: var(--radius-pill);}.case-split-seg--2{fill: var(--color-accent-soft);transition-delay: 450ms;}.case-split-seg--3{fill: var(--color-dim);transition-delay: 650ms;}.case-split-legend{display: grid;grid-template-columns: repeat(auto-fit,minmax(180px,1fr));gap: var(--space-4) var(--space-6);margin-top: var(--space-2);}.case-split-item{display: grid;grid-template-columns: 10px minmax(0,1fr);column-gap: var(--space-3);row-gap: var(--space-1-5);}.case-split-dot{width: 10px;height: 10px;margin-top: 0.9em;border-radius: 50%;background-color: var(--color-accent);}.case-split-dot--2{background-color: var(--color-accent-soft);}.case-split-dot--3{background-color: var(--color-dim);}.case-split-value{font-size: var(--text-title);font-weight: 700;line-height: 1;letter-spacing: -0.02em;}.case-split-label{grid-column: 2;font-size: var(--text-md);line-height: 1.45;color: var(--color-muted);}.case-groups{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: var(--space-3);}.case-group{display: flex;flex-direction: column;gap: var(--space-5);padding: var(--space-6) var(--space-6) var(--space-6);border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.case-group-title{color: var(--color-accent-text);}.case-group-figure{display: flex;flex-direction: column;gap: var(--space-2);}.case-group-value{font-size: var(--text-title);font-weight: 700;line-height: 1;letter-spacing: -0.02em;}.case-group-label{font-size: var(--text-base);line-height: 1.45;color: var(--color-muted);text-wrap: pretty;}.js .case-block:not(.is-revealed) .case-bar-fill,.js .case-block:not(.is-revealed) .case-scale-fill,.js .case-block:not(.is-revealed) .case-split-seg{transform: scaleX(0);}@media (forced-colors: active){.case-bar-fill,.case-scale-fill,.case-split-seg{fill: CanvasText;}.case-split-dot{forced-color-adjust: none;background-color: CanvasText;}}}@layer pages{.case-gallery{display: flex;flex-direction: column;gap: var(--space-6);}.case-gallery-head{display: flex;justify-content: space-between;align-items: end;gap: var(--space-4);padding-top: var(--space-6);border-top: 1px solid var(--color-ink);}.case-gallery-title{font-weight: 700;font-size: var(--text-title-sm);line-height: 1.1;letter-spacing: -0.015em;}.case-gallery-nav{display: flex;gap: var(--space-2);}.case-gallery-btn{width: 48px;height: 48px;border-radius: 50%;border: 1px solid var(--color-line);display: flex;align-items: center;justify-content: center;transition: background-color 300ms ease,border-color 300ms ease,color 300ms ease,opacity 300ms ease;}.case-gallery-btn:hover:not([aria-disabled="true"]){background-color: var(--color-btn);border-color: var(--color-btn);color: var(--color-btn-fg);}.case-gallery-btn[aria-disabled="true"]{opacity: 0.35;cursor: default;}.no-js .case-gallery-nav{display: none;}.case-gallery-strip{display: flex;gap: var(--space-fluid-xs);overflow-x: auto;overscroll-behavior-x: contain;scroll-snap-type: x mandatory;scroll-padding-inline: var(--pad-x);margin-inline: calc(var(--pad-x) * -1);padding: var(--space-1) var(--pad-x) var(--space-2);scrollbar-width: none;}.case-gallery-strip::-webkit-scrollbar{display: none;}.case-shot{flex: 0 0 auto;display: flex;flex-direction: column;gap: var(--space-2-5);scroll-snap-align: start;}.case-shot img{height: clamp(280px,40vw,560px);width: auto;max-width: none;border: 1px solid var(--color-line);border-radius: var(--radius-card);background-color: var(--color-card);}.case-shot-caption{font-size: var(--text-sm);color: var(--color-muted);}@media (max-width: 819px){.case-shot img{height: auto;max-height: clamp(240px,70vw,420px);max-width: calc(100vw - var(--pad-x) * 2 - 24px);}.case-shot{max-width: calc(100vw - var(--pad-x) * 2 - 24px);}}@media (pointer: coarse){.case-gallery-nav{display: none;}}}@layer pages{.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch{transition: opacity 700ms ease,transform 900ms var(--ease-out);}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(2){transition-delay: 90ms;}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(3){transition-delay: 180ms;}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(4){transition-delay: 270ms;}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(5){transition-delay: 360ms;}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(6){transition-delay: 450ms;}:is(.case-glance-item,.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch):nth-child(7){transition-delay: 540ms;}.js .case-glance:not(.is-revealed) .case-glance-item,.js .case-block:not(.is-revealed) :is(.case-block .card,.case-stat,.case-group,.case-split-item,.case-swatch){opacity: 0;transform: translateY(18px);}@keyframes case-settle{from{transform: scale(1.06);}to{transform: none;}}@keyframes case-shot-in{from{opacity: 0.4;transform: scale(0.94);}to{opacity: 1;transform: none;}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.case-hero-figure img{animation: case-settle linear both;animation-timeline: view();animation-range: entry 0% cover 45%;}.case-shot{animation: case-shot-in linear both;animation-timeline: view(inline);animation-range: entry 0% entry 90%;}}}}@layer pages{.service-page{padding: var(--space-fluid-m) var(--pad-x) var(--space-section);}.service-page-inner{max-width: var(--content-max);margin: 0 auto;display: flex;flex-direction: column;gap: var(--space-fluid-xl);}.service-page-inner > .breadcrumb + .service-hero{margin-top: calc(-1 * var(--space-fluid-m));}.service-hero{display: grid;grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);gap: var(--space-fluid-xl);align-items: center;}.service-hero-text{display: flex;flex-direction: column;gap: var(--space-6);}.service-hero-text .section-eyebrow{margin-bottom: 0;}.service-page-title{font-size: var(--text-display);line-height: 1.02;letter-spacing: -0.025em;overflow-wrap: anywhere;hyphens: auto;}.service-page-lead{font-size: var(--text-lead);line-height: 1.55;color: var(--color-muted);max-width: 560px;text-wrap: pretty;}.service-visual{position: relative;aspect-ratio: 1 / 1;max-height: 560px;border-radius: var(--radius-card);border: 1px solid var(--color-line);background-color: var(--color-card);overflow: hidden;}.no-js .service-visual{display: none;}.service-canvas{position: absolute;inset: 0;width: 100%;height: 100%;}.service-block{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,2fr);gap: var(--space-5) var(--space-fluid-xl);padding-top: var(--space-7);border-top: 1px solid var(--color-line);}.service-block-title{font-size: var(--text-title-sm);line-height: 1.1;letter-spacing: -0.015em;}.service-block-body{display: flex;flex-direction: column;gap: var(--space-4);font-size: var(--text-xl);line-height: 1.65;max-width: 72ch;}.service-steps{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-4) var(--space-7);counter-reset: none;}.service-steps li{display: flex;gap: var(--space-3-5);align-items: baseline;padding-top: var(--space-3-5);border-top: 1px solid var(--color-line);}.related-list{display: grid;grid-template-columns: repeat(auto-fill,minmax(240px,1fr));gap: var(--space-4);}.related-card{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-2-5);height: 100%;padding: var(--space-5);border-radius: var(--radius-card);border: 1px solid var(--color-line);background: var(--color-card);transition: border-color 200ms ease;}.related-card:hover{color: inherit;border-color: var(--color-ink);}.related-name{font-size: var(--text-3xl);}.related-meta{font-size: var(--text-md);color: var(--color-muted);}.service-cta-card{--color-focus: var(--color-accent-light);display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-5);padding: var(--space-fluid-l);border-radius: var(--radius-card-lg);background-color: var(--color-navy);color: var(--color-navy-fg);color-scheme: dark;}.service-cta-title{font-size: var(--text-title);text-wrap: balance;}.service-cta-text{font-size: var(--text-xl);line-height: 1.55;color: var(--color-navy-muted);max-width: 560px;}.service-others ul{display: flex;flex-wrap: wrap;gap: var(--space-2-5);margin-top: var(--space-5);}@media (max-width: 1023px){.service-hero,.service-block{grid-template-columns: 1fr;}.service-visual{aspect-ratio: 16 / 10;max-height: 420px;}}@media (max-width: 560px){.service-steps{grid-template-columns: 1fr;}}}@layer pages{.legal-page,.message-page{padding: var(--space-fluid-xl) var(--pad-x) var(--space-fluid-3xl);}.legal-title,.message-title{font-size: var(--text-display);line-height: 1.02;letter-spacing: -0.025em;overflow-wrap: anywhere;hyphens: auto;}.legal-container{max-width: 780px;margin: 0 auto;}.legal-container > .draft-badge{margin-bottom: var(--space-5);}.legal-intro{margin: var(--space-5) 0 var(--space-10);font-size: var(--text-xl);line-height: 1.55;color: var(--color-muted);}.legal-section{padding: var(--space-7) 0;border-top: 1px solid var(--color-line);}.legal-section h2{font-family: var(--font-display);font-stretch: 84%;font-weight: 700;font-size: var(--text-3xl);line-height: 1.2;margin-bottom: var(--space-3-5);}.legal-section p,.legal-section li{font-size: var(--text-lg);line-height: 1.7;max-width: 68ch;}.legal-section p + p,.legal-section p + ul,.legal-section ul + p{margin-top: var(--space-3);}.legal-section ul{list-style: disc;padding-left: 1.3em;}.legal-updated{margin-top: var(--space-8);color: var(--color-dim);}.message-container{max-width: 720px;margin: 0 auto;min-height: 50vh;display: flex;flex-direction: column;justify-content: center;align-items: flex-start;gap: var(--space-6);}.message-text{font-size: var(--text-xl);line-height: 1.6;color: var(--color-muted);}}@layer pages{.catalog{max-width: var(--content-max);margin: 0 auto;padding: var(--space-fluid-2xl) var(--pad-x) var(--space-24);display: flex;flex-direction: column;gap: var(--space-fluid-2xl);}.catalog-intro{display: flex;flex-direction: column;gap: var(--space-4);max-width: 46em;}.catalog-title{font-size: var(--text-display);font-weight: 700;line-height: 1;letter-spacing: -0.03em;}.catalog-text{font-size: var(--text-xl);line-height: 1.6;color: var(--color-muted);}.catalog-text code,.catalog-code code{font-family: var(--font-mono);font-size: var(--text-sm);}.catalog-group{display: flex;flex-direction: column;gap: var(--space-10);}.catalog-group-title{padding-top: var(--space-6);border-top: 1px solid var(--color-ink);font-size: var(--text-title-sm);font-weight: 700;line-height: 1.1;}.catalog-item{display: grid;grid-template-columns: minmax(0,3fr) minmax(0,6fr);gap: var(--space-5) var(--space-fluid-l);padding-top: var(--space-6);border-top: 1px solid var(--color-line);}.catalog-head{grid-row: span 2;display: flex;flex-direction: column;gap: var(--space-2);}.catalog-name{font-size: var(--text-3xl);font-weight: 700;}.catalog-note{font-size: var(--text-base);line-height: 1.55;color: var(--color-muted);}.catalog-demo,.catalog-code{grid-column: 2;min-width: 0;}.catalog-demo{container: case / inline-size;}.catalog-code{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-2-5);}.catalog-code pre{width: 100%;max-height: 280px;overflow: auto;padding: var(--space-4) var(--space-5);border: 1px solid var(--color-line);border-radius: 14px;background-color: var(--color-card);line-height: 1.5;}.catalog-dark{padding: var(--space-3);border-radius: 16px;background-color: var(--color-navy);}.catalog-buttons{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-4) var(--space-6);}@media (max-width: 1023px){.catalog-item{grid-template-columns: minmax(0,1fr);}.catalog-head{grid-row: auto;}.catalog-demo,.catalog-code{grid-column: auto;}}}@layer utilities{.img-contain{object-fit: contain;padding: var(--space-inset-media);}.visually-hidden{position: absolute !important;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0;}.js [data-rv]{opacity: 0;transform: translateY(48px);transition: opacity 900ms ease,transform 1100ms var(--ease-out);}.js [data-rv].is-revealed{opacity: 1;transform: translateY(0);}}@layer utilities{@media (max-width: 1023px){.snap-row{display: flex;gap: var(--space-3);overflow-x: auto;overscroll-behavior-x: contain;scroll-snap-type: x mandatory;scroll-padding-inline: var(--pad-x);margin-inline: calc(var(--pad-x) * -1);padding-inline: var(--pad-x);padding-bottom: var(--space-1);scrollbar-width: none;}.snap-row::-webkit-scrollbar{display: none;}.snap-row > *{flex: 0 0 min(78%,340px);scroll-snap-align: start;}}@supports (scroll-marker-group: after){@media (max-width: 1023px){.snap-row{scroll-marker-group: after;}.snap-row::scroll-marker-group{display: flex;justify-content: center;margin-top: var(--space-2);}.snap-row > *::scroll-marker{content: "";width: 24px;height: 24px;border-radius: 50%;background: radial-gradient(circle,var(--color-dim) 0 2.5px,transparent 3px);}.snap-row > *::scroll-marker:target-current{background: radial-gradient(circle,var(--color-ink) 0 4px,transparent 4.5px);}.snap-row > *::scroll-marker:focus-visible{outline: 2px solid var(--color-focus);outline-offset: -2px;}}}}@layer overrides{@media (forced-colors: active){:focus-visible{outline-color: Highlight;}canvas{display: none;}}}@layer overrides{@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto;}*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;transition-delay: 0s !important;}.js [data-rv]:not(.is-revealed){opacity: 1;transform: none;}.hero-title .cursor{opacity: 0;}}}@layer overrides{@media print{canvas,.skip-link,.progress-bar,.desktop-nav,.header-controls,.mobile-controls,.hero-footer-bar,.services-stage-container,.contact-form-col,.mobile-fab-btn,.mobile-overlay-menu,.service-visual,.dev-badge{display: none !important;}body,.contact-section,.site-footer,.service-cta-card{background: white !important;color: black !important;}.site-header{position: static !important;transform: none !important;}.hero-section{min-height: 0;}[data-rv],.accordion-panel{opacity: 1 !important;transform: none !important;grid-template-rows: 1fr !important;}.accordion-panel-inner{visibility: visible !important;}}}@media (prefers-reduced-motion: no-preference){@view-transition{navigation: auto;}::view-transition-old(root),::view-transition-new(root){animation-duration: 320ms;animation-timing-function: var(--ease-out);}::view-transition-group(*){animation-duration: 420ms;animation-timing-function: var(--ease-out);}}
