@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/Inter-Regular.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/Inter-Medium.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/Inter-SemiBold.woff) format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/InterDisplay-Medium.woff) format("woff")}@font-face{font-family:Inter Display;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/InterDisplay-SemiBold.woff) format("woff")}:root{--color-ink: #1b2427;--color-ink-2: #3c494e;--color-muted: #56656a;--color-bg: #ffffff;--color-bg-soft: #f5f6f4;--color-surface: #eaeeed;--color-line: #dbe0df;--color-line-strong: #b9c3c2;--color-accent: #1d6b66;--color-accent-strong: #14524e;--color-accent-soft: #e2eeec;--color-accent-on-dark: #8fcac2;--color-dark: #132024;--color-dark-2: #1c2d32;--color-on-dark: #e8eeed;--color-on-dark-muted: #a9b8b7;--color-pending: #7a4f0c;--color-pending-bg: #fbf4e6;--color-pending-line: #e2c58f;--color-error: #a3271f;--color-error-bg: #fcefed;--color-success: #1d6b45;--color-success-bg: #e7f3ec;--color-focus: #1d6b66;--font-display: "Inter Display", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: clamp(1.125rem, 1.05rem + .3vw, 1.3125rem);--text-xl: clamp(1.375rem, 1.2rem + .7vw, 1.75rem);--text-2xl: clamp(1.75rem, 1.4rem + 1.4vw, 2.625rem);--text-3xl: clamp(2.25rem, 1.6rem + 2.6vw, 3.875rem);--text-4xl: clamp(2.625rem, 1.7rem + 3.8vw, 4.75rem);--leading-tight: 1.08;--leading-snug: 1.25;--leading-body: 1.62;--tracking-display: -.025em;--tracking-eyebrow: .14em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--section-y: clamp(4.5rem, 3rem + 6vw, 8.5rem);--gutter: clamp(1.25rem, .6rem + 3vw, 3.5rem);--container: 78rem;--container-narrow: 46rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgb(19 32 36 / .06);--shadow: 0 1px 2px rgb(19 32 36 / .05), 0 8px 28px -12px rgb(19 32 36 / .16);--ease: cubic-bezier(.22, .61, .36, 1);--dur-fast: .16s;--dur: .32s;--dur-slow: .7s;--header-h: 72px;--banner-h: 0px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--banner-h) + 16px)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body.has-banner{--banner-h: 36px}img,svg{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:var(--tracking-display);line-height:var(--leading-snug);margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:3px}.dark :focus-visible,.site-footer :focus-visible{outline-color:var(--color-accent-on-dark)}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-ink);color:#fff;border-radius:var(--radius);text-decoration:none;font-weight:500}.skip-link:focus{top:var(--space-3);color:#fff}.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}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.section{padding-block:var(--section-y)}.section--soft{background:var(--color-bg-soft)}.section--tight{padding-block:calc(var(--section-y) * .6)}.section+.section:not(.section--soft):not(.dark){border-top:1px solid var(--color-line)}.stack>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:var(--space-6)}.grid{display:grid;gap:var(--space-6)}.grid>*,.split>*,.hero__grid>*,.stepper>*,.cta-band__grid>*{min-width:0}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.split{display:grid;gap:var(--space-7) var(--space-8);align-items:start}@media(min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split--center{align-items:center}.split--sticky>:first-child{position:sticky;top:calc(var(--header-h) + var(--banner-h) + 32px)}}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-muted)}.eyebrow__index{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent)}.eyebrow:after{content:"";width:28px;height:1px;background:currentColor;opacity:.5}.eyebrow--plain:after{display:none}.display{font-size:var(--text-4xl);line-height:var(--leading-tight);font-weight:500}.h1{font-size:var(--text-3xl);line-height:1.1}.h2{font-size:var(--text-2xl);line-height:1.15}.h3{font-size:var(--text-xl)}.h4{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.lead{font-size:var(--text-lg);line-height:1.6;color:var(--color-ink-2);max-width:40em}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}.xs{font-size:var(--text-xs)}.section-head{display:grid;gap:var(--space-4);max-width:48rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem)}.section-head--row{max-width:none}@media(min-width:900px){.section-head--row{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:var(--space-8)}}.prose{max-width:44rem;color:var(--color-ink-2)}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--text-xl);color:var(--color-ink);margin-top:var(--space-7)}.prose h3{font-size:var(--text-lg);color:var(--color-ink);margin-top:var(--space-6);font-weight:600;letter-spacing:-.01em}.prose ul{padding-left:1.2em}.prose li+li{margin-top:var(--space-2)}.btn{--btn-bg: var(--color-accent);--btn-fg: #fff;--btn-line: var(--color-accent);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:48px;padding:0 1.375rem;border-radius:var(--radius);border:1px solid var(--btn-line);background:var(--btn-bg);color:var(--btn-fg);font:500 var(--text-sm)/1 var(--font-body);letter-spacing:.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover{--btn-bg: var(--color-accent-strong);--btn-line: var(--color-accent-strong);color:var(--btn-fg)}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}.btn:hover svg{transform:translate(3px)}.btn--secondary{--btn-bg: transparent;--btn-fg: var(--color-ink);--btn-line: var(--color-line-strong)}.btn--secondary:hover{--btn-bg: var(--color-bg);--btn-fg: var(--color-ink);--btn-line: var(--color-ink)}.btn--light{--btn-bg: var(--color-on-dark);--btn-fg: var(--color-dark);--btn-line: var(--color-on-dark)}.btn--light:hover{--btn-bg: #fff;--btn-line: #fff;--btn-fg: var(--color-dark)}.btn--ghost-light{--btn-bg: transparent;--btn-fg: var(--color-on-dark);--btn-line: rgb(232 238 237 / .35)}.btn--ghost-light:hover{--btn-bg: rgb(255 255 255 / .06);--btn-fg: #fff;--btn-line: var(--color-on-dark)}.btn--sm{min-height:40px;padding:0 1rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:progress}.btn-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500;font-size:var(--text-sm);text-decoration:none;color:var(--color-accent);min-height:44px}.link-arrow svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}.link-arrow:hover svg{transform:translate(3px)}.preview-banner{height:var(--banner-h);overflow:hidden;display:flex;align-items:center;justify-content:center;padding-inline:var(--space-4);background:var(--color-pending-bg);color:var(--color-pending);border-bottom:1px solid var(--color-pending-line);font-size:.75rem;font-weight:500;letter-spacing:.01em;text-align:center;line-height:1.2}.preview-banner strong{font-weight:600}.preview-banner__short{display:none}@media(max-width:760px){.preview-banner__more{display:none}.preview-banner__short{display:inline}}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.site-header.is-scrolled{border-bottom-color:var(--color-line);box-shadow:var(--shadow-sm)}.site-header__inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.wordmark{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--color-ink);min-height:44px}.wordmark:hover{color:var(--color-ink)}.wordmark__mark{width:26px;height:26px;flex:none}.wordmark__text{font-family:var(--font-display);font-weight:600;font-size:1.1875rem;letter-spacing:-.02em}.wordmark__note{font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-pending);border:1px dashed var(--color-pending-line);border-radius:3px;padding:1px 5px;line-height:1.4}.primary-nav{display:none}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:clamp(.25rem,.2rem + .5vw,1rem)}.nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:color var(--dur-fast) var(--ease)}.nav-link:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav-link:hover{color:var(--color-ink)}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.nav-link[aria-current=page]{color:var(--color-ink)}.nav-link[aria-current=page]:after{background:var(--color-accent);height:2px}.header-cta{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--color-line-strong);border-radius:var(--radius);color:var(--color-ink);cursor:pointer}.menu-toggle__bars{position:relative;width:18px;height:12px}.menu-toggle__bars span{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;border-radius:2px;transition:transform var(--dur) var(--ease),opacity var(--dur-fast) var(--ease),top var(--dur) var(--ease)}.menu-toggle__bars span:nth-child(1){top:0}.menu-toggle__bars span:nth-child(2){top:5.25px}.menu-toggle__bars span:nth-child(3){top:10.5px}.menu-toggle[aria-expanded=true] .menu-toggle__bars span:nth-child(1){top:5.25px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__bars span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle__bars span:nth-child(3){top:5.25px;transform:rotate(-45deg)}.mobile-menu{position:fixed;inset:calc(var(--header-h) + var(--banner-h)) 0 0 0;z-index:49;background:var(--color-bg);overflow-y:auto;padding:var(--space-5) var(--gutter) var(--space-8);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.mobile-menu.is-open{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s}.mobile-menu ul{list-style:none;border-top:1px solid var(--color-line)}.mobile-menu li{border-bottom:1px solid var(--color-line)}.mobile-menu a.mobile-link{display:flex;justify-content:space-between;align-items:center;min-height:60px;font-family:var(--font-display);font-size:1.375rem;font-weight:500;letter-spacing:-.015em;color:var(--color-ink);text-decoration:none}.mobile-menu a.mobile-link[aria-current=page]{color:var(--color-accent)}.mobile-menu a.mobile-link svg{width:18px;height:18px;color:var(--color-muted)}.mobile-menu .btn{width:100%;margin-top:var(--space-6)}body.menu-open{overflow:hidden}@media(min-width:1100px){.primary-nav,.header-cta{display:block}.menu-toggle,.mobile-menu{display:none}}.ph-media{position:relative;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-bg-soft);border:1px solid var(--color-line);background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}.ph-media:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgb(245 246 244 / 0) 0%,rgb(245 246 244 / .55) 55%,var(--color-bg-soft) 100%)}.ph-media__marks{position:absolute;inset:18px;pointer-events:none}.ph-media__marks i{position:absolute;width:14px;height:14px;border-color:var(--color-line-strong);border-style:solid;border-width:0}.ph-media__marks i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}.ph-media__marks i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}.ph-media__marks i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}.ph-media__marks i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}.ph-media__body{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center}.ph-media__icon{width:40px;height:40px;color:var(--color-line-strong)}.ph-media__label{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);max-width:22rem;line-height:1.4}.ph-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--color-pending-bg);color:var(--color-pending);border:1px dashed var(--color-pending-line);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;white-space:nowrap}.ph-text{display:inline;padding:.05em .35em;border-radius:3px;background:var(--color-pending-bg);color:var(--color-pending);border:1px dashed var(--color-pending-line);font-size:.92em;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}.ph-block{border:1px dashed var(--color-pending-line);background:var(--color-pending-bg);border-radius:var(--radius);padding:var(--space-5);color:var(--color-pending);font-size:var(--text-sm)}.ph-block strong{display:block;margin-bottom:var(--space-1);font-weight:600}.hero{position:relative;padding-block:clamp(3rem,2rem + 5vw,6.5rem) clamp(4rem,3rem + 5vw,7.5rem);overflow:hidden}.hero:before{content:"";position:absolute;inset:0 0 auto;height:100%;z-index:-1;background:linear-gradient(180deg,var(--color-bg-soft) 0%,var(--color-bg) 85%)}.hero__grid{display:grid;gap:var(--space-7);align-items:center}@media(min-width:900px){.hero__grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-8)}}.hero__copy>*+*{margin-top:var(--space-5)}.hero__copy .btn-row{margin-top:var(--space-6)}.hero__visual .ph-media{aspect-ratio:5 / 4}.hero__note{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);color:var(--color-muted);font-size:var(--text-xs)}.hero__note svg{width:16px;height:16px;flex:none}.page-hero{padding-block:clamp(3rem,2rem + 4vw,5.5rem) clamp(2.5rem,2rem + 3vw,4.5rem);background:var(--color-bg-soft);border-bottom:1px solid var(--color-line)}.page-hero__inner{display:grid;gap:var(--space-5);max-width:52rem}.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;font-size:var(--text-xs);color:var(--color-muted)}.breadcrumb a{color:var(--color-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-ink);text-decoration:underline}.breadcrumb li+li:before{content:"/";margin-right:var(--space-2);color:var(--color-line-strong)}.card{background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:clamp(1.5rem,1.2rem + 1vw,2.25rem)}.card--soft{background:var(--color-bg-soft)}.card>*+*{margin-top:var(--space-3)}.feature{display:grid;gap:var(--space-3);align-content:start;padding-top:var(--space-5);border-top:1px solid var(--color-line-strong)}.feature__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius);background:var(--color-accent-soft);color:var(--color-accent)}.feature__icon svg{width:22px;height:22px}.feature__title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;font-family:var(--font-display)}.feature p{color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.6}.feature__meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.index-list{list-style:none;counter-reset:idx;border-top:1px solid var(--color-line)}.index-list>li{counter-increment:idx;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5);border-bottom:1px solid var(--color-line)}.index-list>li:before{content:counter(idx,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);padding-top:.35em}.index-list h3{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-2)}.index-list p{color:var(--color-ink-2);font-size:var(--text-sm)}.check-list{list-style:none;display:grid;gap:var(--space-3)}.check-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-2)}.check-list svg{width:18px;height:18px;margin-top:.2em;color:var(--color-accent)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;line-height:1.3;border:1px solid var(--color-line-strong);color:var(--color-ink-2);background:var(--color-bg);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge--concept{color:var(--color-accent-strong);border-color:#b5d3cf;background:var(--color-accent-soft)}.device-card{display:grid;gap:var(--space-5);align-content:start}.device-card .ph-media{aspect-ratio:4 / 3}.device-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.device-card__body>*+*{margin-top:var(--space-4)}.device-card dl{display:grid;gap:var(--space-4);margin:0}.device-card dt{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-muted);font-weight:500;margin-bottom:var(--space-1)}.device-card dd{margin:0;color:var(--color-ink-2);font-size:var(--text-sm)}.spec{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.spec caption{text-align:left;padding-bottom:var(--space-4);color:var(--color-muted);font-size:var(--text-xs)}.spec th,.spec td{text-align:left;vertical-align:top;padding:var(--space-4) var(--space-4) var(--space-4) 0;border-bottom:1px solid var(--color-line)}.spec thead th{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-muted);font-weight:500;border-bottom-color:var(--color-line-strong)}.spec tbody th{font-weight:500;color:var(--color-ink);width:34%}.spec td{color:var(--color-ink-2)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll .spec{min-width:36rem}.stages{list-style:none;display:grid;gap:0;border-top:1px solid var(--color-line-strong)}@media(min-width:900px){.stages{grid-template-columns:repeat(6,minmax(0,1fr));border-top:0}}.stage{position:relative;padding:var(--space-5) var(--space-4) var(--space-5) 0;border-bottom:1px solid var(--color-line);display:grid;gap:var(--space-2);align-content:start}@media(min-width:900px){.stage{border-bottom:0;border-top:2px solid var(--color-line-strong);padding-top:var(--space-6)}.stage:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-line-strong)}}.stage__num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent)}.stage__title{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;font-family:var(--font-display);line-height:1.3}.stage p{font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.55}.status-legend{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr))}.status-legend__item{padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-bg);display:grid;gap:var(--space-2);align-content:start}.status-legend__item.is-current{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.status-legend__item h3{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em}.status-legend__item p{font-size:var(--text-sm);color:var(--color-ink-2)}.notice{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-sm)}.notice svg{width:20px;height:20px;margin-top:.15em;color:var(--color-ink-2)}.notice strong{color:var(--color-ink);font-weight:600}.stepper{display:grid;gap:var(--space-6)}@media(min-width:900px){.stepper{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8);align-items:start}}.stepper__tabs{list-style:none;display:grid;border-top:1px solid var(--color-line)}.stepper__tab{width:100%;display:grid;grid-template-columns:2.75rem minmax(0,1fr) 16px;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) 0;background:none;border:0;border-bottom:1px solid var(--color-line);font:500 var(--text-base)/1.3 var(--font-body);color:var(--color-ink-2);text-align:left;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.stepper__tab:hover{color:var(--color-ink)}.stepper__tab-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.stepper__tab svg{width:16px;height:16px;opacity:0;transform:translate(-4px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);color:var(--color-accent)}.stepper__tab[aria-selected=true]{color:var(--color-ink);font-weight:600}.stepper__tab[aria-selected=true] .stepper__tab-num{color:var(--color-accent)}.stepper__tab[aria-selected=true] svg{opacity:1;transform:none}.stepper__panels{position:relative}.stepper__panel{display:grid;gap:var(--space-5)}.stepper__panel[hidden]{display:none}.js .stepper__panel:not([hidden]){animation:panel-in var(--dur) var(--ease)}.stepper__visual{aspect-ratio:16 / 10;border-radius:var(--radius-lg);background:var(--color-bg-soft);border:1px solid var(--color-line);display:grid;place-items:center;position:relative;overflow:hidden}.stepper__visual-icon{width:96px;height:96px;color:var(--color-accent)}.stepper__visual-num{position:absolute;left:var(--space-5);top:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.stepper__visual .ph-tag{position:absolute;right:var(--space-4);bottom:var(--space-4)}.stepper__progress{position:absolute;left:0;bottom:0;height:2px;background:var(--color-accent);transition:width var(--dur) var(--ease)}.stepper__nav{display:flex;gap:var(--space-3)}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gallery{display:grid;gap:var(--space-3)}.gallery__main .ph-media{aspect-ratio:4 / 3}.gallery__slide[hidden]{display:none}.js .gallery__slide:not([hidden]){animation:panel-in var(--dur) var(--ease)}.gallery__thumbs{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.gallery__thumb{width:100%;aspect-ratio:4 / 3;padding:0;border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-bg-soft);cursor:pointer;display:grid;place-items:center;color:var(--color-muted);font:500 var(--text-xs)/1.2 var(--font-body);transition:border-color var(--dur-fast) var(--ease)}.gallery__thumb:hover{border-color:var(--color-line-strong)}.gallery__thumb[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);color:var(--color-ink)}.dark{background:var(--color-dark);color:var(--color-on-dark)}.dark .eyebrow{color:var(--color-on-dark-muted)}.dark .eyebrow__index{color:var(--color-accent-on-dark)}.dark .lead,.dark p{color:var(--color-on-dark-muted)}.dark h2,.dark h3{color:#fff}.dark a:not(.btn){color:var(--color-accent-on-dark)}.dark .index-list,.dark .index-list>li{border-color:#e8eeed24}.dark .index-list>li:before{color:var(--color-accent-on-dark)}.dark .index-list p{color:var(--color-on-dark-muted)}.cta-band__grid{display:grid;gap:var(--space-7)}@media(min-width:900px){.cta-band__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8)}}.cta-band .btn-row{margin-top:var(--space-6)}.cta-strip{display:grid;gap:var(--space-5);align-items:center;padding:clamp(2rem,1.5rem + 2vw,3rem);border-radius:var(--radius-lg);background:var(--color-dark);color:var(--color-on-dark)}.cta-strip h2{color:#fff;font-size:var(--text-xl)}.cta-strip p{color:var(--color-on-dark-muted);margin-top:var(--space-2)}@media(min-width:900px){.cta-strip{grid-template-columns:minmax(0,1fr) auto}}.team-card{display:grid;gap:var(--space-4);align-content:start}.team-card .ph-media{aspect-ratio:4 / 5;border-radius:var(--radius)}.team-card .ph-media__label{font-size:var(--text-xs)}.team-card__name{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;font-family:var(--font-display)}.team-card__role{font-size:var(--text-sm);color:var(--color-muted)}.facts{display:grid;gap:0;margin:0;border-top:1px solid var(--color-line)}.facts>div{display:grid;gap:var(--space-1) var(--space-5);padding-block:var(--space-4);border-bottom:1px solid var(--color-line)}@media(min-width:640px){.facts>div{grid-template-columns:14rem minmax(0,1fr)}}.facts dt{font-size:var(--text-sm);color:var(--color-muted)}.facts dd{margin:0;font-size:var(--text-sm);color:var(--color-ink)}.form{display:grid;gap:var(--space-5)}.form__row{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr))}.field{display:grid;gap:var(--space-2);align-content:start}.field label,.field legend{font-size:var(--text-sm);font-weight:500;color:var(--color-ink)}.field .req{color:var(--color-error);margin-left:2px}.field .opt{color:var(--color-muted);font-weight:400;margin-left:4px}.input,.select,.textarea{width:100%;min-height:50px;padding:.75rem .9rem;border-radius:var(--radius);border:1px solid var(--color-line-strong);background:var(--color-bg);color:var(--color-ink);font:400 var(--text-base)/1.4 var(--font-body);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.textarea{min-height:160px;resize:vertical;line-height:var(--leading-body)}.select{appearance:none;-webkit-appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2356656a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-ink-2)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #1d6b662e}.field.is-invalid .input,.field.is-invalid .select,.field.is-invalid .textarea{border-color:var(--color-error)}.field.is-invalid .input:focus,.field.is-invalid .select:focus,.field.is-invalid .textarea:focus{box-shadow:0 0 0 3px #a3271f26}.field__error{display:none;font-size:var(--text-xs);color:var(--color-error);font-weight:500}.field.is-invalid .field__error{display:block}.field__hint{font-size:var(--text-xs);color:var(--color-muted)}.checkbox{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-3);align-items:start;font-size:var(--text-sm);color:var(--color-ink-2)}.checkbox input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--color-accent);cursor:pointer}.checkbox label{font-weight:400;cursor:pointer}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__status{display:none;grid-template-columns:22px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius);font-size:var(--text-sm)}.form__status svg{width:20px;height:20px;margin-top:.1em}.form__status.is-visible{display:grid;animation:panel-in var(--dur) var(--ease)}.form__status--error{background:var(--color-error-bg);color:var(--color-error)}.form__status--success{background:var(--color-success-bg);color:var(--color-success)}.form__status strong{display:block;font-weight:600}.form__status a{color:inherit;font-weight:600}.form__submit{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgb(255 255 255 / .35);border-top-color:#fff;animation:spin .8s linear infinite;display:none}.is-loading .spinner{display:inline-block}.is-loading .btn__arrow{display:none}@keyframes spin{to{transform:rotate(360deg)}}.form.is-sent .form__fields{display:none}.site-footer{background:var(--color-dark);color:var(--color-on-dark-muted);padding-block:clamp(3.5rem,3rem + 3vw,5.5rem) var(--space-6);font-size:var(--text-sm)}.site-footer .wordmark{color:#fff}.site-footer .wordmark__note{color:#e9cf9d;border-color:#e2c58f80}.footer__top{display:grid;gap:var(--space-7);padding-bottom:var(--space-7);border-bottom:1px solid rgb(232 238 237 / .14)}@media(min-width:900px){.footer__top{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-8)}}.footer__brand>*+*{margin-top:var(--space-4)}.footer__brand p{max-width:24rem}.footer__cols{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr))}.footer__col h2{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-on-dark);margin-bottom:var(--space-4)}.footer__col ul{list-style:none;display:grid;gap:var(--space-1)}.footer__col a{color:var(--color-on-dark-muted);text-decoration:none;display:inline-flex;min-height:32px;align-items:center}.footer__col a:hover{color:#fff;text-decoration:underline}.footer__bottom{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);justify-content:space-between;padding-top:var(--space-5);font-size:var(--text-xs)}.footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.footer__legal a{color:var(--color-on-dark-muted)}.footer__legal a:hover{color:#fff}.site-footer .ph-text{background:#fbf4e61a;color:#e9cf9d;border-color:#e2c58f73}.to-top{position:fixed;right:var(--gutter);bottom:var(--space-5);z-index:40;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--color-bg);color:var(--color-ink);border:1px solid var(--color-line-strong);box-shadow:var(--shadow);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.to-top.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s}.to-top svg{width:18px;height:18px}.to-top:hover{border-color:var(--color-ink)}.not-found{min-height:60vh;display:grid;align-content:center;padding-block:var(--section-y)}.not-found__code{font-family:var(--font-mono);color:var(--color-accent);font-size:var(--text-sm)}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);transition-delay:var(--reveal-delay, 0ms)}.js [data-reveal].is-visible{opacity:1;transform:none}.hero__copy>*,.hero__visual{animation:hero-in .9s var(--ease) both}.hero__copy>:nth-child(2){animation-delay:80ms}.hero__copy>:nth-child(3){animation-delay:.16s}.hero__copy>:nth-child(4){animation-delay:.24s}.hero__copy>:nth-child(5){animation-delay:.3s}.hero__visual{animation-delay:.2s;animation-duration:1.1s}@keyframes hero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.site-header,.mobile-menu,.to-top,.preview-banner,.site-footer .footer__cols{display:none!important}.dark,.site-footer{background:#fff;color:#000}}.illus{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-line);background-color:var(--color-bg-soft);background-image:linear-gradient(rgb(185 195 194 / .22) 1px,transparent 1px),linear-gradient(90deg,rgb(185 195 194 / .22) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}.illus .schematic,.stepper__visual .schematic{position:absolute;inset:0;width:100%;height:100%}.illus .schematic{top:5%;left:4%;width:92%;height:77%}.illus__caption{position:absolute;left:var(--space-4);bottom:var(--space-3);right:var(--space-4);z-index:1;font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);right:auto;padding:2px 6px;margin-left:-6px;border-radius:4px;background:#fffc}@media(max-width:640px){.illus__caption{font-size:.625rem}}.stepper__visual .schematic{top:10%;left:4%;width:92%;height:68%}.stepper__visual{background-image:none}.device-card .illus,.gallery__main .illus{aspect-ratio:4 / 3}.hero__visual .illus{box-shadow:var(--shadow);background-color:#fbfbfa}.wordmark__mark{width:28px;height:28px;color:var(--color-ink)}.site-footer .wordmark__mark{color:var(--color-on-dark);--logo-accent: #8fcac2;--logo-dot: #132024}
