:root {
  --navy: #062b5a;
  --navy-2: #031b3b;
  --blue: #1485ff;
  --blue-2: #4aa8ff;
  --ink: #10243f;
  --slate: #5d6f82;
  --mist: #eef5fb;
  --line: #dbe7f1;
  --white: #ffffff;
  --max: 1180px;
  --shadow: 0 24px 70px rgba(4, 32, 69, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--white); line-height: 1.55; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 10px; z-index: 999; background: #fff; color: #000; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { left: 10px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(219,231,241,.8); backdrop-filter: blur(14px); }
.nav-wrap { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand img { width: 250px; height: 74px; object-fit: contain; object-position: left center; }
.site-nav { display: flex; align-items: center; gap: 24px; font-weight: 650; font-size: .95rem; }
.site-nav a { text-decoration: none; color: #243a52; }
.site-nav a:hover { color: var(--blue); }
.nav-cta { padding: 11px 16px; border-radius: 10px; background: var(--navy); color: #fff !important; }
.nav-toggle { display: none; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 9px 12px; font-weight: 700; }

.hero { position: relative; overflow: hidden; padding: 94px 0 88px; background: radial-gradient(circle at 18% 18%, rgba(85,170,255,.35), transparent 30%), linear-gradient(120deg, #07346d 0%, #042658 46%, #031a3a 100%); color: #fff; }
.hero-glow { position:absolute; inset:auto auto -220px -150px; width:620px; height:620px; border-radius:50%; background: radial-gradient(circle, rgba(91,181,255,.55), rgba(91,181,255,0) 68%); filter: blur(8px); }
.network-lines { position:absolute; inset:0; opacity:.35; background-image: linear-gradient(90deg, transparent 0 12%, rgba(39,151,255,.18) 12.2% 12.35%, transparent 12.5% 43%, rgba(39,151,255,.2) 43.1% 43.25%, transparent 43.4%), linear-gradient(0deg, transparent 0 34%, rgba(63,167,255,.15) 34.1% 34.25%, transparent 34.4% 70%, rgba(63,167,255,.13) 70.1% 70.25%, transparent 70.4%); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: center; }
.eyebrow { margin: 0 0 12px; color: var(--blue-2); text-transform: uppercase; letter-spacing: .16em; font-weight: 800; font-size: .78rem; }
.hero h1 { margin: 0; font-size: clamp(3.2rem, 6vw, 6rem); line-height: .97; letter-spacing: -.055em; }
.hero h1 span { color: #2b9bff; }
.hero-lead { max-width: 710px; margin: 26px 0 0; color: #d8e8f8; font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top: 34px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding: 0 20px; border-radius: 10px; text-decoration:none; font-weight:800; transition:.2s ease; }
.button.primary { background: linear-gradient(135deg, #1696ff, #0876e7); color:#fff; box-shadow: 0 10px 30px rgba(16,137,255,.28); }
.button.primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(16,137,255,.36); }
.button.secondary { border:1px solid rgba(146,201,255,.5); color:#eaf5ff; background:rgba(255,255,255,.04); }
.button.secondary:hover { background:rgba(255,255,255,.09); }
.hero-meta { margin:18px 0 0; color:#b9cfe4; font-size:.9rem; }

.hero-panel { position:relative; min-height: 480px; border:1px solid rgba(125,195,255,.18); border-radius: 26px; background: linear-gradient(150deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 40px 80px rgba(0,0,0,.18); padding: 200px 28px 28px; }
.cloud-orbit { position:absolute; top:30px; left:50%; width:260px; height:170px; transform:translateX(-50%); }
.cloud-shape { position:absolute; left:48px; top:56px; width:170px; height:78px; border:2px solid #4db0ff; border-radius: 42px; box-shadow: 0 0 32px rgba(45,158,255,.32); }
.cloud-shape::before { content:""; position:absolute; width:82px; height:82px; left:28px; top:-44px; border:2px solid #4db0ff; border-bottom:0; border-radius:50% 50% 0 0; background:linear-gradient(180deg, rgba(41,140,245,.18), rgba(41,140,245,0)); }
.cloud-shape::after { content:""; position:absolute; width:60px; height:60px; right:18px; top:-24px; border:2px solid #4db0ff; border-bottom:0; border-radius:50% 50% 0 0; }
.orbit-node { position:absolute; width:16px; height:16px; border-radius:5px; background:#47b0ff; box-shadow:0 0 20px rgba(71,176,255,.65); }
.node-a { top:18px; left:18px; }.node-b { right:12px; top:62px; }.node-c { bottom:0; left:108px; }
.outcome-card { display:flex; gap:16px; align-items:center; margin-top:12px; padding:16px 18px; border:1px solid rgba(121,192,255,.18); border-radius:14px; background:rgba(4,31,67,.55); }
.outcome-card span { color:#5cb7ff; font-weight:900; font-size:.75rem; letter-spacing:.12em; }
.outcome-card strong { display:block; font-size:1rem; }.outcome-card small{display:block;color:#a9c4df;margin-top:2px;}

.trust-strip { border-bottom:1px solid var(--line); background:#fff; }
.trust-items { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; color:#61758a; font-size:.86rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.section { padding: 100px 0; }
.section-light { background:#fff; }.section-soft{background:#f6fafe;}.section-blue{background:linear-gradient(120deg,#062d61,#041e45);color:#fff;}
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading h2 { margin:0; font-size:clamp(2rem,4vw,3.35rem); line-height:1.08; letter-spacing:-.035em; }
.section-heading p:not(.eyebrow) { margin:18px 0 0; color:var(--slate); font-size:1.08rem; }
.section-heading.light p:not(.eyebrow){color:#bcd2e7;}
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { position:relative; min-height: 370px; padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 8px 30px rgba(17,52,91,.035); transition:.2s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#c8deef; }
.service-card.featured { border-color:#9bcfff; background:linear-gradient(180deg,#f8fcff,#fff); }
.service-number { color:#1689f6; font-weight:900; font-size:.78rem; letter-spacing:.16em; margin-bottom:32px; }
.service-card h3 { margin:0; font-size:1.32rem; line-height:1.2; }.service-card p{color:var(--slate);}.service-card ul{margin:20px 0 0;padding:0;list-style:none;}.service-card li{padding:7px 0 7px 18px;position:relative;color:#334a61}.service-card li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--blue)}.service-price{margin-top:22px;color:#0a6ecf;font-weight:850;}

.journey-grid { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid rgba(133,197,255,.22); border-radius:18px; overflow:hidden; }
.journey-step { min-height:260px; padding:28px 24px; border-right:1px solid rgba(133,197,255,.16); background:rgba(255,255,255,.035); }.journey-step:last-child{border-right:0}.journey-step b{color:#53b4ff;font-size:.78rem;letter-spacing:.16em}.journey-step h3{margin:56px 0 10px;font-size:1.35rem}.journey-step p{margin:0;color:#bcd1e5;font-size:.93rem;}

.split-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:76px; align-items:start; }
.proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.proof-card{padding:28px;border-radius:16px;background:#f7fbff;border:1px solid var(--line)}.proof-card strong{display:block;font-size:1.06rem;margin-bottom:8px}.proof-card span{color:var(--slate);font-size:.95rem}.text-link{font-weight:850;color:#0e75d7;text-decoration:none;display:inline-block;margin-top:24px}
.about-grid { display:grid; grid-template-columns:310px 1fr; gap:70px; align-items:center; }.about-mark{border-radius:30px;background:linear-gradient(145deg,#0b3f80,#06265a);padding:34px;box-shadow:var(--shadow)}.about-mark img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px}.about-copy h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:0 0 20px;letter-spacing:-.035em}.about-copy p:not(.eyebrow){color:var(--slate);font-size:1.05rem;}
.contact-section { background:#fff; padding-top:80px; }.contact-card{display:flex;justify-content:space-between;gap:50px;align-items:center;padding:46px;border-radius:24px;background:linear-gradient(120deg,#062d61,#031d43);color:#fff;box-shadow:0 30px 80px rgba(6,45,97,.2)}.contact-card h2{margin:0;font-size:clamp(2rem,3.8vw,3rem);letter-spacing:-.035em}.contact-card p:not(.eyebrow){color:#c3d8ea;max-width:700px}.contact-actions{display:flex;min-width:320px;flex-direction:column;gap:12px;align-items:stretch}.contact-email{text-align:center;color:#c5ddf2;text-decoration:none;font-size:.9rem}
.site-footer { background:#031a39;color:#cbdcec;padding:54px 0 24px; }.footer-grid{display:grid;grid-template-columns:280px 1fr 1fr;gap:50px;align-items:start}.footer-brand img{width:260px;filter:brightness(0) invert(1);opacity:.9}.footer-grid p{color:#8faac3;margin:8px 0}.footer-links{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.footer-links a{color:#a9c9e7;text-decoration:none}.footer-bottom{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#7f9ab5;font-size:.82rem}

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

@media (max-width: 980px) {
  .hero-grid,.split-grid,.about-grid{grid-template-columns:1fr}.hero-panel{min-height:430px}.services-grid{grid-template-columns:1fr 1fr}.journey-grid{grid-template-columns:1fr 1fr}.journey-step{border-bottom:1px solid rgba(133,197,255,.16)}.contact-card{align-items:flex-start;flex-direction:column}.contact-actions{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .nav-toggle{display:block}.site-nav{display:none;position:absolute;left:20px;right:20px;top:70px;flex-direction:column;align-items:stretch;background:#fff;padding:18px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.nav-cta{text-align:center}
}
@media (max-width: 650px) {
  .container{width:min(100% - 28px,var(--max))}.brand img{width:210px}.hero{padding:70px 0}.hero h1{font-size:3.25rem}.services-grid,.proof-grid,.journey-grid,.footer-grid{grid-template-columns:1fr}.journey-step{min-height:210px}.journey-step h3{margin-top:30px}.service-card{min-height:0}.section{padding:76px 0}.trust-items{justify-content:flex-start}.about-mark{max-width:320px}.contact-card{padding:30px 24px}.footer-brand{grid-column:auto}.hero-panel{padding-left:16px;padding-right:16px}
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none} }

/* v2 polish */
.site-header { box-shadow: 0 1px 0 rgba(8,47,98,.08); }
.nav-wrap { min-height: 82px; }
.brand img { width: 260px; max-height: 62px; object-fit: contain; object-position: left center; }
.hero { padding: 86px 0 82px; }
.hero-grid { gap: 86px; }
.hero-copy { max-width: 760px; }
.hero h1 { max-width: 760px; }
.hero-lead { line-height: 1.6; max-width: 700px; }
.hero-panel { min-height: 450px; }
.hero-actions .button { min-width: 0; }
.site-nav { gap: 28px; }
.site-nav a { font-size: .96rem; }
.nav-cta { padding: 12px 18px; }
.service-card { min-height: 350px; }
.contact-card { overflow: hidden; position: relative; }
.contact-card::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:-100px; top:-130px; background:radial-gradient(circle,rgba(47,155,255,.24),rgba(47,155,255,0) 70%); pointer-events:none; }
.footer-brand img { width: 280px; height: auto; filter: brightness(0) invert(1); }

@media (max-width: 980px) {
  .nav-wrap { min-height: 76px; }
  .brand img { width: 235px; max-height: 56px; }
  .hero { padding: 72px 0; }
  .hero-grid { gap: 46px; }
}

@media (max-width: 650px) {
  .nav-wrap { min-height: 70px; }
  .brand img { width: 205px; max-height: 50px; }
  .hero { padding: 58px 0 64px; }
  .hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); line-height: .98; }
  .hero-lead { margin-top: 22px; font-size: 1rem; }
  .hero-actions { margin-top: 26px; gap: 10px; }
  .hero-actions .button { width: 100%; }
  .hero-meta { line-height: 1.5; }
  .hero-panel { min-height: 400px; margin-top: 8px; }
  .trust-items { gap: 16px 24px; padding: 18px 0; }
  .section-heading { margin-bottom: 34px; }
  .section-heading h2 { font-size: 2.15rem; }
  .service-card { padding: 24px; }
  .contact-actions .button { width: 100%; }
  .footer-brand img { width: 230px; }
}

/* v3 consultation and contact options */
.contact-heading { margin-bottom: 36px; }
.contact-options { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:46px; }
.contact-option { padding:28px; border:1px solid var(--line); border-radius:18px; background:#f8fbff; }
.contact-option-number { display:block; color:#1689f6; font-size:.75rem; font-weight:900; letter-spacing:.16em; margin-bottom:24px; }
.contact-option h3 { margin:0 0 10px; font-size:1.25rem; }
.contact-option p { margin:0; color:var(--slate); line-height:1.65; }
.consultation-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:42px; align-items:start; padding:42px; border-radius:24px; background:linear-gradient(120deg,#062d61,#031d43); color:#fff; box-shadow:0 30px 80px rgba(6,45,97,.2); }
.consultation-copy { position:sticky; top:118px; }
.consultation-copy h2 { margin:0; font-size:clamp(2rem,3.8vw,3rem); letter-spacing:-.035em; }
.consultation-copy > p:not(.eyebrow) { color:#c3d8ea; line-height:1.7; }
.consultation-note { display:flex; flex-direction:column; gap:5px; margin-top:28px; padding:18px 20px; border:1px solid rgba(125,195,255,.2); border-radius:14px; background:rgba(255,255,255,.04); }
.consultation-note span { color:#bcd2e7; font-size:.92rem; }
.direct-contact { margin-top:24px; display:flex; flex-direction:column; gap:5px; }
.direct-contact span { color:#8fb2d2; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:800; }
.direct-contact a { color:#fff; text-decoration:none; font-weight:750; }
.lead-form { padding:28px; border-radius:18px; background:#fff; color:#14283d; box-shadow:0 20px 60px rgba(0,0,0,.14); }
.form-row { display:block; margin-bottom:18px; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lead-form label { display:flex; flex-direction:column; gap:7px; font-size:.88rem; font-weight:750; }
.lead-form input,.lead-form select,.lead-form textarea { width:100%; border:1px solid #cddbe8; border-radius:10px; padding:12px 13px; font:inherit; color:#183049; background:#fff; outline:none; }
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-color:#1689f6; box-shadow:0 0 0 3px rgba(22,137,246,.12); }
.lead-form textarea { resize:vertical; min-height:130px; }
.form-submit { border:0; cursor:pointer; width:100%; margin-top:4px; }
.form-privacy { margin:12px 0 0; color:#6a7f93; font-size:.78rem; line-height:1.5; }

@media (max-width: 980px) {
  .contact-options { grid-template-columns:1fr; }
  .consultation-grid { grid-template-columns:1fr; padding:32px; }
  .consultation-copy { position:static; }
}
@media (max-width: 650px) {
  .consultation-grid { padding:24px 18px; }
  .lead-form { padding:20px; }
  .two-col { grid-template-columns:1fr; gap:0; }
  .contact-option { padding:24px; }
}


/* v3.1 consultation form refinement */
.challenge-field {
  margin: 4px 0 22px;
  padding: 18px;
  border: 1px solid #d9e6f2;
  border-radius: 14px;
  background: #f7fbff;
}
.challenge-field label { gap: 8px; }
.challenge-field small {
  color: #6a7f93;
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.45;
}
.challenge-field textarea {
  display: block;
  width: 100%;
  min-height: 180px;
  line-height: 1.55;
  padding: 14px 15px;
}
@media (max-width: 650px) {
  .challenge-field { padding: 14px; margin-bottom: 18px; }
  .challenge-field textarea { min-height: 160px; }
}
