@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:light;--font:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--bg:#FAFAF9;--bg-secondary:#F5F5F4;--surface:#FFFFFF;--surface-hover:#F0EFED;--border:#E6E4E0;--border-light:#F0EFED;--text:#1C1917;--text-secondary:#78716C;--text-tertiary:#A8A29E;--text-inverse:#FFFFFF;--accent:#1C1917;--accent-hover:#44403C;--accent-light:#F0EFED;--success:#166534;--error:#DC2626;--radius:4px;--radius-lg:8px;--shadow:0 1px 2px rgba(28,25,23,0.06);--shadow-md:0 4px 12px rgba(28,25,23,0.06);--shadow-lg:0 8px 24px rgba(28,25,23,0.08);--nav-height:56px;--container:min(1120px,calc(100% - 48px));--container-narrow:min(720px,calc(100% - 48px));--space:8px}[data-theme=dark]{color-scheme:dark;--bg:#0C0A09;--bg-secondary:#1C1917;--surface:#1C1917;--surface-hover:#292524;--border:#292524;--border-light:#1C1917;--text:#F5F5F4;--text-secondary:#A8A29E;--text-tertiary:#78716C;--text-inverse:#0C0A09;--accent:#F5F5F4;--accent-hover:#D6D3D1;--accent-light:rgba(245,245,244,0.08);--success:#4ADE80;--error:#F87171;--shadow:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 8px 32px rgba(0,0,0,0.5)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:15px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}ol,ul{list-style:none}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);height:var(--nav-height)}.header .nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.container,.header .nav{width:var(--container);margin:0 auto}.container-narrow{width:var(--container-narrow);margin:0 auto}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);height:var(--nav-height)}.nav{height:100%;justify-content:space-between;width:var(--container);margin:0 auto;gap:24px}.brand,.nav{display:flex;align-items:center}.brand{gap:8px;font-weight:600;font-size:15px;color:var(--text);flex-shrink:0;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{padding:6px 12px;border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--text-secondary);transition:color .15s}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text);background:var(--surface-hover)}.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:16px;transition:background .15s,border-color .15s}.icon-btn:hover{background:var(--surface-hover);border-color:var(--text-tertiary)}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border-radius:var(--radius);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--text-secondary);border-color:var(--text-secondary)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--text-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--text)}.btn-lg{padding:10px 24px;font-size:14px}.btn-sm{padding:5px 12px;font-size:12px}.btn-block{width:100%}.section{padding:96px 0}.section-soft{background:var(--bg-secondary)}.section-head{margin-bottom:48px}.section-head.center{margin:0 auto 48px;text-align:center}.section-head p{margin-top:12px;color:var(--text-secondary);font-size:15px}h1,h2,h3,h4{line-height:1.2;font-weight:700;color:var(--text)}h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.02em}h2{font-size:clamp(28px,3.5vw,40px);letter-spacing:-.01em}h3{font-size:18px}h4{font-size:15px}.eyebrow{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:12px}.lead{font-size:17px;line-height:1.65;margin-top:16px;max-width:600px}.lead,.muted,.small{color:var(--text-secondary)}.small{font-size:13px}.hero{min-height:calc(100vh - var(--nav-height));display:flex;padding:80px 0 64px}.hero,.hero-grid{align-items:center}.hero-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px}.hero h1{margin-top:16px}.hero-actions{gap:10px;margin-top:32px}.hero-image{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.landing-page{background:linear-gradient(180deg,rgba(255,255,255,0) 0,var(--bg) 38%),var(--bg)}.landing-hero{position:relative;min-height:calc(100vh - var(--nav-height));align-items:stretch;padding:0;overflow:hidden;background:#06111f}.hero-bg{width:100%;height:100%;object-fit:cover;opacity:.42}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,rgba(3,10,18,.92),rgba(3,10,18,.72) 42%,rgba(3,10,18,.32)),linear-gradient(180deg,rgba(3,10,18,.18),rgba(3,10,18,.92))}.landing-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);grid-gap:48px;gap:48px;align-items:center;min-height:calc(100vh - var(--nav-height));padding:72px 0 96px}.hero-copy{color:#fff;max-width:760px}.hero-copy .eyebrow{color:#72f2c4}.hero-copy h1{color:#fff;font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:0;margin-top:18px}.hero-copy .lead{color:rgba(255,255,255,.78);max-width:680px;font-size:clamp(17px,1.8vw,21px)}.hero-copy .btn-secondary{color:#fff;border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.08)}.hero-copy .btn-secondary:hover{border-color:rgba(255,255,255,.78)}.hero-command{align-self:center;border:1px solid rgba(255,255,255,.22);background:rgba(6,17,31,.78);box-shadow:0 24px 90px rgba(0,0,0,.32);color:#fff;padding:18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.command-top{display:flex;align-items:center;gap:7px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}.command-top span{width:9px;height:9px;border-radius:50%;background:#ffcc66}.command-top span:first-child{background:#ff6b6b}.command-top span:nth-child(2){background:#72f2c4}.command-top strong{margin-left:auto;font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.62)}.command-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:16px}.signal{min-height:104px;padding:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.pipeline span,.signal span{display:block;font-size:11px;font-weight:700;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.06em}.signal strong{display:block;margin-top:18px;font-size:30px;line-height:1}.signal-live{background:linear-gradient(145deg,rgba(114,242,196,.2),rgba(64,137,255,.12))}.pipeline{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.pipeline span{position:relative;padding:12px 12px 12px 0;border-bottom:1px solid rgba(255,255,255,.12)}.pipeline span:after{content:"";position:absolute;left:0;bottom:-1px;width:var(--w);height:2px;background:linear-gradient(90deg,#72f2c4,#ffcc66,#5da9ff)}.landing-strip{position:relative;margin-top:-48px;z-index:2}.strip-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid rgba(255,255,255,.18);background:var(--surface);box-shadow:var(--shadow-lg)}.strip-grid span{display:grid;min-height:88px;place-items:center;padding:14px;border-right:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.04em}.strip-grid span:last-child{border-right:0}.landing-services{padding-top:128px}.service-mosaic{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:minmax(230px,auto);grid-gap:18px;gap:18px}.mosaic-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:28px;overflow:hidden;border:1px solid var(--border);background:linear-gradient(135deg,rgba(37,99,235,.09),transparent 38%),var(--surface)}.mosaic-card:before{content:"";position:absolute;inset:18px 18px auto auto;width:78px;height:78px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);opacity:.35}.mosaic-large{grid-row:span 2;min-height:478px;color:#fff;background:linear-gradient(180deg,rgba(3,10,18,.16),rgba(3,10,18,.88)),url(/_next/static/media/vian-hero.28238793.png) 50%/cover}.mosaic-large h3,.mosaic-large p{color:#fff}.mosaic-large .btn-ghost{color:#72f2c4;padding-left:0;justify-content:flex-start}.mosaic-tag{position:absolute;top:24px;left:28px;font-size:12px;font-weight:900;color:var(--accent)}.mosaic-card h3{font-size:clamp(22px,2.3vw,34px);margin-bottom:10px}.mosaic-card p{color:var(--text-secondary);max-width:460px}.landing-stats{padding-top:56px}.landing-stats .stat{border-radius:0;background:linear-gradient(180deg,var(--surface),var(--bg-secondary))}.process-section{background:#07111f;color:#fff}.process-section h2,.process-section h3{color:#fff}.process-section .eyebrow{color:#72f2c4}.process-track{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.process-card{min-height:270px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.18)}.process-card:last-child{border-right:0}.process-card span{display:inline-flex;margin-bottom:72px;font-size:12px;font-weight:900;color:#ffcc66}.process-card p{color:rgba(255,255,255,.68)}.landing-insights{background:var(--bg)}.landing-cta,.landing-insights .article-card{border-radius:0}.landing-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(114,242,196,.16),rgba(37,99,235,.1) 42%,rgba(255,204,102,.16)),var(--surface)}.landing-cta:before{content:"";position:absolute;inset:18px;border:1px solid var(--border);pointer-events:none}.page-hero{border-bottom:1px solid var(--border-light)}.page-hero h1{margin-top:8px}.breadcrumb{font-size:13px;margin-bottom:8px}.breadcrumb a{color:var(--accent)}.breadcrumb a:hover{text-decoration:underline}.products-grid-page{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.product-page-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .2s}.product-page-card:hover{border-color:var(--text-tertiary)}.product-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.product-page-icon{font-size:24px;line-height:1}.product-page-category{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:2px 8px;border:1px solid var(--border);border-radius:999px}.product-page-title{font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text)}.product-page-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.product-page-features{display:grid;grid-gap:4px;gap:4px;margin-bottom:16px;flex:1 1}.product-page-features li{font-size:12px;color:var(--text-secondary);padding-left:14px;position:relative}.product-page-features li:before{content:"";position:absolute;left:0;top:6px;width:3px;height:3px;border-radius:50%;background:var(--text-tertiary)}.product-page-footer{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:10px}.product-page-price{display:flex;align-items:baseline;gap:4px}.product-page-currency{font-size:14px;font-weight:600;color:var(--text-secondary)}.product-page-amount{font-size:22px;font-weight:700;color:var(--text);line-height:1}@media (max-width:900px){.products-grid-page{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.products-grid-page{grid-template-columns:1fr}}.products-categories{display:flex;flex-wrap:wrap;gap:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:var(--text-tertiary)}.grid{display:grid;grid-gap:24px;gap:24px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px}.stat{text-align:center;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.stat strong{display:block;font-size:32px;line-height:1;color:var(--text)}.stat span{font-size:13px;color:var(--text-secondary);display:block;margin-top:6px}.list{display:grid;grid-gap:8px;gap:8px}.list li{padding-left:20px;position:relative;color:var(--text-secondary);font-size:14px}.list li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 20px}.pill{padding:4px 10px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg)}.cta-band{padding:48px;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;background:var(--bg-secondary)}.cta-band .lead{margin:12px auto 0}.cta-band .hero-actions{justify-content:center}.logo-strip{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:16px;gap:16px}.tech-badge{display:grid;place-items:center;height:64px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-weight:700;color:var(--text-secondary);background:var(--surface)}.article-card time{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:8px}.article-card h3{margin-bottom:8px}.article-card p{font-size:14px;color:var(--text-secondary);line-height:1.6}.article-card a{font-size:13px;font-weight:600;color:var(--accent);display:inline-block;margin-top:12px}.article-card a:hover{text-decoration:underline}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.faq-item+.faq-item{margin-top:8px}.faq-question{width:100%;gap:16px;padding:16px 20px;border:0;background:transparent;color:var(--text);font-size:14px;text-align:left}.faq-question span{font-size:18px;color:var(--text-secondary);transition:transform .2s;flex-shrink:0}.faq-item.open .faq-question span{transform:rotate(45deg)}.faq-answer{display:none;padding:0 20px 16px;font-size:14px;color:var(--text-secondary);line-height:1.6}.faq-item.open .faq-answer{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:6px;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:600;color:var(--text)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:14px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-light)}.field textarea{min-height:120px;resize:vertical}.field .error{font-size:12px;color:var(--error)}.site-footer{padding:64px 0 32px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;color:var(--text)}.footer-grid a,.footer-grid p{display:block;font-size:13px;color:var(--text-secondary);margin:6px 0}.footer-grid a:hover{color:var(--accent)}.newsletter{display:flex;gap:8px}.newsletter input{flex:1 1;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:13px}.footer-bottom{margin-top:40px;padding-top:20px;gap:16px;flex-wrap:wrap}.back-to-top{position:fixed;right:20px;bottom:20px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{border-color:var(--text-secondary)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);z-index:200;padding:12px 20px;background:var(--text);color:var(--bg);font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.site-loader{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:2000;transition:opacity .3s,visibility .3s}.site-loader.hidden{opacity:0;visibility:hidden}.loader-ring{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.legal-wrapper{grid-template-columns:220px 1fr;align-items:start}.legal-sidebar{top:calc(var(--nav-height) + 32px)}.legal-sidebar h4{font-size:11px;letter-spacing:.08em}.legal-sidebar a{font-size:13px;transition:color .15s}.legal-doc{max-width:100%}.legal-doc h2{font-size:24px;padding-bottom:12px;border-bottom:1px solid var(--border);scroll-margin-top:80px}.legal-doc h3{font-size:16px}.legal-doc li,.legal-doc p{font-size:14px;color:var(--text-secondary);line-height:1.7}.legal-doc p{margin-top:12px}.legal-doc ul{margin-top:8px}.legal-doc ul li{margin-top:4px}.legal-note{padding:12px 16px;border-left:3px solid var(--accent);border-radius:var(--radius);font-size:14px;color:var(--text-secondary);margin-top:16px}.job-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.job-meta span{padding:3px 8px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:600;color:var(--text-secondary)}.case-meta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.service-card{text-align:center}.service-card .icon{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 16px;border-radius:var(--radius);background:var(--accent-light);color:var(--accent);font-weight:700;font-size:16px}.service-card h3{margin-bottom:8px}.service-card p{font-size:14px;line-height:1.6;margin-bottom:16px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}table{width:100%;border-collapse:collapse;min-width:600px}td,th{padding:12px 16px;border-bottom:1px solid var(--border);text-align:left;font-size:14px;vertical-align:top}th{font-weight:700;color:var(--text);background:var(--bg-secondary)}td{color:var(--text-secondary)}.sidebar-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--surface);margin-bottom:16px}.sidebar-card h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;color:var(--text)}.sidebar-card a{display:block;padding:6px 0;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.sidebar-card a:hover{color:var(--accent)}.pagination{display:flex;gap:6px;justify-content:center;margin-top:48px}.pagination-btn{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.pagination-btn:hover{border-color:var(--text-secondary)}.pagination-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.timeline{display:grid;grid-gap:16px;gap:16px}.timeline-item{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.timeline-item strong{display:block;font-size:13px;color:var(--accent);margin-bottom:4px}.timeline-item h3{margin-bottom:4px}.timeline-item p{font-size:14px;color:var(--text-secondary)}.filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px}.filter-btn{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.filter-btn:hover{border-color:var(--text-secondary)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}hr{border:none;border-top:1px solid var(--border);margin:48px 0}.text-center{text-align:center}.mt-16{margin-top:16px}.mt-32{margin-top:32px}.mb-16{margin-bottom:16px}.mb-32{margin-bottom:32px}.gap-16{gap:16px}body{font-family:var(--font-sans,"Inter",sans-serif)}.main-content{margin-top:var(--nav-height,64px)}.skip-link{position:absolute;top:-100%;left:16px;padding:8px 16px;background:var(--accent);color:#fff;border-radius:var(--radius);z-index:10000;font-size:14px;font-weight:500}.skip-link:focus{top:16px}@media (max-width:768px){.container{width:calc(100% - 32px)}}.section{padding:80px 0}.section-alt{background:var(--bg-secondary)}.section-head{text-align:center;max-width:640px;margin:0 auto 48px}.section-head .eyebrow,.section-head h2{margin-bottom:12px}.section-description{color:var(--text-secondary);font-size:1.05rem}.section-divider{margin-top:64px;padding-top:64px;border-top:1px solid var(--border)}.page-hero{padding:80px 0 48px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.page-hero h1{margin-bottom:16px;font-size:2rem}.page-hero .lead{max-width:640px;font-size:1.05rem;color:var(--text-secondary);line-height:1.7}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-tertiary);margin-bottom:16px}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--accent)}.hero{padding:120px 0 64px;background:var(--bg-secondary)}.hero-content{max-width:720px}.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.1;margin-bottom:20px;letter-spacing:-.03em;font-weight:800}.hero-description{font-size:1.125rem;color:var(--text-secondary);line-height:1.7;margin-bottom:32px;max-width:540px}.hero-actions{gap:12px;margin-bottom:40px}.hero-actions,.hero-trust{display:flex;flex-wrap:wrap}.hero-trust{gap:24px}.hero-trust-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.service-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);transition:all .2s ease;text-decoration:none;color:inherit}.service-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-card-content{flex:1 1}.service-card-icon{font-size:1.5rem;display:block;margin-bottom:12px}.service-card h3{margin-bottom:4px;font-size:1.05rem}.service-card p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.5}.service-card-arrow{color:var(--text-tertiary);margin-top:4px}.process-steps{display:flex;flex-direction:column;gap:4px;max-width:640px;margin:0 auto}.process-step{display:flex;gap:20px;padding:20px;border-radius:var(--radius-md)}.process-step:hover{background:var(--surface-hover)}.process-step-number{font-size:2rem;font-weight:800;color:var(--accent);opacity:.5;line-height:1;min-width:48px}.process-step-content h3{font-size:1rem;margin-bottom:2px}.process-step-content p{font-size:.875rem;color:var(--text-secondary);margin:0}.process-cta{text-align:center;margin-top:32px}.process-timeline{max-width:720px;margin:0 auto}.timeline-item{display:flex;gap:24px;position:relative;margin-bottom:8px}.timeline-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:1rem;flex-shrink:0;position:relative;z-index:2}.timeline-line{position:absolute;top:48px;left:23px;width:2px;height:calc(100% + 8px);background:var(--border);z-index:1}.timeline-content{flex:1 1;padding-bottom:36px}.timeline-header{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.timeline-header h3{font-size:1.05rem}.timeline-subtitle{font-size:.8rem;color:var(--text-tertiary)}.timeline-content p{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px}.timeline-deliverables{font-size:.85rem;color:var(--text-tertiary)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.tech-category-card{padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.tech-category-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:16px}.tech-list{display:flex;flex-direction:column;gap:8px}.tech-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.tech-check{color:var(--accent);flex-shrink:0;width:14px;height:14px}.tech-cta{text-align:center;margin-top:32px}.tech-tags{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{display:inline-block;padding:4px 10px;font-size:.78rem;font-weight:500;border-radius:100px;background:var(--accent-light);color:var(--accent)}.tech-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.tech-detail-card{padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.tech-detail-card h3{margin-bottom:8px;font-size:1rem}.tech-detail-card p{font-size:.9rem;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:20px;gap:20px}.project-card{padding:28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);transition:all .2s ease}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.project-status,.project-type{font-size:.75rem;font-weight:600}.project-status{padding:4px 10px;border-radius:100px}.status-development{background:#DBEAFE;color:#1D4ED8}.status-prototype{background:#FEF3C7;color:#B45309}.status-research{background:#E0E7FF;color:#4338CA}.status-production{background:#D1FAE5;color:#047857}.status-planning{background:#F3F4F6;color:#6B7280}.project-title{font-size:1.2rem;margin-bottom:8px}.project-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.project-footer{display:flex;align-items:center;gap:12px;font-size:.85rem}.service-detail{max-width:800px;margin:0 auto}.service-detail-header{display:flex;gap:20px;align-items:flex-start;margin-bottom:32px}.service-icon{font-size:2.5rem}.service-problems{margin-bottom:32px;padding:20px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.service-problems h3{margin-bottom:8px;font-size:1rem}.service-problems p{margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px}@media (max-width:640px){.service-grid{grid-template-columns:1fr}}.service-grid h3{margin-bottom:12px;font-size:.95rem}.check-list{display:flex;flex-direction:column;gap:8px}.check-list li{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--text-secondary)}.check-list li:before{content:"";display:inline-block;width:18px;height:18px;flex-shrink:0;background:var(--accent-light);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:12px;background-position:50%;background-repeat:no-repeat}.team-profile{display:flex;gap:28px;align-items:flex-start}.team-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--accent-light);color:var(--accent);flex-shrink:0}@media (max-width:500px){.team-profile{flex-direction:column;align-items:center;text-align:center}}.about-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.about-card{padding:28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.about-card h3{font-size:1rem}.about-card h3,.about-card h4{margin-bottom:8px}.about-card p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.6}.team-values h3{font-size:1.1rem}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:48px;gap:48px}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}.contact-info{display:flex;flex-direction:column;gap:28px}.contact-detail h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:8px}.contact-detail p{font-size:.95rem;margin:0 0 4px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:500px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text)}.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.security-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.security-item{padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.security-item h3{font-size:1rem;margin-bottom:8px}.security-item p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.6}.security-disclosure{padding:16px;border-radius:var(--radius-md);background:var(--bg-secondary);margin:12px 0}.security-disclosure p{margin:0;font-size:.9rem}.faq-section{border-bottom:1px solid var(--border)}.faq-category{display:flex;align-items:center;justify-content:space-between;padding:20px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faq-category::-webkit-details-marker{display:none}.faq-category .eyebrow{margin:0}.faq-toggle{font-size:1.2rem;color:var(--text-tertiary);transition:transform .2s}.faq-section[open]>.faq-category .faq-toggle{transform:rotate(45deg)}.faq-items{padding-bottom:16px}.faq-item,.faq-question{border-radius:var(--radius-md)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;font-weight:600;font-size:.95rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s}.faq-question:hover{background:var(--surface-hover)}.faq-question::-webkit-details-marker{display:none}.faq-item[open] .faq-question{background:var(--surface-hover)}.faq-item[open] .faq-question .faq-toggle{transform:rotate(45deg)}.faq-answer{padding:0 16px 16px}.faq-answer p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.7}.cta-banner{text-align:center;padding:56px 40px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.cta-banner h2{margin-bottom:12px}.cta-banner p{color:var(--text-secondary);font-size:1rem;margin-bottom:28px;max-width:480px;margin-inline:auto}.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cta-note{font-size:.85rem;color:var(--text-tertiary);margin-top:20px}.site-footer{padding:56px 0 0;background:var(--bg-secondary);border-top:1px solid var(--border)}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);grid-gap:32px;gap:32px;padding-bottom:40px}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:500px){.footer-grid{grid-template-columns:1fr}}.footer-brand .brand{margin-bottom:8px;display:inline-flex}.footer-col h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:14px}.footer-col ul{display:flex;flex-direction:column;gap:6px}.footer-col ul a{font-size:13px;color:var(--text-secondary);transition:color .15s}.footer-col ul a:hover{color:var(--text)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.footer-bottom-links{display:flex;gap:16px}.footer-bottom-links a{color:var(--text-secondary)}.footer-bottom-links a:hover{color:var(--text)}@media (max-width:500px){.footer-bottom{flex-direction:column;gap:8px;text-align:center}}.legal-wrapper{display:grid;grid-template-columns:200px 1fr;grid-gap:48px;gap:48px}@media (max-width:768px){.legal-wrapper{grid-template-columns:1fr}}.legal-sidebar{position:-webkit-sticky;position:sticky;top:80px;height:-moz-fit-content;height:fit-content}.legal-sidebar h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:12px}.legal-sidebar a{display:block;padding:6px 0;font-size:.85rem;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.legal-sidebar a:hover{color:var(--accent)}.legal-doc h2{margin-top:48px;margin-bottom:16px;font-size:1.35rem}.legal-doc h2:first-child{margin-top:0}.legal-doc h3{margin-top:24px;margin-bottom:12px;font-size:1.1rem}.legal-doc p{font-size:.95rem;color:var(--text-secondary);line-height:1.7}.legal-doc ul{list-style:disc;padding-left:20px;margin-bottom:16px}.legal-doc ul li{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin-bottom:6px}.legal-note{padding:16px;border-radius:var(--radius-md);background:var(--accent-light);font-size:.9rem;margin:16px 0}.legal-note strong{color:var(--accent)}.prose p{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-bottom:16px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:10000;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:.9rem;animation:slideIn .3s ease}.toast-success{border-left:3px solid #10b981}.toast-error{border-left:3px solid #ef4444}.toast-info{border-left:3px solid var(--accent)}.toast-close{font-size:1.2rem;color:var(--text-tertiary);background:none;border:none;cursor:pointer}.toast-close:hover{color:var(--text)}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:768px){.section{padding:48px 0}.page-hero{padding:56px 0 32px}.hero{padding:100px 0 56px}.hero-title{font-size:2rem}.projects-grid,.services-grid{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(2,1fr)}.hero-trust{flex-direction:column;gap:12px}}@media (max-width:500px){.tech-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;text-align:center}}[data-theme=dark] .status-development{background:#1E3A5F;color:#60A5FA}[data-theme=dark] .status-prototype{background:#3A2E1E;color:#FBBF24}[data-theme=dark] .status-research{background:#1E1B4B;color:#A5B4FC}[data-theme=dark] .status-production{background:#064E3B;color:#34D399}[data-theme=dark] .status-planning{background:#1F2937;color:#9CA3AF}[data-theme=dark] .badge-success{background:#064E3B;color:#34D399}[data-theme=dark] .badge-issued{background:#1E3A5F;color:#60A5FA}[data-theme=dark] .badge-danger{background:#3B1E1E;color:#FCA5A5}.dash-layout{display:flex;min-height:calc(100vh - var(--nav-height))}.dash-main{flex:1 1;padding:32px 32px 80px;max-width:900px}@media (min-width:768px){.dash-main{padding-bottom:32px}}.dash-main h1{font-size:28px;margin-bottom:4px}.dash-main .subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-layout{display:flex;min-height:calc(100vh - var(--nav-height))}.admin-main{flex:1 1;padding:32px 32px 80px;max-width:960px}@media (min-width:768px){.admin-main{padding-bottom:32px}}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chat-layout{display:flex;height:calc(100vh - var(--nav-height) - 80px);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);max-height:700px}.chat-list{width:320px;border-right:1px solid var(--border);overflow-y:auto;flex-shrink:0;background:var(--bg-secondary)}.chat-list-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background .1s}.chat-list-item.active,.chat-list-item:hover{background:var(--surface-hover)}.chat-area{background:var(--surface)}.chat-area,.chat-msgs{flex:1 1;display:flex;flex-direction:column}.chat-msgs{overflow-y:auto;padding:16px 20px;gap:8px}.chat-input{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--surface)}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--surface)}.stat-card .num{font-size:24px;font-weight:700}.stat-card .label{font-size:13px;color:var(--text-secondary);margin-top:4px}.auth-page .alert{padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:20px}.auth-page .alert-error{color:var(--error)}.auth-page .alert-error,.auth-page .alert-success{background:var(--accent-light);border:1px solid var(--border)}.auth-page .alert-success{color:var(--success)}.auth-page .password-toggle{position:relative}.auth-page .password-toggle .toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-tertiary);font-size:10px;padding:2px 4px;line-height:1;opacity:.7;transition:none}.auth-page .password-toggle .toggle:hover{opacity:1;color:var(--text-secondary)}.auth-page .auth-btn{width:100%;padding:10px;font-size:14px;margin-top:8px}@media print{body *{visibility:hidden}.invoice-print,.invoice-print *{visibility:visible}.invoice-print{position:fixed;inset:0;padding:20px;background:#fff;color:#000}.inv-no-print{display:none!important}}.hero-top-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.currency-selector{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.currency-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.currency-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;min-width:180px}.currency-select:hover{border-color:var(--text-secondary)}.currency-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.filter-bar-wrapper{margin-bottom:32px}.filter-search{margin-bottom:12px}.filter-input{width:100%;max-width:400px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px;transition:border-color .15s}.filter-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.filter-input::placeholder{color:var(--text-tertiary)}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;align-items:start}.product-card{position:relative;display:flex;flex-direction:column;padding:28px 20px 24px;text-align:center}.product-card--popular{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.product-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;letter-spacing:.05em;padding:3px 12px;white-space:nowrap;z-index:1}.product-badge,.product-category-label{font-size:10px;font-weight:700;text-transform:uppercase;border-radius:999px}.product-category-label{display:inline-block;align-self:center;letter-spacing:.06em;color:var(--accent);background:var(--accent-light);padding:2px 10px;margin-bottom:10px}.product-icon{font-size:32px;margin-bottom:10px}.product-desc{font-size:12px;line-height:1.6;margin-top:6px;flex:1 1}.product-tech{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin:12px 0}.product-tech .pill{font-size:9px;padding:2px 6px}.product-features{text-align:left;margin:12px 0;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.product-features strong{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);display:block;margin-bottom:8px}.product-features ul{display:grid;grid-gap:4px;gap:4px}.product-features li{padding-left:16px;position:relative;font-size:12px;color:var(--text-secondary);line-height:1.5}.product-features li:before{content:"";position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.features-more{color:var(--text-tertiary)!important;font-style:italic;font-size:11px!important}.features-more:before{display:none!important}.product-price{margin:12px 0 16px;display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap}.product-price--old{font-size:14px;color:var(--text-tertiary);text-decoration:line-through}.product-price--current{font-size:26px;font-weight:700;color:var(--text);line-height:1}.product-price--label{font-size:11px;color:var(--text-tertiary);width:100%;text-align:center}.product-actions{display:flex;gap:6px;justify-content:center;margin-top:auto}.product-actions .btn{flex:1 1;padding:8px 12px;font-size:12px}.empty-products{text-align:center;padding:64px 24px;color:var(--text-secondary);font-size:15px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:grid;place-items:center;z-index:500;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px 32px;max-width:480px;width:100%;position:relative;text-align:center;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;line-height:1}.modal-close:hover{color:var(--text)}.modal-icon{font-size:40px;margin-bottom:12px}.modal .hero-actions{justify-content:center}@media (max-width:1200px){.products-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.products-grid{grid-template-columns:repeat(2,1fr)}.hero-top-row{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.products-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.filter-bar{gap:4px}.filter-btn{font-size:11px;padding:4px 10px}}