html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
@font-face{font-family:"Geist";src:url("../fonts/Geist-Variable.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url("../fonts/Geist-Variable-ext.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+100-130,U+132-151,U+154-4EF,U+E3F,U+1E20-1EF9,U+2044,U+2070-20AA,U+20B1-2117,U+2153-215E,U+219D-2211,U+221A-2236,U+2460-263A,U+2776-277E,U+3003-301C,U+A78B-A78C,U+F8FF,U+FB01-FB02}
@font-face{font-family:"Geist Mono";src:url("../fonts/GeistMono-Variable.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("../fonts/GeistMono-Variable-ext.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap;unicode-range:U+100-130,U+134-151,U+154-4EF,U+E3F,U+1E20-1EF9,U+2044,U+2070-20AA,U+20B1-2117,U+2153-215E,U+219D-2211,U+221A-2236,U+2326-25CF,U+2776-277E,U+3003-301C,U+A78B-A78C,U+F8FF}
@font-face{font-family:"Geist Fallback";src:local("Arial"),local("ArialMT");font-weight:400 500;size-adjust:103.66%;ascent-override:96.96%;descent-override:28.46%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-AC,U+AE-FF,U+131,U+152-153,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+2030,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2190-2199,U+2212,U+2248,U+2260,U+2264-2265}
@font-face{font-family:"Geist Fallback";src:local("Arial Bold"),local("Arial-BoldMT");font-weight:600 900;size-adjust:101.09%;ascent-override:99.41%;descent-override:29.18%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-AC,U+AE-FF,U+131,U+152-153,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+2030,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2190-2199,U+2212,U+2248,U+2260,U+2264-2265}
:root{--navy-950:#0A1220;--navy-900:#0F1B2D;--navy-800:#16243A;--navy-700:#1E2F4A;--red-500:#ED3237;--red-600:#D42A2F;--red-300:#F04A4F;--red-700:#B3232A;--canvas:#F5F5F2;--surface:#FFFFFF;--surface-2:#EDEDE8;--ink:#0E1116;--ink-2:#3D4450;--ink-3:#5B6370;--line:rgba(14, 17, 22, 0.10);--on-dark:#F4F5F7;--on-dark-2:#A3ABB8;--on-dark-3:#8A93A3;--line-dark:rgba(255, 255, 255, 0.12);--font-sans:"Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-display:clamp(3rem, 8.4vw, 7.5rem);--fs-h1:clamp(2.5rem, 6vw, 5rem);--fs-h2:clamp(2.125rem, 4.6vw, 4rem);--fs-h3:clamp(1.375rem, 2.2vw, 1.75rem);--fs-num:clamp(3.5rem, 9vw, 8rem);--fs-lead:clamp(1.125rem, 1.7vw, 1.4rem);--fs-body:1.0625rem;--fs-small:0.9375rem;--fs-eyebrow:0.8125rem;--lh-tight:1.0;--lh-snug:1.15;--lh-body:1.6;--tracking-display:-0.045em;--tracking-h:-0.032em;--tracking-eyebrow:0.14em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--section-y:clamp(5rem, 11vw, 10rem);--gutter:clamp(1rem, 4vw, 2.5rem);--container:1280px;--container-narrow:880px;--nav-h:72px;--r-sm:12px;--r-md:20px;--r-lg:32px;--r-pill:999px;--ease-out:cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);--dur-1:0.2s;--dur-2:0.45s;--dur-3:0.9s;--shadow-1:0 1px 2px rgba(14, 17, 22, 0.04), 0 8px 24px rgba(14, 17, 22, 0.05);--shadow-2:0 30px 80px rgba(10, 18, 32, 0.22);--z-mobilebar:90;--z-nav:100;--z-menu:110;--z-dialog:200}
@media (min-width:1920px){:root{--fs-display:clamp(3rem, 8.4vw, 8.5rem);--fs-h1:clamp(2.5rem, 6vw, 5.5rem);--fs-h2:clamp(2.125rem, 4.6vw, 4.5rem);--fs-h3:clamp(1.375rem, 2.2vw, 1.875rem);--fs-num:clamp(3.5rem, 9vw, 9rem);--fs-lead:clamp(1.125rem, 1.7vw, 1.5rem);--fs-body:1.125rem;--fs-small:1rem;--container:1440px;--container-narrow:960px}}
@media (min-width:2400px){:root{--fs-display:clamp(3rem, 8.4vw, 9rem);--fs-h2:clamp(2.125rem, 4.6vw, 4.75rem);--fs-lead:clamp(1.125rem, 1.7vw, 1.625rem);--container:1600px;--container-narrow:1040px}}
:root,[data-theme="light"]{--bg:var(--canvas);--fg:var(--ink);--fg-2:var(--ink-2);--fg-3:var(--ink-3);--line-c:var(--line);--card-bg:var(--surface);--accent-text:var(--red-700);--accent:var(--red-500)}
[data-theme="dark"]{--bg:var(--navy-900);--fg:var(--on-dark);--fg-2:var(--on-dark-2);--fg-3:var(--on-dark-3);--line-c:var(--line-dark);--card-bg:var(--navy-800);--accent-text:var(--red-300);--accent:var(--red-500)}
@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out);transition-delay:calc(var(--reveal-i,0) * 80ms + var(--reveal-delay,0ms))}.js [data-reveal="fade"]{transform:none}.js [data-reveal="scale"]{transform:scale(0.96)}.js [data-reveal="left"]{transform:translateX(-32px)}.js [data-reveal="right"]{transform:translateX(32px)}.js [data-reveal].is-in{opacity:1;transform:none}.js [data-reveal]:focus-within{opacity:1;transform:none;transition-delay:0s;transition-duration:var(--dur-1)}}
[data-count]{font-variant-numeric:tabular-nums}
.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}
html.is-locked{overflow:hidden}
@media (max-width:767.98px),(max-height:500px) and (orientation:landscape){:root{--nav-h:60px}}
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--nav-h);color-scheme:light;background:var(--navy-950)}
html.lenis{scroll-padding-top:0}
.lenis [data-lenis-prevent-horizontal]{overscroll-behavior-y:auto}
:is(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin-top:calc(var(--nav-h) + var(--space-4));scroll-margin-bottom:calc(var(--mobilebar-h,0px) + 2 * var(--space-3) + env(safe-area-inset-bottom))}
body{min-height:100vh;min-height:100svh;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-body);font-kerning:normal;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
::selection{background:var(--red-600);color:var(--surface)}
img,picture,video,canvas,svg{display:block;max-width:100%}
img,video{height:auto}
img{border-style:none}
input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}
input,textarea,select{font-size:max(16px,1em)}
button{padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:not-allowed}
textarea{resize:vertical}
h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--lh-snug);text-wrap:balance;overflow-wrap:break-word}
p,li,dd,dt,figcaption,blockquote{overflow-wrap:break-word;text-wrap:pretty}
strong,b{font-weight:600}
em,i,cite,dfn,var,address{font-style:normal}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
:where(a[href],button,summary,label,select,[role="button"]){touch-action:manipulation}
:where(p,li,dd,figcaption,blockquote) a:not([class]){text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:0.22em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);transition:text-decoration-color var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){:where(p,li,dd,figcaption,blockquote) a:not([class]):hover{text-decoration-color:currentColor}}
ul[class],ol[class],ul[role="list"],ol[role="list"]{list-style:none;padding:0}
hr{height:0;border:0;border-top:1px solid var(--line-c);color:inherit}
table{border-collapse:collapse}
[hidden]:not([hidden="until-found"]){display:none!important}
[data-theme]{color:var(--fg)}
[data-theme="dark"]{color-scheme:dark}
[data-theme="light"]{color-scheme:light}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:focus:not(:focus-visible){outline:none}
.skip-link{position:fixed;top:var(--space-3);left:max(var(--space-3),env(safe-area-inset-left));z-index:var(--z-dialog);display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-5);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font-size:var(--fs-small);font-weight:500;box-shadow:var(--shadow-1);transform:translateY(calc(-100% - var(--space-5)));transition:transform var(--dur-1) var(--ease-out)}
.skip-link:focus,.skip-link:focus-visible{transform:none}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.container--narrow{max-width:var(--container-narrow)}
.section{position:relative;padding-block:var(--section-y);background:var(--bg);color:var(--fg)}
.island{position:relative;isolation:isolate;overflow:hidden;margin-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right));border-radius:var(--r-lg);background:var(--navy-900);color:var(--on-dark)}
@media (min-width:1440px){.island{margin-inline:max(var(--gutter),calc((100% - var(--container)) / 2 - var(--space-8)))}}
.section-head{max-width:760px;margin-bottom:var(--space-8)}
@media (min-width:1920px){.section-head{max-width:860px}}
.section-head>* + *{margin-top:var(--space-5)}
.section-head>.eyebrow + *{margin-top:var(--space-4)}
.section-head .t-lead{color:var(--fg-2)}
.section-head--center{margin-inline:auto;text-align:center}
.t-display{font-size:var(--fs-display);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tracking-display);text-wrap:balance}
.t-h1{font-size:var(--fs-h1);font-weight:600;line-height:1.03;letter-spacing:-0.04em;text-wrap:balance}
.t-h2{font-size:var(--fs-h2);font-weight:600;line-height:1.06;letter-spacing:var(--tracking-h);text-wrap:balance}
.t-h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug);letter-spacing:-0.02em;text-wrap:balance}
.t-num{font-size:var(--fs-num);font-weight:600;line-height:var(--lh-tight);letter-spacing:-0.045em;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;overflow-wrap:normal}
.t-lead{font-size:var(--fs-lead);font-weight:400;line-height:1.45;letter-spacing:-0.012em;text-wrap:pretty}
.t-body{font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}
.t-small{font-size:var(--fs-small);line-height:1.55;text-wrap:pretty}
.t-muted.t-muted{color:var(--fg-2)}
.t-faint.t-faint{color:var(--fg-3)}
.eyebrow{font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}
.eyebrow::before{content:"";display:inline-block;width:6px;height:6px;margin-right:0.75em;border-radius:50%;background:var(--accent);vertical-align:0.14em}
.accent.accent{color:var(--accent)}
.accent-text.accent-text{color:var(--accent-text)}
.mg-line-mask{padding-block:0.08em 0.12em;margin-block:-0.08em -0.12em}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
.icon{display:inline-block;flex-shrink:0;width:24px;height:24px;fill:currentColor;vertical-align:middle}
.icon--xs{width:16px;height:16px}
.icon--sm{width:20px;height:20px}
.icon--lg{width:32px;height:32px}
.btn{--btn-h:48px;--btn-px:var(--space-5);--btn-fs:1rem;--btn-icon:32px;--btn-bg:var(--fg);--btn-fg:var(--bg);--btn-bd:transparent;--btn-bg-hover:color-mix(in srgb, var(--fg) 86%, var(--bg));--btn-fg-hover:var(--btn-fg);--btn-bd-hover:var(--btn-bd);--btn-icon-bg:var(--bg);--btn-icon-fg:var(--fg);--btn-icon-bg-hover:var(--btn-icon-bg);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--btn-h);padding:0 var(--btn-px);border:1px solid var(--btn-bd);border-radius:var(--r-pill);background-color:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-sans);font-size:var(--btn-fs);font-weight:500;line-height:1.2;letter-spacing:-0.01em;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.btn:active{transform:scale(0.98)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:0.45;pointer-events:none}
.btn__icon{display:inline-grid;place-items:center;flex-shrink:0;width:var(--btn-icon);height:var(--btn-icon);margin-right:calc((var(--btn-h) - var(--btn-icon)) / 2 - var(--btn-px) - 1px);border-radius:50%;background-color:var(--btn-icon-bg);color:var(--btn-icon-fg);overflow:hidden;transition:background-color var(--dur-1) var(--ease-out)}
.btn__icon .icon{width:16px;height:16px;transition:transform var(--dur-1) var(--ease-out)}
.btn>.icon{width:20px;height:20px;margin-left:-2px}
@media (hover:hover) and (pointer:fine){.btn:hover{background-color:var(--btn-bg-hover);border-color:var(--btn-bd-hover);color:var(--btn-fg-hover)}.btn:hover .btn__icon{background-color:var(--btn-icon-bg-hover)}.btn:hover .btn__icon .icon{transform:translateX(2px)}}
.btn--light{--btn-bg:var(--surface);--btn-fg:var(--ink);--btn-bg-hover:color-mix(in srgb, var(--surface) 90%, var(--navy-900));--btn-icon-bg:var(--red-500);--btn-icon-fg:var(--surface);--btn-icon-bg-hover:var(--red-600)}
.btn--dark{--btn-bg:var(--navy-900);--btn-fg:var(--on-dark);--btn-bg-hover:var(--navy-700);--btn-icon-bg:var(--surface);--btn-icon-fg:var(--navy-900);--btn-icon-bg-hover:var(--surface)}
.btn--red{--btn-bg:var(--red-600);--btn-fg:var(--surface);--btn-bg-hover:var(--red-700);--btn-icon-bg:var(--surface);--btn-icon-fg:var(--red-600);--btn-icon-bg-hover:var(--surface)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--fg);--btn-bd:color-mix(in srgb, var(--fg) 26%, transparent);--btn-bg-hover:color-mix(in srgb, var(--fg) 7%, transparent);--btn-bd-hover:color-mix(in srgb, var(--fg) 48%, transparent);--btn-icon-bg:var(--fg);--btn-icon-fg:var(--bg);--btn-icon-bg-hover:var(--fg)}
.btn--sm{--btn-h:40px;--btn-px:1.125rem;--btn-fs:var(--fs-small);--btn-icon:28px;gap:var(--space-2)}
.btn--sm::after{content:"";position:absolute;inset:-3px 0}
@media (pointer:coarse){.btn--sm{--btn-h:44px}}
.btn--lg{--btn-h:56px;--btn-px:var(--space-6);--btn-fs:var(--fs-body);--btn-icon:36px}
.btn--block{width:100%}
.btn--block:has(>.btn__icon){justify-content:space-between}
.link-arrow{display:inline-flex;align-items:center;gap:0.45em;min-height:44px;color:var(--fg);font-weight:500;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:0.28em;text-decoration-color:transparent;-webkit-tap-highlight-color:transparent;transition:color var(--dur-1) var(--ease-out),text-decoration-color var(--dur-1) var(--ease-out)}
.link-arrow .icon,.link-arrow::after{width:1.1em;height:1.1em;flex-shrink:0;transition:transform var(--dur-1) var(--ease-out)}
.link-arrow::after{content:"";background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center / contain no-repeat}
.link-arrow:has(.icon)::after{content:none}
@media (hover:hover) and (pointer:fine){.link-arrow:hover{text-decoration-color:currentColor}.link-arrow:hover .icon,.link-arrow:hover::after{transform:translateX(3px)}}
.link-arrow:active{text-decoration-color:currentColor}
.icon-btn{--ib-bg:transparent;--ib-fg:var(--fg);--ib-bd:color-mix(in srgb, var(--fg) 22%, transparent);--ib-bg-hover:color-mix(in srgb, var(--fg) 8%, transparent);--ib-bd-hover:color-mix(in srgb, var(--fg) 45%, transparent);position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--ib-bd);border-radius:50%;background-color:var(--ib-bg);color:var(--ib-fg);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.icon-btn .icon{width:20px;height:20px}
.icon-btn:active{transform:scale(0.94)}
.icon-btn:disabled,.icon-btn[aria-disabled="true"]{opacity:0.4;pointer-events:none}
@media (hover:hover) and (pointer:fine){.icon-btn:hover{background-color:var(--ib-bg-hover);border-color:var(--ib-bd-hover)}}
.icon-btn--light{--ib-bg:var(--surface);--ib-fg:var(--ink);--ib-bd:transparent;--ib-bg-hover:color-mix(in srgb, var(--surface) 90%, var(--navy-900));--ib-bd-hover:transparent}
.icon-btn--dark{--ib-bg:var(--navy-900);--ib-fg:var(--on-dark);--ib-bd:transparent;--ib-bg-hover:var(--navy-700);--ib-bd-hover:transparent}
.icon-btn--glass{--ib-bg:color-mix(in srgb, var(--navy-950) 34%, transparent);--ib-fg:var(--on-dark);--ib-bd:color-mix(in srgb, var(--on-dark) 28%, transparent);--ib-bg-hover:color-mix(in srgb, var(--navy-950) 55%, transparent);--ib-bd-hover:color-mix(in srgb, var(--on-dark) 55%, transparent);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}
.chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid color-mix(in srgb,var(--fg) 18%,transparent);border-radius:var(--r-pill);background-color:transparent;color:var(--fg-2);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;line-height:1;letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.chip::after{content:"";position:absolute;inset:-3px 0}
@media (pointer:coarse){.chip{min-height:44px}}
.chip .icon{width:16px;height:16px}
.chip__count{color:var(--fg-3);font-variant-numeric:tabular-nums;transition:color var(--dur-1) var(--ease-out)}
.chip:active{transform:scale(0.97)}
@media (hover:hover) and (pointer:fine){.chip:hover{border-color:color-mix(in srgb,var(--fg) 42%,transparent);color:var(--fg)}}
.chip[aria-pressed="true"],.chip[aria-selected="true"],.chip.is-active{border-color:var(--fg);background-color:var(--fg);color:var(--bg)}
.chip[aria-pressed="true"] .chip__count,.chip[aria-selected="true"] .chip__count,.chip.is-active .chip__count{color:color-mix(in srgb,var(--bg) 70%,var(--fg))}
.tag{display:inline-flex;align-items:center;gap:0.4em;min-height:26px;padding:0.25rem 0.625rem;border-radius:var(--r-pill);background-color:color-mix(in srgb,var(--fg) 7%,transparent);color:var(--fg-2);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;line-height:1.2;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap}
.tag .icon{width:14px;height:14px}
.tag--outline{border:1px solid color-mix(in srgb,var(--fg) 20%,transparent);background-color:transparent}
.card{position:relative;padding:clamp(var(--space-5),2.8vw,2.5rem);border:1px solid var(--line-c);border-radius:var(--r-md);background-color:var(--card-bg);color:var(--fg)}
:is(a,button).card,.card--link{display:block;text-align:left;-webkit-tap-highlight-color:transparent;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
@media (hover:hover) and (pointer:fine){:is(a,button).card:hover,.card--link:hover{border-color:color-mix(in srgb,var(--fg) 20%,transparent);box-shadow:var(--shadow-1);transform:translateY(-2px)}}
.media{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:var(--r-md);background-color:color-mix(in srgb,var(--fg) 6%,var(--bg))}
.media img,.media video,.media>picture{display:block;width:100%;height:100%;object-fit:cover}
.media--16x9{aspect-ratio:16 / 9}
.media--4x3{aspect-ratio:4 / 3}
.media--4x5{aspect-ratio:4 / 5}
.media--1x1{aspect-ratio:1 / 1}
.media--lg{border-radius:var(--r-lg)}
@media (prefers-reduced-motion:reduce){.btn:active,.icon-btn:active,.chip:active{transform:none}.btn:hover .btn__icon .icon,.link-arrow:hover .icon,.link-arrow:hover::after,:is(a,button).card:hover,.card--link:hover{transform:none}}
.site-nav__sentinel{position:absolute;top:0;left:0;width:1px;height:8px;opacity:0;pointer-events:none}
.site-nav{--nav-fg:var(--on-dark);--nav-fg-2:color-mix(in srgb, var(--on-dark) 82%, transparent);--nav-glass:color-mix(in srgb, var(--navy-900) 72%, transparent);--nav-line:var(--line-dark);position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);height:var(--nav-h);color:var(--nav-fg);transform:translate3d(0,0,0);transition:transform var(--dur-2) var(--ease-out),z-index 0s linear var(--dur-2)}
.site-nav[data-nav-theme="light"]{--nav-fg:var(--ink);--nav-fg-2:var(--ink-2);--nav-glass:color-mix(in srgb, var(--canvas) 78%, transparent);--nav-line:var(--line)}
.site-nav::before{content:"";position:absolute;inset:0;z-index:-1;background-color:var(--nav-glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:inset 0 -1px 0 var(--nav-line);opacity:0;transition:opacity var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.site-nav.is-scrolled::before{opacity:1}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-nav{--nav-glass:color-mix(in srgb, var(--navy-900) 96%, transparent)}.site-nav[data-nav-theme="light"]{--nav-glass:color-mix(in srgb, var(--canvas) 97%, transparent)}}
.site-nav.is-hidden{transform:translate3d(0,-100%,0)}
.site-nav.is-menu-open{z-index:calc(var(--z-menu) + 1);transform:none;transition:transform var(--dur-2) var(--ease-out),z-index 0s linear 0s}
.site-nav.is-menu-open::before{opacity:0}
.site-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;max-width:var(--container);height:100%;margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
@media (min-width:1024px){.site-nav__inner{display:grid;grid-template-columns:1fr auto 1fr}}
.site-nav__brand{display:grid;align-items:center;justify-self:start;min-height:44px;border-radius:6px;-webkit-tap-highlight-color:transparent}
.site-nav__logo{grid-area:1 / 1;width:auto;max-width:none;height:28px;opacity:1;visibility:visible;transition:opacity var(--dur-2) var(--ease-out),visibility 0s linear 0s}
@media (max-width:767.98px),(max-height:500px) and (orientation:landscape){.site-nav__logo{height:24px}}
@media (min-width:1920px){.site-nav__logo{height:32px}}
.site-nav__logo--color,.site-nav[data-nav-theme="light"] .site-nav__logo--white{opacity:0;visibility:hidden;transition:opacity var(--dur-2) var(--ease-out),visibility 0s linear var(--dur-2)}
.site-nav[data-nav-theme="light"] .site-nav__logo--color{opacity:1;visibility:visible;transition:opacity var(--dur-2) var(--ease-out),visibility 0s linear 0s}
.site-nav__nav{display:none}
@media (min-width:1024px){.site-nav__nav{display:block}}
.site-nav__links{display:flex;align-items:center;gap:clamp(1.75rem,2.8vw,2.75rem)}
.site-nav__link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-inline:2px;border-radius:6px;color:var(--nav-fg-2);font-size:var(--fs-small);font-weight:450;letter-spacing:-0.006em;transition:color var(--dur-1) var(--ease-out)}
.site-nav__link::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--red-500);transform:scale(0);transition:transform var(--dur-2) var(--ease-out)}
.site-nav__link[aria-current="true"]{color:var(--nav-fg)}
.site-nav__link[aria-current="true"]::after{transform:scale(1)}
@media (hover:hover) and (pointer:fine){.site-nav__link:hover{color:var(--nav-fg)}}
.site-nav__actions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:var(--space-3)}
.site-nav__cta{display:none;--btn-bg:var(--surface);--btn-fg:var(--ink);--btn-bg-hover:color-mix(in srgb, var(--surface) 88%, var(--navy-900));transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out),opacity var(--dur-1) var(--ease-out),visibility 0s linear 0s,transform var(--dur-1) var(--ease-out)}
.site-nav[data-nav-theme="light"] .site-nav__cta{--btn-bg:var(--navy-900);--btn-fg:var(--on-dark);--btn-bg-hover:var(--navy-700)}
@media (min-width:768px),(max-height:500px) and (orientation:landscape){.site-nav__cta{display:inline-flex}}
.site-nav.is-menu-open .site-nav__cta{opacity:0;visibility:hidden;transition:opacity var(--dur-1) var(--ease-out),visibility 0s linear var(--dur-1)}
.site-nav__toggle{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;margin-right:-12px;border-radius:50%;color:var(--nav-fg);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.site-nav__toggle:focus-visible{outline-offset:-3px}
@media (min-width:1024px){.site-nav__toggle{display:none}}
.site-nav__toggle-box{position:relative;display:block;width:20px;height:14px}
.site-nav__toggle-box>span{position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform var(--dur-2) var(--ease-out)}
.site-nav__toggle-box>span:first-child{top:3px}
.site-nav__toggle-box>span:last-child{bottom:3px}
.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-box>span:first-child{transform:translateY(3.25px) rotate(45deg)}
.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-box>span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.site-nav__progress{position:absolute;top:100%;left:0;right:0;height:2px;overflow:hidden;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out)}
.site-nav__progress-bar{display:block;width:100%;height:100%;background:var(--red-500);transform:scaleX(0);transform-origin:0 50%}
.site-nav.is-menu-open .site-nav__progress{opacity:0}
.mobile-menu{position:fixed;inset:0;z-index:var(--z-menu);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-7);padding-top:calc(var(--nav-h) + var(--space-5));padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right));overflow-y:auto;overscroll-behavior:contain;background:var(--navy-950);color:var(--on-dark);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path var(--dur-2) var(--ease-in-out),visibility 0s linear var(--dur-2)}
.mobile-menu.is-open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path 0.6s var(--ease-out),visibility 0s linear 0s}
@media (min-width:1024px){.mobile-menu{display:none}}
.mobile-menu__links{display:grid;gap:var(--space-1)}
.mobile-menu__link,.mobile-menu__foot{opacity:0;transform:translate3d(0,18px,0);transition:opacity 0.25s var(--ease-out),transform 0.25s var(--ease-out)}
.mobile-menu.is-open .mobile-menu__link,.mobile-menu.is-open .mobile-menu__foot{opacity:1;transform:none;transition:opacity 0.6s var(--ease-out) calc(0.14s + var(--i,0) * 0.05s),transform 0.8s var(--ease-out) calc(0.14s + var(--i,0) * 0.05s)}
.mobile-menu__links>li:nth-child(2) .mobile-menu__link{--i:1}
.mobile-menu__links>li:nth-child(3) .mobile-menu__link{--i:2}
.mobile-menu__links>li:nth-child(4) .mobile-menu__link{--i:3}
.mobile-menu__links>li:nth-child(5) .mobile-menu__link{--i:4}
.mobile-menu__links>li:nth-child(6) .mobile-menu__link{--i:5}
.mobile-menu__foot{--i:6}
.mobile-menu__link{display:flex;align-items:center;gap:var(--space-4);width:fit-content;min-height:56px;border-radius:8px;color:var(--on-dark);font-size:clamp(2rem,9vw,2.75rem);font-weight:600;line-height:1.1;letter-spacing:-0.035em;-webkit-tap-highlight-color:transparent}
@media (min-width:600px) and (min-height:760px){.mobile-menu__link{font-size:clamp(2.75rem,7vw,3.5rem)}}
.mobile-menu__link:active{color:var(--on-dark-2)}
.mobile-menu__link[aria-current="true"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--red-500);flex-shrink:0}
.mobile-menu__foot{display:grid;gap:var(--space-5)}
@media (min-width:600px){.mobile-menu__foot{max-width:480px}}
.mobile-menu__contact{display:grid;gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--line-dark)}
.mobile-menu__contact-link{display:flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--on-dark-2);font-size:var(--fs-small);-webkit-tap-highlight-color:transparent}
.mobile-menu__contact-link:active{color:var(--on-dark)}
.mobile-menu__contact-link>span{min-width:0;overflow-wrap:anywhere}
.mobile-menu__contact-link .icon{flex-shrink:0;width:20px;height:20px;color:var(--on-dark)}
.mobile-menu__contact-meta{margin-left:0.35em;color:var(--on-dark-3);font-variant-numeric:tabular-nums}
@media (max-width:1023.98px) and (max-height:500px) and (orientation:landscape){.mobile-menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:center;gap:var(--space-4) var(--space-7);padding-top:calc(var(--nav-h) + var(--space-2));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.mobile-menu__links{gap:0}.mobile-menu__link{min-height:44px;font-size:clamp(1.5rem,7.5vh,2rem)}.mobile-menu__foot{gap:var(--space-3);max-width:none}.mobile-menu .mobile-menu__cta{--btn-h:48px}.mobile-menu__contact{gap:0;padding-top:var(--space-2)}}
.no-js .site-nav__toggle,.no-js .mobile-menu{display:none}
.no-js .site-nav{--nav-glass:color-mix(in srgb, var(--navy-900) 94%, transparent)}
.no-js .site-nav::before{opacity:1}
.hero{--hero-foot-gap:clamp(2rem, 5.5vh, 3.5rem);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:640px;min-height:max(640px,100vh);min-height:max(640px,100svh);padding-block:0;background:var(--canvas);color:var(--fg);overflow:hidden;overflow:clip}
.hero__bg{position:absolute;inset:0;z-index:0;background:var(--navy-900)}
.hero__media{position:absolute;inset:0;z-index:1;overflow:hidden;background:var(--navy-900)}
.hero__zoom,.hero__frame{position:absolute;inset:0}
.hero__frame{transform-origin:50% 50%}
.hero__poster,.hero__poster img,.hero__video{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.hero__poster img,.hero__video{object-fit:cover;object-position:50% 50%}
.hero__poster img{color:transparent}
.hero__video{opacity:0;transition:opacity 1.1s var(--ease-out)}
.hero__video.is-on{opacity:1}
.hero__poster{transition:opacity 0.5s var(--ease-out)}
.hero__frame.is-wide-box.is-poster-vertical .hero__poster,.hero__frame.is-wide-box.is-video-vertical .hero__video{opacity:0;transition:none}
@media (orientation:landscape) and (min-width:401px){.hero__frame.is-poster-vertical .hero__poster,.hero__frame.is-video-vertical .hero__video{opacity:0;transition:none}}
.hero__scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--navy-950) 94%,transparent) 0%,color-mix(in srgb,var(--navy-950) 82%,transparent) 26%,color-mix(in srgb,var(--navy-950) 50%,transparent) 52%,color-mix(in srgb,var(--navy-950) 18%,transparent) 72%,transparent 88%),linear-gradient(to right,color-mix(in srgb,var(--navy-950) 74%,transparent) 0%,color-mix(in srgb,var(--navy-950) 54%,transparent) 38%,color-mix(in srgb,var(--navy-950) 30%,transparent) 70%,color-mix(in srgb,var(--navy-950) 10%,transparent) 92%),linear-gradient(to bottom,color-mix(in srgb,var(--navy-950) 55%,transparent) 0%,transparent 24%)}
.hero__inner{position:relative;z-index:2;padding-top:calc(var(--nav-h) + clamp(2rem,7vh,5rem));padding-bottom:clamp(1.25rem,3.5vh,2.25rem);padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.hero__eyebrow{padding-left:calc(6px + 0.75em);text-indent:calc(-6px - 0.75em);color:var(--on-dark);text-wrap:balance}
.hero__title{margin-top:var(--space-5);font-size:clamp(2.625rem,6.4vw,6rem);font-size:clamp(2.625rem,min(6.4vw,11vh),6rem);line-height:0.98;color:var(--surface)}
.hero__t1{color:color-mix(in srgb,var(--on-dark-2) 68%,var(--on-dark))}
.hero__t2{color:var(--surface)}
.hero__dot{color:var(--red-500)}
.hero__lead{max-width:34rem;margin-top:clamp(1.25rem,3vh,1.75rem);color:var(--on-dark)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:clamp(1.5rem,4vh,2.25rem)}
.hero__actions .btn--ghost{border-color:color-mix(in srgb,var(--on-dark) 34%,transparent);background:color-mix(in srgb,var(--navy-950) 22%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero__micro{margin-top:var(--space-4);font-size:var(--fs-small);line-height:1.55;color:var(--on-dark-2)}
.hero__foot{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;margin-top:var(--hero-foot-gap)}
.hero__rule{display:block;grid-column:1 / -1;height:1px;background:var(--line-c);transform-origin:0 50%}
.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:clamp(1rem,2.6vh,1.5rem)}
.hero__stat{padding-left:var(--space-3);padding-right:var(--space-2);border-left:1px solid var(--line-c)}
.hero__stat:first-child{padding-left:0;border-left:0}
.hero__num-mask{display:block;overflow:hidden;padding-top:0.04em;padding-bottom:0.08em;margin-bottom:-0.08em}
.hero__num{display:block;font-size:clamp(2rem,3.3vw,3.25rem);line-height:1;color:var(--surface)}
.hero__plus{color:var(--on-dark-2);margin-right:0.02em}
.hero__label{display:block;margin-top:var(--space-2);font-size:0.875rem;line-height:1.35;color:var(--on-dark-2);text-wrap:balance}
@media (max-width:767.98px){.hero{border-radius:0 0 var(--r-lg) var(--r-lg)}.hero__micro{padding-right:calc(44px + var(--space-3))}.hero__stats{grid-template-columns:repeat(3,auto)}.hero__stat{padding-left:clamp(0.625rem,3vw,0.75rem);padding-right:var(--space-2)}.hero__label{font-size:clamp(0.8125rem,3.6vw,0.875rem);overflow-wrap:break-word;word-break:normal;hyphens:manual}.hero__label-more{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-width:599.98px){.hero__actions .btn{flex:1 1 100%}}
@media (max-width:370px){.hero__eyebrow-sep{display:none}.hero__eyebrow-place{display:block;text-indent:0}}
@media (max-width:767.98px) and (max-height:600px){.hero{min-height:100vh;min-height:100svh}.hero__inner{padding-top:calc(var(--nav-h) + 1.25rem)}.hero__title{margin-top:var(--space-4)}}
.hero__cue{display:none}
.hero__toggle{position:absolute;right:0;bottom:calc(100% + var(--hero-foot-gap) - 10px);display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--on-dark);border:1px solid color-mix(in srgb,var(--on-dark) 30%,transparent);background:color-mix(in srgb,var(--navy-950) 38%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}
.hero__toggle .icon{width:18px;height:18px}
.hero__toggle .hero__icon-play,.hero__toggle.is-paused .hero__icon-pause{display:none}
.hero__toggle.is-paused .hero__icon-play{display:block}
@media (hover:hover) and (pointer:fine){.hero__toggle:hover{background:color-mix(in srgb,var(--navy-950) 62%,transparent);border-color:color-mix(in srgb,var(--on-dark) 55%,transparent)}}
.hero__toggle:active{background:color-mix(in srgb,var(--navy-950) 70%,transparent)}
@media (min-width:768px){.hero__eyebrow{padding-left:0;text-indent:0}.hero__foot{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-6)}.hero__stats{max-width:58rem}.hero__stat{padding-left:clamp(1.25rem,2.6vw,2.5rem);padding-right:var(--space-4)}.hero__label{font-size:var(--fs-small);line-height:1.45;max-width:16rem}.hero__toggle{position:relative;right:auto;bottom:auto;grid-column:-2;grid-row:2;align-self:end}}
@media (min-width:1024px){.hero__foot{grid-template-columns:minmax(0,1fr) auto auto}.hero__cue{display:flex;grid-column:2;grid-row:2;align-self:end;align-items:center;gap:var(--space-3);height:44px;font-family:var(--font-mono);font-size:0.75rem;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--on-dark-2)}.hero__cue-line{position:relative;display:block;width:1px;height:36px;overflow:hidden;background:var(--line-c)}.hero__cue-line::after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:var(--on-dark);transform:translateY(-100%);animation:hero-cue 1.5s var(--ease-in-out) 2.4s 3 both}}
@media (min-width:768px) and (max-height:820px){.hero{--hero-foot-gap:clamp(1.25rem, 4vh, 2.25rem)}.hero__inner{padding-top:calc(var(--nav-h) + clamp(1.25rem,4vh,2.5rem))}.hero__num{font-size:clamp(1.875rem,2.8vw,2.75rem)}}
@media (min-width:1024px) and (max-height:820px){.hero__lead{max-width:42rem}}
@media (min-width:768px) and (max-height:700px) and (min-height:501px){.hero{--hero-foot-gap:1.25rem;min-height:100vh;min-height:100svh}.hero__inner{padding-top:calc(var(--nav-h) + 1rem);padding-bottom:1.25rem}.hero__title{margin-top:var(--space-4);font-size:clamp(2.625rem,min(6.4vw,10vh),6rem)}.hero__lead{margin-top:var(--space-4)}.hero__actions{margin-top:1.25rem}.hero__micro{margin-top:var(--space-3)}.hero__stats{padding-top:var(--space-4)}}
@media (max-height:500px) and (orientation:landscape){.hero{--hero-foot-gap:0.875rem;min-height:100vh;min-height:100svh;border-radius:0 0 var(--r-lg) var(--r-lg)}.hero__inner{padding-top:calc(var(--nav-h) + 0.5rem);padding-bottom:calc(0.75rem + env(safe-area-inset-bottom))}.hero__content{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(1.25rem,3.5vw,2.5rem);align-items:start}.hero__eyebrow,.hero__title{grid-column:1 / -1}.hero__title{margin-top:var(--space-2);font-size:clamp(1.5rem,min(3.6vw,8.6vh),2.5rem);line-height:1}.hero__lead{grid-column:1;grid-row:3 / span 2;max-width:36rem;margin-top:var(--space-3);font-size:0.9375rem;line-height:1.45}.hero__actions{grid-column:2;grid-row:3;flex-wrap:nowrap;gap:var(--space-2);margin-top:var(--space-3)}.hero__actions .btn{flex:0 0 auto}.hero__micro{grid-column:2;grid-row:4;margin-top:var(--space-2);padding-right:0}.hero__foot{grid-template-columns:minmax(0,1fr)}.hero__toggle{position:absolute;right:0;bottom:0;grid-column:auto;grid-row:auto}.hero__stats{grid-template-columns:repeat(3,auto);justify-content:start;max-width:none;padding-top:var(--space-3);padding-right:calc(44px + var(--space-3))}.hero__stat{display:flex;align-items:baseline;gap:var(--space-2);padding-left:clamp(0.75rem,2.4vw,1.5rem);padding-right:clamp(0.75rem,2.4vw,1.5rem)}.hero__num-mask{flex:none}.hero__num{font-size:1.5rem}.hero__label{max-width:11rem;margin-top:0;font-size:0.8125rem;line-height:1.3}.hero__label-more{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-height:500px) and (orientation:landscape) and (max-width:799.98px){.hero__actions{flex-direction:column;align-items:stretch}}
@media (min-width:1920px){.hero__title{font-size:clamp(2.625rem,min(6.4vw,11vh),7.25rem)}.hero__lead{max-width:38rem}.hero__stats{max-width:66rem}.hero__label{max-width:18rem}}
@media (min-width:1920px) and (min-height:821px){.hero__num{font-size:clamp(3.25rem,2.6vw,4rem)}}
@keyframes hero-cue{from{transform:translateY(-100%)}to{transform:translateY(240%)}}
@media (prefers-reduced-motion:no-preference){.js .hero:not(.is-ready) .hero__frame{transform:scale(1.08)}.js .hero:not(.is-ready) .hero__intro{opacity:0;animation:hero-failsafe 0.8s var(--ease-out) 2.6s forwards}}
@keyframes hero-failsafe{to{opacity:1}}
.hero__title:has(>.mg-line-mask){display:flex;flex-direction:column}
.clients{padding-top:var(--space-5);padding-bottom:0}
.clients__island{padding-block:clamp(3.5rem,8vw,7rem)}
.clients__head{display:grid;gap:var(--space-5)}
.clients__heading>* + *{margin-top:var(--space-4)}
.clients__title{max-width:16ch}
.clients__lead{max-width:30rem;color:var(--fg-2)}
@media (min-width:1024px){.clients__head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;column-gap:var(--space-8)}.clients__lead{justify-self:end;padding-bottom:0.35em}}
.clients__marquee{--logo-h:clamp(46px, 4.1vw, 60px);--logo-gap:clamp(2.5rem, 4.4vw, 4rem);margin-top:clamp(2.5rem,6vw,4.5rem)}
.clients__row--b,.clients__list--clone{display:none}
.clients__list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.75rem,4vw,2.75rem) var(--logo-gap);max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.clients__item{display:flex;align-items:center;flex:none}
.clients__logo{display:block;width:auto;height:var(--logo-h);max-width:none;opacity:0.65;transition:opacity var(--dur-2) var(--ease-out)}
.clients__controls{display:none;justify-content:flex-end;margin-top:clamp(1.75rem,3.5vw,2.75rem)}
.clients__pause{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4) 0 var(--space-3);border:1px solid var(--line-c);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2);transition:color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.clients__pause .icon{width:16px;height:16px}
.clients__pause .clients__icon-play,.clients__pause.is-paused .clients__icon-pause{display:none}
.clients__pause.is-paused .clients__icon-play{display:block}
@media (hover:hover) and (pointer:fine){.clients__pause:hover{color:var(--fg);border-color:color-mix(in srgb,var(--on-dark) 40%,transparent)}}
.clients__pause:active{transform:scale(0.98)}
@media (prefers-reduced-motion:no-preference){.js .clients__island{padding-bottom:clamp(1.75rem,3.5vw,2.75rem)}.js .clients__controls{display:flex}.js .clients__marquee{display:grid;row-gap:clamp(1.5rem,3vw,2.5rem);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,var(--navy-900) 10%,var(--navy-900) 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,var(--navy-900) 10%,var(--navy-900) 90%,transparent 100%)}.js .clients__row{overflow:hidden}.js .clients__track{display:flex;width:max-content;animation:clients-marquee var(--marquee-dur,70s) linear infinite;will-change:transform}.js .clients__row--b .clients__track{animation-direction:reverse}.js .clients__list{flex-wrap:nowrap;justify-content:flex-start;gap:var(--logo-gap);max-width:none;margin:0;padding:0 var(--logo-gap) 0 0}.js .clients__list--clone{display:flex}.js .clients__marquee.is-paused .clients__track,.js .clients__marquee.is-offscreen .clients__track{animation-play-state:paused}@media (hover:hover) and (pointer:fine){.js .clients__marquee:hover .clients__track{animation-play-state:paused}.js .clients__item:hover .clients__logo{opacity:1}}@media (min-width:768px){.js .clients__row--b{display:block}.js .clients__row--a .clients__item--b{display:none}}}
@keyframes clients-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.manifesto__grid{display:grid;gap:var(--space-6)}
.manifesto__eyebrow{margin:0}
.manifesto__text{max-width:920px;font-size:clamp(1.6875rem,3.4vw,3rem);font-weight:500;line-height:1.16;letter-spacing:-0.028em;color:var(--fg);text-wrap:pretty}
.manifesto__foot{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);max-width:920px;margin-top:clamp(2.5rem,6vw,4.5rem)}
.manifesto__sign{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);font-size:var(--fs-lead);font-weight:500;line-height:1.4;letter-spacing:-0.012em;color:var(--fg);text-wrap:balance}
.manifesto__sign::before{content:"";flex:none;width:2.5rem;height:2px;background:var(--red-500)}
@media (min-width:768px){.manifesto__sign{flex-direction:row;align-items:center}}
@media (min-width:1024px){.manifesto__grid{grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:var(--space-7);align-items:start}.manifesto__eyebrow{padding-top:0.9rem}}
@media (min-width:1920px){.manifesto__text{max-width:1080px;font-size:clamp(3rem,2.3vw,3.5rem)}.manifesto__foot{max-width:1080px}}
.section.results{--bg:var(--navy-950);--res-line:var(--line-dark);--res-gap:clamp(1.5rem, 3.6vw, 3.5rem);--res-py:clamp(2rem, 3.4vw, 3.25rem)}
.results__head{margin-bottom:clamp(3.5rem,7vw,6rem)}
.results__grid{display:grid;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none}
.results__cell{position:relative;display:flex;min-width:0}
.results__cell::before,.results__cell::after{content:"";position:absolute;top:0;left:0;background:var(--res-line);pointer-events:none}
.results__cell::before{right:0;height:1px;transform-origin:left center}
.results__cell::after{display:none;bottom:0;width:1px;transform-origin:center top}
.results__fig{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;padding-block:var(--res-py);color:var(--fg);text-decoration:none;-webkit-tap-highlight-color:transparent}
.results__fig:focus-visible{outline-offset:-2px;border-radius:var(--r-sm)}
.results__num{display:block;color:var(--fg);font-size:var(--res-num,var(--fs-num));white-space:nowrap;text-box:trim-both cap alphabetic}
.results__sign,.results__unit{color:var(--accent)}
.results__sign{margin-right:0.02em;font-weight:400}
.results__unit{margin-left:0.04em;font-size:0.5em;letter-spacing:0;vertical-align:0.7em}
.results__val{display:inline-grid}
.results__val::before,.results__val>[data-count]{grid-area:1 / 1;text-align:end}
.results__val::before{content:attr(data-final);content:attr(data-final) / "";visibility:hidden}
.results__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;margin-top:var(--res-num-gap,1.5rem)}
.results__label{max-width:30ch;color:var(--fg);font-size:var(--res-label,var(--fs-body));font-weight:500;line-height:1.3;letter-spacing:-0.012em;text-wrap:balance}
.results__ctx{margin-top:0.375rem;color:var(--fg-2);font-size:var(--res-ctx,var(--fs-small));line-height:1.45;text-wrap:pretty}
.results__more{margin-top:auto;padding-top:var(--space-3);color:var(--fg);font-size:var(--fs-small)}
@media (hover:none),(pointer:coarse){.results__fig:active .results__more{opacity:0.7}}
@media (hover:hover) and (pointer:fine){.results__fig:hover .results__more{text-decoration-color:currentColor}.results__fig:hover .results__more::after{transform:translateX(3px)}}
.results__cell--xl{--res-num:clamp(6rem, 30vw, 9rem);--res-label:var(--fs-h3);--res-ctx:var(--fs-body);--res-num-gap:clamp(1.75rem, 6vw, 2.5rem)}
.results__cell--xl .results__label{font-weight:500;letter-spacing:-0.02em;line-height:1.2}
.results__cell--md{--res-num:clamp(4.25rem, 19vw, 5.5rem);--res-label:clamp(1.125rem, 1.6vw, 1.375rem);--res-num-gap:1.5rem}
.results__cell--sm{--res-num:clamp(3rem, 13.5vw, 3.5rem);--res-num-gap:1.25rem}
@media (max-width:599.98px){.results__cell--sm .results__fig{display:grid;grid-template-columns:minmax(7.25rem,auto) minmax(0,1fr);column-gap:var(--space-5);align-items:start}.results__cell--sm .results__body{margin-top:0}.results__cell--sm .results__label{text-box:trim-start cap alphabetic}}
@media (min-width:600px){.results__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.results__cell--xl{grid-column:1 / -1;--res-num:clamp(9rem, 22vw, 12rem)}.results__cell--md{grid-column:span 3;--res-num:clamp(4.5rem, 10vw, 6rem)}.results__cell--sm{grid-column:span 2;--res-num:clamp(3.25rem, 7vw, 4rem)}.results__cell--md:nth-child(2) .results__fig,.results__cell--sm:nth-child(4) .results__fig{padding-right:var(--res-gap)}.results__cell--md:nth-child(3) .results__fig,.results__cell--sm:nth-child(6) .results__fig{padding-left:var(--res-gap)}.results__cell--sm:nth-child(5) .results__fig{padding-inline:var(--res-gap)}.results__cell--md:nth-child(3)::after,.results__cell--sm:nth-child(5)::after,.results__cell--sm:nth-child(6)::after{display:block}}
@media (max-height:500px) and (orientation:landscape) and (min-width:600px){.results__cell--xl{--res-num:clamp(7rem, 16vw, 9rem)}}
@media (min-width:1024px){.results__grid{grid-template-columns:repeat(12,minmax(0,1fr))}.results__cell--xl{grid-column:1 / span 7;grid-row:1 / span 2;--res-num:clamp(10rem, 19.5vw, 18rem)}.results__cell--xl .results__fig{padding-right:var(--res-gap)}.results__cell--xl .results__body{flex-grow:0;margin-top:auto;padding-top:var(--space-8)}.results__cell--md{grid-column:8 / span 5;--res-num:var(--fs-num)}.results__cell--md:nth-child(2) .results__fig,.results__cell--md:nth-child(3) .results__fig{padding-right:0;padding-left:var(--res-gap)}.results__cell--md:nth-child(2)::after{display:block}.results__cell--sm{grid-column:span 4;--res-num:clamp(3.5rem, 5.4vw, 5rem)}.results__head{max-width:1120px}}
@media (min-width:2400px){.section.results{--fs-small:1.125rem;--fs-body:1.25rem}.results__cell--md{--res-label:1.625rem}.results__cell--sm{--res-label:1.3125rem}.results__label{max-width:32ch}}
@media (prefers-reduced-motion:no-preference){@supports selector(:has(*)){.js .results__cell::before,.js .results__cell::after{transition:transform 1.4s var(--ease-out);transition-delay:calc(var(--i,0) * 90ms)}.js .results__cell::before{transform:scaleX(0)}.js .results__cell::after{transform:scaleY(0)}.js .results__cell:has(>.is-in)::before,.js .results__cell:has(>.is-in)::after{transform:none}}}
.dx{display:grid;gap:var(--space-6)}
@media (min-width:880px){.dx{grid-template-columns:minmax(0,1fr) clamp(21rem,29vw,25.5rem);gap:clamp(2rem,3.4vw,3rem);align-items:start}}
.dx__main{display:flex;flex-direction:column;min-width:0}
.dx-jump{position:sticky;bottom:calc(var(--space-3) + var(--mobilebar-h,62px) + var(--space-2) + env(safe-area-inset-bottom));z-index:2;display:flex;align-items:center;gap:var(--space-3);min-height:60px;margin-top:var(--space-3);padding:8px 8px 8px var(--space-5);border:1px solid var(--line-c);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);color:var(--fg);text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;visibility:hidden;opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),visibility 0s linear var(--dur-2)}
.dx-jump[hidden]{display:none}
.dx-jump.is-on:not(.is-away){visibility:visible;opacity:1;transform:none;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),visibility 0s linear 0s}
@media (max-width:879.98px){.dx.is-ready{row-gap:var(--space-3)}}
@media (min-width:768px){.dx-jump{bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}}
@media (min-width:880px){.dx-jump{display:none}}
.dx-jump__text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}
.dx-jump__label{color:var(--fg-2);font-size:0.8125rem;line-height:1.3}
.dx-jump__name{overflow:hidden;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:-0.01em;white-space:nowrap;text-overflow:ellipsis}
.dx-jump__icon{display:grid;flex:none;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy-900);color:var(--on-dark)}
.dx-jump__icon .icon{width:18px;height:18px}
@media (prefers-reduced-motion:no-preference){.dx-jump:active .dx-jump__icon{transform:scale(0.94)}}
@media (prefers-reduced-motion:reduce){.dx-jump{transform:none}}
.dx__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);margin:0;padding:0;list-style:none}
@media (min-width:640px){.dx__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}}
.dx__item{display:flex;min-width:0}
.dx-card{position:relative;display:grid;flex:1 1 auto;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title" "icon desc";align-content:start;column-gap:var(--space-4);row-gap:var(--space-1);min-width:0;padding:var(--space-5);border:1px solid var(--line-c);border-radius:var(--r-md);background:var(--card-bg);color:var(--fg);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.dx-card__icon{grid-area:icon;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}
.dx-card__icon .icon{width:22px;height:22px}
.dx-card__title{grid-area:title;align-self:center;font-size:clamp(1.125rem,1.3vw,1.3125rem);font-weight:600;line-height:1.25;letter-spacing:-0.018em}
.dx-card__desc{grid-area:desc;color:var(--fg-2);font-size:var(--fs-small);line-height:1.5}
@media (min-width:640px){.dx-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"icon" "title" "desc";row-gap:0;padding:clamp(1.5rem,2.1vw,1.75rem)}.dx-card__icon{margin-bottom:clamp(1.75rem,3vw,2.5rem)}.dx-card__title{align-self:start}.dx-card__desc{margin-top:var(--space-2)}}
.dx-card__check{position:absolute;top:var(--space-5);right:var(--space-5);display:none;place-items:center;width:26px;height:26px;border:1.5px solid var(--fg-3);border-radius:50%;color:var(--surface);transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}
.dx-card__check .icon{width:14px;height:14px;transform:scale(0);transition:transform var(--dur-2) var(--ease-out)}
@media (min-width:640px){.dx-card__check{top:clamp(1.5rem,2.1vw,1.75rem);right:clamp(1.5rem,2.1vw,1.75rem)}}
.dx-card__toggle{position:absolute;inset:-1px;z-index:1;border-radius:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.dx.is-ready .dx-card__check{display:grid}
@media (max-width:639.98px){.dx.is-ready .dx-card__title{padding-right:2.5rem}}
.dx-card.is-selected{border-color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--navy-900)}
.dx-card.is-selected .dx-card__icon{background:var(--navy-900);color:var(--on-dark)}
.dx-card.is-selected .dx-card__check{border-color:var(--red-500);background:var(--red-500)}
.dx-card.is-selected .dx-card__check .icon{transform:none}
@media (hover:hover) and (pointer:fine){.dx.is-ready .dx-card:hover{border-color:color-mix(in srgb,var(--fg) 22%,transparent);box-shadow:var(--shadow-1)}.dx.is-ready .dx-card.is-selected:hover{border-color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--navy-900),var(--shadow-1)}.dx.is-ready .dx-card:hover:not(.is-selected) .dx-card__check{border-color:var(--fg)}}
@media (prefers-reduced-motion:no-preference){.dx.is-ready .dx-card:active{transform:scale(0.985)}}
.dx-panel{--dx-pad:clamp(1.375rem, 2.1vw, 1.75rem);--dx-step:1.25rem;display:flex;flex-direction:column;min-width:0;padding:var(--dx-pad);border:1px solid var(--line-c);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}
@media (min-width:880px) and (min-height:501px){.dx-panel{position:sticky;top:min(calc(var(--nav-h) + var(--space-5)),calc(100svh - var(--dx-panel-h,0px) - var(--space-5)))}}
.dx-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-c)}
.dx-panel__title{font-size:clamp(1.1875rem,1.4vw,1.375rem);font-weight:600;line-height:1.2;letter-spacing:-0.018em}
.dx-panel__count{flex-shrink:0;min-width:3.25rem;padding:0.3125rem 0.625rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-2);font-family:var(--font-mono);font-size:0.8125rem;font-weight:500;line-height:1.3;text-align:center;font-variant-numeric:tabular-nums;transition:background-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}
.dx-panel__count [data-dx-count]{display:inline-block}
.dx-panel.has-result .dx-panel__count{background:var(--navy-900);color:var(--on-dark)}
.dx-panel__fallback{display:grid;gap:var(--space-5);padding-top:var(--space-5)}
.dx-panel__lead{color:var(--fg-2);font-size:var(--fs-body);line-height:1.5}
.dx-panel__stage{position:relative;display:grid;padding-top:var(--dx-step)}
.dx-panel:not(.is-expanded) .dx-panel__result{position:absolute;inset:var(--dx-step) 0 auto}
.dx-panel__empty,.dx-panel__result{grid-area:1 / 1;min-width:0;transition:opacity var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),visibility 0s linear var(--dur-1)}
.dx-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);text-align:center}
.dx-panel__empty-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:var(--space-2);border-radius:50%;background:var(--surface-2);color:var(--ink)}
.dx-panel__empty-icon .icon{width:26px;height:26px}
.dx-panel__empty-title{font-size:1.125rem;font-weight:600;line-height:1.3;letter-spacing:-0.012em}
.dx-panel__empty-text{max-width:30ch;color:var(--fg-2);font-size:var(--fs-small);line-height:1.5}
.dx-panel__result{display:flex;flex-direction:column;gap:var(--dx-step);opacity:0;visibility:hidden;transform:translateY(10px)}
.dx-panel.has-result .dx-panel__empty{opacity:0;visibility:hidden;transform:translateY(-10px)}
.dx-panel.has-result .dx-panel__result,.dx-panel:not(.has-result) .dx-panel__empty{opacity:1;visibility:visible;transform:none;transition:opacity var(--dur-2) var(--ease-out) 0.16s,transform var(--dur-2) var(--ease-out) 0.16s,visibility 0s linear 0s}
.dx-panel__label{margin-bottom:var(--space-2);color:var(--fg-3);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;line-height:1.4;letter-spacing:0.12em;text-transform:uppercase}
.dx-primary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"num meta meta" "name name arrow";align-items:center;column-gap:var(--space-4);row-gap:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);text-decoration:none;-webkit-tap-highlight-color:transparent}
.dx-primary__num,.dx-primary__meta{color:var(--fg-2);font-family:var(--font-mono);font-size:0.8125rem;font-weight:500;line-height:1.3;letter-spacing:0.04em;font-variant-numeric:tabular-nums}
.dx-primary__num{grid-area:num}
.dx-primary__meta{grid-area:meta;justify-self:end;white-space:nowrap}
.dx-primary__name{grid-area:name;font-size:clamp(1.125rem,1.35vw,1.3125rem);font-weight:600;line-height:1.25;letter-spacing:-0.018em;text-wrap:balance}
.dx-primary__arrow{grid-area:arrow;justify-self:end;width:20px;height:20px;transition:transform var(--dur-1) var(--ease-out)}
.dx-list{display:grid;margin:0;padding:0;list-style:none}
.dx-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding-block:var(--space-2);border-top:1px solid var(--line-c);color:var(--fg);font-size:var(--fs-small);font-weight:500;line-height:1.35;text-align:left;text-decoration:none;-webkit-tap-highlight-color:transparent}
.dx-list>li:last-child .dx-row{border-bottom:1px solid var(--line-c)}
.dx-row__num{flex-shrink:0;min-width:2.25rem;color:var(--fg-3);font-family:var(--font-mono);font-size:0.8125rem;letter-spacing:0.04em}
.dx-row__name{flex:1 1 auto;min-width:0}
.dx-row__icon{width:16px;height:16px;color:var(--fg-3);transition:transform var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.dx-primary:hover .dx-primary__arrow{transform:translateX(3px)}.dx-row:hover .dx-row__name{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:0.22em}.dx-row:hover .dx-row__icon{color:var(--fg);transform:translateX(2px)}button.dx-row:hover .dx-row__icon{transform:translate(2px,-2px)}}
.dx-panel__actions{display:grid;gap:var(--space-1);margin-top:auto;padding-top:var(--space-2)}
.dx-panel__cta{justify-content:space-between}
.dx-panel__clear{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;color:var(--fg-2);font-size:var(--fs-small);font-weight:500;-webkit-tap-highlight-color:transparent;transition:color var(--dur-1) var(--ease-out)}
.dx-panel__clear .icon{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.dx-panel__clear:hover{color:var(--fg)}}
.dx-panel__note{margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line-c);color:var(--fg-3);font-size:var(--fs-small);line-height:1.5}
.dx-row,.dx-primary{backface-visibility:hidden}
@media (min-width:1024px){.diagnostic__head{max-width:1120px}}
@media (min-width:2400px){.section.diagnostic{--fs-small:1.125rem;--fs-body:1.25rem}.dx{grid-template-columns:minmax(0,1fr) 30rem;gap:3.5rem}.dx-card__title,.dx-primary__name{font-size:1.5rem}.dx-panel__title{font-size:1.625rem}.dx-panel__empty-title{font-size:1.3125rem}.dx-panel__empty-text{max-width:32ch}.dx-jump__label,.dx-panel__count,.dx-primary__num,.dx-primary__meta,.dx-row__num{font-size:0.9375rem}.dx-panel__label{font-size:0.875rem}.dx-card__icon .icon{width:26px;height:26px}}
.svc{--svc-thumb:4.5rem;--svc-toggle:2.25rem;--svc-num:2.25rem;--svc-gap:var(--space-3);position:relative}
.svc-tabs{display:none}
.svc-item{position:relative;display:grid;gap:var(--space-5);padding-block:var(--space-6) var(--space-7);border-top:1px solid var(--line-c);background:var(--bg)}
.svc-item:last-child{border-bottom:1px solid var(--line-c)}
.svc-item__title{margin:0;font:inherit;letter-spacing:normal}
.svc-item__head{display:grid;grid-template-columns:2.5rem minmax(0,1fr);align-items:baseline;column-gap:var(--space-3);width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--fg);font:inherit;text-align:left}
.svc-item__num,.svc-tab__num{font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:0.04em;font-variant-numeric:tabular-nums;color:var(--fg-3)}
.svc-item__name{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug);letter-spacing:-0.022em;text-wrap:balance;overflow-wrap:break-word}
.svc-item__toggle{display:none}
.svc-item__media{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--r-md);background:var(--surface-2)}
.svc-item__media picture,.svc-item__media img{display:block;width:100%;height:100%}
.svc-item__media img{object-fit:cover}
.svc-item__body{display:grid;gap:var(--space-5);align-content:start}
.svc-item__desc{margin:0;max-width:34ch;font-size:var(--fs-lead);line-height:1.4;letter-spacing:-0.014em;color:var(--fg);text-wrap:pretty}
.svc-item__label{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3)}
.svc-item__list{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}
.svc-item__list li{display:grid;grid-template-columns:1.125rem minmax(0,1fr);column-gap:var(--space-3);align-items:start;font-size:var(--fs-small);line-height:1.5;color:var(--fg-2)}
.svc-item__list .icon{width:1.125rem;height:1.125rem;margin-top:calc((1.5em - 1.125rem) / 2);color:var(--accent)}
.svc-item__cta{justify-self:start;display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--fs-body);font-weight:500;letter-spacing:-0.01em;color:var(--fg);text-decoration:none}
.svc-item__cta-icon{display:inline-grid;place-items:center;flex-shrink:0;width:2rem;height:2rem;border-radius:var(--r-pill);background:var(--navy-900);color:var(--on-dark);transition:transform var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out)}
.svc-item__cta-icon .icon{width:1rem;height:1rem}
@media (hover:hover) and (pointer:fine){.svc-item__cta:hover .svc-item__cta-icon{transform:translateX(4px);background:var(--red-600)}}
.svc-item__cta:active .svc-item__cta-icon{transform:translateX(4px) scale(0.94)}
@media (min-width:768px){:root:not(.js) .svc-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-7);align-items:start}:root:not(.js) .svc-item__title{grid-column:1 / -1}:root:not(.js) .svc-item__body{grid-column:1;grid-row:2}:root:not(.js) .svc-item__media{grid-column:2;grid-row:2}}
@media (min-width:1024px){:root:not(.js) .svc-item{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);padding-block:var(--space-7)}:root:not(.js) .svc-item__title{grid-column:1;grid-row:1}:root:not(.js) .svc-item__body{grid-column:2;grid-row:1}:root:not(.js) .svc-item__media{grid-column:3;grid-row:1}}
@media (min-width:1024px){.js .svc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(3rem,6vw,6.5rem);align-items:start}.js .svc-tabs{position:relative;display:flex;flex-direction:column;border-left:1px solid var(--line-c)}.js .svc-tabs__indicator{position:absolute;top:0;left:-1px;width:2px;height:1px;background:var(--accent);transform-origin:0 0;transform:translate3d(0,var(--ind-y,0px),0) scaleY(var(--ind-h,0));pointer-events:none}.js .svc-tabs.is-ready .svc-tabs__indicator{transition:transform var(--dur-2) var(--ease-out)}.js .svc-tab{display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:baseline;width:100%;margin:0;padding:1.0625rem var(--space-4) 1.0625rem var(--space-6);border:0;border-radius:var(--r-sm);background:none;color:var(--fg-3);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--dur-1) ease}.js .svc-tab__num{transition:color var(--dur-1) ease}.js .svc-tab__name{font-size:clamp(1.125rem,1.45vw,1.375rem);font-weight:500;line-height:1.25;letter-spacing:-0.018em}@media (hover:hover) and (pointer:fine){.js .svc-tab:hover{color:var(--fg-2)}.js .svc-tab:hover .svc-tab__num{color:var(--fg-2)}}.js .svc-tab[aria-selected="true"]{color:var(--fg)}.js .svc-tab[aria-selected="true"] .svc-tab__name{font-weight:640}.js .svc-tab[aria-selected="true"] .svc-tab__num{color:var(--accent-text)}.js .svc-panels{position:sticky;top:calc(var(--nav-h) + var(--space-6));display:grid}.js .svc-item{grid-area:1 / 1;display:block;padding:0;border:0;background:none;visibility:hidden}.js .svc-item.is-active{z-index:1;visibility:visible}.js .svc-item.is-leaving{visibility:visible}.js .svc-item:focus-visible{outline-offset:6px;border-radius:var(--r-lg)}.js .svc-item__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.js .svc-item__media{aspect-ratio:16 / 10;border-radius:var(--r-lg)}.js .svc-item__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:clamp(2rem,4vw,3.5rem);row-gap:var(--space-5);padding-top:var(--space-6)}.js .svc-item__desc{grid-column:1;grid-row:1;max-width:none;font-size:clamp(1.1875rem,1.5vw,1.375rem);line-height:1.38}.js .svc-item__includes{grid-column:2;grid-row:1 / span 2;padding-top:0.3rem}.js .svc-item__cta{grid-column:1;grid-row:2;align-self:start}.js .svc-tab:active{color:var(--fg)}}
@media (min-width:1024px) and (max-width:1279.98px){.js .svc-item__body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.js .svc-item__desc,.js .svc-item__includes,.js .svc-item__cta{grid-column:1;grid-row:auto}.js .svc-item__includes{padding-top:0}}
@media (min-width:1024px) and (max-height:820px){.js .svc-item__media{aspect-ratio:2 / 1}}
@media (min-width:1920px){.js .svc-tab__name{font-size:clamp(1.375rem,1.1vw,1.5rem)}.js .svc-item__desc{font-size:clamp(1.375rem,1.05vw,1.5rem)}.svc-item__list li{font-size:1rem}}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.js .svc-item__media,.js .svc-item__body{transition:opacity 0.5s var(--ease-out)}.js .svc-item:not(.is-active) .svc-item__media{opacity:0}.js .svc-item:not(.is-active) .svc-item__body{opacity:0;transition-duration:0.18s}.js .svc.is-live .svc-item.is-active .svc-item__media{animation:svc-media-in 0.95s var(--ease-out) both}.js .svc.is-live .svc-item.is-active .svc-item__media img{animation:svc-img-in 1.3s var(--ease-out) both}.js .svc.is-live .svc-item.is-active .svc-item__body>*{animation:svc-text-in 0.7s var(--ease-out) both;animation-delay:calc(0.12s + var(--svc-d,0) * 0.06s)}.js .svc-item__body>:nth-child(2){--svc-d:1}.js .svc-item__body>:nth-child(3){--svc-d:2}}
@keyframes svc-media-in{from{opacity:0;clip-path:inset(4% 4% 4% 4% round var(--r-lg))}to{opacity:1;clip-path:inset(0 0 0 0 round var(--r-lg))}}
@keyframes svc-img-in{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes svc-text-in{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
@media (max-width:1023.98px){.js .svc-item{grid-template-columns:minmax(0,1fr);gap:0;padding:0;scroll-margin-top:calc(var(--nav-h) + var(--space-2))}.js .svc-item.is-open{padding-bottom:var(--space-7)}.js .svc-item__title{grid-row:1;grid-column:1 / -1}.js .svc-item__head{grid-template-columns:var(--svc-num) minmax(0,1fr) var(--svc-thumb) var(--svc-toggle);align-items:center;column-gap:var(--svc-gap);min-height:5.75rem;padding-block:var(--space-4);-webkit-tap-highlight-color:transparent}.js button.svc-item__head{cursor:pointer}.js .svc-item__name{grid-column:2;padding-right:var(--space-2);font-size:clamp(1.125rem,4.4vw,1.375rem);letter-spacing:-0.02em}.js .svc-item__toggle{grid-column:4;display:inline-grid;place-items:center;width:var(--svc-toggle);height:var(--svc-toggle);border:1px solid var(--line-c);border-radius:var(--r-pill);color:var(--fg);transition:transform var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.js .svc-item__toggle .icon{width:1rem;height:1rem}.js button.svc-item__head:active .svc-item__toggle{border-color:var(--fg-3);background:var(--surface-2)}.js .svc-item.is-open button.svc-item__head:active .svc-item__toggle{background:var(--navy-800)}.js .svc-item.is-open .svc-item__toggle{transform:rotate(45deg);border-color:var(--navy-900);background:var(--navy-900);color:var(--on-dark)}.js .svc-item__media{grid-row:1;grid-column:1 / -1;justify-self:end;align-self:center;width:var(--svc-thumb);margin-right:calc(var(--svc-toggle) + var(--svc-gap));border-radius:var(--r-sm);pointer-events:none}.js .svc-item.is-open .svc-item__media{grid-row:2;justify-self:stretch;width:auto;margin:0;border-radius:var(--r-md)}.js .svc-item__body{display:none;grid-row:3;padding-top:var(--space-5)}.js .svc-item.is-open .svc-item__body{display:grid}.js .svc-item__desc{font-size:clamp(1.125rem,4.6vw,1.3125rem)}}
@media (max-width:419.98px){.svc{--svc-thumb:3rem;--svc-num:1.75rem;--svc-gap:0.625rem}.js .svc-item__name{padding-right:0}}
@media (max-width:359.98px){.js .svc-item__name{font-size:1.0625rem}}
@media (max-width:1023.98px) and (max-height:500px) and (orientation:landscape){.js .svc-item__head{min-height:4.5rem;padding-block:var(--space-3)}.js .svc-item.is-open{padding-bottom:var(--space-6)}.js .svc-item.is-open .svc-item__media{aspect-ratio:16 / 10;max-height:52svh;align-self:start}.js .svc-item__body{gap:var(--space-4)}.js .svc-item__label{margin-bottom:var(--space-3)}.js .svc-item__list{gap:var(--space-2)}}
@media (min-width:768px) and (max-width:1023.98px){.js .svc-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-6)}.js .svc-item.is-open .svc-item__media{grid-column:1;grid-row:2}.js .svc-item__body{grid-column:2;grid-row:2;padding-top:0}}
@media (min-width:768px) and (max-width:1023.98px) and (max-height:500px) and (orientation:landscape){.js .svc-item{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}
@media (prefers-reduced-motion:reduce){.svc-item__cta-icon,.js .svc-tab,.js .svc-tab__num,.js .svc-tabs.is-ready .svc-tabs__indicator,.js .svc-item__toggle{transition:none}}
.method{--method-dot:1.5rem}
.method__steps{margin:0;padding:0;list-style:none}
.method-step{position:relative;display:grid;gap:var(--space-4);padding:0 0 var(--space-8) var(--space-6)}
.method-step:last-child{padding-bottom:0}
.method-step__rail{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--line-c)}
.method-step:first-child .method-step__rail{top:var(--method-dot)}
.method-step__fill{position:absolute;top:0;bottom:0;left:-0.5px;width:2px;background:var(--accent);transform-origin:50% 0;transform:scaleY(0)}
.method-step::before{content:"";position:absolute;top:var(--method-dot);left:0;z-index:1;width:9px;height:9px;border:1px solid var(--fg-3);border-radius:50%;background:var(--bg);transform:translate(-50%,-50%);transition:background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}
.method-step__num{font-family:var(--font-mono);font-size:3rem;font-weight:400;line-height:1;letter-spacing:-0.05em;font-variant-numeric:tabular-nums;color:var(--fg-3);transition:color var(--dur-2) var(--ease-out)}
.method-step__title{margin:0;font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug);letter-spacing:-0.022em;color:var(--fg);overflow-wrap:break-word}
.method-step__text{margin:var(--space-3) 0 0;max-width:46ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.method-step__media{position:relative;overflow:hidden;margin-top:var(--space-3);aspect-ratio:4 / 3;border-radius:var(--r-md);background:var(--navy-800)}
.method-step__media picture,.method-step__media img{display:block;width:100%;height:100%}
.method-step__media img{object-fit:cover}
.method-step.is-reached::before,.method-step.is-active::before{border-color:var(--accent);background:var(--accent)}
.method-step.is-reached .method-step__num,.method-step.is-active .method-step__num{color:var(--accent)}
.method__visual{display:none}
.method__frame{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--r-lg);background:var(--navy-800)}
.method__shot{position:absolute;inset:0;display:block}
.method__shot img{display:block;width:100%;height:100%;object-fit:cover}
.method__counter{position:absolute;left:var(--space-5);bottom:var(--space-5);z-index:5;display:inline-flex;align-items:baseline;margin:0;padding:0.4375rem 0.875rem;border-radius:var(--r-pill);background:color-mix(in srgb,var(--navy-950) 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--on-dark);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:0.08em;font-variant-numeric:tabular-nums}
.method__counter-total{color:var(--on-dark-2)}
@media (min-width:600px) and (max-width:639.98px){.method-step__media{aspect-ratio:16 / 10}}
@media (min-width:640px){.method-step{grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-rows:auto 1fr;column-gap:var(--space-6);row-gap:var(--space-3)}.method-step__num{grid-column:1;grid-row:1}.method-step__body{grid-column:1;grid-row:2}.method-step__media{grid-column:2;grid-row:1 / span 2;align-self:start;margin-top:0}}
@media (min-width:768px){.method{--method-dot:1.75rem}.method-step{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto 1fr;column-gap:var(--space-7);row-gap:var(--space-4);padding-left:var(--space-7);padding-bottom:var(--space-9)}.method-step__num{grid-column:1;grid-row:1;font-size:3.5rem}.method-step__body{grid-column:1;grid-row:2}.method-step__media{grid-column:2;grid-row:1 / span 2;margin-top:0}}
@media (max-height:500px) and (orientation:landscape){.method-step__media{aspect-ratio:16 / 10;align-self:start}.method-step{padding-bottom:var(--space-8)}.method-step:last-child{padding-bottom:0}}
@media (min-width:1024px){.method-step{column-gap:clamp(3rem,7vw,7rem)}.method-step__text{font-size:var(--fs-lead);line-height:1.5}}
@media (min-width:1024px){.method[data-mode="pin"]{--method-pad:clamp(1rem, 2.6vh, 1.5rem);--method-num:2.75rem;--method-dot:calc(var(--method-pad) + var(--method-num) / 2)}.method[data-mode="pin"] .method__stage{display:flex;align-items:center;box-sizing:border-box;height:100vh;height:100svh;padding-block:var(--nav-h) var(--space-4)}.method[data-mode="pin"] .method__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);column-gap:clamp(3rem,6vw,6.5rem);align-items:center;width:100%}.method[data-mode="pin"] .method-step{grid-template-columns:4.25rem minmax(0,1fr);grid-template-rows:auto;column-gap:var(--space-4);padding:var(--method-pad) 0 var(--method-pad) var(--space-6);align-items:start}.method[data-mode="pin"] .method-step__num{grid-column:1;grid-row:1;font-size:var(--method-num)}.method[data-mode="pin"] .method-step__body{grid-column:2;grid-row:1;padding-top:0.125rem}.method[data-mode="pin"] .method-step__media{display:none}.method[data-mode="pin"] .method-step__title,.method[data-mode="pin"] .method-step__text{color:var(--fg-3);transition:color var(--dur-2) var(--ease-out)}.method[data-mode="pin"] .method-step__title{font-size:clamp(1.375rem,1.9vw,1.625rem)}.method[data-mode="pin"] .method-step__text{margin-top:var(--space-2);max-width:44ch;font-size:1rem;line-height:1.55}.method[data-mode="pin"] .method-step.is-active .method-step__title,.method[data-mode="pin"] .method-step.is-active .method-step__text{color:var(--fg)}.method[data-mode="pin"] .method__visual{display:block}.method[data-mode="pin"] .method__frame{width:100%;max-height:min(calc(100svh - var(--nav-h) - 4.5rem),46rem)}.method[data-mode="pin"] .method__shot{will-change:clip-path}.method[data-mode="pin"] .method__shot img{will-change:transform}}
@media (min-width:1024px) and (max-height:820px){.method[data-mode="pin"]{--method-num:2.25rem}.method[data-mode="pin"] .method-step__title{font-size:1.3125rem}.method[data-mode="pin"] .method-step__text{font-size:var(--fs-small);line-height:1.5}}
@media (min-width:1024px) and (max-height:760px){.method[data-mode="pin"]{--method-pad:0.75rem;--method-num:2rem}.method[data-mode="pin"] .method-step{grid-template-columns:3.5rem minmax(0,1fr)}.method[data-mode="pin"] .method-step__title{font-size:1.25rem}.method[data-mode="pin"] .method-step__text{margin-top:var(--space-1,0.25rem);line-height:1.45}}
@media (min-width:1024px) and (max-width:1279.98px){.method[data-mode="pin"] .method__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:3rem}}
@media (min-width:1920px) and (min-height:900px){.method[data-mode="pin"] .method-step__title{font-size:1.75rem}.method[data-mode="pin"] .method-step__text{font-size:1.0625rem}}
@media (min-width:2400px) and (min-height:1000px){.method[data-mode="pin"]{--method-num:3.25rem}.method[data-mode="pin"] .method-step{grid-template-columns:5rem minmax(0,1fr)}.method[data-mode="pin"] .method-step__title{font-size:2rem}.method[data-mode="pin"] .method-step__text{max-width:46ch;font-size:1.1875rem}}
@media (prefers-reduced-motion:reduce){.method-step::before,.method-step__num{transition:none}}
.software{--sw-gap:var(--space-3);--sw-pad:var(--space-2);--sw-ipad:clamp(1.5rem, 2.6vw, 2.25rem);--sw-ipad-x:var(--sw-ipad);--sw-block:clamp(4.5rem, 8vw, 7.5rem)}
@media (min-width:768px){.software{--sw-gap:var(--space-4);--sw-ipad-x:calc(var(--sw-pad) + var(--space-5))}}
@media (min-width:1024px){.software{--sw-gap:1.25rem}}
.software__head{max-width:820px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.software__head>.t-h2{max-width:11em}
.software__intro>* + *{margin-top:var(--space-6)}
.software__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.software__ext>.icon{width:16px;height:16px;margin:0 -2px 0 0;transition:transform var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.software__ext:hover>.icon{transform:translate(1px,-1px)}}
@media (max-width:479.98px){.software__actions .btn{flex:1 1 100%;white-space:normal;text-align:center}}
@media (min-width:80em){.software__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(32rem,45%));grid-template-rows:auto auto;column-gap:clamp(3rem,6vw,6rem);align-items:end;max-width:none}.software__head>.eyebrow{grid-column:1;grid-row:1}.software__head>.t-h2{grid-column:1;grid-row:2}.software__head>.software__intro{grid-column:2;grid-row:1 / span 2;margin-top:0}}
#kanbanbox{scroll-margin-top:var(--space-6)}
html.lenis #kanbanbox{scroll-margin-top:calc(var(--nav-h) + var(--space-6))}
.sw-stage__media{aspect-ratio:16 / 9}
.sw-stage__media::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line-c);pointer-events:none}
@media (min-width:768px){.sw-stage__media{aspect-ratio:2 / 1}}
@media (min-width:1024px){.sw-stage__media{aspect-ratio:96 / 35}}
@media (min-width:768px) and (max-width:1023.98px) and (max-height:500px) and (orientation:landscape){.sw-stage__media{aspect-ratio:96 / 35}}
.sw-block{margin-top:var(--sw-block)}
.sw-label{display:flex;align-items:center;gap:var(--space-4);margin-bottom:clamp(1.5rem,3vw,2.5rem);color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.sw-label::after{content:"";flex:1;height:1px;background-color:var(--line-c)}
.sw-steps{display:grid;gap:var(--space-7)}
@media (min-width:768px){.sw-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem)}}
.sw-step{display:flex;flex-direction:column;min-width:0}
.sw-step__media{aspect-ratio:16 / 10}
.sw-step__body{padding-top:var(--space-5)}
.sw-step__num{display:flex;align-items:center;gap:var(--space-3);color:var(--accent-text);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;letter-spacing:0.08em;font-variant-numeric:tabular-nums}
.sw-step__num::after{content:"";flex:1;height:1px;background-color:var(--line-c)}
.sw-step__title{margin-top:var(--space-4);font-size:clamp(1.25rem,0.9vw + 0.95rem,1.625rem);line-height:1.15;letter-spacing:-0.024em}
.sw-step__text{max-width:40ch;margin-top:var(--space-3);color:var(--fg-2);font-size:var(--fs-small);line-height:1.6}
@media (min-width:1024px){.sw-step__text{font-size:var(--fs-body)}}
@media (min-width:768px){.sw-step{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}.sw-step__body{display:contents}.sw-step__num{padding-top:var(--space-5)}}
.sw-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sw-gap);container-type:inline-size}
.sw-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line-c);border-radius:var(--r-lg);background-color:var(--card-bg);color:var(--fg);overflow:hidden}
.sw-card--media{padding:var(--sw-pad)}
.sw-card__media{flex-shrink:0;aspect-ratio:16 / 10;border-radius:calc(var(--r-lg) - var(--sw-pad))}
.sw-card__body{display:flex;flex:1 0 auto;flex-direction:column;padding:var(--space-5) var(--space-4) var(--space-3)}
@media (min-width:768px){.sw-card__body{padding:var(--space-6) var(--space-5) var(--space-4)}}
.sw-card__title{font-size:clamp(1.375rem,0.9vw + 1rem,1.75rem);line-height:1.12;letter-spacing:-0.028em}
.sw-card__text{max-width:46ch;margin-top:var(--space-3);color:var(--fg-2);font-size:var(--fs-small);line-height:1.6}
@media (min-width:1024px){.sw-card__text{font-size:var(--fs-body)}}
.sw-card--icon{padding:var(--sw-ipad) var(--sw-ipad-x)}
.sw-card__icon{width:28px;height:28px;margin-bottom:clamp(2rem,4vw,3.25rem);color:var(--accent)}
.sw-card--icon .sw-card__title{font-size:clamp(1.25rem,0.6vw + 1rem,1.5rem);line-height:1.15;letter-spacing:-0.024em}
.sw-card--icon .sw-card__text{max-width:40ch}
@media (min-width:768px){.sw-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-card--print{grid-column:1 / -1}.sw-card--media,.sw-card--users,.sw-card--calc{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}.sw-card--media .sw-card__body{display:contents}.sw-card--media .sw-card__title{margin-inline:var(--space-5);padding-top:var(--space-6)}.sw-card--media .sw-card__text{margin:var(--space-3) var(--space-5) var(--space-4)}}
@media (min-width:768px) and (max-width:1023.98px){.sw-card--print{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:calc(var(--sw-gap) + 2 * var(--sw-ipad-x));align-items:baseline}.sw-card--print .sw-card__icon{grid-column:1;grid-row:1}.sw-card--print .sw-card__title{grid-column:1;grid-row:2}.sw-card--print .sw-card__text{grid-column:2;grid-row:2;margin-top:0}}
@media (min-width:1024px){.sw-bento{grid-template-columns:repeat(12,minmax(0,1fr))}.sw-card--app{grid-column:1 / span 7}.sw-card--bi{grid-column:8 / span 5}.sw-card--users{grid-column:1 / span 4}.sw-card--calc{grid-column:5 / span 4}.sw-card--print{grid-column:9 / span 4;display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}.sw-card--media .sw-card__media{aspect-ratio:auto;height:calc(((100cqi - 11 * var(--sw-gap)) * 7 / 12 + 6 * var(--sw-gap) - 2 * var(--sw-pad) - 2px) / 2)}}
.sw-partner{margin-top:var(--sw-gap);padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,4rem);border-radius:var(--r-lg);background-color:var(--navy-900);color:var(--fg)}
.sw-partner__kicker{line-height:1}
.sw-partner__title{max-width:13.5em;margin-top:var(--space-5);font-size:clamp(1.75rem,1.6vw + 1.2rem,2.75rem);line-height:1.06;letter-spacing:-0.034em;text-wrap:wrap}
.sw-partner__text{max-width:44ch;margin-top:var(--space-4);color:var(--fg-2);font-size:var(--fs-body);line-height:1.6}
.sw-partner__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-6);margin-top:var(--space-7)}
@media (max-width:479.98px){.sw-partner__actions .btn{flex:1 1 100%;white-space:normal;text-align:center}}
@media (max-width:359.98px){.sw-partner .link-arrow{font-size:var(--fs-small)}}
@media (min-width:1024px){.sw-partner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(3rem,6vw,6rem);align-items:end}.sw-partner__actions{flex-direction:column;align-items:flex-start;margin-top:0}}
@media (prefers-reduced-motion:reduce){.sw-stage__media img,.software__ext>.icon{transform:none!important}}
.projects{--pj-inset:max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));--pj-card-w:min(82vw, 400px);--pj-gap:var(--space-4);--pj-pad:var(--space-2)}
@media (min-width:768px){.projects{--pj-card-w:400px;--pj-gap:1.25rem}}
@media (min-width:1920px){.projects{--pj-card-w:440px;--pj-gap:var(--space-5)}}
.projects__head{margin-bottom:var(--space-7)}
.projects__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5) var(--space-6);margin-bottom:var(--space-3)}
.projects__filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}
@media (max-width:767.98px){.projects__filters{flex-wrap:nowrap;width:calc(100% + 2 * var(--gutter));margin:-6px calc(-1 * var(--gutter));padding:6px var(--gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:var(--gutter);scrollbar-width:none}.projects__filters::-webkit-scrollbar{display:none}.projects__filters .chip{flex-shrink:0}}
@media (pointer:coarse){.projects__filters .chip{min-height:44px;transition:transform var(--dur-1) var(--ease-out)}.projects__filters .chip:active{transform:scale(0.96)}}
.projects__controls{display:flex;align-items:center;gap:var(--space-2);width:100%}
.projects__count{margin-right:auto;font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:0.08em;font-variant-numeric:tabular-nums;color:var(--fg-3);white-space:nowrap}
.projects__count [data-pos]{color:var(--fg)}
.projects__count-sep{margin-inline:0.5em}
@media (min-width:768px){.projects__controls{width:auto}.projects__count{margin-right:var(--space-3)}}
.projects:not(.is-enhanced) .projects__toolbar{display:none}
.projects .projects__track{position:relative;display:flex;gap:var(--pj-gap);margin:0;padding:var(--space-5) var(--pj-inset) var(--space-7);margin-bottom:calc(-1 * var(--space-5));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pj-inset);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.projects__track::-webkit-scrollbar{display:none}
@media (hover:hover) and (pointer:fine){.projects.is-enhanced .projects__track{cursor:grab}}
.projects__track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none;-webkit-user-select:none}
.projects__track.is-dragging *{cursor:grabbing!important}
.projects__track img{-webkit-user-drag:none;user-select:none}
.no-js .projects__track{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:start;overflow:visible;scroll-snap-type:none}
.project-card{display:flex;flex:0 0 var(--pj-card-w);width:var(--pj-card-w);scroll-snap-align:start}
.no-js .project-card{width:auto}
.project-card__inner{position:relative;display:flex;flex-direction:column;width:100%;padding:var(--pj-pad);border-radius:var(--r-lg);background-color:var(--card-bg);color:var(--fg);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}
.project-card__media{border-radius:calc(var(--r-lg) - var(--pj-pad))}
.project-card__media img{transition:transform var(--dur-3) var(--ease-out)}
.project-card__media[data-plate] img,.project-dialog__media>picture[data-plate] img{scale:var(--pz,1)}
.project-card__body{display:flex;flex:1;flex-direction:column;padding:var(--space-5) var(--space-4) var(--space-2)}
.project-card__cat{margin-bottom:var(--space-4);line-height:1}
.project-card__title{font-size:clamp(1.375rem,1.6vw + 0.5rem,1.625rem);line-height:1.14;letter-spacing:-0.026em}
.project-card__context{margin-top:var(--space-2);color:var(--fg-2);font-size:var(--fs-small);line-height:1.5}
.project-card__result{margin-top:auto;padding-top:var(--space-7)}
.project-card__metric{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.project-card__num{font-size:clamp(2.75rem,3vw + 1.5rem,3.5rem);font-weight:600;line-height:0.95;letter-spacing:-0.05em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.project-card__label{color:var(--fg-2);font-size:var(--fs-small);line-height:1.3}
.project-card__more{margin-top:var(--space-3);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.04em;color:var(--fg-3)}
.project-card__result-label{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-3)}
.project-card__result-text{margin-top:var(--space-2);font-size:1.3125rem;font-weight:500;line-height:1.25;letter-spacing:-0.02em;text-wrap:balance}
.project-card__context + .project-card__open,.project-card__context + .project-card__open + .project-card__details{margin-top:auto}
@media (max-width:767.98px){.project-card__result{margin-top:0;padding-top:var(--space-6);margin-bottom:var(--space-5)}.project-card__result + .project-card__open,.project-card__result + .project-card__open + .project-card__details{margin-top:auto}}
.project-card__open,.project-card__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:52px;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line-c);color:var(--fg);font-size:var(--fs-small);font-weight:500;letter-spacing:-0.005em;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.project-card__open::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r-lg)}
.project-card__open:focus-visible{outline:none}
.project-card__open:focus-visible::after{outline:2px solid var(--accent);outline-offset:3px}
.project-card__plus{display:inline-grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background-color:var(--navy-900);color:var(--on-dark);transition:transform var(--dur-2) var(--ease-out),background-color var(--dur-1) var(--ease-out)}
.project-card__plus .icon{width:16px;height:16px}
.project-card__summary{list-style:none}
.project-card__summary::-webkit-details-marker{display:none}
.project-card__details[open] .project-card__plus{transform:rotate(45deg)}
.projects.is-enhanced .project-card__details,.projects:not(.is-enhanced) .project-card__open{display:none}
@media (hover:hover) and (pointer:fine){.projects.is-enhanced .project-card__inner:hover{transform:translateY(-4px);box-shadow:var(--shadow-1)}.projects.is-enhanced .project-card__inner:hover .project-card__media img{transform:scale(1.04)}.projects.is-enhanced .project-card__inner:hover .project-card__plus{transform:scale(1.08);background-color:var(--red-600)}.projects__track.is-dragging .project-card__inner:hover{transform:none;box-shadow:none}}
@media (hover:none),(pointer:coarse){.projects.is-enhanced .project-card__inner:active{transform:scale(0.985)}.projects.is-enhanced .project-card__inner:active .project-card__plus{background-color:var(--red-600)}}
@media (max-height:500px) and (orientation:landscape){.projects{--pj-card-w:min(80vw, 620px)}.project-card__inner{flex-direction:row;align-items:flex-start}.project-card__media{flex:0 0 46%}.project-card__body{align-self:stretch;min-width:0;padding:var(--space-3) var(--space-3) var(--space-1) var(--space-5)}.project-card__cat{margin-bottom:var(--space-3)}.project-card__title{font-size:1.25rem}.project-card__result{margin-top:0;padding-top:var(--space-4);margin-bottom:var(--space-3)}.project-card__num{font-size:2.5rem}.project-card__result + .project-card__open,.project-card__result + .project-card__open + .project-card__details{margin-top:auto}.project-card__open,.project-card__summary{min-height:44px;padding-top:var(--space-3)}}
.project-full{padding-top:var(--space-4);color:var(--fg-2);font-size:var(--fs-small);line-height:1.6}
.project-full>* + *{margin-top:var(--space-4)}
.project-full__date{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg-3)}
.project-card .project-full__figures{display:none}
.project-full__part>* + *{margin-top:var(--space-2)}
.project-full__h{color:var(--fg);font-size:var(--fs-small);font-weight:600;letter-spacing:-0.005em}
.project-full__list>li{position:relative;padding-left:1.15em}
.project-full__list>li + li{margin-top:var(--space-1)}
.project-full__list>li::before{content:"";position:absolute;top:0.78em;left:0;width:0.5em;height:1px;background-color:currentColor}
.project-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--fg);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.project-dialog:focus{outline:none}
.project-dialog::backdrop{background:rgba(10,18,32,0.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1)}
.project-dialog.is-open::backdrop{opacity:1}
.project-dialog__sheet{position:relative;width:100%;min-height:calc(100% - var(--space-5));margin:var(--space-5) 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;background-color:var(--surface);color:var(--fg);overflow:clip;box-shadow:var(--shadow-2);opacity:0;transform:translate3d(0,72px,0);transition:opacity 0.35s var(--ease-out),transform 0.75s var(--ease-out)}
.project-dialog.is-open .project-dialog__sheet{opacity:1;transform:none}
@media (min-width:768px){.project-dialog__sheet{width:min(100% - 2 * max(var(--gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)),1120px);min-height:0;margin:clamp(1.5rem,6vh,4rem) auto;border-radius:var(--r-lg);transform:translate3d(0,48px,0) scale(0.985)}}
.project-dialog{--pd-bar-h:68px;--pd-safe-t:env(safe-area-inset-top, 0px)}
@media (min-width:768px){.project-dialog{--pd-bar-h:76px}}
@media (max-height:500px) and (orientation:landscape){.project-dialog{--pd-bar-h:60px}.project-dialog__sheet{margin-block:var(--space-3)}}
.project-dialog__bar{position:sticky;top:0;z-index:3;height:0}
.project-dialog__bar::before{content:"";position:absolute;top:0;right:0;left:0;height:calc(var(--pd-bar-h) + var(--pd-safe-t));border-bottom:1px solid var(--line-c);background-color:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out)}
.project-dialog.is-condensed .project-dialog__bar::before{opacity:1}
.project-dialog__bartitle{display:none}
@media (min-width:768px){.project-dialog__bartitle{position:absolute;top:0;right:15.5rem;left:clamp(2rem,5.5vw,4.5rem);display:block;overflow:hidden;color:var(--fg);font-size:1rem;font-weight:600;line-height:var(--pd-bar-h);letter-spacing:-0.012em;white-space:nowrap;text-overflow:ellipsis;opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.project-dialog.is-condensed .project-dialog__bartitle{opacity:1;transform:none}}
.project-dialog__ctrls{position:absolute;top:calc((var(--pd-bar-h) - 44px) / 2 + var(--pd-safe-t));right:calc(var(--space-3) + env(safe-area-inset-right,0px));display:flex;align-items:center;gap:var(--space-2)}
@media (min-width:768px){.project-dialog__ctrls{right:var(--space-4)}}
@media (pointer:coarse){.project-dialog__btn:active,.project-dialog__next:active .project-dialog__next-icon{transform:scale(0.92)}}
.project-dialog__btn,.project-dialog__count{background-color:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);box-shadow:var(--shadow-1)}
.project-dialog__btn{--ib-bg:color-mix(in srgb, var(--surface) 84%, transparent);--ib-fg:var(--ink);--ib-bd:transparent;--ib-bg-hover:var(--surface);--ib-bd-hover:transparent}
.project-dialog__count{display:inline-flex;align-items:center;height:44px;margin-right:var(--space-1);padding-inline:var(--space-4);border-radius:var(--r-pill);color:var(--ink-3);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.08em;font-variant-numeric:tabular-nums}
.project-dialog__count [data-dpos]{color:var(--ink)}
.project-dialog.is-condensed .project-dialog__btn,.project-dialog.is-condensed .project-dialog__count{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.project-dialog.is-condensed .project-dialog__btn{--ib-bg:transparent;--ib-bd:color-mix(in srgb, var(--fg) 18%, transparent);--ib-bg-hover:color-mix(in srgb, var(--fg) 7%, transparent);--ib-bd-hover:color-mix(in srgb, var(--fg) 40%, transparent)}
.project-dialog.is-condensed .project-dialog__count{background-color:transparent}
.project-dialog__count-sep{margin-inline:0.5em}
.project-dialog__media{position:relative;display:flex;align-items:center;justify-content:center;padding-top:calc(var(--pd-bar-h) + var(--pd-safe-t));background-color:var(--navy-800);overflow:hidden}
.project-dialog__media[hidden]{display:none}
.project-dialog__media>picture{display:block;flex:0 1 auto;width:100%;aspect-ratio:3 / 2;overflow:hidden}
.project-dialog__media img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:768px){.project-dialog__media{padding-inline:var(--space-5);padding-bottom:var(--space-6)}.project-dialog__media>picture{width:auto;max-width:100%;height:clamp(260px,52vh,520px);border-radius:var(--r-md)}}
@media (max-height:500px) and (orientation:landscape){.project-dialog__sheet{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.project-dialog__bar{grid-column:1 / -1;grid-row:1}.project-dialog__bar::before{left:calc(100% * 5 / 12)}.project-dialog__bartitle{left:calc(100% * 5 / 12 + var(--space-6))}.project-dialog__media{grid-column:1;grid-row:2;position:sticky;top:0;height:calc(100vh - 2 * var(--space-3));height:calc(100svh - 2 * var(--space-3));padding:var(--space-4)}.project-dialog__media>picture{width:100%;height:auto;max-height:100%;border-radius:var(--r-sm)}.project-dialog .project-dialog__content{grid-column:2;grid-row:2;padding:calc(var(--pd-bar-h) + var(--pd-safe-t) + var(--space-2)) calc(var(--space-5) + env(safe-area-inset-right,0px)) calc(var(--space-6) + env(safe-area-inset-bottom,0px)) var(--space-6)}.project-dialog .project-dialog__media[hidden] + .project-dialog__content{grid-column:1 / -1}.project-dialog .project-dialog__title{font-size:clamp(1.625rem,1.6vw + 1rem,2.25rem)}}
.project-dialog__content{padding:var(--space-6) var(--space-5) calc(var(--space-7) + env(safe-area-inset-bottom,0px));overflow-wrap:break-word}
@media (min-width:768px){.project-dialog__content{padding:var(--space-8) clamp(2rem,5.5vw,4.5rem) calc(var(--space-7) + env(safe-area-inset-bottom,0px))}}
.project-dialog__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);line-height:1}
.project-dialog__date{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--fg-3)}
.project-dialog__title{max-width:22ch;margin-top:var(--space-5);font-size:clamp(2rem,3.2vw + 0.75rem,3.5rem);line-height:1.04;letter-spacing:-0.038em}
.project-dialog__context{margin-top:var(--space-4);color:var(--fg-2);font-size:var(--fs-lead);line-height:1.4;letter-spacing:-0.012em}
.project-dialog__grid{display:grid;gap:var(--space-7);margin-top:var(--space-7);padding-top:var(--space-7);border-top:1px solid var(--line-c)}
@media (min-width:1024px){.project-dialog__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(3rem,6vw,6rem)}.project-dialog__grid.is-single{grid-template-columns:minmax(0,1fr)}.project-dialog__aside{position:sticky;top:var(--space-9);align-self:start}}
.project-dialog__aside>* + *{margin-top:var(--space-6)}
.project-dialog__aside-h,.project-dialog__body h3{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;line-height:1.4;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-3)}
.project-dialog__figs{margin-top:var(--space-3)}
.project-dialog__figs>li{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-4);border-bottom:1px solid var(--line-c)}
.project-dialog__figs>li:first-child{padding-top:var(--space-2)}
.project-dialog__figs .project-full__fig{font-size:clamp(2.5rem,2.6vw + 1.25rem,3.5rem);font-weight:600;line-height:0.95;letter-spacing:-0.05em;font-variant-numeric:tabular-nums lining-nums;color:var(--fg)}
.project-dialog__figs .project-full__fig-label{color:var(--fg-2);font-size:var(--fs-small);line-height:1.4}
.project-dialog__result-text{margin-top:var(--space-3);font-size:clamp(1.375rem,1vw + 1rem,1.625rem);font-weight:500;line-height:1.22;letter-spacing:-0.022em;text-wrap:balance}
.project-dialog__body{max-width:66ch;color:var(--fg-2);font-size:var(--fs-body);line-height:1.65}
.project-dialog__body>.project-full__part + .project-full__part{margin-top:var(--space-7)}
.project-dialog__body h3{margin-bottom:var(--space-3);color:var(--fg)}
.project-dialog__body p + p,.project-dialog__body p + ul,.project-dialog__body ul + p{margin-top:var(--space-4)}
.project-dialog__body .project-full__list>li + li{margin-top:var(--space-2)}
.project-dialog__body .project-full__list>li::before{top:0.82em;background-color:var(--fg-3)}
.project-dialog__body>.project-full__part:only-child>p{color:var(--fg);font-size:clamp(1.0625rem,0.4vw + 0.95rem,1.1875rem);line-height:1.6}
.project-dialog__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--line-c)}
.project-dialog__next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-4);max-width:100%;min-height:44px;margin-left:auto;text-align:right;color:var(--fg);cursor:pointer}
.project-dialog__next-label{grid-column:1;font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--fg-3)}
.project-dialog__next-title{grid-column:1;margin-top:var(--space-1);font-size:1.125rem;font-weight:600;line-height:1.25;letter-spacing:-0.015em;text-wrap:balance}
.project-dialog__next-icon{grid-column:2;grid-row:1 / span 2;display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--fg) 22%,transparent);border-radius:50%;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}
.project-dialog__next-icon .icon{width:18px;height:18px;transition:transform var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.project-dialog__next:hover .project-dialog__next-icon{border-color:var(--navy-900);background-color:var(--navy-900);color:var(--on-dark)}.project-dialog__next:hover .project-dialog__next-icon .icon{transform:translateX(2px)}}
@media (max-width:767.98px){.project-dialog__foot{flex-direction:column-reverse;align-items:stretch}.project-dialog__next{margin-left:0;text-align:left}.project-dialog__cta{justify-content:space-between}}
@media (prefers-reduced-motion:reduce){.project-dialog__sheet,.project-card__inner,.project-card__media img,.project-card__plus,.projects__filters .chip,.project-dialog__btn,.project-dialog__next-icon{transform:none!important}}
.specialties__island{padding-block:clamp(4rem,9vw,7.5rem)}
.specialties__head{max-width:980px;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--space-3)}
.spec-tile--fore,.spec-tile--stm{grid-column:1 / -1}
@media (max-width:767.98px){.spec-tile--fore .spec-tile__media,.spec-tile--stm .spec-tile__media{aspect-ratio:16 / 9}}
@media (min-width:768px){.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}}
@media (min-width:1024px){.spec-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}.spec-tile--fore{grid-column:1 / span 7;grid-row:1 / span 2}.spec-tile--oee{grid-column:8 / span 5;grid-row:1}.spec-tile--tablero{grid-column:8 / span 5;grid-row:2}.spec-tile--stm{grid-column:1 / -1;grid-row:3}}
.spec-tile{--tile-pad:var(--space-2);position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:var(--tile-pad);border:1px solid var(--line-c);border-radius:var(--r-lg);background-color:var(--card-bg);color:var(--fg);overflow:hidden}
.spec-tile__media{flex-shrink:0;border-radius:calc(var(--r-lg) - var(--tile-pad))}
.spec-tile__media img{will-change:transform}
.spec-tile__body{display:flex;flex:1 0 auto;flex-direction:column;align-items:flex-start;padding:var(--space-5) var(--space-4) var(--space-3)}
@media (min-width:768px){.spec-tile__body{padding:var(--space-6) var(--space-5) var(--space-4)}}
.spec-tile__kicker{margin-bottom:var(--space-4);line-height:1}
.spec-tile__title{font-size:clamp(1.5rem,1.1vw + 1.05rem,2rem);line-height:1.08;letter-spacing:-0.03em}
.spec-tile__lead{margin-top:var(--space-2);color:var(--fg-2);font-size:var(--fs-lead);line-height:1.4;letter-spacing:-0.012em}
.spec-tile__quote{margin-top:var(--space-4);font-size:clamp(1.25rem,0.9vw + 0.95rem,1.625rem);font-weight:500;line-height:1.2;letter-spacing:-0.024em;text-wrap:balance}
.spec-tile__text{max-width:46ch;margin-top:var(--space-3);color:var(--fg-2);font-size:var(--fs-small);line-height:1.6}
@media (min-width:1024px){.spec-tile__text{font-size:var(--fs-body)}}
.spec-tile__topics{margin-top:var(--space-6)}
.spec-tile__label{font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--fg-3)}
.spec-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.spec-tile__body>:nth-last-child(2){margin-bottom:var(--space-5)}
.spec-tile__cta{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;margin-top:auto;color:var(--fg);font-size:var(--fs-small);font-weight:500;letter-spacing:-0.005em;-webkit-tap-highlight-color:transparent}
.spec-tile__cta-icon{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--fg) 26%,transparent);border-radius:50%;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}
.spec-tile__cta-icon .icon{width:16px;height:16px;transition:transform var(--dur-2) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.spec-tile__cta:hover .spec-tile__cta-icon{border-color:var(--on-dark);background-color:var(--on-dark);color:var(--navy-900)}.spec-tile__cta:hover .spec-tile__cta-icon .icon{transform:rotate(45deg)}}
@media (pointer:coarse){.spec-tile__cta:active .spec-tile__cta-icon{border-color:var(--on-dark);background-color:var(--on-dark);color:var(--navy-900)}}
@media (min-width:768px) and (max-width:1023.98px){.spec-tile--fore,.spec-tile--stm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.spec-tile--fore .spec-tile__media{aspect-ratio:auto;height:100%;min-height:360px}.spec-tile--stm .spec-tile__media{grid-column:2;grid-row:1;aspect-ratio:auto;height:100%;min-height:260px}.spec-tile--stm .spec-tile__body{grid-column:1;grid-row:1}}
@media (min-width:768px) and (max-width:899.98px) and (min-height:501px){.spec-tile--stm{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}}
@media (min-width:1024px){.spec-tile--fore .spec-tile__media{flex:1000 1 340px;aspect-ratio:auto;min-height:340px}.spec-tile--fore .spec-tile__body{flex:1 0 auto;padding:var(--space-6) var(--space-6) var(--space-5)}.spec-tile--oee .spec-tile__media,.spec-tile--tablero .spec-tile__media{aspect-ratio:2 / 1}.spec-tile--stm{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.spec-tile--stm .spec-tile__media{grid-column:2;grid-row:1;aspect-ratio:16 / 9;min-height:100%}.spec-tile--stm .spec-tile__body{grid-column:1;grid-row:1;padding:var(--space-6) var(--space-6) var(--space-5)}}
@media (min-width:768px) and (max-width:1023.98px) and (max-height:500px) and (orientation:landscape){.spec-tile--fore,.spec-tile--stm{align-items:center}.spec-tile--fore .spec-tile__media,.spec-tile--stm .spec-tile__media{aspect-ratio:4 / 3;height:auto;min-height:0}}
@media (min-width:1024px) and (-webkit-min-device-pixel-ratio:1.5),(min-width:1024px) and (min-resolution:1.5dppx){.spec-tile--fore .spec-tile__media{max-height:35rem}}
@media (prefers-reduced-motion:reduce){.spec-tile__media img{will-change:auto;transform:none!important}.spec-tile__cta-icon .icon{transform:none!important}}
.about>.container{padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.about__intro{display:grid;gap:var(--space-6);margin-bottom:var(--space-8)}
.about__head .eyebrow{margin:0 0 var(--space-5)}
.about__title{margin:0;text-wrap:balance}
.about__lead{max-width:34rem}
.about__lead-main{margin:0;color:var(--fg);text-wrap:pretty}
.about__lead-sub{margin:var(--space-4) 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.about__linkedin{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;margin-top:var(--space-5);color:var(--fg);font-size:var(--fs-small);font-weight:500;text-decoration:none}
.about__linkedin-logo{width:22px;height:22px;color:var(--fg)}
.about__linkedin-text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.3em;text-decoration-color:var(--line-c);transition:text-decoration-color var(--dur-1)}
@media (hover:hover) and (pointer:fine){.about__linkedin:hover .about__linkedin-text{text-decoration-color:currentColor}}
.about__linkedin:active .about__linkedin-text{text-decoration-color:currentColor}
.about__linkedin-arrow{width:16px;height:16px;color:var(--accent);transition:transform var(--dur-2) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.about__linkedin:hover .about__linkedin-arrow{transform:translate(2px,-2px)}}
.about__bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.about__tile{position:relative;margin:0;border-radius:var(--r-md);background:var(--surface);color:var(--fg);overflow:hidden}
.about__tile[data-theme="dark"]{background:var(--navy-900)}
.about__photo{display:block;align-self:start;background:var(--surface-2)}
.about__photo .about__img{display:block;width:100%;height:100%;object-fit:cover}
.about__photo--a,.about__why,.about__photo--b,.about__motto{grid-column:1 / -1}
.about__metric{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);min-height:10.5rem;margin:0;padding:var(--space-5) var(--space-4) var(--space-4)}
.about__num{display:block;font-size:clamp(3rem,7vw,6.5rem);font-weight:600;line-height:0.9;letter-spacing:-0.06em;font-variant-numeric:tabular-nums;white-space:nowrap}
.about__plus{color:var(--accent);font-weight:500;margin-right:0.04em}
.about__label{display:block;max-width:19ch;font-size:var(--fs-small);line-height:1.35;color:var(--fg-2);text-wrap:pretty}
.about__why{container-type:inline-size;padding:var(--space-6) var(--space-5) var(--space-5)}
.about__why-title{margin:0 0 var(--space-4)}
.about__why-text{margin:0;max-width:56ch;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.about__reasons{list-style:none;margin:var(--space-6) 0 0;padding:0;border-top:1px solid var(--line-c)}
.about__reason{display:grid;grid-template-columns:2.25rem minmax(0,1fr);column-gap:var(--space-3);row-gap:var(--space-1);padding-block:var(--space-4);border-bottom:1px solid var(--line-c)}
.about__reason:last-child{border-bottom:0;padding-bottom:0}
.about__reason-num{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:0.06em;line-height:1.9;color:var(--accent-text);font-variant-numeric:tabular-nums}
.about__reason-title{margin:0;font-size:1.125rem;font-weight:600;line-height:1.45;letter-spacing:-0.012em}
.about__reason-text{grid-column:2;margin:0;font-size:var(--fs-small);line-height:1.55;color:var(--fg-2);text-wrap:pretty}
.about__motto{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-7);padding:var(--space-5)}
.about__motto-cap{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}
.about__formula{margin:0}
.about__formula p{margin:0;font-size:clamp(1.5rem,2.05vw,2rem);font-weight:500;line-height:1.2;letter-spacing:-0.03em}
.about__fline{display:grid;grid-template-columns:1.05em minmax(0,1fr);align-items:baseline}
.about__op{color:var(--accent);font-weight:400}
.about__term{text-wrap:balance}
.about__fline--total{margin-top:0.4em;padding-top:0.4em;border-top:1px solid var(--line-c);font-weight:600}
@media (min-width:600px){.about__intro{margin-bottom:var(--space-9)}.about__bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}.about__tile{border-radius:var(--r-lg)}.about__photo--a{grid-column:1 / span 3;grid-row:1 / span 2}.about__metric--20{grid-column:4 / span 3;grid-row:1}.about__metric--80{grid-column:4 / span 3;grid-row:2}.about__metric--10{grid-column:1 / span 3;grid-row:3}.about__metric--4{grid-column:4 / span 3;grid-row:3}.about__why{grid-column:1 / -1;grid-row:4}.about__photo--b{grid-column:1 / span 3;grid-row:5}.about__motto{grid-column:4 / span 3;grid-row:5}.about__metric{padding:var(--space-6);min-height:12rem}.about__why{padding:var(--space-7)}.about__motto{padding:var(--space-6)}}
@media (min-width:600px) and (max-width:1023.98px){.about__photo--a{align-self:stretch;aspect-ratio:auto;min-height:20rem}.about__photo--a .about__img{position:absolute;inset:0}}
@media (min-width:600px) and (max-width:1279.98px){.about__photo--b{align-self:stretch;aspect-ratio:auto;min-height:15rem}.about__photo--b .about__img{position:absolute;inset:0}}
@container (min-width:34rem){.about__reason{grid-template-columns:3rem minmax(0,13rem) minmax(0,1fr);column-gap:var(--space-4);align-items:baseline;padding-block:var(--space-5)}.about__reason-text{grid-column:3}}
@media (min-width:1024px){.about__intro{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-5);align-items:end}.about__head{grid-column:1 / span 7}.about__title{max-width:13ch}.about__lead{grid-column:8 / span 5;justify-self:end}.about__bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-5)}.about__photo--a{grid-column:1 / span 5;grid-row:1 / span 2}.about__metric--20{grid-column:6 / span 4;grid-row:1}.about__metric--80{grid-column:10 / span 3;grid-row:1}.about__metric--10{grid-column:6 / span 3;grid-row:2}.about__metric--4{grid-column:9 / span 4;grid-row:2}.about__why{grid-column:1 / -1;grid-row:3}.about__photo--b{grid-column:1 / span 6;grid-row:4}.about__motto{grid-column:7 / span 6;grid-row:4}.about__metric{padding:var(--space-6) var(--space-6) var(--space-5)}.about__why{padding:var(--space-7) var(--space-7) var(--space-6)}.about__motto{padding:var(--space-6) var(--space-7) var(--space-7)}}
@media (min-width:1280px){.about__why{grid-column:1 / span 7;grid-row:3 / span 2}.about__photo--b{grid-column:8 / span 5;grid-row:3}.about__motto{grid-column:8 / span 5;grid-row:4}}
.faq.section{padding-top:calc(var(--section-y) * 0.6)}
.faq>.container{padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.faq__layout{display:grid;gap:var(--space-7)}
.faq__head{margin:0;max-width:34rem}
.faq__head .eyebrow{margin:0 0 var(--space-5)}
.faq__title{margin:0}
.faq__more{margin:var(--space-5) 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2)}
.faq__more-link{display:inline-flex;align-items:center;gap:0.4em;min-height:44px;color:var(--fg);font-weight:500;text-decoration:none}
.faq__more-link .icon{width:18px;height:18px;color:var(--accent);transition:transform var(--dur-2) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.faq__more-link:hover .icon{transform:translateX(3px)}}
.faq__more-link:active .icon{transform:translateX(3px)}
.faq__list{border-top:1px solid var(--line-c)}
.faq__item{border-bottom:1px solid var(--line-c)}
.faq__heading{margin:0;font:inherit}
.faq__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;min-height:44px;margin:0;padding:var(--space-5) 0;border:0;border-radius:var(--r-sm);background:none;color:var(--fg);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.faq__question{font-size:clamp(1.125rem,1.55vw,1.375rem);font-weight:500;line-height:1.35;letter-spacing:-0.015em;text-wrap:balance}
.faq__icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--line-c);border-radius:50%;color:var(--fg)}
.faq__icon .icon{width:18px;height:18px}
.faq__item.is-open .faq__icon{transform:rotate(45deg);border-color:var(--navy-900);background:var(--navy-900);color:var(--on-dark)}
@media (hover:hover) and (pointer:fine){.faq__trigger:hover .faq__icon{border-color:var(--fg-3)}.faq__item.is-open .faq__trigger:hover .faq__icon{border-color:var(--navy-900)}}
.faq__trigger:active .faq__question{opacity:0.72}
.faq__trigger:active .faq__icon{border-color:var(--fg-3)}
.faq__item.is-open .faq__trigger:active .faq__icon{border-color:var(--navy-900)}
.faq__trigger{scroll-margin-top:calc(var(--nav-h) + var(--space-4))}
.faq__panel{display:grid;grid-template-rows:1fr}
.faq__body{min-height:0;overflow:hidden;padding-right:var(--space-4)}
.faq__body>*{max-width:60ch}
.faq__body p{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2);text-wrap:pretty}
.faq__body a{color:var(--fg)}
.faq__body>:last-child{margin-bottom:var(--space-6)}
.faq__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}
.faq.is-enhanced .faq__panel{grid-template-rows:0fr}
.faq.is-enhanced .faq__item.is-open .faq__panel{grid-template-rows:1fr}
.faq.is-enhanced .faq__body{opacity:0;transform:translate3d(0,-6px,0)}
.faq.is-enhanced .faq__item.is-open .faq__body{opacity:1;transform:none}
.faq:not(.is-enhanced) .faq__icon{visibility:hidden}
.faq:not(.is-enhanced) .faq__trigger{cursor:default}
@media (prefers-reduced-motion:no-preference){.faq__icon{transition:transform var(--dur-2) var(--ease-out),background-color var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.faq.is-enhanced .faq__panel{transition:grid-template-rows var(--dur-2) var(--ease-out)}.faq.is-enhanced .faq__body{transition:opacity var(--dur-1) linear,transform var(--dur-2) var(--ease-out)}.faq.is-enhanced .faq__item.is-open .faq__body{transition:opacity var(--dur-2) var(--ease-out) 0.08s,transform var(--dur-2) var(--ease-out) 0.08s}}
@media (min-width:768px){.faq__trigger{padding-block:var(--space-6)}.faq__icon{width:44px;height:44px}.faq__body{padding-right:calc(44px + var(--space-5))}.faq__body>:last-child{margin-bottom:var(--space-6)}.faq__body>p:first-child{margin-top:calc(var(--space-2) * -1)}}
@media (min-width:1024px){.faq__layout{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-5);align-items:start}.faq__head{grid-column:1 / span 5}.faq__list{grid-column:6 / span 7}}
@media (min-width:1024px) and (min-height:501px){.faq__head{position:sticky;top:calc(var(--nav-h) + var(--space-6))}}
.contact.section{padding-top:0}
.contact .container{padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}
.contact__hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:clamp(34rem,80vh,54rem);min-height:clamp(34rem,80svh,54rem);padding-block:calc(var(--nav-h) + var(--space-8)) var(--space-8);overflow:hidden}
.contact__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--navy-950)}
.contact__picture{position:absolute;inset:-10% 0;display:block}
.contact__picture img{display:block;width:100%;height:100%;object-fit:cover}
.contact__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--navy-950) 62%,transparent) 0%,color-mix(in srgb,var(--navy-900) 38%,transparent) 32%,color-mix(in srgb,var(--navy-900) 74%,transparent) 68%,var(--navy-900) 100%),color-mix(in srgb,var(--navy-900) 40%,transparent)}
.contact__hero-inner{position:relative;width:100%}
.contact__head{max-width:46rem;margin:0}
.contact__head .eyebrow{margin:0 0 var(--space-5)}
.contact__title{margin:0;color:var(--on-dark);text-wrap:balance}
.contact__title-soft{display:block;color:var(--on-dark-2)}
@media (max-width:399.98px){.contact__title{font-size:1.875rem}}
.contact__lead{max-width:34rem;margin:var(--space-5) 0 0;color:var(--on-dark-2);text-wrap:pretty}
.contact__body{display:grid;gap:var(--space-8);margin-top:var(--space-2)}
.contact__card{position:relative;z-index:1;min-width:0;padding:var(--space-6) var(--space-5);border:1px solid var(--line-c);border-radius:var(--r-md);background:var(--navy-800);color:var(--fg);container-type:inline-size}
.cf{color-scheme:dark}
.cf__title{margin:0 0 var(--space-6);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:400;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}
.cf__grid{display:grid;gap:var(--space-5)}
.cf__field{position:relative;min-width:0}
.cf__label{display:block;margin-bottom:var(--space-2);font-size:var(--fs-small);font-weight:500;line-height:1.4;color:var(--fg)}
.cf__optional{font-weight:400;color:var(--fg-3)}
.cf__control{display:block;width:100%;min-height:52px;margin:0;padding:0.8125rem 1rem;border:1px solid color-mix(in srgb,var(--on-dark) 30%,transparent);border-radius:var(--r-sm);background:var(--navy-900);color:var(--fg);font:inherit;font-size:var(--fs-body);line-height:1.4;-webkit-appearance:none;appearance:none;scroll-margin-top:calc(var(--nav-h) + var(--space-8));scroll-margin-bottom:var(--space-8);-webkit-tap-highlight-color:transparent}
textarea.cf__control{min-height:9.5rem;resize:vertical}
@media (hover:hover) and (pointer:fine){.cf__control:hover{border-color:color-mix(in srgb,var(--on-dark) 50%,transparent)}}
.cf__control:focus{outline:none}
.cf__control:focus-visible{border-color:var(--on-dark-2);outline:2px solid var(--red-500);outline-offset:2px}
.cf__control[aria-invalid="true"]{border-color:var(--red-500)}
.cf__control:-webkit-autofill,.cf__control:-webkit-autofill:hover,.cf__control:-webkit-autofill:focus{-webkit-text-fill-color:var(--on-dark);-webkit-box-shadow:0 0 0 1000px var(--navy-900) inset;caret-color:var(--on-dark)}
.cf__box{position:relative}
.cf__select .cf__control{padding-right:3rem;text-overflow:ellipsis;cursor:pointer}
.cf__select .cf__control:invalid{color:var(--fg-3)}
.cf__control option,.cf__control optgroup{background:var(--navy-800);color:var(--on-dark)}
.cf__control option:disabled{color:var(--on-dark-3)}
.cf__caret{position:absolute;top:50%;right:1rem;width:18px;height:18px;margin-top:-9px;color:var(--fg-2);pointer-events:none}
.cf__error{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--fs-small);line-height:1.45;color:var(--fg)}
.cf__error::before{content:"";flex:none;width:18px;height:18px;margin-top:0.1em;background:var(--red-500);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z'/%3E%3C/svg%3E") center / contain no-repeat}
.cf__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cf__foot{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);margin-top:var(--space-6)}
.cf__privacy{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--fs-small);line-height:1.45;color:var(--fg-2)}
.cf__privacy .icon{width:18px;height:18px;color:var(--fg-3)}
.cf__submit{justify-content:space-between;width:100%}
.cf__submit-icon .icon{grid-area:1 / 1}
.cf__spinner{opacity:0}
.cf.is-sending .cf__arrow{opacity:0}
.cf.is-sending .cf__spinner{opacity:1}
.cf__submit[aria-disabled="true"]{opacity:0.75}
.cf-alert{margin-top:var(--space-6);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--red-500) 55%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--red-600) 10%,var(--navy-800))}
.cf-alert:focus{outline:none}
.cf-alert__title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--fs-body);font-weight:600;line-height:1.4;color:var(--fg)}
.cf-alert__title .icon{width:22px;height:22px;color:var(--red-500)}
.cf-alert__text{margin:var(--space-2) 0 0;font-size:var(--fs-small);line-height:1.5;color:var(--fg-2)}
.cf-alert__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-5)}
.cf-alert__mail{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--fg);font-size:var(--fs-small);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.25em}
.cf-alert__mail .icon{width:18px;height:18px;color:var(--fg-2)}
.cf-done{display:flex;flex-direction:column;align-items:flex-start;padding-block:var(--space-4)}
.cf-done__badge{display:grid;place-items:center;width:64px;height:64px;margin-bottom:var(--space-6);border-radius:50%;background:var(--surface);color:var(--navy-900)}
.cf-done__badge .icon{width:30px;height:30px}
.cf-done__eyebrow{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:400;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg)}
.cf-done__title{margin:0;font-size:var(--fs-h3);font-weight:600;line-height:1.2;letter-spacing:-0.02em;overflow-wrap:anywhere}
.cf-done__title:focus{outline:none}
.cf-done__text{margin:var(--space-2) 0 0;font-size:var(--fs-lead);line-height:1.45;color:var(--fg);overflow-wrap:anywhere}
.cf-done__hint{margin:var(--space-7) 0 0;font-size:var(--fs-small);line-height:1.5;color:var(--fg-2)}
.cf-done__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin-top:var(--space-4)}
.cf-done__again{min-height:44px;padding:0;border:0;background:none;color:var(--fg-2);font:inherit;font-size:var(--fs-small);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.25em;cursor:pointer}
.contact__channels{min-width:0;max-width:32rem}
.contact__channels-title{margin:0;font-size:var(--fs-h3);font-weight:600;line-height:1.2;letter-spacing:-0.02em;color:var(--fg)}
.contact__channels-text{margin:var(--space-3) 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--fg-2)}
.contact__wa{margin-top:var(--space-6)}
.contact__list{margin:var(--space-7) 0 0;border-top:1px solid var(--line-c)}
.contact__row{display:grid;grid-template-columns:7rem minmax(0,1fr);align-items:center;gap:var(--space-4);min-height:68px;padding-block:var(--space-3);border-bottom:1px solid var(--line-c)}
.contact__row dt{font-family:var(--font-mono);font-size:var(--fs-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-3)}
.contact__row dd{margin:0;min-width:0;font-size:var(--fs-body);line-height:1.4;color:var(--fg)}
.contact__link{display:inline-flex;align-items:center;min-height:44px;color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.3em;text-decoration-color:var(--line-c);overflow-wrap:anywhere}
@media (hover:hover) and (pointer:fine){.contact__link:hover{text-decoration-color:currentColor}}
.contact__link:active{text-decoration-color:currentColor}
.contact__social{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
@media (prefers-reduced-motion:no-preference){.cf__control{transition:border-color var(--dur-1) linear,background-color var(--dur-1) linear}.cf__submit-icon .icon{transition:opacity var(--dur-1) linear,transform var(--dur-1) var(--ease-out)}.cf.is-sending .cf__spinner{animation:cf-spin 0.8s linear infinite}.cf-done.is-in .cf-done__badge{animation:cf-pop 0.7s var(--ease-out) both}.cf-done.is-in .cf-done__badge .icon{animation:cf-draw 0.55s var(--ease-out) 0.3s both}.cf-done.is-in .cf-done__eyebrow{animation:cf-rise 0.8s var(--ease-out) 0.1s both}.cf-done.is-in .cf-done__title{animation:cf-rise 0.8s var(--ease-out) 0.15s both}.cf-done.is-in .cf-done__text{animation:cf-rise 0.8s var(--ease-out) 0.25s both}.cf-done.is-in .cf-done__hint,.cf-done.is-in .cf-done__actions{animation:cf-rise 0.8s var(--ease-out) 0.35s both}.cf-alert.is-in{animation:cf-rise 0.6s var(--ease-out) both}.cf__box.is-flash::after{content:"";position:absolute;inset:-5px;border:2px solid var(--on-dark-2);border-radius:calc(var(--r-sm) + 5px);pointer-events:none;animation:cf-flash 1.6s var(--ease-out) both}}
@keyframes cf-spin{to{transform:rotate(360deg)}}
@keyframes cf-pop{from{opacity:0;transform:scale(0.6)}to{opacity:1;transform:none}}
@keyframes cf-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cf-rise{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes cf-flash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@container (min-width:32rem){.cf__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}.cf__field--full{grid-column:1 / -1}.cf__foot{flex-direction:row;align-items:center;justify-content:space-between}.cf__privacy{max-width:25ch}.cf__submit{width:auto;flex:none}}
@media (max-width:1023.98px){.contact{--contact-band:min(clamp(22rem, 62vw, 30rem), 75vh);--contact-band:min(clamp(22rem, 62vw, 30rem), 75svh)}.contact__hero{display:block;min-height:0;padding-block:calc(var(--contact-band) - var(--space-5)) var(--space-8)}.contact__bg{inset:0 0 auto;height:var(--contact-band);background:var(--navy-900)}.contact__picture{inset:0 0 2px}.contact__picture img{object-position:50% 56%}.contact__bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-950) 50%,transparent) 0%,color-mix(in srgb,var(--navy-950) 8%,transparent) 26%,color-mix(in srgb,var(--navy-900) 6%,transparent) 54%,color-mix(in srgb,var(--navy-900) 70%,transparent) 76%,var(--navy-900) 96%),color-mix(in srgb,var(--navy-900) 14%,transparent)}}
@media (min-width:768px){.contact__card{padding:var(--space-7);border-radius:var(--r-lg)}}
@media (min-width:1024px){.contact{--contact-overlap:clamp(22rem, 36vw, 32.5rem)}.contact__hero{min-height:clamp(38rem,88svh,56rem);padding-bottom:var(--space-10)}.contact__bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--navy-950) 55%,transparent) 0%,transparent 30%,color-mix(in srgb,var(--navy-900) 55%,transparent) 70%,var(--navy-900) 100%),linear-gradient(90deg,color-mix(in srgb,var(--navy-950) 65%,transparent) 0%,color-mix(in srgb,var(--navy-950) 28%,transparent) 45%,transparent 75%),color-mix(in srgb,var(--navy-900) 35%,transparent)}.contact__hero-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-5)}.contact__head{grid-column:1 / span 7}.contact__body{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--space-5);align-items:start;margin-top:0}.contact__card{grid-column:8 / -1;grid-row:1;margin-top:calc(var(--contact-overlap) * -1);padding:var(--space-6);box-shadow:var(--shadow-2)}.contact__channels{grid-column:1 / span 5;grid-row:1;padding-top:var(--space-2)}}
@media (min-width:1280px){.contact__card{padding:var(--space-7)}}
@media (max-height:500px) and (orientation:landscape) and (min-width:1024px){.contact__hero{min-height:0;padding-block:calc(var(--nav-h) + var(--space-7)) var(--space-7)}}
.site-footer{position:relative;padding-top:clamp(4rem,9vw,7.5rem);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));background:var(--navy-950);color:var(--on-dark);box-shadow:inset 0 1px 0 var(--line-dark)}
.site-footer__top{display:grid;justify-items:start;gap:var(--space-6);padding-bottom:clamp(3rem,6vw,5rem)}
.site-footer__brand{display:inline-flex;align-items:center;min-height:44px;border-radius:8px;-webkit-tap-highlight-color:transparent;transition:opacity var(--dur-1) var(--ease-out)}
.site-footer__brand:active{opacity:0.7}
.site-footer__logo{width:auto;max-width:none;height:40px}
.site-footer__claim{color:var(--on-dark)}
.site-footer__claim-line{display:block}
.site-footer__claim-line + .site-footer__claim-line{color:var(--on-dark-2)}
.site-footer__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7) var(--space-6);padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line-dark)}
@media (min-width:768px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8)}.site-footer__col--services{grid-column:1 / -1}}
@media (min-width:1280px){.site-footer__grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.site-footer__col--services{grid-column:auto}}
.site-footer__title{margin-bottom:var(--space-3);color:var(--on-dark-3);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;line-height:1.4;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.site-footer__list{display:grid}
.site-footer__list--split,.site-footer__list--split-sm{display:block;columns:2;column-gap:var(--space-5)}
.site-footer__list--split>li,.site-footer__list--split-sm>li{break-inside:avoid}
@media (max-width:767.98px){.site-footer__list--split .site-footer__link{padding-block:0.5rem}}
@media (min-width:768px){.site-footer__list--split{column-gap:var(--space-6)}.site-footer__list--split-sm{display:grid;columns:auto}}
@media (min-width:1024px) and (max-width:1279.98px){.site-footer__list--split{columns:3}}
.site-footer__link,.site-footer__place{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;padding-block:0.3rem;color:var(--on-dark-2);font-size:var(--fs-small);line-height:1.35}
.site-footer__link{border-radius:6px;-webkit-tap-highlight-color:transparent;transition:color var(--dur-1) var(--ease-out)}
@media (min-width:1024px) and (pointer:fine){.site-footer__link,.site-footer__place{min-height:36px}}
@media (hover:hover) and (pointer:fine){.site-footer__link:hover{color:var(--on-dark)}}
.site-footer__link:active,.site-footer__up:active{color:var(--on-dark)}
.site-footer__link>span,.site-footer__place>span{min-width:0;overflow-wrap:anywhere}
.site-footer__link .icon,.site-footer__place .icon{flex-shrink:0;width:18px;height:18px;color:var(--on-dark-3);transition:color var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.site-footer__link:hover .icon{color:var(--on-dark)}}
.site-footer__link span{font-variant-numeric:tabular-nums}
.site-footer__social{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.site-footer__social-link{--ib-fg:var(--on-dark-2)}
@media (hover:hover) and (pointer:fine){.site-footer__social-link:hover{--ib-fg:var(--on-dark)}}
.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line-dark);color:var(--on-dark-3);font-size:var(--fs-small);line-height:1.5}
.site-footer__legal{max-width:100%}
.site-footer__sep{display:none}
.site-footer__privacy{display:block;margin-top:var(--space-1)}
@media (min-width:1024px){.site-footer__sep{display:inline}.site-footer__privacy{display:inline;margin-top:0}}
.site-footer__up{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;border-radius:6px;color:var(--on-dark-2);-webkit-tap-highlight-color:transparent;transition:color var(--dur-1) var(--ease-out)}
.site-footer__up .icon{width:16px;height:16px;transition:transform var(--dur-1) var(--ease-out)}
@media (hover:hover) and (pointer:fine){.site-footer__up:hover{color:var(--on-dark)}.site-footer__up:hover .icon{transform:translateY(-2px)}}
:root{--mobilebar-h:62px}
@media (min-width:768px),(max-height:500px) and (orientation:landscape){:root{--mobilebar-h:0px}}
.mobile-bar{position:fixed;left:max(var(--space-3),env(safe-area-inset-left));right:max(var(--space-3),env(safe-area-inset-right));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:var(--z-mobilebar);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);box-sizing:border-box;min-height:var(--mobilebar-h);max-width:32rem;margin-inline:auto;padding:6px;border:1px solid var(--line-dark);border-radius:var(--r-pill);background-color:var(--navy-900);box-shadow:var(--shadow-1);color:var(--on-dark);visibility:hidden;transform:translate3d(0,calc(100% + var(--space-3) + env(safe-area-inset-bottom)),0);transition:transform var(--dur-2) var(--ease-out),visibility 0s linear var(--dur-2)}
.mobile-bar.is-visible,.no-js .mobile-bar{visibility:visible;transform:none;transition:transform var(--dur-2) var(--ease-out),visibility 0s linear 0s}
@media (min-width:768px),(max-height:500px) and (orientation:landscape){.mobile-bar{display:none}}
.mobile-bar__btn{min-width:0;padding-inline:var(--space-4)}
.mobile-bar .btn--ghost{--btn-bd:transparent;--btn-bd-hover:transparent;--btn-bg:color-mix(in srgb, var(--on-dark) 10%, transparent);--btn-bg-hover:color-mix(in srgb, var(--on-dark) 16%, transparent)}
@media (max-width:767.98px){.no-js .site-footer{padding-bottom:calc(var(--space-6) + var(--mobilebar-h) + var(--space-3) + env(safe-area-inset-bottom))}}
@media (max-height:500px) and (orientation:landscape){.no-js .site-footer{padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}}
