:root{--c-bg:#f7f8fc;--c-bg-alt:#eef0f8;--c-surface:#fff;--c-surface-2:#f9fafd;--c-line:#e4e7f0;--c-line-soft:#edeff5;--c-line-strong:#cbd0df;--c-ink:#11152e;--c-ink-2:#171c3a;--c-ink-3:#262d57;--c-on-ink:#eef0fa;--c-on-ink-2:#a3a9c9;--c-ink-line:#e2e6ff1f;--c-text:#111827;--c-text-2:#5b6475;--c-text-3:#5f6778;--c-accent:#4f46e5;--c-accent-strong:#4338ca;--c-accent-soft:#e0e7ff;--c-accent-wash:#eef2ff;--c-accent-on-ink:#a5b4fc;--c-electric:#2563eb;--c-violet:#7c3aed;--c-violet-soft:#ede9fe;--c-cyan:#06b6d4;--grad-brand:linear-gradient(100deg, #4f46e5 0%, #2563eb 55%, #7c3aed 100%);--grad-line:linear-gradient(90deg, #4f46e500 0%, #4f46e5 25%, #7c3aed 75%, #7c3aed00 100%);--grad-cta:linear-gradient(135deg, #4f46e5 0%, #2563eb 100%);--c-green:#15803d;--c-green-soft:#dcfce7;--c-amber:#955a06;--c-amber-soft:#fef3c7;--c-red:#b91c1c;--c-red-soft:#fee2e2;--c-blue:#1d4ed8;--c-blue-soft:#dbeafe;--c-grey:#525b6e;--c-grey-soft:#eceef4;--grid-line:#11152e0d;--grid-line-ink:#a5b4fc12;--grid-size:44px;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:1.75rem;--fs-2xl:clamp(1.9rem, 3.2vw, 2.6rem);--fs-3xl:clamp(2.3rem, 4.4vw, 3.5rem);--fs-display:clamp(2.4rem, 4.7vw, 4.25rem);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;--r-xs:2px;--r-sm:4px;--r:6px;--r-lg:10px;--shadow-sm:0 1px 0 #11152e0a, 0 1px 2px #11152e0f;--shadow:0 1px 0 #11152e0a, 0 8px 24px -12px #11152e38;--shadow-lg:0 24px 60px -24px #11152e59;--container:1240px;--container-narrow:820px;--gutter:clamp(16px, 4vw, 40px);--nav-h:68px;--ease:cubic-bezier(.2, .7, .2, 1);--t-fast:.14s;--t:.22s;--t-slow:.42s;--focus-ring:0 0 0 2px var(--c-surface), 0 0 0 4px var(--c-accent)}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t:0s;--t-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-base);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,video{max-width:100%;display:block}svg{vertical-align:-.125em;flex-shrink:0;max-width:100%;display:inline-block}img{height:auto}h1,h2,h3,h4,h5,h6{color:var(--c-ink);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:500;line-height:1.12}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg);letter-spacing:-.015em}h4{font-size:var(--fs-md);letter-spacing:-.01em}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-sm);outline:none}::selection{background:var(--c-accent-soft);color:var(--c-ink)}hr{border:0;border-top:1px solid var(--c-line);margin:var(--sp-6) 0}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:1000;background:var(--c-ink);color:var(--c-on-ink);border-radius:var(--r-sm);transition:top var(--t);padding:10px 16px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:.8125rem}.serif{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.muted{color:var(--c-text-2)}.subtle{color:var(--c-text-3)}.accent-text{color:var(--c-accent-strong)}.nowrap{white-space:nowrap}.text-right{text-align:right}.center{text-align:center}.full{width:100%}.stack{gap:var(--gap,var(--sp-4));flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,var(--sp-3));flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.row--top{align-items:flex-start}.grow{flex:auto;min-width:0}.label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);align-items:center;gap:8px;font-size:.72rem;font-weight:500;display:inline-flex}.label--accent{color:var(--c-accent-strong)}.label--dot:before{content:"";background:var(--c-accent);flex:none;width:6px;height:6px}.grid-bg{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:-1px -1px}.prose{color:var(--c-text);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--fs-xl);margin-top:1.8em}.prose h3{font-size:var(--fs-lg);margin-top:1.5em}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.4em}.prose a{color:var(--c-accent-strong);text-underline-offset:3px;text-decoration:underline}.prose code{font-family:var(--font-mono);background:var(--c-bg-alt);border-radius:var(--r-xs);padding:2px 6px;font-size:.88em}.prose blockquote{padding-left:var(--sp-4);border-left:2px solid var(--c-accent);color:var(--c-text-2);margin-left:0}.prose strong{color:var(--c-ink);font-weight:600}.pre-line{white-space:pre-line}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.btn{--btn-bg:var(--c-ink);--btn-fg:var(--c-on-ink);--btn-bd:var(--c-ink);border:1px solid var(--btn-bd);border-radius:var(--r-sm);background:var(--btn-bg);min-height:42px;color:var(--btn-fg);letter-spacing:-.005em;white-space:nowrap;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.9375rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{--btn-bg:var(--c-ink-3);--btn-bd:var(--c-ink-3)}.btn:active{transform:translateY(1px)}.btn svg{flex:none;width:1.05em;height:1.05em}.btn .btn__arrow{transition:transform var(--t) var(--ease)}.btn:hover .btn__arrow{transform:translate(3px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn--accent{--btn-bd:transparent;--btn-fg:#fff;transition:background-position var(--t-slow) var(--ease), box-shadow var(--t) var(--ease), transform var(--t-fast) var(--ease);background:linear-gradient(135deg,#4f46e5 0%,#2563eb 50%,#4f46e5 100%) 0 0/200% 100%}.btn--accent:hover{background-position:100% 0;box-shadow:0 10px 28px -12px #4f46e5a6}.btn--secondary{--btn-bg:transparent;--btn-fg:var(--c-ink);--btn-bd:var(--c-line-strong)}.btn--secondary:hover{--btn-bg:var(--c-surface);--btn-bd:var(--c-ink)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--c-text-2);--btn-bd:transparent}.btn--ghost:hover{--btn-bg:var(--c-bg-alt);--btn-fg:var(--c-ink);--btn-bd:transparent}.btn--danger{--btn-bg:var(--c-red);--btn-bd:var(--c-red);--btn-fg:#fff}.btn--danger:hover{--btn-bg:#922f24;--btn-bd:#922f24}.btn--on-ink{--btn-bg:var(--c-on-ink);--btn-fg:var(--c-ink);--btn-bd:var(--c-on-ink)}.btn--on-ink:hover{--btn-bg:#fff;--btn-bd:#fff}.btn--outline-ink{--btn-bg:transparent;--btn-fg:var(--c-on-ink);--btn-bd:var(--c-ink-line)}.btn--outline-ink:hover{--btn-bg:#e2e6ff0f;--btn-bd:var(--c-on-ink-2)}.btn--sm{min-height:34px;padding:0 12px;font-size:.8125rem}.btn--lg{min-height:50px;padding:0 24px;font-size:1rem}.btn--icon{width:38px;min-height:38px;padding:0}.btn--icon.btn--sm{width:32px;min-height:32px}.btn--block{width:100%}.btn .spinner{width:14px;height:14px}.link-btn{color:var(--c-accent-strong);font-weight:500;font-size:inherit;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.link-btn:hover{text-decoration:underline}.link-btn--muted{color:var(--c-text-2)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--c-text);font-size:.8125rem;font-weight:500}.field__label .req{color:var(--c-accent-strong);margin-left:2px}.field__hint{color:var(--c-text-3);font-size:.78rem}.field__error{color:var(--c-red);font-size:.78rem}.input,.select,.textarea{border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface);width:100%;min-height:42px;color:var(--c-text);transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);padding:10px 12px;font-size:.9375rem;line-height:1.4}.input::placeholder,.textarea::placeholder{color:#6b7385}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-line-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-ink);background:#fff;outline:none;box-shadow:0 0 0 3px #11152e14}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--c-red)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--c-bg-alt);cursor:not-allowed}.textarea{resize:vertical;min-height:110px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2346585b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.input--sm,.select--sm{min-height:34px;padding-block:6px;font-size:.8125rem}.input-group{align-items:center;display:flex;position:relative}.input-group>svg{width:16px;height:16px;color:var(--c-text-3);pointer-events:none;position:absolute;left:12px}.input-group>.input{padding-left:36px}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:inline-flex}.check input{appearance:none;border:1px solid var(--c-line-strong);border-radius:var(--r-xs);background:var(--c-surface);width:18px;height:18px;transition:all var(--t-fast);flex:none;place-content:center;margin-top:1px;display:grid}.check input:after{content:"";width:10px;height:6px;transition:transform var(--t-fast);border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(-45deg)translate(1px,-1px)scale(0)}.check input:checked{background:var(--c-ink);border-color:var(--c-ink)}.check input:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.switch{cursor:pointer;align-items:center;gap:10px;font-size:.875rem;display:inline-flex}.switch input{appearance:none;background:var(--c-line-strong);width:36px;height:20px;transition:background var(--t-fast);border-radius:20px;flex:none;position:relative}.switch input:after{content:"";width:16px;height:16px;transition:transform var(--t-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--c-green)}.switch input:checked:after{transform:translate(16px)}.form-grid{gap:var(--sp-4) var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:1/-1}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-section+.form-section{margin-top:var(--sp-6);padding-top:var(--sp-6);border-top:1px solid var(--c-line-soft)}.form-section__title{font-size:var(--fs-md);margin-bottom:var(--sp-4)}.form-alert{border-radius:var(--r-sm);border:1px solid;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;display:flex}.form-alert svg{flex:none;margin-top:2px}.form-alert--error{background:var(--c-red-soft);color:#7f2a20;border-color:#e5b9b1}.form-alert--info{background:var(--c-blue-soft);color:#1f4466;border-color:#bccfe0}.form-alert--warn{background:var(--c-amber-soft);color:#6b450a;border-color:#e4cf9f}.form-alert--success{background:var(--c-green-soft);color:#1d5a40;border-color:#b4d3c1}.choice-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.choice{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);align-items:flex-start;gap:12px;padding:16px;display:flex;position:relative}.choice:hover{border-color:var(--c-line-strong)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice__icon{border-radius:var(--r-sm);background:var(--c-bg-alt);width:34px;height:34px;color:var(--c-ink);flex:none;place-items:center;display:grid}.choice__title{color:var(--c-ink);font-size:.9375rem;font-weight:500}.choice__desc{color:var(--c-text-3);margin-top:2px;font-size:.8125rem;line-height:1.4}.choice__tick{border:1px solid var(--c-line-strong);border-radius:50%;width:16px;height:16px;position:absolute;top:12px;right:12px}.choice.is-selected{border-color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-ink);background:#fff}.choice.is-selected .choice__icon{background:var(--c-ink);color:var(--c-on-ink)}.choice.is-selected .choice__tick{border-color:var(--c-accent);background:var(--c-accent);box-shadow:inset 0 0 0 3px #fff}.choice:has(input:focus-visible){box-shadow:var(--focus-ring)}.badge{border-radius:var(--r-xs);letter-spacing:.01em;white-space:nowrap;background:var(--c-grey-soft);color:var(--c-grey);align-items:center;gap:6px;padding:3px 8px;font-size:.72rem;font-weight:500;line-height:1.3;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge--plain:before{display:none}.badge--green{background:var(--c-green-soft);color:var(--c-green)}.badge--amber{background:var(--c-amber-soft);color:var(--c-amber)}.badge--red{background:var(--c-red-soft);color:var(--c-red)}.badge--blue{background:var(--c-blue-soft);color:var(--c-blue)}.badge--accent{background:var(--c-accent-soft);color:var(--c-accent-strong)}.badge--ink{background:var(--c-ink);color:var(--c-on-ink)}.badge--outline{border:1px solid var(--c-line);color:var(--c-text-2);background:0 0}.tag{border:1px solid var(--c-line);border-radius:var(--r-xs);font-family:var(--font-mono);color:var(--c-text-2);white-space:nowrap;background:0 0;align-items:center;padding:3px 8px;font-size:.7rem;display:inline-flex}.tags{flex-wrap:wrap;gap:6px;display:flex}.panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r)}.panel__head{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--c-line-soft);padding:14px 18px;display:flex}.panel__title{letter-spacing:-.01em;color:var(--c-ink);font-size:.9375rem;font-weight:600}.panel__body{padding:18px}.panel__body--flush{padding:0}.panel__foot{border-top:1px solid var(--c-line-soft);padding:12px 18px}.table-wrap{width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:left;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--c-text-3);border-bottom:1px solid var(--c-line);background:var(--c-surface-2);white-space:nowrap;padding:10px 14px;font-size:.68rem;font-weight:500;position:sticky;top:0}.table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.table th button:focus-visible{box-shadow:var(--focus-ring)}.table td{border-bottom:1px solid var(--c-line-soft);vertical-align:middle;padding:12px 14px}.table tbody tr{transition:background var(--t-fast)}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr:hover{background:var(--c-surface-2)}.table tbody tr:last-child td{border-bottom:0}.table .cell-strong{color:var(--c-ink);font-weight:500}.table .cell-sub{color:var(--c-text-3);font-size:.78rem;display:block}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=760px){.table--responsive thead{display:none}.table--responsive,.table--responsive tbody,.table--responsive tr,.table--responsive td{width:100%;display:block}.table--responsive tr{border-bottom:1px solid var(--c-line);padding:12px 14px}.table--responsive td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:5px 0;display:flex}.table--responsive td:before{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-3);text-align:left;padding-top:2px;font-size:.68rem}.table--responsive td[data-primary]{text-align:left;padding-bottom:8px;display:block}.table--responsive td[data-primary]:before{display:none}.table--responsive .num{text-align:right}}.modal-backdrop{z-index:200;animation:fade-in var(--t) var(--ease);background:#11152e6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);animation:pop-in var(--t) var(--ease);flex-direction:column;display:flex}.modal--lg{width:min(820px,100%)}.modal--xl{width:min(1040px,100%)}.modal__head{border-bottom:1px solid var(--c-line-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.modal__title{font-size:1.125rem}.modal__desc{color:var(--c-text-2);margin-top:4px;font-size:.875rem}.modal__body{padding:22px;overflow-y:auto}.modal__foot{border-top:1px solid var(--c-line-soft);background:var(--c-surface-2);border-radius:0 0 var(--r-lg) var(--r-lg);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}@media (width<=640px){.modal-backdrop{place-items:end stretch;padding:0}.modal{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:92vh}.modal__foot{border-radius:0}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}.toasts{z-index:300;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--c-ink);color:var(--c-on-ink);border-radius:var(--r);box-shadow:var(--shadow-lg);animation:pop-in var(--t) var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;display:flex}.toast__icon{flex:none;margin-top:2px}.toast--success .toast__icon{color:#7fd3a8}.toast--error .toast__icon{color:#f19a86}.toast--info .toast__icon{color:#9fc3e6}.toast__close{color:var(--c-on-ink-2);background:0 0;border:0;margin-left:auto;padding:2px}.toast__close:hover{color:#fff}.spinner{opacity:.8;border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.loading-block{min-height:180px;color:var(--c-text-3);place-items:center;gap:10px;font-size:.875rem;display:grid}.skeleton{background:var(--c-bg-alt);border-radius:var(--r-xs);min-height:12px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-stack{flex-direction:column;gap:10px;display:flex}.empty{text-align:center;color:var(--c-text-2);flex-direction:column;align-items:center;gap:10px;padding:44px 20px;display:flex}.empty__icon{border:1px dashed var(--c-line-strong);border-radius:var(--r);width:44px;height:44px;color:var(--c-text-3);place-items:center;display:grid}.empty__title{color:var(--c-ink);font-weight:600}.empty__text{max-width:420px;font-size:.875rem}.empty--compact{padding:24px 16px}.tabs{border-bottom:1px solid var(--c-line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--c-text-2);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:10px 14px;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.tab:hover,.tab[aria-selected=true]{color:var(--c-ink)}.tab[aria-selected=true]:after{content:"";background:var(--c-accent);height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab__count{font-family:var(--font-mono);background:var(--c-bg-alt);color:var(--c-text-2);border-radius:10px;padding:1px 6px;font-size:.68rem}.segmented{background:var(--c-bg-alt);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--r-xs);color:var(--c-text-2);background:0 0;border:0;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--shadow-sm)}.progress{background:var(--c-bg-alt);border-radius:6px;height:6px;position:relative;overflow:hidden}.progress__bar{background:var(--c-ink);transition:width var(--t-slow) var(--ease);border-radius:6px;position:absolute;inset:0 auto 0 0}.progress--accent .progress__bar{background:var(--c-accent)}.progress--lg{height:10px}.pagination{color:var(--c-text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.8125rem;display:flex}.dropdown{position:relative}.dropdown__menu{z-index:120;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r);min-width:200px;box-shadow:var(--shadow-lg);animation:pop-in var(--t-fast) var(--ease);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.dropdown__item{border-radius:var(--r-xs);width:100%;color:var(--c-text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:.875rem;display:flex}.dropdown__item:hover,.dropdown__item:focus-visible{background:var(--c-bg-alt);box-shadow:none}.dropdown__item--danger{color:var(--c-red)}.dropdown__sep{background:var(--c-line-soft);height:1px;margin:6px 0}.avatar{background:var(--c-ink);width:32px;height:32px;color:var(--c-on-ink);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{width:26px;height:26px;font-size:.65rem}.avatar--lg{width:44px;height:44px;font-size:.9rem}.avatar--accent{background:var(--c-accent-soft);color:var(--c-accent-strong)}.kv{grid-template-columns:minmax(110px,38%) 1fr;gap:10px 16px;margin:0;font-size:.875rem;display:grid}.kv dt{color:var(--c-text-3)}.kv dd{color:var(--c-text);word-break:break-word;margin:0}.file-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{border-bottom:1px solid var(--c-line-soft);align-items:center;gap:12px;padding:10px 0;font-size:.875rem;display:flex}.file-item:last-child{border-bottom:0}.file-item__icon{border-radius:var(--r-sm);background:var(--c-bg-alt);width:34px;height:34px;color:var(--c-ink);font-family:var(--font-mono);text-transform:uppercase;flex:none;place-items:center;font-size:.6rem;display:grid}.file-item__name{color:var(--c-ink);word-break:break-all;font-weight:500}.file-item__meta{color:var(--c-text-3);font-size:.75rem}.dropzone{border:1px dashed var(--c-line-strong);border-radius:var(--r);background:var(--c-surface-2);text-align:center;color:var(--c-text-2);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 20px;font-size:.875rem;display:flex}.dropzone:hover,.dropzone.is-dragging{border-color:var(--c-ink);background:#fff}.dropzone:focus-within{box-shadow:var(--focus-ring)}.dropzone svg{width:22px;height:22px;color:var(--c-ink)}.divider-label{color:var(--c-text-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-size:.7rem;display:flex}.divider-label:after{content:"";background:var(--c-line);flex:1;height:1px}.demo-flag{border:1px dashed var(--c-amber);border-radius:var(--r-xs);color:var(--c-amber);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#f3e5c666;align-items:center;gap:6px;padding:2px 7px;font-size:.66rem;display:inline-flex}.demo-banner{background:var(--c-amber-soft);border-bottom:1px dashed var(--c-amber);color:var(--c-text-2);font-size:.85rem}.demo-banner__inner{flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:10px;display:flex}.demo-flag--showcase{border-color:var(--c-accent);color:var(--c-accent-strong);background:#eef2ffeb}.nav{z-index:100;height:var(--nav-h);border-bottom:1px solid var(--c-line-soft);transition:border-color var(--t), background var(--t);background:#fffffff7;position:sticky;top:0}.nav.is-scrolled{border-bottom-color:var(--c-line);background:#fffffff7;box-shadow:0 6px 24px -18px #11152e59}.nav__inner{align-items:center;gap:var(--sp-5);height:100%;display:flex}.brand{color:var(--c-ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.0625rem;font-weight:600;display:inline-flex}.brand__mark{background:var(--c-ink);border-radius:4px;flex:none;width:26px;height:26px;position:relative}.brand__mark:before{content:"";border:2.5px solid var(--c-on-ink);border-left-width:3px;border-radius:0 7px 7px 0;width:9px;height:14px;position:absolute;top:6px;left:7px}.brand__mark:after{content:"";background:linear-gradient(135deg, var(--c-accent), var(--c-violet));width:4px;height:4px;position:absolute;bottom:3px;right:3px}.brand__tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-3);border:1px solid var(--c-line);border-radius:var(--r-xs);padding:2px 6px;font-size:.62rem;font-weight:500}.brand--on-ink{color:var(--c-on-ink)}.brand--on-ink .brand__mark{background:var(--c-on-ink)}.brand--on-ink .brand__mark:before{border-color:var(--c-ink)}.nav__links{margin-left:auto;align-items:center;gap:2px;margin-block:0;padding:0;list-style:none;display:flex}.nav__link{color:var(--c-text-2);border-radius:var(--r-sm);transition:color var(--t-fast);padding:8px 12px;font-size:.9rem;font-weight:450;display:inline-flex;position:relative}.nav__link:hover{color:var(--c-ink)}.nav__link.active{color:var(--c-accent-strong)}.nav__link.active:after{content:"";background:linear-gradient(90deg, var(--c-accent), var(--c-violet));border-radius:2px;height:2px;position:absolute;bottom:0;left:12px;right:12px}.nav__actions{align-items:center;gap:8px;display:flex}.nav__toggle{display:none}.mobile-menu{inset:var(--nav-h) 0 0 0;z-index:99;background:var(--c-bg);padding:var(--sp-5) var(--gutter) var(--sp-7);gap:var(--sp-5);animation:fade-in var(--t) var(--ease);flex-direction:column;display:flex;position:fixed;overflow-y:auto}.mobile-menu__links{border-top:1px solid var(--c-line);margin:0;padding:0;list-style:none}.mobile-menu__links a{border-bottom:1px solid var(--c-line);letter-spacing:-.02em;color:var(--c-ink);justify-content:space-between;align-items:center;padding:16px 0;font-size:1.35rem;display:flex}.mobile-menu__links a span{font-family:var(--font-mono);color:var(--c-text-3);font-size:.72rem}@media (width<=1060px){.nav__links,.nav__actions .nav__signin{display:none}.nav__actions{margin-left:auto}.nav__toggle{display:inline-flex}}@media (width<=480px){.nav__actions .nav__cta{display:none}}.section{padding-block:clamp(64px,9vw,120px);position:relative}.section--tight{padding-block:clamp(48px,6vw,80px)}.section--alt{background:var(--c-bg-alt)}.section--surface{background:var(--c-surface)}.section--line{border-top:1px solid var(--c-line)}.section--ink{background:var(--c-ink);color:var(--c-on-ink)}.section--ink h1,.section--ink h2,.section--ink h3{color:var(--c-on-ink)}.section--ink .muted,.section--ink .label{color:var(--c-on-ink-2)}.section-head{gap:var(--sp-5) var(--sp-7);grid-template-columns:minmax(180px,1fr) 3fr;align-items:end;margin-bottom:clamp(36px,5vw,64px);display:grid}.section-head__index{flex-direction:column;align-self:start;gap:10px;padding-top:8px;display:flex}.section-head__num{font-family:var(--font-mono);color:var(--c-accent-strong);font-size:.75rem}.section-head__body{gap:var(--sp-5) var(--sp-7);grid-template-columns:1.4fr 1fr;align-items:end;display:grid}.section-head__title{font-size:var(--fs-2xl);max-width:18ch}.section-head__intro{color:var(--c-text-2);max-width:46ch}.section--ink .section-head__intro{color:var(--c-on-ink-2)}.section--ink .section-head__num{color:var(--c-accent-on-ink)}@media (width<=900px){.section-head,.section-head__body{grid-template-columns:1fr}.section-head__index{flex-direction:row;align-items:center}}.page-hero{border-bottom:1px solid var(--c-line);padding-block:clamp(56px,8vw,104px) clamp(40px,5vw,64px);position:relative;overflow:hidden}.page-hero:after{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 30%,#000 100%);mask-image:linear-gradient(90deg,#0000 30%,#000 100%)}.page-hero__inner{z-index:1;gap:var(--sp-5);max-width:900px;display:grid;position:relative}.page-hero__title{font-size:var(--fs-3xl);letter-spacing:-.035em}.page-hero__title em,.hero__title em{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--c-accent-strong);font-style:italic;font-weight:400}.page-hero__lead{font-size:var(--fs-md);color:var(--c-text-2);max-width:60ch}.breadcrumb{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-3);align-items:center;gap:8px;font-size:.72rem;display:flex}.breadcrumb a:hover{color:var(--c-ink)}.hero{background:var(--c-ink);color:var(--c-on-ink);isolation:isolate;padding-block:clamp(56px,8vw,112px) 0;position:relative;overflow:hidden}.hero__backdrop{z-index:-1;background:radial-gradient(38% 46% at 74% 38%,#4f46e54d,#0000 70%),radial-gradient(30% 36% at 96% 88%,#7c3aed33,#0000 70%),radial-gradient(26% 30% at 8% 0,#2563eb1f,#0000 70%);position:absolute;inset:0}.hero__backdrop:before{content:"";background-image:linear-gradient(var(--grid-line-ink) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line-ink) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 90% at 65% 40%,#000 30%,#0000 85%);mask-image:radial-gradient(85% 90% at 65% 40%,#000 30%,#0000 85%)}.hero__backdrop:after{content:"";background:var(--grad-line);opacity:.8;height:1px;position:absolute;bottom:0;left:0;right:0}.hero__inner{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);display:grid;position:relative}.hero__copy{animation:fade-up .8s var(--ease) both}.hero__meta{margin-bottom:var(--sp-5);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero .label{color:var(--c-on-ink-2)}.status-dot{color:var(--c-on-ink);border:1px solid var(--c-ink-line);background:#e2e6ff0a;border-radius:20px;align-items:center;gap:8px;padding:4px 11px 4px 9px;font-size:.8rem;display:inline-flex}.status-dot:before{content:"";background:var(--c-cyan);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #06b6d42e}.hero__title{color:#fff;font-size:var(--fs-display);letter-spacing:-.045em;max-width:17ch;font-weight:500;line-height:1.02}.hero__title em{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--c-accent-on-ink);font-style:italic;font-weight:400}.hero__lead{margin-top:var(--sp-5);color:var(--c-on-ink-2);max-width:52ch;font-size:clamp(1.05rem,1.4vw,1.2rem)}.hero__ctas{margin-top:var(--sp-6);flex-wrap:wrap;gap:12px;display:flex}.hero__industries{margin-top:var(--sp-7);flex-direction:column;gap:10px;display:flex}.hero__industries ul{color:var(--c-on-ink-2);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.hero__industries li:before{content:"/";color:var(--c-accent-on-ink);font-family:var(--font-mono);margin-right:8px}.hero__disciplines{border-top:1px solid var(--c-ink-line);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(48px,7vw,88px) 0 0;padding:0;list-style:none;display:grid}.hero__disciplines li{color:var(--c-on-ink);align-items:baseline;gap:12px;padding:18px 16px 22px 0;font-size:.9rem;display:flex}.hero__disciplines li+li{border-left:1px solid var(--c-ink-line);padding-left:16px}.hero__disciplines .mono{color:var(--c-accent-on-ink);font-size:.72rem}@media (width<=960px){.hero__inner{grid-template-columns:1fr}.hero-visual{max-width:560px}}@media (width<=640px){.hero__disciplines{grid-template-columns:1fr 1fr}.hero__disciplines li:nth-child(3){border-left:0;padding-left:0}.hero__disciplines li:nth-child(n+3){border-top:1px solid var(--c-ink-line)}}.hero-visual{animation:fade-up .9s var(--ease) both .15s;padding:36px 0 44px;position:relative}.hero-visual__orbit{z-index:0;pointer-events:none;width:118%;position:absolute;top:50%;left:-9%;transform:translateY(-50%)}.orbit-ring{fill:none;stroke:#a5b4fc1f;stroke-width:1px}.orbit-ring--dash{stroke-dasharray:2 6;stroke:#a5b4fc29}.orbit-arc{fill:none;stroke:url(#orbit-grad);stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700px;animation:draw 2.4s var(--ease) forwards .4s}.orbit-arc--slow{animation-delay:.9s}.orbit-node{fill:var(--c-accent-on-ink)}.orbit-node--cyan{fill:var(--c-cyan)}@keyframes draw{to{stroke-dashoffset:0}}.console{z-index:1;border-radius:var(--r);background:linear-gradient(#262d57b8,#171c3aeb);border:1px solid #a5b4fc33;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #0009,0 0 0 1px #4f46e514}.console:before{content:"";background:var(--grad-line);height:1px;position:absolute;top:0;left:0;right:0}.console__bar{border-bottom:1px solid var(--c-ink-line);font-family:var(--font-mono);color:var(--c-on-ink-2);align-items:center;gap:6px;padding:10px 12px;font-size:.68rem;display:flex}.console__bar i{border:1px solid #a5b4fc59;border-radius:50%;width:8px;height:8px}.console__url{background:#e2e6ff0f;border-radius:3px;flex:1;max-width:240px;margin-left:10px;padding:3px 10px}.console__meta{margin-left:auto}.console__canvas{width:100%;height:auto;display:block}.c-strong{fill:#eef0fae0}.c-soft{fill:#a5b4fc2e}.c-violet{fill:#7c3aed8c}.c-panel{fill:#4f46e51a;stroke:#a5b4fc33}.c-outline{fill:none;stroke:#a5b4fc38}.c-line{stroke:#a5b4fc24}.c-chart{fill:none;stroke:var(--c-accent-on-ink);stroke-width:1.6px;stroke-dasharray:400;stroke-dashoffset:400px;animation:draw 2s var(--ease) forwards .8s}.c-point{fill:var(--c-cyan)}.c-dim{stroke:#06b6d48c;stroke-dasharray:3 3}.c-text{font-family:var(--font-mono);letter-spacing:.05em;fill:#a3a9c9cc;font-size:8.5px}.c-text--accent{fill:#67e8f9}.pipeline{z-index:2;background:var(--c-surface);width:min(250px,62%);color:var(--c-text);border-radius:var(--r);padding:14px 16px 16px;font-size:.78rem;position:absolute;bottom:0;right:-12px;box-shadow:0 24px 60px -20px #0000008c}.hero .pipeline .label{color:var(--c-text-3)}.pipeline ol{gap:7px;margin:10px 0 12px;padding:0;list-style:none;display:grid}.pipeline li{font-family:var(--font-mono);color:var(--c-text-3);align-items:center;gap:10px;font-size:.7rem;display:flex}.pipeline li b{color:var(--c-ink);font-weight:500}.pipeline .tick{border:1px solid var(--c-line-strong);border-radius:50%;flex:none;width:13px;height:13px}.pipeline li.done .tick{background:var(--grad-cta);border-color:#0000}.pipeline li.now .tick{border-color:var(--c-accent);box-shadow:inset 0 0 0 3px #fff, inset 0 0 0 7px var(--c-accent)}.pipeline__bar{background:var(--c-bg-alt);border-radius:3px;height:3px;overflow:hidden}.pipeline__bar span{background:var(--grad-brand);height:100%;display:block}@media (width<=560px){.pipeline{width:auto;margin:-12px 12px 0;position:relative;right:auto}.hero-visual{padding-bottom:0}}.facts{border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.fact{padding:var(--sp-5) var(--sp-5);border-right:1px solid var(--c-line);flex-direction:column;gap:6px;min-width:0;display:flex}.fact:last-child{border-right:0}.fact__value{letter-spacing:-.03em;color:var(--c-ink);font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500;line-height:1.1}.fact__value--text{letter-spacing:-.01em;font-size:1.05rem;line-height:1.35}.fact__label{color:var(--c-text-2);font-size:.8125rem}.fact__note{font-family:var(--font-mono);color:var(--c-text-3);letter-spacing:.02em;font-size:.66rem}@media (width<=1000px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{border-bottom:1px solid var(--c-line)}.fact:nth-child(2n){border-right:0}.fact:last-child{border-bottom:0;grid-column:1/-1}}.service-grid{border-top:1px solid var(--c-line);border-left:1px solid var(--c-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.service-card{gap:var(--sp-3);padding:var(--sp-5);border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);transition:background var(--t) var(--ease);background:0 0;flex-direction:column;min-height:300px;display:flex;position:relative}.service-card:before{content:"";background:var(--grad-brand);transform-origin:0;height:2px;transition:transform var(--t-slow) var(--ease);position:absolute;top:-1px;left:-1px;right:-1px;transform:scaleX(0)}.service-card:hover{background:var(--c-surface)}.service-card:hover:before{transform:scaleX(1)}.service-card__top{justify-content:space-between;align-items:flex-start;display:flex}.service-card__icon{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);width:40px;height:40px;color:var(--c-ink);place-items:center;display:grid}.service-card__icon svg{width:18px;height:18px}.service-card__title{margin-top:var(--sp-3);font-size:1.125rem}.service-card__summary{color:var(--c-text-2);font-size:.9rem}.service-card__features{color:var(--c-text-2);gap:6px;margin:auto 0 0;padding:0;font-size:.8125rem;list-style:none;display:grid}.service-card__features li{gap:8px;display:flex}.service-card__features li:before{content:"";background:var(--c-ink-3);flex:none;width:5px;height:5px;margin-top:8px}.service-card__foot{padding-top:var(--sp-3);border-top:1px dashed var(--c-line);justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;display:flex}@media (width<=1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}}.filter-bar{margin-bottom:var(--sp-6);flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--c-line);color:var(--c-text-2);transition:all var(--t-fast);background:0 0;border-radius:40px;align-items:center;gap:6px;padding:7px 14px;font-size:.8125rem;display:inline-flex}.chip:hover{border-color:var(--c-ink);color:var(--c-ink)}.chip[aria-pressed=true]{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-on-ink)}.chip__count{font-family:var(--font-mono);opacity:.7;font-size:.68rem}.work-grid{gap:var(--sp-7) var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.work-grid--3{gap:var(--sp-6) var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1000px){.work-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.work-grid,.work-grid--3{grid-template-columns:1fr}}.work-card{gap:var(--sp-4);flex-direction:column;display:flex}.work-card__media{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);aspect-ratio:16/10.5;display:block;position:relative;overflow:hidden}.work-card__media img,.work-card__media .project-visual{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.work-card:hover .work-card__media img,.work-card:hover .work-card__media .project-visual{transform:scale(1.025)}.work-card__flag{z-index:2;position:absolute;top:12px;left:12px}.work-card__meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.work-card__title{font-size:1.25rem}.work-card__title a:hover{color:var(--c-accent-strong)}.work-card__desc{color:var(--c-text-2);font-size:.9375rem}.work-card__actions{flex-wrap:wrap;align-items:center;gap:16px;font-size:.875rem;display:flex}.project-visual{--pv:var(--c-ink);background:radial-gradient(60% 70% at 80% 10%, #4f46e51a, transparent 70%), linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 22px 22px, var(--c-bg-alt);grid-template-rows:auto 1fr;padding:7% 7% 0;display:grid;position:relative;overflow:hidden}.project-visual__window{background:var(--c-surface);border:1px solid var(--c-line-strong);border-bottom:0;border-radius:6px 6px 0 0;grid-template-rows:auto auto 1fr;align-self:end;height:100%;display:grid;overflow:hidden;box-shadow:0 -10px 40px -24px #11152e66}.project-visual__chrome{border-bottom:1px solid var(--c-line-soft);gap:4px;padding:7px 9px;display:flex}.project-visual__chrome i{background:var(--c-line-strong);border-radius:50%;width:6px;height:6px}.project-visual__hero{background:var(--c-ink-2);border-top:2px solid var(--pv);color:#fff;grid-template-columns:1.2fr 1fr;gap:8%;padding:7% 7% 5%;display:grid}.project-visual__lines{align-content:center;gap:6px;display:grid}.project-visual__lines span{background:#ffffffe6;border-radius:2px;height:7px;display:block}.project-visual__lines span:nth-child(2){width:70%}.project-visual__lines span:nth-child(3){background:var(--pv);width:40%;height:12px;margin-top:6px}.project-visual__img{aspect-ratio:4/3;background:linear-gradient(135deg,#a5b4fc29 25%,#0000 25%) 0 0/10px 10px,#a5b4fc14;border:1px solid #a5b4fc47;border-radius:3px}.project-visual__cards{grid-template-columns:repeat(3,1fr);gap:6%;padding:6% 7%;display:grid}.project-visual__cards span{aspect-ratio:1/.7;border:1px solid var(--c-line);background:var(--c-surface-2);border-radius:3px}.project-visual__caption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);font-size:.62rem;position:absolute;top:2.2%;left:7%}.process{grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid;position:relative}.process:before{content:"";background:linear-gradient(90deg, var(--c-accent), var(--c-electric) 50%, var(--c-violet));opacity:.45;height:1px;position:absolute;top:20px;left:20px;right:20px}.process__step{padding:0 var(--sp-4) 0 0;flex-direction:column;gap:10px;display:flex;position:relative}.process__node{z-index:1;border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);width:41px;height:41px;font-family:var(--font-mono);color:var(--c-accent-strong);transition:background var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);place-items:center;font-size:.75rem;display:grid;position:relative}.process__node:after{content:"";background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;right:-4px}.process__step:hover .process__node{background:var(--c-ink);border-color:var(--c-ink);color:#fff;box-shadow:0 8px 20px -10px #4f46e599}.process__step:first-child .process__node{background:var(--grad-cta);color:#fff;border-color:#0000}.process__step:first-child .process__node:after{background:var(--c-cyan);border-color:var(--c-surface)}.process__title{letter-spacing:.08em;text-transform:uppercase;margin-top:10px;font-size:.86rem;font-weight:600}.process__duration{font-family:var(--font-mono);color:var(--c-accent-strong);letter-spacing:.04em;font-size:.68rem}.process__summary{color:var(--c-text-2);font-size:.85rem;line-height:1.5}@media (width<=1000px){.process{gap:var(--sp-5);grid-template-columns:1fr}.process:before{background:linear-gradient(180deg, var(--c-accent), var(--c-electric) 50%, var(--c-violet));width:1px;height:auto;inset:20px auto 20px 20px}.process__step{gap:4px var(--sp-4);grid-template-columns:41px 1fr;padding:0;display:grid}.process__step>:not(.process__node){grid-column:2}.process__node{grid-row:1/span 4}.process__title{margin-top:10px}}.process-detail{border-top:1px solid var(--c-line);gap:0;display:grid}.process-detail__row{gap:var(--sp-5);padding:var(--sp-6) 0;border-bottom:1px solid var(--c-line);grid-template-columns:90px 1.2fr 1.4fr 1fr;align-items:start;display:grid}.process-detail__num{font-family:var(--font-mono);color:var(--c-accent-strong);font-size:2rem;line-height:1}.process-detail__list{color:var(--c-text-2);gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.process-detail__list li:before{content:"→ ";color:var(--c-accent);font-family:var(--font-mono)}@media (width<=860px){.process-detail__row{grid-template-columns:60px 1fr}.process-detail__row>:nth-child(n+3){grid-column:2}}.why-grid{border-top:1px solid var(--c-ink-line);border-left:1px solid var(--c-ink-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.why-item{padding:var(--sp-6) var(--sp-5);border-right:1px solid var(--c-ink-line);border-bottom:1px solid var(--c-ink-line);flex-direction:column;gap:12px;display:flex}.why-item__icon{color:var(--c-accent-on-ink)}.why-item__icon svg{width:22px;height:22px}.why-item h3{font-size:1.1rem}.why-item p{color:var(--c-on-ink-2);font-size:.9rem}.why-item__num{font-family:var(--font-mono);color:var(--c-on-ink-2);margin-left:auto;font-size:.68rem}@media (width<=900px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.why-grid{grid-template-columns:1fr}}.testimonial-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.testimonial{gap:var(--sp-5);padding:var(--sp-6);border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);flex-direction:column;display:flex}.testimonial__quote{font-family:var(--font-serif);color:var(--c-ink);letter-spacing:-.01em;font-size:1.45rem;line-height:1.3}.testimonial__quote:before{content:"“";color:var(--c-violet)}.testimonial__quote:after{content:"”";color:var(--c-violet)}.testimonial__who{align-items:center;gap:12px;margin-top:auto;font-size:.875rem;display:flex}.testimonial__who strong{color:var(--c-ink);font-weight:500;display:block}.stars{color:var(--c-accent);gap:2px;display:flex}.tech-table{border-top:1px solid var(--c-line);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.tech-group{gap:var(--sp-4);padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;border-bottom:1px solid var(--c-line);grid-template-columns:110px 1fr;align-items:start;display:grid}.tech-group .label{padding-top:6px}.tech-list{flex-wrap:wrap;gap:6px;display:flex}.tech-pill{border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-xs);color:var(--c-ink);transition:border-color var(--t-fast);align-items:center;gap:8px;padding:6px 12px;font-size:.875rem;display:inline-flex}.tech-pill:hover{border-color:var(--c-ink)}.tech-pill svg{width:15px;height:15px;color:var(--c-text-2)}.faq-layout{gap:var(--sp-7);grid-template-columns:1fr 2fr;display:grid}@media (width<=900px){.faq-layout{gap:var(--sp-5);grid-template-columns:1fr}}.faq{border-top:1px solid var(--c-line)}.faq__item{border-bottom:1px solid var(--c-line)}.faq__q{justify-content:space-between;align-items:center;gap:var(--sp-4);cursor:pointer;color:var(--c-ink);letter-spacing:-.01em;padding:20px 0;font-size:1.0625rem;font-weight:500;list-style:none;display:flex}.faq__q::-webkit-details-marker{display:none}.faq__q:hover{color:var(--c-accent-strong)}.faq__icon{flex:none;width:14px;height:14px;position:relative}.faq__icon:before,.faq__icon:after{content:"";width:14px;height:1.5px;transition:transform var(--t) var(--ease);background:currentColor;position:absolute;top:6px;left:0}.faq__icon:after{transform:rotate(90deg)}.faq__item[open] .faq__icon:after{transform:rotate(0)}.faq__a{color:var(--c-text-2);white-space:pre-line;max-width:70ch;padding:0 0 22px}.cta-band{background:var(--c-ink);color:var(--c-on-ink);position:relative;overflow:hidden}.cta-band:before{content:"";background-image:linear-gradient(#e2e6ff0f 1px,#0000 1px),linear-gradient(90deg,#e2e6ff0f 1px,#0000 1px);background-size:var(--grid-size) var(--grid-size);position:absolute;inset:0;-webkit-mask-image:linear-gradient(100deg,#0000 20%,#000 90%);mask-image:linear-gradient(100deg,#0000 20%,#000 90%)}.cta-band__inner{gap:var(--sp-6);grid-template-columns:1.6fr 1fr;align-items:end;padding-block:clamp(64px,9vw,120px);display:grid;position:relative}.cta-band h2{color:var(--c-on-ink);font-size:var(--fs-3xl);letter-spacing:-.04em;max-width:14ch}.cta-band h2 em{font-family:var(--font-serif);color:var(--c-accent-on-ink);font-weight:400}.cta-band p{color:var(--c-on-ink-2);max-width:44ch}.cta-band .label{color:var(--c-on-ink-2)}.cta-band__actions{gap:var(--sp-4);flex-direction:column;align-items:flex-start;display:flex}@media (width<=800px){.cta-band__inner{grid-template-columns:1fr}}.footer{background:var(--c-ink);color:var(--c-on-ink-2);border-top:1px solid var(--c-ink-line);font-size:.9rem}.footer__grid{gap:var(--sp-6);padding-block:var(--sp-8) var(--sp-7);grid-template-columns:1.6fr repeat(3,1fr);display:grid}.footer h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c-on-ink-2);margin-bottom:var(--sp-4);font-size:.7rem;font-weight:500}.footer ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer a{color:var(--c-on-ink);transition:color var(--t-fast)}.footer a:hover{color:var(--c-accent-on-ink)}.footer__about p{margin-top:var(--sp-4);max-width:34ch}.footer__bottom{justify-content:space-between;gap:var(--sp-4);padding-block:var(--sp-5);border-top:1px solid var(--c-ink-line);font-family:var(--font-mono);flex-wrap:wrap;font-size:.72rem;display:flex}.footer__contact{gap:4px;display:grid}.footer__contact+.footer__contact{margin-top:var(--sp-3)}.footer__contact-name{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85;font-size:.72rem}.footer__legal{gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;display:flex}.footer__socials{margin-top:var(--sp-5);gap:8px;display:flex}.footer__socials a{border:1px solid var(--c-ink-line);border-radius:var(--r-sm);place-items:center;width:36px;height:36px;display:grid}@media (width<=860px){.footer__grid{grid-template-columns:1fr 1fr}.footer__about{grid-column:1/-1}}.pricing-grid{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.plan{gap:var(--sp-4);padding:var(--sp-6) var(--sp-5);border-right:1px solid var(--c-line);flex-direction:column;display:flex;position:relative}.plan:last-child{border-right:0}.plan--highlight{background:var(--c-ink);color:var(--c-on-ink)}.plan--highlight h3,.plan--highlight .plan__price{color:var(--c-on-ink)}.plan--highlight .plan__tagline,.plan--highlight .plan__features{color:var(--c-on-ink-2)}.plan__badge{position:absolute;top:16px;right:16px}.plan__price{letter-spacing:-.03em;color:var(--c-ink);font-size:2rem;font-weight:500;line-height:1.1}.plan__price-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-3);font-size:.7rem}.plan--highlight .plan__price-label{color:var(--c-on-ink-2)}.plan__tagline{color:var(--c-text-2);min-height:3em;font-size:.9rem}.plan__features{padding:var(--sp-4) 0 0;border-top:1px solid var(--c-line);color:var(--c-text-2);gap:10px;margin:0;font-size:.875rem;list-style:none;display:grid}.plan--highlight .plan__features{border-color:var(--c-ink-line)}.plan__features li{gap:10px;display:flex}.plan__features svg{color:var(--c-accent);flex:none;margin-top:4px}.plan .btn{margin-top:auto}@media (width<=1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan:nth-child(2n){border-right:0}.plan:nth-child(-n+2){border-bottom:1px solid var(--c-line)}}@media (width<=620px){.pricing-grid{grid-template-columns:1fr}.plan{border-right:0;border-bottom:1px solid var(--c-line)}}.split{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid}.split--wide-left{grid-template-columns:1.4fr 1fr}@media (width<=900px){.split,.split--wide-left{grid-template-columns:1fr}}.sticky-aside{top:calc(var(--nav-h) + 24px);position:sticky}.spec-list{border-top:1px solid var(--c-line);margin:0;display:grid}.spec-list>div{gap:var(--sp-4);border-bottom:1px solid var(--c-line);grid-template-columns:130px 1fr;padding:12px 0;font-size:.9rem;display:grid}.spec-list dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);padding-top:3px;font-size:.7rem}.spec-list dd{color:var(--c-ink);margin:0}.case-hero{padding-block:clamp(48px, 7vw, 96px) var(--sp-6)}.case-hero__title{font-size:var(--fs-3xl);letter-spacing:-.04em;max-width:20ch}.case-cover{border:1px solid var(--c-line);border-radius:var(--r-lg);aspect-ratio:16/8;background:var(--c-surface);overflow:hidden}.case-cover img,.case-cover .project-visual{object-fit:cover;width:100%;height:100%}.case-block{gap:var(--sp-6);padding-block:var(--sp-7);border-top:1px solid var(--c-line);grid-template-columns:220px 1fr;display:grid}.case-block__label{flex-direction:column;gap:6px;display:flex}.case-block__body{max-width:70ch;color:var(--c-text);white-space:pre-line;font-size:1.0625rem;line-height:1.75}.case-block__body ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.case-block__body li{gap:12px;display:flex}.case-block__body li:before{content:"";background:var(--c-accent);flex:none;width:6px;height:6px;margin-top:11px}@media (width<=800px){.case-block{gap:var(--sp-3);grid-template-columns:1fr}}.results-grid{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.result{padding:var(--sp-5);border-right:1px solid var(--c-line)}.result:last-child{border-right:0}.result__value{letter-spacing:-.03em;color:var(--c-ink);font-size:2rem;font-weight:500}.shots{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.shots figure{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);margin:0;overflow:hidden}.shots figcaption{color:var(--c-text-3);border-top:1px solid var(--c-line);padding:10px 14px;font-size:.8rem}@media (width<=700px){.shots{grid-template-columns:1fr}}.post-grid{gap:var(--sp-6) var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=1000px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.post-grid{grid-template-columns:1fr}}.post-card{padding-top:var(--sp-4);border-top:1px solid var(--c-ink);flex-direction:column;gap:12px;display:flex}.post-card__cover{aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--c-bg-alt);overflow:hidden}.post-card__cover img{object-fit:cover;width:100%;height:100%}.post-card__title{letter-spacing:-.02em;font-size:1.25rem}.post-card__title a:hover{color:var(--c-accent-strong)}.post-card__excerpt{color:var(--c-text-2);font-size:.9375rem}.post-card__meta{font-family:var(--font-mono);color:var(--c-text-3);text-transform:uppercase;letter-spacing:.06em;gap:12px;font-size:.7rem;display:flex}.article{padding-block:var(--sp-7) var(--sp-9)}.article__header{gap:var(--sp-4);padding-bottom:var(--sp-6);margin-bottom:var(--sp-6);border-bottom:1px solid var(--c-line);display:grid}.article__title{font-size:var(--fs-3xl);letter-spacing:-.035em}.wizard{gap:var(--sp-7);grid-template-columns:280px 1fr;align-items:start;display:grid}@media (width<=900px){.wizard{gap:var(--sp-5);grid-template-columns:1fr}}.wizard__steps{top:calc(var(--nav-h) + 24px);gap:2px;margin:0;padding:0;list-style:none;display:grid;position:sticky}.wizard__step{border-radius:var(--r-sm);color:var(--c-text-3);text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.875rem;display:flex}.wizard__step:not(:disabled):hover{background:var(--c-bg-alt);color:var(--c-ink)}.wizard__step:disabled{cursor:default}.wizard__step-num{border:1px solid var(--c-line-strong);width:24px;height:24px;font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:.68rem;display:grid}.wizard__step.is-current{color:var(--c-ink);background:var(--c-surface);font-weight:500}.wizard__step.is-current .wizard__step-num{border-color:var(--c-accent);background:var(--c-accent);color:#fff}.wizard__step.is-done{color:var(--c-text)}.wizard__step.is-done .wizard__step-num{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-on-ink)}@media (width<=900px){.wizard__steps{display:none}}.wizard__mobile-progress{display:none}@media (width<=900px){.wizard__mobile-progress{flex-direction:column;gap:8px;display:flex}}.wizard__panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);flex-direction:column;min-height:460px;padding:clamp(20px,4vw,40px);display:flex}.wizard__title{font-size:var(--fs-xl);letter-spacing:-.025em}.wizard__desc{color:var(--c-text-2);margin-top:6px;margin-bottom:var(--sp-6)}.wizard__nav{padding-top:var(--sp-6);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.review-list{border-top:1px solid var(--c-line);display:grid}.review-list>div{gap:var(--sp-4);border-bottom:1px solid var(--c-line-soft);grid-template-columns:180px 1fr auto;align-items:start;padding:12px 0;font-size:.9rem;display:grid}@media (width<=600px){.review-list>div{grid-template-columns:1fr auto}.review-list>div>:nth-child(2){grid-area:2/1/auto/-1}}.success-card{text-align:center;gap:var(--sp-4);justify-items:center;max-width:680px;margin-inline:auto;display:grid}.success-card__id{font-family:var(--font-mono);border:1px dashed var(--c-ink);border-radius:var(--r-sm);color:var(--c-ink);background:var(--c-surface);letter-spacing:.04em;padding:12px 20px;font-size:1.4rem}.success-card__check{background:var(--c-green-soft);width:56px;height:56px;color:var(--c-green);border-radius:50%;place-items:center;display:grid}.success-card__check svg{width:26px;height:26px}.contact-card{padding:var(--sp-4) 0;border-bottom:1px solid var(--c-line);gap:4px;display:grid}.contact-card a{color:var(--c-ink);overflow-wrap:anywhere;font-size:1.1rem}.contact-card a:hover{color:var(--c-accent-strong)}.portrait{aspect-ratio:4/5;border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-bg-alt);color:var(--c-text-3);font-family:var(--font-mono);text-align:center;place-items:center;padding:16px;font-size:.75rem;display:grid;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.principles{gap:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.principle{padding-top:var(--sp-4);border-top:1px solid var(--c-ink);gap:8px;display:grid}@media (width<=760px){.principles{grid-template-columns:1fr}}.notice-bar{background:var(--c-amber-soft);color:#6b450a;text-align:center;padding:8px var(--gutter);border-bottom:1px solid #e4cf9f;font-size:.8125rem}.case-cover .project-visual{padding:5% 16% 0}.work-card__body{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.work-card__index{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);align-items:center;gap:8px;font-size:.72rem;font-weight:500;display:inline-flex}.work-card__index b{color:var(--c-accent-strong);font-weight:500}.work-card__index span{color:var(--c-line-strong)}.work-card__media{transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease)}.work-card:hover .work-card__media{border-color:#4f46e559;box-shadow:0 18px 40px -26px #4f46e573}.work-card--feature{gap:var(--sp-7);padding-bottom:var(--sp-6);border-bottom:1px solid var(--c-line);grid-column:1/-1;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;display:grid}.work-card--feature .work-card__title{letter-spacing:-.03em;font-size:clamp(1.5rem,2.4vw,2rem)}.work-card--feature .work-card__desc{font-size:1.02rem}@media (width<=900px){.work-card--feature{gap:var(--sp-4);grid-template-columns:1fr}}.section--ink{isolation:isolate;position:relative}.section--ink:before{content:"";z-index:-1;background:radial-gradient(40% 50% at 100% 0%, #7c3aed24, transparent 70%), linear-gradient(var(--grid-line-ink) 1px, transparent 1px) 0 0 / var(--grid-size) var(--grid-size), linear-gradient(90deg, var(--grid-line-ink) 1px, transparent 1px) 0 0 / var(--grid-size) var(--grid-size);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#00000059);mask-image:linear-gradient(#000,#00000059)}.section--ink:after,.footer:before{content:"";background:var(--grad-line);opacity:.7;height:1px;position:absolute;top:0;left:0;right:0}.why-item{transition:background var(--t) var(--ease)}.why-item:hover{background:#a5b4fc0a}.cta-band:after{content:"";pointer-events:none;background:radial-gradient(34% 60% at 88% 100%,#4f46e547,#0000 70%),radial-gradient(28% 50% at 70% 0,#7c3aed29,#0000 70%);position:absolute;inset:0}.cta-band__inner{z-index:1}.footer{position:relative}.service-card__top .mono{color:var(--c-accent-strong)}.service-card__icon{transition:color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease)}.service-card:hover .service-card__icon{color:var(--c-accent);background:var(--c-accent-wash);border-color:#4f46e573}.service-card__features li:before{background:var(--c-accent);opacity:.7}.plan--highlight .plan__features svg{color:var(--c-accent-on-ink)}.plan--highlight{background:radial-gradient(60% 50% at 100% 0%, #4f46e547, transparent 70%), var(--c-ink)}.section-head__title em{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--c-accent-strong);font-style:italic;font-weight:400}.section--ink .section-head__title em{color:var(--c-accent-on-ink)}.project-visual__caption{left:auto;right:7%}.app-shell{background:var(--c-bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--c-ink);height:100vh;color:var(--c-on-ink-2);border-right:1px solid var(--c-ink-line);z-index:60;flex-direction:column;display:flex;position:sticky;top:0}.app-sidebar__brand{border-bottom:1px solid var(--c-ink-line);justify-content:space-between;align-items:center;height:60px;padding:0 18px;display:flex}.app-sidebar__nav{scrollbar-width:thin;scrollbar-color:var(--c-ink-3) transparent;flex:1;padding:12px 10px 20px;overflow-y:auto}.app-sidebar__group+.app-sidebar__group{margin-top:14px}.app-sidebar__group-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#a3a9c9bf;padding:6px 10px;font-size:.64rem;display:block}.app-sidebar__list{gap:1px;margin:0;padding:0;list-style:none;display:grid}.side-link{border-radius:var(--r-sm);color:var(--c-on-ink-2);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:11px;padding:8px 10px;font-size:.875rem;display:flex;position:relative}.side-link svg{flex:none;width:16px;height:16px}.side-link:hover{color:var(--c-on-ink);background:#e2e6ff0f}.side-link.active{color:#fff;background:#e2e6ff1a}.side-link.active:before{content:"";background:linear-gradient(180deg, var(--c-accent-on-ink), var(--c-violet));width:2px;position:absolute;top:8px;bottom:8px;left:-10px}.side-link__badge{background:var(--c-accent);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:auto;padding:1px 6px;font-size:.68rem;font-weight:600}.app-sidebar__foot{border-top:1px solid var(--c-ink-line);align-items:center;gap:10px;padding:12px;font-size:.8rem;display:flex}.app-sidebar__foot .avatar{background:var(--c-accent)}.app-sidebar__user{flex:1;min-width:0}.app-sidebar__user strong{color:var(--c-on-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.app-sidebar__user span{font-size:.72rem}.app-sidebar .btn--ghost{--btn-fg:var(--c-on-ink-2)}.app-sidebar .btn--ghost:hover{--btn-bg:#e2e6ff14;--btn-fg:#fff}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{z-index:50;border-bottom:1px solid var(--c-line);background:#f7f8fcf7;align-items:center;gap:12px;height:60px;padding:0 clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.app-topbar__menu{display:none}.app-topbar__crumb{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-3);font-size:.72rem}.app-topbar__actions{align-items:center;gap:6px;margin-left:auto;display:flex}.app-content{width:100%;max-width:1440px;padding:clamp(16px,3vw,32px) clamp(16px,3vw,32px) 64px}.sidebar-backdrop{display:none}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.app-sidebar{width:272px;transition:transform var(--t) var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.app-shell.sidebar-open .app-sidebar{transform:none}.app-shell.sidebar-open .sidebar-backdrop{z-index:55;background:#11152e66;display:block;position:fixed;inset:0}.app-topbar__menu{display:inline-flex}}.notif-btn{position:relative}.notif-btn__count{background:var(--c-accent);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:3px;right:3px}.notif-panel{width:min(380px,100vw - 24px);padding:0;right:-8px}.notif-panel__head{border-bottom:1px solid var(--c-line-soft);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-list{max-height:420px;margin:0;padding:4px;list-style:none;overflow-y:auto}.notif-item{text-align:left;border-radius:var(--r-sm);background:0 0;border:0;gap:10px;width:100%;padding:10px;font-size:.8125rem;display:flex}.notif-item:hover{background:var(--c-bg-alt)}.notif-item__dot{background:0 0;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notif-item.is-unread .notif-item__dot{background:var(--c-accent)}.notif-item.is-unread strong{color:var(--c-ink)}.notif-item strong{color:var(--c-text-2);font-weight:500;display:block}.notif-item span{color:var(--c-text-3);font-size:.75rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-header__title{letter-spacing:-.03em;font-size:clamp(1.4rem,2.4vw,1.85rem)}.page-header__sub{color:var(--c-text-2);margin-top:4px;font-size:.9rem}.page-header__actions{flex-wrap:wrap;gap:8px;display:flex}.back-link{color:var(--c-text-2);align-items:center;gap:6px;margin-bottom:10px;font-size:.8125rem;display:inline-flex}.back-link:hover{color:var(--c-ink)}.toolbar{border-bottom:1px solid var(--c-line-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.toolbar .select{width:auto;min-width:140px}.kpis{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0;display:grid;overflow:hidden}.kpi{border-right:1px solid var(--c-line-soft);border-bottom:1px solid var(--c-line-soft);transition:background var(--t-fast);flex-direction:column;gap:6px;margin:0 -1px -1px 0;padding:16px 18px;display:flex}a.kpi:hover{background:var(--c-surface-2)}.kpi__label{color:var(--c-text-2);align-items:center;gap:8px;font-size:.78rem;display:flex}.kpi__label svg{color:var(--c-text-3)}.kpi__value{letter-spacing:-.03em;color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:500;line-height:1.15}.kpi__meta{font-family:var(--font-mono);color:var(--c-text-3);font-size:.68rem}.kpi--alert .kpi__value{color:var(--c-red)}.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}@media (width<=1100px){.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}}.detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}@media (width<=1100px){.detail-layout{grid-template-columns:1fr}}.mini-list{margin:0;padding:0;list-style:none}.mini-list li{border-bottom:1px solid var(--c-line-soft);overflow-wrap:anywhere;align-items:center;gap:12px;padding:11px 18px;font-size:.875rem;display:flex}.mini-list li:last-child{border-bottom:0}.mini-list a:hover .mini-list__title{color:var(--c-accent-strong)}.mini-list__title{min-width:0;color:var(--c-ink);font-weight:500}.mini-list__sub{color:var(--c-text-3);font-size:.75rem;display:block}.mini-list__link{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.chart{margin:0;position:relative}.chart__svg{width:100%;height:auto;display:block;overflow:visible}.chart__grid{stroke:var(--c-line-soft);stroke-width:1px}.chart__base{stroke:var(--c-line-strong);stroke-width:1px}.chart__tick{font-family:var(--font-mono);fill:var(--c-text-3);font-size:10px}.chart__bar{fill:var(--c-accent);transition:fill var(--t-fast)}.chart__bar.is-active{fill:var(--c-electric)}.chart__tooltip{background:var(--c-ink);color:var(--c-on-ink);border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;text-align:center;z-index:3;gap:1px;padding:6px 10px;font-size:.78rem;display:grid;position:absolute;top:-6px;transform:translate(-50%,-100%)}.chart__tooltip-label{color:var(--c-on-ink-2);font-size:.68rem}.chart__focus-row{pointer-events:none;position:absolute;inset:0}.chart__focus{opacity:0;pointer-events:auto;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0}.chart-empty{border:1px dashed var(--c-line);border-radius:var(--r-sm);color:var(--c-text-3);text-align:center;place-items:center;padding:16px;font-size:.85rem;display:grid}.breakdown{gap:10px;margin:0;padding:0;list-style:none;display:grid}.breakdown__row{grid-template-columns:minmax(90px,140px) 1fr auto;align-items:center;gap:12px;font-size:.8125rem;display:grid}.breakdown__label{color:var(--c-text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.breakdown__track{background:var(--c-bg-alt);border-radius:4px;height:8px;overflow:hidden}.breakdown__bar{background:var(--c-accent);border-radius:0 4px 4px 0;height:100%;display:block}.breakdown__value{font-variant-numeric:tabular-nums;color:var(--c-text);text-align:right;min-width:40px;font-weight:500}.kanban{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.kanban__col{background:var(--c-bg-alt);border:1px solid var(--c-line-soft);border-radius:var(--r);min-height:200px;max-height:calc(100vh - 230px);transition:background var(--t-fast), border-color var(--t-fast);flex-direction:column;display:flex}.kanban__col.is-over{background:var(--c-accent-wash);border-color:var(--c-accent)}.kanban__head{border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.kanban__title{color:var(--c-ink);align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.kanban__list{gap:8px;margin:0;padding:8px;list-style:none;display:grid;overflow-y:auto}.kanban__card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-sm);cursor:grab;transition:box-shadow var(--t-fast), border-color var(--t-fast);gap:8px;padding:11px 12px;font-size:.8125rem;display:grid}.kanban__card:hover{border-color:var(--c-line-strong);box-shadow:var(--shadow-sm)}.kanban__card.is-dragging{opacity:.5}.kanban__card-title{color:var(--c-ink);font-size:.875rem;font-weight:500;line-height:1.35}.kanban__card-meta{color:var(--c-text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;display:flex}.kanban__empty{text-align:center;color:var(--c-text-3);padding:20px 8px;font-size:.78rem}.overdue{font-weight:500;color:var(--c-red)!important}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--c-line);width:1px;position:absolute;top:6px;bottom:6px;left:7px}.timeline li{padding:0 0 18px 28px;font-size:.8125rem;position:relative}.timeline li:before{content:"";background:var(--c-surface);border:2px solid var(--c-ink-3);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:3px}.timeline li:first-child:before{border-color:var(--c-accent)}.timeline__time{font-family:var(--font-mono);color:var(--c-text-3);font-size:.68rem;display:block}.milestones{margin:0;padding:0;list-style:none}.milestone{border-bottom:1px solid var(--c-line-soft);grid-template-columns:34px 1fr auto;align-items:start;gap:4px 14px;padding:14px 18px;display:grid}.milestone:last-child{border-bottom:0}.milestone__node{border:1.5px solid var(--c-line-strong);background:var(--c-surface);width:28px;height:28px;font-family:var(--font-mono);color:var(--c-text-2);border-radius:50%;place-items:center;font-size:.68rem;display:grid}.milestone--completed .milestone__node{background:var(--c-green);border-color:var(--c-green);color:#fff}.milestone--in_progress .milestone__node{border-color:var(--c-accent);color:var(--c-accent-strong);box-shadow:0 0 0 3px var(--c-accent-soft)}.milestone__title{color:var(--c-ink);font-weight:500}.milestone__desc{color:var(--c-text-2);font-size:.8125rem}.milestone__body{gap:6px;min-width:0;display:grid}.deliverables{gap:4px;margin:4px 0 0;padding:0;font-size:.8rem;list-style:none;display:grid}.deliverables li{color:var(--c-text-2);align-items:center;gap:8px;display:flex}.deliverables li.done{color:var(--c-green)}.chat{border:1px solid var(--c-line);border-radius:var(--r);background:var(--c-surface);grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 170px);min-height:480px;display:grid;overflow:hidden}.chat__list{border-right:1px solid var(--c-line);flex-direction:column;min-height:0;display:flex}.chat__list-items{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.chat__conv{border:0;border-bottom:1px solid var(--c-line-soft);text-align:left;background:0 0;gap:10px;width:100%;padding:12px 14px;font-size:.8125rem;display:flex}.chat__conv:hover{background:var(--c-surface-2)}.chat__conv.active{background:var(--c-bg-alt);box-shadow:inset 2px 0 0 var(--c-accent)}.chat__conv-title{color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.chat__conv-preview{color:var(--c-text-3);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.chat__thread{flex-direction:column;min-height:0;display:flex}.chat__thread-head{border-bottom:1px solid var(--c-line);align-items:center;gap:10px;padding:12px 16px;display:flex}.chat__messages{background:var(--c-bg);flex-direction:column;flex:1;gap:12px;padding:20px 16px;display:flex;overflow-y:auto}.msg{gap:4px;max-width:min(560px,80%);display:grid}.msg__bubble{background:var(--c-surface);border:1px solid var(--c-line);white-space:pre-wrap;word-break:break-word;border-radius:10px 10px 10px 2px;padding:10px 14px;font-size:.875rem}.msg--mine{align-self:flex-end}.msg--mine .msg__bubble{background:var(--c-ink);color:var(--c-on-ink);border-color:var(--c-ink);border-radius:10px 10px 2px}.msg__meta{color:var(--c-text-3);font-size:.7rem}.msg--mine .msg__meta{text-align:right}.msg__files{flex-wrap:wrap;gap:6px;display:flex}.msg__file{border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-ink);align-items:center;gap:6px;padding:5px 9px;font-size:.75rem;display:inline-flex}.msg--mine .msg__file{background:var(--c-ink-2);color:var(--c-on-ink);border-color:var(--c-ink-3)}.chat__composer{border-top:1px solid var(--c-line);background:var(--c-surface);gap:8px;padding:10px 12px;display:grid}.chat__composer-row{align-items:flex-end;gap:8px;display:flex}.chat__composer textarea{resize:none;min-height:44px;max-height:160px}.chat__day{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-text-3);align-self:center;font-size:.66rem}@media (width<=820px){.chat{grid-template-columns:1fr;height:auto;min-height:0}.chat.has-active .chat__list,.chat:not(.has-active) .chat__thread{display:none}.chat__messages{height:55vh}}.client-shell{background:var(--c-bg);min-height:100vh}.client-header{z-index:50;background:var(--c-ink);color:var(--c-on-ink);position:sticky;top:0}.client-header__top{align-items:center;gap:16px;height:60px;display:flex}.client-header__account{flex-wrap:nowrap;min-width:0}.client-header__company{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}@media (width<=640px){.client-header__label{display:none}.client-header__company{max-width:38vw}}.client-header .btn--ghost{--btn-fg:var(--c-on-ink-2)}.client-header .btn--ghost:hover{--btn-bg:#e2e6ff14;--btn-fg:#fff}.client-nav{scrollbar-width:none;border-top:1px solid var(--c-ink-line);gap:2px;display:flex;overflow-x:auto}.client-nav::-webkit-scrollbar{display:none}.client-nav a{color:var(--c-on-ink-2);white-space:nowrap;align-items:center;gap:8px;padding:12px;font-size:.85rem;display:inline-flex;position:relative}.client-nav a svg{width:15px;height:15px}.client-nav a:hover,.client-nav a.active{color:#fff}.client-nav a.active:after{content:"";background:var(--c-accent);height:2px;position:absolute;bottom:0;left:12px;right:12px}.client-main{padding-block:32px 72px}.client-header .notif-btn .btn{--btn-fg:var(--c-on-ink-2)}.hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.hello h1{letter-spacing:-.035em;font-size:clamp(1.6rem,3vw,2.3rem)}.progress-hero{grid-template-columns:auto 1fr;align-items:center;gap:28px;padding:24px;display:grid}.progress-ring{width:132px;height:132px;position:relative}.progress-ring svg{display:block;transform:rotate(-90deg)}.progress-ring__track{stroke:var(--c-bg-alt)}.progress-ring__value{stroke:var(--c-accent);transition:stroke-dashoffset var(--t-slow) var(--ease)}.progress-ring__label{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.progress-ring__label strong{letter-spacing:-.04em;color:var(--c-ink);font-size:2rem;font-weight:500;line-height:1}.progress-ring__label span{font-family:var(--font-mono);color:var(--c-text-3);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}@media (width<=560px){.progress-hero{grid-template-columns:1fr;justify-items:start}}.auth-shell{grid-template-columns:1fr minmax(360px,520px);min-height:100vh;display:grid}.auth-shell__art{background-color:var(--c-ink);--grid-line:#e2e6ff0f;color:var(--c-on-ink);align-items:flex-end;padding:56px;display:flex;position:relative}.auth-shell__art-inner{gap:20px;max-width:460px;display:grid}.auth-shell__art .label{color:var(--c-on-ink-2)}.auth-shell__quote{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1}.auth-shell__quote em{font-family:var(--font-serif);color:var(--c-accent-on-ink);font-weight:400}.auth-shell__list{color:var(--c-on-ink-2);gap:8px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.auth-shell__list li:before{content:"→ ";color:var(--c-accent-on-ink);font-family:var(--font-mono)}.auth-shell__main{background:var(--c-bg);place-items:center;padding:32px 24px;display:grid}.auth-card{width:min(400px,100%)}.auth-card__footer{border-top:1px solid var(--c-line);color:var(--c-text-2);margin-top:28px;padding-top:20px;font-size:.85rem}.demo-accounts{margin-top:24px;font-size:.8rem}@media (width<=860px){.auth-shell{grid-template-columns:1fr}.auth-shell__art{display:none}}.line-items{gap:8px;display:grid}.line-item{border:1px solid var(--c-line-soft);border-radius:var(--r-sm);background:var(--c-surface-2);grid-template-columns:minmax(0,1fr) 80px 130px 120px 36px;align-items:start;gap:8px;padding:10px;display:grid}.line-item__amount{text-align:right;font-variant-numeric:tabular-nums;padding-top:10px;font-size:.875rem;font-weight:500}.line-item__head{grid-template-columns:minmax(0,1fr) 80px 130px 120px 36px;gap:8px;padding:0 10px;display:grid}@media (width<=760px){.line-item,.line-item__head{grid-template-columns:1fr 1fr}.line-item>:first-child{grid-column:1/-1}.line-item__head{display:none}.line-item__amount{text-align:left}}.totals-box{gap:8px;width:min(360px,100%);margin-left:auto;font-size:.875rem;display:grid}.totals-box>div{justify-content:space-between;display:flex}.totals-box__total{border-top:1px solid var(--c-ink);color:var(--c-ink);padding-top:8px;font-size:1.05rem;font-weight:600}.repeater{gap:10px;display:grid}.repeater__item{border:1px solid var(--c-line-soft);border-radius:var(--r-sm);background:var(--c-surface-2);padding:14px 48px 14px 14px;position:relative}.repeater__remove{position:absolute;top:10px;right:8px}.image-field{align-items:center;gap:12px;display:flex}.image-field__preview{border:1px solid var(--c-line);border-radius:var(--r-xs);background:var(--c-bg-alt);flex:none;width:72px;height:52px;overflow:hidden}.image-field__preview img{object-fit:cover;width:100%;height:100%}.editor-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}@media (width<=1100px){.editor-layout{grid-template-columns:1fr}}.markdown-preview{border:1px solid var(--c-line);border-radius:var(--r-sm);background:#fff;min-height:300px;padding:16px}.sticky-panel{position:sticky;top:76px}.status-select{background-position:right 8px center;width:auto;min-height:30px;padding:3px 28px 3px 8px;font-size:.78rem}.callout{border:1px dashed var(--c-amber);border-radius:var(--r-sm);color:#6b450a;background:#f3e5c659;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:.8125rem;display:flex}.chat-back{display:none}@media (width<=820px){.chat-back{display:inline-flex}}.page-header__title,.page-header__sub,.panel__title,.panel__foot,.milestone__title,.milestone__desc,.pre-line,.tags,.timeline,.kpi__value,.kpi__label,.link-btn,.panel,.callout,.doc{overflow-wrap:anywhere}.table{overflow-wrap:normal}.doc{width:100%}.doc-table-wrap{overflow-x:auto}.doc-dates>div{grid-template-columns:100px minmax(0,1fr)}.page-header>*,.page-header .row>*,.panel__head>*,.panel__body>.row>*,.detail-layout>*,.dash-grid>*,.milestone__body>*,.doc-head>*,.doc-parties>*,.stack>*,.doc{min-width:0}:where(.panel__head,.page-header .row,.panel__body>.row,.milestone__body)>:where(.badge,.btn,.demo-flag){flex-shrink:0;min-width:auto}.chart{overflow-x:clip}.input-with-action{position:relative}.input-with-action .input{padding-right:44px}.input-action{border-radius:var(--r-sm);width:32px;height:32px;color:var(--c-text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-action:hover{color:var(--c-ink);background:var(--c-bg-alt)}.service-card__title,.work-card__title,.plan__name{letter-spacing:-.015em}.plan__name{font-size:var(--fs-lg)}.doc{border:1px solid var(--c-line);border-radius:var(--r);color:var(--c-text);background:#fff;max-width:900px;margin-inline:auto;padding:clamp(24px,5vw,56px);font-size:.9375rem}.doc address{color:var(--c-text-2);flex-direction:column;gap:2px;font-size:.875rem;font-style:normal;display:flex}.doc address strong{color:var(--c-ink)}.doc-head{border-bottom:2px solid var(--c-ink);flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:24px;display:flex}.doc-brand{color:var(--c-ink);align-items:center;gap:10px;margin-bottom:10px;font-size:1.1rem;font-weight:600;display:flex}.doc-meta{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.doc-kind{letter-spacing:-.03em;color:var(--c-ink);font-size:1.6rem;font-weight:500}.doc-title{margin:28px 0 8px;font-size:1.6rem}.doc-parties{flex-wrap:wrap;justify-content:space-between;gap:24px;margin:24px 0;display:flex}.doc-parties .label{margin-bottom:8px;display:block}.doc-dates{gap:6px;margin:0;font-size:.875rem;display:grid}.doc-dates>div{grid-template-columns:100px auto;gap:12px;display:grid}.doc-dates dt{color:var(--c-text-3)}.doc-dates dd{color:var(--c-ink);margin:0;font-weight:500}.doc-section{margin-top:28px}.doc-section h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text-3);border-bottom:1px solid var(--c-line-soft);margin-bottom:12px;padding-bottom:8px;font-size:.72rem;font-weight:500}.doc-table{border-collapse:collapse;width:100%;font-size:.875rem}.doc-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--c-text-3);border-bottom:1px solid var(--c-line);padding:8px 0;font-size:.68rem;font-weight:500}.doc-table td{border-bottom:1px solid var(--c-line-soft);vertical-align:top;padding:12px 0}.doc-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:12px}.doc-table strong{color:var(--c-ink);font-weight:500}.doc-sub{color:var(--c-text-3);margin-top:2px;font-size:.8rem;display:block}.doc-totals{gap:8px;width:min(340px,100%);margin:16px 0 0 auto;font-size:.9rem;display:grid}.doc-totals>div{justify-content:space-between;gap:16px;display:flex}.doc-totals dt{color:var(--c-text-2)}.doc-totals dd{font-variant-numeric:tabular-nums;margin:0}.doc-totals__total{border-top:1px solid var(--c-ink);padding-top:10px;font-size:1.1rem;font-weight:600}.doc-totals__total dt{color:var(--c-ink)}.doc-totals__due{background:var(--c-accent-wash);border-radius:var(--r-sm);color:var(--c-accent-strong);margin-top:4px;padding:10px 12px;font-weight:600}.doc-totals__due dt{color:var(--c-accent-strong)}.doc-milestones{margin:0;padding:0;list-style:none;display:grid}.doc-milestones li{border-bottom:1px solid var(--c-line-soft);grid-template-columns:36px 1fr auto;gap:12px;padding:12px 0;display:grid}.doc-milestones li .mono{color:var(--c-accent-strong)}.doc-milestones p{color:var(--c-text-2);margin-top:2px;font-size:.85rem}.doc-milestones__meta{color:var(--c-text-3);white-space:nowrap;font-size:.8rem}.doc-small{color:var(--c-text-2);font-size:.8rem}.doc-pay__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:12px;display:grid}.doc-signature{border:1px dashed var(--c-green);border-radius:var(--r-sm);background:var(--c-green-soft);padding:16px}.doc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:900px;margin:0 auto 16px;display:flex}.doc-page{min-height:100vh;padding-block:32px 64px}.doc-respond{max-width:900px;margin:20px auto 0}@media print{@page{margin:14mm}body{background:#fff!important}.no-print,.nav,.footer,.app-sidebar,.app-topbar,.toasts,.client-nav,.doc-toolbar,.doc-respond{display:none!important}.app-main,.app-content,.client-main{margin:0!important;padding:0!important}.app-shell{display:block!important}.doc{border:0;max-width:none;padding:0;font-size:11pt}.doc-page{padding:0}.badge{border:1px solid}}
