:root {
  --navy: #0B1220;
  --navy-2: #101a2d;
  --slate: #1E2A3C;
  --teal: #00E0C6;
  --blue: #0088FF;
  --mint: #5FE3D4;
  --white: #F5F9FC;
  --paper: #F7FAFC;
  --ink: #111827;
  --muted: #526173;
  --line: #D8E0E8;
  --focus: #FFD166;
  --shadow: 0 18px 60px rgba(2, 12, 27, .16);
  --radius: 18px;
  --shell: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .18em; }
button, input { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
::selection { background: var(--teal); color: var(--navy); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: 1rem; transform: translateY(-180%); background: var(--white); color: var(--navy); padding: .75rem 1rem; border-radius: 8px; font-weight: 800; }
.skip-link:focus { transform: none; }
.shell { width: min(calc(100% - 2.5rem), var(--shell)); margin-inline: auto; }
.narrow { max-width: 820px; }
.site-header { position: sticky; top: 0; z-index: 60; background: rgba(11,18,32,.95); border-bottom: 1px solid rgba(95,227,212,.16); backdrop-filter: blur(16px); }
.nav-wrap { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { display: inline-flex; width: 230px; flex: 0 0 auto; }
.brand img { display: block; width: 100%; }
.primary-nav { display: flex; align-items: center; gap: 1.4rem; color: var(--white); }
.primary-nav a { text-decoration: none; font-weight: 700; font-size: .93rem; padding: .55rem .1rem; position: relative; }
.primary-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .15rem; height: 2px; background: linear-gradient(90deg,var(--teal),var(--blue)); transition: right .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { right: 0; }
.nav-cta { border: 1px solid rgba(95,227,212,.6); border-radius: 999px; padding: .7rem 1rem !important; }
.nav-cta:hover { background: rgba(0,224,198,.1); }
.nav-toggle { display: none; width: 48px; height: 48px; border: 1px solid rgba(245,249,252,.22); border-radius: 10px; background: transparent; padding: 10px; }
.nav-toggle span:not(.sr-only) { display: block; height: 2px; background: var(--white); margin: 5px 0; }
.hero { color: var(--white); background: radial-gradient(circle at 78% 18%, rgba(0,136,255,.24), transparent 27%), radial-gradient(circle at 74% 65%, rgba(0,224,198,.12), transparent 28%), var(--navy); overflow: hidden; }
.hero-grid { min-height: 710px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 5rem; padding-block: 5.5rem; }
.eyebrow { color: #087d71; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .16em; margin: 0 0 1rem; }
.hero .eyebrow, .section--dark .eyebrow, .page-hero .eyebrow, .legal-hero .eyebrow, .cta-band .eyebrow { color: var(--mint); }
h1,h2,h3 { line-height: 1.08; margin-top: 0; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 6.5vw, 6.2rem); max-width: 11ch; margin-bottom: 1.5rem; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); margin-bottom: 1.25rem; }
h3 { font-size: 1.35rem; }
.lede { font-size: clamp(1.08rem, 1.6vw, 1.35rem); max-width: 64ch; color: #cbd8e6; }
.lede--small { font-size: 1.12rem; }
.button-row { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .76rem 1.15rem; border-radius: 9px; border: 1px solid transparent; text-decoration: none; font-weight: 850; letter-spacing: -.01em; }
.button--primary { color: var(--navy); background: linear-gradient(135deg,var(--teal),var(--mint)); border-color: var(--teal); }
.button--primary:hover { filter: brightness(1.05); }
.button--ghost, .button--outline { color: var(--white); background: transparent; border-color: rgba(245,249,252,.34); }
.button--ghost:hover, .button--outline:hover { border-color: var(--mint); background: rgba(95,227,212,.08); }
.button--secondary { color: var(--navy); background: var(--white); border-color: #aebdca; }
.button--secondary:hover { background: #eaf1f6; }
.hero-points { display: flex; flex-wrap: wrap; gap: .85rem 1.25rem; margin: 2.2rem 0 0; padding: 0; list-style: none; color: #cbd8e6; font-size: .92rem; }
.hero-points li::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: .5rem; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(0,224,198,.12); }
.hero-art { position: relative; min-height: 480px; display: grid; place-items: center; }
.chip-card { position: relative; width: min(440px, 86vw); aspect-ratio: 1; border: 1px solid rgba(95,227,212,.18); border-radius: 42px; background: linear-gradient(145deg,rgba(30,42,60,.8),rgba(8,16,29,.9)); box-shadow: 0 40px 100px rgba(0,0,0,.3), inset 0 0 70px rgba(0,224,198,.05); transform: rotate(4deg); }
.chip-card::before, .chip-card::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(0,136,255,.15); border-radius: 28px; }
.chip-card::after { inset: 20%; border-color: rgba(0,224,198,.14); }
.chip-card__core { position: absolute; z-index: 4; left: 50%; top: 50%; width: 150px; aspect-ratio: 1; transform: translate(-50%,-50%) rotate(-4deg); display: grid; place-items: center; clip-path: polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%); background: linear-gradient(135deg,var(--teal),var(--blue)); padding: 5px; }
.chip-card__core::before { content: ""; position: absolute; inset: 5px; clip-path: inherit; background: var(--navy); }
.chip-card__core span { position: relative; z-index: 2; font-size: 3rem; font-weight: 900; color: var(--white); }
.trace { position: absolute; z-index: 2; height: 2px; background: linear-gradient(90deg,transparent,var(--teal),var(--blue)); transform-origin: left center; }
.trace--1 { width: 160px; left: 8%; top: 26%; transform: rotate(25deg); }
.trace--2 { width: 155px; left: 58%; top: 33%; transform: rotate(-20deg); }
.trace--3 { width: 170px; left: 5%; top: 72%; transform: rotate(-16deg); }
.trace--4 { width: 145px; left: 60%; top: 68%; transform: rotate(18deg); }
.node { position: absolute; z-index: 3; width: 12px; height: 12px; border: 2px solid var(--mint); background: var(--navy); border-radius: 50%; box-shadow: 0 0 20px rgba(0,224,198,.5); }
.node--1{left:9%;top:24%}.node--2{right:9%;top:25%}.node--3{left:8%;bottom:20%}.node--4{right:9%;bottom:20%}
.section { padding-block: 7rem; }
.section--light { background: var(--paper); }
.section--dark { background: var(--navy); color: var(--white); }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section-heading > p:last-child { color: var(--muted); font-size: 1.08rem; }
.section-heading--row { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.card-grid { display: grid; gap: 1.25rem; }
.card-grid--3 { grid-template-columns: repeat(3,1fr); }
.feature-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 2rem; box-shadow: 0 8px 30px rgba(15,23,42,.05); }
.feature-card__number { display: inline-flex; width: 46px; height: 32px; border-radius: 999px; align-items:center; justify-content:center; margin-bottom: 2.8rem; background: #e9fbf7; color: #096d64; font-size: .78rem; font-weight: 900; }
.feature-card p { color: var(--muted); }
.text-link { font-weight: 850; color: #006f66; text-decoration-thickness: 1px; }
.circuit-section { position: relative; overflow: hidden; }
.circuit-section::after { content:""; position:absolute; inset:0; opacity:.08; pointer-events:none; background-image: linear-gradient(90deg, transparent 49.5%, var(--mint) 50%, transparent 50.5%), linear-gradient(0deg, transparent 49.5%, var(--blue) 50%, transparent 50.5%); background-size: 90px 90px; mask-image: linear-gradient(90deg,transparent,black 55%,black); }
.split-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.split-layout--light { align-items: start; }
.prose { font-size: 1.04rem; }
.prose p, .legal-prose li { color: var(--muted); }
.metric-stack { border-top: 1px solid rgba(245,249,252,.18); }
.metric { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid rgba(245,249,252,.18); font-size: 1.15rem; }
.metric strong { color: var(--mint); font-size: .82rem; letter-spacing: .12em; }
.industry-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.industry-tile { min-height: 190px; padding: 2rem; display: flex; flex-direction: column; justify-content: end; text-decoration: none; border-radius: var(--radius); color: var(--white); background: linear-gradient(135deg,rgba(0,224,198,.16),rgba(0,136,255,.1)), var(--slate); border: 1px solid rgba(0,136,255,.16); }
.industry-tile:nth-child(even) { background: linear-gradient(135deg,rgba(0,136,255,.17),rgba(0,224,198,.08)), var(--navy); }
.industry-tile span { font-size: 1.45rem; font-weight: 850; }
.industry-tile small { color: #cbd8e6; margin-top: .45rem; font-size: .9rem; }
.industry-tile:hover { transform: translateY(-2px); border-color: var(--mint); }
.cta-band { background: var(--slate); color: var(--white); padding-block: 4rem; border-top: 1px solid rgba(95,227,212,.25); }
.cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cta-band h2 { margin-bottom: 0; }
.page-hero { background: radial-gradient(circle at 75% 20%,rgba(0,136,255,.22),transparent 25%), var(--navy); color: var(--white); padding: 7rem 0 6rem; }
.page-hero--compact { padding-bottom: 4.5rem; }
.page-hero h1 { font-size: clamp(3rem,7vw,5.7rem); max-width: 13ch; }
.capability-list { display: grid; }
.capability-row { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; padding: 4rem 0; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.capability-row:last-child { border-bottom: 1px solid var(--line); }
.capability-index { display: block; color: #78879a; font-weight: 900; font-size: .82rem; letter-spacing: .14em; margin-bottom: 1.5rem; }
.check-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .55rem 1.5rem; }
.check-list li::before { content:"✓"; color:#007f72; font-weight:900; margin-right:.55rem; }
.note-band { padding: 5rem 0; color: var(--white); background: linear-gradient(115deg,#0b1220,#162a41); }
.industry-detail-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.2rem; }
.industry-detail { padding: 2.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; scroll-margin-top: 110px; }
.industry-kicker { display: inline-flex; color: #087d71; font-size: .78rem; font-weight: 900; letter-spacing: .14em; margin-bottom: 3rem; }
.industry-detail p { color: var(--muted); }
.values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.value-card { border: 1px solid rgba(245,249,252,.16); border-radius: var(--radius); padding: 1.7rem; background: rgba(255,255,255,.02); }
.value-card span { color: var(--mint); font-size: .75rem; font-weight: 900; }
.value-card h3 { margin-top: 3rem; }
.value-card p { color: #b9c6d4; }
.location-card { border-radius: 26px; overflow: hidden; background: var(--navy); color: var(--white); display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.location-card > div:first-child { padding: 4rem; }
.location-art { min-height: 360px; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 50%,rgba(0,224,198,.18),transparent 25%), linear-gradient(45deg,transparent 49.4%,rgba(0,136,255,.3) 49.8%,rgba(0,136,255,.3) 50.2%,transparent 50.6%), linear-gradient(-45deg,transparent 49.4%,rgba(0,224,198,.22) 49.8%,rgba(0,224,198,.22) 50.2%,transparent 50.6%), #101a2d; background-size:auto, 70px 70px, 70px 70px, auto; }
.pulse { position:absolute; left:52%; top:46%; width:18px; height:18px; background:var(--teal); border-radius:50%; box-shadow:0 0 0 12px rgba(0,224,198,.12),0 0 0 28px rgba(0,224,198,.05); }
.location-label { position:absolute; left:calc(52% + 28px); top:calc(46% - 4px); font-weight:900; letter-spacing:.12em; font-size:.73rem; color:var(--white); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.2rem; align-items: start; }
.contact-card, .inquiry-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2.2rem; }
.contact-link { display:inline-block; font-size:clamp(1.35rem,3vw,2.1rem); font-weight:900; color:#006f66; margin:1rem 0 2rem; }
.contact-meta { margin: 0; }
.contact-meta div { padding:1.1rem 0; border-top:1px solid var(--line); }
.contact-meta dt { font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:#66758a; font-weight:900; }
.contact-meta dd { margin:.25rem 0 0; }
.step-list { list-style:none; padding:0; margin:2rem 0; }
.step-list li { display:grid; grid-template-columns:44px 1fr; gap:1rem; padding:1.15rem 0; border-top:1px solid var(--line); }
.step-list li > span { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#e9fbf7; color:#087d71; font-weight:900; }
.step-list p { margin:.25rem 0 0; color:var(--muted); }
.fine-print { font-size:.82rem; color:#66758a; }
.notice-strip { padding:1.25rem 0; background:#e9fbf7; border-top:1px solid #beece5; }
.legal-hero { background:var(--navy); color:var(--white); padding:5rem 0 4rem; }
.legal-shell { max-width:850px; }
.legal-hero h1 { font-size:clamp(2.8rem,6vw,4.8rem); margin-bottom:.8rem; }
.legal-updated { color:#bdc9d6; }
.legal-content { padding:5rem 0 7rem; background:#fff; }
.legal-prose h2 { margin-top:2.8rem; font-size:1.65rem; }
.legal-prose h3 { margin-top:2rem; }
.legal-prose a { color:#006f66; font-weight:750; }
.legal-callout, .choice-card { padding:1.4rem 1.6rem; border-left:4px solid var(--teal); background:#effaf8; border-radius:0 12px 12px 0; color:#223043; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
caption { text-align:left; font-weight:850; margin-bottom:.7rem; }
th,td { text-align:left; vertical-align:top; padding:.85rem; border:1px solid var(--line); }
th { background:#eff4f8; }
code { background:#edf2f7; padding:.12rem .28rem; border-radius:4px; }
.choice-status { min-height:1.6rem; font-weight:750; }
.site-footer { background:#07101c; color:#c7d2df; padding:4.5rem 0 1.5rem; }
.footer-grid { display:grid; grid-template-columns:1.4fr .8fr 1fr 1fr; gap:2.5rem; }
.footer-brand { display:inline-flex; max-width:250px; }
.footer-copy { max-width:34ch; color:#9fb0c2; }
.footer-heading { color:var(--white); font-size:.86rem; text-transform:uppercase; letter-spacing:.13em; margin-bottom:1rem; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li + li { margin-top:.55rem; }
.site-footer a { color:inherit; }
.text-button { padding:0; border:0; background:transparent; color:var(--mint); text-decoration:underline; text-underline-offset:.18em; font-weight:800; }
.footer-bottom { border-top:1px solid rgba(245,249,252,.12); margin-top:3rem; padding-top:1.4rem; display:flex; justify-content:space-between; gap:1rem; font-size:.82rem; color:#8193a7; }
.privacy-banner { position:fixed; z-index:100; left:1rem; right:1rem; bottom:1rem; margin:auto; width:min(1100px,calc(100% - 2rem)); display:flex; gap:1.5rem; align-items:center; justify-content:space-between; background:#fff; color:var(--ink); border:1px solid #a7b7c7; border-radius:16px; box-shadow:var(--shadow); padding:1.25rem; }
.privacy-banner__copy { max-width:650px; }
.privacy-banner__copy p { margin:.25rem 0 0; color:var(--muted); font-size:.9rem; }
.privacy-banner__actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; }
.modal[hidden], .privacy-banner[hidden] { display:none !important; }
.modal { position:fixed; z-index:120; inset:0; display:grid; place-items:center; padding:1rem; }
.modal__backdrop { position:absolute; inset:0; background:rgba(4,10,19,.76); }
.modal__panel { position:relative; z-index:2; width:min(680px,100%); max-height:min(88vh,760px); overflow:auto; background:#fff; border-radius:18px; box-shadow:var(--shadow); padding:1.5rem; }
.modal__header { display:flex; align-items:start; justify-content:space-between; gap:1rem; }
.modal__header h2 { font-size:2rem; margin-bottom:.5rem; }
.icon-button { width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:1.8rem; line-height:1; }
.preference-row { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:1.2rem 0; border-top:1px solid var(--line); }
.preference-row p { margin:.25rem 0 0; color:var(--muted); font-size:.9rem; }
.status-pill { display:inline-flex; padding:.35rem .6rem; border-radius:999px; background:#edf2f7; color:#526173; font-size:.76rem; font-weight:800; white-space:nowrap; }
.switch { position:relative; display:inline-block; width:52px; height:30px; }
.switch input { position:absolute; opacity:0; }
.switch__track { position:absolute; inset:0; border-radius:999px; background:#8796a6; transition:.15s; }
.switch__track::after { content:""; position:absolute; width:22px; height:22px; top:4px; left:4px; background:#fff; border-radius:50%; transition:.15s; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.switch input:checked + .switch__track { background:#087d71; }
.switch input:checked + .switch__track::after { transform:translateX(22px); }
.switch input:focus-visible + .switch__track { outline:3px solid var(--focus); outline-offset:3px; }
.modal__actions { display:flex; justify-content:flex-end; gap:.7rem; margin-top:1.3rem; }
.gpc-note { background:#fff6d9; border:1px solid #ead38a; border-radius:9px; padding:.9rem; }
.not-found { min-height:65vh; display:grid; align-items:center; }
.reveal { opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } .reveal { opacity:1; transform:none; } }
@media (max-width: 930px) {
  .nav-toggle { display:block; }
  .primary-nav { position:absolute; left:0; right:0; top:100%; display:none; flex-direction:column; align-items:stretch; gap:.2rem; padding:1rem 1.25rem 1.5rem; background:var(--navy); border-top:1px solid rgba(245,249,252,.12); }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:.8rem .2rem; }
  .nav-cta { text-align:center; margin-top:.5rem; }
  .hero-grid { grid-template-columns:1fr; gap:2rem; min-height:auto; }
  .hero-art { min-height:420px; }
  .card-grid--3, .values-grid { grid-template-columns:repeat(2,1fr); }
  .split-layout { grid-template-columns:1fr; gap:2.5rem; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 700px) {
  .shell { width:min(calc(100% - 1.5rem),var(--shell)); }
  .brand { width:190px; }
  .nav-wrap { min-height:76px; }
  .hero-grid { padding-block:4rem; }
  h1 { font-size:clamp(2.7rem,14vw,4.6rem); }
  .hero-art { min-height:330px; }
  .chip-card { width:min(320px,90vw); border-radius:28px; }
  .chip-card__core { width:110px; }
  .chip-card__core span { font-size:2.2rem; }
  .section { padding-block:4.5rem; }
  .card-grid--3, .industry-grid, .industry-detail-grid, .values-grid, .contact-grid, .location-card { grid-template-columns:1fr; }
  .section-heading--row, .cta-band__inner, .footer-bottom { align-items:flex-start; flex-direction:column; }
  .capability-row { grid-template-columns:1fr; gap:1rem; padding:3rem 0; }
  .check-list { grid-template-columns:1fr; }
  .location-card > div:first-child { padding:2.2rem; }
  .footer-grid { grid-template-columns:1fr; }
  .privacy-banner { align-items:stretch; flex-direction:column; }
  .privacy-banner__actions { justify-content:stretch; }
  .privacy-banner__actions .button { flex:1 1 100%; }
  .modal__actions { flex-direction:column; }
  .modal__actions .button { width:100%; }
}
