:root{
  --navy:#0B1220; --navy-2:#0F1B33; --navy-3:#13224A;
  --blue:#2F6FED; --blue-deep:#1C4FC0; --blue-bright:#5B9CFF; --blue-soft:#DEE8FC; --blue-mist:#F2F6FD;
  --bg:#FFFFFF; --bg-soft:#F6F8FC;
  --ink:#0B1220; --ink-soft:#4C5668; --ink-faint:#8992A3;
  --ink-on-dark:#F4F7FF; --ink-on-dark-soft:#AEB9D6; --ink-on-dark-faint:#6E7AA0;
  --rule:#E6EBF4; --rule-dark:#1D2A4D;
  --radius:18px;
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 28px}
section{position:relative}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:7px 16px; border-radius:999px;
}
.eyebrow.on-dark{background:rgba(91,156,255,.12); color:var(--blue-bright); border:1px solid rgba(91,156,255,.28)}
.eyebrow.on-light{background:var(--blue-soft); color:var(--blue-deep)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.88); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.nav .container{display:flex; align-items:center; justify-content:space-between; height:76px}
.logo{display:flex; align-items:center; gap:9px; font-weight:800; font-size:1.18rem; letter-spacing:-.01em}
.logo .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--blue-deep));display:flex;align-items:center;justify-content:center}
.logo .mark svg{width:16px;height:16px}
.navlinks{display:flex; gap:32px; font-size:.93rem; font-weight:600; color:var(--ink-soft)}
.navlinks a:hover{color:var(--ink)}
.navlinks a.active{color:var(--blue-deep)}
.navcta{display:flex;align-items:center;gap:18px}
.navcta .tel{font-size:.86rem;color:var(--ink-faint);font-weight:600;display:none}
@media(min-width:900px){.navcta .tel{display:block}}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; border-radius:11px; font-weight:700; font-size:.92rem;
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
}
.btn.solid{background:var(--blue); color:#fff; box-shadow:0 10px 24px -10px rgba(47,111,237,.55)}
.btn.solid:hover{background:var(--blue-deep)}
.btn.outline-dark{border-color:rgba(255,255,255,.3); color:var(--ink-on-dark)}
.btn.outline-dark:hover{border-color:rgba(255,255,255,.6)}
.btn.outline-light{border-color:var(--rule); color:var(--ink)}
.btn.sm{padding:10px 18px;font-size:.84rem}

/* ---------- HERO (home, dark, atmospheric, centered) ---------- */
.hero{
  background:
    radial-gradient(900px 500px at 50% -10%, rgba(47,111,237,.35), transparent 60%),
    radial-gradient(600px 400px at 85% 15%, rgba(91,156,255,.18), transparent 60%),
    radial-gradient(700px 500px at 10% 90%, rgba(28,79,192,.25), transparent 60%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy) 100%);
  color:var(--ink-on-dark);
  padding:108px 0 0;
  overflow:hidden;
}
.hero .container{position:relative; text-align:center; display:flex; flex-direction:column; align-items:center}
.hero h1{
  font-size:clamp(2.4rem,5vw,3.6rem); line-height:1.08; letter-spacing:-.02em; font-weight:800;
  margin:26px 0 20px; max-width:820px;
}
.hero .lede{
  font-size:1.14rem; line-height:1.6; color:var(--ink-on-dark-soft); max-width:600px; margin:0 0 34px;
}
.hero .actions{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:64px}
.strip{
  width:100%; border-top:1px solid var(--rule-dark);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.strip .item{
  padding:22px 10px; text-align:center; border-left:1px solid var(--rule-dark);
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.strip .item:first-child{border-left:none}
.strip .item svg{width:20px;height:20px;color:var(--blue-bright)}
.strip .item span{font-size:.84rem; font-weight:700; color:var(--ink-on-dark-soft)}
@media(max-width:760px){.strip{grid-template-columns:repeat(2,1fr)}.strip .item:nth-child(3){border-left:none}}

/* ---------- PAGE HERO (sub-pages, dark, left-aligned, shorter) ---------- */
.pagehero{
  background:
    radial-gradient(700px 420px at 15% 0%, rgba(47,111,237,.3), transparent 60%),
    radial-gradient(500px 360px at 90% 30%, rgba(91,156,255,.16), transparent 60%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color:var(--ink-on-dark);
  padding:76px 0 64px;
}
.pagehero h1{font-size:clamp(2rem,4vw,2.9rem); letter-spacing:-.015em; line-height:1.12; margin:18px 0 14px; max-width:640px}
.pagehero p{font-size:1.04rem; color:var(--ink-on-dark-soft); max-width:560px; line-height:1.6; margin:0}

/* ---------- STAT + PANEL ---------- */
.statpanel{background:var(--bg-soft); padding:88px 0}
.statpanel .grid2{display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center}
@media(max-width:900px){.statpanel .grid2{grid-template-columns:1fr}}
.statpanel h2{font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.2; letter-spacing:-.01em; margin:16px 0 16px}
.statpanel p.body{color:var(--ink-soft); font-size:1.02rem; line-height:1.65; max-width:480px; margin:0 0 32px}
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.stats .s b{display:block; font-size:1.7rem; font-weight:800; color:var(--blue-deep); letter-spacing:-.01em}
.stats .s span{font-size:.78rem; color:var(--ink-faint); font-weight:600}
@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr)}}

.photo{
  position:relative; border-radius:22px; overflow:hidden; aspect-ratio:4/4.6;
  background:
    linear-gradient(180deg, rgba(11,18,32,0) 40%, rgba(11,18,32,.92) 100%),
    linear-gradient(200deg,#2A4D8F 0%, #142A5C 45%, #0B1220 100%);
}
.photo .skyline{position:absolute; left:0; right:0; bottom:120px; height:52%; opacity:.9}
.photo .skyline svg{width:100%;height:100%}
.photo .glint{position:absolute; inset:0; background:radial-gradient(420px 260px at 75% 18%, rgba(91,156,255,.4), transparent 60%)}
.photo .overlay-cards{
  position:absolute; left:14px; right:14px; bottom:14px;
  display:grid; grid-template-columns:repeat(2,1fr); gap:10px;
}
.ocard{
  background:rgba(255,255,255,.1); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.18); border-radius:13px;
  padding:14px 14px; display:flex; flex-direction:column; gap:8px;
}
.ocard svg{width:18px;height:18px;color:#fff}
.ocard span{font-size:.8rem;font-weight:700;color:#fff}

/* ---------- SECTION HEADS ---------- */
.shead{max-width:640px; margin:0 auto 52px; text-align:center}
.shead.left{margin:0 0 44px; text-align:left}
.shead h2{font-size:clamp(1.8rem,3.2vw,2.5rem); letter-spacing:-.015em; line-height:1.18; margin:16px 0 14px}
.shead p{color:var(--ink-soft); font-size:1.02rem; line-height:1.6}

/* ---------- SERVICES ---------- */
.services{padding:100px 0 90px}
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
@media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}
.svc{
  background:#fff; border:1px solid var(--rule); border-radius:var(--radius);
  padding:30px 26px; display:flex; flex-direction:column; gap:14px;
  transition:border-color .15s, transform .15s;
}
.svc:hover{border-color:var(--blue-soft); transform:translateY(-3px)}
.svc .ic{
  width:48px; height:48px; border-radius:12px; background:var(--blue-mist);
  display:flex; align-items:center; justify-content:center;
}
.svc .ic svg{width:24px;height:24px;color:var(--blue-deep)}
.svc h3{font-size:1.1rem; margin:2px 0 0; letter-spacing:-.01em}
.svc p{font-size:.92rem; line-height:1.6; color:var(--ink-soft); margin:0}
.tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px}
.tag{font-size:.73rem; font-weight:700; color:var(--blue-deep); background:var(--blue-soft); padding:5px 10px; border-radius:999px}
.svc .rd{font-size:.82rem; font-weight:700; color:var(--blue-deep); margin-top:6px}

/* ---------- PROCESS ---------- */
.process{background:var(--bg-soft); padding:96px 0}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:#fff; border:1px solid var(--rule); border-radius:var(--radius); padding:26px 22px}
.step .num{
  width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;margin-bottom:16px;
}
.step .when{font-size:.74rem; font-weight:700; color:var(--blue-deep); text-transform:uppercase; letter-spacing:.06em}
.step h3{font-size:1.02rem; margin:8px 0 8px}
.step p{font-size:.88rem; color:var(--ink-soft); line-height:1.55; margin:0}

/* ---------- INDUSTRIES ---------- */
.industries{padding:90px 0}
.ind-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px}
@media(max-width:900px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
.ind{
  border:1px solid var(--rule); border-radius:14px; padding:20px 14px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.ind svg{width:22px;height:22px;color:var(--blue-deep)}
.ind span{font-size:.82rem; font-weight:700; line-height:1.3}

.ind-detail-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
@media(max-width:760px){.ind-detail-grid{grid-template-columns:1fr}}
.ind-detail{border:1px solid var(--rule); border-radius:var(--radius); padding:28px; display:flex; gap:18px}
.ind-detail .ic{width:46px;height:46px;border-radius:12px;background:var(--blue-mist);display:flex;align-items:center;justify-content:center;flex:none}
.ind-detail .ic svg{width:22px;height:22px;color:var(--blue-deep)}
.ind-detail h3{font-size:1.05rem;margin:0 0 8px}
.ind-detail p{font-size:.88rem;color:var(--ink-soft);line-height:1.6;margin:0}

/* ---------- USE CASES ---------- */
.usecases{background:var(--bg-soft); padding:96px 0}
.uc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
@media(max-width:900px){.uc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.uc-grid{grid-template-columns:1fr}}
.uc{background:#fff; border:1px solid var(--rule); border-radius:14px; padding:20px 18px; display:flex; flex-direction:column; gap:8px}
.uc .n{font-size:.74rem; font-weight:800; color:var(--blue-deep); letter-spacing:.04em}
.uc h4{font-size:.95rem; margin:0; letter-spacing:-.005em}
.uc p{font-size:.82rem; color:var(--ink-soft); line-height:1.55; margin:0}
.usecases .note{max-width:720px; margin:40px auto 0; text-align:center; font-size:.88rem; color:var(--ink-faint); line-height:1.6}

/* ---------- OUTCOMES ---------- */
.outcomes{padding:90px 0}
.out-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
@media(max-width:760px){.out-grid{grid-template-columns:repeat(2,1fr)}}
.out{border-left:3px solid var(--blue); padding-left:18px}
.out b{display:block; font-size:2rem; font-weight:800; letter-spacing:-.01em; color:var(--ink)}
.out span{font-size:.86rem; color:var(--ink-soft); line-height:1.5; display:block; margin-top:4px}

/* ---------- TOOLS / PLATFORMS ---------- */
.tools{background:var(--bg-soft); padding:96px 0}
.tool-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media(max-width:860px){.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tool-grid{grid-template-columns:1fr}}
.tgroup{background:#fff; border:1px solid var(--rule); border-radius:16px; padding:24px}
.tgroup h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin:0 0 14px}
.tgroup ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.tgroup li{font-size:.9rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:9px}
.tgroup li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--blue)}
.tools .note{max-width:680px; margin:36px auto 0; text-align:center; font-size:.9rem; color:var(--ink-soft); line-height:1.65}

/* ---------- RESOURCES / INSIGHTS ---------- */
.resources{padding:96px 0}
.res-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
@media(max-width:860px){.res-grid{grid-template-columns:1fr}}
.res{border:1px solid var(--rule); border-radius:16px; padding:26px; display:flex; flex-direction:column; gap:12px}
.res .kicker{font-size:.72rem; font-weight:800; color:var(--blue-deep); text-transform:uppercase; letter-spacing:.06em}
.res h3{font-size:1.02rem; margin:0; line-height:1.4}
.res p{font-size:.86rem; color:var(--ink-soft); line-height:1.6; margin:0}
.res .rd{font-size:.8rem; font-weight:700; color:var(--blue-deep); margin-top:4px}
.res .meta{font-size:.76rem;color:var(--ink-faint);font-weight:600}

/* ---------- COMPARISON ---------- */
.compare{background:var(--bg-soft); padding:96px 0}
.ctable{width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--rule); border-radius:var(--radius); overflow:hidden}
.ctable th,.ctable td{padding:18px 20px; text-align:left; font-size:.9rem; border-bottom:1px solid var(--rule)}
.ctable tr:last-child td{border-bottom:none}
.ctable th{background:var(--bg-soft); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint)}
.ctable th.hi,.ctable td.hi{background:var(--blue-mist)}
.ctable td.hi{font-weight:700; color:var(--blue-deep)}
.ctable td:first-child,.ctable th:first-child{color:var(--ink-soft); font-weight:600}
.scrollwrap{overflow-x:auto; -webkit-overflow-scrolling:touch}
@media(max-width:700px){.ctable{min-width:640px}}

/* ---------- GOVERNANCE ---------- */
.gov{padding:96px 0}
.gov-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media(max-width:900px){.gov-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gov-grid{grid-template-columns:1fr}}
.gcard{border:1px solid var(--rule); border-radius:16px; padding:24px; background:#fff}
.gcard h3{font-size:.98rem; margin:0 0 8px; display:flex; align-items:center; gap:10px}
.gcard h3 svg{width:18px;height:18px;color:var(--blue-deep)}
.gcard p{font-size:.86rem; color:var(--ink-soft); line-height:1.6; margin:0}

/* ---------- PRICING (monthly plans band) ---------- */
.pricing{background:var(--navy); color:var(--ink-on-dark); padding:100px 0}
.pricing .shead h2,.pricing .shead{color:var(--ink-on-dark)}
.pricing .shead p{color:var(--ink-on-dark-soft)}
.ptable{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
@media(max-width:900px){.ptable{grid-template-columns:1fr; max-width:420px; margin:0 auto}}
.plan{
  background:var(--navy-2); border:1px solid var(--rule-dark); border-radius:20px; padding:30px 26px;
  display:flex; flex-direction:column; gap:18px;
}
.plan.feat{border-color:var(--blue); box-shadow:0 0 0 1px var(--blue), 0 30px 60px -20px rgba(47,111,237,.4); position:relative}
.plan .pill{align-self:flex-start; background:var(--blue); color:#fff; font-size:.7rem; font-weight:800; padding:5px 11px; border-radius:999px; letter-spacing:.04em}
.plan h3{font-size:1.1rem; margin:0}
.plan .price{font-size:2rem; font-weight:800; letter-spacing:-.01em}
.plan .price small{font-size:.9rem; font-weight:600; color:var(--ink-on-dark-faint)}
.plan .cap{font-size:.82rem; color:var(--ink-on-dark-soft); margin-top:-10px}
.plan ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px}
.plan li{font-size:.86rem; color:var(--ink-on-dark-soft); display:flex; gap:10px; align-items:flex-start}
.plan li svg{width:16px;height:16px;color:var(--blue-bright); flex:none; margin-top:2px}
.plan .btn{margin-top:4px}

/* ---------- CATALOG (pricing page product list) ---------- */
.catnav{position:sticky; top:76px; z-index:40; background:#fff; border-bottom:1px solid var(--rule); overflow-x:auto}
.catnav .container{display:flex; gap:8px; padding-top:14px; padding-bottom:14px; white-space:nowrap}
.catnav a{font-size:.82rem; font-weight:700; color:var(--ink-soft); background:var(--bg-soft); padding:8px 15px; border-radius:999px}
.catnav a:hover{color:var(--blue-deep); background:var(--blue-mist)}
.catalog{padding:70px 0 20px}
.catblock{padding:50px 0; border-top:1px solid var(--rule)}
.catblock:first-child{border-top:none}
.cathead{display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:28px; flex-wrap:wrap}
.cathead h2{font-size:1.5rem; letter-spacing:-.01em; margin:0}
.cathead p{font-size:.88rem; color:var(--ink-faint); margin:4px 0 0; max-width:560px}
.prod-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
@media(max-width:900px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.prod-grid{grid-template-columns:1fr}}
.prod{border:1px solid var(--rule); border-radius:16px; padding:22px 20px; display:flex; flex-direction:column; gap:10px; background:#fff}
.prod .ptag{font-size:.68rem; font-weight:800; color:var(--blue-deep); background:var(--blue-mist); align-self:flex-start; padding:4px 10px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em}
.prod h3{font-size:.98rem; margin:0; letter-spacing:-.005em}
.prod p{font-size:.84rem; color:var(--ink-soft); line-height:1.55; margin:0; flex:1}
.prod .pfoot{display:flex; align-items:center; justify-content:space-between; margin-top:4px; padding-top:12px; border-top:1px solid var(--rule)}
.prod .pprice{font-size:1.02rem; font-weight:800; color:var(--ink)}
.prod .pprice small{font-size:.74rem; font-weight:600; color:var(--ink-faint)}
.prod .pcta{font-size:.78rem; font-weight:700; color:var(--blue-deep)}
.catsummary{display:flex; gap:28px; flex-wrap:wrap; padding:30px 0 50px}
.catsummary .cs b{display:block;font-size:1.5rem;font-weight:800;color:var(--blue-deep)}
.catsummary .cs span{font-size:.8rem;color:var(--ink-faint);font-weight:600}

/* ---------- FAQ ---------- */
.faq{padding:96px 0}
.faq-list{max-width:800px; margin:0 auto; border-top:1px solid var(--rule)}
.qa{border-bottom:1px solid var(--rule); padding:24px 4px}
.qa summary{font-weight:700; font-size:1rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px}
.qa summary::-webkit-details-marker{display:none}
.qa summary .chev{width:18px;height:18px;color:var(--ink-faint); transition:transform .15s; flex:none}
.qa[open] summary .chev{transform:rotate(45deg)}
.qa p{font-size:.92rem; color:var(--ink-soft); line-height:1.65; margin:14px 0 0; max-width:680px}

/* ---------- ABOUT / LEGAL ---------- */
.about{background:var(--bg-soft); padding:96px 0}
.about .grid2{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start}
@media(max-width:860px){.about .grid2{grid-template-columns:1fr}}
.about h2{font-size:clamp(1.6rem,2.8vw,2.1rem); letter-spacing:-.01em; margin:0 0 18px}
.about p{color:var(--ink-soft); font-size:.98rem; line-height:1.7; margin:0 0 16px}
.legal{background:#fff; border:1px solid var(--rule); border-radius:16px; padding:26px 26px}
.legal h4{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin:0 0 12px}
.legal .name{font-weight:800; font-size:1.05rem; margin-bottom:14px}
.legal p{font-size:.85rem; color:var(--ink-soft); line-height:1.65; margin:0}

.values{padding:96px 0}
.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
@media(max-width:860px){.values-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.values-grid{grid-template-columns:1fr}}
.value{text-align:center; padding:10px}
.value .ic{width:52px;height:52px;border-radius:50%;background:var(--blue-mist);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.value .ic svg{width:24px;height:24px;color:var(--blue-deep)}
.value h3{font-size:1rem;margin:0 0 8px}
.value p{font-size:.86rem;color:var(--ink-soft);line-height:1.55;margin:0}

.timeline{max-width:680px; margin:0 auto; position:relative; padding-left:30px; border-left:2px solid var(--rule)}
.tl-item{position:relative; padding-bottom:36px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-37px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--blue);border:3px solid var(--blue-soft)}
.tl-item b{display:block;font-size:.95rem;margin-bottom:4px}
.tl-item span{font-size:.84rem;color:var(--ink-soft);line-height:1.6}

/* ---------- FINAL CTA ---------- */
.finalcta{
  background:linear-gradient(135deg,var(--blue-deep),var(--blue));
  color:#fff; padding:90px 0; text-align:center; border-radius:28px;
  margin:0 28px 0; max-width:1124px; margin-left:auto; margin-right:auto;
}
.finalcta h2{font-size:clamp(1.9rem,3.4vw,2.6rem); letter-spacing:-.015em; margin:0 0 16px}
.finalcta p{font-size:1.02rem; color:rgba(255,255,255,.85); max-width:520px; margin:0 auto 32px}
.finalcta .actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:44px}
.finalcta .vp{display:flex; flex-wrap:wrap; justify-content:center; gap:28px}
.finalcta .vp span{font-size:.86rem; font-weight:700; color:rgba(255,255,255,.92); display:flex; gap:8px; align-items:center}
.finalcta .vp svg{width:16px;height:16px}
.ctawrap{padding:90px 0 20px}

/* ---------- CONTACT PAGE ---------- */
.contactgrid{display:grid; grid-template-columns:1fr 1.1fr; gap:50px; padding:90px 0}
@media(max-width:900px){.contactgrid{grid-template-columns:1fr}}
.cinfo-card{display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--rule)}
.cinfo-card:last-child{border-bottom:none}
.cinfo-card .ic{width:42px;height:42px;border-radius:11px;background:var(--blue-mist);display:flex;align-items:center;justify-content:center;flex:none}
.cinfo-card .ic svg{width:20px;height:20px;color:var(--blue-deep)}
.cinfo-card b{display:block;font-size:.92rem;margin-bottom:3px}
.cinfo-card span{font-size:.86rem;color:var(--ink-soft)}
.form-card{background:var(--bg-soft); border:1px solid var(--rule); border-radius:22px; padding:34px}
.field{display:flex; flex-direction:column; gap:7px; margin-bottom:18px}
.field label{font-size:.82rem; font-weight:700; color:var(--ink-soft)}
.field input,.field select,.field textarea{
  font-family:inherit; font-size:.92rem; padding:12px 14px; border-radius:10px;
  border:1.5px solid var(--rule); background:#fff; color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--blue)}
.form-note{font-size:.82rem; color:var(--ink-faint); margin-top:14px}

/* ---------- FOOTER ---------- */
footer{padding:90px 0 40px}
.fgrid{display:grid; grid-template-columns:1.2fr repeat(4,1fr); gap:40px; padding-bottom:50px; border-bottom:1px solid var(--rule)}
@media(max-width:760px){.fgrid{grid-template-columns:repeat(2,1fr)}}
.fgrid h5{font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin:0 0 16px}
.fgrid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px}
.fgrid a{font-size:.9rem; color:var(--ink-soft)}
.fgrid a:hover{color:var(--ink)}
.fbottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-top:28px; font-size:.82rem; color:var(--ink-faint)}
.fbottom .flinks{display:flex; gap:22px}
