@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#f6f8fa;--bg-surface:#fff;--bg-surface-alt:#f1f4f8;--bg-dark:#070d16;--bg-dark-soft:#0a1420;--bg-dark-deep:#05090f;--bg-dark-raised:#0d1826;--text-primary:#0e1b2c;--text-secondary:#5b6472;--text-muted:#67707e;--text-on-dark:#edf2f9;--text-on-dark-2:#9fb0c7;--text-on-dark-3:#6e7e94;--link:#1a5ecb;--link-hover:#164fa8;--link-on-dark:#4d9fff;--accent:#1f6feb;--accent-hover:#1a5ecb;--accent-pressed:#164fa8;--accent-bright:#4d9fff;--accent-pale:#9bc7ff;--accent-soft:#edf3fd;--accent-glow:#1f6feb24;--border:#e3e7ec;--border-strong:#c9d2de;--border-header:#e9edf2;--border-on-dark:#ffffff14;--border-on-dark-strong:#ffffff29;--panel-on-dark:#ffffff08;--panel-on-dark-2:#ffffff0d;--success:#0b7a55;--warning:#b45309;--error:#b91c1c;--success-on-dark:#2fbf8f;--warning-on-dark:#e8a33d;--focus-ring:3px solid #1f6feb;--focus-ring-on-dark:3px solid #9bc7ff;--focus-offset:2px;--font-display:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display:clamp(32px, 5.6vw, 66px);--fs-h2:clamp(30px, 4vw, 44px);--fs-h3:24px;--fs-h4:18px;--fs-body:16px;--fs-small:14px;--fs-caption:12.5px;--lh-tight:1.12;--lh-heading:1.3;--lh-body:1.6;--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:104px;--radius-s:10px;--radius-m:16px;--radius-l:18px;--radius-pill:999px;--radius-panel:28px;--panel-gutter:16px;--shadow-s:0 1px 2px #0e1b2c0f;--shadow-m:0 8px 24px #0e1b2c1a;--shadow-header:0 6px 24px #0e1b2c12;--shadow-dropdown:0 18px 48px #0e1b2c29;--container:1200px;--container-pad:24px;--header-height:70px;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.16s;--dur-base:.25s}@media (width<=960px){:root{--radius-panel:20px;--panel-gutter:8px;--container-pad:20px;--sp-10:68px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;line-height:var(--lh-heading);font-weight:700}h4,h5,h6{font-weight:600;line-height:var(--lh-heading)}h1{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:-.03em}h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}a{color:var(--link)}a:hover{color:var(--link-hover)}img,svg,video{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:4px}::selection{background:#1f6feb3d}.skip-link{left:var(--sp-4);top:var(--sp-2);z-index:200;background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-small);border-radius:var(--radius-pill);box-shadow:var(--shadow-dropdown);transition:transform var(--dur-base);padding:12px 20px;font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.wrap{max-width:var(--container);padding:0 var(--container-pad);z-index:1;margin:0 auto;position:relative}.section{padding:var(--sp-10) 0;position:relative}.section--tight{padding-top:40px}.section-head{max-width:680px;margin-bottom:52px}.section-head h2{margin-bottom:14px}.section-head--compact{margin-bottom:34px}.section-head p{color:var(--text-secondary);font-size:16.5px}.js .rv{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.js .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transition:none;transform:none}}.panel-dark{background:var(--bg-dark);color:var(--text-on-dark);border-radius:var(--radius-panel);margin:0 var(--panel-gutter);position:relative;overflow:hidden}.panel-dark--soft{background:var(--bg-dark-soft)}.panel-dark h1,.panel-dark h2,.panel-dark h3,.panel-dark h4{color:var(--text-on-dark)}.panel-dark p{color:var(--text-on-dark-2)}.panel-dark a:not(.btn){color:var(--link-on-dark)}.panel-dark :focus-visible{outline:var(--focus-ring-on-dark)}.panel-bg{pointer-events:none;position:absolute;inset:0}.panel-bg .grid-floor{background-image:linear-gradient(#4d9fff0e 1px,#0000 1px),linear-gradient(90deg,#4d9fff0e 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(900px 520px at 68% 30%,#000 20%,#0000 70%);mask-image:radial-gradient(900px 520px at 68% 30%,#000 20%,#0000 70%)}.aurora{pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.aurora--1{background:radial-gradient(circle,#1f6feb38,#0000 62%);width:760px;height:760px;animation:16s ease-in-out infinite alternate aurora-drift-1;top:-300px;left:-220px}.aurora--2{background:radial-gradient(circle,#4d9fff24,#0000 60%);width:640px;height:640px;animation:20s ease-in-out infinite alternate aurora-drift-2;top:-80px;right:-180px}.aurora--3{background:radial-gradient(circle,#1f6feb33,#0000 62%);width:800px;height:800px;top:-420px;left:50%;transform:translate(-50%)}@keyframes aurora-drift-1{to{transform:translate(70px,50px)scale(1.08)}}@keyframes aurora-drift-2{to{transform:translate(-60px,60px)scale(.94)}}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin-bottom:12px;font-size:12px;font-weight:650;display:block}.panel-dark .eyebrow{color:var(--accent-bright)}.grad-text{background:linear-gradient(92deg,#164fa8,#2e7bf0);color:#0000;-webkit-background-clip:text;background-clip:text}.panel-dark .grad-text{background:linear-gradient(92deg,#4d9fff 10%,#9bc7ff 55%,#7fadf5 90%);color:#0000;-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:reduce){.aurora{animation:none!important}}.btn{font-family:var(--font-body);letter-spacing:.01em;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;min-height:50px;transition:transform var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);border:none;justify-content:center;align-items:center;gap:9px;padding:0 28px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn .ar{transition:transform .2s;display:inline-block}.btn:hover .ar{transform:translate(4px)}.btn-primary{background:var(--text-primary);color:#fff;box-shadow:0 6px 18px #0e1b2c33}.btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px #0e1b2c47}.btn-ghost{color:var(--text-primary);border:1.5px solid var(--border-strong);background:0 0}.btn-ghost:hover{color:var(--text-primary);border-color:var(--text-primary);transform:translateY(-1px)}.panel-dark .btn-primary{color:var(--text-primary);background:#fff;box-shadow:inset 0 1px #fff6,0 10px 30px #00000059}.panel-dark .btn-primary:hover{color:var(--text-primary);box-shadow:inset 0 1px #fff6,0 14px 36px #00000073}.panel-dark .btn-ghost{color:var(--text-on-dark);border-color:#ffffff47}.panel-dark .btn-ghost:hover{color:var(--text-on-dark);border-color:#ffffff8c}.btn-sm{min-height:42px;padding:0 20px;font-size:14px}@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}.site-header{z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border-header);transition:box-shadow var(--dur-base);position:sticky;top:0}.site-header.is-scrolled{box-shadow:var(--shadow-header)}.site-nav{height:var(--header-height);align-items:center;gap:26px;display:flex}.logo{color:var(--text-primary);flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.logo-svg{width:auto;height:38px;display:block}.site-footer .logo-svg{height:44px}@media (width<=480px){.logo-svg{height:32px}}.nav-primary{margin-left:auto}.nav-links{align-items:center;gap:2px;display:flex}.nav-links>li{position:relative}.nav-link{color:#445062;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 13px;font-size:14.5px;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.nav-link:hover{color:var(--text-primary);background:var(--bg-surface-alt)}.nav-link[aria-current=page]{color:var(--text-primary);font-weight:600}.nav-link .caret{flex-shrink:0;width:9px;height:9px;transition:transform .2s}.nav-link[aria-expanded=true]{color:var(--text-primary);background:var(--bg-surface-alt)}.nav-link[aria-expanded=true] .caret{transform:rotate(180deg)}.nav-dropdown{width:640px;padding:var(--sp-2);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);opacity:0;visibility:hidden;transition:opacity var(--dur-base), transform var(--dur-base), visibility var(--dur-base);position:absolute;top:calc(100% + 10px);left:0;transform:translateY(-6px)}.nav-dropdown[data-open=true]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-grid{gap:2px var(--sp-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.nav-dropdown a{border-radius:var(--radius-s);color:var(--text-primary);padding:10px 14px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .15s;display:block}.nav-dropdown a span{color:var(--text-secondary);margin-top:2px;font-size:12.5px;font-weight:400;line-height:1.45;display:block}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--accent-soft);color:var(--text-primary)}.nav-dropdown .dropdown-foot{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border)}.nav-dropdown .dropdown-foot a{color:var(--link);font-size:13.5px;display:inline-block}.lang-switch{color:var(--text-muted);flex-shrink:0;align-items:center;gap:4px;font-size:13px;display:inline-flex}.lang-switch b{color:var(--text-primary);font-weight:600}.lang-switch a{min-height:44px;color:inherit;border-radius:8px;justify-content:center;align-items:center;margin:0 -6px;padding:0 6px;text-decoration:none;display:inline-flex}.lang-switch a:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.nav-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin-left:auto;display:none}.nav-toggle span{background:currentColor;width:17px;height:1.5px;transition:transform .2s,background .2s;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";background:currentColor;width:17px;height:1.5px;transition:transform .2s;position:absolute;left:0}.nav-toggle span:before{top:-5px}.nav-toggle span:after{top:5px}.nav-toggle[aria-expanded=true] span{background:0 0}.nav-toggle[aria-expanded=true] span:before{transform:translateY(5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{transform:translateY(-5px)rotate(-45deg)}.mobile-nav{border-top:1px solid var(--border);background:var(--bg-surface);max-height:calc(100dvh - var(--header-height));display:none;overflow-y:auto}.mobile-nav[data-open=true]{display:block}.mobile-nav ul{padding:var(--sp-3) 0 var(--sp-5)}.mobile-nav a{color:var(--text-primary);border-bottom:1px solid var(--border);padding:13px 0;font-size:16px;font-weight:600;text-decoration:none;display:block}.mobile-nav .sub a{padding-left:var(--sp-4);color:var(--text-secondary);font-size:14.5px;font-weight:500}.mobile-nav .mobile-cta{align-items:center;gap:var(--sp-4);padding-top:var(--sp-5);flex-wrap:wrap;display:flex}@media (width>=961px){.mobile-nav{display:none!important}}@media (width<=960px){.nav-primary,.site-nav>.btn,.site-nav>.lang-switch{display:none}.nav-toggle{display:inline-flex}}.site-footer{background:var(--bg-dark-deep);border-top:1px solid var(--border-on-dark);padding:var(--sp-8) 0 var(--sp-6);font-size:var(--fs-small);color:var(--text-on-dark-2)}.site-footer .logo{color:#fff}.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;display:grid}.footer-grid h2{color:#fff;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:650;line-height:1.4}.footer-grid li{margin-bottom:8px}.footer-grid a{color:var(--text-on-dark-2);text-decoration:none}.footer-grid a:hover{color:#fff}.footer-req{color:var(--text-on-dark-3);margin-top:14px;font-size:13px;line-height:1.7}.footer-req a{color:var(--text-on-dark-2);text-decoration:none}.footer-req a:hover{color:#fff}.footer-bottom{justify-content:space-between;gap:var(--sp-4);border-top:1px solid var(--border-on-dark);color:var(--text-on-dark-3);flex-wrap:wrap;padding-top:22px;font-size:13px;display:flex}.footer-bottom nav{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.lang-switch--footer{color:var(--text-on-dark-3)}.lang-switch--footer b{color:#fff}.lang-switch--footer a{min-height:32px;color:var(--text-on-dark-2)}.lang-switch--footer a:hover{color:#fff}.footer-bottom a{color:var(--text-on-dark-2);text-decoration:none}.footer-bottom a:hover{color:#fff}.site-footer :focus-visible{outline:var(--focus-ring-on-dark)}@media (width<=960px){.footer-grid{gap:var(--sp-6) var(--sp-5);grid-template-columns:1fr 1fr}}@media (width<=560px){.footer-grid{grid-template-columns:1fr}}.browser{background:var(--bg-dark-raised);border:1px solid var(--border-on-dark-strong);border-radius:14px;position:relative;overflow:hidden;transform:rotate(-1deg);box-shadow:0 40px 90px #0009,0 0 60px #1f6feb1f}.browser-bar{border-bottom:1px solid var(--border-on-dark);background:#101e30;align-items:center;gap:8px;padding:10px 12px;display:flex}.browser-bar .dots{gap:5px;display:flex}.browser-bar .dots i{background:#2b3b52;border-radius:50%;width:9px;height:9px;display:block}.browser-bar .url{background:var(--bg-dark-soft);border:1px solid var(--border-on-dark);color:var(--text-on-dark-3);border-radius:6px;flex:1;padding:4px 10px;font-size:10.5px}.app{background:#f4f6f9;grid-template-columns:146px 1fr;min-height:336px;font-size:10.5px;line-height:1.5;display:grid}.app--single{grid-template-columns:1fr;min-height:280px}.app-side{color:#b9c4d4;background:#0e1b2c;padding:12px 0}.app-side .brand{color:#fff;padding:4px 14px 12px;font-size:11px;font-weight:700}.app-side span{align-items:center;gap:8px;padding:7px 14px;display:flex}.app-side span.active{color:#fff;border-left:2px solid var(--accent-bright);background:#1f6feb40}.app-side i{opacity:.5;background:currentColor;border-radius:3px;width:10px;height:10px}.app-main{padding:14px;position:relative}.app--single .app-main{padding:18px}.app-main .ttl{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.app-main .ttl b{color:#0e1b2c;font-size:12px}.m-btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:5px;padding:3px 9px;font-size:9.5px;font-weight:650}.app-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.app-stats--2{grid-template-columns:repeat(2,1fr)}.app-stat{background:#fff;border:1px solid #e3e7ec;border-radius:8px;padding:8px 10px}.app-stat .v{color:#0e1b2c;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.app-stat .l{color:#8a94a3;font-size:9px}.app-stat .d{color:#0b7a55;font-size:9px;font-weight:600}.bars{align-items:flex-end;gap:4px;height:26px;margin-top:5px;display:flex}.bars i{transform-origin:bottom;animation:bar-grow 1s var(--ease-out) both;background:linear-gradient(#4d9fff,#1f6feb);border-radius:2px 2px 0 0;flex:1}.bars i:first-child{height:40%;animation-delay:.9s}.bars i:nth-child(2){height:62%;animation-delay:1s}.bars i:nth-child(3){height:48%;animation-delay:1.1s}.bars i:nth-child(4){height:78%;animation-delay:1.2s}.bars i:nth-child(5){height:58%;animation-delay:1.3s}.bars i:nth-child(6){height:92%;animation-delay:1.4s}@keyframes bar-grow{0%{transform:scaleY(0)}}.app-tbl{background:#fff;border:1px solid #e3e7ec;border-radius:8px;overflow:hidden}.app-tbl .r{color:#5b6472;border-bottom:1px solid #eef1f5;grid-template-columns:1.35fr 1fr .75fr .75fr;align-items:center;gap:8px;padding:7px 10px;display:grid}.app-tbl .r:last-child{border-bottom:none}.app-tbl .r>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-tbl .r.hd{color:#8a94a3;text-transform:uppercase;letter-spacing:.04em;background:#f6f8fa;font-size:9px;font-weight:600}.app-tbl .r b{color:#0e1b2c;font-weight:600}.pill{border-radius:var(--radius-pill);text-align:center;padding:2px 8px;font-size:8.5px;font-weight:650}.pill.g{color:#0b7a55;background:#e5f3ed}.pill.b{color:#164fa8;background:#edf3fd}.pill.y{color:#b45309;background:#fdf3e7}.app-tbl .r.new-row{animation:row-in .6s 5.2s var(--ease-out) both}@keyframes row-in{0%{opacity:0;transform:translateY(-8px)}}.pill.flip{animation:12s infinite pill-flip}@keyframes pill-flip{0%,58%{color:#b45309;background:#fdf3e7}66%,to{color:#0b7a55;background:#e5f3ed}}.cursor{z-index:5;pointer-events:none;filter:drop-shadow(0 2px 4px #0006);width:14px;height:14px;animation:12s infinite cursor-path;position:absolute}.click-ring{z-index:4;border:2px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;width:26px;height:26px;animation:12s infinite click-ring;position:absolute}@keyframes cursor-path{0%{opacity:0;top:84%;left:78%}6%{opacity:1}18%{top:8.5%;left:88%}24%{top:8.5%;left:88%;transform:scale(.86)}27%{transform:scale(1)}42%{top:46%;left:60%}58%{top:63%;left:71%}64%{top:63%;left:71%;transform:scale(.86)}67%{transform:scale(1)}82%{top:78%;left:40%}94%{opacity:1;top:84%;left:78%}to{opacity:0;top:84%;left:78%}}@keyframes click-ring{23%,63%{opacity:0;transform:scale(.4)}26%,66%{opacity:.8;transform:scale(1)}30%,70%{opacity:0;transform:scale(1.5)}to{opacity:0}}.browser--flat{transform:none}.board{color:#5b6472;background:#f4f6f9;grid-template-columns:1fr 1fr 64px;gap:10px;padding:12px 0 14px 12px;font-size:10.5px;line-height:1.45;display:grid;overflow:hidden}.board-col{background:#eef1f5;border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:8px;display:flex}.board-col--edge{border-radius:10px 0 0 10px}.board-head{color:#0e1b2c;white-space:nowrap;align-items:center;gap:7px;padding:2px 2px 4px;font-size:11px;font-weight:600;display:flex}.board-head .st{border-radius:50%;flex-shrink:0;width:8px;height:8px}.st--grey{background:#5b6472}.st--blue{background:#1c9ad6}.st--violet{background:#6d5ce8}.board-head .cnt{border-radius:var(--radius-pill);color:#5b6472;text-align:center;background:#e3e7ec;min-width:18px;margin-left:auto;padding:0 6px;font-size:9px}.b-card{background:#fff;border:1px solid #e3e7ec;border-radius:8px;flex-direction:column;gap:5px;padding:9px 10px;display:flex;position:relative;box-shadow:0 1px 2px #0e1b2c0d}.b-card b{color:#0e1b2c;white-space:nowrap;text-overflow:ellipsis;padding-right:16px;font-size:11.5px;font-weight:600;overflow:hidden}.b-card .code{color:#8a94a3;margin-top:-4px;font-size:9.5px}.b-card svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:11px;height:11px}.b-card--new{background:#f1f9fe;border-color:#8fd0f0}.b-card--late{background:#fdf0f0;border-color:#f2b8b8}.b-card .warn{color:#dc2626;width:12px;height:12px;position:absolute;top:9px;right:9px}.b-tag{color:#164fa8;background:#e3f1fc;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:9.5px;display:flex}.b-meta{color:#8a94a3;align-items:center;gap:5px;font-size:9.5px;display:flex}.b-meta--late{color:#dc2626;font-variant-numeric:tabular-nums}.b-prog{background:#e3e7ec;border-radius:2px;height:4px;display:block;overflow:hidden}.b-prog i{transform-origin:0;background:#0b7a55;height:100%;display:block}.b-foot{color:#0e1b2c;font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;font-weight:600;display:flex}.b-foot .av{color:#0b7a55;background:#e5f3ed;border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;font-weight:700;display:grid}.rv.in .b-card--new{animation:row-in .6s .7s var(--ease-out) both}.rv.in .b-prog i{animation:prog-grow 1.1s 1s var(--ease-out) both}@keyframes prog-grow{0%{transform:scaleX(0)}}@media (width<=600px){.board{grid-template-columns:1fr 1fr 14px;gap:7px;padding-left:8px}.board-col{padding:6px}.board-col--edge .board-head{visibility:hidden}.b-card{padding:8px}.b-foot .av{display:none}.b-meta,.b-foot{white-space:nowrap;font-size:9px}.app{grid-template-columns:104px 1fr;min-height:280px}.app-side .brand,.app-side span{padding-left:10px;padding-right:10px}}@media (prefers-reduced-motion:reduce){.cursor,.click-ring{display:none}.bars i,.pill.flip,.app-tbl .r.new-row,.rv.in .b-card--new,.rv.in .b-prog i{animation:none!important}}.hero{margin-top:var(--panel-gutter);margin-bottom:6px;padding:92px 0 110px}.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:center;gap:60px;display:grid}.hero h1{margin-bottom:22px}.hero-lead{max-width:500px;margin-bottom:34px;font-size:18px}.hero-ctas{flex-wrap:wrap;gap:14px;margin-bottom:30px;display:flex}.panel-dark .hero-note{color:var(--text-on-dark-3);font-size:13.5px}.panel-dark .hero-note b{color:var(--text-on-dark-2);font-weight:600}.stage{position:relative}.stage:before{content:"";pointer-events:none;background:radial-gradient(60% 60% at 50% 45%,#1f6feb47,#0000 70%);position:absolute;inset:-8% -6%}.hero-phone{z-index:6;background:var(--bg-dark-raised);border:1px solid var(--border-on-dark-strong);border-radius:22px;width:158px;position:absolute;bottom:-40px;left:-30px;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 60px #000000a6}.hero-phone .p-head{color:#fff;border-bottom:1px solid var(--border-on-dark);background:#0e1b2c;padding:11px 12px 9px}.hero-phone .p-head b{font-size:10px;display:block}.hero-phone .p-head span{color:var(--text-on-dark-2);font-size:7.5px}.hero-phone .p-job{background:#101e30;border-bottom:1px solid #ffffff0d;padding:7px 11px}.hero-phone .p-job b{color:var(--text-on-dark);font-size:8.5px;font-weight:600;display:block}.hero-phone .p-job span{color:var(--text-on-dark-3);font-size:7px}@media (width<=960px){.hero{padding:64px 0 72px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:44px}.hero-phone{display:none}}.stats{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-grid{grid-template-columns:repeat(4,1fr);display:grid}.stat{border-left:1px solid var(--border);padding:42px 26px}.stat:first-child{border-left:none}.stat .v{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:linear-gradient(#0e1b2c 15%,#1f6feb);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:700}.stat .l{color:var(--text-secondary);margin-top:4px;font-size:13.5px}@media (width<=960px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:32px 20px}.stat:nth-child(odd){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--border)}}.logos{padding:56px 0 30px}.logos-cap{text-align:center;color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:26px;font-size:12px;font-weight:600}.logo-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.logo-track{align-items:center;gap:64px;width:max-content;padding:6px 0;animation:34s linear infinite marquee;display:flex}.logo-marquee:hover .logo-track,.logo-marquee:focus-within .logo-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.lg{width:auto;height:var(--logo-h,46px);opacity:.85;flex-shrink:0;transition:opacity .25s}.lg:hover{opacity:1}@media (prefers-reduced-motion:reduce){.logo-track{flex-wrap:wrap;justify-content:center;gap:24px 48px;width:100%;animation:none}.logo-track .lg[aria-hidden=true]{display:none}}.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:16px;display:grid}.tile{isolation:isolate;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);flex-direction:column;padding:26px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.tile:hover{border-color:#1f6feb73;transform:translateY(-3px)}.tile:before{content:"";z-index:-1;background:radial-gradient(320px at var(--mx,50%) var(--my,0%), #1f6feb12, transparent 65%);opacity:0;transition:opacity var(--dur-base);pointer-events:none;position:absolute;inset:0}.tile:hover:before{opacity:1}.tile--2x2{grid-area:span 2/span 2}.tile--2x1{grid-column:span 2}.tile--4x1{grid-column:span 4}.tile h3{margin-bottom:6px;font-size:19px}.tile p{max-width:400px;color:var(--text-secondary);font-size:13.5px}.tile .go{color:var(--link);margin-top:auto;font-size:13.5px;font-weight:600;text-decoration:none}.tile h3 a{color:inherit;text-decoration:none}.tile h3 a:after{content:"";z-index:1;position:absolute;inset:0}.tile:hover h3 a{color:var(--link)}.tile:hover .go{color:var(--link-hover)}.chiprow{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);padding:3px 10px;font-size:11px;font-weight:600}.mini-ui{border:1px solid var(--border);width:300px;transition:transform var(--dur-base);background:#f4f6f9;border-radius:10px;padding:10px;position:absolute;bottom:-34px;right:-30px;transform:rotate(-3deg);box-shadow:0 20px 44px #0e1b2c29}.tile:hover .mini-ui{transform:rotate(-1.2deg)translateY(-4px)}.mini-ui .mr{color:var(--text-secondary);border-bottom:1px solid #e8ecf1;justify-content:space-between;gap:8px;padding:6px 8px;font-size:9px;display:flex}.mini-ui .mr:last-child{border-bottom:none}.mini-ui .mr b{color:var(--text-primary);font-weight:600}.mini-ui .mr .ok{color:var(--success);font-weight:600}.nodes{width:230px;height:110px;position:absolute;bottom:6px;right:10px}.nodes svg{width:100%;height:100%}.nodes .ln{fill:none;stroke:#1f6feb80;stroke-width:1.4px;stroke-dasharray:5 6;animation:3.2s linear infinite node-dash}@keyframes node-dash{to{stroke-dashoffset:-44px}}.nodes .nd{fill:var(--bg-surface);stroke:var(--accent);stroke-width:1.4px}.nodes text{fill:var(--text-secondary);font-family:var(--font-body);font-size:9px;font-weight:600}@media (width<=1020px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.tile--2x2,.tile--2x1,.tile--4x1{grid-area:auto/span 2}.tile{min-height:150px}.mini-ui{display:none}}@media (width<=620px){.bento{grid-template-columns:1fr}.tile--2x2,.tile--2x1,.tile--4x1{grid-column:span 1}}@media (width<=820px){.nodes{display:none}}@media (prefers-reduced-motion:reduce){.tile:hover{transform:none}.nodes .ln{animation:none}}.works-outer{position:relative}.works-row{scroll-snap-type:x mandatory;scroll-padding:0 var(--container-pad);padding:6px var(--container-pad) 22px;margin:0 calc(-1 * var(--container-pad));scrollbar-width:none;gap:20px;display:flex;overflow-x:auto}.works-row::-webkit-scrollbar{display:none}.work{border:1px solid var(--border);border-radius:var(--radius-m);scroll-snap-align:start;background:linear-gradient(160deg,#eaeff5,#e0e7f0);flex-direction:column;min-width:460px;min-height:330px;padding:26px 26px 0;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.work:hover{border-color:#1f6feb73}.work .glow{opacity:.5;pointer-events:none;border-radius:50%;height:70%;position:absolute;inset:auto -20% -45%}.work .cap{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.work .cap b{font-family:var(--font-display);color:var(--text-primary);font-size:17.5px}.work .cap span{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.work .shot{transition:transform var(--dur-base);background:#fff;border:1px solid #0e1b2c1a;border-bottom:none;border-radius:10px 10px 0 0;margin-top:auto;position:relative;overflow:hidden;box-shadow:0 -10px 30px #0e1b2c24}.work:hover .shot{transform:translateY(-6px)}.work .shot img{width:100%;height:auto;display:block}.work--dark{background:linear-gradient(160deg,#101d30,#1b2c44);border-color:#223650}.work--dark:hover{border-color:#4d9fff73}.work--dark .cap b{color:#fff}.work--dark .cap span{color:var(--text-on-dark-2)}.work--dark .glow{opacity:1}.work--dark .shot{border-color:#ffffff40;box-shadow:0 -10px 40px #00000059}.work--phone .shot{border:5px solid #05090f;border-bottom:none;border-radius:20px 20px 0 0;width:200px;margin-left:auto;margin-right:auto}.mini{font-size:9px}.mini .m-bar{background:#fff;border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.mini .m-bar b{color:var(--text-primary);font-size:10px}.mini .m-grid{background:#fff;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px;display:grid}.mini .m-card{border:1px solid var(--border);border-radius:7px;overflow:hidden}.mini .m-img{height:42px}.mini .m-card i{color:var(--text-primary);padding:5px 7px 1px;font-size:8.5px;font-style:normal;font-weight:650;display:block}.mini .m-card em{color:var(--text-muted);padding:0 7px 6px;font-size:7.5px;font-style:normal;display:block}.mini .m-rows{background:#fff;padding:4px 12px 8px}.mini .m-row{color:var(--text-secondary);border-bottom:1px solid #f1f3f7;justify-content:space-between;gap:8px;padding:5px 0;display:flex}.mini .m-row:last-child{border-bottom:none}.mini .m-row b{color:var(--text-primary);font-weight:600}.works-hint{justify-content:space-between;align-items:center;gap:var(--sp-4);color:var(--text-muted);margin-top:4px;font-size:13px;display:flex}.arrows{gap:8px;display:flex}.arrows button{border:1px solid var(--border-strong);background:var(--bg-surface);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:50%;font-size:16px;transition:border-color .2s,background .2s,opacity .2s}.arrows button:hover:not(:disabled){background:var(--accent-soft);border-color:#1f6feb99}.arrows button:disabled{opacity:.4;cursor:default}@media (width<=960px){.work{min-width:84vw}.works-hint{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.works-row{scroll-behavior:auto}.work:hover .shot{transform:none}}.work .cap a{color:inherit;text-decoration:none}.work .cap a:after{content:"";z-index:2;position:absolute;inset:0}.work .cap b{line-height:1.3}.works-hint a{font-weight:600;text-decoration:none}.case-sec{padding:var(--sp-10) 0}.case-glow{background:radial-gradient(700px 400px at 85% 20%,#1f6feb1a,#0000 65%);position:absolute;inset:0}.case-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:60px;display:grid}.case-title{margin-bottom:14px;font-size:clamp(26px,3.4vw,36px);line-height:1.16}.case-metrics{grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0;display:grid}.cm{border-left:2px solid #4d9fff80;padding-left:14px}.cm .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:linear-gradient(#fff,#9bc7ff);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.cm .l{color:var(--text-on-dark-2);margin-top:2px;font-size:12.5px}@media (width<=960px){.case-card{grid-template-columns:minmax(0,1fr);gap:44px}}@media (width<=560px){.case-metrics{grid-template-columns:1fr;gap:14px}}.proc-grid{grid-template-columns:repeat(6,1fr);gap:16px;display:grid;position:relative}.proc-grid:before{content:"";transform-origin:0;height:2px;transition:transform 1.4s var(--ease-out);background:linear-gradient(90deg,#1f6feb8c,#1f6feb0f);position:absolute;top:6px;left:8px;right:8px;transform:scaleX(0)}.proc-grid.in:before{transform:scaleX(1)}.proc{padding-top:22px;position:relative}.proc:after{content:"";background:var(--bg-page);border:2.5px solid var(--accent);border-radius:50%;width:13px;height:13px;position:absolute;top:0;left:0;box-shadow:0 0 10px #1f6feb59}.proc .n{color:var(--text-muted);letter-spacing:.08em;font-size:11px;font-weight:650}.proc h3{font-family:var(--font-body);margin:3px 0 5px;font-size:15.5px;font-weight:650}.proc p{color:var(--text-secondary);font-size:12.5px}.proc-more{margin-top:var(--sp-7);font-size:var(--fs-small);font-weight:600}.proc-more a{text-decoration:none}@media (width<=960px){.proc-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}.proc-grid:before{display:none}}@media (width<=480px){.proc-grid{grid-template-columns:1fr}}.section--quote{padding-bottom:84px}.quote{text-align:center;max-width:800px;margin:0 auto;position:relative}.quote-row{scroll-snap-type:x mandatory;scroll-padding:0 var(--container-pad);padding:6px var(--container-pad) 22px;margin:0 calc(-1 * var(--container-pad));scrollbar-width:none;gap:20px;display:flex;overflow-x:auto}.quote-row::-webkit-scrollbar{display:none}.quote-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);width:min(440px,84vw);box-shadow:var(--shadow-s);scroll-snap-align:start;flex-direction:column;flex:none;margin:0;padding:32px 34px;display:flex}.quote-card blockquote{font-family:var(--font-body);color:var(--text-secondary);flex:1;margin:0 0 22px;font-size:16px;font-weight:400;line-height:1.6}.quote-card .who{border-top:1px solid var(--border);padding-top:18px}.quote-controls{justify-content:flex-end;margin-top:4px;display:flex}.quote-controls .arrows[hidden]{display:none}.quote .mark,.quote-card .mark{font-family:var(--font-display);background:linear-gradient(#1f6feb,#1f6feb33);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:26px;font-size:70px;line-height:.4;display:block}.quote blockquote{font-family:var(--font-display);margin-bottom:26px;font-size:clamp(20px,2.6vw,27px);font-weight:500;line-height:1.42}.quote .who b,.quote-card .who b{font-size:15px;display:block}.quote .who span,.quote-card .who span{color:var(--text-secondary);font-size:13.5px}.quote .who .co,.quote-card .who .co{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:5px;font-size:11.5px;font-weight:650;display:block}.quote-card .mark{margin-bottom:10px;font-size:44px;line-height:.8}.ins-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.ins{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:26px;transition:border-color .2s,transform .2s;position:relative;overflow:hidden}.ins:hover{border-color:#1f6feb73;transform:translateY(-3px)}.ins:before{content:"";background:radial-gradient(280px at var(--mx,50%) var(--my,0%), #1f6feb0f, transparent 65%);opacity:0;transition:opacity var(--dur-base);pointer-events:none;position:absolute;inset:0}.ins:hover:before{opacity:1}.ins .tag{border-radius:var(--radius-pill);color:var(--accent-pressed);border:1px solid #1f6feb59;margin-bottom:14px;padding:3px 11px;font-size:11px;font-weight:650;display:inline-block}.ins h3{font-family:var(--font-body);margin-bottom:8px;font-size:17.5px;font-weight:650;line-height:1.35;position:relative}.ins p{color:var(--text-secondary);font-size:13.5px;position:relative}.ins-more{margin-top:var(--sp-6);font-size:var(--fs-small);font-weight:600}.ins-more a{text-decoration:none}@media (width<=960px){.ins-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ins:hover{transform:none}}.cta{margin-bottom:28px}.cta-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:70px;padding-top:100px;padding-bottom:100px;display:grid}.cta h2{margin-bottom:18px;font-size:clamp(30px,4vw,46px);line-height:1.1}.panel-dark .cta-lead{max-width:440px;margin-bottom:30px}.cta-direct{border-top:1px solid var(--border-on-dark);color:var(--text-on-dark-2);padding-top:22px;font-size:14.5px}.panel-dark .cta-direct a{font-weight:600;text-decoration:none}.panel-dark .cta-direct a:hover{text-decoration:underline}.form-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-on-dark-strong);border-radius:var(--radius-l);background:#0d1826bf;padding:32px;position:relative;box-shadow:0 30px 80px #00000080}.form-card:before{content:"";border-radius:calc(var(--radius-l) + 1px);-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(140deg,#4d9fff99,#0000 40% 65%,#4d9fff40);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.form-card .f{margin-bottom:16px}.form-card label{color:var(--text-on-dark);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-card input,.form-card select,.form-card textarea{width:100%;min-height:44px;font-family:var(--font-body);border:1px solid var(--border-on-dark-strong);border-radius:var(--radius-s);color:var(--text-on-dark);background:#070d16b3;padding:11px 14px;font-size:14.5px}.form-card select option{background:var(--bg-dark-raised);color:var(--text-on-dark)}.form-card textarea{resize:vertical;min-height:86px}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:var(--focus-ring-on-dark);outline-offset:0;border-color:var(--accent-bright)}.form-card ::placeholder{color:var(--text-on-dark-3)}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-card .btn{width:100%}.form-fine{text-align:center;margin-top:12px;font-size:12.5px}.panel-dark .form-fine{color:var(--text-on-dark-2)}@media (width<=960px){.cta-grid{grid-template-columns:minmax(0,1fr);gap:44px;padding-top:68px;padding-bottom:68px}.form-card{padding:24px}}@media (width<=480px){.form-row{grid-template-columns:1fr;gap:0}}.page-hero{margin-top:var(--panel-gutter);margin-bottom:6px;padding-bottom:84px}.page-hero-inner{max-width:780px}.page-hero h1{margin-bottom:20px;font-size:clamp(32px,4.6vw,54px)}.panel-dark .page-hero-lede{max-width:620px;font-size:18px}.page-hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.page-hero-extra{margin-top:36px}.page-hero-extra .shot-metrics{max-width:none;margin:0}.page-hero--split .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.page-hero--split .page-hero-inner{max-width:none}.page-hero--split .page-hero-media{z-index:1;min-width:0;position:relative}.page-hero--split .shot-primary .browser{max-width:none}.page-hero--split .shot-primary figcaption{text-align:left;margin-left:0;font-size:13px}.breadcrumbs{z-index:1;padding:26px 0 40px;font-size:13px;position:relative}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.breadcrumbs li{align-items:center;gap:10px;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--text-on-dark-3)}.panel-dark .breadcrumbs a{color:var(--text-on-dark-2);text-decoration:none}.panel-dark .breadcrumbs a:hover{color:#fff;text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--text-on-dark-3)}.prose{max-width:720px}.prose>*+*{margin-top:var(--sp-5)}.prose h2{margin-top:var(--sp-8);font-size:clamp(24px,2.8vw,32px)}.prose h3{margin-top:var(--sp-7);font-size:20px}.prose p,.prose li{color:var(--text-secondary);font-size:16.5px}.prose strong{color:var(--text-primary);font-weight:600}.prose ul{gap:var(--sp-3);display:grid}.prose ul li{padding-left:26px;position:relative}.prose ul li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:11px;left:4px}.prose a{text-underline-offset:3px;text-decoration:underline}.prose .definition{margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border);letter-spacing:-.01em;color:var(--text-primary);text-wrap:pretty;font-size:clamp(19px,2vw,22px);line-height:1.45}.section-more{margin-top:var(--sp-6);font-size:var(--fs-small);font-weight:600}.section-more a{text-decoration:none}.content-split{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:60px;display:grid}.content-aside{top:calc(var(--header-height) + var(--sp-5));padding:var(--sp-5);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);position:sticky}.content-aside h2{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--sp-3);font-size:13px;font-weight:650}.content-aside ul{gap:var(--sp-2);display:grid}.content-aside a{font-size:14.5px;font-weight:500;text-decoration:none}.content-aside{max-height:calc(100dvh - var(--header-height) - var(--sp-6));overflow-y:auto}.page-toc{margin-bottom:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border)}.page-toc a{color:var(--text-secondary);border-left:2px solid #0000;padding:4px 0 4px 12px;font-size:14px;line-height:1.4;display:block}.page-toc a:hover{color:var(--text-primary)}.page-toc a[aria-current=true]{border-left-color:var(--accent);color:var(--text-primary);font-weight:600}.page-toc-mobile{margin-bottom:var(--sp-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:4px 18px;display:none}.page-toc-mobile summary{color:var(--text-primary);cursor:pointer;padding:12px 0;font-weight:600}.page-toc-mobile ul{gap:2px;padding:0 0 12px;list-style:none;display:grid}.page-toc-mobile a{color:var(--text-secondary);padding:9px 0;font-size:14.5px;text-decoration:none;display:block}@media (width<=960px){.page-toc{display:none}.page-toc-mobile{display:block}.content-aside{max-height:none;overflow:visible}.page-hero{padding-bottom:56px}.page-hero--split .wrap{grid-template-columns:minmax(0,1fr);gap:40px}.content-split{gap:var(--sp-7);grid-template-columns:minmax(0,1fr)}.content-aside{position:static}}.error-page{margin-top:var(--panel-gutter);margin-bottom:28px;padding:96px 0 104px}.error-inner{max-width:640px}.error-code{margin-bottom:var(--sp-4);font-family:var(--font-display);letter-spacing:-.04em;background:linear-gradient(#4d9fff,#4d9fff26);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,10vw,108px);font-weight:700;line-height:1;display:block}.error-page h1{margin-bottom:16px;font-size:clamp(28px,3.6vw,42px)}.panel-dark .error-message{margin-bottom:var(--sp-7);font-size:17px}.error-links{margin-bottom:var(--sp-7);padding-top:var(--sp-5);border-top:1px solid var(--border-on-dark)}.error-links h2{margin-bottom:var(--sp-4);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-dark-3);font-size:12px;font-weight:650}.error-links ul{flex-wrap:wrap;gap:10px;display:flex}.error-links a{border:1px solid var(--border-on-dark-strong);border-radius:var(--radius-pill);align-items:center;min-height:44px;padding:0 18px;font-size:14.5px;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.error-links a:hover{background:var(--panel-on-dark-2);border-color:#ffffff80}.error-actions{flex-wrap:wrap;gap:14px;display:flex}@media (width<=960px){.error-page{padding:64px 0 72px}}.doc-meta{margin-top:calc(-1 * var(--sp-3))!important;color:var(--text-muted)!important;font-size:14px!important}.prose .table-scroll{margin:var(--sp-5) 0}.prose .comparison{min-width:640px}.link-button{color:var(--link);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:var(--link-hover)}.faq{border-top:1px solid var(--border);max-width:820px}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{justify-content:space-between;align-items:center;gap:var(--sp-4);cursor:pointer;min-height:44px;font-family:var(--font-display);color:var(--text-primary);padding:20px 0;font-size:17.5px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--link)}.faq-item summary:focus-visible{outline:var(--focus-ring);outline-offset:4px}.faq-icon{flex-shrink:0;width:20px;height:20px;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--accent);width:13px;height:1.5px;transition:transform var(--dur-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.faq-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.faq-item[open] .faq-icon:after{transform:translate(-50%,-50%)rotate(0)}.faq-answer{max-width:700px;padding-bottom:22px}.faq-answer p{color:var(--text-secondary);font-size:16px}@media (prefers-reduced-motion:reduce){.faq-icon:before,.faq-icon:after{transition:none}}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--bg-surface);overflow-x:auto}.comparison{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}.comparison th,.comparison td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:16px 20px}.comparison thead th{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:13px;font-weight:650}.comparison tbody th{color:var(--text-primary);width:28%;font-weight:600}.comparison td{color:var(--text-secondary)}.comparison tbody tr:last-child th,.comparison tbody tr:last-child td{border-bottom:none}.comparison thead th:last-child,.comparison tbody td:last-child{background:var(--accent-soft)}.comparison tbody td:last-child{color:var(--text-primary)}@media (width<=600px){.comparison{min-width:0;font-size:14.5px}.comparison thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.comparison tbody,.comparison tr,.comparison th,.comparison td{display:block}.comparison tr{border-bottom:8px solid var(--bg-page)}.comparison tr:last-child{border-bottom:none}.comparison tbody th{border-bottom:none;width:auto;padding:14px 18px 8px;font-size:15px}.comparison td{border-bottom:1px solid var(--border);gap:2px;padding:10px 18px;display:grid}.comparison td:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:650}.comparison tbody td:last-child{border-bottom:none}.comparison tbody td:last-child:before{color:var(--accent-pressed)}}.work-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.work-card{isolation:isolate;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);flex-direction:column;padding:26px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.work-card:hover{border-color:#1f6feb73;transform:translateY(-3px)}.work-card:before{content:"";z-index:-1;background:radial-gradient(280px at var(--mx,50%) var(--my,0%), #1f6feb0f, transparent 65%);opacity:0;transition:opacity var(--dur-base);pointer-events:none;position:absolute;inset:0}.work-card:hover:before{opacity:1}.work-card-shot{aspect-ratio:16/10;border-bottom:1px solid var(--border);background:var(--bg-canvas);margin:-26px -26px 18px;overflow:hidden}.work-card-shot img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.work-card-tile{aspect-ratio:16/10;border-bottom:1px solid var(--border);background:radial-gradient(420px 220px at 90% -10%,#1f6feb59,#0000 70%),linear-gradient(160deg,#0e1b2c,#070d16);flex-direction:column;justify-content:flex-end;gap:6px;margin:-26px -26px 18px;padding:22px 24px;display:flex;overflow:hidden}.work-card-tile-sector{color:#fff;font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(20px,2vw,24px);font-weight:600;line-height:1.15}.work-card-tile-type{color:var(--text-on-dark-2);font-size:12.5px;font-weight:500}.work-card-tag{border-radius:var(--radius-pill);color:var(--accent-pressed);border:1px solid #1f6feb59;align-self:flex-start;margin-bottom:14px;padding:3px 11px;font-size:11px;font-weight:650;display:inline-block}.work-card h3{font-family:var(--font-body);margin-bottom:8px;font-size:17.5px;font-weight:650;line-height:1.35}.work-card h3 a{color:var(--text-primary);text-decoration:none}.work-card h3 a:after{content:"";position:absolute;inset:0}.work-card:hover .work-card-go{color:var(--link-hover)}.work-card h3 a:hover{color:var(--link)}.work-card p{color:var(--text-secondary);font-size:13.5px}.work-card-meta{margin-top:var(--sp-2);color:var(--text-muted)!important;font-size:12.5px!important}.work-card-go{padding-top:var(--sp-4);color:var(--link);margin-top:auto;font-size:13.5px;font-weight:600}.work-filters{margin-bottom:var(--sp-6);flex-wrap:wrap;gap:10px;display:flex}.work-filter{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);min-height:44px;color:var(--text-secondary);align-items:center;padding:0 18px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.work-filter-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:6px;font-weight:500}.work-filter[aria-current=true] .work-filter-count{color:#ffffffb3}.work-filter:hover{border-color:var(--text-primary);color:var(--text-primary)}.work-filter[aria-current=true]{background:var(--text-primary);border-color:var(--text-primary);color:#fff}.work-empty{padding:var(--sp-8) 0;color:var(--text-secondary)}@media (width<=960px){.work-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.work-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.work-card:hover{transform:none}}.cta-panel{margin-bottom:28px}.cta-panel-inner{text-align:center;max-width:720px;margin-left:auto;margin-right:auto;padding-top:88px;padding-bottom:88px}.cta-panel h2{margin-bottom:18px;font-size:clamp(28px,3.6vw,42px);line-height:1.12}.panel-dark .cta-panel-lede{max-width:560px;margin:0 auto 32px;font-size:17px}.cta-panel-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.panel-dark .cta-panel-direct{color:var(--text-on-dark-3);margin-top:30px;font-size:14.5px}.panel-dark .cta-panel-direct a{font-weight:600;text-decoration:none}.panel-dark .cta-panel-direct a:hover{text-decoration:underline}@media (width<=960px){.cta-panel-inner{padding-top:60px;padding-bottom:60px}}.service-cards{margin-top:var(--sp-8);grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.service-card:last-child:nth-child(odd){grid-column:1/-1}.service-card{isolation:isolate;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);flex-direction:column;padding:30px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.service-card:hover{border-color:#1f6feb73;transform:translateY(-3px)}.service-card:before{content:"";z-index:-1;background:radial-gradient(320px at var(--mx,50%) var(--my,0%), #1f6feb12, transparent 65%);opacity:0;transition:opacity var(--dur-base);pointer-events:none;position:absolute;inset:0}.service-card:hover:before{opacity:1}.service-card h2{margin-bottom:8px;font-size:20px}.service-card h2 a{color:var(--text-primary);text-decoration:none}.service-card h2 a:after{content:"";position:absolute;inset:0}.service-card h2 a:hover{color:var(--link)}.service-card:hover .service-card-go{color:var(--link-hover)}.service-card p{color:var(--text-secondary);font-size:14.5px}.service-card-go{padding-top:var(--sp-5);color:var(--link);margin-top:auto;font-size:13.5px;font-weight:600}.secondary-services{flex-wrap:wrap;gap:10px;display:flex}.secondary-services a{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);min-height:44px;color:var(--text-primary);align-items:center;padding:0 20px;font-size:14.5px;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.secondary-services a:hover{border-color:var(--accent);background:var(--accent-soft)}.case-facts{gap:var(--sp-3);display:grid}.case-facts li{padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);gap:2px;display:grid}.case-facts li:last-child{border-bottom:none;padding-bottom:0}.case-facts span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.case-facts b{color:var(--text-primary);font-size:14.5px;font-weight:600}.case-facts a{text-decoration:none}.case-shots{gap:var(--sp-4);display:grid}.case-shots img{border:1px solid var(--border);border-radius:var(--radius-m);width:100%}.method-steps{margin-top:var(--sp-8);counter-reset:step;gap:18px;display:grid}.method-step{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:28px 30px}.method-step-head{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:12px;display:flex}.method-step-head .n{color:var(--accent);font-family:var(--font-display);letter-spacing:.08em;font-size:14px;font-weight:700}.method-step-head h2{margin:0;font-size:22px}.method-duration{background:var(--bg-page);border-radius:var(--radius-pill);color:var(--text-muted);white-space:nowrap;margin-left:auto;padding:3px 12px;font-size:12.5px;font-weight:600}.method-step p{max-width:72ch;color:var(--text-secondary);font-size:15.5px}.method-output{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;font-size:14.5px!important}.method-output strong{color:var(--text-primary)}.article-body{margin:0 auto}.article-meta{padding-bottom:var(--sp-5);border-bottom:1px solid var(--border);color:var(--text-muted)!important;font-size:14px!important}.article-body h2:first-of-type{margin-top:var(--sp-6)}.prose table{max-width:100%;margin:var(--sp-5) 0;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--bg-surface);border-collapse:collapse;font-size:15px;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);min-width:140px;padding:12px 16px}.prose thead th{background:var(--bg-page);color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:650}.prose td{color:var(--text-secondary)}.prose td:first-child{color:var(--text-primary);font-weight:600}.prose tbody tr:last-child td{border-bottom:none}@media (width<=600px){.prose table{font-size:14px}.prose th,.prose td{padding:10px 12px}}.ins h2 a,.ins h3 a{color:var(--text-primary);text-decoration:none}.ins h2 a:after,.ins h3 a:after{content:"";position:absolute;inset:0}.ins h2{font-family:var(--font-body);margin-bottom:8px;font-size:17.5px;font-weight:650;line-height:1.35;position:relative}@media (width<=860px){.service-cards{grid-template-columns:1fr}.method-duration{margin-left:0}}@media (prefers-reduced-motion:reduce){.service-card:hover{transform:none}}.feed-link{margin-bottom:var(--sp-8);font-size:var(--fs-small);font-weight:600}.feed-link a{text-decoration:none}.case-summary{gap:var(--sp-5);margin-bottom:var(--sp-7);padding:var(--sp-5) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid}.case-summary p{gap:6px;margin:0;display:grid}.case-summary span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:650}.case-summary .case-problem{color:var(--text-secondary);font-size:15.5px}.case-summary .case-solution{color:var(--text-primary);font-size:17.5px;line-height:1.5}.case-summary .case-solution span:before{content:"→";color:var(--accent);margin-right:8px}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:60px;display:grid}.contact-details h2{margin-bottom:var(--sp-5);font-size:22px}.contact-list{gap:var(--sp-4);display:grid}.contact-list li{padding-bottom:var(--sp-4);border-bottom:1px solid var(--border);gap:3px;display:grid}.contact-list li:last-child{border-bottom:none}.contact-list span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.contact-list a,.contact-list b{color:var(--text-primary);font-size:16.5px;font-weight:600;text-decoration:none}.contact-list a:hover{color:var(--link);text-decoration:underline}.contact-note{gap:var(--sp-3);margin-top:var(--sp-6);padding:var(--sp-5);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-m);display:grid}.contact-note p{color:var(--text-secondary);font-size:14.5px}.contact-note strong{color:var(--text-primary)}.contact-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-m);padding:32px}.contact-form .f{margin-bottom:18px}.contact-form label{color:var(--text-primary);margin-bottom:6px;font-size:13.5px;font-weight:600;display:block}.contact-form input,.contact-form select,.contact-form textarea{background:var(--bg-surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-s);width:100%;min-height:46px;color:var(--text-primary);font-family:var(--font-body);padding:11px 14px;font-size:15px}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:var(--focus-ring);outline-offset:1px;border-color:var(--accent)}.contact-form [aria-invalid=true]{border-color:var(--error)}.contact-form ::placeholder{color:var(--text-muted)}.contact-form .btn{width:100%}.form-fine{text-align:center;color:var(--text-muted);margin-top:14px;font-size:13px}.field-error{color:var(--error);margin-top:6px;font-size:13px;font-weight:500}.form-errors{margin-bottom:var(--sp-5);padding:var(--sp-4);border-left:3px solid var(--error);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--error);background:#fdf2f2;font-size:14px}.form-errors ul{margin-top:var(--sp-2);padding-left:var(--sp-4);gap:4px;list-style:outside;display:grid}.form-success{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--radius-l);padding:40px 32px}.form-success h2{margin-bottom:var(--sp-3);color:var(--success);font-size:24px}.form-success p{color:var(--text-secondary)}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=960px){.contact-grid{gap:var(--sp-7);grid-template-columns:minmax(0,1fr)}.contact-form{padding:24px}}.form-intro{margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:14.5px}.shots-panel{padding:var(--sp-9) 0;margin-bottom:6px}.shots-panel .wrap{z-index:1;position:relative}.shot-metrics{max-width:960px;margin:0 auto var(--sp-8)}.shot-metrics-title{margin-bottom:var(--sp-5);color:var(--text-on-dark-2);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:650}.shot-metrics-list{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;display:grid}.shot-metric{border-left:2px solid #4d9fff80;padding-left:14px}.shot-metric dd{color:#fff;font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(28px,3vw,36px);font-weight:700;line-height:1.1}.shot-metric dt{color:var(--text-on-dark-2);margin-top:4px;font-size:13.5px}.shot-primary{margin:0}.shot-primary .browser{max-width:960px;margin:0 auto;transform:none}.shot-primary .browser img,.shot-row img{background:#f4f6f9;width:100%;height:auto;display:block}.shot-zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.shot-zoom-hint{border-radius:var(--radius-pill);color:#fff;opacity:0;transition:opacity var(--dur-base);background:#070d16d1;padding:5px 12px;font-size:12px;font-weight:600;position:absolute;bottom:10px;right:10px}.shot-zoom:hover .shot-zoom-hint,.shot-zoom:focus-visible .shot-zoom-hint{opacity:1}.shot-primary figcaption,.shot-row figcaption{max-width:640px;margin:var(--sp-4) auto 0;text-align:center;color:var(--text-on-dark-2);font-size:14px;line-height:1.55}.shot-row-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.shot-row-head .shot-metrics-title{margin:0}.shots-outer{position:relative}.shot-row{gap:var(--sp-5);scroll-snap-type:x mandatory;scroll-padding:0 var(--container-pad);padding:6px var(--container-pad) 22px;margin:0 calc(-1 * var(--container-pad));scrollbar-width:none;display:flex;overflow-x:auto}.shot-row::-webkit-scrollbar{display:none}.shot-row figure{scroll-snap-align:start;flex:none;width:min(680px,84vw);margin:0}.shot-row img{border:1px solid var(--border-on-dark-strong);border-radius:var(--radius-s);box-shadow:0 20px 44px #0006}.shot-row figcaption{margin-top:var(--sp-3);text-align:left;font-size:13.5px}.arrows--on-dark button{border-color:var(--border-on-dark-strong);color:#fff;background:#ffffff0f}.arrows--on-dark button:hover:not(:disabled){background:#ffffff1f;border-color:#9bc7ffb3}.arrows--on-dark[hidden]{display:none}.lightbox{border-radius:var(--radius-m);background:#070d16;border:0;width:min(96vw,1600px);max-width:none;max-height:94dvh;margin:auto;padding:0;overflow:hidden}.lightbox::backdrop{background:#070d16db}.lightbox img{object-fit:contain;width:100%;height:auto;max-height:calc(94dvh - 64px);display:block}.lightbox-caption{color:var(--text-on-dark-2);text-align:center;padding:14px 20px;font-size:13.5px;line-height:1.5}.lightbox-caption[hidden]{display:none}.lightbox-nav{color:#fff;cursor:pointer;background:#070d16b3;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:48px;height:48px;font-size:30px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#070d16eb;border-color:#ffffff80}.lightbox-nav--previous{left:12px}.lightbox-nav--next{right:12px}.lightbox-count{color:var(--text-on-dark-3);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:10px}.lightbox-close{color:#fff;cursor:pointer;background:#070d16b3;border:1px solid #ffffff47;border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.lightbox-close:hover{background:#070d16eb}.case-facts-jump:after{content:"↓";margin-left:4px;transition:transform .2s;display:inline-block}.case-facts-jump:hover:after{transform:translateY(3px)}@media (width<=760px){.lightbox-nav{width:44px;height:44px;font-size:26px}.shots-panel{padding:var(--sp-8) 0}.shot-row{scroll-behavior:auto}.shot-metrics-list{grid-template-columns:1fr;gap:14px}}.consent{left:var(--panel-gutter);right:var(--panel-gutter);bottom:var(--panel-gutter);z-index:200;background:var(--bg-dark);border:1px solid var(--border-on-dark-strong);border-radius:var(--radius-m);color:var(--text-on-dark);animation:consent-in .3s var(--ease-out);position:fixed;box-shadow:0 24px 60px #00000073}.consent[hidden]{display:none}@keyframes consent-in{0%{opacity:0;transform:translateY(12px)}}.consent-inner{align-items:center;gap:var(--sp-6);max-width:var(--container);padding:20px var(--container-pad);margin:0 auto;display:flex}.consent-text{flex:1;min-width:0}.consent-text h2{margin-bottom:4px;font-size:16px}.consent-text p{color:var(--text-on-dark-2);font-size:14px;line-height:1.55}.consent-text a{color:var(--link-on-dark)}.consent-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.consent .btn-primary{color:var(--text-primary);background:#fff}.consent .btn-ghost{color:var(--text-on-dark);border-color:#ffffff4d}.consent .btn-ghost:hover{color:var(--text-on-dark);border-color:#fff9}.consent-link{min-height:44px;color:var(--text-on-dark-2);font-family:var(--font-body);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0 12px;font-size:14px;font-weight:500;text-decoration:underline}.consent-link:hover{color:#fff}.consent :focus-visible{outline:var(--focus-ring-on-dark);outline-offset:2px}.consent-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-l);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-dropdown);color:var(--text-primary);margin:auto;padding:0;overflow-y:auto}.consent-dialog::backdrop{background:#070d1699}.consent-dialog-inner{padding:30px}.consent-dialog h2{margin-bottom:8px;font-size:22px}.consent-dialog-lede{margin-bottom:var(--sp-5);color:var(--text-secondary);font-size:14.5px}.consent-list{gap:var(--sp-4);margin-bottom:var(--sp-6);display:grid}.consent-item{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-s);padding:18px 20px}.consent-item-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:6px;display:flex}.consent-item-head label{font-size:15.5px;font-weight:650}.consent-item p{color:var(--text-secondary);font-size:13.5px;line-height:1.55}.consent-always{color:var(--text-muted);white-space:nowrap;font-size:12.5px;font-weight:600}.consent-switch{flex-shrink:0;width:46px;height:26px;position:relative}.consent-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.consent-switch-track{background:var(--border-strong);border-radius:var(--radius-pill);transition:background var(--dur-fast);pointer-events:none;position:absolute;inset:0}.consent-switch-track:after{content:"";width:20px;height:20px;box-shadow:var(--shadow-s);transition:transform var(--dur-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.consent-switch input:checked+.consent-switch-track{background:var(--accent)}.consent-switch input:checked+.consent-switch-track:after{transform:translate(20px)}.consent-switch input:focus-visible+.consent-switch-track{outline:var(--focus-ring);outline-offset:2px}.consent-dialog-actions{flex-wrap:wrap;gap:10px;display:flex}.consent-dialog-note{margin-top:var(--sp-4);color:var(--text-muted);font-size:13px}@media (width<=860px){.consent-inner{align-items:stretch;gap:var(--sp-4);flex-direction:column;padding:20px}.consent-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){.consent{animation:none}.consent-switch-track,.consent-switch-track:after{transition:none}}.placeholder-page{min-height:46vh}.placeholder-note{max-width:620px;margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--text-secondary);font-size:var(--fs-small)}.placeholder-back{margin-top:var(--sp-6);font-size:var(--fs-small);font-weight:600}.placeholder-back a{text-decoration:none}
