:root{--bg:#f4f6f9;--surface:#fff;--surface-2:#eef2f7;--surface-3:#e3e9f0;--ink:#0e1724;--ink-2:#445266;--ink-3:#697587;--line:#d9e0e8;--line-strong:#c3cdd9;--accent:#1f5e9e;--accent-hover:#184c82;--accent-ink:#fff;--accent-soft:#e2ecf7;--ok:#1c7a4b;--warn:#9c5a00;--bad:#b42318;--series-1:#1f5e9e;--series-2:#c2621b;--grid-line:#1f5e9e12;--shadow-1:0 1px 2px #0e17240f, 0 1px 1px #0e17240a;--shadow-2:0 18px 48px #0e172429;--backdrop:#080d148c;--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--header-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1119;--surface:#121a25;--surface-2:#18222f;--surface-3:#1f2b3a;--ink:#e7ecf2;--ink-2:#a6b2c1;--ink-3:#7e8b9c;--line:#233042;--line-strong:#2f3f55;--accent:#7fb9ee;--accent-hover:#9bcbf3;--accent-ink:#0b1119;--accent-soft:#15304c;--ok:#4fc089;--warn:#f0b429;--bad:#f07167;--series-1:#3f8ad2;--series-2:#d9712f;--grid-line:#7fb9ee0f;--shadow-1:0 1px 2px #0006;--shadow-2:0 18px 48px #00000080;--backdrop:#020509b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1119;--surface:#121a25;--surface-2:#18222f;--surface-3:#1f2b3a;--ink:#e7ecf2;--ink-2:#a6b2c1;--ink-3:#7e8b9c;--line:#233042;--line-strong:#2f3f55;--accent:#7fb9ee;--accent-hover:#9bcbf3;--accent-ink:#0b1119;--accent-soft:#15304c;--ok:#4fc089;--warn:#f0b429;--bad:#f07167;--series-1:#3f8ad2;--series-2:#d9712f;--grid-line:#7fb9ee0f;--shadow-1:0 1px 2px #0006;--shadow-2:0 18px 48px #00000080;--backdrop:#020509b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);overflow-y:scroll}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.12}p{margin:0}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}code{font-family:var(--f-mono);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--ink);color:var(--bg);border-radius:var(--r-sm);padding:10px 14px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.mono{font-family:var(--f-mono)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.small{font-size:.85rem}.h2{font-size:clamp(1.6rem,3vw,2.1rem)}.h3{font-size:1.2rem}.eyebrow{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.74rem;font-weight:500}.btn{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.93rem;font-weight:500;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-2);border-color:#0000}.btn--danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, transparent);background:0 0}.btn--danger:hover{background:color-mix(in srgb, var(--bad) 10%, transparent);border-color:var(--bad)}.btn--danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn--danger-solid:hover{background:color-mix(in srgb, var(--bad) 85%, #000)}.btn--sm{gap:6px;height:32px;padding:0 10px;font-size:.85rem}.btn--lg{height:48px;padding:0 22px;font-size:1rem}.btn--block{width:100%}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-on{color:var(--accent)}.icon{flex:none}.back-link{color:var(--ink-2);align-items:center;gap:6px;font-size:.9rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.field{align-content:start;gap:6px;min-width:0;display:grid}.field__label{font-size:.86rem;font-weight:600}.field__req{color:var(--bad);margin-left:3px}.field__hint{color:var(--ink-2);font-size:.8rem}.field__error{color:var(--bad);font-size:.8rem;font-weight:500}.input,.select,.textarea{width:100%;min-width:0;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-height:40px;padding:9px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}[aria-invalid=true].input,[aria-invalid=true].select,[aria-invalid=true].textarea{border-color:var(--bad)}.textarea{resize:vertical;min-height:110px;line-height:1.5}.input-group{gap:8px;display:flex}.input-group>.select--auto{flex:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:1/-1}.check{cursor:pointer;align-items:center;gap:10px;font-size:.93rem;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--accent)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=640px){.form-grid,.form-grid--3{grid-template-columns:minmax(0,1fr)}}.pill{--c:var(--ink-3);font-family:var(--f-mono);color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent);border:1px solid color-mix(in srgb, var(--c) 28%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 8px;font-size:.72rem;font-weight:500;line-height:1.6;display:inline-flex}.pill:before{content:"";background:var(--c);border-radius:50%;width:6px;height:6px}.pill--ok{--c:var(--ok)}.pill--warn{--c:var(--warn)}.pill--bad{--c:var(--bad)}.pill--accent{--c:var(--accent)}.pill--muted{--c:var(--ink-2)}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{background:var(--surface-2);border:1px solid var(--line);font-family:var(--f-mono);color:var(--ink-2);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.tag--more{background:0 0}.tag--removable button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.tag--removable button:hover{color:var(--bad)}.tag-input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;display:flex}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.tag-input__field{background:0 0;border:0;outline:0;flex:1;min-width:120px;padding:2px 4px;font-size:.93rem}.status-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.status-dot--ok{background:var(--ok)}.status-dot--warn{background:var(--warn)}.status-dot--bad{background:var(--bad)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;height:34px;padding:0 12px;font-size:.88rem;display:inline-flex}.chip span{font-family:var(--f-mono);color:var(--ink-3);font-size:.75rem}.chip:hover{border-color:var(--ink-3)}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip.is-on span{color:inherit;opacity:.75}.segmented{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-size:.86rem;display:inline-flex}.segmented button:hover{color:var(--ink)}.segmented button.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:600}.segmented__count{font-family:var(--f-mono);color:var(--ink-3);font-size:.72rem}.search-box{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);height:40px;color:var(--ink-3);align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.93rem}.banner{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);align-items:center;gap:10px;padding:12px 14px;font-size:.92rem;display:flex}.banner>span{flex:1}.banner--bad{--c:var(--bad);border-color:color-mix(in srgb, var(--c) 35%, transparent);background:color-mix(in srgb, var(--c) 8%, var(--surface));color:var(--ink)}.banner--bad .icon{color:var(--bad)}.banner--warn{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 9%, var(--surface))}.banner--warn>.icon{color:var(--warn)}.banner--info{border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft)}.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;padding:10px 14px;font-size:.7rem;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:color-mix(in srgb, var(--accent-soft) 50%, transparent)}.table .r{text-align:right}.table tfoot td{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:0;font-weight:600}.table .cell-main{gap:2px;min-width:140px;display:grid}.table .cell-main strong{font-weight:600}.table .cell-sub{color:var(--ink-2);font-size:.8rem}.table .actions{white-space:nowrap;justify-content:flex-end;gap:4px;display:flex}.th-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover{color:var(--ink)}.row-click{cursor:pointer}.modal{border-radius:var(--r-lg);background:var(--surface);color:var(--ink);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-2);border:0;padding:0;overflow:hidden}.modal--sm{width:min(440px,100vw - 32px)}.modal--lg{width:min(760px,100vw - 32px)}.modal--xl{width:min(1180px,100vw - 32px)}.modal::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal__inner{flex-direction:column;max-height:calc(100dvh - 48px);display:flex}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.modal__title{font-size:1.2rem}.modal__desc{color:var(--ink-2);margin-top:4px;font-size:.9rem}.modal__body{gap:16px;padding:18px 20px 20px;display:grid;overflow:auto}.modal__foot{border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal__foot .spacer{margin-right:auto}.lightbox{justify-items:center;gap:12px;margin:0;display:grid}.lightbox img{border-radius:var(--r-sm);background:var(--surface-2);width:auto;max-height:70dvh}.lightbox figcaption{color:var(--ink-2);text-align:center;font-size:.9rem}.lightbox__nav{gap:8px;display:flex}.toasts{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:300;pointer-events:none;gap:8px;width:min(460px,100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--r-md);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-2);pointer-events:auto;align-items:center;gap:10px;padding:11px 10px 11px 14px;font-size:.92rem;animation:.2s toast-in;display:flex}.toast>span{flex:1}.toast--error{background:var(--bad);color:#fff}.toast__action{color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-weight:700;text-decoration:underline}.toast__close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:inline-grid}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--ink-2);justify-items:center;gap:10px;padding:48px 20px;display:grid}.empty h3{color:var(--ink);font-size:1.1rem}.empty p{max-width:46ch}.empty__icon{background:var(--surface-2);width:44px;height:44px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.page-loader{min-height:50vh;color:var(--ink-2);justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;animation:1.3s ease-in-out infinite shimmer}.skeleton--card{height:420px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.brand{font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:1.12rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark__bg{fill:var(--ink)}.brand-mark__l{stroke:var(--bg)}.brand-mark__dot{fill:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.table--cards thead{display:none}.table--cards,.table--cards tbody,.table--cards tfoot,.table--cards tr{width:100%;display:block}.table--cards tr{border-bottom:1px solid var(--line);padding:12px 14px}.table--cards tbody tr:last-child{border-bottom:0}.table--cards td{text-align:right;overflow-wrap:anywhere;border:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.table--cards td>*{min-width:0}.table--cards td:before{content:attr(data-label);font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-align:left;flex:none;font-size:.68rem}.table--cards td[data-label=""]:before,.table--cards tfoot td:before{display:none}.table--cards td:first-child{padding-top:0}.table--cards .cell-main{justify-items:end;min-width:0}.table--cards tbody tr:hover td{background:0 0}.table--cards tfoot td:empty{display:none}}.route-error{max-width:560px;font-family:var(--f-body);color:var(--ink);justify-items:start;gap:12px;margin:12vh auto;padding:24px;display:grid}.route-error h1{font-size:1.6rem}.route-error p{color:var(--ink-2)}:root{--p-paper:#f5f7fa;--p-surface:#fff;--p-tint:#ebeff4;--p-ink:#0f1b2d;--p-ink-2:#4a5769;--p-line:#dce2ea;--p-brand:#1f5f99;--p-brand-hover:#174b7a;--p-brand-soft:#e1ecf7;--p-shine:#ffffffbf;--p-console:#0f1b2d;--p-console-2:#16253a;--p-console-ink:#e6edf5;--p-console-muted:#93a4b8;--p-console-line:#23344c;--p-console-ok:#3fbf86;--p-live:#0e6a45;--p-warn:#8a5606;--p-bad:#b93a26}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--p-paper:#0b131d;--p-surface:#111b28;--p-tint:#142031;--p-ink:#e8eef5;--p-ink-2:#9dabbc;--p-line:#213045;--p-brand:#8ec1ee;--p-brand-hover:#a9d0f2;--p-brand-soft:#16304a;--p-shine:#ffffff0f;--p-console:#0f1a28;--p-console-2:#15243a;--p-console-line:#26384f;--p-live:#4cc38f;--p-warn:#e3a63b;--p-bad:#ef7a64}}:root[data-theme=dark]{--p-paper:#0b131d;--p-surface:#111b28;--p-tint:#142031;--p-ink:#e8eef5;--p-ink-2:#9dabbc;--p-line:#213045;--p-brand:#8ec1ee;--p-brand-hover:#a9d0f2;--p-brand-soft:#16304a;--p-shine:#ffffff0f;--p-console:#0f1a28;--p-console-2:#15243a;--p-console-line:#26384f;--p-live:#4cc38f;--p-warn:#e3a63b;--p-bad:#ef7a64}.site{--bg:var(--p-paper);--surface:var(--p-surface);--surface-2:var(--p-tint);--surface-3:var(--p-line);--ink:var(--p-ink);--ink-2:var(--p-ink-2);--ink-3:var(--p-ink-2);--line:var(--p-line);--line-strong:color-mix(in srgb, var(--p-ink) 26%, var(--p-paper));--accent:var(--p-brand);--accent-hover:var(--p-brand-hover);--accent-ink:var(--p-paper);--accent-soft:var(--p-brand-soft);--ok:var(--p-live);--warn:var(--p-warn);--bad:var(--p-bad);--f-display:"Host Grotesk", "Segoe UI", system-ui, sans-serif;--f-body:"Host Grotesk", "Segoe UI", system-ui, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--section:clamp(72px, 9vw, 120px);background:var(--p-paper);min-height:100dvh;color:var(--p-ink);font-family:var(--f-body);font-kerning:normal;flex-direction:column;font-size:17px;line-height:1.6;display:flex}.site main{flex:1}.site h1,.site h2,.site h3{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600}.site p{text-wrap:pretty}.site a:not(.btn){color:inherit;text-underline-offset:4px;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}.site a:not(.btn):hover{text-decoration-color:currentColor}.site .btn{border-radius:8px;font-weight:600}.site .btn--lg{height:50px;padding:0 22px}.site .pill{font-family:var(--f-body);letter-spacing:0}.site :focus-visible{outline:2px solid var(--p-brand);outline-offset:3px}.container{width:100%;max-width:1200px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));margin-inline:auto}.narrow{max-width:720px}.shot{aspect-ratio:16/9;background:var(--p-tint);box-shadow:inset 0 0 0 1px var(--p-line);border-radius:12px;display:block;position:relative;overflow:hidden}.shot img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease-out,ease);position:absolute;inset:0}.shot--ready img{opacity:1}.shot--loading:after{content:"";background:linear-gradient(105deg, transparent 30%, var(--p-shine) 50%, transparent 70%);animation:1.6s ease-in-out infinite shot-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes shot-shine{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.shot img{transition:none}.shot--loading:after{opacity:.6;animation:none;transform:none}}.shot--natural.shot--ready{aspect-ratio:auto}.shot--natural.shot--ready img{height:auto;position:relative}.lightbox .shot{border-radius:8px;width:min(100%,106.4dvh)}.lightbox .shot img{background:0 0;border-radius:0;max-height:70dvh}.lightbox .shot--ready{width:auto;max-width:100%;box-shadow:none;background:0 0}.lightbox .shot--ready img{width:auto;max-width:100%}.site-header{z-index:50;background:color-mix(in srgb, var(--p-paper) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--p-line);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.site-header__bar{height:var(--header-h);align-items:center;gap:24px;display:flex}.site .brand{font-family:var(--f-display);letter-spacing:-.01em;font-size:1.05rem;font-weight:650}.site .brand-mark__bg{fill:var(--p-ink)}.site .brand-mark__l{stroke:var(--p-paper)}.site .brand-mark__dot{fill:var(--p-console-ok)}.site-nav{align-items:center;gap:2px;margin-left:auto;display:flex}.site-nav a:not(.btn){color:var(--p-ink-2);border-radius:6px;padding:8px 12px;font-size:.95rem;font-weight:500;text-decoration:none}.site-nav a:not(.btn):hover,.site-nav a.active{color:var(--p-ink)}.site-nav__cta,.site-nav__lang{display:none}.site-header__actions{align-items:center;gap:8px;display:flex}.lang-switch{border:1px solid var(--p-line);height:36px;color:var(--p-ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;font-size:.88rem;font-weight:500}.lang-switch:hover{color:var(--p-ink);border-color:var(--line-strong)}.site-header__menu{display:none}@media (width<=1060px){.site-header__menu{display:inline-grid}.site-header__actions{margin-left:auto}.site-header__cta,.site-header__lang{display:none}.site-nav{padding:12px max(20px, env(safe-area-inset-right,0px)) 20px max(20px, env(safe-area-inset-left,0px));background:var(--p-paper);border-bottom:1px solid var(--p-line);flex-direction:column;align-items:stretch;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a:not(.btn){padding:12px 0;font-size:1.05rem}.site-nav__lang{align-self:start;height:44px;margin-top:8px;display:block}.site-nav__cta{height:48px;margin-top:12px;display:inline-flex}}.intro{isolation:isolate;padding-block:clamp(56px,8vw,112px) clamp(64px,8vw,112px);position:relative;overflow:hidden}.intro__bg{z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease-out);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#00000059,#0000008c 38%,#000 62%);mask-image:linear-gradient(90deg,#00000059,#0000008c 38%,#000 62%)}.intro__bg.is-ready{opacity:1}.intro__bg canvas{width:100%;height:100%;display:block}@media (width<=899px){.intro__bg{-webkit-mask-image:linear-gradient(#00000040,#000 70%);mask-image:linear-gradient(#00000040,#000 70%)}}.intro__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(40px,6vw,88px);display:grid}.intro__copy{justify-items:start;gap:24px;display:grid;container-type:inline-size}.intro__title{font-size:clamp(2.3rem, min(3.9vw, 100cqi / (var(--title-chars,22) * .51)), 3.3rem);letter-spacing:-.032em;line-height:1.06}.intro__title span{display:block}.intro__lede{color:var(--p-ink-2);max-width:50ch;font-size:clamp(1.08rem,1.4vw,1.2rem)}.intro__ctas{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.intro__place{color:var(--p-ink-2);font-size:.92rem}@media (width<=960px){.intro__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.intro__ctas .btn{width:100%}}.board{background:var(--p-console);color:var(--p-console-ink);box-shadow:0 0 0 1px var(--p-console-line), 0 32px 64px -40px #0f1b2d99;border-radius:16px;gap:18px;padding:clamp(20px,2.6vw,28px);display:grid}.board__head{align-items:flex-start;gap:14px;display:flex}.board__beacon{background:var(--p-console-ok);border-radius:50%;flex:none;width:10px;height:10px;margin-top:8px;position:relative}.board__beacon:after{content:"";border:1px solid var(--p-console-ok);opacity:.45;border-radius:50%;position:absolute;inset:-5px}.board__beacon--warn,.board__beacon--warn:after{background:#e3a63b;border-color:#e3a63b}.board--wait .board__beacon,.board--wait .board__beacon:after{background:var(--p-console-muted);border-color:var(--p-console-muted)}.board__beacon--warn:after,.board--wait .board__beacon:after{background:0 0}.board__title{letter-spacing:-.01em;font-size:1.15rem}.board__sub{color:var(--p-console-muted);font-size:.88rem}.board__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.board__row{background:var(--p-console-2);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px 16px;display:grid}.board__name{min-width:0;display:grid}.board__name strong{overflow-wrap:anywhere;font-weight:600}.board__name span{color:var(--p-console-ok);font-size:.85rem}.board__row--degraded .board__name span,.board__row--maintenance .board__name span{color:#e3a63b}.board__row--down .board__name span{color:#ef7a64}.board__row--backup .board__name span{color:#8ec1ee}.board__figure{text-align:right;justify-items:end;display:grid}.board__figure strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.3rem;font-weight:600;line-height:1.2}.board__figure span{color:var(--p-console-muted);font-size:.78rem}.board__bars{grid-column:1/-1;grid-template-columns:repeat(48,minmax(0,1fr));gap:2px;height:22px;display:grid}.board__bars i{background:var(--p-console-ok);opacity:.85;border-radius:2px}.board__bars i.is-bad{opacity:1;background:#ef7a64}.board__bars i.is-blip{opacity:1;background:#e3a63b}.board--many{gap:12px;padding:clamp(18px,2vw,22px)}.intro:has(.board--many){padding-top:clamp(40px,6vw,84px)}.board--many .board__list{gap:6px}.board--many .board__row{align-items:baseline;gap:6px 12px;padding:8px 14px 9px}.board--many .board__name{flex-wrap:wrap;align-items:baseline;gap:0 8px;display:flex}.board--many .board__name span{font-size:.8rem}.board--many .board__figure{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 6px;display:flex}.board--many .board__figure strong{font-size:1rem}.board--many .board__figure span{font-size:.72rem}.board--many .board__bars{height:9px}.board__period{color:var(--p-console-muted);justify-self:end;margin:-4px 14px -8px 0;font-size:.75rem}.board__more{border:1px dashed var(--p-console-line);border-radius:10px;gap:8px;padding:10px 14px;display:grid}.board__more p{margin:0;font-size:.9rem}.board__mix{border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.board__mix i{background:var(--p-console-ok);flex-basis:0;min-width:4px}.board__mix i.is-issues{background:#ef7a64}.board__mix i.is-maintenance{background:#e3a63b}.board__mix i.is-backup{background:#8ec1ee}.about__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(32px,6vw,88px);display:grid}.about__copy{gap:18px;display:grid}.about__copy h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.about__lede{color:var(--p-ink-2);max-width:46ch;font-size:1.08rem}.about__tabs{gap:6px;margin-top:6px;display:grid}.about__tab{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;gap:4px;padding:14px 18px 16px;display:grid;position:relative;overflow:hidden}.about__tab strong{letter-spacing:-.01em;color:var(--p-ink-2);transition:color .3s var(--ease-out);font-size:1.2rem}.about__tab span{color:var(--p-ink-2);max-width:48ch;display:none}.about__tab:hover strong,.about__tab.is-on strong{color:var(--p-ink)}.about__tab.is-on{background:var(--p-surface);box-shadow:inset 0 0 0 1px var(--p-line)}.about__tab.is-on span{display:block}.about__tab:after{content:"";background:var(--p-brand);transform-origin:0;opacity:0;border-radius:2px;height:2px;position:absolute;bottom:8px;left:18px;right:18px;transform:scaleX(0)}.about__tab.is-running:after{opacity:.7;animation:about-step var(--step) linear forwards}@keyframes about-step{to{transform:scaleX(1)}}.about__tab:focus-visible{outline:2px solid var(--p-brand);outline-offset:2px}.about__stage{background:radial-gradient(80% 90% at 70% 20%, #74acdf2e, transparent 70%), var(--p-console);color:var(--p-console-ink);border:1px solid var(--p-console-line);border-radius:20px;gap:14px;padding:clamp(18px,2.4vw,28px);display:grid;box-shadow:0 30px 70px -40px #0f1b2d99}.about__svg{width:100%;height:auto;display:block}.about__fact{color:var(--p-console-ink);align-items:center;gap:10px;margin:0;font-size:.95rem;display:flex}.about__dot{background:var(--p-console-ok);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #3fbf862e}.ab-frame{fill:var(--p-console-2);stroke:var(--p-console-line)}.ab-bar{fill:#ffffff0a}.ab-dot{fill:var(--p-console-line)}.ab-block{fill:#8ec1ee38}.ab-b1{fill:#8ec1ee8c}.ab-cursor{fill:#fff;stroke:var(--p-console);stroke-width:1px;transform:translate(150px,128px)}.ab-code.ab-c0{fill:#8ec1ee}.ab-code.ab-c1{fill:#c3a6f3}.ab-code.ab-c2{fill:#e6edf573}.ab-track{fill:var(--p-console-line)}.ab-progress{fill:var(--p-console-ok)}.ab-check circle{fill:#3fbf8629;stroke:var(--p-console-ok);stroke-width:2px}.ab-check path,.ab-shield-check,.ab-pulse{fill:none;stroke:var(--p-console-ok);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.ab-up{fill:var(--p-console-ok);opacity:.85}.ab-shield path:first-child{fill:#8ec1ee29;stroke:#8ec1ee;stroke-width:2px}@media (prefers-reduced-motion:no-preference){.about__scene:not(.is-still){animation:about-in .5s var(--ease-out) both}.about__scene:not(.is-still) .ab-block{transform-box:fill-box;transform-origin:0;animation:ab-grow .6s var(--ease-out) both}.about__scene:not(.is-still) .ab-b2{animation-delay:.15s}.about__scene:not(.is-still) .ab-b3{animation-delay:.25s}.about__scene:not(.is-still) .ab-b4{animation-delay:.45s}.about__scene:not(.is-still) .ab-b5{animation-delay:.6s}.about__scene:not(.is-still) .ab-b6{animation-delay:.75s}.about__scene:not(.is-still) .ab-cursor{animation:ab-cursor 4.2s var(--ease-out) infinite}.about__scene:not(.is-still) .ab-code{transform-box:fill-box;transform-origin:0;animation:ab-grow .45s var(--ease-out) both;animation-delay:calc(var(--i) * .18s)}.about__scene:not(.is-still) .ab-progress{transform-box:fill-box;transform-origin:0;animation:ab-grow 2.6s var(--ease-out) .6s both}.about__scene:not(.is-still) .ab-check{transform-box:fill-box;transform-origin:50%;animation:ab-pop .5s var(--settle,ease-out) 3.1s both}.about__scene:not(.is-still) .ab-pulse{stroke-dasharray:360;animation:2.4s ease-in-out infinite ab-draw}.about__scene:not(.is-still) .ab-up{transform-box:fill-box;transform-origin:bottom;animation:ab-rise .4s var(--ease-out) both;animation-delay:calc(var(--i) * 50ms)}.about__scene:not(.is-still) .ab-shield{transform-box:fill-box;transform-origin:50%;animation:ab-pop .5s var(--settle,ease-out) 1.4s both}}@keyframes about-in{0%{opacity:0;translate:0 10px}}@keyframes ab-grow{0%{transform:scaleX(0)}}@keyframes ab-rise{0%{transform:scaleY(0)}}@keyframes ab-pop{0%{opacity:0;transform:scale(.4)}}@keyframes ab-draw{0%{stroke-dashoffset:360px}60%,to{stroke-dashoffset:0}}@keyframes ab-cursor{0%{transform:translate(250px,170px)}35%,55%{transform:translate(150px,128px)}80%,to{transform:translate(232px,128px)}}@media (width<=899px){.about__grid{grid-template-columns:minmax(0,1fr)}}.meet-steps{flex-wrap:wrap;gap:6px 18px;margin:0 0 18px;padding:0;list-style:none;display:flex}.meet-steps__item>:is(span,button){font:inherit;color:var(--p-ink-2);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.92rem;display:inline-flex}.meet-steps__item>button{cursor:pointer}.meet-steps__item>button:hover{color:var(--p-ink)}.meet-steps__n{border:1px solid var(--p-line);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.78rem;font-weight:600;display:inline-grid}.meet-steps__item.is-on>span{color:var(--p-ink);font-weight:600}.meet-steps__item.is-on .meet-steps__n{background:var(--p-brand);border-color:var(--p-brand);color:var(--p-paper)}.meet-steps__item.is-done .meet-steps__n{background:color-mix(in srgb, var(--p-brand) 18%, transparent);color:var(--p-brand);border-color:#0000}.meet__nav{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.meet__change{font:inherit;color:var(--p-brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.board__backup{border-top:1px solid var(--p-console-line);color:var(--p-console-ink);margin:10px 0 0;padding-top:10px;font-size:.82rem}.board__row--wait :is(strong,span){color:#0000;-webkit-user-select:none;user-select:none;justify-self:start;position:relative}.board__row--wait :is(strong,span):after{content:"";background:var(--p-console-line);border-radius:999px;position:absolute;inset:30% 0}.board__row--wait .board__name strong{width:62%}.board__row--wait:nth-child(2) .board__name strong{width:48%}.board__row--wait:nth-child(3) .board__name strong{width:56%}.board__row--wait .board__name span{width:28%}.board__row--wait .board__figure :is(strong,span){justify-self:end}.board__row--wait .board__figure strong{width:3.4em}.board__row--wait .board__bars i{background:var(--p-console-line);opacity:1}@media (prefers-reduced-motion:no-preference){.board__row--wait :is(strong,span):after{animation:1.6s ease-in-out infinite board-wait}.board__row--wait .board__bars i{animation:2s linear infinite board-wait-bar;animation-delay:calc(var(--r,0) * .15s + var(--b,0) * 25ms)}}@keyframes board-wait{50%{opacity:.55}}@keyframes board-wait-bar{0%,16%,to{background:var(--p-console-line)}8%{background:color-mix(in srgb, var(--p-console-ok) 40%, var(--p-console-line))}}.intro--boot .intro__copy,.intro--boot .board{opacity:0;transition:opacity .8s var(--ease-out), translate 1s var(--ease-out);translate:0 18px}.intro--boot .board{transition-delay:.14s}.intro--boot .board__row:not(.board__row--wait) .board__bars i{transform-origin:bottom;opacity:0;transition:transform .4s var(--ease-out), opacity .4s var(--ease-out);transition-delay:calc(.35s + var(--r,0) * .12s + var(--b,0) * 12ms);transform:scaleY(.15)}.intro--boot.is-go .intro__copy,.intro--boot.is-go .board{opacity:1;translate:none}.intro--boot.is-go .board__row .board__bars i{opacity:.85;transform:none}.intro--boot.is-go .board__row .board__bars i.is-bad{opacity:1}.block{padding-block:var(--section)}.block--tint{background:var(--p-tint)}.block--ink{background:var(--p-console);color:var(--p-console-ink);--ink:var(--p-console-ink);--ink-2:var(--p-console-muted)}.block__head{gap:12px;max-width:640px;margin-bottom:clamp(36px,5vw,56px);display:grid}.block__head h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.block__head p{color:var(--p-ink-2);font-size:1.08rem}.block__foot{margin-top:clamp(36px,5vw,56px)}.feature{padding-block:var(--section);background:var(--p-tint)}.feature__head{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;gap:16px clamp(32px,6vw,80px);margin-bottom:clamp(28px,4vw,44px);display:grid}.feature__head h2{max-width:14ch;font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.feature__copy{gap:10px;max-width:56ch;display:grid}.feature__copy p{color:var(--p-ink-2);font-size:1.05rem}.feature__copy .feature__proof{color:var(--p-ink);font-size:.98rem}.feature__facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px clamp(20px,3vw,40px);margin:clamp(28px,4vw,40px) 0 0;padding:0;list-style:none;display:grid}.feature__facts li{border-top:1px solid var(--line-strong);padding-top:14px;font-weight:500;line-height:1.4}@media (width<=860px){.feature__head{grid-template-columns:minmax(0,1fr)}.feature__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.teaser{background:var(--p-surface);box-shadow:0 0 0 1px var(--p-line), 0 40px 80px -56px #0f1b2d8c;border-radius:16px;overflow:hidden}.teaser__bar{border-bottom:1px solid var(--p-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 10px 8px 16px;display:flex}.teaser__live{align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:inline-flex}.teaser__live i{background:var(--p-live);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--p-live) 18%, transparent);border-radius:50%}.teaser__views{flex-wrap:wrap;gap:4px;display:flex}.teaser__views button{height:34px;color:var(--p-ink-2);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 12px;font-size:.88rem}.teaser__views button:hover{color:var(--p-ink);background:var(--p-tint)}.teaser__views button.is-on{color:var(--p-ink);background:var(--p-paper);border-color:var(--p-line);font-weight:600}.teaser__screen{height:var(--h,560px);background:var(--p-tint);position:relative;overflow:hidden}.teaser__screen:not(.is-loaded):after{content:"";background:linear-gradient(105deg, transparent 30%, var(--p-shine) 50%, transparent 70%);animation:1.6s ease-in-out infinite shot-shine;position:absolute;inset:0;transform:translate(-100%)}.teaser__screen iframe{transform-origin:0 0;opacity:0;pointer-events:none;transition:opacity .6s var(--ease-out);background:#fff;border:0;position:absolute;top:0;left:0}.teaser__screen.is-loaded iframe{opacity:1}.teaser__screen.is-active iframe{pointer-events:auto}.teaser__wait{z-index:1;color:var(--p-ink-2);place-items:center;font-size:.95rem;display:grid;position:absolute;inset:0}.teaser__shield{cursor:pointer;background:0 0;border:0;place-items:end center;padding:20px;display:grid;position:absolute;inset:0}.teaser__shield span{background:var(--p-ink);color:var(--p-paper);opacity:0;border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .2s;transform:translateY(6px)}.teaser__shield:hover span,.teaser__shield:focus-visible span{opacity:1;transform:none}@media (hover:none){.teaser__shield{align-items:center}.teaser__shield span{opacity:1;transform:none;box-shadow:0 6px 20px -6px #0f1b2d99}}.teaser__dock{border-top:1px solid var(--p-line);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto auto;align-items:end;gap:16px 20px;padding:16px;display:grid}.teaser__field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.teaser__field>span,.teaser__field legend{color:var(--p-ink-2);padding:0;font-size:.85rem;font-weight:600}.teaser__field legend{margin-bottom:6px}.teaser__dock :is(.input,.select){height:44px}.teaser__hues>div{align-items:center;gap:10px;height:40px;display:flex}.teaser__hue{background:hsl(var(--hue) 45% 42%);cursor:pointer;border-radius:50%;flex:none;width:26px;height:26px;transition:box-shadow .15s;position:relative;box-shadow:inset 0 0 0 1px #0f1b2d26}.teaser__hue input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.teaser__hue:has(input:checked){box-shadow:0 0 0 2px var(--p-surface), 0 0 0 4px var(--p-ink)}.teaser__hue:has(input:focus-visible){outline:2px solid var(--p-brand);outline-offset:6px}.teaser__go{white-space:nowrap}@media (width<=1080px){.teaser__dock{grid-template-columns:repeat(2,minmax(0,1fr))}.teaser__go{justify-self:start}}@media (width<=600px){.teaser__bar{padding:10px 0 0}.teaser__live{padding-left:12px}.teaser__views{scrollbar-width:none;flex-wrap:nowrap;flex:100%;padding:0 12px 10px;overflow-x:auto}.teaser__views button{flex:none}.teaser__dock{grid-template-columns:minmax(0,1fr)}.teaser__go{white-space:normal;justify-self:stretch}}.work{gap:clamp(56px,8vw,104px);margin:0;padding:0;list-style:none;display:grid}.work__item{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,64px);display:grid}.work__item--flip .work__link,.work__item--flip>.work__shot{order:2}.work__link{border-radius:12px;display:block}.work__blank{aspect-ratio:16/9;background:var(--p-tint);border-radius:12px;place-items:center;font-size:1.6rem;font-weight:600;display:grid}.work__text{justify-items:start;gap:12px;display:grid}.work__kind{color:var(--p-ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.9rem;display:flex}.work__status{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.work__status--ok{color:var(--p-live)}.work__status--accent{color:var(--p-brand)}.work__status--warn{color:var(--p-warn)}.work__status--muted{color:var(--p-ink-2)}.work__text h3{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.1}.work__text h3 a{text-decoration:none}.work__text h3 a:hover{text-decoration:underline}.work__summary{color:var(--p-ink-2);max-width:46ch;font-size:1.08rem}.work__stack{color:var(--p-ink-2);font-size:.9rem}.site a.work__more{color:var(--p-brand);margin-top:4px;font-weight:600}@media (width<=860px){.work__item{grid-template-columns:minmax(0,1fr)}.work__item--flip .work__link,.work__item--flip>.work__shot{order:0}}.svc{background:radial-gradient(60% 70% at 85% 0%, #74acdf29, transparent 70%), radial-gradient(50% 60% at 0% 100%, #3fbf8614, transparent 70%), var(--p-console)}.svc .block__head p{color:var(--p-console-muted)}.svc__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.svc__card{background:var(--p-console-2);border:1px solid var(--p-console-line);transition:transform .4s var(--ease-out), border-color .4s var(--ease-out);border-radius:18px;flex-direction:column;gap:12px;padding:clamp(20px,2.4vw,28px);display:flex;position:relative}.svc__card:hover{border-color:#8ec1ee73}.svc__icon{color:#8ec1ee;background:#8ec1ee24;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #8ec1ee40}.svc__card h3{letter-spacing:-.01em;color:var(--p-console-ink);font-size:clamp(1.2rem,1.6vw,1.4rem)}.svc__card>p{color:var(--p-console-muted);max-width:56ch}.svc__chips{flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:0;list-style:none;display:flex}.svc__chips li{color:var(--p-console-ink);border:1px solid var(--p-console-line);background:#ffffff0d;border-radius:999px;padding:4px 10px;font-size:.82rem}.svc__example{color:var(--p-console-muted);margin:4px 0 0;font-size:.9rem}.site .svc__example a{color:#8ec1ee}@media (prefers-reduced-motion:no-preference){.svc__card:hover{transform:translateY(-3px)}}@media (width<=980px){.svc__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.svc__grid{grid-template-columns:minmax(0,1fr)}}.ops__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.ops__head{top:calc(var(--header-h) + 32px);margin-bottom:0;position:sticky}.ops__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.ops__card{background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px;align-content:start;gap:10px;padding:clamp(20px,2.2vw,26px);display:grid;position:relative;box-shadow:0 18px 40px -32px #0f1b2d73}.ops__icon{background:color-mix(in srgb, var(--p-brand) 14%, transparent);width:40px;height:40px;color:var(--p-brand);border-radius:11px;place-items:center;display:grid}.ops__card h3{letter-spacing:-.01em;font-size:1.15rem}.ops__card p{color:var(--p-ink-2)}@media (width<=860px){.ops__grid{grid-template-columns:minmax(0,1fr)}.ops__head{position:static}}@media (width<=560px){.ops__cards{grid-template-columns:minmax(0,1fr)}}.faq{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.faq .block__head{margin-bottom:0}.faq__list{border-top:1px solid var(--line-strong)}.faq__item{border-bottom:1px solid var(--line-strong)}.faq__item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:1.05rem;font-weight:600;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";border:1px solid var(--line-strong);width:28px;height:28px;color:var(--p-ink-2);transition:transform .25s var(--ease-out);border-radius:50%;flex:none;place-items:center;font-weight:400;display:grid}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__item p{color:var(--p-ink-2);max-width:64ch;padding:0 0 22px}@supports (interpolate-size:allow-keywords){.faq__item{interpolate-size:allow-keywords}.faq__item::details-content{block-size:0;transition:block-size .35s var(--ease-out), content-visibility .35s allow-discrete;overflow:hidden}.faq__item[open]::details-content{block-size:auto}}@media (prefers-reduced-motion:reduce){.faq__item summary:after{transition:none}.faq__item::details-content{transition:none}}@media (width<=860px){.faq{grid-template-columns:minmax(0,1fr)}}.contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.contact__intro{gap:16px;display:grid}.contact__intro h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.block--ink .contact__intro>p{color:var(--p-console-muted);font-size:1.08rem}.contact__details{gap:12px;margin:8px 0 0;padding:0;list-style:none;display:grid}.contact__details li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.block--ink .contact__details .btn--ghost{color:var(--p-console-ink)}.contact__steps{gap:10px;margin-top:16px;display:grid}.contact__steps ol{color:var(--p-ink-2);gap:8px;margin:0;padding-left:20px;display:grid}.contact-form{--ink:var(--p-ink);--ink-2:var(--p-ink-2);background:var(--p-surface);color:var(--p-ink);border:1px solid var(--p-line);border-radius:14px;gap:18px;padding:clamp(20px,3vw,32px);display:grid}.contact-form__foot{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.contact-form--done{justify-items:start;gap:12px}.contact-form__ok{background:color-mix(in srgb, var(--p-live) 16%, transparent);width:48px;height:48px;color:var(--p-live);border-radius:50%;place-items:center;display:grid}.contact-form--done h3{font-size:1.4rem}@media (width<=860px){.contact{grid-template-columns:minmax(0,1fr)}}.page-hero{border-bottom:1px solid var(--p-line);padding-block:clamp(48px,7vw,88px) clamp(32px,4vw,48px)}.page-hero .container{justify-items:start;gap:14px;display:grid}.page-hero h1{letter-spacing:-.03em;font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.04}.page-hero__lede{color:var(--p-ink-2);max-width:56ch;font-size:clamp(1.08rem,1.5vw,1.25rem)}.page__body{padding-block:clamp(32px, 5vw, 56px) var(--section);gap:clamp(32px,5vw,56px);display:grid}.not-found{justify-items:start;gap:16px}.not-found__code{color:var(--p-ink-2);font-size:.92rem}.not-found__ctas{flex-wrap:wrap;gap:10px;display:flex}.site .chip.is-on{background:var(--p-ink);border-color:var(--p-ink);color:var(--p-paper)}.site .chip.is-on span{color:inherit;opacity:.75}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,48px) clamp(20px,3vw,32px);display:grid}.project-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=980px){.project-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.project-grid,.project-grid--3{grid-template-columns:minmax(0,1fr)}}.site a.project-card,.project-card{color:inherit;align-content:start;gap:16px;text-decoration:none;display:grid}.project-card__body{gap:8px;display:grid}.more-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px;display:grid}.more-row__meter{background:var(--p-line);border-radius:2px;grid-column:1/-1;height:2px;overflow:hidden}.more-row__meter span{background:var(--p-brand);height:100%;transition:width .5s var(--ease-out);display:block}.more-row__count{font-variant-numeric:tabular-nums;color:var(--p-ink-2);margin:0;font-size:.92rem}@media (width<=640px){.more-row{grid-template-columns:minmax(0,1fr)}.more-row__btn{width:100%}}@media (prefers-reduced-motion:reduce){.more-row__meter span{transition:none}}.project-card__meta{color:var(--p-ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.86rem;display:flex}.project-card__title{font-size:1.35rem;line-height:1.15}.project-card__summary{color:var(--p-ink-2);font-size:.97rem}.project-card__stack{color:var(--p-ink-2);font-size:.86rem}.project-card__more{color:var(--p-brand);margin-top:2px;font-weight:600}a.project-card:hover .project-card__more{text-underline-offset:4px;text-decoration:underline}a.project-card:hover .shot{box-shadow:inset 0 0 0 1px var(--line-strong)}.cover--blank{aspect-ratio:16/9;background:var(--p-tint);border-radius:12px;flex-direction:column;justify-content:flex-end;gap:6px;padding:20px;display:flex}.cover__kind{color:var(--p-ink-2);font-size:.85rem}.cover__title{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;display:grid}.gallery--1{grid-template-columns:minmax(0,560px)}.gallery--2,.gallery--4{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery__item{text-align:left;cursor:zoom-in;color:inherit;font:inherit;background:0 0;border:0;border-radius:12px;align-content:start;gap:8px;padding:0;display:grid}.gallery__item--lead{grid-column:1/-1}.gallery__item--lead .shot:not(.shot--ready){aspect-ratio:16/9.5}.gallery__cap{color:var(--p-ink-2);font-size:.88rem}.gallery .shot{aspect-ratio:16/10}@media (width<=640px){.gallery,.gallery--1,.gallery--2,.gallery--4{grid-template-columns:minmax(0,1fr)}}.cta-band{background:var(--p-console);color:var(--p-console-ink);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding:clamp(24px,4vw,40px);display:flex}.cta-band h2{font-size:clamp(1.5rem,2.6vw,2rem)}.cta-band p{color:var(--p-console-muted);margin-top:6px}.related{gap:20px;display:grid}.privacy__updated{color:var(--p-ink-2);font-size:.92rem}.privacy__body{grid-template-columns:minmax(0,.42fr) minmax(0,1.58fr);align-items:start;column-gap:clamp(32px,6vw,88px)}.privacy__index{top:calc(var(--header-h) + 24px);gap:12px;display:grid;position:sticky}.site .privacy__index h2{font-family:var(--f-body);letter-spacing:0;font-size:.92rem;font-weight:600}.privacy__index ol{border-left:1px solid var(--p-line);gap:2px;margin:0;padding:0;list-style:none;display:grid}.privacy__index li a{color:var(--p-ink-2);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:.95rem;line-height:1.35;display:block}.site .privacy__index a:not(.btn){text-decoration:none}.site .privacy__index a:not(.btn):hover{color:var(--p-ink);border-left-color:var(--p-brand)}.privacy__content{max-width:68ch;display:grid}.privacy__section{border-top:1px solid var(--p-line);gap:14px;padding-block:clamp(28px,3.5vw,40px);display:grid}.privacy__section:first-child{border-top:0;padding-top:0}.site .privacy__section h2{font-size:clamp(1.35rem,2.2vw,1.6rem);line-height:1.2}.privacy__section p,.privacy__list li{color:var(--p-ink-2)}.privacy__list{gap:8px;margin:0;padding-left:1.2em;display:grid}.privacy__list li::marker{color:var(--p-brand)}.privacy__list--terms{gap:14px;padding-left:0;list-style:none}.privacy__list--terms li{border-left:2px solid var(--p-line);padding-left:14px}.privacy__list--terms strong{color:var(--p-ink);font-weight:600;display:block}.privacy__legal{background:var(--p-tint);border-radius:14px;gap:10px;margin-top:6px;padding:clamp(18px,2.5vw,24px);font-size:.95rem;display:grid}.privacy__section .privacy__legal-label{color:var(--p-ink);font-size:.82rem;font-weight:600}.privacy__legal-label:not(:first-child){margin-top:6px}@media (width<=860px){.privacy__body{grid-template-columns:minmax(0,1fr)}.privacy__index{background:var(--p-tint);border-radius:14px;padding:18px 20px;position:static}.privacy__index ol{border-left:0}.privacy__index li a{border-left:0;padding-left:0}}.site-footer{border-top:1px solid var(--p-line);padding-top:clamp(48px,6vw,72px)}.site-footer__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:32px;display:grid}.site-footer__grid>div,.site-footer__grid>nav{align-content:start;justify-items:start;gap:10px;display:grid}.site-footer__grid h2{letter-spacing:0;color:var(--p-ink);font-size:.92rem;font-weight:600}.site-footer__grid a:not(.brand){color:var(--p-ink-2);text-decoration:none}.site-footer__grid a:not(.brand):hover{color:var(--p-ink);text-decoration:underline}.site-footer__brand p{color:var(--p-ink-2);max-width:36ch}.site-footer__legal{border-top:1px solid var(--p-line);color:var(--p-ink-2);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,56px);padding-block:20px;font-size:.88rem;display:flex}.site-footer__legal a{color:var(--p-ink-2)}.site-footer__links{flex-wrap:wrap;gap:8px 20px;display:flex}@media (width<=760px){.site-footer__grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.teaser__screen:not(.is-loaded):after{opacity:.6;animation:none;transform:none}.teaser__screen iframe,.teaser__shield span{transition:none}}.container--wide{max-width:1440px}.showcase{--dock-h:390px;padding-bottom:var(--dock-h)}.showcase__head{flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding-block:14px 10px;display:flex}.showcase__head h1{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.15}.showcase__head p{color:var(--p-ink-2);flex:420px;max-width:90ch;font-size:.92rem}.showcase__preview{height:calc(100dvh - var(--header-h) - 16px);flex-direction:column;gap:8px;min-height:520px;padding-bottom:12px;display:flex}.showcase__bar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.showcase__views,.showcase__devices,.showcase__groups{flex-wrap:wrap;gap:6px;display:flex}.showcase__views button,.showcase__devices button,.showcase__groups button{border:1px solid var(--p-line);background:var(--p-surface);height:34px;color:var(--p-ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;padding:0 12px;font-size:.9rem}.showcase__views button.is-on,.showcase__devices button.is-on,.showcase__groups button.is-on{background:var(--p-ink);border-color:var(--p-ink);color:var(--p-paper)}.showcase__sync{color:var(--p-ink-2);margin-left:auto;font-size:.85rem}.showcase__sync.is-bad{color:var(--p-bad)}.showcase__frame{background:var(--p-tint);border:1px solid var(--p-line);border-radius:14px;flex:1;justify-content:center;min-height:0;padding:10px;display:flex;position:relative;overflow:hidden}.showcase__frame iframe{border:1px solid var(--p-line);background:#fff;border-radius:8px;max-width:100%;height:100%}.showcase__frame--celular iframe{border-width:8px;border-color:var(--p-ink);border-radius:24px}.showcase__frame.is-loading:after{content:"";background:linear-gradient(105deg, transparent 30%, var(--p-shine) 50%, transparent 70%);pointer-events:none;border-radius:8px;animation:1.6s ease-in-out infinite shot-shine;position:absolute;inset:10px;transform:translate(-100%)}.showcase__frame.is-full{z-index:300;background:var(--p-paper);border:0;border-radius:0;flex-direction:column;padding:0;position:fixed;inset:0}.showcase__frame.is-full iframe{border:0;border-radius:0;flex:1}.showcase__fullbar{padding:8px max(12px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--p-line);background:var(--p-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.is-fullpreview,.is-fullpreview body{overflow:hidden}.dock{z-index:60;height:var(--dock-h);border-top:1px solid var(--p-line);background:var(--p-surface);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px -24px #0f1b2d59}.dock__handle{cursor:ns-resize;touch-action:none;flex:none;place-items:center;height:18px;display:grid}.dock__handle span{background:var(--line-strong);border-radius:99px;width:44px;height:4px}.dock__handle:hover span,.dock__handle:focus-visible span{background:var(--p-brand)}.is-dragging{cursor:ns-resize;-webkit-user-select:none;user-select:none}.is-dragging iframe{pointer-events:none}.showcase__panel,.showcase__form{flex-direction:column;flex:1;min-height:0;display:flex}.dock__tabs{border-bottom:1px solid var(--p-line);flex:none;align-items:center;gap:8px 16px;padding-bottom:10px;display:flex}.dock__tabs .showcase__groups{scrollbar-width:thin;flex-wrap:nowrap;flex:1;overflow-x:auto}.dock__actions{flex:none;align-items:center;gap:8px;display:flex}.dock__body{overscroll-behavior:contain;flex:1;min-height:0;padding-block:14px 20px;overflow-y:auto}.showcase__fields{display:grid}.showcase__field{border-top:1px solid var(--p-line);padding-block:18px}.showcase__field:first-child{border-top:0;padding-top:4px}.showcase__field>.field,.showcase__field>.choices{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:6px 32px;display:grid}.showcase__field>.field>.field__label{grid-area:1/1/span 3;padding-top:8px}.showcase__field>.field>:not(.field__label){grid-column:2;max-width:560px}.showcase__field-head{align-content:start;gap:4px;display:grid}.showcase__field-head .field__hint,.choices__also{margin:0}.showcase__fields--grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:18px 24px}.showcase__fields--order{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;max-width:760px}.showcase__fields--order .span-2,.showcase__fields--order .order__intro{grid-column:1/-1}.order__send{align-items:center;gap:12px;display:flex}@media (width<=640px){.showcase__fields--order{grid-template-columns:minmax(0,1fr)}}.order__intro{color:var(--p-ink-2);grid-column:1/-1}@media (width<=760px){.showcase__field>.field,.showcase__field>.choices{grid-template-columns:minmax(0,1fr)}.showcase__field>.field>.field__label,.showcase__field>.field>:not(.field__label){grid-area:auto/1;padding-top:0}}.showcase__loading,.showcase__done{justify-items:start;gap:10px;padding-block:16px;display:grid}.showcase__form .banner{margin-bottom:12px}.presets{gap:8px;display:grid}.presets__list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.preset{border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-ink);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-content:start;gap:4px;padding:8px;display:grid}.preset:hover{border-color:var(--line-strong)}.preset.is-on{border-color:var(--p-brand);box-shadow:0 0 0 1px var(--p-brand)}.preset__label{font-size:.9rem;font-weight:600}.preset__desc{color:var(--p-ink-2);font-size:.8rem;line-height:1.35}.choices{border:0;min-width:0;margin:0;padding:0}.choices .field__hint,.choices__also{margin:2px 0 0}.choices__also{color:var(--p-ink-2);border-left:2px solid var(--p-brand);padding-left:10px;font-size:.82rem}.choices__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.choices__grid--thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.choice{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative}.choices__grid--thumbs .choice{flex-direction:column;align-items:stretch;padding:6px}.choice:hover{border-color:var(--line-strong)}.choice.is-on{border-color:var(--p-brand);box-shadow:0 0 0 1px var(--p-brand)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:focus-visible){outline:2px solid var(--p-brand);outline-offset:2px}.choice__text{gap:1px;min-width:0;display:grid}.choice__label{font-size:.9rem;font-weight:600}.choice__desc{color:var(--p-ink-2);font-size:.8rem;line-height:1.35}.sample{flex:none;gap:4px;display:grid}.sample__img{aspect-ratio:16/10;object-fit:contain;background:var(--p-tint);border-radius:6px;width:100%;display:block}.sample__font{background:var(--p-tint);border-radius:8px;place-items:center;width:40px;height:40px;font-size:1.2rem;display:grid}.sample__swatches{gap:3px;display:flex}.sample__swatches i{border-radius:4px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0f1b2d26}.image-drop{border:1px dashed var(--line-strong);cursor:pointer;min-height:96px;color:var(--p-ink-2);border-radius:10px;place-items:center;padding:8px;font-size:.9rem;display:grid}.image-drop img{width:auto;max-height:120px}.image-drop:has(input:focus-visible){outline:2px solid var(--p-brand);outline-offset:3px}.hue-control{align-items:center;gap:10px;display:flex}.hue-control input[type=range]{accent-color:var(--p-brand);flex:1}.hue-control__swatch{border:2px solid var(--p-surface);width:28px;height:28px;box-shadow:0 0 0 1px var(--p-line);border-radius:50%}.input--color{height:40px;padding:4px}@media (width<=700px){.showcase{min-height:560px}.showcase__head p{display:none}.showcase__sync{flex-basis:100%;order:5;margin-left:0}.showcase__field--cards{grid-column:auto}.dock__tabs{flex-wrap:wrap}.dock__tabs .showcase__groups{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.showcase__frame.is-loading:after{opacity:.6;animation:none;transform:none}}@supports (grid-template-rows:subgrid){.steps li{grid-row:span 4;grid-template-rows:subgrid;gap:8px}.offer__item{grid-row:span 4;grid-template-rows:subgrid}}.site a.project-card,.project-card{grid-template-rows:auto 1fr}.project-card__body{flex-direction:column;display:flex}.project-card__more{margin-top:auto;padding-top:4px}.contact-form__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.contact-form__steps li{border-top:3px solid var(--p-line);color:var(--p-ink-2);padding-top:8px}.contact-form__steps li.is-on{border-top-color:var(--p-brand);color:var(--p-ink);font-weight:600}.contact-form__steps li.is-done{border-top-color:color-mix(in srgb, var(--p-brand) 45%, var(--p-line))}.contact-form__steps button{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.contact-form__title{outline:none;font-size:1.3rem}.contact-form__step{gap:16px;display:grid}.contact-form__services{border:0;min-width:0;margin:0;padding:0}.contact-form__services>div{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:8px;display:grid}.contact-choice{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;border-radius:10px;align-items:center;min-height:48px;padding:10px 14px;font-size:.95rem;display:flex;position:relative}.contact-choice:hover{border-color:var(--line-strong)}.contact-choice.is-on{border-color:var(--p-brand);box-shadow:0 0 0 1px var(--p-brand);font-weight:600}.contact-choice input{opacity:0;pointer-events:none;position:absolute}.contact-choice:has(input:focus-visible){outline:2px solid var(--p-brand);outline-offset:2px}.contact__intro h2.h3{letter-spacing:-.01em;font-size:1.25rem}.board{position:relative}.board.board--tilt{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease-out), opacity .8s var(--ease-out) .14s, translate 1s var(--ease-out) .14s;will-change:transform}.board.board--tilt:hover{transition:transform .12s linear, opacity .8s var(--ease-out) .14s, translate 1s var(--ease-out) .14s}.board--tilt:after{content:"";border-radius:inherit;background:radial-gradient(520px circle at var(--gx,50%) var(--gy,0%), #ffffff17, transparent 45%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.board--tilt:hover:after{opacity:1}.spotlight>*{isolation:isolate;position:relative}.spotlight>:before{content:"";z-index:-1;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--p-brand) 14%, transparent), transparent 70%);opacity:0;pointer-events:none;border-radius:14px;transition:opacity .35s;position:absolute;inset:-10px -12px}.spotlight>:hover:before{opacity:1}@media (prefers-reduced-motion:reduce){.spotlight>:before{transition:none}}.site{--settle:cubic-bezier(.2, .8, .2, 1)}@supports (transition-timing-function:linear(0, 1)){.site{--settle:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.9%, 1)}}.project-grid__cell{display:grid}@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transition:opacity .6s var(--ease-out)}[data-reveal].is-in{opacity:1}@supports (animation-timeline:view()){[data-reveal]{view-timeline:--block block}[data-reveal]>:not(.btn){animation:cubic-bezier(.22,.7,.2,1) both block-settle;animation-timeline:--block;animation-range:cover 0 cover 420px}[data-reveal]>:nth-child(n+2):not(.btn){animation-name:block-settle-deep}}@supports not (animation-timeline:view()){[data-reveal]>:not(.btn){transition:translate 1.1s var(--settle);translate:0 32px}[data-reveal]>:nth-child(n+2):not(.btn){transition-delay:60ms;translate:0 72px}[data-reveal].is-in>:not(.btn){translate:none}}}@keyframes block-settle{0%{translate:0 32px}to{translate:none}}@keyframes block-settle-deep{0%{translate:0 72px}to{translate:none}}.project-card .cover,.work__link .shot{--lift:0px}.cover--blank{position:relative}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.project-card .cover,.work__link .shot{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(var(--lift));transition:transform .6s var(--ease-out), box-shadow .4s var(--ease-out), opacity .3s var(--ease-out)}.is-tracking .cover,.is-tracking .shot{--lift:14px;transition:transform .14s linear, box-shadow .4s var(--ease-out), opacity .3s var(--ease-out)}.project-card.is-tracking .cover,.work__link.is-tracking .shot{box-shadow:inset 0 0 0 1px var(--line-strong), 0 30px 50px -32px #0812208c}.project-card .cover:before,.work__link .shot:before{content:"";z-index:1;border-radius:inherit;background:radial-gradient(460px circle at var(--gx,50%) var(--gy,50%), #fff3, transparent 46%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.is-tracking .cover:before,.is-tracking .shot:before{opacity:1}.site .btn--primary{translate:var(--mag-x,0px) var(--mag-y,0px);transition:background .15s, border-color .15s, color .15s, translate .6s var(--settle)}.site .btn--primary.is-magnet{transition:background .15s,border-color .15s,color .15s,translate .12s linear}}.site-nav a:not(.btn),.site-footer__grid a:not(.brand),.work__text h3 a,.g3d__item h3 a,.project-card__more,.site a.work__more{transition:background-size .4s var(--ease-out), color .15s;background-image:linear-gradient(currentColor,currentColor);background-position:100% 100%;background-repeat:no-repeat;background-size:0 1px;text-decoration:none}.site-nav a:not(.btn){background-position:100% calc(100% - 2px);background-origin:content-box}.g3d__item h3 a{background-size:0 2px}.site-nav a:not(.btn):hover,.site-nav a.active,.site-footer__grid a:not(.brand):hover,.work__text h3 a:hover,a.project-card:hover .project-card__more,.site a.work__more:hover{background-position-x:0;background-size:100% 1px;text-decoration:none}.g3d__item h3 a:hover{background-position-x:0;background-size:100% 2px;text-decoration:none}.site-nav a.active{background-size:100% 2px}.site a.work__more{background-image:linear-gradient(currentColor, currentColor), linear-gradient(color-mix(in srgb, currentColor 35%, transparent), color-mix(in srgb, currentColor 35%, transparent));background-position:100% 100%,0 100%;background-size:0 1px,100% 1px}.site a.work__more:hover{background-position:0 100%,0 100%;background-size:100% 1px,100% 1px}@media (prefers-reduced-motion:reduce){.site-nav a:not(.btn),.site-footer__grid a:not(.brand),.work__text h3 a,.g3d__item h3 a,.project-card__more,.site a.work__more{transition:none}}.block--stage{background:var(--p-console);color:var(--p-console-ink);--stage-link:#8ec1ee;padding:0}.g3d{height:calc(100svh - var(--header-h) + (var(--n) - 1 + 2 * var(--hold)) * var(--step) * 100svh);position:relative}.g3d__stage{top:var(--header-h);height:calc(100svh - var(--header-h));background:radial-gradient(64% 76% at 72% 44%, #74acdf1f, transparent 70%), var(--p-console);position:sticky;overflow:hidden}.g3d__canvas{opacity:0;transition:opacity 1.2s var(--ease-out);-webkit-mask-image:linear-gradient(90deg, transparent calc(var(--fade,40%) - 40px), #000 calc(var(--fade,40%) + 90px));-webkit-mask-image:linear-gradient(90deg, transparent calc(var(--fade,40%) - 40px), #000 calc(var(--fade,40%) + 90px));mask-image:linear-gradient(90deg, transparent calc(var(--fade,40%) - 40px), #000 calc(var(--fade,40%) + 90px));position:absolute;inset:0}.g3d__canvas.is-ready{opacity:1}.g3d__canvas.is-pick{cursor:pointer}.g3d__canvas canvas{width:100%;height:100%;display:block}.g3d__layout{z-index:1;pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4vw,64px);height:100%;padding-block:clamp(28px,7svh,72px) clamp(18px,3.5svh,32px);display:grid;position:relative}.g3d__head{pointer-events:auto;grid-area:1/1;gap:10px;display:grid}.g3d__head h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.g3d__head p{color:var(--p-console-muted);max-width:38ch;font-size:1.05rem}.g3d__list{grid-area:2/1;align-self:center;margin:0;padding:0;list-style:none;display:grid}.g3d__item{pointer-events:auto;grid-area:1/1;align-content:center;justify-items:start;gap:14px;display:grid}.g3d__item[data-on=false]{pointer-events:none}.g3d__kind{color:var(--p-console-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.92rem;display:flex}.g3d .work__status--ok{color:var(--p-console-ok)}.g3d .work__status--accent{color:var(--stage-link)}.g3d .work__status--warn{color:#e3a63b}.g3d .work__status--muted{color:var(--p-console-muted)}.g3d__item h3{letter-spacing:-.035em;font-size:clamp(2.1rem,3.6vw,3.2rem);line-height:1.02}.site .g3d__item h3 a{color:var(--p-console-ink)}.g3d__summary{max-width:40ch;font-size:1.12rem}.g3d__stack{color:var(--p-console-muted);font-size:.9rem}.site .g3d a.work__more{color:var(--stage-link)}.g3d__frame{grid-area:1/2/3/3}.g3d__foot{grid-area:3/1/4/3;justify-content:space-between;align-items:center;gap:24px;padding-top:clamp(14px,2.5svh,24px);display:flex}.g3d__bar{pointer-events:auto;gap:6px;width:min(300px,40%);display:flex}.g3d__bar span{background:var(--p-console-line) content-box;cursor:pointer;height:23px;transition:background-color .4s var(--ease-out);flex:1;padding-block:10px}.g3d__bar span.is-on{background-color:var(--stage-link)}.site .g3d__all{pointer-events:auto;color:var(--p-console-ink);border-color:var(--p-console-line);background:0 0}.site .g3d__all:hover{background:var(--p-console-2);border-color:var(--stage-link)}.block--stage :focus-visible{outline-color:var(--stage-link)}.window{background:var(--p-surface);box-shadow:0 0 0 1px var(--p-line), 0 44px 90px -56px #0f1b2d8c;border-radius:14px;position:relative;overflow:hidden}.window__bar{border-bottom:1px solid var(--p-line);align-items:center;gap:7px;height:38px;padding:0 14px;display:flex}.window__bar i{background:var(--p-line);border-radius:50%;flex:none;width:9px;height:9px}.window__bar span{background:var(--p-tint);min-width:0;color:var(--p-ink-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin:0 auto;padding:2px 14px;font-size:.8rem;overflow:hidden}.window .shot{box-shadow:none;border-radius:0}.case-cover{padding-top:clamp(36px,6vw,72px);position:relative;overflow-x:clip}.case-cover__grid{gap:clamp(32px,5vw,56px);display:grid}.case-cover__text{justify-items:start;gap:16px;display:grid}.case-cover__meta{color:var(--p-ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:.95rem;display:flex}.case-cover h1{letter-spacing:-.04em;max-width:16ch;font-size:clamp(2.5rem,6.4vw,5.2rem);line-height:.98}.case-cover__lede{color:var(--p-ink-2);max-width:54ch;font-size:clamp(1.1rem,1.7vw,1.35rem)}.case-cover__shot{--ratio:1.72;z-index:0;aspect-ratio:var(--ratio);place-items:start center;margin:0;display:grid;position:relative;container-type:inline-size}.case-cover__shot:before{content:"";z-index:-1;background:var(--p-tint);width:100vw;position:absolute;top:42%;bottom:0;left:50%;translate:-50%}.case-cover__shot .window,.chapters__layer .window{width:100%}:is(.case-cover__shot .window:has(.shot--ready),.chapters__layer .window:has(.shot--ready)){width:fit-content;max-width:100%}.case-cover__shot .shot--ready,.chapters__layer .shot--ready{width:auto}.case-cover__shot .shot--ready img{width:auto;max-width:100cqw;max-height:calc(100cqw / var(--ratio) - 38px)}.case-cover__shot .shot:not(.shot--ready){aspect-ratio:auto;height:calc(100cqw / var(--ratio) - 38px)}@media (width<=640px){.case-cover__shot{--ratio:1.5}}.case-context{background:var(--p-tint);padding-block:clamp(48px, 6vw, 88px) var(--section)}.case-context__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:20px clamp(32px,6vw,88px);display:grid}.case-context h2,.chapters__title,.spec-card h2,.case-gallery h2,.related h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1}.case-context__body{gap:18px;max-width:64ch;display:grid}.case-context__body p{color:var(--p-ink-2);font-size:1.06rem}.case-context__body p:first-child{color:var(--p-ink);letter-spacing:-.01em;font-size:clamp(1.2rem,1.7vw,1.42rem);line-height:1.5}.chapters{padding-block:clamp(56px, 7vw, 96px) var(--section)}.chapters--story{padding-bottom:clamp(24px,3vw,48px)}.chapters__title{margin-bottom:clamp(28px,4vw,48px)}.chapters__story{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.chapters__media{top:calc(var(--header-h) + 4svh);gap:14px;margin:0;display:grid;position:sticky;container-type:inline-size}.chapters__stage{height:min(calc(100svh - var(--header-h) - 8svh - 3.4em), 100cqw / 1.45);position:relative;container-type:size}.chapters__layer{opacity:0;align-content:start;justify-items:start;gap:12px;margin:0;display:grid;position:absolute;inset:0}.chapters__layer.is-on{opacity:1}.chapters__layer .shot--ready img{width:auto;max-width:100cqw;max-height:calc(100cqh - 38px - 3.4em)}.chapters__cap{color:var(--p-ink-2);font-size:.92rem;line-height:1.5}.chapters__list{margin:0;padding:0;list-style:none;display:grid}.chapters__list li{border-left:2px solid var(--p-line);align-content:center;gap:10px;min-height:36svh;padding-left:24px;display:grid}.chapters__list li.is-on{border-left-color:var(--p-brand)}.chapters__list h3,.chapters__stack h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.15}.chapters__list p,.chapters__stack p{color:var(--p-ink-2);max-width:46ch;font-size:1.06rem}.chapters__stack{gap:clamp(36px,6vw,56px);max-width:820px;margin:0;padding:0;list-style:none;display:grid}.chapters__stack li{gap:10px;display:grid}.chapters__stack:not(:has(figure)){grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;max-width:none}.chapters__stack:not(:has(figure)) li{background:var(--p-surface);border:1px solid var(--p-line);border-radius:14px;align-content:start;padding:22px 24px}.chapters__stack figure{gap:8px;margin:0 0 10px;display:grid}.chapters__stack figcaption{color:var(--p-ink-2);font-size:.88rem}@media (prefers-reduced-motion:no-preference){.chapters__layer{transition:opacity .28s var(--ease-out), scale .5s var(--ease-out);scale:.965}.chapters__layer.is-on{transition:opacity .5s var(--ease-out) .16s, scale .9s var(--settle) .12s;scale:none}.chapters__list li{transition:border-color .4s var(--ease-out)}.case-cover__text{animation:cover-text .7s var(--ease-out) both}.case-cover__shot .window{transform-origin:50% 0;animation:cover-rise 1.1s var(--settle) .12s both}}@keyframes cover-text{0%{opacity:0;translate:0 14px}}@keyframes cover-rise{0%{opacity:0;transform:perspective(1600px)translateY(56px)rotateX(10deg)}40%{opacity:1}to{opacity:1;transform:none}}.case-details{padding-bottom:var(--section);gap:clamp(48px,7vw,88px);display:grid}.spec-card{background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px clamp(32px,6vw,88px);padding:clamp(24px,3.4vw,40px);display:grid}.spec-card h2{grid-row:span 2}.spec-card dl{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px 28px;margin:0;display:grid}.spec-card__wide{grid-column:1/-1}.spec-card dt{color:var(--p-ink-2);font-size:.82rem}.spec-card dd{margin:2px 0 0;font-weight:500}.spec-card__link{justify-self:start}.case-gallery{gap:20px;display:grid}@media (width<=860px){.case-context__grid,.spec-card{grid-template-columns:minmax(0,1fr)}.spec-card h2{grid-row:auto}}@media print{[data-reveal],[data-reveal]>*{opacity:1!important;animation:none!important;translate:none!important;scale:none!important}}.meet__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(32px,6vw,88px);display:grid}.meet__intro{gap:16px;display:grid;position:sticky;top:96px}.meet__intro h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.08}.meet__lede{color:var(--p-ink-2);max-width:46ch;font-size:1.08rem}.meet__facts{gap:0;margin:8px 0 0;padding:0;list-style:none;display:grid}.meet__facts li{border-top:1px solid var(--line-strong);padding:12px 0;font-weight:500;line-height:1.4}.meet__hours{color:var(--p-ink-2);font-size:.95rem}.meet-card{gap:22px}.meet__wait{gap:12px;display:grid}.meet__days,.meet__times{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.meet__days legend,.meet__times legend{margin-bottom:8px;padding:0}.meet__day-name{color:var(--p-ink-2);font-weight:400}.meet__heads,.meet__daygrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.meet__heads span{letter-spacing:.04em;text-transform:uppercase;color:var(--p-ink-2);text-align:center;font-size:.75rem;font-weight:600}.meet-day,.meet-time{border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;place-items:center;display:grid;position:relative}.meet-day{align-content:center;gap:1px;min-height:58px;padding:6px 2px}.meet-day__num{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600;line-height:1.1}.meet-day__month{color:var(--p-ink-2);font-size:.72rem;line-height:1.2}.meet-time{font-variant-numeric:tabular-nums;min-height:44px;padding:8px 6px;font-size:.95rem;font-weight:500}.meet-day:hover,.meet-time:hover{border-color:var(--line-strong)}.meet-day.is-on,.meet-time.is-on{background:var(--p-brand);border-color:var(--p-brand);color:var(--p-surface);font-weight:600}.meet-day.is-on .meet-day__month{color:inherit}.meet-day.is-full{cursor:not-allowed;color:var(--p-ink-2);background:0 0;border-style:dashed}.meet-day input,.meet-time input{opacity:0;pointer-events:none;position:absolute}:is(.meet-day:has(input:focus-visible),.meet-time:has(input:focus-visible)){outline:2px solid var(--p-brand);outline-offset:2px}.meet__days.is-invalid .meet-day:not(.is-full),.meet__times.is-invalid .meet-time{border-color:var(--p-bad)}.meet__timegrid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.meet__retry{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.meet__empty{background:var(--p-tint);border-radius:10px;padding:16px}.meet__company,.meet__topic{grid-column:1/-1}.meet__topic .textarea{min-height:84px}.meet__summary{flex-basis:100%;font-weight:600}.meet__summary:first-letter{text-transform:uppercase}.meet-done{justify-items:start;gap:14px}.meet-done h3{outline:none;font-size:1.4rem}.meet-done__when{font-size:1.05rem;font-weight:500}.meet-done__link{background:var(--p-tint);border-radius:12px;gap:8px;width:100%;padding:16px;display:grid}.meet-done__link code{word-break:break-all;color:var(--p-ink);font-size:.9rem}.meet-done__actions{flex-wrap:wrap;gap:10px;display:flex}@media (prefers-reduced-motion:no-preference){.meet-day,.meet-time{transition:border-color .15s,background-color .15s,color .15s}}@media (width<=860px){.meet__grid{grid-template-columns:minmax(0,1fr)}.meet__intro{position:static}}@media (width<=420px){.meet-day{min-height:54px}.meet__heads span{letter-spacing:0;font-size:.68rem}}
