:root{--ink:#111113;--muted:#66676d;--paper:#f5f5f2;--acid:#bdff00;--brand:#315cff;--brand-hover:#4770ff;--brand-deep:#1836a8;--line:#d9d9d4;--dark:#17191d;--surface:#fff;--surface-2:#e9e9e5;--inverse:#111113;--inverse-text:#fff;--shadow:#0003}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;overflow-x:hidden}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
header{height:84px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-family:Manrope;font-weight:700;letter-spacing:.18em;font-size:15px}
.mark{width:31px;height:31px;background:var(--ink);color:var(--acid);display:grid;place-items:center;border-radius:7px;font-size:17px;letter-spacing:0}
nav{display:flex;gap:36px}
nav a,.nav-cta{color:inherit;text-decoration:none;font-size:14px}
.nav-cta{border-bottom:1px solid;padding-bottom:4px}
.menu{display:none;background:none;border:0;font-size:23px}
.hero,.section,.about{max-width:1240px;margin:auto;padding:110px 28px}
.hero{min-height:790px;position:relative;padding-top:105px}
.eyebrow,.kicker{font-family:Manrope;font-size:12px;letter-spacing:.18em;font-weight:700}
.eyebrow{display:flex;gap:12px;align-items:center}
.eyebrow span{width:28px;height:2px;background:var(--acid)}
h1,h2,h3,h4{font-family:Manrope;margin:0;letter-spacing:-.05em}
h1{font-size:clamp(64px,9vw,128px);line-height:.88;margin-top:30px;font-weight:600;max-width:1050px}
h1 em,h2 em{font-weight:400;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.lead{max-width:500px;font-size:19px;line-height:1.6;color:var(--muted);margin:38px 0 30px}
.hero-actions{display:flex;gap:14px}
.button{min-height:52px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:26px;text-decoration:none;font-size:14px;font-weight:600;border-radius:3px}
.primary{background:var(--ink);color:white}
.primary:hover{background:#282a2e}
.ghost{color:var(--ink);border:1px solid var(--line)}
.hero-visual{position:absolute;right:10px;top:255px;width:400px;height:400px}
.orbit{position:absolute;border:1px solid #c6c7c1;border-radius:50%;inset:35px}
.o2{inset:100px}
.core{position:absolute;inset:142px;background:var(--ink);color:var(--acid);display:grid;place-items:center;border-radius:20px;transform:rotate(45deg);box-shadow:0 25px 60px #0003}
.core span{font:700 48px Manrope;transform:rotate(-45deg)}
.tag{position:absolute;background:white;border:1px solid var(--line);padding:8px 13px;font-size:12px;box-shadow:0 8px 20px #0000000a}
.t1{top:55px;right:0}
.t2{bottom:80px;right:-20px}
.t3{bottom:30px;left:10px}
.signal{position:absolute;right:28px;bottom:55px;width:480px;display:flex;align-items:center;gap:10px;font-size:12px}
.signal span{color:#aaa}
.signal p{margin:0}
.signal i{height:1px;flex:1;background:var(--line)}
.section{padding-top:130px;padding-bottom:130px}
.section-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;margin-bottom:70px}
.section-head h2,.about h2,.ai h2{font-size:clamp(46px,6vw,78px);line-height:1.05;margin-top:18px}
.section-head>p{max-width:440px;color:var(--muted);font-size:18px;line-height:1.65}
.services{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service{min-height:310px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.service.featured{background:var(--ink);color:white}
.num{font-size:12px;color:#999}
.icon{font-size:31px;margin:53px 0 25px}
.service h3{font-size:27px}
.service p{color:#898b91;max-width:430px;line-height:1.6}
.service a{color:var(--acid);text-decoration:none;font-size:13px;position:absolute;bottom:32px}
.custom{background:var(--dark);color:white;min-height:730px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.custom-copy{padding:115px max(28px,calc((100vw - 1184px)/2))}
.kicker.light{color:var(--acid)}
.custom h2{font-size:clamp(43px,5vw,68px);line-height:1.06;max-width:670px;margin:18px 0 28px}
.custom-copy>p{color:#a4a6ab;line-height:1.7;max-width:570px}
.custom ul{list-style:none;padding:25px 0;margin:25px 0;border-top:1px solid #333}
.custom li{padding:14px 0;border-bottom:1px solid #333}
.custom li b{font-size:11px;color:#777;margin-right:22px}
.white{background:white;color:var(--ink)}
.custom-art{background:var(--acid);display:grid;place-items:center;padding:60px}
.window{background:#f6f6f4;width:min(620px,100%);box-shadow:0 25px 80px #0004;transform:rotate(-3deg)}
.window-top{height:40px;background:#1f2125;color:#85878d;display:flex;align-items:center;padding:0 13px;gap:6px;font-size:9px}
.window-top i{width:6px;height:6px;border:1px solid #777;border-radius:50%}
.window-top span{margin-left:15px}
.dash{display:grid;grid-template-columns:55px 1fr;height:370px}
.dash aside{background:#e9e9e5;display:flex;align-items:center;flex-direction:column;gap:25px;padding-top:20px}
.dash aside b{background:#1c1d20;color:var(--acid);padding:7px}
.dash aside span{width:17px;height:3px;background:#c2c2bd}
.dash-main{padding:45px}
.dash-main small{font-size:8px;letter-spacing:.15em}
.dash-main h4{font-size:25px;margin:10px 0 35px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metrics>div{background:white;padding:15px}
.metrics strong{display:block;font:600 31px Manrope;margin:7px 0}
.metrics em{font-style:normal;font-size:9px;color:#65a000}
.chart{height:100px;margin-top:18px;display:flex;align-items:end;gap:12px}
.chart i{flex:1;background:#222;height:40%}
.chart i:nth-child(2){height:55%}
.chart i:nth-child(3){height:43%}
.chart i:nth-child(4){height:78%;background:var(--acid)}
.chart i:nth-child(5){height:67%}
.chart i:nth-child(6){height:88%}
.chart i:nth-child(7){height:73%}
.product-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:20px}
.product{min-height:430px;padding:45px;position:relative;overflow:hidden}
.product.dark{background:var(--ink);color:white;display:flex;justify-content:space-between}
.product span,.soon{font-size:10px;letter-spacing:.14em;color:var(--acid)}
.product h3{font-size:42px;margin:95px 0 20px}
.product p{color:#8e9095;max-width:410px;line-height:1.6}
.product-symbol{font:600 250px Manrope;color:#25272b;align-self:center;line-height:1}
.product-symbol span{font-size:50px;color:var(--acid)}
.outline{border:1px solid var(--line)}
.outline h3{margin-top:110px}
.outline a{color:var(--ink);position:absolute;bottom:45px}
.ai{max-width:1240px;margin:auto;padding:130px 28px;display:grid;grid-template-columns:1.1fr .9fr;border-top:1px solid var(--line)}
.ai-copy{padding-top:55px}
.ai-copy p{font-size:20px;line-height:1.6;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}
.pills span{border:1px solid var(--line);padding:10px 15px;border-radius:30px;font-size:13px}
.about{display:grid;grid-template-columns:.35fr 1fr;border-top:1px solid var(--line)}
.about-main>p{max-width:720px;font-size:19px;color:var(--muted);line-height:1.7}
.values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line)}
.values div{padding:25px 15px 0 0;display:flex;gap:25px}
.values strong{font-size:11px;color:#aaa}
.values span{font-weight:600}
.contact{min-height:620px;background:var(--ink);color:white;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.contact h2{font-size:clamp(52px,7vw,94px);line-height:1;margin:22px 0}
.contact p{color:#909298;font-size:18px}
.contact .large{margin-top:25px;min-width:310px}
.contact-orbit{position:absolute;width:850px;height:850px;border:1px solid #ffffff0e;border-radius:50%}
.contact>*:not(.contact-orbit){position:relative;z-index:1}
footer{max-width:1240px;margin:auto;padding:50px 28px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:12px;color:#777}
footer div{display:flex;gap:35px}
footer p{text-align:right;line-height:1.5}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){header nav,.nav-cta{display:none}
.menu{display:block}
.hero{min-height:780px;padding-top:75px}
h1{font-size:62px}
.lead{font-size:17px}
.hero-visual{width:260px;height:260px;right:-50px;top:430px;opacity:.7}
.core{inset:92px}
.orbit{inset:20px}
.o2{inset:65px}
.tag{display:none}
.signal{left:28px;right:auto;bottom:35px;width:calc(100% - 56px)}
.section-head,.custom,.ai,.about{grid-template-columns:1fr}
.section-head>p{margin-top:30px}
.services{grid-template-columns:1fr}
.service{min-height:280px}
.custom-art{padding:55px 22px}
.product-grid{grid-template-columns:1fr}
.product{min-height:390px;padding:32px}
.product.dark{display:block}
.product-symbol{position:absolute;right:-10px;bottom:-20px;font-size:180px}
.product h3{font-size:34px}
.about-label{margin-bottom:28px}
.values{grid-template-columns:1fr}
.values div{border-bottom:1px solid var(--line);padding:22px 0}
.hero-actions{flex-direction:column;align-items:flex-start}
.button{width:100%}
footer{grid-template-columns:1fr;gap:30px}
footer p{text-align:left}
.contact{padding:80px 24px}
.section,.about,.ai{padding-top:90px;padding-bottom:90px}
}

/* Theme and commercial enquiry evolution */
html[data-theme="dark"]{color-scheme:dark;--ink:#f4f5f2;--muted:#a2a5aa;--paper:#0d0f11;--surface:#15171a;--surface-2:#1c1f23;--line:#2d3035;--dark:#111316;--inverse:#f4f5f2;--inverse-text:#101214;--shadow:#0008}
body{transition:background-color .3s ease,color .3s ease}
.header-actions{display:flex;align-items:center;gap:22px}
.theme-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:17px;transition:border-color .2s,transform .2s,background .3s}
.theme-toggle:hover{border-color:var(--acid);transform:rotate(12deg)}
.mark,.primary{background:var(--inverse);color:var(--inverse-text)}
.primary:hover{filter:brightness(.88)}
.tag,.metrics>div{background:var(--surface)}
.hero-visual .orbit{border-color:var(--line)}
.outline,.ghost,.pills span{background:transparent}
html[data-theme="dark"] h1 em,html[data-theme="dark"] h2 em{-webkit-text-stroke-color:var(--ink)}
html[data-theme="dark"] .custom,html[data-theme="dark"] .service.featured,html[data-theme="dark"] .product.dark{background:#171a1e}
html[data-theme="dark"] .window{background:#e7e8e4;color:#111113}
html[data-theme="dark"] .contact{background:#080a0b}
.contact{max-width:none;padding:120px max(28px,calc((100vw - 1184px)/2));min-height:auto;text-align:left;display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:90px;background:var(--dark)}
.contact-intro,.form-shell{position:relative;z-index:1}
.contact h2{font-size:clamp(52px,7vw,92px);margin:22px 0 28px}
.contact-intro>p{color:#a2a5aa;font-size:18px;line-height:1.7;max-width:520px}
.form-shell{background:var(--surface);border:1px solid var(--line);padding:38px;color:var(--ink);box-shadow:0 30px 90px var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
#analysis-form>label{display:block;margin-top:24px}
#analysis-form label{font-size:13px;font-weight:600;letter-spacing:.02em}
input,select,textarea{width:100%;margin-top:9px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:3px;padding:14px 15px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
input,select{min-height:50px}
textarea{resize:vertical;min-height:170px;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:var(--acid);box-shadow:0 0 0 3px color-mix(in srgb,var(--acid) 18%,transparent)}
.description-label span{font-family:Manrope;font-size:20px;letter-spacing:-.02em}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:26px}
.form-foot p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:380px}
.submit{border:0;background:var(--acid);color:#111;cursor:pointer;white-space:nowrap}
.form-success{text-align:center;padding:55px 20px}
.form-success>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;margin:0 auto 24px;background:var(--acid);color:#111;font-size:25px}
.form-success h3{font-size:34px}.form-success p{color:var(--muted);line-height:1.65;max-width:470px;margin:18px auto}
.text-button{border:0;border-bottom:1px solid currentColor;background:none;color:var(--ink);padding:4px 0;cursor:pointer;font:inherit}
@media(max-width:850px){.header-actions .nav-cta{display:none}.header-actions{margin-left:auto;margin-right:8px}.theme-toggle{width:36px;height:36px}.contact{grid-template-columns:1fr;gap:50px;padding:90px 24px}.form-shell{padding:25px}.form-grid{grid-template-columns:1fr}.form-foot{align-items:stretch;flex-direction:column}.submit{width:100%}}

/* Sanma chromatic identity: blue leads, lime energizes */
.mark{background:var(--brand);color:var(--acid)}
.nav-cta,.service a,.outline a{color:var(--brand)}
.nav-cta:hover,.service a:hover,.outline a:hover{color:var(--brand-hover)}
.theme-toggle:hover{border-color:var(--brand);color:var(--brand-hover)}
.primary{background:var(--brand);color:#fff}
.primary:hover{background:var(--brand-hover);filter:none}
.primary b,.submit b{color:var(--acid)}
.core{background:linear-gradient(145deg,var(--brand-hover),var(--brand-deep));color:var(--acid);box-shadow:0 25px 65px color-mix(in srgb,var(--brand) 32%,transparent)}
.hero-visual .o2{border-color:color-mix(in srgb,var(--brand) 62%,var(--line))}
.tag{border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}
.service.featured{background:linear-gradient(145deg,var(--brand-deep),#14245f)}
.service.featured .num{color:#aebcff}
.custom-art{background:linear-gradient(145deg,var(--brand),var(--brand-deep))}
.window{box-shadow:0 25px 80px color-mix(in srgb,var(--brand-deep) 52%,transparent)}
.dash aside b{background:var(--brand-deep);color:var(--acid)}
.chart i:nth-child(6){background:var(--brand)}
.product.dark{background:linear-gradient(145deg,#15171b,var(--brand-deep))}
.product-symbol{color:color-mix(in srgb,var(--brand) 32%,#25272b)}
.product-symbol span{color:var(--acid)}
.pills span:hover{border-color:var(--brand);color:var(--brand)}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.submit{background:var(--brand);color:#fff}
.submit:hover{background:var(--brand-hover)}
.form-success>span{background:var(--brand);color:#fff}
html[data-theme="dark"] .service.featured{background:linear-gradient(145deg,var(--brand-deep),#101b49)}
html[data-theme="dark"] .product.dark{background:linear-gradient(145deg,#171a1e,#10236f)}

/* Contrast and mobile legibility refinements */
.white{color:#111113}
.product.dark>div:first-child{position:relative;z-index:2}
.product-symbol{z-index:1;color:rgba(255,255,255,.14);-webkit-text-stroke:1px rgba(189,255,0,.24)}
.product-symbol span{color:rgba(189,255,0,.82);-webkit-text-stroke:0}
.outline .soon{color:var(--brand-deep);font-weight:700}
.pills span{transition:color .2s,border-color .2s,background-color .2s}
.pills span:hover{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme="dark"] .pills span:hover{background:color-mix(in srgb,var(--brand) 25%,var(--surface));border-color:var(--brand-hover);color:#dbe2ff}
html[data-theme="dark"] .outline .soon{color:#9eb0ff}
@media(max-width:850px){.product.dark{isolation:isolate}.product.dark>div:first-child{max-width:100%}.product-symbol{right:-12px;bottom:-30px;font-size:150px;opacity:1;color:rgba(255,255,255,.1);-webkit-text-stroke-color:rgba(189,255,0,.18)}.product-symbol span{font-size:40px}.product.dark h3,.product.dark p{position:relative;z-index:2}.pills span:hover{background:color-mix(in srgb,var(--brand) 18%,var(--surface));color:var(--ink)}}

/* Contact form delivery states */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-error{margin:18px 0 0!important;color:#ff9c9c!important;font-size:13px!important;line-height:1.5!important}
.submit:disabled{cursor:wait;opacity:.68}
