:root {
  --bg: #07101d;
  --bg-2: #091522;
  --panel: #0c1928;
  --panel-2: #0f1e2f;
  --text: #eef7f5;
  --muted: #9fb1b8;
  --muted-2: #728790;
  --line: rgba(188, 239, 227, .13);
  --line-strong: rgba(188, 239, 227, .24);
  --mint: #a7f3db;
  --mint-2: #67e8c5;
  --cyan: #64d9ff;
  --blue: #5e8cff;
  --lime: #b7f07d;
  --danger: #ff9aa2;
  --white: #fff;
  --shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --shadow-soft: 0 18px 60px rgba(0, 0, 0, .2);
  --radius: 26px;
  --radius-sm: 16px;
  --shell: 1180px;
  --header-h: 82px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 16% -10%, rgba(100, 217, 255, .08), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(167, 243, 219, .06), transparent 28%),
    var(--bg);
  color: var(--text);
  font-family: "Segoe UI Variable Text", "SF Pro Text", "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.nav-open { overflow: hidden; }
::selection { background: var(--mint); color: #04110e; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img, svg { display: block; max-width: 100%; }

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 9999;
  transform: translateY(-180%);
  background: var(--mint);
  color: #05100d;
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }

.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.section-pad { padding: 118px 0; position: relative; }
.kicker {
  display: inline-block;
  color: var(--mint);
  font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.035em; }
h1 { font-size: clamp(54px, 6.9vw, 92px); line-height: .97; margin-bottom: 28px; max-width: 930px; }
h2 { font-size: clamp(38px, 4.5vw, 64px); line-height: 1.02; margin-bottom: 0; }
h3 { font-size: 25px; line-height: 1.12; }
p { color: var(--muted); }

.text-glow {
  color: #dffaf2;
  text-shadow: 0 0 42px rgba(103, 232, 197, .18);
  background: linear-gradient(100deg, #ffffff 0%, var(--mint) 48%, #d7f4ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 22px;
  border: 1px solid rgba(167, 243, 219, .82);
  border-radius: 14px;
  color: #06120f;
  background: linear-gradient(135deg, #dffcf3 0%, #a7f3db 56%, #86e4ff 100%);
  box-shadow: 0 12px 34px rgba(103, 232, 197, .14), inset 0 1px 0 rgba(255,255,255,.7);
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
  cursor: pointer;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(103, 232, 197, .2); filter: brightness(1.03); }
.button:active { transform: translateY(0); }
.button:focus-visible, .nav-toggle:focus-visible, .calc-tab:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid rgba(100, 217, 255, .7);
  outline-offset: 3px;
}
.button-ghost { color: var(--text); background: rgba(255,255,255,.035); border-color: var(--line-strong); box-shadow: none; }
.button-ghost:hover { background: rgba(255,255,255,.06); box-shadow: none; }
.button-compact { min-height: 44px; padding-inline: 17px; border-radius: 12px; font-size: 14px; }
.button-full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--text); font-weight: 800; }
.text-link span { color: var(--mint); }

.scroll-progress { position: fixed; z-index: 1100; top: 0; left: 0; right: 0; height: 2px; background: transparent; pointer-events: none; }
.scroll-progress span { display: block; height: 100%; width: 0; transform-origin: left; background: linear-gradient(90deg, var(--mint), var(--cyan)); box-shadow: 0 0 14px rgba(100,217,255,.6); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(188, 239, 227, .1);
  background: rgba(7, 16, 29, .72);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.nav-shell { min-height: var(--header-h); display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.logo-mark { width: 50px; height: 50px; flex: 0 0 50px; filter: drop-shadow(0 0 18px rgba(167,243,219,.14)); }
.logo-mark svg rect { fill: rgba(15, 33, 47, .92); stroke: url(#none); stroke: var(--mint-2); stroke-width: 2; }
.logo-mark svg path { fill: none; stroke: #d8fff2; stroke-width: 3.15; stroke-linecap: round; stroke-linejoin: round; }
.brand-type { display: grid; gap: 1px; }
.brand-type strong { font: 700 22px/1 Georgia, "Times New Roman", serif; color: #fff; letter-spacing: -.035em; }
.brand-type small { font-size: 10px; letter-spacing: .18em; font-weight: 800; color: #c4d4d5; }
.primary-nav { display: flex; justify-content: center; align-items: center; gap: 28px; }
.primary-nav a { color: #c3d0d3; font-size: 14px; font-weight: 700; transition: color .2s ease; }
.primary-nav a:hover { color: var(--white); }
.nav-toggle { display: none; border: 1px solid var(--line-strong); background: rgba(255,255,255,.03); border-radius: 12px; min-height: 44px; padding: 0 14px; cursor: pointer; }
.nav-toggle i { width: 18px; height: 1px; background: currentColor; display: inline-block; margin-left: 8px; box-shadow: 0 5px 0 currentColor, 0 -5px 0 currentColor; }

.hero { overflow: hidden; padding-top: 92px; padding-bottom: 92px; min-height: calc(100svh - var(--header-h)); display: flex; align-items: center; }
.hero-noise { position: absolute; inset: 0; pointer-events: none; opacity: .18; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.hero-aura { position: absolute; border-radius: 50%; filter: blur(72px); pointer-events: none; }
.aura-a { width: 520px; height: 520px; background: rgba(69, 140, 255, .13); top: -220px; right: 4%; }
.aura-b { width: 420px; height: 420px; background: rgba(103, 232, 197, .08); bottom: -260px; left: 12%; }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(470px, .96fr); gap: 48px; align-items: center; }
.hero-copy { position: relative; z-index: 3; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #c3d0d2; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(167,243,219,.08), 0 0 22px rgba(167,243,219,.55); }
.hero-lede { max-width: 735px; color: #b8c7cb; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.65; margin-bottom: 32px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 38px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); max-width: 720px; padding-top: 22px; }
.hero-proof div { padding-right: 18px; }
.hero-proof div + div { border-left: 1px solid var(--line); padding-left: 18px; }
.hero-proof strong, .hero-proof span { display: block; }
.hero-proof strong { color: #eafef8; font-size: 20px; letter-spacing: -.03em; }
.hero-proof span { margin-top: 3px; color: var(--muted-2); font-size: 12px; }

.hero-stage { min-height: 620px; position: relative; perspective: 1300px; transform-style: preserve-3d; isolation: isolate; }
.stage-grid { position: absolute; inset: 16% -18% -18% -8%; background-image: linear-gradient(rgba(100,217,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(100,217,255,.13) 1px, transparent 1px); background-size: 32px 32px; transform: rotateX(68deg) translateY(130px) translateZ(-140px); transform-origin: 50% 0; mask-image: radial-gradient(ellipse at 50% 35%, #000 0%, rgba(0,0,0,.84) 35%, transparent 74%); opacity: .52; }
.stage-glow { position: absolute; width: 380px; height: 380px; left: 50%; top: 44%; transform: translate(-50%,-50%); background: radial-gradient(circle, rgba(95, 217, 210, .18), rgba(60, 116, 255, .06) 45%, transparent 72%); filter: blur(10px); }
.stage-orbit { position: absolute; left: 50%; top: 47%; border-radius: 50%; border: 1px solid rgba(167,243,219,.18); transform-style: preserve-3d; pointer-events: none; }
.orbit-one { width: 490px; height: 490px; margin: -245px; transform: rotateX(72deg) rotateZ(-12deg); box-shadow: inset 0 0 52px rgba(100,217,255,.025); }
.orbit-two { width: 350px; height: 350px; margin: -175px; border-color: rgba(100,217,255,.22); transform: rotateX(69deg) rotateZ(22deg); }
.depth-card { --mx: 0px; --my: 0px; --rx: 0deg; --ry: 0deg; transition: transform .18s ease-out; will-change: transform; }
.command-card { position: absolute; width: min(92%, 510px); left: 50%; top: 50%; transform: translate(calc(-50% + var(--mx)), calc(-50% + var(--my))) translateZ(18px) rotateX(var(--rx)) rotateY(var(--ry)); padding: 24px; border-radius: 26px; background: linear-gradient(150deg, rgba(16,34,50,.97), rgba(7,18,31,.98)); border: 1px solid rgba(219,255,247,.16); box-shadow: 0 45px 100px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.045); overflow: hidden; }
.command-card::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 80% 0%, rgba(103,232,197,.1), transparent 38%); pointer-events:none; }
.command-top, .lead-event, .flow-rail, .command-foot { position: relative; z-index: 1; }
.command-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.command-top h2 { margin-top: 5px; font-size: 24px; }
.live-chip { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:800; color:#c9f7eb; padding:8px 10px; border:1px solid rgba(167,243,219,.18); border-radius:999px; background:rgba(167,243,219,.055); }
.live-chip i { width:7px; height:7px; border-radius:50%; background:var(--mint-2); box-shadow:0 0 14px var(--mint-2); }
.lead-event { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin:28px 0 24px; padding:14px; border-radius:16px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); }
.lead-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#05211a; background:linear-gradient(135deg,var(--mint),var(--cyan)); font-weight:900; }
.lead-event strong, .lead-event small { display:block; }
.lead-event strong { font-size:13px; }
.lead-event small { color:var(--muted-2); margin-top:2px; font-size:11px; }
.event-status { font-size:10px; color:var(--mint); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.flow-rail { display:grid; grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr; align-items:center; gap:0; }
.flow-rail > i { height:1px; background:linear-gradient(90deg,rgba(103,232,197,.55),rgba(100,217,255,.25)); }
.flow-step { min-height:92px; padding:12px; border:1px solid rgba(255,255,255,.065); border-radius:14px; background:rgba(255,255,255,.026); }
.flow-step.active { border-color:rgba(167,243,219,.22); background:rgba(167,243,219,.045); box-shadow:inset 0 0 24px rgba(103,232,197,.035); }
.flow-step span, .flow-step strong, .flow-step small { display:block; }
.flow-step span { color:var(--mint); font:700 9px/1 ui-monospace,monospace; letter-spacing:.09em; }
.flow-step strong { margin-top:15px; font-size:12px; }
.flow-step small { margin-top:3px; color:var(--muted-2); font-size:9px; }
.command-foot { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:20px; color:#83979e; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.command-foot span { display:inline-flex; align-items:center; gap:6px; }
.command-foot i { width:5px; height:5px; background:var(--mint-2); border-radius:50%; }

.voice-card, .speed-card, .metric-card { position:absolute; border:1px solid rgba(219,255,247,.14); box-shadow:var(--shadow); background:linear-gradient(150deg,rgba(13,29,44,.97),rgba(7,17,29,.98)); }
.voice-card { width:240px; right:-2px; top:40px; padding:16px; border-radius:20px; transform:translate(var(--mx),var(--my)) translateZ(44px) rotateX(var(--rx)) rotateY(var(--ry)); }
.voice-card-head { display:flex; justify-content:space-between; align-items:center; color:#8da3aa; font:700 10px/1 ui-monospace,monospace; }
.voice-person { display:flex; align-items:center; gap:10px; margin:18px 0 14px; }
.voice-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#4f8cff,#71efd2); color:#06131c; font-weight:900; font-size:11px; box-shadow:0 0 28px rgba(100,217,255,.18); }
.voice-person strong, .voice-person small { display:block; }
.voice-person strong { font-size:12px; }
.voice-person small { margin-top:2px; font-size:10px; color:var(--muted-2); }
.waveform { height:34px; display:flex; align-items:center; gap:4px; }
.waveform i { width:3px; height:10px; border-radius:999px; background:linear-gradient(var(--mint),var(--cyan)); animation:wave 1.05s ease-in-out infinite; transform-origin:center; }
.waveform i:nth-child(2n){ animation-delay:-.22s; }
.waveform i:nth-child(3n){ animation-delay:-.48s; }
.waveform i:nth-child(5n){ animation-delay:-.68s; }
@keyframes wave { 0%,100%{height:8px;opacity:.5} 50%{height:28px;opacity:1} }
.speed-card { left:6px; bottom:72px; padding:15px 17px; width:190px; border-radius:18px; transform:translate(var(--mx),var(--my)) translateZ(52px) rotateX(var(--rx)) rotateY(var(--ry)); }
.speed-card strong, .speed-card small { display:block; }
.speed-card strong { margin-top:8px; font:800 25px/1 ui-monospace,monospace; color:#e9fff8; letter-spacing:-.06em; }
.speed-card small { color:var(--muted-2); font-size:10px; margin-top:5px; }
.metric-card { right:26px; bottom:46px; width:180px; padding:14px 15px; border-radius:17px; transform:translate(var(--mx),var(--my)) translateZ(30px) rotateX(var(--rx)) rotateY(var(--ry)); }
.metric-card span, .metric-card strong, .metric-card small { display:block; }
.metric-card span { color:var(--muted-2); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.metric-card strong { margin-top:5px; font-size:15px; color:var(--mint); }
.metric-card small { margin-top:4px; font-size:9px; color:#748990; }

.stack-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.012); }
.stack-row { min-height: 92px; display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; }
.stack-list { display:flex; gap:26px; flex-wrap:wrap; align-items:center; justify-content:flex-end; color:#9eb0b4; font-size:12px; font-weight:800; }

.section-head { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.5fr); gap:60px; align-items:end; margin-bottom:56px; }
.section-head .kicker { margin-bottom:18px; }
.section-head p { margin:0; max-width:470px; justify-self:end; font-size:16px; line-height:1.7; }

.leak-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.leak-card, .service-card, .method-card { position:relative; overflow:hidden; border:1px solid var(--line); background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.014)); box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.leak-card { min-height:360px; padding:26px; border-radius:22px; transition:border-color .2s ease, background .2s ease, transform .16s ease; }
.leak-card::before, .service-card::before { content:""; position:absolute; inset:-1px; opacity:0; background:radial-gradient(320px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(103,232,197,.11),transparent 45%); transition:opacity .2s ease; pointer-events:none; }
.leak-card:hover::before, .service-card:hover::before { opacity:1; }
.leak-card:hover, .service-card:hover { border-color:rgba(167,243,219,.2); }
.card-index, .service-no { position:absolute; top:22px; right:24px; color:#587078; font:700 10px/1 ui-monospace,monospace; letter-spacing:.1em; }
.leak-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; border:1px solid rgba(167,243,219,.16); color:var(--mint); font-size:24px; background:rgba(167,243,219,.04); margin:6px 0 74px; box-shadow:inset 0 0 24px rgba(103,232,197,.03); }
.leak-card h3 { margin-bottom:13px; }
.leak-card p { font-size:14px; line-height:1.7; }
.card-foot { position:absolute; bottom:24px; left:26px; right:26px; padding-top:16px; border-top:1px solid var(--line); color:#799097; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }

.evidence-panel { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; margin-top:18px; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#081522; }
.evidence-panel > div { padding:24px; }
.evidence-panel > div + div { border-left:1px solid var(--line); }
.evidence-title p { font-size:12px; margin:12px 0 0; line-height:1.55; }
.evidence-stat strong { display:block; color:#f1fff9; font-size:34px; line-height:1; letter-spacing:-.06em; }
.evidence-stat span { display:block; margin-top:10px; color:#9dafb4; font-size:12px; line-height:1.55; }
.evidence-stat a { display:inline-block; margin-top:12px; color:var(--mint); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }

.section-dark { background:linear-gradient(180deg,#07121e,#091421); border-top:1px solid rgba(255,255,255,.035); border-bottom:1px solid rgba(255,255,255,.035); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { min-height:430px; padding:26px; border-radius:22px; transition:border-color .2s ease, transform .16s ease; }
.service-glyph { width:58px; height:58px; display:grid; place-items:center; margin:8px 0 58px; border:1px solid rgba(167,243,219,.15); border-radius:18px; color:var(--mint); background:linear-gradient(145deg,rgba(167,243,219,.07),rgba(100,217,255,.025)); font-size:23px; box-shadow:inset 0 0 28px rgba(103,232,197,.025); }
.service-card h3 { margin-bottom:12px; }
.service-card p { font-size:13px; line-height:1.7; margin-bottom:20px; }
.service-card ul { list-style:none; padding:18px 0 0; margin:0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; }
.service-card li { color:#899ba1; font-size:10px; font-weight:700; }
.service-card li::before { content:"+"; color:var(--mint); margin-right:6px; }

.website-section { overflow:hidden; }
.website-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); gap:74px; align-items:center; }
.website-copy .kicker { margin-bottom:18px; }
.website-copy h2 { margin-bottom:22px; }
.website-copy > p { font-size:16px; line-height:1.75; }
.quality-list { margin:34px 0; border-top:1px solid var(--line); }
.quality-list div { display:grid; grid-template-columns:34px 1fr; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.quality-list span { color:var(--mint); font:700 10px/1.6 ui-monospace,monospace; }
.quality-list p { margin:0; font-size:13px; line-height:1.6; }
.quality-list strong { color:#dfe9e8; }
.browser-scene { position:relative; min-height:560px; perspective:1300px; transform-style:preserve-3d; }
.browser-window { position:absolute; width:92%; left:4%; top:7%; border:1px solid rgba(215,255,246,.16); border-radius:24px; overflow:hidden; background:#eaf0ef; color:#12202a; box-shadow:0 44px 100px rgba(0,0,0,.42); transform:rotateY(-8deg) rotateX(4deg); transform-origin:center; transition:transform .16s ease; }
.browser-bar { height:42px; display:flex; align-items:center; gap:7px; padding:0 14px; background:#0d1b29; border-bottom:1px solid rgba(255,255,255,.06); }
.browser-bar > span { width:7px; height:7px; border-radius:50%; background:#55656b; }
.browser-bar div { margin-left:10px; width:48%; height:22px; border-radius:8px; background:rgba(255,255,255,.06); color:#829298; font-size:9px; display:grid; place-items:center; }
.browser-page { min-height:430px; padding:22px; background:radial-gradient(circle at 80% 20%,rgba(65,126,255,.18),transparent 26%),linear-gradient(150deg,#0d1b29,#111f2d 55%,#0e1924); color:#f8ffff; }
.mini-nav { display:grid; grid-template-columns:1fr auto auto auto; gap:18px; align-items:center; font-size:9px; }
.mini-nav i { width:42px; height:4px; border-radius:999px; background:rgba(255,255,255,.16); }
.mini-nav button, .mini-hero button { border:0; border-radius:8px; background:#c9f8e8; color:#07120f; font-weight:800; font-size:8px; padding:8px 10px; }
.mini-hero { width:70%; padding:62px 0 44px; }
.mini-hero span { color:#8ee5cf; font:700 8px/1 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.12em; }
.mini-hero strong { display:block; margin-top:14px; font-size:34px; line-height:.98; letter-spacing:-.055em; }
.mini-hero p { width:88%; color:#98a9ad; font-size:10px; line-height:1.6; margin:14px 0 18px; }
.mini-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mini-cards span { height:86px; border-radius:12px; border:1px solid rgba(255,255,255,.09); background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02)); }
.browser-floating { position:absolute; z-index:3; width:190px; padding:16px; border-radius:17px; border:1px solid rgba(215,255,246,.16); background:rgba(10,24,37,.96); box-shadow:0 22px 54px rgba(0,0,0,.36); }
.browser-floating strong, .browser-floating small { display:block; }
.browser-floating strong { margin-top:8px; font-size:14px; }
.browser-floating small { margin-top:4px; color:var(--muted-2); font-size:10px; }
.form-float { left:-14px; bottom:62px; transform:translateZ(45px) rotateY(-3deg); }
.crm-float { right:-12px; top:70px; transform:translateZ(60px) rotateY(3deg); }

.system-section { background:rgba(255,255,255,.008); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.funnel-board { position:relative; display:grid; grid-template-columns:repeat(7,1fr); gap:12px; padding:34px 24px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)); overflow:hidden; }
.funnel-line { position:absolute; left:7%; right:7%; top:55px; height:1px; background:linear-gradient(90deg,transparent,var(--mint-2),var(--cyan),transparent); opacity:.45; }
.funnel-node { position:relative; min-height:150px; padding:16px; border:1px solid rgba(255,255,255,.07); border-radius:16px; background:#0a1623; }
.funnel-node span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1px solid rgba(167,243,219,.18); color:var(--mint); background:#091521; font:700 9px/1 ui-monospace,monospace; position:relative; z-index:2; }
.funnel-node strong, .funnel-node small { display:block; }
.funnel-node strong { margin-top:34px; font-size:13px; }
.funnel-node small { margin-top:6px; color:#71878f; font-size:9px; line-height:1.45; }

.roi-section { background:linear-gradient(160deg,#0a1725,#07111d 70%); }
.roi-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.roi-copy .kicker { margin-bottom:18px; }
.roi-copy h2 { margin-bottom:22px; }
.roi-copy > p { font-size:16px; line-height:1.7; }
.roi-note { margin-top:26px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; color:#93a5aa; background:rgba(255,255,255,.02); font-size:11px; line-height:1.6; }
.roi-note strong { color:#dce8e8; }
.calc-tabs { display:flex; gap:8px; margin-top:28px; }
.calc-tab { min-height:42px; padding:0 14px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.025); color:#93a6ab; font-size:12px; font-weight:800; cursor:pointer; }
.calc-tab.is-active { color:#07120f; border-color:var(--mint); background:var(--mint); }
.calculator-card { border:1px solid rgba(215,255,246,.14); border-radius:26px; background:linear-gradient(145deg,rgba(15,31,47,.98),rgba(7,17,29,.98)); box-shadow:var(--shadow); padding:28px; }
.calc-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:26px; }
.calc-head h3 { margin:7px 0 0; font-size:22px; }
.calc-badge { border:1px solid rgba(167,243,219,.15); color:var(--mint); background:rgba(167,243,219,.04); border-radius:999px; padding:7px 9px; font:700 9px/1 ui-monospace,monospace; letter-spacing:.08em; }
.range-field { display:block; margin-top:22px; }
.range-field > span { display:flex; justify-content:space-between; gap:16px; align-items:baseline; color:#b6c5c8; font-size:12px; font-weight:700; }
.range-field output { color:#effff9; font:800 13px/1 ui-monospace,monospace; }
.range-field input { width:100%; margin-top:14px; accent-color:var(--mint-2); cursor:pointer; }
.calc-result { margin-top:30px; padding:22px; border:1px solid rgba(167,243,219,.14); border-radius:18px; background:linear-gradient(140deg,rgba(167,243,219,.065),rgba(100,217,255,.025)); }
.calc-result span, .calc-result strong, .calc-result small { display:block; }
.calc-result span { color:#93a5aa; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.calc-result strong { margin-top:9px; color:#ecfff8; font-size:38px; line-height:1; letter-spacing:-.06em; }
.calc-result small { margin-top:8px; color:#6f858d; font:600 10px/1.4 ui-monospace,monospace; }

.method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.method-card { min-height:340px; padding:24px; border-radius:20px; }
.method-card > span { color:var(--mint); font:800 10px/1 ui-monospace,monospace; }
.method-card h3 { margin:78px 0 14px; }
.method-card p { font-size:13px; line-height:1.65; }
.method-card small { position:absolute; bottom:22px; left:24px; right:24px; padding-top:14px; border-top:1px solid var(--line); color:#667d85; font:700 9px/1.4 ui-monospace,monospace; letter-spacing:.06em; }

.standards-section { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.008); }
.standards-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start; }
.standards-layout .kicker { margin-bottom:18px; }
.standards-layout h2 { margin-bottom:20px; }
.standards-layout > div:first-child p { font-size:14px; line-height:1.7; }
.standards-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.standards-grid div { min-height:150px; padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.02); }
.standards-grid strong, .standards-grid span { display:block; }
.standards-grid strong { color:#e6f5f1; font-size:16px; }
.standards-grid span { margin-top:12px; color:#83979d; font-size:12px; line-height:1.55; }

.faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; align-items:start; }
.faq-layout .kicker { margin-bottom:18px; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { position:relative; list-style:none; cursor:pointer; padding:22px 42px 22px 0; color:#dbe7e6; font-weight:800; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:2px; top:20px; color:var(--mint); font-size:20px; transition:transform .2s ease; }
details[open] summary::after { transform:rotate(45deg); }
details p { padding:0 42px 22px 0; margin:0; font-size:13px; line-height:1.7; }

.contact-section { padding-top:92px; }
.contact-shell { display:grid; grid-template-columns:.78fr 1.22fr; border:1px solid rgba(215,255,246,.16); border-radius:30px; overflow:hidden; background:linear-gradient(145deg,#0c1c2b,#07131f); box-shadow:var(--shadow); }
.contact-copy { padding:48px; background:radial-gradient(circle at 10% 10%,rgba(103,232,197,.1),transparent 38%); }
.contact-copy .kicker { margin-bottom:18px; }
.contact-copy h2 { font-size:clamp(40px,4vw,58px); margin-bottom:20px; }
.contact-copy p { font-size:14px; line-height:1.7; }
.contact-points { display:grid; gap:10px; margin-top:34px; color:#9fb1b5; font-size:12px; }
.contact-points span::first-letter { color:var(--mint); }
.contact-form { padding:42px; border-left:1px solid var(--line); background:rgba(3,10,17,.26); }
.contact-form label { display:grid; gap:8px; color:#b7c6c8; font-size:11px; font-weight:800; margin-bottom:16px; }
.contact-form input, .contact-form textarea { width:100%; border:1px solid rgba(204,240,234,.13); border-radius:12px; background:#08131f; color:#eefbf7; padding:13px 14px; outline:0; transition:border-color .2s ease, box-shadow .2s ease; }
.contact-form input { min-height:46px; }
.contact-form textarea { resize:vertical; min-height:98px; }
.contact-form input:focus, .contact-form textarea:focus { border-color:rgba(100,217,255,.55); box-shadow:0 0 0 3px rgba(100,217,255,.07); }
.contact-form [aria-invalid="true"] { border-color:rgba(255,154,162,.75); box-shadow:0 0 0 3px rgba(255,154,162,.07); }
.field-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-status { margin:12px 0 0; color:#758b92; font-size:10px; line-height:1.5; }

.site-footer { padding:72px 0 28px; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:2fr .7fr .65fr 1fr; gap:48px; }
.footer-brand-block p { max-width:430px; margin:22px 0 0; font-size:12px; line-height:1.7; }
.footer-grid > div:not(:first-child) { display:grid; align-content:start; gap:10px; }
.footer-label { margin-bottom:8px; color:#7f949b; font:700 10px/1 ui-monospace,monospace; letter-spacing:.13em; }
.footer-grid a, .footer-grid > div:not(:first-child) > span:not(.footer-label) { color:#a9b9bc; font-size:12px; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:22px; margin-top:52px; padding-top:22px; border-top:1px solid var(--line); color:#657a82; font-size:10px; }
.footer-bottom a { color:#8ea1a6; }

.reveal { opacity: 1; transform: none; }

@media (hover:hover) and (pointer:fine) {
  [data-tilt] { transform-style: preserve-3d; }
}

@media (max-width: 1080px) {
  :root { --shell: 940px; }
  .primary-nav { gap: 18px; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 820px; }
  .hero-stage { width: min(760px, 100%); min-height: 560px; margin: 0 auto; }
  .stack-row { grid-template-columns: 1fr; gap: 14px; padding: 22px 0; }
  .stack-list { justify-content: flex-start; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .website-layout, .roi-layout, .standards-layout, .faq-layout, .contact-shell { grid-template-columns: 1fr; }
  .website-layout { gap: 50px; }
  .browser-scene { width: min(760px,100%); margin:0 auto; }
  .funnel-board { grid-template-columns: repeat(4,1fr); }
  .funnel-line { display:none; }
  .method-grid { grid-template-columns: repeat(2,1fr); }
  .contact-form { border-left:0; border-top:1px solid var(--line); }
  .footer-grid { grid-template-columns:1.7fr .7fr .7fr; }
  .footer-grid > div:last-child { grid-column:1/-1; }
}

@media (max-width: 820px) {
  :root { --header-h: 72px; }
  .shell { width:min(calc(100% - 28px), var(--shell)); }
  .section-pad { padding: 88px 0; }
  .nav-shell { grid-template-columns:auto auto; justify-content:space-between; }
  .nav-toggle { display:inline-flex; align-items:center; }
  .nav-cta { display:none; }
  .primary-nav { position:fixed; inset:var(--header-h) 0 auto; display:none; flex-direction:column; align-items:stretch; gap:0; background:rgba(7,16,29,.98); border-bottom:1px solid var(--line); padding:10px 14px 18px; box-shadow:0 30px 70px rgba(0,0,0,.35); }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:15px 10px; border-bottom:1px solid rgba(255,255,255,.05); font-size:15px; }
  .hero { padding-top:70px; min-height:auto; }
  .hero-proof { grid-template-columns:1fr; gap:14px; }
  .hero-proof div { padding:0; }
  .hero-proof div + div { padding:14px 0 0; border-left:0; border-top:1px solid var(--line); }
  .hero-stage { min-height: 560px; }
  .voice-card { right:0; }
  .speed-card { left:0; }
  .section-head { grid-template-columns:1fr; gap:18px; margin-bottom:42px; }
  .section-head p { justify-self:start; }
  .leak-grid { grid-template-columns:1fr; }
  .evidence-panel { grid-template-columns:1fr; }
  .evidence-panel > div + div { border-left:0; border-top:1px solid var(--line); }
  .funnel-board { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand-block { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
}

@media (max-width: 620px) {
  h1 { font-size: clamp(48px, 15vw, 67px); }
  h2 { font-size: clamp(36px, 10vw, 48px); }
  .logo-mark { width:44px; height:44px; flex-basis:44px; }
  .brand-type strong { font-size:20px; }
  .brand-type small { font-size:9px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-stage { min-height:650px; margin-top:16px; }
  .command-card { width:100%; padding:18px; }
  .flow-rail { grid-template-columns:1fr; gap:7px; }
  .flow-rail > i { width:1px; height:9px; justify-self:center; }
  .flow-step { min-height:62px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; align-items:center; }
  .flow-step span { grid-row:1/3; }
  .flow-step strong { margin-top:0; }
  .flow-step small { margin-top:0; }
  .voice-card { top:12px; right:0; width:205px; }
  .speed-card { bottom:14px; width:176px; }
  .metric-card { bottom:18px; right:0; width:154px; }
  .stack-list { gap:14px 20px; }
  .service-grid, .method-grid, .standards-grid, .field-pair { grid-template-columns:1fr; }
  .service-card { min-height:390px; }
  .browser-scene { min-height:470px; }
  .browser-window { width:100%; left:0; transform:none; }
  .mini-hero { width:88%; padding-top:46px; }
  .mini-hero strong { font-size:28px; }
  .browser-floating { width:162px; padding:13px; }
  .form-float { left:-4px; bottom:8px; }
  .crm-float { right:-4px; top:50px; }
  .funnel-board { grid-template-columns:1fr; padding:18px; }
  .funnel-node { min-height:118px; }
  .funnel-node strong { margin-top:24px; }
  .calculator-card { padding:20px; }
  .calc-head { display:grid; }
  .calc-result strong { font-size:32px; }
  .contact-copy, .contact-form { padding:28px 20px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand-block, .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .depth-card, [data-tilt], .browser-window { transform: none !important; }
  .stage-grid, .stage-orbit { opacity:.28; }
}

/* === V4 enterprise 3D system === */
.hero-trustline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 18px;
  color: #738a92;
  font: 700 10px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero-trustline span { display: inline-flex; align-items: center; gap: 8px; }
.hero-trustline span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--mint-2); box-shadow: 0 0 12px rgba(103,232,197,.48); }

.hero-stage {
  min-height: 680px;
  border: 1px solid rgba(199, 249, 237, .11);
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 36%, rgba(100,217,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(15,30,45,.62), rgba(5,12,22,.80));
  box-shadow: 0 36px 110px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
  perspective: 1500px;
  isolation: isolate;
}
.hero-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(rgba(152,231,226,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(152,231,226,.055) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 72%);
}
.hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 7;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 90px rgba(3,8,15,.52), inset 0 0 1px rgba(255,255,255,.16);
}
.hero-shader { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .82; }
.scene-vignette { position:absolute; inset:0; z-index:1; background: radial-gradient(circle at 52% 43%, transparent 0 28%, rgba(4,10,18,.08) 48%, rgba(4,10,18,.58) 100%); pointer-events:none; }
.scene-floor {
  position:absolute;
  z-index:1;
  left:4%; right:4%; bottom:-25%; height:57%;
  transform: rotateX(72deg) translateZ(-80px);
  transform-origin: 50% 100%;
  background-image: linear-gradient(rgba(103,232,197,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(100,217,255,.14) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, rgba(0,0,0,.75) 34%, transparent 71%);
  opacity:.62;
}
.revenue-scene {
  --scene-rx: -7deg;
  --scene-ry: 9deg;
  --scene-tx: 0px;
  --scene-ty: 0px;
  position:absolute;
  z-index:3;
  inset: 56px 18px 74px;
  transform-style: preserve-3d;
  transform: translate3d(var(--scene-tx), var(--scene-ty), 0) rotateX(var(--scene-rx)) rotateY(var(--scene-ry));
  transition: transform .18s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}
.orbit-3d {
  position:absolute;
  left:50%; top:49%;
  border: 1px solid rgba(167,243,219,.22);
  border-radius:50%;
  transform-style:preserve-3d;
  pointer-events:none;
  box-shadow: inset 0 0 46px rgba(100,217,255,.025), 0 0 26px rgba(103,232,197,.025);
}
.orbit-3d i { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 16px rgba(167,243,219,.9), 0 0 34px rgba(100,217,255,.45); top:-4px; left:50%; }
.orbit-3d-a { width:440px; height:440px; margin:-220px; transform: rotateX(74deg) rotateZ(-18deg) translateZ(-22px); animation: orbitTurnA 20s linear infinite; }
.orbit-3d-b { width:340px; height:340px; margin:-170px; border-color:rgba(100,217,255,.22); transform: rotateY(66deg) rotateX(18deg) rotateZ(22deg) translateZ(-6px); animation: orbitTurnB 16s linear infinite reverse; }
.orbit-3d-c { width:515px; height:205px; margin:-102px -258px; border-color:rgba(110,144,255,.2); transform: rotateX(18deg) rotateZ(-8deg) translateZ(-70px); animation: orbitTurnC 24s linear infinite; }
@keyframes orbitTurnA { to { transform: rotateX(74deg) rotateZ(342deg) translateZ(-22px); } }
@keyframes orbitTurnB { to { transform: rotateY(66deg) rotateX(18deg) rotateZ(382deg) translateZ(-6px); } }
@keyframes orbitTurnC { to { transform: rotateX(18deg) rotateZ(352deg) translateZ(-70px); } }

.system-core-3d {
  --core-x: -50%;
  --core-y: -50%;
  position:absolute;
  width:188px; height:188px;
  left:50%; top:49%;
  transform: translate3d(var(--core-x), var(--core-y), 80px);
  transform-style:preserve-3d;
  z-index:5;
}
.core-cube {
  --cube-size: 188px;
  width:var(--cube-size); height:var(--cube-size);
  position:relative;
  transform-style:preserve-3d;
  transform: rotateX(-12deg) rotateY(18deg);
  animation: coreSpin 30s linear infinite;
  filter: drop-shadow(0 32px 34px rgba(0,0,0,.42));
}
@keyframes coreSpin { to { transform: rotateX(-12deg) rotateY(378deg); } }
.cube-face {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  overflow:hidden;
  border:1px solid rgba(195,255,241,.32);
  background:
    linear-gradient(145deg, rgba(19,48,58,.76), rgba(7,18,31,.84)),
    radial-gradient(circle at 32% 20%, rgba(167,243,219,.18), transparent 34%);
  box-shadow: inset 0 0 42px rgba(103,232,197,.05), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color:#eafff8;
  text-align:center;
  backface-visibility: visible;
}
.cube-face::after { content:""; position:absolute; inset:0; background:linear-gradient(118deg, transparent 18%, rgba(255,255,255,.08) 39%, transparent 58%); transform:translateX(-120%); animation:cubeSheen 7s ease-in-out infinite; }
@keyframes cubeSheen { 0%,70%,100% { transform:translateX(-120%); } 82% { transform:translateX(120%); } }
.cube-face > * { position:relative; z-index:1; }
.cube-face > span:not(.cube-brand) { color:var(--mint); font:800 10px/1 ui-monospace,monospace; letter-spacing:.13em; }
.cube-face > strong { font-size:20px; letter-spacing:-.04em; }
.cube-face > small { color:#87a0a6; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.cube-front { transform:translateZ(94px); }
.cube-back { transform:rotateY(180deg) translateZ(94px); }
.cube-right { transform:rotateY(90deg) translateZ(94px); }
.cube-left { transform:rotateY(-90deg) translateZ(94px); }
.cube-top { transform:rotateX(90deg) translateZ(94px); }
.cube-bottom { transform:rotateX(-90deg) translateZ(94px); }
.cube-brand { display:flex; align-items:center; justify-content:center; gap:5px; width:54px; height:54px; border:1px solid rgba(167,243,219,.5); border-radius:15px; color:#ecfff8; font:800 29px/1 Inter,system-ui,sans-serif; text-shadow:0 0 20px rgba(167,243,219,.4); box-shadow:0 0 22px rgba(103,232,197,.1), inset 0 0 18px rgba(103,232,197,.05); }
.cube-brand span { display:block; width:3px; height:28px; border-radius:99px; background:#eafff7; box-shadow:0 0 12px rgba(167,243,219,.7); }
.core-energy { position:absolute; width:260px; height:260px; left:50%; top:50%; transform:translate(-50%,-50%) translateZ(-45px); border-radius:50%; background:radial-gradient(circle, rgba(167,243,219,.2), rgba(100,217,255,.1) 28%, transparent 68%); filter:blur(7px); animation:energyPulse 4s ease-in-out infinite; }
@keyframes energyPulse { 0%,100%{opacity:.6; transform:translate(-50%,-50%) translateZ(-45px) scale(.94)} 50%{opacity:1; transform:translate(-50%,-50%) translateZ(-45px) scale(1.05)} }
.core-shadow { position:absolute; width:190px; height:54px; left:50%; bottom:-128px; transform:translateX(-50%) rotateX(84deg) translateZ(-90px); border-radius:50%; background:rgba(0,0,0,.48); filter:blur(18px); }

.scene-node {
  position:absolute;
  z-index:6;
  width:176px;
  padding:14px 15px 13px;
  border:1px solid rgba(212,255,246,.16);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(13,31,46,.92),rgba(6,16,28,.92));
  box-shadow:0 24px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
  transform-style:preserve-3d;
  transition: transform .15s ease-out, border-color .2s ease, box-shadow .2s ease;
  will-change:transform;
}
.scene-node::before { content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none; background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%), rgba(167,243,219,.13), transparent 44%); opacity:.75; }
.scene-node > * { position:relative; z-index:1; }
.scene-node strong, .scene-node small { display:block; }
.scene-node strong { margin-top:18px; font-size:14px; color:#f0fffa; }
.scene-node small { margin-top:3px; color:#789097; font-size:9px; }
.scene-node > i:not(.node-wave) { display:inline-flex; margin-top:12px; color:var(--mint); font:800 8px/1 ui-monospace,monospace; letter-spacing:.1em; font-style:normal; }
.node-index { position:absolute; top:13px; right:14px; color:#638089; font:700 8px/1 ui-monospace,monospace; }
.node-web { left:2%; top:8%; transform:translate3d(var(--node-x,0),var(--node-y,0),70px) rotateY(8deg); }
.node-voice { right:0; top:9%; transform:translate3d(var(--node-x,0),var(--node-y,0),115px) rotateY(-10deg); }
.node-crm { left:3%; bottom:7%; transform:translate3d(var(--node-x,0),var(--node-y,0),90px) rotateY(11deg); }
.node-follow { right:1%; bottom:7%; width:190px; transform:translate3d(var(--node-x,0),var(--node-y,0),135px) rotateY(-12deg); }
.node-custom { left:50%; bottom:-2%; width:210px; transform:translate3d(calc(-50% + var(--node-x,0px)),var(--node-y,0px),155px) rotateX(-2deg); }
.node-wave { display:flex; align-items:center; gap:3px; height:18px; margin-top:10px; font-style:normal; }
.node-wave b { display:block; width:2px; height:6px; border-radius:99px; background:linear-gradient(var(--mint),var(--cyan)); animation:nodeWave 1s ease-in-out infinite; }
.node-wave b:nth-child(2){animation-delay:-.2s}.node-wave b:nth-child(3){animation-delay:-.45s}.node-wave b:nth-child(4){animation-delay:-.12s}.node-wave b:nth-child(5){animation-delay:-.62s}
@keyframes nodeWave{0%,100%{height:5px;opacity:.5}50%{height:17px;opacity:1}}

.wire { position:absolute; z-index:2; left:50%; top:49%; height:1px; transform-origin:0 50%; background:linear-gradient(90deg,rgba(167,243,219,.5),rgba(100,217,255,.1)); box-shadow:0 0 12px rgba(103,232,197,.12); }
.wire::after { content:""; position:absolute; width:6px; height:6px; right:18%; top:-3px; border-radius:50%; background:var(--mint); box-shadow:0 0 15px rgba(167,243,219,.8); animation:packet 2.8s linear infinite; }
@keyframes packet { 0%{right:96%;opacity:0} 12%{opacity:1} 88%{opacity:1} 100%{right:2%;opacity:0} }
.wire-a { width:210px; transform:rotate(-148deg) translateZ(22px); }
.wire-b { width:220px; transform:rotate(-31deg) translateZ(28px); }
.wire-c { width:220px; transform:rotate(150deg) translateZ(8px); }
.wire-d { width:225px; transform:rotate(30deg) translateZ(38px); }
.wire-e { width:165px; transform:rotate(90deg) translateZ(48px); }
.wire-b::after{animation-delay:-.8s}.wire-c::after{animation-delay:-1.4s}.wire-d::after{animation-delay:-2s}.wire-e::after{animation-delay:-2.35s}

.scene-status {
  position:absolute;
  left:50%; bottom:-46px;
  transform:translateX(-50%) translateZ(150px);
  display:flex; align-items:center; gap:8px;
  padding:8px 11px;
  border:1px solid rgba(167,243,219,.15);
  border-radius:999px;
  background:rgba(7,18,29,.76);
  color:#8aa0a6;
  font:800 8px/1 ui-monospace,monospace;
  letter-spacing:.09em;
  white-space:nowrap;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.scene-status span { width:6px; height:6px; border-radius:50%; background:var(--mint); box-shadow:0 0 12px var(--mint); }
.scene-caption {
  position:absolute;
  z-index:8;
  left:22px; right:22px; bottom:19px;
  display:flex; justify-content:space-between; align-items:center; gap:18px;
  color:#6f868d;
  font:700 8px/1 ui-monospace,monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.scene-caption span { color:#9ab0b5; }
.scene-caption small { font:inherit; }

/* Enterprise delivery */
.assurance-section { background:linear-gradient(180deg,rgba(3,10,18,.08),rgba(2,8,14,.38)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.assurance-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:24px; overflow:hidden; background:rgba(255,255,255,.012); }
.assurance-card { min-height:260px; padding:30px; position:relative; overflow:hidden; background:linear-gradient(145deg,rgba(255,255,255,.016),rgba(255,255,255,.003)); }
.assurance-card:nth-child(2), .assurance-card:nth-child(3), .assurance-card:nth-child(5), .assurance-card:nth-child(6) { border-left:1px solid var(--line); }
.assurance-card:nth-child(n+4) { border-top:1px solid var(--line); }
.assurance-card::after { content:""; position:absolute; width:180px; height:180px; right:-90px; bottom:-110px; border-radius:50%; background:radial-gradient(circle,rgba(103,232,197,.07),transparent 66%); transition:transform .35s ease,opacity .35s ease; }
.assurance-card:hover::after { transform:translate(-16px,-18px) scale(1.2); }
.assurance-card > span { color:var(--mint); font:800 9px/1 ui-monospace,monospace; letter-spacing:.12em; }
.assurance-card h3 { margin:64px 0 12px; font-size:24px; }
.assurance-card p { margin:0; font-size:13px; line-height:1.7; max-width:33ch; }
.build-standard { margin-top:26px; display:grid; grid-template-columns:minmax(260px,.7fr) 1.3fr; align-items:center; gap:36px; padding:28px 30px; border:1px solid rgba(167,243,219,.14); border-radius:20px; background:linear-gradient(120deg,rgba(103,232,197,.045),rgba(100,217,255,.018)); }
.build-standard h3 { margin:8px 0 0; font-size:26px; }
.standard-pills { display:flex; flex-wrap:wrap; gap:8px; }
.standard-pills span { padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:999px; color:#9fb1b8; background:rgba(255,255,255,.025); font-size:10px; font-weight:700; }

@media (hover:hover) and (pointer:fine) {
  .scene-node:hover { border-color:rgba(167,243,219,.28); box-shadow:0 30px 70px rgba(0,0,0,.34), 0 0 36px rgba(103,232,197,.045); }
}

@media (max-width:1080px) {
  .hero-stage { min-height:640px; }
  .assurance-grid { grid-template-columns:repeat(2,1fr); }
  .assurance-card:nth-child(3), .assurance-card:nth-child(5) { border-left:0; }
  .assurance-card:nth-child(2), .assurance-card:nth-child(4), .assurance-card:nth-child(6) { border-left:1px solid var(--line); }
  .assurance-card:nth-child(n+3) { border-top:1px solid var(--line); }
}

@media (max-width:820px) {
  .hero-stage { min-height:610px; border-radius:26px; }
  .revenue-scene { inset:46px 8px 68px; transform:rotateX(-5deg) rotateY(5deg) scale(.92); }
  .orbit-3d-a { width:390px; height:390px; margin:-195px; }
  .orbit-3d-b { width:310px; height:310px; margin:-155px; }
  .orbit-3d-c { width:460px; margin-left:-230px; }
  .scene-node { width:158px; padding:13px; }
  .node-follow { width:174px; }
  .node-custom { width:186px; bottom:-1%; }
  .scene-caption small { display:none; }
  .build-standard { grid-template-columns:1fr; gap:22px; }
}

@media (max-width:620px) {
  .hero-stage { min-height:620px; margin-top:18px; }
  .revenue-scene { inset:52px -16px 76px; transform:rotateX(-4deg) rotateY(3deg) scale(.74); transform-origin:50% 50%; }
  .system-core-3d { width:176px; height:176px; }
  .core-cube { --cube-size:176px; }
  .cube-front { transform:translateZ(88px); }.cube-back { transform:rotateY(180deg) translateZ(88px); }.cube-right { transform:rotateY(90deg) translateZ(88px); }.cube-left { transform:rotateY(-90deg) translateZ(88px); }.cube-top { transform:rotateX(90deg) translateZ(88px); }.cube-bottom { transform:rotateX(-90deg) translateZ(88px); }
  .node-custom { width:180px; bottom:-2%; }
  .scene-caption { left:16px; right:16px; }
  .hero-trustline { gap:8px 12px; }
  .assurance-grid { grid-template-columns:1fr; }
  .assurance-card { min-height:220px; }
  .assurance-card:nth-child(n) { border-left:0; }
  .assurance-card:nth-child(n+2) { border-top:1px solid var(--line); }
  .assurance-card h3 { margin-top:48px; }
  .build-standard { padding:22px; }
}

@media (prefers-reduced-motion: reduce) {
  .revenue-scene { transform:rotateX(-6deg) rotateY(7deg) !important; }
  .core-cube { animation:none !important; transform:rotateX(-12deg) rotateY(18deg) !important; }
  .orbit-3d-a { animation:none !important; transform:rotateX(74deg) rotateZ(-18deg) translateZ(-22px) !important; }
  .orbit-3d-b { animation:none !important; transform:rotateY(66deg) rotateX(18deg) rotateZ(22deg) translateZ(-6px) !important; }
  .orbit-3d-c { animation:none !important; transform:rotateX(18deg) rotateZ(-8deg) translateZ(-70px) !important; }
  .hero-shader { display:none; }
}

/* Cube face legibility: never show mirrored reverse text. */
.cube-face { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cube-front { background:linear-gradient(145deg,rgba(17,49,57,.96),rgba(7,20,31,.96)); }
.cube-right { background:linear-gradient(145deg,rgba(17,54,63,.94),rgba(7,24,38,.96)); }
.cube-left { background:linear-gradient(145deg,rgba(12,37,51,.95),rgba(7,18,31,.97)); }
.cube-top { background:linear-gradient(145deg,rgba(34,76,75,.94),rgba(11,34,43,.97)); }
.cube-bottom { background:linear-gradient(145deg,rgba(7,20,31,.98),rgba(5,14,24,.98)); }
.cube-back { background:linear-gradient(145deg,rgba(14,42,51,.96),rgba(6,18,29,.98)); }

/* === V5 ART DIRECTION: Cloud Grey + Deep Petrol + Eucalyptus === */
:root {
  --bg: #EEF2F0;
  --bg-2: #F6F8F7;
  --panel: #FFFFFF;
  --panel-2: #E7ECEA;
  --text: #173C3C;
  --muted: #5F7471;
  --muted-2: #7A8E8A;
  --line: rgba(23,60,60,.11);
  --line-strong: rgba(23,60,60,.22);
  --mint: #43B596;
  --mint-2: #2E9A7C;
  --cyan: #9DD8C6;
  --blue: #C5A46D;
  --lime: #87C9A8;
  --white: #FFFFFF;
  --shadow: 0 30px 90px rgba(35,61,58,.13);
  --shadow-soft: 0 18px 54px rgba(35,61,58,.09);
}

html { background: var(--bg); }
body {
  background:
    radial-gradient(circle at 8% -4%, rgba(255,255,255,.96), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(157,216,198,.20), transparent 30%),
    linear-gradient(180deg, #F1F4F2 0%, #E9EEEC 48%, #F6F8F7 100%);
  color: var(--text);
}
::selection { background:#BFE9DD; color:#173C3C; }
p { color: var(--muted); }
.kicker { color: var(--mint-2); }
h1, h2, h3 { color: var(--text); }
.text-glow {
  color: var(--mint-2);
  text-shadow:none;
  background: linear-gradient(100deg, #2D8E75 0%, #43B596 52%, #6E9388 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.button {
  color:#F8FBFA;
  background:linear-gradient(135deg,#173C3C 0%,#204B49 100%);
  border-color:#173C3C;
  box-shadow:0 13px 34px rgba(23,60,60,.17), inset 0 1px 0 rgba(255,255,255,.16);
}
.button:hover { box-shadow:0 18px 44px rgba(23,60,60,.22); filter:none; }
.button-ghost { color:var(--text); background:rgba(255,255,255,.60); border-color:var(--line-strong); box-shadow:0 8px 24px rgba(35,61,58,.05); }
.button-ghost:hover { background:#fff; box-shadow:0 12px 28px rgba(35,61,58,.08); }
.button:focus-visible, .nav-toggle:focus-visible, .calc-tab:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, a:focus-visible { outline-color:rgba(67,181,150,.62); }
.text-link { color:var(--text); }
.text-link span { color:var(--mint-2); }
.scroll-progress span { background:linear-gradient(90deg,var(--mint-2),#C5A46D); box-shadow:0 0 10px rgba(67,181,150,.26); }

.site-header {
  border-bottom:1px solid rgba(23,60,60,.09);
  background:rgba(238,242,240,.76);
  box-shadow:0 8px 30px rgba(35,61,58,.035);
}
.logo-mark { filter:none; }
.logo-mark img { width:100%; height:100%; }
.brand-type strong { font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-weight:800; color:#173C3C; }
.brand-type small { color:#173C3C; opacity:.78; }
.primary-nav a { color:#526B68; }
.primary-nav a:hover { color:#173C3C; }
.nav-toggle { color:#173C3C; background:rgba(255,255,255,.62); border-color:var(--line-strong); }

.hero { background:linear-gradient(180deg,rgba(255,255,255,.30),transparent); }
.hero-noise { opacity:.065; mix-blend-mode:multiply; }
.aura-a { background:rgba(157,216,198,.30); }
.aura-b { background:rgba(197,164,109,.12); }
.eyebrow { color:#58716D; }
.pulse-dot { background:var(--mint); box-shadow:0 0 0 5px rgba(67,181,150,.11),0 0 18px rgba(67,181,150,.26); }
.hero-lede { color:#536A67; }
.hero-proof strong { color:#173C3C; }
.hero-proof span, .hero-trustline { color:#718480; }
.hero-trustline span::before { background:var(--mint); box-shadow:0 0 10px rgba(67,181,150,.28); }

.hero-stage {
  border-color:rgba(23,60,60,.12);
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.98), rgba(255,255,255,.62) 34%, transparent 58%),
    radial-gradient(circle at 74% 20%, rgba(157,216,198,.22), transparent 34%),
    linear-gradient(165deg,#E7ECEA 0%,#DCE4E1 46%,#F5F7F6 100%);
  box-shadow:0 34px 90px rgba(44,74,69,.12), inset 0 1px 0 rgba(255,255,255,.92);
}
.hero-stage::before {
  background:linear-gradient(rgba(23,60,60,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,60,60,.05) 1px,transparent 1px);
  opacity:.62;
}
.hero-stage::after { box-shadow:inset 0 0 90px rgba(72,98,93,.08), inset 0 0 1px rgba(255,255,255,.86); }
.hero-shader { opacity:.50; }
.scene-vignette { background:radial-gradient(circle at 52% 43%,transparent 0 33%,rgba(238,242,240,.03) 52%,rgba(122,145,139,.16) 100%); }
.scene-floor {
  background-image:linear-gradient(rgba(67,181,150,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(23,60,60,.09) 1px,transparent 1px);
  opacity:.52;
}
.orbit-3d { border-color:rgba(46,154,124,.30); box-shadow:inset 0 0 46px rgba(67,181,150,.04),0 0 26px rgba(67,181,150,.04); }
.orbit-3d-b { border-color:rgba(197,164,109,.28); }
.orbit-3d-c { border-color:rgba(92,128,119,.22); }
.orbit-3d i { background:var(--mint); box-shadow:0 0 13px rgba(67,181,150,.52),0 0 26px rgba(197,164,109,.20); }

.core-cube { filter:drop-shadow(0 28px 30px rgba(44,74,69,.22)); }
.cube-face {
  border-color:rgba(23,60,60,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(225,235,231,.90)),radial-gradient(circle at 32% 20%,rgba(157,216,198,.18),transparent 34%);
  box-shadow:inset 0 0 36px rgba(67,181,150,.045),inset 0 1px 0 rgba(255,255,255,.95);
  color:#173C3C;
}
.cube-face::after { background:linear-gradient(118deg,transparent 18%,rgba(255,255,255,.62) 39%,transparent 58%); }
.cube-face > span:not(.cube-brand) { color:var(--mint-2); }
.cube-face > strong { color:#173C3C; }
.cube-face > small { color:#6E837E; }
.cube-brand { width:62px; height:62px; border:0; border-radius:0; box-shadow:none; background:transparent; }
.cube-brand img { width:62px; height:62px; filter:drop-shadow(0 10px 16px rgba(35,61,58,.08)); }
.core-energy { background:radial-gradient(circle,rgba(67,181,150,.18),rgba(197,164,109,.08) 32%,transparent 68%); }
.core-shadow { background:rgba(44,74,69,.20); }

.scene-node {
  border-color:rgba(23,60,60,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(241,245,243,.72));
  box-shadow:0 20px 48px rgba(44,74,69,.12),inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter:blur(18px) saturate(115%);
}
.scene-node::before { background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(67,181,150,.13),transparent 44%); }
.scene-node strong { color:#173C3C; }
.scene-node small { color:#718480; }
.scene-node > i:not(.node-wave) { color:#2E9A7C; }
.node-index { color:#8AA09B; }
.node-wave b { background:linear-gradient(var(--mint),#C5A46D); }
.wire { background:linear-gradient(90deg,rgba(46,154,124,.58),rgba(197,164,109,.12)); box-shadow:0 0 10px rgba(67,181,150,.09); }
.wire::after { background:var(--mint); box-shadow:0 0 13px rgba(67,181,150,.50); }
.scene-status { border-color:rgba(23,60,60,.13); background:rgba(255,255,255,.76); color:#6F827E; box-shadow:0 10px 28px rgba(44,74,69,.08); }
.scene-caption, .scene-caption span { color:#6E837E; }

.stack-strip { background:rgba(255,255,255,.34); }
.stack-list { color:#667B77; }
.leak-card,.service-card,.method-card { background:linear-gradient(155deg,rgba(255,255,255,.88),rgba(247,250,248,.62)); box-shadow:0 12px 40px rgba(35,61,58,.045), inset 0 1px 0 rgba(255,255,255,.85); }
.leak-card::before,.service-card::before { background:radial-gradient(320px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(67,181,150,.13),transparent 45%); }
.leak-card:hover,.service-card:hover { border-color:rgba(46,154,124,.28); }
.card-index,.service-no { color:#91A29F; }
.leak-icon,.service-glyph { border-color:rgba(46,154,124,.18); color:var(--mint-2); background:rgba(67,181,150,.08); box-shadow:inset 0 0 24px rgba(67,181,150,.035); }
.card-foot { color:#6E837E; }

.evidence-panel { background:rgba(255,255,255,.75); box-shadow:var(--shadow-soft); }
.evidence-stat strong { color:#173C3C; }
.evidence-stat span { color:#60736F; }
.evidence-stat a { color:#2E9A7C; }
.section-dark { background:linear-gradient(180deg,#E6ECE9 0%,#F2F5F3 100%); border-color:rgba(23,60,60,.08); }
.service-card li { color:#6D827E; }

.quality-list strong { color:#173C3C; }
.browser-window { border-color:rgba(23,60,60,.14); background:#F8FAF9; box-shadow:0 34px 80px rgba(35,61,58,.16); }
.browser-bar { background:#DCE4E1; border-bottom-color:rgba(23,60,60,.08); }
.browser-bar > span { background:#9AAEAA; }
.browser-bar div { background:rgba(255,255,255,.52); color:#6F837E; }
.browser-page { background:radial-gradient(circle at 80% 20%,rgba(157,216,198,.30),transparent 28%),linear-gradient(150deg,#F8FAF9,#EDF2F0 55%,#E6ECE9); color:#173C3C; }
.mini-nav i { background:rgba(23,60,60,.13); }
.mini-nav button,.mini-hero button { background:#173C3C; color:#fff; }
.mini-hero span { color:#2E9A7C; }
.mini-hero p { color:#667A76; }
.mini-cards span { border-color:rgba(23,60,60,.10); background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(222,233,228,.72)); }
.browser-floating { border-color:rgba(23,60,60,.13); background:rgba(255,255,255,.90); box-shadow:0 20px 48px rgba(35,61,58,.13); }
.browser-floating strong { color:#173C3C; }

.system-section,.standards-section { background:rgba(255,255,255,.20); }
.funnel-board { background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(236,242,239,.64)); box-shadow:var(--shadow-soft); }
.funnel-line { background:linear-gradient(90deg,transparent,var(--mint-2),#C5A46D,transparent); }
.funnel-node { border-color:rgba(23,60,60,.10); background:rgba(255,255,255,.78); }
.funnel-node span { border-color:rgba(46,154,124,.20); color:#2E9A7C; background:#F3F7F5; }
.funnel-node strong { color:#173C3C; }
.funnel-node small { color:#586F6A; }

.roi-section { background:linear-gradient(160deg,#E5ECE9 0%,#F1F4F2 72%); }
.roi-note { color:#657A76; background:rgba(255,255,255,.54); }
.roi-note strong { color:#173C3C; }
.calc-tab { background:rgba(255,255,255,.62); color:#60736F; }
.calc-tab.is-active { color:#fff; border-color:#173C3C; background:#173C3C; }
.calculator-card { border-color:rgba(23,60,60,.12); background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,244,241,.88)); box-shadow:0 28px 76px rgba(35,61,58,.13); }
.calc-badge { border-color:rgba(46,154,124,.18); color:#2E9A7C; background:rgba(67,181,150,.08); }
.range-field > span { color:#5F7471; }
.range-field output { color:#173C3C; }
.calc-result { border-color:rgba(46,154,124,.18); background:linear-gradient(140deg,rgba(67,181,150,.10),rgba(197,164,109,.055)); }
.calc-result span { color:#657A76; }
.calc-result strong { color:#173C3C; }
.calc-result small { color:#738782; }
.method-card small { color:#71837F; }
.standards-grid div { background:rgba(255,255,255,.68); }
.standards-grid strong { color:#173C3C; }
.standards-grid span { color:#677C78; }
summary { color:#173C3C; }

.assurance-section { background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(226,234,230,.52)); }
.assurance-grid { background:rgba(255,255,255,.54); box-shadow:var(--shadow-soft); }
.assurance-card { background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(242,246,244,.40)); }
.assurance-card::after { background:radial-gradient(circle,rgba(67,181,150,.11),transparent 66%); }
.build-standard { border-color:rgba(46,154,124,.16); background:linear-gradient(120deg,rgba(67,181,150,.08),rgba(197,164,109,.045)); }
.standard-pills span { border-color:rgba(23,60,60,.10); color:#637873; background:rgba(255,255,255,.62); }

.contact-shell { border-color:rgba(23,60,60,.13); background:linear-gradient(145deg,#F8FAF9,#E9EFEC); box-shadow:0 30px 80px rgba(35,61,58,.13); }
.contact-copy { background:radial-gradient(circle at 10% 10%,rgba(157,216,198,.24),transparent 40%); }
.contact-points { color:#627773; }
.contact-form { border-left-color:var(--line); background:rgba(255,255,255,.48); }
.contact-form label { color:#526A66; }
.contact-form input,.contact-form textarea { border-color:rgba(23,60,60,.13); background:rgba(255,255,255,.82); color:#173C3C; }
.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(46,154,124,.52); box-shadow:0 0 0 3px rgba(67,181,150,.09); }
.form-status { color:#6F837E; }

.site-footer { background:rgba(255,255,255,.30); }
.footer-label { color:#586F6A; }
.footer-grid a,.footer-grid > div:not(:first-child) > span:not(.footer-label) { color:#5F7471; }
.footer-grid a:hover { color:#173C3C; }
.footer-bottom { color:#7A8E8A; }
.footer-bottom a { color:#627773; }

@media (hover:hover) and (pointer:fine) {
  .scene-node:hover { border-color:rgba(46,154,124,.26); box-shadow:0 28px 62px rgba(35,61,58,.14),0 0 30px rgba(67,181,150,.06); }
}
@media (max-width:820px) {
  .primary-nav { background:rgba(238,242,240,.98); box-shadow:0 24px 60px rgba(35,61,58,.12); }
  .primary-nav a { border-bottom-color:rgba(23,60,60,.08); }
}

/* === V6 BRAND SYSTEM: Pearl / Deep Petrol / Eucalyptus === */
:root {
  --bg: #EEF2F0;
  --bg-2: #F8FAF9;
  --panel: #FFFFFF;
  --panel-2: #E7ECEA;
  --text: #173C3C;
  --muted: #5F7471;
  --muted-2: #7A8E8A;
  --line: rgba(23,60,60,.105);
  --line-strong: rgba(23,60,60,.19);
  --mint: #43B596;
  --mint-2: #2E9A7C;
  --cyan: #9DD8C6;
  --blue: #C5A46D;
  --shadow: 0 28px 80px rgba(34,64,59,.11);
  --shadow-soft: 0 14px 44px rgba(34,64,59,.065);
}

body {
  background:
    radial-gradient(circle at 7% 1%, rgba(255,255,255,.98), transparent 24rem),
    radial-gradient(circle at 92% 10%, rgba(157,216,198,.18), transparent 29rem),
    radial-gradient(circle at 54% 48%, rgba(197,164,109,.045), transparent 28rem),
    linear-gradient(180deg,#EEF2F0 0%,#F7F9F8 28%,#EDF2F0 65%,#F8FAF9 100%);
}

.site-header {
  background: rgba(244,247,245,.80);
  border-bottom-color: rgba(23,60,60,.08);
  box-shadow: 0 10px 32px rgba(37,70,64,.045);
  backdrop-filter: blur(22px) saturate(125%);
  -webkit-backdrop-filter: blur(22px) saturate(125%);
}
.logo-mark { width:48px; height:48px; flex-basis:48px; }
.logo-mark img { filter: drop-shadow(0 8px 14px rgba(23,60,60,.07)); }
.brand-type { gap:2px; }
.brand-type strong { color:#173C3C; font-size:21px; letter-spacing:-.04em; }
.brand-type small { color:#173C3C; opacity:.72; letter-spacing:.20em; }
.primary-nav a { color:#58706C; }
.primary-nav a::after { content:""; display:block; height:1px; width:0; margin-top:4px; background:#43B596; transition:width .22s ease; }
.primary-nav a:hover::after { width:100%; }

.button {
  color:#103A32;
  background:linear-gradient(135deg,#77D1B6 0%,#43B596 56%,#67C6AA 100%);
  border-color:rgba(46,154,124,.28);
  box-shadow:0 14px 34px rgba(46,154,124,.18), inset 0 1px 0 rgba(255,255,255,.58);
}
.button:hover { box-shadow:0 19px 42px rgba(46,154,124,.24); transform:translateY(-2px); }
.button-ghost { color:#173C3C; background:rgba(255,255,255,.72); border-color:rgba(23,60,60,.14); box-shadow:0 10px 26px rgba(35,61,58,.055); }
.button-ghost:hover { background:#fff; border-color:rgba(46,154,124,.24); }

.hero { padding-top:86px; padding-bottom:88px; }
.hero-layout { grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr); gap:54px; }
.hero-copy h1 { max-width:780px; font-size:clamp(58px,6.25vw,88px); line-height:.96; }
.hero-lede { max-width:680px; color:#5D716D; }
.text-glow {
  background:linear-gradient(105deg,#2E9A7C 0%,#43B596 55%,#6FA996 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero-proof { border-top-color:rgba(23,60,60,.11); }
.hero-proof div + div { border-left-color:rgba(23,60,60,.10); }

.hero-stage {
  min-height:700px;
  border:1px solid rgba(23,60,60,.105);
  border-radius:38px;
  background:
    radial-gradient(circle at 52% 36%,rgba(255,255,255,1) 0 16%,rgba(255,255,255,.76) 34%,transparent 58%),
    radial-gradient(circle at 79% 16%,rgba(157,216,198,.29),transparent 31%),
    radial-gradient(circle at 19% 78%,rgba(197,164,109,.095),transparent 28%),
    linear-gradient(160deg,#E8EEEB 0%,#DDE7E3 48%,#F7F9F8 100%);
  box-shadow:0 38px 100px rgba(41,74,68,.13), inset 0 1px 0 rgba(255,255,255,.96);
}
.hero-stage::before {
  background:
    linear-gradient(rgba(23,60,60,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,60,60,.045) 1px,transparent 1px);
  background-size:52px 52px;
  opacity:.74;
}
.hero-stage::after { box-shadow:inset 0 0 100px rgba(87,111,105,.07),inset 0 0 1px rgba(255,255,255,.94); }
.scene-floor { opacity:.68; background-size:32px 32px; }

/* A visible architectural plinth makes the central mark read as intentional 3D. */
.system-core-3d::before,
.system-core-3d::after {
  content:"";
  position:absolute;
  left:50%; top:54%;
  pointer-events:none;
  border-radius:50%;
  transform-style:preserve-3d;
}
.system-core-3d::before {
  width:300px; height:184px;
  transform:translate(-50%,-50%) translateZ(-95px) rotateX(71deg);
  border:1px solid rgba(46,154,124,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(201,220,213,.40));
  box-shadow:0 0 0 16px rgba(255,255,255,.20),0 34px 54px rgba(47,84,76,.13),inset 0 0 38px rgba(67,181,150,.11);
}
.system-core-3d::after {
  width:240px; height:132px;
  transform:translate(-50%,-50%) translateZ(-65px) rotateX(71deg);
  border:1px solid rgba(197,164,109,.20);
  background:radial-gradient(circle,rgba(67,181,150,.13),rgba(255,255,255,.48) 48%,rgba(255,255,255,.04) 72%);
  box-shadow:0 0 34px rgba(67,181,150,.09);
}
.core-cube { filter:drop-shadow(0 30px 34px rgba(43,75,69,.20)); }
.cube-face { border-radius:22px; border-color:rgba(23,60,60,.16); backdrop-filter:blur(15px) saturate(118%); -webkit-backdrop-filter:blur(15px) saturate(118%); }
.cube-front { box-shadow:inset 0 0 40px rgba(67,181,150,.055),inset 0 1px 0 rgba(255,255,255,.98),0 0 38px rgba(157,216,198,.15); }
.core-energy { filter:blur(10px); }
.orbit-3d-a { border-color:rgba(46,154,124,.34); }
.orbit-3d-b { border-color:rgba(197,164,109,.32); }
.orbit-3d-c { border-color:rgba(23,60,60,.17); }
.scene-node { border-color:rgba(23,60,60,.125); box-shadow:0 22px 55px rgba(41,72,66,.115),inset 0 1px 0 rgba(255,255,255,.96); }
.scene-status { background:rgba(248,250,249,.80); border-color:rgba(46,154,124,.18); color:#617872; box-shadow:0 12px 28px rgba(35,61,58,.08); backdrop-filter:blur(12px); }
.scene-caption { color:#71857F; }
.scene-caption span { color:#506A65; }

.stack-strip { background:rgba(255,255,255,.40); }
.stack-list span { color:#536B67; }

.leak-card,.service-card,.method-card {
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(246,249,247,.70));
  box-shadow:0 16px 48px rgba(35,61,58,.055),inset 0 1px 0 rgba(255,255,255,.94);
}
.leak-card:hover,.service-card:hover { box-shadow:0 22px 58px rgba(35,61,58,.085),inset 0 1px 0 rgba(255,255,255,.98); }
.service-glyph,.leak-icon { background:linear-gradient(145deg,rgba(157,216,198,.22),rgba(255,255,255,.60)); border-color:rgba(46,154,124,.17); color:#2E9A7C; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.section-dark { background:linear-gradient(180deg,#E8EEEB 0%,#F7F9F8 100%); }

.evidence-panel,.funnel-board,.assurance-grid { border-color:rgba(23,60,60,.10); box-shadow:0 18px 56px rgba(35,61,58,.06); }
.roi-section { background:linear-gradient(150deg,#E5ECE8 0%,#F8FAF9 68%,#EEF3F1 100%); }
.calculator-card { box-shadow:0 28px 72px rgba(35,61,58,.11); }
.calc-result strong { color:#2C806B; }

.contact-shell { background:linear-gradient(145deg,#F8FAF9 0%,#E7EEEB 100%); box-shadow:0 32px 86px rgba(35,61,58,.11); }
.contact-copy { background:radial-gradient(circle at 10% 10%,rgba(157,216,198,.28),transparent 42%),radial-gradient(circle at 82% 82%,rgba(197,164,109,.07),transparent 34%); }
.site-footer { background:rgba(244,247,245,.76); }

@media (max-width:1080px) {
  .hero-layout { grid-template-columns:1fr; }
  .hero-stage { min-height:650px; }
}
@media (max-width:620px) {
  .hero { padding-top:58px; }
  .hero-copy h1 { font-size:clamp(48px,15vw,66px); }
  .hero-stage { min-height:600px; border-radius:28px; }
  .system-core-3d::before { width:260px; height:158px; }
  .system-core-3d::after { width:210px; height:116px; }
}

/* === V7 TYPOGRAPHY + LOGO REFINEMENT === */
:root {
  --display: "Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --body: "Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --text: #173C3C;
  --muted: #607571;
  --muted-2: #586F6A;
}
body {
  font-family: var(--body);
  font-weight: 450;
  line-height: 1.62;
  letter-spacing: -0.006em;
}
h1,h2,h3,.brand-type strong,.button,.primary-nav a,summary { font-family: var(--display); }
h1,h2,h3 { letter-spacing: -.045em; text-wrap: balance; }
h1 { font-weight: 700; font-size: clamp(54px, 5.75vw, 82px); line-height: 1.015; margin-bottom: 26px; }
h2 { font-weight: 650; font-size: clamp(38px, 4vw, 58px); line-height: 1.08; }
h3 { font-weight: 650; letter-spacing: -.028em; line-height: 1.18; }
p { letter-spacing: -.008em; }
.hero-copy h1 { max-width: 760px; font-size: clamp(56px, 5.9vw, 84px); line-height: 1.015; }
.hero-lede { max-width: 650px; font-size: clamp(17px, 1.35vw, 19.5px); line-height: 1.72; font-weight: 450; }
.section-head { gap: 72px; }
.section-head > div { max-width: 800px; }
.section-head p { font-size: 16.5px; line-height: 1.78; max-width: 440px; }
.website-copy > p,.roi-copy > p,.standards-layout > div > p,.contact-copy > p { font-size: 16.5px; line-height: 1.78; }
.service-card p,.leak-card p,.method-card p,.assurance-card p { font-size: 14.5px; line-height: 1.68; }
.service-card h3,.leak-card h3,.method-card h3,.assurance-card h3 { font-size: 22px; }
.kicker,.eyebrow,.footer-label,.scene-caption span { letter-spacing: .15em; }
.kicker { font-weight: 700; }
.button { font-family: var(--display); font-weight: 700; letter-spacing: -.012em; }
.primary-nav a { font-weight: 600; letter-spacing: -.01em; }
.brand-type strong { font-size: 22px; font-weight: 800; letter-spacing: -.045em; }
.brand-type small { font-family: var(--display); font-size: 9.5px; font-weight: 700; letter-spacing: .23em; }
.logo-mark { width: 52px; height: 52px; flex-basis: 52px; }
.logo-mark img { filter: drop-shadow(0 7px 13px rgba(23,60,60,.075)); }
.text-glow { background: linear-gradient(102deg,#277D69 0%,#3EAA8D 48%,#68B49E 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-proof strong { font-weight: 700; }
.hero-proof span { line-height: 1.45; }
.evidence-stat strong,.calc-result strong { font-family: var(--display); letter-spacing: -.045em; }
.contact-copy h2 { font-size: clamp(38px,3.7vw,54px); line-height: 1.06; }
.faq-layout h2 { max-width: 460px; }
summary { font-weight: 650; letter-spacing: -.02em; }

/* Make the approved NB monogram feel more intentional in the 3D scene. */
.cube-brand { width: 72px; height: 72px; }
.cube-brand img { width:72px; height:72px; filter: drop-shadow(0 12px 18px rgba(23,60,60,.10)); }
.cube-front { background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(230,239,235,.91)); }
.cube-front::before { content:""; position:absolute; inset:12px; border-radius:18px; border:1px solid rgba(23,60,60,.06); pointer-events:none; }

@media (max-width:820px) {
  h1 { font-size: clamp(48px, 13.5vw, 66px); }
  h2 { font-size: clamp(34px, 9.5vw, 46px); }
  .hero-copy h1 { font-size: clamp(48px, 13.5vw, 66px); }
  .section-head { gap: 18px; }
}
@media (max-width:620px) {
  body { line-height:1.58; }
  .hero-lede { font-size:17px; line-height:1.65; }
  .logo-mark { width:46px; height:46px; flex-basis:46px; }
  .brand-type strong { font-size:20px; }
}


/* === V8 TYPOGRAPHY + APPROVED LOGO PASS === */
:root {
  --display: "Segoe UI Variable Display", "SF Pro Display", "Aptos Display", "Segoe UI", Helvetica, Arial, sans-serif;
  --body: "Segoe UI Variable Text", "SF Pro Text", "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  --text: #173C3C;
  --muted: #536B67;
  --muted-2: #586F6A;
}
body {
  font-family: var(--body);
  font-weight: 400;
  line-height: 1.64;
  letter-spacing: -0.008em;
  color: var(--text);
}
h1,h2,h3,.brand-type strong,.button,.primary-nav a,summary {
  font-family: var(--display);
}
h1,h2,h3 {
  color: var(--text);
  text-wrap: balance;
  letter-spacing: -0.041em;
}
h1 {
  font-size: clamp(50px, 5.15vw, 74px);
  line-height: 1.025;
  font-weight: 700;
  margin-bottom: 24px;
}
h2 {
  font-size: clamp(34px, 3.55vw, 50px);
  line-height: 1.09;
  font-weight: 650;
}
h3 {
  font-size: 21px;
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: -0.025em;
}
p {
  color: var(--muted);
  letter-spacing: -0.007em;
}
.hero-copy h1 {
  max-width: 720px;
  font-size: clamp(52px, 5.3vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.047em;
}
.hero-lede {
  max-width: 660px;
  color: #506762;
  font-size: clamp(17px, 1.22vw, 18.5px);
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: -0.012em;
}
.section-head p,
.website-copy > p,
.roi-copy > p,
.standards-layout > div > p,
.contact-copy > p {
  font-size: 16px;
  line-height: 1.76;
  color: #586F6A;
}
.service-card p,.leak-card p,.method-card p,.assurance-card p {
  font-size: 14.5px;
  line-height: 1.67;
}
.service-card h3,.leak-card h3,.method-card h3,.assurance-card h3 {
  font-size: 20.5px;
}
.eyebrow,.kicker,.footer-label,.scene-caption span {
  font-family: var(--body);
  letter-spacing: .14em;
}
.eyebrow {
  font-size: 12px;
  font-weight: 600;
}
.kicker {
  font-size: 10.5px;
  font-weight: 650;
}
.button {
  font-weight: 650;
  letter-spacing: -0.015em;
}
.primary-nav a {
  font-size: 13.5px;
  font-weight: 550;
  letter-spacing: -0.012em;
}
.brand-type strong {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.045em;
}
.brand-type small {
  font-family: var(--body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .235em;
}
.logo-mark {
  width: 52px;
  height: 49px;
  flex-basis: 52px;
}
.logo-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 7px 13px rgba(23,60,60,.07));
}
.text-glow {
  background: linear-gradient(102deg,#267D68 0%,#3DAA8C 52%,#67A793 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-proof strong,.evidence-stat strong,.calc-result strong {
  font-family: var(--display);
  letter-spacing: -0.035em;
}
summary {
  font-weight: 600;
  letter-spacing: -0.018em;
}
.contact-copy h2 {
  font-size: clamp(36px, 3.25vw, 48px);
  line-height: 1.09;
}
.cube-brand {
  width: 76px;
  height: 72px;
}
.cube-brand img {
  width: 76px;
  height: 72px;
  object-fit: contain;
}

@media (max-width: 820px) {
  h1,.hero-copy h1 {
    font-size: clamp(45px, 12.6vw, 62px);
    line-height: 1.025;
  }
  h2 { font-size: clamp(32px, 8.9vw, 44px); }
}
@media (max-width: 620px) {
  body { line-height: 1.6; }
  .hero-lede { font-size: 16.5px; line-height: 1.68; }
  .logo-mark { width: 46px; height: 43px; flex-basis: 46px; }
  .brand-type strong { font-size: 19px; }
  .brand-type small { font-size: 8.5px; letter-spacing: .21em; }
}

/* === V9 ECOMMERCE + HUMAN-CONTROLLED AI === */
.primary-nav { gap: 24px; }

.ecommerce-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgba(157,216,198,.28), transparent 24rem),
    radial-gradient(circle at 78% 76%, rgba(197,164,109,.08), transparent 20rem),
    linear-gradient(180deg,#F8FAF9 0%,#ECF2EF 100%);
  border-top: 1px solid rgba(23,60,60,.07);
  border-bottom: 1px solid rgba(23,60,60,.08);
}
.ecommerce-layout {
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(540px,1.16fr);
  gap:72px;
  align-items:center;
}
.ecommerce-copy > .kicker { margin-bottom:18px; }
.ecommerce-copy h2 { max-width:690px; margin-bottom:22px; }
.ecommerce-copy > p { max-width:680px; font-size:16.5px; line-height:1.78; color:#586F6A; }
.ecom-capabilities { display:grid; gap:0; margin-top:34px; border-top:1px solid var(--line); }
.ecom-capabilities article {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.ecom-capabilities article > span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-top:2px;
  border:1px solid rgba(46,154,124,.18);
  border-radius:10px;
  background:rgba(67,181,150,.08);
  color:#2E9A7C;
  font:700 10px/1 var(--body);
}
.ecom-capabilities h3 { margin:0 0 6px; font-size:18px; }
.ecom-capabilities p { margin:0; font-size:13.5px; line-height:1.66; }
.ecom-source-note {
  margin-top:28px;
  padding:18px 20px;
  border:1px solid rgba(23,60,60,.10);
  border-radius:18px;
  background:rgba(255,255,255,.58);
  color:#5F7471;
  font-size:12.5px;
  line-height:1.65;
  box-shadow:0 12px 34px rgba(35,61,58,.04);
}
.ecom-source-note strong { color:#173C3C; }
.ecom-source-note > span { display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; }
.ecom-source-note a { color:#247761; font-weight:700; }

.ecom-scene {
  position:relative;
  min-height:650px;
  perspective:1200px;
  transform-style:preserve-3d;
  border:1px solid rgba(23,60,60,.11);
  border-radius:32px;
  background:
    linear-gradient(rgba(23,60,60,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,60,60,.042) 1px,transparent 1px),
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.98),rgba(236,243,239,.74) 46%,rgba(222,233,228,.82));
  background-size:28px 28px,28px 28px,auto;
  box-shadow:0 38px 90px rgba(35,61,58,.12),inset 0 1px 0 rgba(255,255,255,.98);
  overflow:hidden;
  transition:transform .18s ease-out;
}
.ecom-scene::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 72% 14%,rgba(67,181,150,.18),transparent 30%),radial-gradient(circle at 15% 84%,rgba(197,164,109,.07),transparent 26%);
}
.ecom-orbit {
  position:absolute;
  left:50%; top:51%;
  border:1px solid rgba(46,154,124,.20);
  border-radius:50%;
  transform-style:preserve-3d;
  pointer-events:none;
}
.ecom-orbit-a { width:510px; height:270px; margin:-135px 0 0 -255px; transform:rotateX(67deg) rotateZ(-8deg); }
.ecom-orbit-b { width:380px; height:210px; margin:-105px 0 0 -190px; transform:rotateX(70deg) rotateZ(22deg); border-color:rgba(197,164,109,.18); }
.ecom-console {
  position:absolute;
  z-index:3;
  width:min(78%,500px);
  left:50%; top:51%;
  transform:translate(-50%,-50%) rotateX(4deg) rotateY(-7deg) translateZ(38px);
  padding:22px;
  border:1px solid rgba(23,60,60,.13);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(236,243,239,.84));
  box-shadow:0 34px 78px rgba(35,61,58,.17),inset 0 1px 0 #fff;
  backdrop-filter:blur(16px);
}
.ecom-console-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.ecom-console-top small { color:#536B67; font:700 9px/1 var(--body); letter-spacing:.12em; }
.ecom-live { color:#2E7E6A; font:750 10px/1 var(--body); letter-spacing:.08em; }
.ecom-live i { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#43B596; box-shadow:0 0 0 5px rgba(67,181,150,.10),0 0 14px rgba(67,181,150,.32); }
.ecom-message { position:relative; margin-top:14px; padding:15px 16px; border-radius:16px; }
.ecom-message span,.ecom-handoff span,.ecom-decision span,.ecom-float > span { display:block; margin-bottom:7px; color:#536B67; font:750 9px/1 var(--body); letter-spacing:.12em; }
.ecom-message p { margin:0; color:#284A46; font-size:13px; line-height:1.55; }
.ecom-message small { display:block; margin-top:8px; color:#586F6A; font-size:10px; }
.ecom-message.customer { margin-left:14%; background:#F1F4F3; border:1px solid rgba(23,60,60,.08); }
.ecom-message.ai { margin-right:8%; background:rgba(157,216,198,.18); border:1px solid rgba(46,154,124,.14); }
.ecom-decision { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; padding:14px 15px; border-radius:15px; background:rgba(197,164,109,.08); border:1px solid rgba(197,164,109,.20); }
.ecom-decision span { color:#7C5F35; }
.ecom-decision strong { color:#3E514D; font-size:12px; }
.ecom-decision b { flex:0 0 auto; padding:8px 10px; border-radius:9px; background:#173C3C; color:#fff; font:700 9px/1 var(--body); letter-spacing:.08em; }
.ecom-handoff { margin-top:14px; padding:15px 16px; border:1px solid rgba(46,154,124,.15); border-radius:15px; background:#fff; }
.ecom-handoff strong { display:block; color:#173C3C; font-size:12.5px; }
.ecom-handoff small { display:block; margin-top:5px; color:#536B67; font-size:10.5px; }
.ecom-float {
  position:absolute;
  z-index:4;
  min-width:190px;
  padding:15px 16px;
  border:1px solid rgba(23,60,60,.12);
  border-radius:17px;
  background:rgba(255,255,255,.84);
  box-shadow:0 20px 46px rgba(35,61,58,.12),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(18px);
}
.ecom-float strong,.ecom-float small { display:block; }
.ecom-float strong { color:#173C3C; font-size:12.5px; }
.ecom-float small { margin-top:5px; color:#536B67; font-size:10px; }
.float-store { top:55px; left:24px; transform:translateZ(90px) rotateY(6deg); }
.float-helpdesk { right:20px; top:115px; transform:translateZ(120px) rotateY(-7deg); }
.float-guardrail { left:42px; bottom:52px; transform:translateZ(110px) rotateY(5deg); }
.float-guardrail > span { color:#7C5F35; }

.control-principles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:22px;
}
.control-principle {
  min-height:200px;
  padding:24px;
  border:1px solid rgba(23,60,60,.10);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(240,245,242,.60));
  box-shadow:0 14px 38px rgba(35,61,58,.045);
}
.control-principle > span { color:#247761; font:750 9px/1 var(--body); letter-spacing:.12em; }
.control-principle strong { display:block; margin:42px 0 10px; color:#173C3C; font:650 19px/1.2 var(--display); letter-spacing:-.025em; }
.control-principle p { margin:0; font-size:13.5px; line-height:1.65; }

.decision-ladder {
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  gap:0;
  margin-top:28px;
  border:1px solid rgba(23,60,60,.10);
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.54);
  box-shadow:0 20px 54px rgba(35,61,58,.065);
}
.decision-ladder > * { padding:25px; }
.decision-ladder > * + * { border-left:1px solid var(--line); }
.decision-ladder-head { background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(238,244,241,.68)); }
.decision-ladder-head h3 { margin:10px 0 10px; font-size:24px; }
.decision-ladder-head p { margin:0; font-size:12.5px; }
.decision-level { position:relative; }
.decision-level::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; }
.decision-auto::before { background:#43B596; }
.decision-check::before { background:#C5A46D; }
.decision-human::before { background:#173C3C; }
.decision-level > span { color:#536B67; font:750 9px/1 var(--body); letter-spacing:.11em; }
.decision-level strong { display:block; margin:42px 0 10px; color:#173C3C; font:650 17px/1.2 var(--display); }
.decision-level p { margin:0; font-size:12.5px; line-height:1.65; }

.responsible-source {
  margin-top:20px;
  padding:24px 26px;
  border:1px solid rgba(46,154,124,.14);
  border-radius:20px;
  background:linear-gradient(120deg,rgba(67,181,150,.07),rgba(255,255,255,.46));
}
.responsible-source p { margin:0; font-size:13.5px; line-height:1.68; }
.responsible-source p strong { color:#173C3C; }
.responsible-source > div { display:flex; flex-wrap:wrap; gap:16px; margin-top:13px; }
.responsible-source a { color:#247761; font-weight:700; font-size:12px; }
.responsible-source small { display:block; margin-top:11px; color:#536B67; font-size:10.5px; line-height:1.5; }

@media (max-width:1080px) {
  .primary-nav { gap:16px; }
  .ecommerce-layout { grid-template-columns:1fr; }
  .ecom-scene { width:min(780px,100%); margin:0 auto; }
  .decision-ladder { grid-template-columns:1fr 1fr; }
  .decision-ladder > * + * { border-left:0; border-top:1px solid var(--line); }
  .decision-ladder > :nth-child(even) { border-left:1px solid var(--line); }
  .decision-ladder > :nth-child(2) { border-top:0; }
}

@media (max-width:820px) {
  .ecommerce-layout { gap:48px; }
  .ecom-scene { min-height:610px; }
  .control-principles { grid-template-columns:1fr; }
  .control-principle { min-height:160px; }
  .control-principle strong { margin-top:30px; }
}

@media (max-width:620px) {
  .ecommerce-copy > p { font-size:15.5px; line-height:1.7; }
  .ecom-capabilities article { grid-template-columns:38px 1fr; gap:13px; }
  .ecom-scene { min-height:700px; border-radius:24px; }
  .ecom-console { width:calc(100% - 28px); top:49%; padding:16px; transform:translate(-50%,-50%) rotateX(2deg) rotateY(-2deg) translateZ(20px); }
  .ecom-message.customer { margin-left:4%; }
  .ecom-message.ai { margin-right:2%; }
  .ecom-decision { align-items:flex-start; flex-direction:column; }
  .ecom-float { min-width:0; width:174px; padding:12px; }
  .float-store { top:22px; left:12px; }
  .float-helpdesk { top:86px; right:10px; }
  .float-guardrail { left:18px; bottom:22px; }
  .ecom-orbit-a { width:390px; height:220px; margin:-110px 0 0 -195px; }
  .ecom-orbit-b { width:300px; height:170px; margin:-85px 0 0 -150px; }
  .decision-ladder { grid-template-columns:1fr; }
  .decision-ladder > :nth-child(n) { border-left:0; border-top:1px solid var(--line); }
  .decision-ladder > :first-child { border-top:0; }
  .decision-level strong { margin-top:28px; }
  .responsible-source { padding:20px; }
}


/* V10: bespoke engineering and integration capability */
.custom-build-card {
  margin-top: 18px;
  padding: clamp(28px,4vw,48px);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr);
  gap:clamp(28px,5vw,64px);
  align-items:start;
  border:1px solid rgba(23,60,60,.11);
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 12%,rgba(67,181,150,.12),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(238,244,241,.72));
  box-shadow:0 24px 64px rgba(35,61,58,.075),inset 0 1px 0 rgba(255,255,255,.98);
  overflow:hidden;
  position:relative;
}
.custom-build-card::after {
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-130px;
  bottom:-160px;
  border:1px solid rgba(67,181,150,.20);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(67,181,150,.045),0 0 0 78px rgba(67,181,150,.025);
  pointer-events:none;
}
.custom-build-intro { position:relative; z-index:1; }
.custom-build-intro h3 {
  margin:14px 0 16px;
  max-width:620px;
  color:#173C3C;
  font:650 clamp(30px,3.1vw,46px)/1.02 var(--display);
  letter-spacing:-.045em;
}
.custom-build-intro > p { margin:0; max-width:620px; font-size:15px; line-height:1.72; }
.custom-build-principle {
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(23,60,60,.10);
  color:#2E6E60;
  font:700 11px/1.5 var(--body);
  letter-spacing:.045em;
  text-transform:uppercase;
}
.custom-build-grid { display:grid; gap:12px; position:relative; z-index:1; }
.custom-build-grid article {
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:14px;
  padding:20px 22px;
  border:1px solid rgba(23,60,60,.09);
  border-radius:18px;
  background:rgba(255,255,255,.68);
  box-shadow:0 10px 28px rgba(35,61,58,.035);
}
.custom-build-grid article > span {
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:rgba(67,181,150,.11);
  color:#2E9A7C;
  font:750 10px/1 var(--body);
  letter-spacing:.08em;
}
.custom-build-grid strong { color:#173C3C; font:650 17px/1.25 var(--display); }
.custom-build-grid p { margin:7px 0 0; font-size:13px; line-height:1.65; }
@media (max-width:900px) {
  .custom-build-card { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .custom-build-card { padding:24px 20px; border-radius:22px; }
  .custom-build-grid article { padding:17px; grid-template-columns:36px 1fr; }
  .custom-build-grid article > span { width:32px; height:32px; }
}


/* === V12 PRODUCTION HARDENING === */
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
.logo-mark img,.cube-brand img { image-rendering: auto; }
.form-trap { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
.form-status a,.form-note a { color:#257D68; text-decoration:underline; text-underline-offset:3px; }
.form-status strong { color:#173C3C; }
.contact-form button[disabled] { opacity:.68; cursor:wait; transform:none; }
.contact-form button.is-loading span { animation:submitPulse .9s ease-in-out infinite alternate; }
@keyframes submitPulse { to { opacity:.36; transform:translateX(3px); } }
.legal-shell { max-width:860px; }
.legal-hero { margin-top:64px; }
.legal-hero h1 { font-size:clamp(46px,8vw,72px); margin-top:18px; }
.legal-copy { color:#536B67; line-height:1.8; font-size:15.5px; }
.legal-copy h2 { color:#173C3C; font-size:clamp(24px,3vw,32px); margin:42px 0 12px; letter-spacing:-.025em; }
.legal-copy h3 { color:#173C3C; font-size:19px; margin:28px 0 8px; }
.legal-copy a { color:#257D68; text-decoration:underline; text-underline-offset:3px; }
.legal-copy ul { padding-left:1.25rem; }
.legal-copy li { margin:.5rem 0; }
.legal-back { margin-top:46px; }
.error-shell { max-width:760px; text-align:center; padding-top:10vh; }
.error-shell h1 { font-size:clamp(58px,10vw,96px); margin-top:20px; }
.error-shell p { font-size:18px; }
.error-shell .button { margin-top:18px; }
@media (prefers-reduced-motion: reduce) {
  .contact-form button.is-loading span { animation:none; }
}

/* === V12 PRODUCTION ACCESSIBILITY PASS === */
:root {
  --mint-2: #247761;
  --muted-2: #586F6A;
}
.scene-node small,
.node-index,
.scene-status,
.scene-caption,
.scene-caption span,
.stack-list,
.card-index,
.service-no,
.card-foot,
.evidence-stat span,
.service-card li,
.browser-bar div,
.mini-hero p,
.roi-note,
.calc-result span,
.calc-result small,
.method-card small,
.standards-grid span,
.standard-pills span,
.contact-points,
.form-status,
.footer-grid a,
.footer-grid > div:not(:first-child) > span:not(.footer-label),
.footer-bottom,
.footer-bottom a,
.ecom-source-note,
.ecom-console-top small,
.ecom-message span,
.ecom-handoff span,
.ecom-decision span,
.ecom-float > span,
.ecom-message small,
.ecom-handoff small,
.ecom-float small,
.decision-level > span,
.responsible-source small {
  color: #536B67;
}
.scene-node > i:not(.node-wave),
.evidence-stat a,
.mini-hero span,
.funnel-node span,
.calc-badge,
.ecom-capabilities article > span,
.ecom-source-note a,
.control-principle > span,
.responsible-source a,
.custom-build-grid article > span {
  color: #247761;
}
.ecom-decision span,
.float-guardrail > span {
  color: #7C5F35;
}


/* === V13 CAL.COM DISCOVERY BOOKING INTEGRATION === */
body.booking-open { overflow:hidden; overscroll-behavior:none; }
.booking-modal[hidden] { display:none !important; }
.booking-modal {
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:clamp(14px,2.4vw,30px);
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease, visibility .2s ease;
}
.booking-modal.is-open { opacity:1; visibility:visible; }
.booking-backdrop {
  position:absolute;
  inset:0;
  background:rgba(20,49,47,.46);
  backdrop-filter:blur(10px) saturate(112%);
  -webkit-backdrop-filter:blur(10px) saturate(112%);
}
.booking-dialog {
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  height:min(860px,calc(100dvh - 60px));
  max-height:calc(100dvh - 28px);
  display:grid;
  grid-template-columns:minmax(250px,330px) minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(23,60,60,.13);
  border-radius:28px;
  background:#F8FAF9;
  box-shadow:0 42px 120px rgba(23,60,60,.24),inset 0 1px 0 rgba(255,255,255,.95);
  transform:translateY(10px) scale(.988);
  transition:transform .24s cubic-bezier(.22,1,.36,1);
}
.booking-modal.is-open .booking-dialog { transform:translateY(0) scale(1); }
.booking-close {
  position:absolute;
  top:16px;
  right:16px;
  z-index:4;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(23,60,60,.14);
  border-radius:50%;
  background:rgba(248,250,249,.92);
  color:#173C3C;
  box-shadow:0 8px 26px rgba(23,60,60,.08);
  cursor:pointer;
  font:400 28px/1 var(--body);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.booking-close:hover { transform:rotate(4deg); background:#fff; border-color:rgba(46,154,124,.34); }
.booking-close:focus-visible { outline:3px solid rgba(67,181,150,.45); outline-offset:3px; }
.booking-intro {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(36px,4vw,58px) clamp(26px,3vw,42px);
  border-right:1px solid rgba(23,60,60,.09);
  background:
    radial-gradient(circle at 14% 8%,rgba(157,216,198,.22),transparent 33%),
    linear-gradient(145deg,#F4F8F6 0%,#EAF1EE 100%);
}
.booking-intro::after {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  left:-118px;
  bottom:-118px;
  border:1px solid rgba(67,181,150,.16);
  border-radius:50%;
  box-shadow:0 0 0 36px rgba(67,181,150,.035),0 0 0 72px rgba(67,181,150,.018);
  pointer-events:none;
}
.booking-eyebrow {
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-bottom:20px;
  color:#247761;
  font:750 10px/1.2 var(--body);
  letter-spacing:.14em;
}
.booking-intro h2 {
  margin:0;
  color:#173C3C;
  font-size:clamp(32px,3vw,46px);
  line-height:1.06;
  letter-spacing:-.045em;
}
.booking-intro > p:not(.booking-reassurance) {
  margin:22px 0 0;
  color:#536B67;
  font-size:14.5px;
  line-height:1.72;
}
.booking-reassurance {
  margin:28px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(23,60,60,.10);
  color:#335B55;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}
.booking-reassurance span { padding:0 7px; color:#2E9A7C; }
.booking-calendar-shell {
  position:relative;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:#FFFFFF;
}
.cal-discovery-embed {
  width:100%;
  height:100%;
  min-height:680px;
  overflow:auto;
  color-scheme:light;
}
.cal-discovery-embed iframe {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  min-height:680px !important;
  border:0 !important;
  color-scheme:light;
}
.booking-loading {
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:14px;
  background:linear-gradient(145deg,#FFFFFF,#F4F8F6);
  color:#536B67;
  font-size:13px;
  transition:opacity .2s ease,visibility .2s ease;
}
.booking-loading.is-ready { opacity:0; visibility:hidden; pointer-events:none; }
.booking-spinner {
  width:28px;
  height:28px;
  border-radius:50%;
  border:2px solid rgba(46,154,124,.18);
  border-top-color:#2E9A7C;
  animation:bookingSpin .75s linear infinite;
}
@keyframes bookingSpin { to { transform:rotate(360deg); } }
.booking-fallback[hidden] { display:none !important; }
.booking-fallback {
  position:absolute;
  left:18px;
  right:18px;
  bottom:12px;
  z-index:3;
  margin:0;
  padding:10px 13px;
  border:1px solid rgba(23,60,60,.10);
  border-radius:12px;
  background:rgba(248,250,249,.94);
  color:#536B67;
  text-align:center;
  font-size:12px;
  box-shadow:0 8px 28px rgba(23,60,60,.07);
}
.booking-fallback a { color:#247761; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:820px) {
  .booking-modal { padding:10px; }
  .booking-dialog {
    width:100%;
    height:calc(100dvh - 20px);
    max-height:none;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    border-radius:22px;
    overflow:auto;
    overscroll-behavior:contain;
  }
  .booking-intro {
    padding:30px 58px 22px 24px;
    border-right:0;
    border-bottom:1px solid rgba(23,60,60,.09);
  }
  .booking-intro h2 { font-size:clamp(28px,8vw,38px); }
  .booking-intro > p:not(.booking-reassurance) { margin-top:14px; font-size:13.5px; line-height:1.62; }
  .booking-reassurance { margin-top:16px; padding-top:13px; }
  .booking-calendar-shell { min-height:640px; overflow:visible; }
  .cal-discovery-embed,.cal-discovery-embed iframe { min-height:640px !important; }
  .booking-close { position:fixed; top:22px; right:22px; }
}
@media (max-width:520px) {
  .booking-modal { padding:0; }
  .booking-dialog { height:100dvh; border:0; border-radius:0; }
  .booking-intro { padding:24px 58px 18px 20px; }
  .booking-eyebrow { margin-bottom:13px; font-size:9px; }
  .booking-intro h2 { font-size:30px; }
  .booking-intro > p:not(.booking-reassurance) { font-size:13px; line-height:1.55; }
  .booking-reassurance { font-size:11px; }
  .booking-calendar-shell { min-height:620px; }
  .cal-discovery-embed,.cal-discovery-embed iframe { min-height:620px !important; }
  .booking-close { top:12px; right:12px; background:rgba(248,250,249,.97); }
  .booking-fallback { left:10px; right:10px; bottom:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .booking-modal,.booking-dialog,.booking-close,.booking-loading { transition:none; }
  .booking-spinner { animation:none; border-top-color:#2E9A7C; }
}

/* === V14 ENTERPRISE TYPOGRAPHY REFINEMENT ===
   Typography-only pass. No layout, colour, branding or interaction redesign. */
:root {
  --display: "Inter Tight", "Aptos Display", "Segoe UI Variable Display", "SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --body: "Inter", "Aptos", "Segoe UI Variable Text", "SF Pro Text", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { font-size: 16px; }
body {
  font-family: var(--body);
  font-weight: 400;
  line-height: 1.66;
  letter-spacing: 0;
  font-optical-sizing: auto;
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4,
.brand-type strong,
.button,
.primary-nav a,
summary,
.calc-result strong,
.evidence-stat strong,
.booking-intro h2 {
  font-family: var(--display);
  font-optical-sizing: auto;
}

h1,h2,h3,h4 {
  letter-spacing: -0.028em;
  text-wrap: balance;
}

h1 {
  font-size: clamp(48px, 4.65vw, 68px);
  line-height: 1.04;
  font-weight: 700;
  margin-bottom: 24px;
}

.hero-copy h1 {
  max-width: 720px;
  font-size: clamp(50px, 4.85vw, 70px);
  line-height: 1.035;
  letter-spacing: -0.032em;
}

h2 {
  font-size: clamp(32px, 3.15vw, 46px);
  line-height: 1.10;
  font-weight: 650;
}

h3 {
  font-size: 22px;
  line-height: 1.24;
  font-weight: 650;
  letter-spacing: -0.018em;
}

p {
  letter-spacing: 0;
}

.hero-lede {
  max-width: 660px;
  font-size: clamp(17.5px, 1.24vw, 19px);
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: 0;
}

.section-head { gap: 64px; }
.section-head > div { max-width: 760px; }
.section-head p,
.website-copy > p,
.roi-copy > p,
.standards-layout > div > p,
.contact-copy > p,
.ecommerce-copy > p,
.custom-build-intro > p {
  font-size: 16.5px;
  line-height: 1.72;
  letter-spacing: 0;
}

.service-card p,
.leak-card p,
.method-card p,
.assurance-card p,
.control-principle p,
.responsible-source p {
  font-size: 15px;
  line-height: 1.68;
}

.service-card h3,
.leak-card h3,
.method-card h3,
.assurance-card h3 {
  font-size: 22px;
  line-height: 1.22;
}

.primary-nav a {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.006em;
}

.button {
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: -0.008em;
}
.button-compact { font-size: 13.5px; }

.eyebrow {
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: .09em;
}
.kicker {
  font-family: var(--body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

.brand-type strong {
  font-size: 21px;
  line-height: 1.02;
  font-weight: 750;
  letter-spacing: -0.025em;
}
.brand-type small {
  font-family: var(--body);
  font-size: 9.5px;
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: .19em;
}

.hero-proof strong {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.018em;
}
.hero-proof span {
  font-size: 12.5px;
  line-height: 1.48;
}
.hero-trustline { font-size: 11.5px; }

.stack-list { font-size: 12.5px; font-weight: 650; }
.card-index,.service-no { font-size: 10.5px; }
.card-foot { font-size: 10.5px; line-height: 1.45; letter-spacing: .055em; }
.service-card li { font-size: 11px; line-height: 1.45; }

.evidence-title p { font-size: 13px; line-height: 1.58; }
.evidence-stat strong { font-size: 32px; letter-spacing: -0.03em; }
.evidence-stat span { font-size: 13px; line-height: 1.58; }
.evidence-stat a { font-size: 10.5px; letter-spacing: .055em; }

.quality-list p { font-size: 14px; line-height: 1.62; }
.funnel-node strong { font-size: 13.5px; }
.funnel-node small { font-size: 10px; line-height: 1.5; }
.roi-note { font-size: 12px; line-height: 1.62; }
.calc-tab { font-size: 12.5px; }
.calc-head h3 { font-size: 22px; }
.range-field > span { font-size: 12.5px; }
.calc-result span { font-size: 10.5px; }
.calc-result strong { font-size: 36px; letter-spacing: -0.035em; }

.standards-grid strong { font-size: 16.5px; }
.standards-grid span { font-size: 13px; line-height: 1.58; }
summary { font-size: 16px; font-weight: 650; letter-spacing: -0.01em; }
details p { font-size: 14.5px; line-height: 1.7; }

.contact-copy h2 {
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1.10;
  letter-spacing: -0.026em;
}
.contact-copy p { font-size: 15.5px; line-height: 1.72; }
.contact-points { font-size: 13px; }
.contact-form label { font-size: 12px; }
.form-status { font-size: 11px; }

.footer-brand-block p { font-size: 13px; line-height: 1.7; }
.footer-label { font-size: 10.5px; letter-spacing: .11em; }
.footer-grid a,.footer-grid > div:not(:first-child) > span:not(.footer-label) { font-size: 12.5px; }
.footer-bottom { font-size: 11px; }

/* 3D Revenue OS UI: retain hierarchy while removing overly tiny labels. */
.cube-face > span:not(.cube-brand) { font-size: 10.5px; letter-spacing: .10em; }
.cube-face > strong { font-size: 19px; letter-spacing: -0.022em; }
.cube-face > small { font-size: 9.5px; letter-spacing: .065em; }
.scene-node strong { font-size: 14.5px; }
.scene-node small { font-size: 10px; line-height: 1.4; }
.scene-node > i:not(.node-wave) { font-size: 8.5px; letter-spacing: .08em; }
.scene-caption span { font-size: 10px; letter-spacing: .11em; }
.scene-caption small { font-size: 10.5px; }

/* Ecommerce and responsible AI UI. */
.ecom-capabilities h3 { font-size: 19px; }
.ecom-capabilities p { font-size: 14px; line-height: 1.65; }
.ecom-source-note { font-size: 13px; line-height: 1.62; }
.ecom-console-top small,
.ecom-message span,.ecom-handoff span,.ecom-decision span,.ecom-float > span,
.control-principle > span,.decision-level > span { font-size: 9.5px; letter-spacing: .09em; }
.ecom-message p { font-size: 13.5px; line-height: 1.58; }
.ecom-message small { font-size: 10.5px; }
.ecom-decision strong { font-size: 12.5px; }
.ecom-handoff strong,.ecom-float strong { font-size: 13px; }
.ecom-handoff small,.ecom-float small { font-size: 10.5px; }
.control-principle strong { font-size: 19.5px; letter-spacing: -0.016em; }
.decision-ladder-head h3 { font-size: 23px; }
.decision-ladder-head p,.decision-level p { font-size: 13px; line-height: 1.62; }
.responsible-source a { font-size: 12.5px; }
.responsible-source small { font-size: 11px; }

/* Booking modal typography follows the same site system. */
.booking-eyebrow {
  font-family: var(--body);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .11em;
}
.booking-intro h2 {
  font-size: clamp(31px, 2.65vw, 40px);
  line-height: 1.09;
  font-weight: 680;
  letter-spacing: -0.026em;
}
.booking-intro > p:not(.booking-reassurance) {
  font-size: 15px;
  line-height: 1.68;
}
.booking-reassurance { font-size: 12.5px; font-weight: 650; }
.booking-loading { font-size: 13.5px; }
.booking-fallback { font-size: 12.5px; }

/* Legal pages. */
.legal-hero h1 {
  font-size: clamp(42px, 5vw, 60px);
  line-height: 1.06;
  letter-spacing: -0.03em;
}
.legal-copy { font-size: 16px; line-height: 1.78; }
.legal-copy h2 {
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.16;
  letter-spacing: -0.02em;
}
.legal-copy h3 { font-size: 19px; }

@media (max-width: 1080px) {
  .hero-copy h1 { font-size: clamp(48px, 6.5vw, 64px); }
  h2 { font-size: clamp(32px, 4.5vw, 44px); }
}

@media (max-width: 820px) {
  h1,.hero-copy h1 {
    font-size: clamp(44px, 11.5vw, 58px);
    line-height: 1.045;
  }
  h2 {
    font-size: clamp(30px, 7.8vw, 40px);
    line-height: 1.12;
  }
  .section-head { gap: 20px; }
  .section-head p,
  .website-copy > p,
  .roi-copy > p,
  .standards-layout > div > p,
  .contact-copy > p,
  .ecommerce-copy > p,
  .custom-build-intro > p { font-size: 16px; }
  .booking-intro h2 { font-size: clamp(28px, 7.4vw, 36px); }
  .booking-intro > p:not(.booking-reassurance) { font-size: 14.5px; }
}

@media (max-width: 620px) {
  body { line-height: 1.64; }
  h1,.hero-copy h1 {
    font-size: clamp(40px, 12.4vw, 52px);
    line-height: 1.055;
    letter-spacing: -0.028em;
  }
  h2 {
    font-size: clamp(29px, 8.5vw, 38px);
    line-height: 1.13;
  }
  h3 { font-size: 20.5px; }
  .hero-lede { font-size: 16.5px; line-height: 1.68; }
  .brand-type strong { font-size: 19px; }
  .brand-type small { font-size: 8.75px; letter-spacing: .18em; }
  .primary-nav a { font-size: 15px; }
  .service-card p,.leak-card p,.method-card p,.assurance-card p { font-size: 14.5px; }
  .ecommerce-copy > p { font-size: 15.5px; }
  .booking-intro h2 { font-size: 29px; }
  .booking-intro > p:not(.booking-reassurance) { font-size: 14px; line-height: 1.62; }
  .booking-reassurance { font-size: 12px; }
  .legal-copy { font-size: 15.5px; }
}


/* === V15 HIGH-CONTRAST PREMIUM COLOUR + RESPONSIVE SYSTEM ===
   Brighter editorial surfaces, deep ink typography, vivid emerald accents,
   restrained electric highlights, and a cinematic Revenue OS stage. */
:root {
  --bg: #F8FAF7;
  --bg-2: #FFFFFF;
  --panel: #FFFFFF;
  --panel-2: #EEF4F1;
  --text: #10231F;
  --muted: #425B55;
  --muted-2: #61756F;
  --line: rgba(16,35,31,.11);
  --line-strong: rgba(16,35,31,.19);
  --mint: #18B88B;
  --mint-2: #087A5E;
  --cyan: #36D7C1;
  --blue: #6271FF;
  --lime: #C8F35B;
  --white: #FFFFFF;
  --shadow: 0 30px 90px rgba(14,37,32,.12);
  --shadow-soft: 0 16px 50px rgba(14,37,32,.07);
}

html { background:#F8FAF7; }
body {
  color:var(--text);
  background:
    radial-gradient(circle at 7% 0%, rgba(54,215,193,.12), transparent 26rem),
    radial-gradient(circle at 94% 6%, rgba(98,113,255,.085), transparent 28rem),
    linear-gradient(180deg,#FBFCFA 0%,#F6F9F7 46%,#FFFFFF 100%);
}
::selection { background:#C8F35B; color:#10231F; }
p { color:var(--muted); }
h1,h2,h3,h4 { color:var(--text); }
.kicker { color:#087A5E; }

.text-glow {
  color:#087A5E;
  text-shadow:none;
  background:linear-gradient(100deg,#087A5E 0%,#12A982 48%,#5265E9 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.button {
  color:#F8FFFC;
  background:linear-gradient(135deg,#10231F 0%,#163D34 100%);
  border-color:#10231F;
  box-shadow:0 14px 34px rgba(16,35,31,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.button:hover {
  background:linear-gradient(135deg,#0C1D19 0%,#11503F 100%);
  box-shadow:0 19px 44px rgba(16,35,31,.23),0 0 0 1px rgba(24,184,139,.12);
}
.button span[aria-hidden="true"] { color:#C8F35B; }
.button-ghost {
  color:#10231F;
  background:rgba(255,255,255,.88);
  border-color:rgba(16,35,31,.14);
  box-shadow:0 9px 28px rgba(16,35,31,.055);
}
.button-ghost:hover { background:#FFFFFF; border-color:rgba(11,143,109,.28); }
.button:focus-visible,.nav-toggle:focus-visible,.calc-tab:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible {
  outline-color:rgba(98,113,255,.58);
}
.scroll-progress span { background:linear-gradient(90deg,#18B88B,#36D7C1,#6271FF); box-shadow:0 0 11px rgba(54,215,193,.30); }

.site-header {
  background:rgba(251,252,250,.86);
  border-bottom-color:rgba(16,35,31,.08);
  box-shadow:0 8px 30px rgba(16,35,31,.035);
}
.brand-type strong { color:#10231F; }
.brand-type small { color:#334F48; opacity:.86; }
.primary-nav a { color:#425B55; }
.primary-nav a:hover { color:#10231F; }
.primary-nav a::after { background:#18B88B; }
.nav-toggle { color:#10231F; background:#FFFFFF; border-color:rgba(16,35,31,.14); }

.hero { background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,0)); }
.aura-a { background:rgba(54,215,193,.20); }
.aura-b { background:rgba(98,113,255,.10); }
.eyebrow { color:#3F5B54; }
.pulse-dot { background:#18B88B; box-shadow:0 0 0 5px rgba(24,184,139,.10),0 0 22px rgba(24,184,139,.32); }
.hero-lede { color:#405852; }
.hero-proof strong { color:#10231F; }
.hero-proof span,.hero-trustline { color:#5B716B; }
.hero-trustline span::before { background:#18B88B; box-shadow:0 0 11px rgba(24,184,139,.36); }

/* Higgsfield-inspired principle: one cinematic visual field with controlled accents. */
.hero-stage {
  border-color:rgba(126,255,219,.14);
  background:
    radial-gradient(circle at 54% 38%,rgba(54,215,193,.13),transparent 30%),
    radial-gradient(circle at 80% 18%,rgba(98,113,255,.13),transparent 30%),
    linear-gradient(155deg,#0A1E1A 0%,#0D2923 48%,#081612 100%);
  box-shadow:0 34px 92px rgba(10,31,26,.24),0 14px 38px rgba(16,35,31,.10),inset 0 1px 0 rgba(255,255,255,.055);
}
.hero-stage::before {
  background:
    linear-gradient(rgba(54,215,193,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,215,193,.075) 1px,transparent 1px);
  opacity:.62;
}
.hero-stage::after { box-shadow:inset 0 0 110px rgba(2,10,8,.46),inset 0 0 1px rgba(255,255,255,.12); }
.hero-shader { opacity:.90; }
.scene-vignette { background:radial-gradient(circle at 52% 43%,transparent 0 29%,rgba(4,18,14,.10) 49%,rgba(2,11,9,.66) 100%); }
.scene-floor {
  background-image:linear-gradient(rgba(54,215,193,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(98,113,255,.12) 1px,transparent 1px);
  opacity:.70;
}
.orbit-3d { border-color:rgba(54,215,193,.32); box-shadow:inset 0 0 46px rgba(54,215,193,.04),0 0 26px rgba(54,215,193,.06); }
.orbit-3d-b { border-color:rgba(98,113,255,.34); }
.orbit-3d-c { border-color:rgba(200,243,91,.22); }
.orbit-3d i { background:#C8F35B; box-shadow:0 0 14px rgba(200,243,91,.80),0 0 30px rgba(54,215,193,.42); }

.core-cube { filter:drop-shadow(0 30px 34px rgba(0,0,0,.40)); }
.cube-face {
  border-color:rgba(139,255,224,.18);
  background:linear-gradient(145deg,rgba(17,50,43,.94),rgba(6,20,17,.96)),radial-gradient(circle at 30% 18%,rgba(54,215,193,.14),transparent 36%);
  box-shadow:inset 0 0 38px rgba(54,215,193,.035),inset 0 1px 0 rgba(255,255,255,.06);
  color:#F4FFFB;
}
.cube-front,.cube-right,.cube-left,.cube-top,.cube-bottom,.cube-back {
  background:linear-gradient(145deg,rgba(17,50,43,.95),rgba(6,20,17,.97));
}
.cube-face > span:not(.cube-brand) { color:#6CE5C7; }
.cube-face > strong { color:#F7FFFC; }
.cube-face > small { color:#9EBAB2; }
.cube-brand {
  width:72px;
  height:72px;
  padding:7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 30px rgba(0,0,0,.22),0 0 28px rgba(54,215,193,.10);
}
.cube-brand img { width:100%; height:100%; filter:none; }
.core-energy { background:radial-gradient(circle,rgba(54,215,193,.28),rgba(98,113,255,.12) 34%,transparent 69%); }
.core-shadow { background:rgba(0,0,0,.48); }
.scene-node {
  border-color:rgba(113,232,203,.16);
  background:linear-gradient(145deg,rgba(15,46,39,.94),rgba(5,20,16,.94));
  box-shadow:0 22px 52px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.05);
}
.scene-node::before { background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(54,215,193,.18),transparent 46%); }
.scene-node strong { color:#F5FFFB; }
.scene-node small { color:#9DB7B0; }
.scene-node > i:not(.node-wave) { color:#66E4C5; }
.node-index { color:#77978E; }
.node-wave b { background:linear-gradient(#C8F35B,#36D7C1); }
.wire { background:linear-gradient(90deg,rgba(54,215,193,.72),rgba(98,113,255,.18)); box-shadow:0 0 12px rgba(54,215,193,.18); }
.wire::after { background:#C8F35B; box-shadow:0 0 14px rgba(200,243,91,.78); }
.scene-status { border-color:rgba(113,232,203,.16); background:rgba(5,20,16,.78); color:#A5BEB7; box-shadow:0 10px 28px rgba(0,0,0,.24); }
.scene-status span { background:#C8F35B; box-shadow:0 0 12px rgba(200,243,91,.70); }
.scene-caption,.scene-caption span,.scene-caption small { color:#8FAAA3; }

.stack-strip { background:rgba(255,255,255,.60); border-color:rgba(16,35,31,.08); }
.stack-list { color:#4D6760; }
.leak-card,.service-card,.method-card,.assurance-card,.standards-grid div {
  border-color:rgba(16,35,31,.09);
  background:linear-gradient(155deg,#FFFFFF 0%,#F7FAF8 100%);
  box-shadow:0 14px 42px rgba(16,35,31,.055),inset 0 1px 0 #fff;
}
.leak-card:hover,.service-card:hover { border-color:rgba(11,143,109,.26); box-shadow:0 22px 58px rgba(16,35,31,.085); }
.service-glyph,.leak-icon {
  color:#087A5E;
  border-color:rgba(11,143,109,.18);
  background:linear-gradient(145deg,rgba(54,215,193,.15),rgba(200,243,91,.12));
}
.card-index,.service-no,.card-foot,.service-card li { color:#5E746E; }
.section-dark { background:linear-gradient(180deg,#EDF5F1 0%,#FBFCFA 100%); }

.evidence-panel,.funnel-board,.assurance-grid {
  border-color:rgba(16,35,31,.09);
  background:#FFFFFF;
  box-shadow:var(--shadow-soft);
}
.evidence-stat strong,.quality-list strong,.funnel-node strong,.standards-grid strong { color:#10231F; }
.evidence-stat span,.evidence-title p,.standards-grid span { color:#4D655F; }
.evidence-stat a { color:#087A5E; }

.browser-window { border-color:rgba(16,35,31,.12); background:#FFFFFF; box-shadow:0 32px 76px rgba(16,35,31,.14); }
.browser-bar { background:#EAF1ED; border-bottom-color:rgba(16,35,31,.08); }
.browser-bar > span { background:#88A39B; }
.browser-bar div { background:#FFFFFF; color:#526A63; }
.browser-page { background:radial-gradient(circle at 82% 18%,rgba(54,215,193,.18),transparent 30%),linear-gradient(150deg,#FFFFFF,#F3F8F5 56%,#EDF3F0); color:#10231F; }
.mini-nav button,.mini-hero button { background:#10231F; color:#FFFFFF; }
.mini-hero span { color:#087A5E; }
.mini-hero p { color:#4D655F; }
.browser-floating { border-color:rgba(16,35,31,.11); background:rgba(255,255,255,.94); box-shadow:0 18px 48px rgba(16,35,31,.12); }
.browser-floating strong { color:#10231F; }

.funnel-board { background:linear-gradient(180deg,#FFFFFF,#F5F9F7); }
.funnel-line { background:linear-gradient(90deg,transparent,#18B88B,#6271FF,transparent); }
.funnel-node { border-color:rgba(16,35,31,.09); background:#FFFFFF; }
.funnel-node span { border-color:rgba(11,143,109,.20); color:#087A5E; background:#ECFAF5; }
.funnel-node small { color:#526A63; }

.roi-section { background:linear-gradient(145deg,#F1F6F4 0%,#F6F7FF 62%,#FFFFFF 100%); }
.calculator-card { border-color:rgba(16,35,31,.10); background:#FFFFFF; box-shadow:0 28px 72px rgba(16,35,31,.10); }
.calc-tab { background:#F1F5F3; color:#48625B; }
.calc-tab.is-active { color:#FFFFFF; border-color:#10231F; background:#10231F; }
.calc-badge { border-color:rgba(11,143,109,.18); color:#087A5E; background:#ECFAF5; }
.calc-result { border-color:rgba(11,143,109,.16); background:linear-gradient(140deg,rgba(54,215,193,.13),rgba(98,113,255,.055)); }
.calc-result strong { color:#087A5E; }
.range-field > span,.calc-result span,.calc-result small,.roi-note { color:#526A63; }

.assurance-section { background:linear-gradient(180deg,#F8FAF7,#EEF5F2); }
.assurance-card::after { background:radial-gradient(circle,rgba(54,215,193,.12),transparent 66%); }
.build-standard { border-color:rgba(11,143,109,.15); background:linear-gradient(120deg,rgba(54,215,193,.09),rgba(98,113,255,.035)); }
.standard-pills span { border-color:rgba(16,35,31,.09); color:#526A63; background:#FFFFFF; }

.contact-shell { border-color:rgba(16,35,31,.10); background:#FFFFFF; box-shadow:0 30px 78px rgba(16,35,31,.11); }
.contact-copy { background:radial-gradient(circle at 12% 12%,rgba(54,215,193,.19),transparent 42%),radial-gradient(circle at 84% 84%,rgba(98,113,255,.06),transparent 36%),#F5F9F7; }
.contact-points,.contact-form label,.form-status { color:#4D655F; }
.contact-form { background:#FFFFFF; border-left-color:rgba(16,35,31,.09); }
.contact-form input,.contact-form textarea { border-color:rgba(16,35,31,.13); background:#FBFCFA; color:#10231F; }
.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(11,143,109,.52); box-shadow:0 0 0 3px rgba(24,184,139,.10); }

.site-footer { background:#F2F6F4; border-top-color:rgba(16,35,31,.08); }
.footer-label,.footer-grid a,.footer-grid > div:not(:first-child) > span:not(.footer-label),.footer-bottom,.footer-bottom a { color:#526A63; }
.footer-grid a:hover { color:#10231F; }

/* Booking keeps the N&B palette while Cal remains fully functional. */
.booking-backdrop { background:rgba(7,25,21,.52); }
.booking-dialog { border-color:rgba(16,35,31,.12); background:#FFFFFF; box-shadow:0 42px 120px rgba(7,25,21,.24); }
.booking-close { border-color:rgba(16,35,31,.13); background:rgba(255,255,255,.94); color:#10231F; }
.booking-close:hover { border-color:rgba(11,143,109,.34); }
.booking-intro { border-color:rgba(16,35,31,.08); background:radial-gradient(circle at 14% 8%,rgba(54,215,193,.16),transparent 34%),linear-gradient(145deg,#F8FBF9,#EEF6F2); }
.booking-eyebrow,.booking-fallback a { color:#087A5E; }
.booking-intro h2 { color:#10231F; }
.booking-intro > p:not(.booking-reassurance),.booking-loading,.booking-fallback { color:#4D655F; }
.booking-reassurance { color:#38584F; border-top-color:rgba(16,35,31,.10); }
.booking-reassurance span { color:#087A5E; }
.booking-loading { background:linear-gradient(145deg,#FFFFFF,#F2F7F4); }
.booking-spinner { border-color:rgba(11,143,109,.16); border-top-color:#087A5E; }
.booking-fallback { border-color:rgba(16,35,31,.10); background:rgba(255,255,255,.95); }

/* Tablet: switch to compact navigation before the seven-link header becomes cramped. */
@media (max-width:1080px) {
  :root { --header-h:74px; }
  .nav-shell { grid-template-columns:auto 1fr auto; gap:16px; }
  .nav-toggle { display:inline-flex; align-items:center; justify-self:end; grid-column:2; }
  .nav-cta { display:inline-flex; grid-column:3; }
  .primary-nav {
    position:fixed;
    inset:var(--header-h) 0 auto;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-height:calc(100dvh - var(--header-h));
    overflow:auto;
    padding:10px 20px 20px;
    background:rgba(251,252,250,.98);
    border-bottom:1px solid rgba(16,35,31,.09);
    box-shadow:0 28px 68px rgba(16,35,31,.12);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
  }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:15px 8px; border-bottom:1px solid rgba(16,35,31,.07); font-size:15px; }
  .primary-nav a::after { display:none; }
  .hero-layout { grid-template-columns:1fr; gap:48px; }
  .hero-copy { max-width:820px; }
  .hero-stage { width:min(780px,100%); min-height:640px; margin-inline:auto; }
  .ecommerce-layout,.website-layout,.roi-layout,.standards-layout,.faq-layout,.contact-shell { grid-template-columns:1fr; }
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .assurance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:820px) {
  .shell { width:min(calc(100% - 32px),var(--shell)); }
  .section-pad { padding:82px 0; }
  .nav-shell { grid-template-columns:auto auto; }
  .nav-toggle { grid-column:2; }
  .nav-cta { display:none; }
  .hero { padding-top:58px; padding-bottom:72px; }
  .hero-layout { gap:34px; }
  .hero-stage { min-height:590px; border-radius:28px; }
  .revenue-scene { inset:46px 0 68px; transform:rotateX(-5deg) rotateY(5deg) scale(.90); }
  .section-head { grid-template-columns:1fr; gap:18px; margin-bottom:38px; }
  .service-grid,.assurance-grid { grid-template-columns:1fr; }
  .website-layout,.ecommerce-layout { gap:42px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand-block { grid-column:1/-1; }
}

@media (max-width:620px) {
  .shell { width:min(calc(100% - 24px),var(--shell)); }
  .section-pad { padding:70px 0; }
  .hero { padding-top:44px; padding-bottom:62px; }
  .hero-copy h1 { font-size:clamp(38px,11.8vw,50px); line-height:1.07; letter-spacing:-.025em; }
  h2 { font-size:clamp(28px,8.2vw,36px); line-height:1.14; }
  h3 { font-size:20px; }
  .hero-lede { font-size:16px; line-height:1.67; }
  .hero-actions { margin-bottom:30px; }
  .hero-stage { min-height:540px; margin-top:6px; border-radius:24px; }
  .revenue-scene { inset:40px -34px 66px; transform:rotateX(-3deg) rotateY(2deg) scale(.68); transform-origin:50% 50%; }
  .scene-caption { left:14px; right:14px; bottom:13px; }
  .scene-caption span { font-size:9px; }
  .scene-caption small { display:none; }
  .hero-proof { padding-top:18px; }
  .hero-trustline { margin-top:15px; }
  .service-grid,.method-grid,.standards-grid,.field-pair,.footer-grid { grid-template-columns:1fr; }
  .footer-brand-block { grid-column:auto; }
  .service-card { min-height:auto; }
  .contact-copy,.contact-form { padding:26px 20px; }
  .booking-intro { background:linear-gradient(145deg,#F7FBF8,#EEF6F2); }
}

@media (max-width:390px) {
  .shell { width:min(calc(100% - 20px),var(--shell)); }
  .brand-type small { letter-spacing:.14em; }
  .hero-copy h1 { font-size:clamp(36px,11.7vw,45px); }
  .hero-stage { min-height:510px; }
  .revenue-scene { inset:34px -46px 62px; transform:rotateX(-2deg) rotateY(1deg) scale(.61); }
  .button { min-height:52px; padding-inline:18px; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-stage { box-shadow:0 24px 64px rgba(10,31,26,.18); }
}
