:root{
  --bg:#f5f7f5;
  --paper:#ffffff;
  --ink:#101713;
  --muted:#5e6b63;
  --line:#d7ded9;
  --soft:#e9efeb;
  --signal:#1f5cff;
  --signal-dark:#1545c6;
  --dark:#0d1712;
  --dark-2:#15221b;
  --light:#f6faf7;
  --max:1180px;
  --radius:18px;
  --shadow:0 18px 50px rgba(15,28,19,.08);
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit}
h1,h2,h3,p,ol,ul{margin-top:0}
h1,h2,h3{letter-spacing:-.035em;line-height:1.05}
h1{font-size:clamp(3rem,7vw,6.6rem);max-width:12ch;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.8rem,5vw,4.9rem);line-height:1.05}
h2{font-size:clamp(2.1rem,4vw,4.25rem);margin-bottom:1.2rem}
h3{font-size:clamp(1.25rem,2vw,1.65rem);margin-bottom:.55rem}
p{color:var(--muted)}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section{padding:clamp(5rem,9vw,8.5rem) 0}
.section-rule{border-top:1px solid var(--line)}
.section-tint{background:#edf2ee}
.skip-link{
  position:fixed;
  inset:10px auto auto 10px;
  transform:translateY(-160%);
  z-index:1000;
  background:var(--ink);
  color:#fff;
  padding:.75rem 1rem;
  border-radius:8px;
}
.skip-link:focus{transform:none}
.sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(245,247,245,.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(215,222,217,.75);
}
.nav-shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{
  display:inline-flex;
  align-items:center;
  gap:.72rem;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.16em;
  font-size:.86rem;
}
.brand-mark{
  width:34px;height:34px;
  display:grid;place-items:center;
  background:var(--ink);
  color:white;
  border-radius:9px;
  letter-spacing:-.05em;
  font-weight:800;
}
.site-nav{display:flex;align-items:center;gap:1.8rem;font-size:.94rem}
.site-nav a{text-decoration:none;color:#37433b}
.site-nav a:hover{color:var(--ink)}
.nav-cta{
  border:1px solid var(--ink);
  padding:.7rem 1rem;
  border-radius:999px;
}
.nav-toggle{display:none;border:0;background:none;padding:.5rem}
.nav-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--ink);margin:5px 0}
.hero{padding-top:clamp(5rem,10vw,9rem)}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  align-items:end;
  gap:clamp(3rem,6vw,7rem);
}
.eyebrow{
  margin-bottom:1.3rem;
  color:#344339;
  font-size:.76rem;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.eyebrow-light{color:#a8b9ad}
.lede{font-size:clamp(1.15rem,2vw,1.45rem);max-width:58ch}
.actions{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;margin-top:2rem}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.82rem 1.22rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  transition:transform .18s ease,background .18s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--signal);color:#fff}
.button-primary:hover{background:var(--signal-dark)}
.button-light{background:#f5f7f5;color:var(--ink)}
.text-link{text-underline-offset:.28em;font-weight:650}
.system-map{
  min-height:500px;
  position:relative;
  border:1px solid var(--line);
  background:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px),
    var(--paper);
  background-size:42px 42px;
  overflow:hidden;
}
.system-map::before,
.system-map::after{
  content:"";
  position:absolute;
  background:var(--signal);
  opacity:.8;
}
.system-map::before{width:1px;height:64%;left:50%;top:18%}
.system-map::after{height:1px;width:72%;left:14%;top:50%}
.system-core{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:190px;
  padding:1.2rem;
  background:var(--dark);
  color:white;
  box-shadow:var(--shadow);
}
.system-core strong,.system-core small,.system-core span{display:block}
.system-core strong{font-size:1.25rem;margin:.35rem 0}
.system-core small{color:#b6c4bb}
.system-kicker{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#8d9d92}
.system-node{
  position:absolute;
  display:flex;
  gap:.5rem;
  align-items:center;
  background:var(--paper);
  border:1px solid var(--line);
  padding:.7rem .85rem;
  font-weight:700;
  font-size:.86rem;
  box-shadow:0 8px 24px rgba(15,28,19,.05);
}
.system-node span{font-size:.65rem;color:var(--signal)}
.node-ai{left:8%;top:12%}
.node-auto{right:7%;top:18%}
.node-soft{right:8%;bottom:16%}
.node-data{left:9%;bottom:18%}
.node-cloud{left:39%;bottom:5%}
.section-heading{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(2rem,5vw,6rem);
  align-items:end;
  margin-bottom:clamp(3rem,6vw,5.5rem);
}
.section-heading p{font-size:1.06rem}
.capability-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.capability-list li{
  display:grid;
  grid-template-columns:70px minmax(220px,.8fr) minmax(280px,1.2fr);
  gap:1.5rem;
  align-items:start;
  padding:1.8rem 0;
  border-bottom:1px solid var(--line);
}
.capability-list .index{color:var(--signal);font-size:.76rem;font-weight:750}
.capability-list p{margin-bottom:0}
.product-section{background:var(--dark);color:white}
.product-section p{color:#b7c4bc}
.product-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:clamp(3rem,7vw,8rem);
  align-items:center;
}
.product-name{color:white!important;font-weight:800;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;margin-bottom:1rem}
.product-copy h2{font-size:clamp(2.5rem,5vw,5rem)}
.product-points{list-style:none;padding:0;margin:2rem 0;display:grid;gap:.7rem}
.product-points li{padding-left:1.2rem;position:relative;color:#e8f0eb}
.product-points li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:#58dd8b;border-radius:50%}
.product-plane{border:1px solid #365043;background:var(--dark-2);padding:1.3rem}
.plane-label{font-size:.7rem;color:#8ea094;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2rem}
.plane-row{
  display:grid;
  grid-template-columns:46px 1fr 70px;
  gap:1rem;
  align-items:center;
  border-top:1px solid #365043;
  padding:1.1rem 0;
}
.plane-row span{font-size:.7rem;color:#80a48d}
.plane-row strong{font-size:1.1rem}
.plane-row i{height:8px;border-radius:8px;background:#273a30;position:relative}
.plane-row i::after{content:"";position:absolute;inset:0 auto 0 0;width:52%;background:#57db89;border-radius:inherit}
.plane-row.emphasis{background:#20352a;margin-inline:-.7rem;padding-inline:.7rem}
.plane-row.emphasis i::after{width:85%}
.plane-status{border-top:1px solid #365043;padding-top:1rem;color:#b9c9bf;font-size:.86rem}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#57db89;margin-right:.5rem}
.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.solution-grid article{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-height:250px}
.solution-grid article span,.approach-grid li>span{font-size:.72rem;color:var(--signal);font-weight:750}
.solution-grid h3{margin-top:3rem}
.approach-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.approach-grid li{padding:1.6rem 1.6rem 1.6rem 0;border-top:1px solid #cbd5ce}
.approach-grid h3{margin-top:2.5rem}
.google-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.google-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:clamp(3rem,7vw,8rem)}
.google-grid p{font-size:1.05rem}
.cta-section{background:#f0f3f1}
.cta-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(3rem,7vw,8rem);align-items:start}
.cta-grid p{font-size:1.1rem}
.site-footer{background:#0b100d;color:#dfe6e1;padding:4rem 0 1.5rem}
.site-footer p{color:#8ea096}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:3rem}
.footer-brand{color:white;margin-bottom:1rem}
.footer-links{display:grid;align-content:start;gap:.75rem}
.footer-links a{color:#acbbb1;text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #253129;margin-top:3rem;padding-top:1.25rem;font-size:.78rem;color:#7f9085}
.legal-hero{padding:6rem 0 3.5rem;border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1.06;max-width:13ch;margin-bottom:1rem}
.legal-meta{display:flex;gap:1rem;flex-wrap:wrap;color:#6b786f;font-size:.9rem}
.legal-wrap{display:grid;grid-template-columns:260px minmax(0,720px);gap:clamp(3rem,7vw,7rem);padding:4rem 0 7rem}
.legal-nav{position:sticky;top:110px;align-self:start;display:grid;gap:.5rem}
.legal-nav a{text-decoration:none;color:#6b786f;font-size:.9rem}
.legal-nav a:hover{color:var(--ink)}
.legal-content section{scroll-margin-top:110px;margin-bottom:3.2rem}
.legal-content h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:1rem}
.legal-content h3{font-size:1.15rem;margin-top:1.6rem}
.legal-content ul{padding-left:1.2rem;color:var(--muted)}
.legal-content li{margin:.45rem 0}
.legal-note{padding:1rem 1.15rem;background:#edf2ee;border-left:3px solid var(--signal)}
.legal-callout{padding:1.35rem;border:1px solid var(--line);background:#fff}
code{font:inherit;background:#edf2ee;padding:.08em .35em;border-radius:4px}
:focus-visible{outline:3px solid var(--signal);outline-offset:4px}
@media (max-width:900px){
  h1{font-size:clamp(3rem,11vw,5rem)}
  .hero-grid,.product-grid,.section-heading,.google-grid,.cta-grid,.legal-wrap{grid-template-columns:1fr}
  .system-map{min-height:420px}
  .solution-grid{grid-template-columns:1fr}
  .approach-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .legal-nav{position:static;display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:1rem}
}
@media (max-width:720px){
  .shell{width:min(calc(100% - 28px),var(--max))}
  .section{padding:4.5rem 0}
  .nav-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;
    inset:76px 0 auto 0;
    background:var(--bg);
    border-bottom:1px solid var(--line);
    padding:1.2rem 1.4rem 1.5rem;
    flex-direction:column;
    align-items:stretch;
    gap:.3rem;
  }
  .site-nav.is-open{display:flex}
  .site-nav a{padding:.75rem 0}
  .nav-cta{border:0;border-top:1px solid var(--line);border-radius:0;margin-top:.4rem}
  .hero{padding-top:4.5rem}
  .hero h1{font-size:clamp(2.55rem,9.2vw,4.25rem);line-height:1.04}
  .system-map{min-height:380px}
  .system-core{width:160px}
  .system-node{font-size:.75rem;padding:.55rem .65rem}
  .capability-list li{grid-template-columns:44px 1fr;gap:.8rem}
  .capability-list li p{grid-column:2}
  .approach-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:grid}
}
@media (max-width:420px){
  .system-map{min-height:350px;background-size:34px 34px}
  .node-cloud{left:30%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}