:root {
  --ink: #07111f;
  --ink-2: #0c1929;
  --blue: #2a6df4;
  --cyan: #80e8df;
  --paper: #f3f1eb;
  --white: #fff;
  --muted: #627083;
  --line: rgba(7,17,31,.13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
a:focus-visible, button:focus-visible { outline:3px solid var(--blue);outline-offset:4px; }
.approach a:focus-visible, .contact a:focus-visible { outline-color:var(--white); }

.ambient { position: fixed; width: 520px; height: 520px; border-radius: 50%; filter: blur(120px); opacity: .14; pointer-events: none; z-index: -1; }
.ambient-one { background: #5f9fff; top: -260px; right: -180px; }
.ambient-two { background: #62e4d7; bottom: -350px; left: -280px; }

.site-header {
  width: min(1320px, calc(100% - 64px));
  height: 94px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 20;
}
.brand { display: inline-flex; align-items: center; justify-self: start; }
.brand-wordmark { display:block; width:clamp(145px,13vw,184px); height:auto; }
.desktop-nav { display: flex; align-items: center; gap: 38px; font-size: 14px; color: #394658; }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--ink); transition: width .25s ease; }
.desktop-nav a:hover::after { width: 100%; }
.header-cta { justify-self: end; font-size: 14px; font-weight: 600; display: flex; gap: 11px; align-items: center; }
.header-cta span { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; transition: .25s ease; }
.header-cta:hover span { color: white; background: var(--ink); transform: translate(2px,-2px); }
.menu-button, .mobile-nav { display: none; }

.hero {
  width: min(1320px, calc(100% - 64px));
  min-height: 690px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.06fr .94fr;
  gap: 70px;
  align-items: center;
  padding: 72px 0 82px;
}
.eyebrow { margin: 0 0 26px; color: #5b697a; text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.eyebrow > span { width: 20px; height: 1px; background: var(--blue); }
.hero h1, .section h2 { margin: 0; font-family: Manrope, sans-serif; font-weight: 600; letter-spacing: -.055em; line-height: .99; }
.hero h1 { font-size: clamp(54px, 5.8vw, 91px); max-width: 840px; }
.hero h1 em, .approach h2 em { color: var(--blue); font-style: normal; }
.hero-lede { margin: 34px 0 0; max-width: 620px; color: var(--muted); font-size: 19px; line-height: 1.65; }
.hero-actions { margin-top: 38px; display: flex; gap: 13px; flex-wrap: wrap; }
.button { min-height: 54px; padding: 0 22px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; gap: 26px; font-size: 14px; font-weight: 600; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink); color: white; }
.button-primary:hover { background: #12243a; }
.button-secondary { border: 1px solid var(--line); background: rgba(255,255,255,.35); }

.hero-visual { min-height: 520px; position: relative; display: grid; place-items: center; isolation: isolate; }
.hero-visual::before { content: ""; position: absolute; inset: 16px; background: radial-gradient(circle at 50% 50%, rgba(42,109,244,.14), transparent 58%), linear-gradient(rgba(7,17,31,.045) 1px, transparent 1px), linear-gradient(90deg,rgba(7,17,31,.045) 1px, transparent 1px); background-size: auto, 36px 36px, 36px 36px; mask-image: radial-gradient(circle, #000 25%, transparent 72%); z-index: -2; }
.orbit { position: absolute; border: 1px solid rgba(42,109,244,.16); border-radius: 50%; z-index: -1; }
.orbit-one { width: 470px; height: 470px; }
.orbit-two { width: 350px; height: 350px; border-style: dashed; animation: rotate 32s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }
.signal-card { width: min(400px, 86%); min-height: 370px; padding: 24px; border-radius: 14px; color: white; background: linear-gradient(145deg, rgba(16,34,55,.98), rgba(5,15,27,.98)); box-shadow: 0 36px 85px rgba(7,17,31,.28); position: relative; overflow: hidden; }
.signal-card::before { content:""; position:absolute; width: 240px; height:240px; border-radius:50%; background: var(--blue); filter:blur(90px); opacity:.22; top:-110px; right:-90px; }
.signal-top { display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #adbac9; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.status { display: flex; align-items: center; gap: 7px; color: #d5fff9; }
.status i { width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 12px var(--cyan); }
.signal-main { padding: 62px 0 54px; }
.signal-main p { margin: 0 0 10px; color: #9dabbd; font-size: 15px; }
.signal-main strong { font-family: Manrope, sans-serif; font-size: clamp(35px,4vw,49px); letter-spacing: -.05em; font-weight: 600; }
.signal-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.1); }
.signal-grid div { padding-top: 20px; }
.signal-grid div + div { border-left:1px solid rgba(255,255,255,.1); padding-left:18px; }
.signal-grid span { color: var(--cyan); font-size: 12px; letter-spacing: .1em; }
.signal-grid p { margin:8px 0 0; color:#c7d0db; font-size:12px; line-height:1.45; }
.floating-note { position:absolute; background:rgba(255,255,255,.88); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.8); box-shadow:0 16px 38px rgba(7,17,31,.12); border-radius:30px; padding:12px 16px; font-size:12px; display:flex; align-items:center; gap:8px; }
.floating-note i { width:7px;height:7px;border-radius:50%;background:var(--blue); }
.note-one { left:-4px; top:135px; }
.note-two { right:-8px; bottom:110px; }
.note-two i { background:var(--cyan); }

.trust-row { width:min(1320px,calc(100% - 64px)); margin:0 auto; min-height:100px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:1.4fr repeat(3,1fr); align-items:center; color:#263345; font-size:13px; }
.trust-row > p { margin:0; color:var(--muted); }
.trust-row > div { border-left:1px solid var(--line); padding-left:26px; }
.trust-row span { color:var(--blue); font-size:12px; margin-right:12px; }

.section { padding:130px max(32px,calc((100vw - 1320px)/2)); }
.section-heading { display:grid; grid-template-columns:.75fr 1.3fr .8fr; gap:45px; align-items:start; margin-bottom:65px; }
.section-heading h2 { font-size:clamp(40px,4.6vw,67px); }
.section-heading > p:last-child { margin:5px 0 0; color:var(--muted); line-height:1.7; font-size:16px; }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.capability-card { min-height:520px; padding:34px; border:1px solid var(--line); background:rgba(255,255,255,.4); position:relative; display:flex; flex-direction:column; transition:transform .3s ease,background .3s ease; }
.capability-card:hover { transform:translateY(-7px); background:white; }
.capability-card.featured { background:var(--ink); color:white; border-color:var(--ink); }
.capability-card.featured p { color:#aab5c3; }
.card-icon { width:62px;height:62px;border-radius:50%;border:1px solid var(--line);margin-bottom:78px;display:grid;place-items:center;position:relative; }
.featured .card-icon { border-color:rgba(255,255,255,.16); }
.card-number { position:absolute;top:35px;right:34px;margin:0;color:#8793a2;font-size:12px;letter-spacing:.12em; }
.capability-card h3 { margin:0 0 18px;font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.035em; }
.capability-card > p:not(.card-number) { color:var(--muted);font-size:15px;line-height:1.7;margin:0 0 32px; }
.capability-card ul { list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--line); }
.featured ul { border-color:rgba(255,255,255,.12); }
.capability-card li { padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;align-items:center;gap:10px; }
.featured li { border-color:rgba(255,255,255,.12);color:#d6dce3; }
.capability-card li::before { content:"";width:5px;height:5px;background:var(--blue);border-radius:50%; }
.featured li::before { background:var(--cyan); }
.inventory-icon { grid-template-columns:repeat(3,8px);gap:3px;place-content:center; }
.inventory-icon span { width:8px;height:22px;border:1px solid var(--blue); }
.inventory-icon span:nth-child(2){height:31px;background:var(--blue);}
.channel-icon span { position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan); }
.channel-icon span:nth-child(1){top:14px;}.channel-icon span:nth-child(2){left:14px;bottom:14px}.channel-icon span:nth-child(3){right:14px;bottom:14px}
.channel-icon::before,.channel-icon::after {content:"";position:absolute;height:1px;width:27px;background:rgba(128,232,223,.55);transform-origin:left;}
.channel-icon::before{transform:rotate(59deg);top:22px;left:30px}.channel-icon::after{transform:rotate(121deg);top:22px;left:31px}
.shield-icon span { width:25px;height:31px;border:1px solid var(--blue);border-radius:12px 12px 16px 16px; }

.standards { padding-top: 18px; }
.standards-heading { display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end;padding:78px 0 58px;border-top:1px solid var(--line); }
.standards-heading h2 { font-size:clamp(42px,4.8vw,69px); }
.standards-heading > p { margin:0;color:var(--muted);font-size:16px;line-height:1.75;max-width:480px; }
.standards-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.standard-item { padding:38px 34px 44px;min-height:330px; }
.standard-item + .standard-item { border-left:1px solid var(--line); }
.standard-item > span { display:block;color:var(--blue);font-size:12px;letter-spacing:.12em;margin-bottom:65px; }
.standard-item h3 { margin:0 0 18px;font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.035em; }
.standard-item p { margin:0;color:var(--muted);font-size:15px;line-height:1.72; }

.approach { background:var(--ink);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px; }
.eyebrow.light { color:rgba(255,255,255,.88); }
.eyebrow.light > span { background:rgba(255,255,255,.72); }
.approach h2 { font-size:clamp(45px,5vw,73px);line-height:1.08; }
.approach-intro > p:not(.eyebrow) { max-width:480px;color:#9eabba;line-height:1.8;margin:30px 0; }
.approach-intro > a { display:inline-flex;align-items:center;gap:18px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.3);font-size:14px; }
.process-list { list-style:none;padding:0;margin:0; }
.process-list li { display:grid;grid-template-columns:65px 1fr;gap:20px;padding:28px 0;border-top:1px solid rgba(255,255,255,.13); }
.process-list li:last-child { border-bottom:1px solid rgba(255,255,255,.13); }
.process-list > li > span { color:var(--cyan);font-size:12px;letter-spacing:.12em;padding-top:7px; }
.process-list h3 { margin:0 0 10px;font-family:Manrope,sans-serif;font-size:22px;font-weight:600; }
.process-list p { margin:0;color:#9eabba;line-height:1.65;font-size:14px;max-width:520px; }

.company { padding-top:105px;padding-bottom:105px; }
.company-panel { border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:480px;background:rgba(255,255,255,.28); }
.company-copy { padding:70px clamp(38px,6vw,100px);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(55px,8vw,125px);align-items:center; }
.company-label { margin-bottom:28px;font-size:clamp(15px,1.15vw,18px);letter-spacing:.15em; }
.company-label > span { width:28px; }
.company-copy h2 { font-size:clamp(44px,5vw,69px); }
.company-details > p { color:var(--muted);line-height:1.75;max-width:650px;margin:0 0 45px;font-size:18px; }
.principles { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:25px;gap:25px; }
.principles strong,.principles span { display:block; }
.principles strong { font-family:Manrope,sans-serif;font-size:17px;margin-bottom:8px; }
.principles span { color:var(--muted);font-size:15px;line-height:1.55; }

.contact { padding-top:0; }
.contact-card { min-height:500px;background:#1b5adc;color:white;padding:clamp(42px,7vw,100px);display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:60px;position:relative;overflow:hidden; }
.contact-card::after { content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-220px;top:-260px;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.025); }
.contact-card h2 { font-size:clamp(48px,5.5vw,76px); }
.contact-intro { color:rgba(255,255,255,.88);line-height:1.7;max-width:620px;margin:27px 0 0;font-size:17px; }
.inquiry-note { max-width:620px;margin:22px 0 0;padding-left:17px;border-left:2px solid rgba(255,255,255,.72);color:rgba(255,255,255,.92);font-size:16px;line-height:1.65; }
.contact-actions { position:relative;z-index:1; }
.button-light { background:white;color:var(--ink);width:100%;justify-content:space-between;margin-bottom:35px;border:0;font:inherit;cursor:pointer; }
.contact-actions p { display:flex;justify-content:space-between;margin:0;padding:14px 0;border-top:1px solid rgba(255,255,255,.22);font-size:13px; }
.contact-actions p:last-child { border-bottom:1px solid rgba(255,255,255,.22); }
.contact-actions p span { color:rgba(255,255,255,.82); }

.contact-dialog { width:min(620px,calc(100% - 32px));max-width:none;padding:0;border:0;border-radius:2px;background:#f6f6f3;color:var(--ink);box-shadow:0 28px 90px rgba(2,13,31,.32); }
.contact-dialog::backdrop { background:rgba(2,13,31,.72);backdrop-filter:blur(5px); }
.contact-dialog-inner { position:relative;padding:clamp(32px,6vw,58px); }
.contact-dialog-close { position:absolute;top:18px;right:20px;width:42px;height:42px;border:1px solid rgba(2,13,31,.18);border-radius:50%;background:transparent;color:var(--ink);font-size:28px;line-height:1;cursor:pointer; }
.contact-dialog h2 { margin:26px 0 18px;font-size:clamp(42px,6vw,64px);line-height:.98;letter-spacing:-.055em; }
.contact-dialog-copy { max-width:500px;margin:0;color:var(--muted);font-size:17px;line-height:1.65; }
.contact-dialog-email { display:inline-block;margin-top:28px;color:var(--ink);font-size:clamp(21px,4vw,30px);font-weight:650;text-decoration-thickness:1px;text-underline-offset:6px; }
.contact-dialog-actions { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px; }
.contact-dialog-actions .button { justify-content:center;margin:0;border:1px solid var(--ink);cursor:pointer;font:inherit; }
.contact-copy-button { background:var(--ink);color:white; }
.contact-mail-button { background:transparent;color:var(--ink); }
.contact-copy-status { min-height:24px;margin:14px 0 0;color:var(--muted);font-size:14px; }
.contact-dialog-close:focus-visible,.contact-dialog-actions .button:focus-visible,.contact-dialog-email:focus-visible { outline:3px solid #246bfe;outline-offset:4px; }

footer { width:min(1320px,calc(100% - 64px));margin:0 auto;padding:0 0 48px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px; }
.footer-brand { grid-row:span 2; }
footer > p { margin:0;text-align:right;color:var(--muted);font-size:13px; }
footer > div { display:flex;justify-content:flex-end;gap:24px;color:#6d7886;font-size:12px; }

.reveal { opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1;transform:none; }

@media (max-width: 1050px) {
  .hero { grid-template-columns:1fr;gap:25px;padding-top:75px; }
  .hero-copy { max-width:800px; }
  .hero-visual { min-height:500px; }
  .section-heading { grid-template-columns:1fr 1.5fr; }
  .section-heading > p:last-child { grid-column:2; }
  .capability-card { padding:27px; }
  .approach { gap:60px; }
  .company-copy { gap:60px; }
}

@media (max-width: 980px) {
  .site-header { width:calc(100% - 48px);height:82px;grid-template-columns:1fr auto; }
  .desktop-nav,.header-cta { display:none; }
  .menu-button { width:40px;height:40px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px; }
  .menu-button span { height:1px;width:24px;background:var(--ink);transition:.2s ease; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { position:absolute;top:82px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;gap:0;box-shadow:0 20px 35px rgba(7,17,31,.1); }
  .mobile-nav.open { display:flex; }
  .mobile-nav a { padding:15px;border-bottom:1px solid var(--line); }
  .section-heading,.standards-heading { grid-template-columns:1fr;gap:24px; }
  .section-heading > p:last-child { grid-column:auto; }
  .capability-grid,.standards-grid { grid-template-columns:1fr; }
  .capability-card { min-height:460px; }
  .standard-item { min-height:auto;padding:38px 20px 44px; }
  .standard-item + .standard-item { border-left:0;border-top:1px solid var(--line); }
  .standard-item > span { margin-bottom:32px; }
  .approach { grid-template-columns:1fr;gap:65px; }
  .company-copy { grid-template-columns:1fr;gap:42px;padding:62px 38px; }
  .contact-card { grid-template-columns:1fr;align-items:start;min-height:auto; }
}

@media (max-width: 800px) {
  .site-header { width:calc(100% - 36px);height:76px;grid-template-columns:1fr auto; }
  .desktop-nav,.header-cta { display:none; }
  .menu-button { width:40px;height:40px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px; }
  .menu-button span { height:1px;width:24px;background:var(--ink);transition:.2s ease; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;gap:0;box-shadow:0 20px 35px rgba(7,17,31,.1); }
  .mobile-nav.open { display:flex; }
  .mobile-nav a { padding:15px;border-bottom:1px solid var(--line); }
  .hero,.trust-row,footer { width:calc(100% - 36px); }
  .hero { min-height:auto;padding:72px 0 55px; }
  .hero-lede { font-size:17px; }
  .hero-visual { min-height:440px; }
  .orbit-one { width:390px;height:390px; }
  .orbit-two { width:300px;height:300px; }
  .note-one { left:0; }.note-two { right:0; }
  .trust-row { grid-template-columns:1fr; padding:20px 0; }
  .trust-row > p { padding:12px 0 20px; }
  .trust-row > div { border-left:0;border-top:1px solid var(--line);padding:15px 0; }
  .section { padding:95px 18px; }
  .section-heading { grid-template-columns:1fr;gap:20px; }
  .section-heading > p:last-child { grid-column:auto; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-card { min-height:480px; }
  .standards-heading { grid-template-columns:1fr;gap:25px;padding-top:55px; }
  .standards-grid { grid-template-columns:1fr; }
  .standard-item { min-height:auto;padding:34px 10px; }
  .standard-item + .standard-item { border-left:0;border-top:1px solid var(--line); }
  .standard-item > span { margin-bottom:32px; }
  .approach { grid-template-columns:1fr;gap:65px; }
  .company-copy { grid-template-columns:1fr;gap:42px;padding:58px 28px; }
  .contact-card { grid-template-columns:1fr;align-items:start;min-height:auto; }
  footer { grid-template-columns:1fr;padding-bottom:34px;gap:22px; }
  .footer-brand { grid-row:auto; }
  footer > p { text-align:left; }
  footer > div { justify-content:flex-start;flex-wrap:wrap; }
}

@media (max-width: 520px) {
  .brand-wordmark { width:142px; }
  .hero h1 { font-size:46px; }
  .hero-actions { flex-direction:column; }
  .button { width:100%;justify-content:space-between; }
  .hero-visual { min-height:400px; }
  .signal-card { width:95%;padding:19px;min-height:340px; }
  .signal-main { padding:55px 0 45px; }
  .signal-grid div + div { padding-left:10px; }
  .floating-note { display:none; }
  .orbit-one { width:340px;height:340px; }
  .orbit-two { width:270px;height:270px; }
  .principles { grid-template-columns:1fr; }
  .company-copy { padding:45px 26px; }
  .contact-card { padding:45px 26px; }
  .contact-card h2 { font-size:42px; }
  .contact-dialog-actions { grid-template-columns:1fr; }
  .contact-dialog-inner { padding:42px 24px 28px; }
  .contact-dialog-email { overflow-wrap:anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important;transition:none!important; }
  .reveal { opacity:1;transform:none; }
}
