:root {
  --ink-900: #0e1116;
  --ink-800: #171b22;
  --ink-700: #232932;
  --ink-500: #4a535f;
  --ink-300: #98a1ac;
  --ink-100: #e4e7eb;
  --ink-50: #f4f6f8;
  --white: #ffffff;
  --ember-600: #c2410c;
  --ember-500: #ea580c;
  --ember-400: #fb923c;
  --ember-50: #fff3ec;
  --steel-500: #3b82a0;
  --ok-500: #16a34a;
  --warn-500: #d97706;
  --mute-500: #6b7280;
  --page-max: 1200px;
  --shadow-card: 0 1px 2px rgba(14,17,22,.06);
  --shadow-overlay: 0 12px 32px rgba(14,17,22,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink-900);
  background: var(--white);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--ember-500); outline-offset: 3px; }
.container { width: min(calc(100% - 48px), var(--page-max)); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 8px 12px; background: var(--white); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  height: 72px; color: var(--white); transition: background-color .15s ease-out, box-shadow .15s ease-out;
}
.site-header.is-scrolled { background: rgba(14,17,22,.94); box-shadow: 0 1px 2px rgba(14,17,22,.24); backdrop-filter: blur(16px); }
.header-inner { height: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.brand { display: flex; flex-direction: column; line-height: 1.05; }
.brand strong { font-size: 18px; letter-spacing: -.02em; }
.brand span { margin-top: 5px; color: var(--ink-300); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.nav-list { display: flex; justify-content: center; gap: clamp(12px,1.6vw,24px); margin: 0; padding: 0; list-style: none; }
.nav-list a { color: #dfe5ea; font-size: 13px; white-space: nowrap; }
.nav-list a:hover { color: var(--white); }
.header-actions { display: flex; align-items: center; gap: 16px; }
.phone { color: #dfe5ea; font-size: 13px; white-space: nowrap; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: var(--white); background: transparent; }

.button { min-height: 48px; padding: 0 24px; border: 1px solid transparent; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 650; font-size: 15px; cursor: pointer; transition: transform .15s ease-out, background-color .15s ease-out, border-color .15s ease-out; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--white); background: var(--ember-500); }
.button-primary:hover { background: var(--ember-600); }
.button-secondary { color: var(--ink-900); background: transparent; border-color: var(--ink-100); }
.button-secondary:hover { background: var(--ink-50); }
.button-dark { color: var(--white); border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.button-dark:hover { background: rgba(255,255,255,.11); }
.button-small { min-height: 40px; padding-inline: 18px; font-size: 13px; }

.hero { position: relative; min-height: 850px; overflow: hidden; color: var(--white); background: var(--ink-900); }
.hero::before {
  content: ""; position: absolute; inset: -30%; opacity: .88;
  background:
    radial-gradient(ellipse at 18% 62%, rgba(112,203,255,.72), transparent 33%),
    radial-gradient(ellipse at 74% 38%, rgba(254,137,137,.68), transparent 29%),
    radial-gradient(ellipse at 52% 80%, rgba(59,130,160,.48), transparent 32%),
    #05070a;
  filter: blur(44px) saturate(1.12);
  transform: rotate(12deg) scale(1.08);
  animation: thermal-drift 14s ease-in-out infinite alternate;
}
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, black 0, transparent 88%); }
@keyframes thermal-drift { to { transform: rotate(-4deg) scale(1.18) translate3d(4%,-3%,0); } }
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: 70px; align-items: center; padding-top: 146px; padding-bottom: 72px; }
.eyebrow { margin: 0 0 24px; color: var(--ember-400); font-size: 13px; font-weight: 650; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
h1,h2,h3,p { margin-top: 0; }
h1 { max-width: 760px; margin-bottom: 28px; font-size: clamp(3rem,5vw,4.65rem); line-height: 1.03; letter-spacing: -.055em; text-wrap: balance; }
.hero-lead { max-width: 720px; margin-bottom: 34px; color: rgba(255,255,255,.76); font-size: 19px; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 52px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.fact { padding: 22px 22px 22px 0; }
.fact + .fact { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.2); }
.fact strong { display: block; font-size: 15px; line-height: 1.3; }
.fact span { display: block; margin-top: 6px; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.45; }

.calc-visual { position: relative; min-height: 530px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(14,17,22,.74); box-shadow: 0 30px 80px rgba(0,0,0,.38); backdrop-filter: blur(18px); overflow: hidden; transform: rotate(1.4deg); }
.calc-visual::before { content: ""; position: absolute; inset: 0; pointer-events:none; opacity: .18; background: repeating-linear-gradient(135deg, transparent 0 13px, rgba(255,255,255,.08) 13px 14px); }
.window-bar { height: 44px; display: flex; align-items: center; justify-content: space-between; padding-inline: 16px; border-bottom: 1px solid rgba(255,255,255,.12); color: var(--ink-300); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.window-dots { display:flex; gap:7px; }
.window-dots i { width: 7px; height: 7px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; }
.calc-body { position: relative; padding: 24px; }
.calc-stage { display:grid; grid-template-columns: 1fr 94px; gap: 16px; align-items: center; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.calc-stage:first-child { padding-top: 0; }
.calc-stage small { display:block; color: var(--ember-400); font-size: 10px; letter-spacing:.08em; text-transform:uppercase; }
.calc-stage strong { display:block; margin-top: 6px; font-size: 14px; line-height: 1.3; }
.calc-stage span { color: var(--ink-300); font-size: 11px; text-align: right; }
.thermal-map { position: relative; margin-top: 22px; height: 152px; border-radius: 12px; overflow: hidden; background: linear-gradient(120deg,#70cbff 0%,#366278 34%,#17212b 52%,#fe8989 100%); }
.thermal-map::after { content:""; position:absolute; inset:0; background: repeating-radial-gradient(ellipse at 25% 120%, transparent 0 22px, rgba(255,255,255,.16) 23px 24px); }
.thermal-map b { position:absolute; left:16px; bottom:14px; z-index:1; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.profile-mark { position:absolute; right:18px; top:50%; z-index:1; width:74px; height:74px; transform:translateY(-50%) rotate(45deg); border:10px solid rgba(255,255,255,.74); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); }

.section { padding-block: 120px; }
.section-soft { background: var(--ink-50); }
.section-head { display:grid; grid-template-columns: .7fr 1.3fr; gap: 48px; align-items:start; margin-bottom:64px; }
.section-kicker { color: var(--ember-500); font-size:13px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
h2 { margin-bottom: 24px; font-size: clamp(2.35rem,4vw,3.85rem); line-height:1.06; letter-spacing:-.045em; text-wrap:balance; }
.lead { max-width: 760px; color: var(--ink-500); font-size: 20px; line-height:1.55; }
.body-copy { max-width: 760px; color: var(--ink-500); }
.problem-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.cutout-card { position:relative; min-height:280px; padding:24px; border:1px solid var(--ink-100); background:var(--white); box-shadow:var(--shadow-card); clip-path:polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%); }
.cutout-card::after { content:""; position:absolute; right:0; top:0; width:34px; height:34px; background:linear-gradient(225deg,var(--ink-50) 50%,var(--ink-100) 51%,var(--ink-100) 53%,transparent 54%); }
.card-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:44px; border:1px solid var(--ink-100); border-radius:50%; color:var(--ember-500); }
.card-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; }
.cutout-card h3 { margin-bottom:12px; font-size:18px; line-height:1.3; }
.cutout-card p { margin:0; color:var(--ink-500); font-size:14px; line-height:1.55; }

@media (max-width: 1100px) {
  .nav-list, .phone { display:none; }
  .header-inner { grid-template-columns:auto 1fr auto; }
  .header-actions { justify-self:end; }
  .menu-toggle { display:inline-grid; place-items:center; }
  .hero-inner { grid-template-columns:1fr .85fr; gap:36px; }
  .problem-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 767px) {
  .container { width:min(calc(100% - 32px),var(--page-max)); }
  .site-header { height:60px; }
  .header-actions .button { display:none; }
  .hero { min-height:auto; }
  .hero-inner { display:block; padding-top:112px; padding-bottom:56px; }
  h1 { font-size:34px; line-height:1.15; letter-spacing:-.04em; }
  .hero-lead { font-size:17px; }
  .hero-actions .button { width:100%; }
  .calc-visual { min-height:430px; margin-top:44px; transform:none; }
  .hero-facts { grid-template-columns:1fr 1fr; margin-top:40px; }
  .fact:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .fact:nth-child(4) { border-top:1px solid rgba(255,255,255,.2); }
  .section { padding-block:72px; }
  .section-head { display:block; margin-bottom:40px; }
  .section-kicker { display:block; margin-bottom:14px; }
  h2 { font-size:28px; line-height:1.2; }
  .lead { font-size:17px; }
  .problem-grid { grid-template-columns:1fr; }
  .cutout-card { min-height:0; }
  .card-icon { margin-bottom:28px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

.narrow-container { max-width: 1040px; }
.contrast-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contrast-card { position:relative; min-height:310px; padding:40px; overflow:hidden; border:1px solid var(--ink-100); border-radius:12px; background:var(--white); }
.contrast-card::before { content:"CRM"; position:absolute; right:-12px; bottom:-58px; color:var(--ink-50); font-size:160px; font-weight:800; line-height:1; letter-spacing:-.08em; }
.contrast-card-dark { color:var(--white); border-color:var(--ink-700); background:var(--ink-900); }
.contrast-card-dark::before { content:"CALC"; color:rgba(255,255,255,.04); }
.contrast-card > * { position:relative; z-index:1; }
.contrast-label { display:block; margin-bottom:64px; color:var(--ember-500); font-size:13px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.contrast-card-dark .contrast-label { color:var(--ember-400); }
.contrast-card h3 { margin-bottom:12px; font-size:34px; line-height:1.15; letter-spacing:-.035em; }
.contrast-card p { max-width:420px; margin:0; color:var(--ink-500); }
.contrast-card-dark p { color:var(--ink-300); }

.process-section { color:var(--white); background:var(--ink-900); }
.section-head-light h2 { color:var(--white); }
.process-track { display:grid; grid-template-columns:repeat(6,1fr); margin:0; padding:0; list-style:none; }
.process-track li { position:relative; min-width:0; padding:0 18px 0 0; }
.process-track li:not(:last-child)::after { content:""; position:absolute; top:19px; right:9px; width:34%; height:1px; background:linear-gradient(90deg,var(--ember-400),rgba(251,146,60,.1)); }
.step-number { width:40px; height:40px; display:grid; place-items:center; margin-bottom:28px; border:1px solid var(--ember-400); border-radius:50%; color:var(--ember-400); font-size:12px; font-weight:700; }
.process-track h3 { min-height:50px; margin-bottom:12px; font-size:17px; line-height:1.35; }
.process-track p { margin:0; color:var(--ink-300); font-size:13px; line-height:1.5; }
.process-note { margin:56px 0 0; padding:24px 24px 24px 66px; border:1px solid var(--ink-700); border-radius:12px; color:#dce2e7; background:var(--ink-800); position:relative; }
.process-note::before { content:"↻"; position:absolute; left:24px; top:20px; color:var(--ember-400); font-size:24px; }

.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.capability-card { min-height:280px; padding:24px; border:1px solid var(--ink-100); border-radius:12px; background:var(--white); box-shadow:var(--shadow-card); }
.capability-card h3 { margin:46px 0 12px; font-size:20px; line-height:1.3; }
.capability-card p { margin:0; color:var(--ink-500); font-size:14px; line-height:1.55; }
.status { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }
.status-ok { color:#0d7d31; background:#eaf7ee; }
.status-warn { color:#a45a05; background:#fff5df; }
.status-plan { color:#59616b; background:#edf0f2; }
.section-caption { max-width:800px; margin:32px 0 0; color:var(--ink-500); font-size:14px; }

.role-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; counter-reset:roles; }
.role-card { position:relative; min-height:300px; padding:24px; border-top:1px solid var(--ink-900); background:linear-gradient(180deg,transparent 0,var(--ink-50) 100%); }
.role-card::after { counter-increment:roles; content:"0" counter(roles); position:absolute; right:20px; bottom:10px; color:var(--ink-100); font-size:72px; font-weight:800; line-height:1; }
.role-card > * { position:relative; z-index:1; }
.role-card > span { display:block; min-height:48px; color:var(--ember-500); font-size:12px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.role-card h3 { margin:44px 0 14px; font-size:21px; line-height:1.3; }
.role-card p { margin:0; color:var(--ink-500); font-size:14px; line-height:1.55; }

.accordion { border-top:1px solid var(--ink-100); }
.accordion-trigger { width:100%; min-height:72px; display:flex; align-items:center; justify-content:space-between; padding:0; border:0; border-bottom:1px solid var(--ink-100); color:var(--ink-900); background:transparent; font-weight:650; text-align:left; cursor:pointer; }
.accordion-trigger span:last-child { color:var(--ember-500); font-size:24px; }
.accordion-panel { border-bottom:1px solid var(--ink-100); }
.standard-row { display:grid; grid-template-columns:1.4fr .6fr; gap:32px; padding:22px 0; border-bottom:1px solid var(--ink-100); }
.standard-row:last-child { border-bottom:0; }
.standard-row strong { font-size:14px; line-height:1.5; }
.standard-row span { color:var(--ink-500); font-size:13px; line-height:1.5; }

.table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--ink-100); border-radius:12px; }
table { width:100%; min-width:880px; border-collapse:collapse; font-size:14px; }
th,td { padding:20px; border-bottom:1px solid var(--ink-100); text-align:left; vertical-align:top; }
thead th { color:var(--ink-500); background:var(--ink-50); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
tbody th { width:27%; font-weight:650; }
tbody tr:nth-child(even) { background:#fafbfc; }
tbody tr:last-child th,tbody tr:last-child td { border-bottom:0; }
.product-row { color:var(--white); background:var(--ink-900) !important; }
.product-row th { color:var(--ember-400); }
blockquote { max-width:960px; margin:64px 0 0; padding:0; border:0; font-size:clamp(26px,3.4vw,44px); font-weight:650; line-height:1.25; letter-spacing:-.035em; }
blockquote::before { content:"“"; display:block; color:var(--ember-500); font-size:72px; line-height:.7; }

.tech-section { color:var(--white); background:#111820; }
.tech-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--ink-700); }
.tech-grid > div { min-height:230px; padding:28px; border-right:1px solid var(--ink-700); border-bottom:1px solid var(--ink-700); }
.tech-grid > div:nth-child(3n) { border-right:0; }
.tech-grid > div:nth-last-child(-n+3) { border-bottom:0; }
.tech-grid span { display:block; color:var(--ink-300); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.tech-grid strong { display:block; margin:34px 0 12px; font-size:26px; line-height:1.2; }
.tech-grid p { margin:0; color:var(--ink-300); font-size:14px; line-height:1.55; }
.tech-note { margin:32px 0 0; padding:24px; border-left:3px solid var(--ember-400); color:#dfe6eb; background:rgba(255,255,255,.035); }
.security-section { color:var(--white); background:var(--ink-900); border-top:1px solid var(--ink-700); }
.security-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.security-grid article { padding:30px; border:1px solid var(--ink-700); border-radius:12px; background:var(--ink-800); }
.security-grid span { color:var(--ember-400); font-size:12px; font-weight:650; letter-spacing:.08em; }
.security-grid h3 { margin:48px 0 14px; font-size:24px; }
.security-grid p { margin:0; color:var(--ink-300); font-size:14px; }

.connect-track { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 32px; padding:0; list-style:none; }
.connect-track li { min-height:170px; padding:24px; border:1px solid var(--ink-100); border-radius:12px; }
.connect-track span { display:block; color:var(--ember-500); font-size:12px; letter-spacing:.08em; }
.connect-track strong { display:block; margin-top:42px; font-size:17px; line-height:1.35; }
.license-panel { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; padding:32px; border-radius:12px; background:var(--ember-50); }
.license-panel p { max-width:820px; margin:0; color:var(--ink-500); }
.custom-teaser { color:var(--white); background:var(--steel-500); }
.teaser-inner { display:grid; grid-template-columns:1fr auto; gap:64px; align-items:end; }
.teaser-inner .section-kicker { display:block; margin-bottom:18px; color:#d8f2ff; }
.teaser-inner h2 { max-width:780px; }
.teaser-inner p { max-width:760px; margin:0; color:rgba(255,255,255,.78); }
.request-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.request-form { padding:32px; border:1px solid var(--ink-100); border-radius:12px; background:var(--white); box-shadow:var(--shadow-card); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.request-form label { display:block; margin-bottom:18px; font-size:13px; font-weight:650; }
.request-form input:not([type=checkbox]),.request-form textarea { width:100%; margin-top:7px; border:1px solid #c9ced4; border-radius:8px; color:var(--ink-900); background:var(--white); }
.request-form input:not([type=checkbox]) { height:48px; padding:0 14px; }
.request-form textarea { min-height:112px; padding:12px 14px; resize:vertical; }
.request-form input:focus,.request-form textarea:focus { outline:2px solid rgba(234,88,12,.2); border-color:var(--ember-500); }
.request-form [aria-invalid=true] { border-color:#b42318 !important; }
.consent { display:flex !important; gap:10px; align-items:flex-start; font-weight:400 !important; }
.consent input { width:18px; height:18px; margin-top:3px; accent-color:var(--ember-500); }
.honeypot { position:absolute !important; left:-9999px; }
.form-note { margin:16px 0 0; color:var(--ink-500); font-size:12px; }
.form-status { min-height:24px; margin:12px 0 0; color:#b42318; font-size:13px; font-weight:650; }

.site-footer { padding-top:72px; color:var(--white); background:#090b0e; }
.footer-grid { display:grid; grid-template-columns:1.35fr .8fr 1fr 1.15fr; gap:48px; padding-bottom:64px; }
.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-grid > div > strong { margin-bottom:12px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.footer-grid p,.footer-grid span,.footer-grid a { color:var(--ink-300); font-size:13px; line-height:1.55; }
.footer-grid a:hover { color:var(--white); }
.footer-grid .brand strong { color:var(--white); font-size:19px; }
.footer-bottom { padding-block:22px; border-top:1px solid var(--ink-700); color:var(--ink-300); font-size:12px; }

.modal { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:20px; }
.modal[hidden] { display:none; }
.modal-backdrop { position:absolute; inset:0; background:rgba(14,17,22,.72); backdrop-filter:blur(6px); }
.modal-card { position:relative; z-index:1; width:min(720px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:48px; border-radius:12px; background:var(--white); box-shadow:var(--shadow-overlay); }
.modal-card h2 { font-size:34px; }
.modal-close { position:absolute; top:16px; right:16px; width:44px; height:44px; border:1px solid var(--ink-100); border-radius:50%; color:var(--ink-900); background:var(--white); font-size:26px; cursor:pointer; }
.modal-flow { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:32px 0; }
.modal-flow span { padding:9px 12px; border:1px solid var(--ink-100); border-radius:8px; font-size:13px; font-weight:650; }
.modal-flow i { color:var(--ember-500); font-style:normal; }
.cookie { position:fixed; z-index:200; right:20px; bottom:20px; width:min(390px,calc(100% - 40px)); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px; border:1px solid var(--ink-700); border-radius:12px; color:var(--white); background:var(--ink-900); box-shadow:var(--shadow-overlay); }
.cookie[hidden] { display:none; }
.cookie p { margin:0; font-size:13px; }
.button:disabled { opacity:.4; cursor:not-allowed; transform:none; }
.mobile-nav { position:fixed; inset:60px 0 0; z-index:99; padding:36px 16px; overflow:auto; color:var(--white); background:rgba(14,17,22,.98); }
.mobile-nav[hidden] { display:none; }
.mobile-nav .nav-list { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.mobile-nav .nav-list a { display:block; padding:13px 0; font-size:22px; font-weight:650; }
.mobile-nav .mobile-phone { display:block; margin:28px 0 16px; color:var(--ink-300); }
.mobile-nav .button { width:100%; }
.menu-open,.modal-open { overflow:hidden; }

.reveal-group > * { opacity:0; transform:translateY(16px); }
.reveal-group.is-visible > * { opacity:1; transform:none; transition:opacity .4s ease,transform .4s ease; }
.reveal-group.is-visible > *:nth-child(2) { transition-delay:.06s; }
.reveal-group.is-visible > *:nth-child(3) { transition-delay:.12s; }
.reveal-group.is-visible > *:nth-child(4) { transition-delay:.18s; }
.reveal-group.is-visible > *:nth-child(5) { transition-delay:.24s; }
.reveal-group.is-visible > *:nth-child(6) { transition-delay:.3s; }
.reveal-group.is-visible > *:nth-child(n+7) { transition-delay:.36s; }

.page-hero { position:relative; overflow:hidden; padding:176px 0 104px; color:var(--white); background:var(--ink-900); }
.page-hero::before { content:""; position:absolute; width:620px; height:620px; right:-150px; top:-260px; border-radius:50%; background:radial-gradient(circle,rgba(254,137,137,.56),rgba(112,203,255,.28) 38%,transparent 68%); filter:blur(26px); }
.page-hero .container { position:relative; z-index:1; }
.page-hero h1 { max-width:960px; font-size:clamp(3rem,5vw,4.5rem); }
.page-hero .hero-lead { max-width:820px; }
.breadcrumbs { margin-bottom:30px; color:var(--ink-300); font-size:12px; }
.breadcrumbs a { color:var(--white); }
.content-page { padding:100px 0; }
.content-page .prose { width:min(100%,780px); }
.prose h2 { margin-top:56px; font-size:32px; }
.prose h3 { margin-top:32px; font-size:22px; }
.prose p,.prose li { color:var(--ink-500); }
.prose a { color:var(--ember-500); text-decoration:underline; }
.fact-list { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:48px 0; }
.fact-list div { padding:24px; border:1px solid var(--ink-100); border-radius:12px; }
.fact-list span { display:block; color:var(--ink-500); font-size:12px; }
.fact-list strong { display:block; margin-top:18px; font-size:18px; }
.roadmap { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.roadmap article { padding:24px; border-top:2px solid var(--ember-500); background:var(--ink-50); }
.roadmap strong { font-size:26px; }
.roadmap p { margin:18px 0 0; color:var(--ink-500); font-size:14px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.service-grid article { min-height:170px; padding:24px; border:1px solid var(--ink-100); border-radius:12px; background:var(--white); }
.service-grid h3 { font-size:18px; }
.phase-table { margin-top:40px; }
.two-col-list { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.two-col-list article { padding:32px; border:1px solid var(--ink-100); border-radius:12px; }
.two-col-list ul { padding-left:20px; color:var(--ink-500); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.contact-list { display:grid; gap:20px; }
.contact-list div { padding-bottom:20px; border-bottom:1px solid var(--ink-100); }
.contact-list span { display:block; color:var(--ink-500); font-size:12px; }
.contact-list strong,.contact-list a { display:block; margin-top:6px; font-size:17px; }
.map-frame { width:100%; height:430px; border:0; border-radius:12px; filter:grayscale(1) contrast(.94); }

@media (max-width:1023px) {
  .process-track { grid-template-columns:repeat(3,1fr); gap:34px 16px; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .role-grid { grid-template-columns:1fr 1fr; }
  .tech-grid { grid-template-columns:1fr 1fr; }
  .tech-grid > div:nth-child(3n) { border-right:1px solid var(--ink-700); }
  .tech-grid > div:nth-child(2n) { border-right:0; }
  .tech-grid > div:nth-last-child(-n+3) { border-bottom:1px solid var(--ink-700); }
  .tech-grid > div:nth-last-child(-n+2) { border-bottom:0; }
  .connect-track { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1.4fr 1fr; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .roadmap,.fact-list { grid-template-columns:1fr 1fr; }
}
@media (max-width:767px) {
  .contrast-grid,.request-layout,.teaser-inner,.license-panel,.contact-grid,.two-col-list { grid-template-columns:1fr; }
  .contrast-card { min-height:270px; padding:28px; }
  .contrast-card h3 { font-size:28px; }
  .process-track { grid-template-columns:1fr; gap:0; }
  .process-track li { min-height:0; padding:0 0 34px 62px; }
  .process-track li:not(:last-child)::after { left:19px; top:40px; bottom:0; width:1px; height:auto; background:linear-gradient(var(--ember-400),rgba(251,146,60,.1)); }
  .step-number { position:absolute; left:0; top:0; }
  .process-track h3 { min-height:0; }
  .process-note { margin-top:24px; padding:20px 20px 20px 56px; font-size:14px; }
  .capability-grid,.role-grid,.security-grid,.connect-track,.service-grid,.roadmap,.fact-list { grid-template-columns:1fr; }
  .capability-card,.role-card { min-height:0; }
  .standard-row { grid-template-columns:1fr; gap:8px; }
  .table-scroll { border-radius:8px; }
  tbody th { position:sticky; left:0; z-index:1; background:inherit; }
  blockquote { margin-top:48px; font-size:26px; }
  .tech-grid { grid-template-columns:1fr; }
  .tech-grid > div,.tech-grid > div:nth-child(2n),.tech-grid > div:nth-child(3n),.tech-grid > div:nth-last-child(-n+2) { min-height:0; border-right:0; border-bottom:1px solid var(--ink-700); }
  .tech-grid > div:last-child { border-bottom:0; }
  .license-panel,.teaser-inner { gap:28px; align-items:start; }
  .request-layout { gap:38px; }
  .request-form { padding:22px; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .footer-grid { grid-template-columns:1fr; gap:36px; }
  .modal-card { padding:34px 22px 24px; }
  .modal-card h2 { font-size:27px; }
  .page-hero { padding:132px 0 72px; }
  .page-hero h1 { font-size:34px; }
  .content-page { padding:72px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-group > * { opacity:1; transform:none; }
}

/* Motion and focused landing iteration */
.page-loader {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center;
  color: var(--white); background: var(--ink-900);
  transition: opacity .55s cubic-bezier(.2,.8,.2,1), visibility .55s;
}
body.page-loading { overflow: hidden; }
.page-loader[hidden] { display: grid; opacity: 0; visibility: hidden; pointer-events: none; }
.loader-core { width: 116px; display: grid; gap: 17px; }
.loader-core strong { font-size: 28px; line-height: 1; letter-spacing: -.05em; }
.loader-track { position: relative; height: 2px; overflow: hidden; background: rgba(255,255,255,.13); }
.loader-track::after { content: ""; position: absolute; inset: 0; background: var(--ember-400); transform-origin: left; animation: loader-scan .9s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes loader-scan { 0% { transform: scaleX(0); transform-origin: left; } 49% { transform: scaleX(1); transform-origin: left; } 51% { transform: scaleX(1); transform-origin: right; } 100% { transform: scaleX(0); transform-origin: right; } }

.site-header { transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.nav-list a, .phone, .footer-grid a { transition: color .25s ease; }
.nav-list a:hover, .phone:hover { color: var(--ember-400); }
.button { position: relative; overflow: hidden; transition: transform .3s cubic-bezier(.2,.8,.2,1), background-color .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease; }
.button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg,transparent 20%,rgba(255,255,255,.24) 48%,transparent 76%); transform: translateX(-130%); transition: transform .7s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.button:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(194,65,12,.18); }
.button:hover::after { transform: translateX(130%); }
.button-primary:hover { color: var(--white); background: #ff7136; }
.button-dark:hover { border-color: rgba(251,146,60,.58); background: rgba(251,146,60,.13); }

.hero-focused { min-height: 840px; isolation: isolate; }
.hero-focused::before { inset: -22%; opacity: .78; background: radial-gradient(ellipse at 18% 62%,rgba(112,203,255,.7),transparent 31%),radial-gradient(ellipse at 77% 38%,rgba(254,137,137,.64),transparent 28%),radial-gradient(ellipse at 54% 84%,rgba(251,146,60,.42),transparent 31%),#05070a; filter: blur(52px) saturate(1.12); animation-duration: 11s; }
.hero-focused::after { opacity: .17; background-size: 40px 40px; }
.hero-atmosphere { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.hero-atmosphere span { position: absolute; width: 42vw; height: 42vw; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transform: rotate(-18deg); animation: atmosphere-orbit 16s ease-in-out infinite alternate; }
.hero-atmosphere span:nth-child(1) { right: -10vw; top: -22vw; }
.hero-atmosphere span:nth-child(2) { right: 4vw; top: -8vw; animation-delay: -4s; }
.hero-atmosphere span:nth-child(3) { right: -4vw; top: 8vw; animation-delay: -8s; }
@keyframes atmosphere-orbit { to { transform: translate3d(-4%,5%,0) rotate(-8deg) scale(1.08); border-color: rgba(251,146,60,.17); } }
.hero-focused-inner { position: relative; z-index: 2; min-height: 840px; display: flex; flex-direction: column; justify-content: space-between; padding-top: 156px; padding-bottom: 54px; }
.hero-copy { max-width: 830px; }
.hero-focused h1 { max-width: 850px; margin-bottom: 24px; font-size: clamp(3.5rem,5.4vw,5.7rem); }
.hero-focused .hero-lead { max-width: 640px; margin-bottom: 32px; }
.hero-profile { position: absolute; z-index: 1; width: 510px; height: 510px; right: 5vw; top: 50%; opacity: .72; transform: translateY(-50%); pointer-events: none; }
.profile-shape { position: absolute; z-index: 2; width: 176px; height: 362px; left: 50%; top: 50%; display: block; background: linear-gradient(145deg,#70cbff 0%,#d9e8ef 26%,#fe8989 72%,#fb923c 100%); clip-path: polygon(0 0,100% 0,100% 18%,66% 18%,66% 82%,100% 82%,100% 100%,0 100%,0 82%,34% 82%,34% 18%,0 18%); filter: drop-shadow(0 28px 44px rgba(0,0,0,.34)); transform: translate(-50%,-50%) rotate(18deg); animation: profile-float 7s ease-in-out infinite alternate; }
.profile-ring { position: absolute; left: 50%; top: 50%; display: block; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: translate(-50%,-50%) rotate(-18deg); }
.profile-ring-one { width: 330px; height: 430px; animation: ring-pulse 7s ease-in-out infinite alternate; }
.profile-ring-two { width: 440px; height: 500px; border-color: rgba(112,203,255,.14); animation: ring-pulse 9s ease-in-out infinite alternate-reverse; }
.profile-scan { position: absolute; z-index: 3; left: 9%; right: 9%; top: 20%; height: 1px; display: block; background: linear-gradient(90deg,transparent,var(--ember-400),transparent); box-shadow: 0 0 18px rgba(251,146,60,.7); animation: profile-scan 4.8s ease-in-out infinite; }
@keyframes profile-float { to { transform: translate(-48%,-53%) rotate(12deg) scale(1.035); } }
@keyframes ring-pulse { to { transform: translate(-50%,-50%) rotate(-8deg) scale(1.05); border-color: rgba(254,137,137,.28); } }
@keyframes profile-scan { 0%,100% { top: 20%; opacity: 0; } 16%,84% { opacity: 1; } 50% { top: 80%; } }
.hero-facts-compact { grid-template-columns: repeat(3,1fr); width: 72%; margin-top: 78px; }
.hero-facts-compact .fact { min-height: 86px; }
[data-hero-item] { opacity: 0; transform: translate3d(0,22px,0); }
.page-ready [data-hero-item] { opacity: 1; transform: none; transition: opacity .72s cubic-bezier(.2,.8,.2,1), transform .72s cubic-bezier(.2,.8,.2,1); }
.page-ready [data-hero-item]:nth-child(2) { transition-delay: .07s; }
.page-ready [data-hero-item]:nth-child(3) { transition-delay: .14s; }
.page-ready [data-hero-item]:nth-child(4) { transition-delay: .21s; }
.page-ready [data-hero-item]:nth-child(5) { transition-delay: .28s; }

.problem-grid-compact { grid-template-columns: repeat(4,1fr); }
.cutout-card, .capability-card, .role-card, .service-grid article, .fact-list div, .roadmap article, .connect-track li, .request-form { transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, background-color .35s ease, box-shadow .35s ease; }
.cutout-card:hover, .service-grid article:hover, .fact-list div:hover, .roadmap article:hover, .connect-track li:hover { z-index: 1; transform: translateY(-7px); border-color: rgba(234,88,12,.38); background-color: #fff7f1; box-shadow: 0 18px 42px rgba(14,17,22,.09); }
.cutout-card:hover .card-icon { color: var(--white); border-color: var(--ember-500); background: var(--ember-500); transition: color .3s ease,border-color .3s ease,background-color .3s ease; }

.process-track { grid-template-columns: repeat(4,1fr); }
.process-track li { min-height: 245px; padding-right: 32px; transition: transform .35s cubic-bezier(.2,.8,.2,1), color .35s ease; }
.process-track li:hover { transform: translateY(-7px); }
.process-track li:hover .step-number { color: var(--ink-900); background: var(--ember-400); }
.step-number { transition: color .3s ease,background-color .3s ease,transform .3s ease; }

.capability-lanes { display: grid; grid-template-columns: 1.02fr .98fr; gap: 14px; }
.capability-lane { min-height: 540px; padding: 34px; border: 1px solid var(--ink-100); border-radius: 12px; background: var(--white); transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease; }
.capability-lane:hover { transform: translateY(-7px); border-color: rgba(234,88,12,.3); box-shadow: 0 20px 48px rgba(14,17,22,.08); }
.lane-ready { background: linear-gradient(140deg,#fff8f3 0%,var(--white) 54%); }
.lane-head { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: start; padding-bottom: 28px; border-bottom: 1px solid var(--ink-100); }
.lane-dot { width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--ember-500); box-shadow: 0 0 0 7px rgba(234,88,12,.1); }
.lane-progress .lane-dot { background: var(--ink-300); box-shadow: 0 0 0 7px rgba(152,161,172,.12); }
.lane-head small { display: block; margin-bottom: 8px; color: var(--ember-500); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lane-progress .lane-head small { color: var(--ink-500); }
.lane-head h3 { margin: 0; font-size: 28px; letter-spacing: -.035em; }
.lane-head > strong { color: var(--ink-300); font-size: 12px; font-weight: 600; }
.capability-lane ul { margin: 18px 0 0; padding: 0; list-style: none; }
.capability-lane li { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; padding: 23px 0; border-bottom: 1px solid var(--ink-100); }
.capability-lane li:last-child { border-bottom: 0; }
.capability-lane li b { font-size: 15px; line-height: 1.4; }
.capability-lane li span { color: var(--ink-500); font-size: 13px; line-height: 1.5; }

.role-switcher { min-height: 540px; display: grid; grid-template-columns: .38fr .62fr; overflow: hidden; border-radius: 14px; color: var(--white); background: var(--ink-900); box-shadow: 0 28px 70px rgba(14,17,22,.18); }
.role-nav { display: grid; grid-template-rows: repeat(4,1fr); border-right: 1px solid var(--ink-700); }
.role-choice { position: relative; padding: 28px 32px; border: 0; border-bottom: 1px solid var(--ink-700); color: var(--ink-300); background: transparent; font-weight: 650; text-align: left; cursor: pointer; transition: color .3s ease,background-color .3s ease,padding-left .3s cubic-bezier(.2,.8,.2,1); }
.role-choice:last-child { border-bottom: 0; }
.role-choice::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--ember-400); transform: scaleY(0); transition: transform .3s ease; }
.role-choice:hover { padding-left: 38px; color: var(--white); background: rgba(255,255,255,.035); }
.role-choice.is-active { padding-left: 38px; color: var(--white); background: rgba(251,146,60,.09); }
.role-choice.is-active::before { transform: scaleY(1); }
.role-output { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 64px 70px; overflow: hidden; transition: opacity .2s ease,transform .2s ease; }
.role-output::after { content: attr(data-role-mark); position: absolute; right: -8px; bottom: -42px; color: rgba(255,255,255,.035); font-size: 210px; font-weight: 800; line-height: 1; letter-spacing: -.09em; }
.role-output.is-switching { opacity: .15; transform: translateY(9px); }
.role-output > * { position: relative; z-index: 1; }
.role-output > span { margin-bottom: 64px; color: var(--ember-400); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.role-output h3 { max-width: 620px; margin-bottom: 22px; font-size: clamp(42px,5vw,70px); line-height: .98; letter-spacing: -.055em; }
.role-output p { max-width: 560px; margin: 0; color: var(--ink-300); font-size: 18px; }

.motion-ready .motion-reveal { opacity: 0; transform: translate3d(0,28px,0); }
.motion-ready .motion-reveal.is-visible { opacity: 1; transform: none; transition: opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1); transition-delay: var(--reveal-delay,0ms); }
.page-enter { opacity: 0; transform: translate3d(0,22px,0); }
.page-ready .page-enter { opacity: 1; transform: none; transition: opacity .68s cubic-bezier(.2,.8,.2,1),transform .68s cubic-bezier(.2,.8,.2,1); transition-delay: var(--enter-delay,0ms); }
body.page-exit { opacity: 0; transform: translateY(-8px); transition: opacity .25s ease,transform .25s ease; }
body.motion-paused *, body.motion-paused *::before, body.motion-paused *::after { animation-play-state: paused !important; }

@media (prefers-reduced-motion: reduce) {
  .page-loader { display: none; }
  [data-hero-item],.motion-ready .motion-reveal,.page-enter { opacity: 1 !important; transform: none !important; }
  .hero-focused::before,.hero-atmosphere span,.profile-shape,.profile-ring,.profile-scan { animation: none !important; }
}

/* Cohesive light art direction */
:root {
  --ink-900: #10283a;
  --ink-800: #19384e;
  --ink-700: #31536a;
  --ink-500: #587083;
  --ink-300: #8ca0ae;
  --ink-100: #dce7ee;
  --ink-50: #f4f8fb;
  --ember-600: #d94f13;
  --ember-500: #f15a1c;
  --ember-400: #ff8a50;
  --ember-50: #fff4ee;
  --steel-500: #347f9f;
  --shadow-card: 0 14px 38px rgba(28,74,101,.07);
}

body { background: #fbfdff; }
.section { padding-block: 108px; }
.section-soft { background: #f3f8fc; }

.site-header {
  color: var(--ink-900);
  border-bottom: 1px solid rgba(71,110,135,.12);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(18px);
}
.site-header.is-scrolled { color: var(--ink-900); background: rgba(255,255,255,.94); box-shadow: 0 8px 30px rgba(28,74,101,.07); }
.site-header .brand span { color: #6d8392; }
.nav-list a,.phone { color: #38566a; }
.nav-list a:hover,.phone:hover { color: var(--ember-500); }
.menu-toggle { color: var(--ink-900); border-color: var(--ink-100); }

.page-loader { color: var(--ink-900); background: #f7fbff; }
.loader-track { background: #dbe8f0; }
.loader-track::after { background: linear-gradient(90deg,var(--steel-500),var(--ember-500)); }

.hero-focused {
  min-height: 760px;
  color: var(--ink-900);
  background: #f7fbff;
}
.hero-focused::before {
  inset: -32% -18%;
  opacity: 1;
  background:
    radial-gradient(ellipse at 50% 88%,rgba(112,203,255,.52),transparent 34%),
    radial-gradient(ellipse at 12% 36%,rgba(255,230,214,.64),transparent 27%),
    radial-gradient(ellipse at 90% 48%,rgba(210,232,247,.76),transparent 29%),
    #f9fcff;
  filter: blur(34px) saturate(.92);
  transform: none;
  animation: light-drift 14s ease-in-out infinite alternate;
}
@keyframes light-drift { to { transform: translate3d(2%,-2%,0) scale(1.05); } }
.hero-focused::after {
  opacity: .38;
  background-image: radial-gradient(circle at center,rgba(49,83,106,.11) 0 1px,transparent 1.5px);
  background-size: 30px 30px;
  mask-image: linear-gradient(to bottom,transparent 0,black 35%,transparent 90%);
}
.hero-atmosphere span {
  width: 46vw;
  height: 46vw;
  border-color: rgba(52,127,159,.11);
  animation-duration: 19s;
}
.hero-atmosphere span:nth-child(1) { right: -16vw; top: -25vw; }
.hero-atmosphere span:nth-child(2) { left: -27vw; top: 13vw; right: auto; }
.hero-atmosphere span:nth-child(3) { right: 17vw; top: 30vw; }
@keyframes atmosphere-orbit { to { transform: translate3d(-3%,4%,0) rotate(-8deg) scale(1.06); border-color: rgba(241,90,28,.15); } }
.hero-focused-inner {
  min-height: 760px;
  align-items: center;
  justify-content: center;
  padding-top: 142px;
  padding-bottom: 70px;
  text-align: center;
}
.hero-copy { max-width: 1020px; }
.hero-focused .eyebrow { margin-bottom: 22px; color: var(--ember-500); }
.hero-focused h1 { max-width: 1020px; margin-bottom: 26px; font-size: clamp(3.8rem,6.2vw,6.4rem); line-height: .98; }
.hero-focused h1 em { color: var(--ember-500); font-style: normal; }
.hero-focused .hero-lead { max-width: 690px; margin: 0 auto 34px; color: var(--ink-500); font-size: 20px; }
.hero-focused .hero-actions { justify-content: center; }
.hero-focused .button-secondary { border-color: rgba(49,83,106,.22); background: rgba(255,255,255,.5); }
.hero-focused .button-secondary:hover { color: var(--steel-500); border-color: rgba(52,127,159,.45); background: #fff; box-shadow: 0 14px 32px rgba(52,127,159,.1); }
.hero-facts-compact {
  width: min(100%,780px);
  margin-top: 62px;
  border: 1px solid rgba(75,119,145,.17);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
  box-shadow: 0 22px 60px rgba(51,109,141,.08);
  backdrop-filter: blur(16px);
}
.hero-facts-compact .fact { min-height: 92px; padding: 21px 26px; text-align: left; }
.hero-facts-compact .fact + .fact { border-left-color: rgba(75,119,145,.17); }
.hero-facts-compact .fact span { margin: 0 0 5px; color: var(--ink-500); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hero-facts-compact .fact strong { color: var(--ink-900); font-size: 15px; }

.problem-grid-compact { gap: 16px; }
.cutout-card {
  min-height: 260px;
  padding: 28px;
  clip-path: none;
  border-color: #dde8ee;
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(31,76,102,.05);
}
.cutout-card::after { display: none; }
.card-icon { margin-bottom: 54px; border-color: #d7e5ed; background: #f5fafc; }
.cutout-card:hover { border-color: rgba(241,90,28,.26); background: linear-gradient(145deg,#fff 20%,#fff3eb 100%); box-shadow: 0 22px 52px rgba(31,76,102,.1); }

.process-section {
  position: relative;
  overflow: hidden;
  color: var(--ink-900);
  background: linear-gradient(145deg,#edf7fc 0%,#f8fbfd 52%,#fff4ee 130%);
}
.process-section::before { content: ""; position: absolute; width: 520px; height: 520px; right: -260px; top: -260px; border-radius: 50%; background: rgba(112,203,255,.17); filter: blur(10px); }
.process-section .container { position: relative; z-index: 1; }
.process-track { gap: 14px; }
.process-track li {
  min-height: 282px;
  padding: 28px;
  border: 1px solid rgba(75,119,145,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 14px 42px rgba(45,102,132,.06);
}
.process-track li:not(:last-child)::after { display: none; }
.process-track li:hover { transform: translateY(-6px); border-color: rgba(52,127,159,.28); background: #fff; box-shadow: 0 24px 54px rgba(45,102,132,.12); }
.step-number { margin-bottom: 52px; color: var(--steel-500); border-color: rgba(52,127,159,.28); background: #edf8fc; }
.process-track li:hover .step-number { color: #fff; background: var(--steel-500); transform: rotate(-7deg) scale(1.05); }
.process-track h3 { min-height: auto; margin-bottom: 13px; font-size: 19px; }
.process-track p { color: var(--ink-500); font-size: 14px; }
.process-note {
  max-width: 820px;
  margin: 28px 0 0 auto;
  padding: 18px 24px 18px 54px;
  color: var(--ink-500);
  border: 1px solid rgba(241,90,28,.17);
  background: rgba(255,255,255,.65);
}
.process-note strong { color: var(--ink-900); }
.process-note::before { left: 20px; top: 15px; color: var(--ember-500); }

.platform-surface {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  min-height: 590px;
  overflow: hidden;
  border: 1px solid #dbe7ee;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(35,84,111,.09);
}
.platform-summary {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 44px;
  overflow: hidden;
  background: linear-gradient(155deg,#eaf7fd 0%,#f7fbfd 54%,#fff0e7 120%);
}
.platform-summary::after { content: ""; position: absolute; width: 260px; height: 260px; right: -120px; bottom: -100px; border: 1px solid rgba(52,127,159,.17); border-radius: 50%; box-shadow: 0 0 0 50px rgba(52,127,159,.035),0 0 0 100px rgba(241,90,28,.025); }
.platform-summary > span { color: var(--steel-500); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.platform-summary > strong { max-width: 280px; margin-top: 34px; font-size: 46px; line-height: 1.02; letter-spacing: -.05em; }
.platform-summary > p { max-width: 330px; margin: 22px 0 0; color: var(--ink-500); }
.platform-count { display: flex; align-items: end; gap: 14px; margin-top: auto; }
.platform-count b { color: var(--ember-500); font-size: 94px; line-height: .76; letter-spacing: -.08em; }
.platform-count small { color: var(--ink-500); line-height: 1.35; }
.platform-modules { display: grid; grid-template-columns: 1fr 1fr; align-content: center; padding: 26px 38px; }
.platform-modules article { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 24px 16px; border-bottom: 1px solid var(--ink-100); transition: color .3s ease,background-color .3s ease,transform .3s cubic-bezier(.2,.8,.2,1); }
.platform-modules article:nth-last-child(-n+2) { border-bottom: 0; }
.platform-modules article:hover { z-index: 1; color: var(--ember-500); background: #fff8f4; transform: translateX(5px); }
.platform-modules article > span { color: var(--ink-300); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.platform-modules h3 { margin: 0 0 5px; font-size: 16px; line-height: 1.35; }
.platform-modules p { margin: 0; color: var(--ink-500); font-size: 13px; line-height: 1.5; }

.role-switcher {
  color: var(--ink-900);
  border: 1px solid #d9e7ef;
  background: linear-gradient(135deg,#f5fafc 0%,#fff 62%,#fff3eb 120%);
  box-shadow: 0 28px 70px rgba(35,84,111,.09);
}
.role-nav { border-right-color: #dbe7ee; background: rgba(238,247,251,.55); }
.role-choice { color: var(--ink-500); border-bottom-color: #dbe7ee; }
.role-choice::before { background: linear-gradient(var(--steel-500),var(--ember-500)); }
.role-choice:hover { color: var(--ink-900); background: rgba(255,255,255,.7); }
.role-choice.is-active { color: var(--ink-900); background: #fff; }
.role-output::before { content: ""; position: absolute; width: 280px; height: 280px; right: -90px; top: -110px; border-radius: 50%; background: radial-gradient(circle,rgba(112,203,255,.25),transparent 68%); }
.role-output::after { color: rgba(241,90,28,.055); }
.role-output > span { color: var(--ember-500); }
.role-output p { color: var(--ink-500); }

.connect-track li { background: #fff; }
.license-panel { background: linear-gradient(120deg,#fff3eb,#f1f8fc); }
.custom-teaser { background: linear-gradient(120deg,#347f9f,#3f8fae); }
.request-form { border-radius: 20px; }

.page-hero { color: var(--ink-900); background: linear-gradient(145deg,#f5fbff,#eef7fc 60%,#fff1e9); }
.page-hero::before { background: radial-gradient(circle,rgba(112,203,255,.44),rgba(254,173,137,.18) 42%,transparent 70%); }
.page-hero .hero-lead,.breadcrumbs { color: var(--ink-500); }
.breadcrumbs a { color: var(--steel-500); }
.product-row { color: var(--ink-900); background: #edf7fc !important; }
.product-row th { color: var(--ember-500); }
.tech-section { color: var(--ink-900); background: linear-gradient(145deg,#edf7fc,#f9fbfd); }
.tech-section .section-head-light h2 { color: var(--ink-900); }
.tech-grid { border-color: #d3e3ec; background: rgba(255,255,255,.56); }
.tech-grid > div { border-color: #d3e3ec; transition: background-color .3s ease,transform .3s cubic-bezier(.2,.8,.2,1); }
.tech-grid > div:hover { z-index: 1; background: #fff; transform: translateY(-4px); }
.tech-grid span,.tech-grid p { color: var(--ink-500); }
.site-footer { background: #173044; }
.footer-bottom { border-top-color: rgba(255,255,255,.12); }

@media (prefers-reduced-motion: reduce) {
  .hero-focused::before,.hero-atmosphere span { animation: none !important; }
}

/* Refinement pass: continuous atmosphere, alignment and responsive polish */
body { overflow-x: hidden; }
.brand span { display: none; }
.brand strong { font-size: 20px; letter-spacing: -.035em; }

.hero-focused::before {
  background-size: 145% 145%;
  background-position: 0% 48%;
  will-change: transform,background-position;
  animation: light-drift 20s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
@keyframes light-drift {
  0% { background-position: 0% 46%; transform: translate3d(-1.5%,1%,0) scale(1.02); }
  48% { background-position: 55% 54%; transform: translate3d(1.5%,-1.5%,0) scale(1.07); }
  100% { background-position: 100% 44%; transform: translate3d(-.5%,1.5%,0) scale(1.04); }
}
.hero-atmosphere { opacity: .82; }
.hero-atmosphere span { will-change: transform,border-color; }

.nav-list a { position: relative; padding-block: 8px; }
.nav-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: linear-gradient(90deg,var(--steel-500),var(--ember-500));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.nav-list a:hover::after { transform: scaleX(1); transform-origin: left; }

.cutout-card,.process-track li,.platform-surface,.role-switcher,.connect-track li,.request-form { will-change: transform; }
.cutout-card { overflow: hidden; }
.cutout-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg,var(--steel-500),var(--ember-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.cutout-card:hover::before { transform: scaleX(1); }

.process-note {
  width: 100%;
  max-width: none;
  margin: 22px 0 0;
  padding: 20px 28px 20px 60px;
  display: block;
}
.process-note::before { left: 24px; top: 16px; }

.platform-modules article { position: relative; }
.platform-modules article::after {
  content: "→";
  position: absolute;
  right: 14px;
  top: 24px;
  color: var(--ember-500);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1);
}
.platform-modules article:hover::after { opacity: 1; transform: none; }

.custom-teaser {
  position: relative;
  overflow: hidden;
  background: linear-gradient(125deg,#10283a 0%,#193b51 62%,#24536b 100%);
}
.custom-teaser::before,.custom-teaser::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.custom-teaser::before { width: 480px; height: 480px; right: -180px; top: -300px; background: radial-gradient(circle,rgba(112,203,255,.26),transparent 68%); animation: teaser-breathe 9s ease-in-out infinite alternate; }
.custom-teaser::after { width: 360px; height: 360px; left: 28%; bottom: -310px; background: radial-gradient(circle,rgba(241,90,28,.24),transparent 68%); animation: teaser-breathe 11s ease-in-out -4s infinite alternate; }
@keyframes teaser-breathe { to { transform: translate3d(28px,18px,0) scale(1.12); opacity: .72; } }
.custom-teaser .teaser-inner { position: relative; z-index: 1; }
.custom-teaser .section-kicker { color: #ffae83; }
.custom-teaser .button-dark { background: rgba(255,255,255,.08); }
.custom-teaser .button-dark:hover { color: #fff; border-color: rgba(255,174,131,.58); background: rgba(241,90,28,.18); box-shadow: 0 18px 42px rgba(0,0,0,.14); }

.contact-simple { display: grid; grid-template-columns: .86fr 1.14fr; gap: 96px; align-items: start; }
.contact-intro h2 { max-width: 480px; margin-top: 18px; }
.contact-list-simple {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--ink-100);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-card);
}
.contact-list-simple div { min-height: 160px; padding: 28px; border: 0; border-right: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); transition: background-color .3s ease,transform .3s cubic-bezier(.2,.8,.2,1); }
.contact-list-simple div:nth-child(2n) { border-right: 0; }
.contact-list-simple div:nth-last-child(-n+2) { border-bottom: 0; }
.contact-list-simple div:hover { z-index: 1; background: linear-gradient(145deg,#f4fbff,#fff5ef); transform: translateY(-3px); }
.contact-list-simple span { color: var(--ink-500); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.contact-list-simple strong,.contact-list-simple a { margin-top: 24px; color: var(--ink-900); font-size: 18px; line-height: 1.45; }
.contact-list-simple a { transition: color .25s ease; }
.contact-list-simple a:hover { color: var(--ember-500); }

@media (max-width: 1100px) {
  .container { width: min(calc(100% - 40px),var(--page-max)); }
  .header-inner { gap: 18px; }
  .mobile-nav {
    color: var(--ink-900);
    border-top: 1px solid var(--ink-100);
    background: rgba(248,252,255,.98);
    backdrop-filter: blur(18px);
  }
  .mobile-nav .nav-list a { color: var(--ink-900); }
  .mobile-nav .mobile-phone { color: var(--ink-500); }
  .hero-focused h1 { font-size: clamp(3.5rem,7.8vw,5.3rem); }
  .platform-surface { grid-template-columns: .62fr 1.38fr; }
  .platform-summary { padding: 36px; }
  .platform-summary > strong { font-size: 38px; }
  .platform-modules { padding-inline: 24px; }
  .role-output { padding: 52px; }
  .contact-simple { gap: 52px; }
}

@media (max-width: 900px) {
  .section { padding-block: 88px; }
  .section-head { grid-template-columns: .52fr 1.48fr; gap: 32px; }
  .problem-grid-compact { grid-template-columns: 1fr 1fr; }
  .process-track { grid-template-columns: 1fr 1fr; }
  .process-track li { min-height: 250px; }
  .platform-surface { grid-template-columns: 1fr; }
  .platform-summary { min-height: 330px; }
  .platform-summary > p { max-width: 430px; }
  .platform-count { margin-top: 56px; }
  .role-switcher { grid-template-columns: 1fr; }
  .role-nav { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; border-right: 0; border-bottom: 1px solid var(--ink-100); }
  .role-choice:nth-child(odd) { border-right: 1px solid var(--ink-100); }
  .role-output { min-height: 420px; }
  .contact-simple { grid-template-columns: 1fr; gap: 44px; }
  .contact-intro .lead { max-width: 620px; }
}

@media (max-width: 767px) {
  .container { width: min(calc(100% - 32px),var(--page-max)); }
  .site-header { height: 64px; }
  .brand strong { font-size: 18px; }
  .mobile-nav { inset: 64px 0 0; }
  .section { padding-block: 72px; }
  .section-head { display: block; margin-bottom: 38px; }
  .section-kicker { margin-bottom: 14px; }
  h2 { font-size: 32px; line-height: 1.12; }
  .lead { font-size: 17px; }

  .hero-focused { min-height: auto; }
  .hero-focused-inner { min-height: 0; padding-top: 122px; padding-bottom: 56px; }
  .hero-focused .eyebrow { max-width: 300px; margin-inline: auto; font-size: 11px; }
  .hero-focused h1 { font-size: clamp(2.6rem,12vw,3.5rem); line-height: 1.02; }
  .hero-focused .hero-lead { font-size: 17px; line-height: 1.52; }
  .hero-focused .hero-actions { width: 100%; }
  .hero-focused .hero-actions .button { width: 100%; }
  .hero-facts-compact { grid-template-columns: 1fr; margin-top: 44px; border-radius: 16px; }
  .hero-facts-compact .fact { min-height: 0; padding: 17px 20px; }
  .hero-facts-compact .fact + .fact { border-left: 0; border-top: 1px solid rgba(75,119,145,.17); }

  .problem-grid-compact,.process-track { grid-template-columns: 1fr; }
  .cutout-card { min-height: 220px; }
  .process-track { gap: 12px; }
  .process-track li { min-height: 0; padding: 24px; }
  .step-number { position: static; margin-bottom: 36px; }
  .process-note { display: block; padding: 20px 20px 20px 54px; font-size: 14px; }
  .process-note::before { left: 19px; top: 17px; }

  .platform-surface { min-height: 0; border-radius: 18px; }
  .platform-summary { min-height: 320px; padding: 28px; }
  .platform-summary > strong { margin-top: 26px; font-size: 38px; }
  .platform-count b { font-size: 78px; }
  .platform-modules { grid-template-columns: 1fr; padding: 12px 20px; }
  .platform-modules article,.platform-modules article:nth-last-child(-n+2) { padding: 20px 8px; border-bottom: 1px solid var(--ink-100); }
  .platform-modules article:last-child { border-bottom: 0; }
  .platform-modules article::after { display: none; }

  .role-switcher { min-height: 0; border-radius: 18px; }
  .role-nav { grid-template-columns: 1fr; }
  .role-choice,.role-choice:nth-child(odd) { min-height: 64px; padding: 18px 22px; border-right: 0; }
  .role-choice:hover,.role-choice.is-active { padding-left: 28px; }
  .role-output { min-height: 390px; padding: 44px 28px; }
  .role-output > span { margin-bottom: 44px; }
  .role-output h3 { font-size: 42px; }
  .role-output p { font-size: 16px; }
  .role-output::after { right: 0; bottom: -24px; font-size: 130px; }

  .teaser-inner { grid-template-columns: 1fr; gap: 30px; }
  .teaser-inner .button { width: 100%; }
  .connect-track { grid-template-columns: 1fr; }
  .license-panel { grid-template-columns: 1fr; gap: 24px; }
  .license-panel .button { width: 100%; }
  .request-layout { grid-template-columns: 1fr; gap: 40px; }
  .request-form { padding: 22px; }

  .contact-simple { gap: 34px; }
  .contact-list-simple { grid-template-columns: 1fr; border-radius: 18px; }
  .contact-list-simple div,.contact-list-simple div:nth-child(2n),.contact-list-simple div:nth-last-child(-n+2) { min-height: 130px; padding: 24px; border-right: 0; border-bottom: 1px solid var(--ink-100); }
  .contact-list-simple div:last-child { border-bottom: 0; }
  .contact-list-simple strong,.contact-list-simple a { margin-top: 16px; font-size: 17px; }

  .page-hero { padding: 126px 0 70px; }
  .page-hero h1 { font-size: 42px; }
  .page-hero .hero-lead { font-size: 17px; }
  .content-page { padding: 96px 0 72px; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .hero-focused h1 { font-size: 40px; }
  .hero-focused .hero-lead { font-size: 16px; }
  .button { min-height: 50px; }
  .platform-summary > strong { font-size: 34px; }
  .role-output h3 { font-size: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-focused::before,.custom-teaser::before,.custom-teaser::after { animation: none !important; }
}
