:root {
  --navy: #071d2d;
  --navy-2: #0c2c40;
  --blue: #174a7e;
  --teal: #2f5fa8;
  --gold: #6f8fc4;
  --cream: #f5f2ea;
  --white: #ffffff;
  --ink: #17242d;
  --muted: #65737d;
  --line: #dce3e6;
  --shadow: 0 24px 70px rgba(4, 31, 46, 0.14);
  --radius: 22px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  background: rgba(7, 29, 45, .87);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--white); font-weight: 700; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px;
  background: linear-gradient(135deg, var(--teal), var(--blue)); color: var(--white);
  box-shadow: 0 10px 26px rgba(47,95,168,.28);
}
.brand-text { font-size: 1.28rem; letter-spacing: -.03em; }
.brand-text span { color: var(--teal); }
.main-nav { display: flex; align-items: center; gap: 28px; color: rgba(255,255,255,.82); font-weight: 600; font-size: .95rem; }
.main-nav a:hover { color: var(--white); }
.nav-cta {
  color: var(--navy) !important; background: var(--white); padding: 11px 18px;
  border-radius: 999px;
}
.menu-toggle { display: none; background: none; border: 0; cursor: pointer; }
.menu-toggle span { display: block; width: 26px; height: 2px; background: white; margin: 5px 0; transition: .25s; }

.hero {
  min-height: 820px; padding: 170px 0 95px; position: relative; overflow: hidden;
  color: var(--white); background:
    radial-gradient(circle at 73% 18%, rgba(47,95,168,.22), transparent 32%),
    linear-gradient(135deg, #061825 0%, #0d2947 65%, #12395f 100%);
}
.hero::after {
  content:""; position:absolute; inset:auto -10% -220px -10%; height:390px;
  background: var(--white); border-radius: 50% 50% 0 0 / 14% 14% 0 0;
}
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.12fr .88fr; gap: 72px; align-items: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 9px; text-transform: uppercase; letter-spacing: .14em;
  font-size: .77rem; font-weight: 700; color: #9fb9e3; margin-bottom: 22px;
}
.eyebrow::before { content:""; width: 28px; height: 2px; background: currentColor; }
.eyebrow.dark { color: var(--blue); }
.hero h1, .section h2 { font-family: "Manrope", sans-serif; letter-spacing: -.035em; line-height: 1.08; }
.hero h1 { font-size: clamp(3.1rem, 6vw, 5.75rem); max-width: 760px; }
.hero h1 span { color: #9fb9e3; }
.hero-copy > p { color: rgba(255,255,255,.76); max-width: 680px; font-size: 1.15rem; margin: 27px 0 34px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn {
  min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; font-weight: 700; border: 1px solid transparent; transition: .25s;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--teal), #244f8f); color: white; box-shadow: 0 16px 36px rgba(47,95,168,.28); }
.btn-secondary { border-color: rgba(255,255,255,.28); color: white; background: rgba(255,255,255,.05); }
.btn-light { background: var(--white); color: var(--navy); }
.btn.full { width: 100%; border: 0; cursor: pointer; }
.hero-trust { margin-top: 48px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hero-trust div { padding-left: 16px; border-left: 2px solid rgba(133,224,215,.35); }
.hero-trust strong, .hero-trust span { display:block; }
.hero-trust strong { font-size:.92rem; }
.hero-trust span { color:rgba(255,255,255,.58); font-size:.76rem; margin-top:3px; }

.hero-card {
  background: rgba(255,255,255,.96); color: var(--ink); border-radius: 30px; padding: 28px;
  box-shadow: 0 35px 100px rgba(0,0,0,.28); transform: rotate(1.2deg);
  border: 1px solid rgba(255,255,255,.4);
}
.hero-card-top { display:flex; justify-content:space-between; align-items:center; font-weight:700; }
.status-pill { padding: 7px 11px; border-radius:999px; background:#e5edf9; color:#174a7e; font-size:.74rem; }
.score-ring {
  width: 210px; height: 210px; border-radius:50%; margin:30px auto;
  display:grid; place-items:center; background:
  radial-gradient(circle at center, white 61%, transparent 62%),
  conic-gradient(var(--teal) 0 78%, #dbe8e9 78% 100%);
}
.score-ring div { text-align:center; }
.score-ring small, .score-ring strong { display:block; }
.score-ring small { color:var(--muted); }
.score-ring strong { font-family:"Manrope",sans-serif; font-size:2.15rem; color:var(--navy); }
.mini-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mini-stats div { background:#f3f7f7; border-radius:14px; padding:14px 10px; text-align:center; }
.mini-stats span,.mini-stats strong { display:block; }
.mini-stats span { font-size:.7rem; color:var(--muted); }
.mini-stats strong { font-size:.82rem; margin-top:2px; }
.growth-line { margin-top:24px; padding:16px; border-radius:16px; background:var(--navy); color:#8faee0; }
.line-label { color:white; font-size:.75rem; font-weight:600; }
.growth-line svg { width:100%; height:72px; display:block; }

.logo-strip { position:relative; z-index:3; padding:12px 0 55px; text-align:center; }
.logo-strip p { color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin-bottom:25px; }
.strip-items { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 36px; color:#7b878e; font-weight:700; }

.section { padding: 110px 0; }
.section-heading { max-width:740px; margin:0 auto 55px; text-align:center; }
.section-heading.left { margin:0; text-align:left; }
.section h2 { font-size:clamp(2.35rem,4vw,4rem); color:var(--navy); }
.section-heading p { margin-top:20px; color:var(--muted); font-size:1.05rem; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.service-card {
  border:1px solid var(--line); border-radius:var(--radius); padding:36px; background:white;
  transition:.3s; position:relative; overflow:hidden;
}
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.service-card.featured { background:var(--navy); color:white; border-color:var(--navy); }
.service-icon { width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e7edf7;color:#174a7e;font-weight:800;margin-bottom:24px; }
.featured .service-icon { background:rgba(255,255,255,.12); color:#9fb9e3; }
.service-card h3 { font-family:"Manrope",sans-serif; font-size:1.7rem; margin-bottom:12px; }
.service-card p { color:var(--muted); }
.featured p { color:rgba(255,255,255,.68); }
.service-card ul { list-style:none; margin:22px 0; display:grid; gap:8px; }
.service-card li::before { content:"✓"; color:var(--teal); font-weight:900; margin-right:9px; }
.service-card a { color:var(--blue); font-weight:700; }
.featured a { color:#9fb9e3; }

.process { background:var(--navy); color:white; }
.process-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.process h2 { color:white; }
.process-copy > p { color:rgba(255,255,255,.67); font-size:1.05rem; margin:22px 0 32px; }
.steps { display:grid; gap:15px; }
.step { display:grid; grid-template-columns:58px 1fr; gap:20px; padding:25px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); }
.step > span { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--teal);font-weight:800; }
.step h3 { font-size:1.1rem; margin-bottom:5px; }
.step p { color:rgba(255,255,255,.62); font-size:.93rem; }

.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-panel { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.metric-card { grid-column:1/-1; min-height:310px; border-radius:26px; padding:38px; background:linear-gradient(145deg,#e5edf9,#f4f7ed); display:flex; flex-direction:column; justify-content:flex-end; }
.metric-card span { text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--blue); }
.metric-card strong { font-family:"Manrope",sans-serif;font-size:2.4rem;line-height:1.1;margin:11px 0; }
.metric-card p { color:var(--muted); }
.metric-small { border-radius:20px;padding:26px;background:var(--cream); }
.metric-small strong,.metric-small span { display:block; }
.metric-small strong { font-size:2rem;color:var(--blue); }
.metric-small span { color:var(--muted);font-size:.86rem; }
.about-copy > p { color:var(--muted);font-size:1.05rem;margin:22px 0 28px; }
.check-list { display:grid;gap:18px; }
.check-list > div { display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start; }
.check-list > div > span { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e7edf7;color:#174a7e;font-weight:900; }
.check-list p { color:var(--muted); }
.check-list strong { color:var(--ink); }

.faq { background:#f6f8f8; }
.faq-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start; }
.accordion { display:grid;gap:12px; }
.faq-item { background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden; }
.faq-item button { width:100%;border:0;background:white;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;text-align:left;font-weight:700;cursor:pointer;color:var(--ink); }
.faq-item button span { font-size:1.4rem;color:var(--blue);transition:.2s; }
.faq-item.open button span { transform:rotate(45deg); }
.faq-answer { max-height:0;overflow:hidden;transition:max-height .28s ease; }
.faq-answer p { padding:0 24px 22px;color:var(--muted); }

.contact { background:linear-gradient(135deg,#071d2d,#102f52);color:white; }
.contact-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center; }
.contact h2 { color:white; }
.contact-copy > p { color:rgba(255,255,255,.66);font-size:1.05rem;margin:22px 0 30px; }
.contact-points { display:grid;gap:16px; }
.contact-points > div { display:grid;grid-template-columns:42px 1fr;gap:14px; }
.contact-points span { width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#9fb9e3;font-weight:700; }
.contact-points p { color:rgba(255,255,255,.65); }
.contact-points strong { color:white; }
.consult-form { background:white;color:var(--ink);border-radius:26px;padding:32px;box-shadow:0 30px 70px rgba(0,0,0,.25); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.consult-form label { display:grid;gap:7px;font-weight:700;font-size:.86rem;margin-bottom:15px; }
.consult-form input,.consult-form select,.consult-form textarea { width:100%;border:1px solid #cfdadd;border-radius:11px;padding:13px 14px;outline:none;background:white;color:var(--ink); }
.consult-form input:focus,.consult-form select:focus,.consult-form textarea:focus { border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,95,168,.12); }
.consult-form textarea { resize:vertical; }
.consult-form .consent { display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500;color:var(--muted); }
.consent input { width:18px;height:18px;margin-top:3px; }
.form-note { text-align:center;color:var(--muted);font-size:.74rem;margin-top:12px; }

.disclaimer { padding:35px 0;background:#eef2f2;border-top:1px solid #dae1e2; }
.disclaimer h2 { font-family:"DM Sans",sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px; }
.disclaimer p { font-size:.76rem;color:#6f7b82; }

.site-footer { background:#04131e;color:white;padding:65px 0 24px; }
.footer-grid { display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:50px;padding-bottom:48px; }
.footer-brand { margin-bottom:18px; }
.footer-grid > div:first-child p { color:rgba(255,255,255,.53);max-width:330px; }
.footer-grid h3 { font-size:.9rem;margin-bottom:14px; }
.footer-grid > div:not(:first-child) { display:flex;flex-direction:column;gap:9px; }
.footer-grid a:not(.brand) { color:rgba(255,255,255,.56);font-size:.86rem; }
.footer-grid a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:.78rem; }

@media (max-width: 920px) {
  .menu-toggle { display:block; position:relative;z-index:1002; }
  .main-nav {
    position:fixed;inset:0;background:var(--navy);display:flex;flex-direction:column;justify-content:center;
    font-size:1.25rem;transform:translateX(100%);transition:.3s;z-index:1001;
  }
  .main-nav.open { transform:translateX(0); }
  .hero { padding-top:140px; }
  .hero-grid,.process-grid,.about-grid,.faq-grid,.contact-grid { grid-template-columns:1fr; }
  .hero-grid { gap:50px; }
  .hero-card { max-width:600px;margin:auto; }
  .process-grid,.about-grid,.faq-grid,.contact-grid { gap:50px; }
  .section-heading.left { max-width:700px; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2; }
}
@media (max-width: 650px) {
  .container { width:min(100% - 28px,1180px); }
  .hero { min-height:auto;padding:125px 0 90px; }
  .hero::after { display:none; }
  .hero h1 { font-size:clamp(2.65rem,14vw,4rem); }
  .hero-copy > p { font-size:1rem; }
  .hero-actions .btn { width:100%; }
  .hero-trust { grid-template-columns:1fr; }
  .hero-card { padding:20px;transform:none; }
  .score-ring { width:180px;height:180px; }
  .mini-stats { grid-template-columns:1fr; }
  .logo-strip { padding:45px 0; }
  .strip-items { flex-direction:column;gap:10px; }
  .section { padding:78px 0; }
  .service-grid,.about-panel,.form-row { grid-template-columns:1fr; }
  .service-card { padding:27px; }
  .metric-card { min-height:260px;padding:28px; }
  .metric-small { grid-column:1/-1; }
  .step { grid-template-columns:46px 1fr;padding:20px;gap:14px; }
  .step > span { width:42px;height:42px; }
  .consult-form { padding:22px; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:38px 24px; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column;gap:7px; }
}
