:root {
  --navy:#0b1f3b; --blue:#0078d4; --green:#00bfa6; --mint:#9fe3c6;
  --charcoal:#1f2937; --gray:#e9eef3; --muted:#596b7e; --line:#d8e2eb;
  --font:Inter,Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--navy); background:var(--navy); font-family:var(--font); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a,button,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--blue); outline-offset:6px; }
.hero a:focus-visible,.header a:focus-visible,.contact a:focus-visible,.contact button:focus-visible { outline-color:var(--mint); }
p,h1,h2,h3 { margin:0; }
p { line-height:1.75; }
svg { display:block; }
.container { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.skip { position:fixed; top:-80px; left:20px; z-index:100; padding:14px; background:white; color:var(--navy); }
.skip:focus { top:10px; }
.header { height:98px; position:relative; z-index:10; background:var(--navy); color:white; }
.nav { height:100%; display:flex; justify-content:space-between; align-items:center; gap:30px; border-bottom:1px solid #ffffff20; }
.brand { display:inline-flex; flex-shrink:0; background:transparent; border-radius:4px; padding:0; }
.brand img { display:block; width:280px; height:auto; }
.header nav { display:flex; align-items:center; gap:36px; }
.header nav a { font-size:12px; font-weight:500; color:#d5e0ec; }
.header nav a:hover { color:var(--mint); }
.header .nav-contact { display:flex; align-items:center; gap:32px; margin-left:16px; border:1px solid #ffffff45; padding:13px 18px; color:white; border-radius:4px; }
.nav-contact span { font-size:19px; }
.menu { display:none; }
.hero { position:relative; overflow:hidden; color:white; background:var(--navy); padding:74px 0 0; }
.hero-glow { position:absolute; pointer-events:none; right:-200px; top:-200px; width:1000px; height:1000px; background:radial-gradient(ellipse,#0078d423 0%,#00bfa60c 40%,transparent 65%); }
.hero-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:20px; align-items:center; position:relative; }
.eyebrow { display:flex; align-items:center; gap:9px; font-size:11px; font-weight:500; letter-spacing:.11em; line-height:1.5; }
.hero .eyebrow { color:var(--mint); margin-bottom:25px; }
.eyebrow i { width:6px; height:6px; border-radius:50%; background:var(--green); }
h1 { font-size:clamp(67px,7.3vw,106px); font-weight:500; letter-spacing:-.075em; line-height:1; }
h1>span { color:var(--mint); }
.hero-description { max-width:430px; color:#bacbde; font-size:15px; line-height:1.9; margin-top:29px; }
.hero-expertise { display:flex; flex-direction:column; gap:7px; border-left:2px solid var(--green); padding:2px 0 2px 14px; margin-top:21px; }
.hero-expertise strong { color:var(--mint); font-size:14px; font-weight:500; }
.hero-expertise span { color:#bacbde; font-size:11px; line-height:1.6; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:32px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:33px; border-radius:4px; min-height:56px; padding:17px 22px; font-weight:600; font-size:12px; transition:background .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.mint { background:var(--mint); color:var(--navy); }
.mint:hover { background:#b9f0da; }
.button>span { font-size:23px; line-height:1; font-weight:400; }
.subtle-link { font-size:11px; color:#d1dce9; display:flex; gap:15px; align-items:center; }
.subtle-link span { color:var(--mint); font-size:19px; }
.hero-footnote { display:flex; align-items:center; gap:9px; color:#98adc4; font-size:10px; margin-top:26px; }
.hero-footnote span { width:17px; height:1px; background:var(--green); }
.scene { min-width:0; height:580px; position:relative; margin-top:10px; isolation:isolate; }
.scene-grid { position:absolute; inset:20px -80px 0 -40px; opacity:.2; background-image:linear-gradient(#48778a33 1px,transparent 1px),linear-gradient(90deg,#48778a33 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(ellipse,black 25%,transparent 70%); z-index:-2; }
.orbit { position:absolute; border:1px solid #0078d42e; border-radius:50%; z-index:-1; }
.orbit-a { width:560px; height:420px; left:5px; top:50px; transform:rotate(-28deg); }
.orbit-b { width:640px; height:340px; left:-45px; top:140px; transform:rotate(27deg); border-color:#00bfa62b; }
.scene-caption { display:flex; gap:8px; align-items:center; margin:6px 0 25px 95px; color:#93aec6; font-size:10px; }
.live-dot,.blue-dot { width:5px; height:5px; display:inline-block; border-radius:50%; background:var(--green); }
.blue-dot { background:var(--blue); }
.dashboard { position:absolute; top:52px; left:55px; right:0; border:1px solid #ffffff26; border-radius:10px; background:linear-gradient(120deg,#193751f5,#102840fa 70%); box-shadow:0 35px 80px -30px #0009; transform:perspective(1400px) rotateY(-7deg) rotateX(3deg); }
.dashboard-top { display:flex; align-items:center; gap:10px; border-bottom:1px solid #ffffff15; padding:15px 19px; font-size:10px; color:#d6e4f0; }
.mini-mark { display:flex; align-items:flex-end; gap:3px; height:14px; }
.mini-mark span { width:3px; height:7px; border-radius:1px; background:var(--green); }
.mini-mark span:nth-child(2) { height:14px; background:var(--mint); }
.mini-mark span:nth-child(3) { height:10px; background:var(--blue); }
.demo-badge { font-size:8px; margin-left:auto; background:#9fe3c613; border:1px solid #9fe3c630; color:var(--mint); padding:4px 8px; border-radius:4px; }
.dashboard-content { padding:24px; }
.dashboard-heading { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }
.dashboard-heading p { font-size:9px; color:#9cb5cb; margin-bottom:7px; }
.dashboard-heading h2 { font-size:23px; font-weight:500; letter-spacing:-.04em; line-height:1.2; }
.period { color:#9eb4c9; font-size:8px; white-space:nowrap; border:1px solid #ffffff15; padding:6px 8px; border-radius:4px; }
.metric-row { display:flex; justify-content:space-between; gap:12px; margin:25px 0; }
.metric-row>div>span { display:block; font-size:8px; color:#9cb5cb; margin-bottom:7px; }
.metric-row strong { font-size:26px; font-weight:500; letter-spacing:-.04em; white-space:nowrap; }
.metric-row strong span { font-size:13px; color:#9cb5cb; }
.metric-row .metric-quality strong { font-size:12px; letter-spacing:0; color:var(--mint); line-height:32px; }
.metric-quality strong i { display:inline-block; width:5px; height:5px; border-radius:50%; margin-right:4px; background:var(--green); }
.chart-heading { display:flex; justify-content:space-between; font-size:8px; color:#acbfd1; margin-bottom:10px; }
.chart-heading span+span { display:flex; align-items:center; gap:5px; font-size:7px; }
.chart-heading i,.chart-heading b { display:inline-block; width:6px; height:2px; background:var(--green); }
.chart-heading b { background:#53718d; margin-left:5px; }
.chart { width:100%; height:auto; }
.chart-line { stroke-dasharray:600; stroke-dashoffset:600; animation:draw 2.2s .2s ease forwards; }
.chart-months { display:flex; justify-content:space-between; font-size:7px; color:#9ab1c6; margin-top:7px; }
.dashboard-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff15; margin-top:22px; padding-top:13px; color:#98b5cc; font-size:8px; }
.dashboard-bottom i { display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--green); margin-right:5px; }
.dashboard-bottom>span+span { color:var(--mint); font-size:16px; }
.float-panel { position:absolute; border:1px solid #6a93b64d; background:#0f2b46; border-radius:8px; box-shadow:0 18px 40px #0005; }
.sources { left:0; top:282px; padding:17px 16px; width:164px; transform:rotate(-4deg); }
.float-label { display:flex; align-items:center; gap:7px; font-size:9px; color:#a6bed2; }
.sources>.float-label { border-bottom:1px solid #ffffff18; padding-bottom:11px; margin-bottom:6px; }
.source-line { display:flex; align-items:center; gap:9px; padding-top:11px; font-size:9px; color:#d5e2ec; }
.source-icon { width:23px; height:23px; border:1px solid #ffffff1f; display:grid; place-items:center; color:#87c8e8; border-radius:4px; }
.source-line i { height:4px; width:4px; border-radius:50%; background:var(--green); margin-left:auto; }
.decision { right:-12px; bottom:18px; display:flex; gap:14px; padding:21px 23px; border-color:#00bfa64d; background:linear-gradient(120deg,#133c4c,#102a43); transform:rotate(2deg); }
.decision-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:6px; background:#00bfa61c; color:var(--mint); font-size:20px; }
.decision strong { display:block; font-size:18px; letter-spacing:-.025em; font-weight:500; line-height:1.3; margin-top:8px; }
.decision p { font-size:8px; color:#97b4c5; margin-top:9px; }
.demo-note { position:absolute; left:15px; bottom:-14px; font-size:9px; color:#a6bed2; }
.hero-strip { margin-top:70px; border-top:1px solid #ffffff26; display:grid; grid-template-columns:1.15fr 1fr 1fr 1fr 40px; align-items:center; gap:25px; padding:27px 0 30px; }
.hero-strip>p { font-size:12px; color:#90a9c1; line-height:1.6; }
.hero-strip>p strong { color:#d6e4ef; font-weight:500; }
.hero-strip>div { display:grid; grid-template-columns:25px 1fr; align-items:center; gap:5px 10px; }
.hero-strip>div>span { font-size:9px; color:var(--green); grid-row:span 2; }
.hero-strip>div>strong { font-size:12px; font-weight:500; }
.hero-strip small { font-size:9px; color:#90a9c1; }
.hero-strip>a { display:grid; place-items:center; width:36px; height:36px; border:1px solid #ffffff30; border-radius:50%; color:var(--mint); }
.section { padding:115px 0; }
.solutions { background:#fff; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:70px; margin-bottom:58px; }
.section-heading .eyebrow { color:var(--blue); margin-bottom:24px; }
.section-heading h2 { font-size:clamp(38px,4.2vw,60px); font-weight:500; letter-spacing:-.055em; line-height:1.07; }
.section-heading h2 span { color:#75899c; }
.section-lead { max-width:350px; font-size:14px; color:var(--muted); padding-bottom:4px; }
.service { border-top:1px solid var(--line); }
.service:last-child { border-bottom:1px solid var(--line); }
.service summary { list-style:none; display:grid; grid-template-columns:70px 1fr 44px; gap:15px; align-items:center; padding:31px 0; cursor:pointer; }
.service summary::-webkit-details-marker { display:none; }
.service-number { font-size:11px; color:#7590a7; align-self:start; padding-top:7px; }
.service-category { display:block; color:var(--blue); font-size:11px; margin-bottom:12px; }
.service h3 { font-size:clamp(25px,2.7vw,38px); font-weight:500; line-height:1.2; letter-spacing:-.04em; }
.service-toggle { width:37px; height:37px; border:1px solid var(--line); border-radius:50%; position:relative; transition:background .2s; }
.service-toggle::before,.service-toggle::after { content:''; position:absolute; width:12px; height:1px; background:var(--navy); left:11px; top:17px; }
.service-toggle::after { transform:rotate(90deg); transition:transform .2s; }
.service[open] .service-toggle { background:var(--navy); border-color:var(--navy); }
.service[open] .service-toggle::before,.service[open] .service-toggle::after { background:white; }
.service[open] .service-toggle::after { transform:rotate(0); }
.service summary:hover h3 { color:var(--blue); }
.service-body { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:0 0 40px 85px; align-items:center; }
.service-explanation p { font-size:14px; color:var(--muted); max-width:450px; }
.service-explanation ul { margin:19px 0 25px; list-style:none; padding:0; }
.service-explanation li { font-size:12px; line-height:1.7; padding-left:17px; margin:9px 0; position:relative; }
.service-explanation li::before { content:'↗'; color:#008476; position:absolute; left:0; }
.text-link { display:inline-flex; align-items:center; gap:20px; font-size:12px; font-weight:500; }
.text-link span { color:var(--blue); font-size:18px; }
.text-link:hover { color:var(--blue); }
.bi-preview { background:#f4f7fa; border:1px solid var(--gray); border-radius:6px; padding:25px; max-width:450px; }
.preview-top { display:flex; justify-content:space-between; gap:12px; font-size:11px; font-weight:500; margin-bottom:24px; }
.preview-top>span+span { font-size:8px; color:#657d91; font-weight:400; }
.bar-row { display:grid; grid-template-columns:68px 1fr 16px; align-items:center; gap:15px; margin-top:17px; font-size:10px; }
.bar-row>div { height:7px; background:#e1e9f0; border-radius:5px; }
.bar-row i { display:block; height:7px; width:var(--size); background:linear-gradient(90deg,var(--blue),var(--green)); border-radius:5px; }
.bar-row b { font-weight:400; color:var(--blue); }
.preview-footer { margin-top:26px; border-top:1px solid var(--line); padding-top:16px; display:flex; align-items:center; gap:8px; font-size:9px; color:var(--muted); }
.service-principle { padding:26px 32px; border-left:2px solid var(--green); background:#f4f7fa; }
.service-principle>span { font-size:10px; color:var(--muted); }
.service-principle p { font-size:30px; line-height:1.2; letter-spacing:-.04em; margin-top:18px; }
.service-principle em { font-style:normal; color:var(--blue); }
.approach { background:var(--gray); }
.process { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; list-style:none; margin:65px 0 0; padding:0; }
.process li { border-top:1px solid #b9cbd9; position:relative; padding-top:25px; }
.process li::before { content:''; position:absolute; top:-3px; left:0; width:5px; height:5px; background:var(--blue); border-radius:50%; }
.process li>span { display:block; color:var(--blue); font-size:10px; margin-bottom:32px; }
.process h3 { font-size:21px; font-weight:500; line-height:1.3; letter-spacing:-.035em; margin-bottom:18px; }
.process p { font-size:12px; color:var(--muted); max-width:240px; }
.about { background:white; }
.about-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:100px; }
.about .eyebrow { color:var(--blue); margin-bottom:24px; }
.about h2 { font-size:clamp(40px,4.8vw,68px); line-height:1.05; letter-spacing:-.06em; font-weight:500; }
.about h2 span { color:var(--blue); }
.english { font-size:11px; color:var(--muted); margin-top:27px; }
.about-copy .large-copy { font-size:25px; line-height:1.4; letter-spacing:-.03em; margin-bottom:24px; }
.about-copy>p:not(.large-copy) { font-size:14px; color:var(--muted); }
.values { display:flex; gap:15px 25px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:24px; margin-top:29px; font-size:10px; color:var(--muted); }
.contact { background:var(--navy); color:white; position:relative; overflow:hidden; }
.contact::before { content:''; position:absolute; width:700px; height:700px; border-radius:50%; right:-200px; top:-100px; border:1px solid #00bfa61f; pointer-events:none; }
.contact>.container { position:relative; }
.contact-top { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; margin-bottom:44px; }
.contact .eyebrow { color:var(--mint); }
.contact-top>p+p { color:#a7bcd0; font-size:13px; line-height:1.7; }
.contact h2 { font-size:clamp(52px,7.5vw,108px); line-height:1; letter-spacing:-.07em; font-weight:500; }
.contact h2 span { color:var(--mint); }
.contact-bottom { display:flex; align-items:flex-start; gap:45px; margin-top:50px; }
.contact-email>a { font-size:13px; color:#e0eaf3; }
#copy-email { display:block; margin-top:8px; border:0; background:transparent; color:#9ab4cc; font-size:10px; padding:0; }
#copy-email:hover { color:var(--mint); }
#copy-email span { margin-left:8px; font-size:15px; }
#copy-status { font-size:10px; color:var(--mint); margin-top:8px; min-height:17px; max-width:330px; }
.mail-note { font-size:9px; margin-top:17px; color:#91aac2; }
footer { background:white; padding:35px 0 23px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-bottom:28px; }
.footer-top .brand { padding:0; }
.footer-top .brand img { width:240px; }
.footer-top p { font-size:11px; color:var(--muted); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:19px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; }
@keyframes draw { to { stroke-dashoffset:0; } }
@media(min-width:1600px) { .hero { padding-top:90px; } .hero-strip { margin-top:80px; } }
@media(max-width:1150px) {
  .container { width:calc(100% - 64px); }
  .hero { padding-top:55px; } h1 { font-size:78px; }
  .hero-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .scene { height:540px; } .dashboard { left:25px; top:65px; }
  .dashboard-content { padding:19px; }
  .dashboard-heading h2 { font-size:20px; } .period { display:none; }
  .metric-quality { display:none; } .metric-row { justify-content:flex-start; gap:45px; }
  .sources { width:146px; left:0; top:305px; }
  .decision { right:-3px; bottom:8px; padding:18px; }
  .decision strong { font-size:16px; } .decision p { display:none; }
  .scene-caption { margin-left:25px; font-size:9px; }
  .demo-note { left:0; bottom:-22px; }
  .hero-description { font-size:14px; max-width:360px; }
  .hero-actions { gap:19px; } .hero-strip { margin-top:65px; }
  .service-body { gap:40px; padding-left:65px; }
  .service summary { grid-template-columns:50px 1fr 40px; }
  .about-grid { gap:60px; } .section { padding:90px 0; }
}
@media(max-width:800px) {
  .container { width:calc(100% - 40px); }
  .header { height:90px; } .brand img { width:220px; }
  .brand { padding:0; }
  .menu { display:flex; align-items:center; gap:14px; background:transparent; border:1px solid #ffffff35; color:white; border-radius:4px; padding:10px 12px; font-size:11px; }
  .header nav { display:none; position:absolute; z-index:20; top:90px; left:0; right:0; padding:15px 20px 25px; background:var(--navy); border-bottom:1px solid #ffffff26; }
  .header nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav>a { padding:15px 0; } .header nav .nav-contact { margin:12px 0 0; justify-content:space-between; padding:14px; }
  .hero { padding-top:47px; }
  .hero-grid { grid-template-columns:1fr; gap:0; }
  h1 { font-size:clamp(70px,12vw,96px); }
  .hero .eyebrow { font-size:10px; margin-bottom:25px; }
  .hero-description { font-size:14px; max-width:480px; margin-top:24px; }
  .hero-actions { gap:20px; margin-top:26px; }
  .hero-footnote { font-size:9px; margin-top:23px; }
  .scene { max-width:590px; width:100%; height:560px; margin:45px auto 10px; }
  .dashboard { top:48px; left:40px; right:10px; } .dashboard-content { padding:24px; }
  .dashboard-heading h2 { font-size:25px; } .metric-quality { display:block; }
  .metric-row { justify-content:space-between; gap:10px; }
  .sources { left:0; top:300px; } .decision { right:0; bottom:10px; }
  .demo-note { left:0; bottom:-15px; font-size:8px; } .scene-caption { margin-left:40px; }
  .hero-strip { margin-top:40px; grid-template-columns:1fr 1fr 1fr; gap:20px 12px; padding:25px 0 30px; }
  .hero-strip>p { grid-column:span 3; font-size:12px; }
  .hero-strip>p br { display:none; } .hero-strip>a { display:none; }
  .hero-strip>div { grid-template-columns:1fr; gap:5px; }
  .hero-strip>div>span { grid-row:auto; margin-bottom:4px; }
  .hero-strip>div>strong { font-size:12px; } .hero-strip small { font-size:8px; }
  .section { padding:65px 0; }
  .section-heading { display:block; margin-bottom:35px; }
  .section-heading h2 { font-size:41px; }
  .section-lead { margin-top:25px; max-width:500px; font-size:13px; }
  .section-heading .eyebrow { font-size:10px; margin-bottom:21px; }
  .service summary { grid-template-columns:28px 1fr 29px; gap:10px; padding:27px 0; }
  .service-number { font-size:9px; padding-top:2px; }
  .service-category { font-size:10px; margin-bottom:10px; }
  .service h3 { font-size:26px; }
  .service-toggle { width:28px; height:28px; }
  .service-toggle::before,.service-toggle::after { left:7px; top:12px; }
  .service-body { grid-template-columns:1fr; gap:25px; padding:0 0 30px 38px; }
  .service-explanation p { font-size:13px; } .service-explanation li { font-size:11px; }
  .bi-preview { padding:20px; max-width:none; }
  .bar-row { grid-template-columns:57px 1fr 10px; gap:9px; }
  .process { grid-template-columns:1fr 1fr; gap:32px 23px; margin-top:40px; }
  .process h3 { font-size:19px; } .process p { font-size:11px; }
  .process li>span { font-size:9px; margin-bottom:23px; }
  .about-grid { grid-template-columns:1fr; gap:35px; }
  .about h2 { font-size:49px; }
  .about-copy .large-copy { font-size:24px; }
  .about-copy>p:not(.large-copy) { font-size:13px; }
  .contact-top { display:block; margin-bottom:33px; }
  .contact-top>p+p { margin-top:20px; font-size:12px; }
  .contact h2 { font-size:clamp(47px,9vw,70px); }
  .contact-bottom { flex-wrap:wrap; gap:28px; margin-top:35px; }
  .mail-note { margin-top:6px; } .footer-top { flex-wrap:wrap; gap:23px; }
  .footer-top p { order:3; flex-basis:100%; font-size:10px; }
  .footer-top .brand img { width:220px; }
  .footer-top .text-link { font-size:10px; gap:9px; }
  .footer-bottom { font-size:8px; }
}
@media(max-width:440px) {
  .header .nav { gap:12px; }
  .header .brand img { width:clamp(170px,53vw,220px); }
  .header .menu { gap:8px; padding:10px; }
  .scene { height:485px; }
  .dashboard { left:22px; right:-2px; } .dashboard-content { padding:19px; }
  .dashboard-heading h2 { font-size:22px; }
  .metric-quality { display:none; } .metric-row { justify-content:flex-start; gap:38px; margin:21px 0; }
  .scene-caption { margin-left:22px; font-size:8px; }
  .sources { top:265px; width:130px; padding:13px; }
  .source-line { padding-top:7px; font-size:8px; }
  .decision { bottom:8px; padding:15px; gap:10px; right:-2px; }
  .decision strong { font-size:14px; }
  .decision .float-label { font-size:8px; }
  .decision-icon { width:25px; height:25px; }
  .demo-note { font-size:8px; bottom:-23px; max-width:100%; }
  .service h3 { font-size:23px; } .section-heading h2 { font-size:37px; }
  .service-body { padding-left:0; }
  .metric-row strong { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .chart-line { stroke-dashoffset:0; }
}
