:root{
  --navy:#0A2A5E;
  --navy-deep:#061A3D;
  --navy-ink:#0B1F44;
  --accent:#2E7BB8;         /* refreshed cyan - muted, institutional */
  --accent-soft:#E7F0F8;
  --paper:#FFFFFF;          /* pure white */
  --paper-2:#F4F6F9;        /* cool light gray band */
  --card:#FFFFFF;
  --ink:#0B1220;
  --ink-2:#3A4356;
  --ink-3:#6A7484;
  --hair:#E4E8EE;
  --hair-2:#EEF1F5;
  --focus:#2E7BB8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',ui-sans-serif,system-ui,sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.55;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ---------- typography ---------- */
.serif{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-0.01em}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.eyebrow{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink-3);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:24px;height:1px;
  background:currentColor;
  opacity:.55;
}
h1,h2,h3,h4{font-family:'Instrument Serif',serif;font-weight:400;line-height:1.05;letter-spacing:-0.015em;color:var(--navy-ink)}
h1{font-size:clamp(48px,6.2vw,96px)}
h2{font-size:clamp(36px,4.4vw,64px)}
h3{font-size:clamp(24px,2.4vw,32px)}
p{color:var(--ink-2)}

/* ---------- layout ---------- */
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
@media (max-width:720px){.wrap{padding:0 22px}}
.divider{height:1px;background:var(--hair);width:100%}

/* ---------- utility bar ---------- */
.utility{
  background:var(--navy-deep);
  color:#CFD7E3;
  font-size:12.5px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.utility-left{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.utility a{display:inline-flex;gap:8px;align-items:center;color:#CFD7E3;transition:color .2s}
.utility a:hover{color:#fff}
.utility-right{display:flex;gap:14px;align-items:center}
.lang-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.15);border-radius:999px;overflow:hidden;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em}
.lang-toggle a{padding:5px 12px;color:#CFD7E3}
.lang-toggle a.on{background:#fff;color:var(--navy-deep)}
.icon{width:14px;height:14px;flex-shrink:0}

/* ---------- header ---------- */
header.site{
  background:var(--paper);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--hair);
  transition:box-shadow .3s,background .3s,border-color .3s,top .3s;
}
header.site.scrolled{box-shadow:0 4px 24px rgba(11,31,68,.06)}
.hdr{
  display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:32px;
  transition:padding .3s,background .3s,box-shadow .3s,border-color .3s;
  border:1px solid transparent;border-radius:0;
}

/* Once the utility bar has scrolled away the header detaches and rides above
   the page as a floating bar. `.floating` is set from JS past a threshold. */
header.site.floating{
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  top:12px;
}
header.site.floating .hdr{
  padding:9px 22px;
  background:rgba(255,253,247,.88);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
  border-color:var(--hair);
  border-radius:16px;
  box-shadow:0 14px 38px -14px rgba(11,31,68,.28);
}
header.site.floating .brand-mark{height:42px}
@media (max-width:900px){
  header.site.floating{top:8px}
  header.site.floating .hdr{padding:8px 16px;border-radius:14px}
}
@media (prefers-reduced-motion:reduce){
  header.site,.hdr{transition:none}
}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand-mark{height:52px;width:auto;display:block;flex-shrink:0;transition:height .3s}
nav.primary{display:flex;gap:2px;align-items:center;flex-wrap:nowrap}
nav.primary a{
  padding:8px 12px;
  font-size:14px;
  font-weight:500;
  color:var(--navy-ink);
  border-radius:6px;
  position:relative;
  transition:color .2s;
  white-space:nowrap;
}
nav.primary a:hover{color:var(--accent)}
nav.primary a.active{color:var(--accent)}
nav.primary a.active::after{
  content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:var(--accent);
}
.hdr-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--navy);color:#fff;border-radius:999px;font-size:13.5px;font-weight:500;transition:background .2s;flex-shrink:0;white-space:nowrap}
.hdr-cta:hover{background:var(--navy-deep)}
.hdr-cta .arr{width:14px;height:14px;transition:transform .2s}
.hdr-cta:hover .arr{transform:translateX(3px)}
@media (max-width:1180px){
  .hdr{gap:20px}
  nav.primary a{padding:8px 10px;font-size:13px}
  .hdr-cta{padding:9px 14px;font-size:13px}
}
@media (max-width:1024px){
  nav.primary a{padding:6px 8px;font-size:12.5px}
  .hdr-cta span.cta-lbl{display:none}
  .brand-mark{height:44px}
}

/* ---------- mobile menu ---------- */
.hamburger{
  display:none;
  width:44px;height:44px;
  border-radius:8px;
  border:1px solid var(--hair);
  background:#fff;
  align-items:center;justify-content:center;
  color:var(--navy-ink);
  flex-shrink:0;
  transition:background .2s,border-color .2s;
}
.hamburger:hover{background:var(--paper-2);border-color:var(--navy-ink)}
.hamburger .bars{position:relative;width:18px;height:12px}
.hamburger .bars span{
  position:absolute;left:0;right:0;height:1.6px;background:currentColor;border-radius:2px;
  transition:transform .3s,opacity .2s,top .3s;
}
.hamburger .bars span:nth-child(1){top:0}
.hamburger .bars span:nth-child(2){top:5px}
.hamburger .bars span:nth-child(3){top:10px}
body.menu-open .hamburger .bars span:nth-child(1){top:5px;transform:rotate(45deg)}
body.menu-open .hamburger .bars span:nth-child(2){opacity:0}
body.menu-open .hamburger .bars span:nth-child(3){top:5px;transform:rotate(-45deg)}

.mobile-nav{
  position:fixed;top:0;right:0;bottom:0;
  width:min(360px,88vw);
  background:#fff;
  z-index:80;
  transform:translateX(100%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:-30px 0 60px -20px rgba(11,31,68,.25);
  overflow-y:auto;
}
body.menu-open .mobile-nav{transform:translateX(0)}
.mobile-nav .mn-head{
  padding:20px 24px;
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--hair);
}
.mobile-nav .mn-head img{height:42px;width:auto}
.mobile-nav .mn-close{
  width:40px;height:40px;border-radius:999px;
  border:1px solid var(--hair);
  display:flex;align-items:center;justify-content:center;
  color:var(--navy-ink);transition:background .2s;
}
.mobile-nav .mn-close:hover{background:var(--paper-2)}
.mobile-nav .mn-links{padding:20px 0;flex-grow:1}
.mobile-nav .mn-links a{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 24px;
  font-size:17px;font-weight:500;color:var(--navy-ink);
  border-bottom:1px solid var(--hair-2);
  transition:background .2s,color .2s;
}
.mobile-nav .mn-links a:hover,.mobile-nav .mn-links a.active{color:var(--accent);background:var(--paper-2)}
.mobile-nav .mn-links a .arr{width:14px;height:14px;color:var(--ink-3)}
.mobile-nav .mn-foot{padding:24px;border-top:1px solid var(--hair);background:var(--paper-2)}
.mobile-nav .mn-cta{
  display:flex;justify-content:center;align-items:center;gap:10px;
  padding:14px;background:var(--navy);color:#fff;
  border-radius:999px;font-weight:500;font-size:15px;
  margin-bottom:20px;
}
.mobile-nav .mn-contact{display:grid;gap:14px}
.mobile-nav .mn-contact a{
  display:flex;gap:12px;align-items:center;
  font-size:14px;color:var(--ink-2);
}
.mobile-nav .mn-contact svg{color:var(--accent);flex-shrink:0}
.mobile-nav .mn-lang{display:flex;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid var(--hair)}
.mobile-nav .mn-lang a{
  flex:1;padding:10px 0;text-align:center;
  border:1px solid var(--hair);border-radius:8px;
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;
  color:var(--ink-2);
}
.mobile-nav .mn-lang a.on{background:var(--navy);color:#fff;border-color:var(--navy)}

.mn-scrim{
  position:fixed;inset:0;background:rgba(6,26,61,.5);
  z-index:75;opacity:0;pointer-events:none;
  transition:opacity .3s;
}
body.menu-open .mn-scrim{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}

@media (max-width:900px){
  nav.primary,.hdr-cta{display:none}
  .hamburger{display:inline-flex}
}

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:var(--paper);
  padding:64px 0 0;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:64px;
  align-items:center;
}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px}}
.hero-copy{padding:24px 0 60px}
.hero h1{margin:20px 0 24px}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero-lede{font-size:19px;line-height:1.5;color:var(--ink-2);max-width:520px;margin-bottom:36px;font-weight:400}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;
  font-size:15px;font-weight:500;
  transition:transform .2s, background .2s, color .2s, border-color .2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-deep)}
.btn-ghost{background:transparent;color:var(--navy-ink);border:1px solid var(--navy-ink)}
.btn-ghost:hover{background:var(--navy-ink);color:#fff}
.btn .arr{width:16px;height:16px;transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

.hero-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--hair);
  padding-top:32px;
  gap:24px;
}
.stat .num{font-family:'Instrument Serif',serif;font-size:44px;color:var(--navy-ink);line-height:1;letter-spacing:-0.02em}
.stat .num sup{font-size:20px;font-family:'Manrope',sans-serif;font-weight:500;color:var(--accent);vertical-align:top;margin-left:2px;top:6px;position:relative}
.stat .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;margin-top:10px;line-height:1.4}

.hero-photo{
  position:relative;
  aspect-ratio:4/5;
  border-radius:6px;
  overflow:hidden;
  background:#DCE1E8;
  box-shadow:0 30px 80px -30px rgba(11,31,68,.35);
}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.photo-badge{
  position:absolute;top:24px;left:24px;
  background:rgba(6,26,61,.85);
  backdrop-filter:blur(10px);
  color:#fff;
  padding:12px 16px;
  border-radius:6px;
  display:flex;gap:12px;align-items:center;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.1em;
}
.photo-badge .dot{width:8px;height:8px;background:#7FCF7C;border-radius:999px;box-shadow:0 0 0 4px rgba(127,207,124,.25)}
.photo-quote{
  position:absolute;bottom:24px;left:24px;right:24px;
  background:rgba(255,253,247,.96);
  backdrop-filter:blur(10px);
  padding:20px 22px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.6);
}
.photo-quote .q{font-family:'Instrument Serif',serif;font-size:19px;line-height:1.35;color:var(--navy-ink);letter-spacing:-0.005em}
.photo-quote .cite{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;margin-top:10px}

/* ---------- providers search ---------- */
.providers{
  position:relative;
  background:var(--paper);
  padding:0 0 100px;
}
.providers-card{
  background:var(--navy);
  color:#fff;
  border-radius:10px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
  padding:28px 32px;
  box-shadow:0 30px 60px -30px rgba(11,31,68,.4);
  margin-top:-40px;
  position:relative;
  z-index:2;
}
.providers-badge{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.16em;
  color:rgba(255,255,255,.65);
  text-transform:uppercase;
  padding-right:32px;
  border-right:1px solid rgba(255,255,255,.14);
}
.providers-badge strong{display:block;font-family:'Instrument Serif',serif;font-size:26px;letter-spacing:-0.01em;color:#fff;text-transform:none;margin-top:6px;font-weight:400}
.providers-fields{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px}
.field{position:relative}
.field label{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.12em;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  margin-bottom:8px;
}
.field select,.field input{
  width:100%;
  padding:14px 16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius:6px;
  font-family:'Manrope',sans-serif;
  font-size:14.5px;
  appearance:none;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.field select:hover,.field input:hover{background:rgba(255,255,255,.12)}
.field select:focus,.field input:focus{outline:none;border-color:var(--accent);background:rgba(46,123,184,.15)}
.field select option{background:var(--navy-deep);color:#fff}
.field .chev{position:absolute;right:14px;top:38px;pointer-events:none;color:rgba(255,255,255,.55)}
.search-btn{
  padding:16px 28px;
  background:#fff;color:var(--navy);
  border-radius:999px;
  font-weight:600;font-size:14px;
  display:inline-flex;align-items:center;gap:10px;
  white-space:nowrap;
  transition:transform .2s;
}
.search-btn:hover{transform:translateY(-1px)}
@media (max-width:960px){
  .providers-card{grid-template-columns:1fr;gap:20px}
  .providers-badge{border-right:none;border-bottom:1px solid rgba(255,255,255,.14);padding:0 0 20px}
  .providers-fields{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.providers-fields{grid-template-columns:1fr}}

/* ---------- section skeleton ---------- */
section{padding:120px 0}
@media (max-width:720px){section{padding:80px 0}}
.section-head{margin-bottom:64px;max-width:760px}
.section-head .eyebrow{margin-bottom:20px}
.section-head p.lede{margin-top:20px;font-size:18px;line-height:1.55;color:var(--ink-2)}

/* ---------- who we are ---------- */
.who{background:var(--paper);border-top:1px solid var(--hair)}
.who-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:80px;align-items:center}
@media (max-width:960px){.who-grid{grid-template-columns:1fr;gap:48px}}
.who h2{margin-bottom:28px}
.who .body{font-size:17px;line-height:1.6;color:var(--ink-2);max-width:520px}
.who .body p+p{margin-top:16px}
.who-signature{
  margin-top:36px;padding-top:28px;border-top:1px solid var(--hair);
  display:flex;gap:20px;align-items:center;
}
.sig-mark{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:36px;color:var(--navy-ink);letter-spacing:-0.01em;
  line-height:1;
}
.sig-cap{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;line-height:1.5}
.who-photo{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#DCE1E8}
.who-photo img{width:100%;height:100%;object-fit:cover}
.who-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(6,26,61,.15));
}
.who-tag{
  position:absolute;bottom:24px;left:24px;
  background:rgba(255,253,247,.96);
  backdrop-filter:blur(10px);
  padding:14px 18px;border-radius:6px;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.12em;color:var(--navy-ink);text-transform:uppercase;
  display:flex;gap:14px;align-items:center;
}
.who-tag .marker{width:6px;height:6px;background:var(--accent);border-radius:999px}

/* ---------- what we offer ---------- */
.offer{background:var(--paper-2);border-top:1px solid var(--hair)}
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:0}
@media (max-width:960px){.offer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.offer-grid{grid-template-columns:1fr}}
.plan-card{
  background:var(--card);
  border-radius:8px;
  padding:32px 28px 28px;
  border:1px solid var(--hair);
  display:flex;flex-direction:column;
  min-height:340px;
  position:relative;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.plan-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.plan-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-3);margin-bottom:20px}
.plan-icon{
  width:52px;height:52px;border-radius:8px;
  background:var(--accent-soft);
  display:flex;align-items:center;justify-content:center;
  color:var(--navy);
  margin-bottom:20px;
}
.plan-icon svg{width:26px;height:26px}
.plan-card h3{font-size:22px;margin-bottom:12px;letter-spacing:-0.01em}
.plan-card p{font-size:14.5px;line-height:1.55;color:var(--ink-2);flex-grow:1}
.plan-link{
  margin-top:24px;padding-top:20px;border-top:1px solid var(--hair);
  font-size:13.5px;font-weight:500;color:var(--navy);
  display:inline-flex;align-items:center;gap:8px;
}
.plan-link .arr{width:14px;height:14px;transition:transform .2s}
.plan-card:hover .plan-link .arr{transform:translateX(3px)}

/* ---------- why choose us ---------- */
.why{background:var(--paper);border-top:1px solid var(--hair)}
.why-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:end;margin-bottom:64px}
@media (max-width:820px){.why-head{grid-template-columns:1fr;gap:24px}}
.why-head .lede{font-size:17px;color:var(--ink-2);line-height:1.55}
.why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--hair);
  border-left:1px solid var(--hair);
}
@media (max-width:960px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr}}
.feature{
  padding:36px 32px;
  border-right:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
  background:var(--paper);
  transition:background .3s;
  position:relative;
  min-height:220px;
}
.feature:hover{background:var(--paper-2)}
.feature-num{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--ink-3);letter-spacing:.12em;
  margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;
}
.feature-num .ic{color:var(--navy)}
.feature h4{font-family:'Instrument Serif',serif;font-size:22px;color:var(--navy-ink);font-weight:400;letter-spacing:-0.005em;margin-bottom:12px;line-height:1.15}
.feature p{font-size:14.5px;line-height:1.55;color:var(--ink-2)}

/* ---------- team / governance ---------- */
.team{background:var(--paper-2);border-top:1px solid var(--hair)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.team-grid{grid-template-columns:1fr}}
.person{
  background:var(--card);
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--hair);
  transition:transform .3s,box-shadow .3s;
}
.person:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.person-photo{aspect-ratio:5/4;background:#DCE1E8;position:relative;overflow:hidden}
.person-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.02)}
.person-body{padding:24px 24px 26px}
.person-role{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}
.person-name{font-family:'Instrument Serif',serif;font-size:24px;color:var(--navy-ink);letter-spacing:-0.005em;margin-bottom:10px;line-height:1.15}
.person-bio{font-size:13.5px;line-height:1.55;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.person-read{margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--navy);text-transform:uppercase;display:inline-flex;gap:8px;align-items:center}

/* ---------- FAQ ---------- */
.faq{background:var(--paper);border-top:1px solid var(--hair)}
.faq-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.5fr);gap:80px}
@media (max-width:820px){.faq-grid{grid-template-columns:1fr;gap:40px}}
.faq-list{border-top:1px solid var(--hair)}
.faq-item{border-bottom:1px solid var(--hair)}
.faq-q{
  width:100%;text-align:left;
  padding:26px 0;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-family:'Instrument Serif',serif;
  font-size:22px;color:var(--navy-ink);letter-spacing:-0.005em;line-height:1.2;
  transition:color .2s;
}
.faq-q:hover{color:var(--accent)}
.faq-q .plus{
  width:32px;height:32px;flex-shrink:0;
  border:1px solid var(--hair);
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s,background .2s,color .2s,border-color .2s;
  color:var(--navy);
}
.faq-item.open .faq-q .plus{transform:rotate(45deg);background:var(--navy);color:#fff;border-color:var(--navy)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .4s ease;
}
.faq-a-inner{padding:0 0 26px;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:680px}
/* No fixed height: a long answer used to be clipped at 400px. site.js sets
   the panel to its measured height when opening, which animates; this is the
   fallback that keeps the whole answer readable if that never runs. */
.faq-item.open .faq-a{max-height:none}
.faq-side .eyebrow{margin-bottom:16px}
.faq-side h2{margin-bottom:24px}
.faq-side p{font-size:16px;line-height:1.55;color:var(--ink-2);margin-bottom:28px}
.faq-side .contact-block{
  background:var(--paper-2);
  padding:24px;border-radius:8px;border:1px solid var(--hair);
}
.faq-side .contact-block .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;margin-bottom:8px}
.faq-side .contact-block a{font-family:'Instrument Serif',serif;font-size:24px;color:var(--navy-ink);display:block;margin-bottom:16px;letter-spacing:-0.005em}
.faq-side .contact-block a:last-child{margin-bottom:0}

/* ---------- contact / feedback ---------- */
.contact{
  background:var(--navy);
  color:#fff;
  position:relative;overflow:hidden;
}
.contact::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 20%,rgba(46,123,184,.25),transparent 55%),
             radial-gradient(ellipse at 10% 80%,rgba(46,123,184,.15),transparent 45%);
  pointer-events:none;
}
.contact-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1fr);gap:80px;position:relative}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;gap:48px}}
.contact h2{color:#fff;margin-bottom:24px}
.contact .eyebrow{color:rgba(255,255,255,.55)}
.contact .lede{color:rgba(255,255,255,.75);font-size:17px;line-height:1.55;margin-bottom:36px}
.contact-info{margin-top:36px;padding-top:32px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:22px}
.contact-info .row{display:flex;gap:20px;align-items:flex-start}
.contact-info .ic{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-info .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.55);text-transform:uppercase;margin-bottom:6px}
.contact-info .v{font-size:16px;color:#fff}
.contact-info .v a{color:#fff}

.form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:36px;backdrop-filter:blur(10px)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.form-field label{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.65);text-transform:uppercase;margin-bottom:8px}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:14px 16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
  color:#fff;font-family:'Manrope',sans-serif;font-size:14.5px;
  transition:border-color .2s,background .2s;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--accent);background:rgba(46,123,184,.12)}
.form-field textarea{resize:vertical;min-height:120px;font-family:inherit}
.form-field input::placeholder,.form-field textarea::placeholder{color:rgba(255,255,255,.35)}
.form-submit{
  margin-top:24px;
  width:100%;padding:16px;
  background:#fff;color:var(--navy);
  border-radius:999px;font-weight:600;font-size:15px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  transition:transform .2s;
}
.form-submit:hover{transform:translateY(-1px)}
.form-consent{margin-top:14px;font-size:12px;color:rgba(255,255,255,.5);line-height:1.5}

/* ---------- footer ---------- */
footer.site{background:var(--navy-deep);color:rgba(255,255,255,.75);padding:80px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:56px;padding-bottom:60px}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{max-width:340px}
.foot-brand-link{display:inline-flex;align-items:center;gap:14px}
.foot-logo{height:56px;width:auto;display:block}
.foot-wordmark{
  font-family:'Instrument Serif',Georgia,serif;
  font-size:34px;line-height:1;color:#fff;letter-spacing:.02em;
}
.foot-brand p{margin-top:24px;font-size:14px;color:rgba(255,255,255,.65);line-height:1.6}
.foot h5{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:20px;font-weight:400}
.foot ul{list-style:none}
.foot ul li{margin-bottom:12px}
.foot ul li a{font-size:14.5px;color:rgba(255,255,255,.8);transition:color .2s}
.foot ul li a:hover{color:#fff}
.newsletter p{font-size:14px;color:rgba(255,255,255,.65);margin-bottom:16px}
.newsletter-form{display:flex;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px;transition:border-color .2s}
.newsletter-form:focus-within{border-color:var(--accent)}
.newsletter-form input{
  flex:1;padding:10px 16px;background:transparent;border:none;
  color:#fff;font-family:inherit;font-size:14px;
}
.newsletter-form input:focus{outline:none}
.newsletter-form input::placeholder{color:rgba(255,255,255,.4)}
.newsletter-form button{background:#fff;color:var(--navy);padding:10px 18px;border-radius:999px;font-size:13px;font-weight:600}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:16px}
.foot-bottom .socials{display:flex;gap:10px}
.foot-bottom .socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:999px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75);transition:background .2s,color .2s,border-color .2s}
.foot-bottom .socials a:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:60;
  background:#25D366;color:#fff;
  padding:14px 20px 14px 16px;
  border-radius:999px;
  display:inline-flex;align-items:center;gap:10px;
  font-weight:500;font-size:14.5px;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.45), 0 6px 12px rgba(0,0,0,.1);
  transition:transform .2s,box-shadow .2s;
}
.wa-float:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px rgba(37,211,102,.55), 0 8px 16px rgba(0,0,0,.12)}
.wa-float svg{width:22px;height:22px}

/* ---------- video section ---------- */
.video-sec{background:var(--paper);padding:40px 0 100px;border-top:1px solid var(--hair)}
.video-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:48px}
@media (max-width:820px){.video-head{grid-template-columns:1fr;gap:20px}}
.video-head h2{margin-top:20px}
.video-head .lede{font-size:17px;color:var(--ink-2);line-height:1.55}
.video-frame{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  background:var(--navy-deep);
  aspect-ratio:16/9;
  box-shadow:0 30px 80px -30px rgba(11,31,68,.35);
}
.video-frame video{width:100%;height:100%;display:block;object-fit:cover}
.video-poster{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  cursor:pointer;
  transition:opacity .4s;
  display:flex;align-items:center;justify-content:center;
}
.video-poster::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(6,26,61,.55),rgba(6,26,61,.25) 40%,rgba(6,26,61,.65));
}
.video-poster.hidden{opacity:0;pointer-events:none}
.play-btn{
  position:relative;z-index:2;
  width:96px;height:96px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s,background .3s;
  box-shadow:0 20px 40px -10px rgba(0,0,0,.4);
}
.play-btn svg{width:34px;height:34px;margin-left:6px}
.video-poster:hover .play-btn{transform:scale(1.06);background:#fff}
.play-btn::before{
  content:"";position:absolute;inset:-14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  animation:pulseRing 2.4s ease-out infinite;
}
@keyframes pulseRing{
  0%{transform:scale(1);opacity:.8}
  100%{transform:scale(1.4);opacity:0}
}
.video-cap{
  position:absolute;bottom:24px;left:24px;
  display:flex;gap:14px;align-items:center;
  background:rgba(6,26,61,.6);backdrop-filter:blur(12px);
  color:#fff;padding:12px 18px;border-radius:999px;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  z-index:2;pointer-events:none;
}
.video-cap .rec{width:8px;height:8px;background:#E64C4C;border-radius:999px;box-shadow:0 0 0 4px rgba(230,76,76,.25)}

/* ---------- plan calculator ---------- */
.calc{background:var(--paper-2);border-top:1px solid var(--hair);position:relative;overflow:hidden}
.calc::before{
  content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(46,123,184,.08),transparent 60%);pointer-events:none;
}
.calc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end;margin-bottom:56px}
@media (max-width:820px){.calc-head{grid-template-columns:1fr;gap:20px}}
.calc-shell{
  background:var(--card);
  border:1px solid var(--hair);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(11,31,68,.15);
  position:relative;
}
.calc-steps{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  background:var(--paper-2);
  border-bottom:1px solid var(--hair);
}
.calc-step{
  padding:18px 24px;
  border-right:1px solid var(--hair);
  display:flex;gap:14px;align-items:center;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);
  transition:color .2s,background .2s;
}
.calc-step:last-child{border-right:none}
.calc-step .n{
  width:26px;height:26px;border-radius:999px;
  border:1px solid var(--hair);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;background:#fff;
}
.calc-step.active{color:var(--navy);background:#fff}
.calc-step.active .n{background:var(--navy);color:#fff;border-color:var(--navy)}
.calc-step.done .n{background:var(--accent);color:#fff;border-color:var(--accent)}
.calc-step.done{color:var(--navy-ink)}
@media (max-width:640px){
  .calc-steps{grid-template-columns:1fr}
  .calc-step{border-right:none;border-bottom:1px solid var(--hair)}
  .calc-step:last-child{border-bottom:none}
}
.calc-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);min-height:420px}
@media (max-width:820px){.calc-body{grid-template-columns:1fr}}
.calc-form{padding:44px 44px 36px}
@media (max-width:720px){.calc-form{padding:32px 24px 28px}}
.calc-panel{display:none}
.calc-panel.active{display:block;animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.calc-panel h3{font-size:26px;margin-bottom:8px;color:var(--navy-ink)}
.calc-panel .helper{font-size:14.5px;color:var(--ink-2);margin-bottom:28px;line-height:1.5}
.calc-group{margin-bottom:24px}
.calc-group label.title{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
  margin-bottom:12px;
}
.calc-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{
  position:relative;
  border:1px solid var(--hair);
  background:#fff;
  border-radius:8px;
  padding:16px 18px;
  cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s;
  display:flex;flex-direction:column;gap:4px;
}
.choice:hover{border-color:var(--accent)}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice .dot{
  position:absolute;top:14px;right:14px;
  width:18px;height:18px;border-radius:999px;
  border:1.5px solid var(--hair);
  transition:all .2s;
}
.choice.on{border-color:var(--navy);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--navy)}
.choice.on .dot{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 3px #fff}
.choice .lbl{font-size:15px;font-weight:600;color:var(--navy-ink);letter-spacing:-0.005em}
.choice .sub{font-size:12.5px;color:var(--ink-3);line-height:1.4}
.calc-number{
  display:inline-flex;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--hair);border-radius:999px;padding:6px;
}
.calc-number button{
  width:36px;height:36px;border-radius:999px;
  background:var(--paper-2);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:600;
  transition:background .2s;
}
.calc-number button:hover{background:var(--accent-soft)}
.calc-number .val{min-width:40px;text-align:center;font-family:'Instrument Serif',serif;font-size:26px;color:var(--navy-ink)}
.calc-nav{margin-top:32px;padding-top:24px;border-top:1px solid var(--hair);display:flex;gap:12px;justify-content:space-between;align-items:center}
.calc-btn{
  padding:12px 24px;border-radius:999px;
  font-size:14px;font-weight:500;
  display:inline-flex;align-items:center;gap:8px;
  transition:all .2s;
}
.calc-btn.primary{background:var(--navy);color:#fff}
.calc-btn.primary:hover{background:var(--navy-deep)}
.calc-btn.ghost{color:var(--ink-2)}
.calc-btn.ghost:hover{color:var(--navy)}
.calc-btn[disabled]{opacity:.4;cursor:not-allowed}
.calc-btn .arr{width:14px;height:14px}

.calc-summary{
  background:var(--navy);
  color:#fff;
  padding:44px 40px;
  display:flex;flex-direction:column;
  justify-content:space-between;
  position:relative;overflow:hidden;
}
.calc-summary::before{
  content:"";position:absolute;top:-40px;right:-40px;width:280px;height:280px;
  background:radial-gradient(circle,rgba(46,123,184,.35),transparent 55%);pointer-events:none;
}
@media (max-width:820px){.calc-summary{padding:36px 28px}}
.calc-summary .lbl{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:14px}
.calc-summary h4{font-family:'Instrument Serif',serif;font-size:22px;color:#fff;font-weight:400;margin-bottom:6px;letter-spacing:-0.005em}
.calc-summary .caption{font-size:13px;color:rgba(255,255,255,.65);line-height:1.5;margin-bottom:32px}
.summary-row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:12px 0;
  border-bottom:1px dashed rgba(255,255,255,.12);
  font-size:14px;
}
.summary-row .k{color:rgba(255,255,255,.65)}
.summary-row .v{color:#fff;font-weight:500}
.summary-total{
  margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);
  display:flex;justify-content:space-between;align-items:baseline;
}
.summary-total .k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.summary-total .v{font-family:'Instrument Serif',serif;font-size:44px;color:#fff;letter-spacing:-0.01em;line-height:1}
.summary-total .v .cur{font-family:'Manrope',sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,.6);margin-right:6px;vertical-align:top;position:relative;top:8px}
.summary-total .v .per{font-family:'Manrope',sans-serif;font-size:13px;font-weight:400;color:rgba(255,255,255,.55);margin-left:4px}
.summary-cta{margin-top:28px;padding:14px 22px;background:#fff;color:var(--navy);border-radius:999px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s;text-align:center}
.summary-cta:hover{transform:translateY(-1px)}
.summary-note{margin-top:14px;font-size:11.5px;color:rgba(255,255,255,.5);line-height:1.5}

/* ---------- misc ---------- */
::selection{background:var(--navy);color:#fff}
/* ================================================================
   CMSM site extensions - inner pages, forms, RTL
   Same design language as the homepage: Instrument Serif headings,
   Manrope body, JetBrains Mono eyebrows, navy/cyan palette.
   ================================================================ */

/* ---------- fonts ---------- */
/* Loaded from Google Fonts in the layout <head>. Arabic uses Almarai. */
html[lang="ar"] body,
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea,
html[lang="ar"] button{font-family:'Almarai','Manrope',ui-sans-serif,system-ui,sans-serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,
html[lang="ar"] .serif,
html[lang="ar"] .plan-card h3,
html[lang="ar"] .person-name,
html[lang="ar"] .faq-q,
html[lang="ar"] .stat .num,
html[lang="ar"] .summary-total .v{font-family:'Almarai',serif;font-weight:700;letter-spacing:0}
html[lang="ar"] .eyebrow,html[lang="ar"] .mono,
html[lang="ar"] .plan-num,html[lang="ar"] .feature-num,
html[lang="ar"] .person-role,html[lang="ar"] .field label,
html[lang="ar"] .form-field label{font-family:'Almarai',monospace;letter-spacing:0}

/* ---------- page hero (inner pages) ---------- */
.page-hero{
  background:var(--navy);
  color:#fff;
  padding:88px 0 72px;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 85% 15%,rgba(46,123,184,.3),transparent 55%),
             radial-gradient(ellipse at 8% 90%,rgba(46,123,184,.16),transparent 45%);
  pointer-events:none;
}
.page-hero .wrap{position:relative}
.page-hero .eyebrow{color:rgba(255,255,255,.6);margin-bottom:18px}
.page-hero h1{color:#fff;font-size:clamp(40px,5vw,72px)}
.page-hero .lede{margin-top:18px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.75);max-width:640px}
.breadcrumbs{display:flex;gap:10px;align-items:center;margin-top:28px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.breadcrumbs a{color:rgba(255,255,255,.75)}
.breadcrumbs a:hover{color:#fff}

/* ---------- alerts ---------- */
.alert{
  padding:16px 20px;border-radius:8px;
  font-size:14.5px;margin-bottom:24px;
  border:1px solid var(--hair);
}
.alert-success{background:#EDF7EE;border-color:#BFE3C2;color:#1E5B2A}
.alert-error{background:#FBEeed;border-color:#F2C4C0;color:#8A2620}

/* ---------- light forms (careers apply, providers filters) ---------- */
.form-light .form-field label{color:var(--ink-3)}
.form-light .form-field input,.form-light .form-field textarea,.form-light .form-field select{
  background:#fff;border:1px solid var(--hair);color:var(--ink);
}
.form-light .form-field input:focus,.form-light .form-field textarea:focus,.form-light .form-field select:focus{
  border-color:var(--accent);background:var(--accent-soft);
}
.form-light .form-field input::placeholder,.form-light .form-field textarea::placeholder{color:var(--ink-3)}

/* ---------- about page ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}
.pillar{
  background:var(--card);border:1px solid var(--hair);border-radius:8px;
  padding:36px 32px;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s;
}
.pillar:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.pillar h3{font-size:24px;margin:18px 0 12px}
.pillar p{font-size:15px;line-height:1.6}
.pillar .plan-icon{margin-bottom:0}
.values-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hair);border-left:1px solid var(--hair);margin-top:0}
@media (max-width:720px){.values-row{grid-template-columns:1fr}}
.values-row .feature{min-height:auto}

/* ---------- team modal ---------- */
.modal-scrim{
  position:fixed;inset:0;background:rgba(6,26,61,.6);z-index:90;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.modal-scrim.open{opacity:1;pointer-events:auto}
.member-modal{
  position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;pointer-events:none;transition:opacity .3s;
}
.member-modal.open{opacity:1;pointer-events:auto}
.member-modal .box{
  background:#fff;border-radius:12px;max-width:720px;width:100%;
  max-height:85vh;overflow-y:auto;padding:40px;position:relative;
  box-shadow:0 40px 80px -20px rgba(6,26,61,.5);
}
.member-modal .close{
  position:absolute;top:18px;inset-inline-end:18px;width:38px;height:38px;border-radius:999px;
  border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;
}
.member-modal .close:hover{background:var(--paper-2)}
.member-modal .person-role{margin-bottom:6px}
.member-modal h3{margin-bottom:16px}
.member-modal .bio{font-size:15px;line-height:1.65;color:var(--ink-2);white-space:pre-line}

/* ---------- what we offer: tabs + blocks ---------- */
.offer-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:56px}
.offer-tab{
  display:flex;gap:14px;align-items:center;
  padding:16px 22px;border:1px solid var(--hair);border-radius:10px;
  background:var(--card);cursor:pointer;
  font-size:14.5px;font-weight:600;color:var(--navy-ink);
  transition:border-color .2s,background .2s,transform .2s;
  flex:1;min-width:220px;text-align:start;
}
.offer-tab:hover{border-color:var(--accent);transform:translateY(-2px)}
.offer-tab.on{border-color:var(--navy);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--navy)}
.offer-tab .plan-icon{width:44px;height:44px;margin:0;flex-shrink:0}
.offer-tab .plan-icon svg{width:24px;height:24px}
.offer-panel{display:none}
.offer-panel.on{display:block;animation:fadeIn .4s ease}
.offer-block{margin-bottom:36px}
.offer-block-title h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:8px}
.offer-block-title .sub{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.offer-block-text{font-size:15.5px;line-height:1.65;color:var(--ink-2);max-width:820px}
.offer-block-text table,.offer-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--hair);border-radius:8px;overflow:hidden}
.offer-block-text table td,.offer-block-text table th,.offer-table td,.offer-table th{border:1px solid var(--hair);padding:10px 14px;text-align:start;vertical-align:top}
.offer-block-text table th,.offer-table th{background:var(--paper-2);font-weight:600;color:var(--navy-ink)}
.table-scroll{overflow-x:auto;border-radius:8px}
.offer-block-card{
  background:var(--card);border:1px solid var(--hair);border-radius:10px;
  padding:28px 30px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;
}
@media (max-width:640px){.offer-block-card{grid-template-columns:1fr}}
.offer-block-card img{width:120px;border-radius:8px}
.offer-block-info{
  background:var(--accent-soft);border:1px solid #CBDEF0;border-radius:10px;
  padding:22px 26px;font-size:14.5px;line-height:1.6;color:var(--navy-ink);
  display:flex;gap:16px;align-items:flex-start;
}
.offer-block-info svg{flex-shrink:0;margin-top:2px;color:var(--accent)}
.apply-cta{
  margin-top:56px;background:var(--navy);border-radius:12px;color:#fff;
  padding:40px;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;
}
.apply-cta h3{color:#fff;font-size:26px}
.apply-cta p{color:rgba(255,255,255,.7);font-size:14.5px;margin-top:6px}
.apply-cta .actions{display:flex;gap:12px;flex-wrap:wrap}
.apply-cta .btn-white{background:#fff;color:var(--navy)}
.apply-cta .btn-outline{border:1px solid rgba(255,255,255,.4);color:#fff}
.apply-cta .btn-outline:hover{background:#fff;color:var(--navy)}

/* ---------- documents ---------- */
.doc-groups{display:grid;gap:72px}
.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:960px){.doc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.doc-grid{grid-template-columns:1fr}}
.doc-card{
  background:var(--card);border:1px solid var(--hair);border-radius:8px;
  padding:26px 24px;display:flex;gap:18px;align-items:center;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.doc-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.doc-card .plan-icon{margin:0;flex-shrink:0}
.doc-card .t{font-weight:600;font-size:15px;color:var(--navy-ink);line-height:1.35}
.doc-card .dl{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:6px;display:inline-flex;gap:6px;align-items:center}
.doc-card .doc-size{color:var(--ink-3)}

/* ---------- careers ---------- */
.job-list{display:grid;gap:16px}
.job-card{
  background:var(--card);border:1px solid var(--hair);border-radius:10px;
  padding:28px 30px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
@media (max-width:640px){.job-card{grid-template-columns:1fr}}
.job-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.job-card h3{font-size:24px;margin-bottom:10px}
.job-meta{display:flex;gap:18px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.job-meta span{display:inline-flex;gap:7px;align-items:center}
.job-meta svg{color:var(--accent)}
.job-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:var(--card)}
@media (max-width:720px){.job-overview{grid-template-columns:1fr 1fr}}
.job-overview .cell{padding:22px 24px;border-inline-end:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.job-overview .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.job-overview .v{font-size:15px;font-weight:600;color:var(--navy-ink)}
.job-desc{font-size:15.5px;line-height:1.7;color:var(--ink-2);max-width:820px;white-space:pre-line}

/* ---------- providers page ---------- */
.providers-filter{
  background:var(--navy);border-radius:10px;padding:28px 32px;color:#fff;
  display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr auto;gap:14px;align-items:end;
  box-shadow:0 30px 60px -30px rgba(11,31,68,.4);
}
@media (max-width:960px){.providers-filter{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.providers-filter{grid-template-columns:1fr}}
.providers-table-wrap{margin-top:48px;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:#fff}
.providers-table{width:100%;border-collapse:collapse;font-size:14.5px}
.providers-table th{
  background:var(--paper-2);text-align:start;padding:14px 18px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
  border-bottom:1px solid var(--hair);
}
.providers-table td{padding:15px 18px;border-bottom:1px solid var(--hair-2);color:var(--ink-2);vertical-align:top}
.providers-table td.name{font-weight:600;color:var(--navy-ink)}
.providers-table tr:hover td{background:var(--paper-2)}
.pagination{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}
.pagination a,.pagination span{
  min-width:38px;height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--hair);
  display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;color:var(--navy-ink);
}
.pagination .active{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination a:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- projects ---------- */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.project-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.project-grid{grid-template-columns:1fr}}
.project-card{
  background:var(--card);border:1px solid var(--hair);border-radius:8px;overflow:hidden;
  transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;
}
.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.project-card .ph{aspect-ratio:16/10;background:#DCE1E8;overflow:hidden}
.project-card .ph img{width:100%;height:100%;object-fit:cover}
.project-card .body{padding:24px;flex-grow:1;display:flex;flex-direction:column}
.project-card h3{font-size:22px;margin-bottom:10px}
.project-card p{font-size:14px;line-height:1.55;flex-grow:1}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:40px}
@media (max-width:720px){.gallery{grid-template-columns:1fr 1fr}}
.gallery img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---------- calculator: inputs, member rows, breakdown ---------- */
.calc-input{
  width:100%;padding:12px 14px;
  border:1px solid var(--hair);border-radius:8px;background:#fff;
  font-family:inherit;font-size:14.5px;color:var(--ink);
  transition:border-color .2s,background .2s;
}
.calc-input:focus{outline:none;border-color:var(--accent);background:var(--accent-soft)}
.calc-note{
  font-size:12.5px;line-height:1.55;color:var(--ink-3);
  border-inline-start:2px solid var(--hair);padding-inline-start:14px;margin-top:4px;
}

.member-rows{display:grid;gap:12px;max-height:440px;overflow-y:auto;overscroll-behavior:contain;padding-inline-end:6px;scroll-padding-block-end:12px}
.member-row{
  border:1px solid var(--hair);background:#fff;border-radius:10px;padding:14px 16px;
  display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:end;
}
@media (max-width:560px){.member-row{grid-template-columns:1fr 1fr auto}}
.member-row.is-new{border-color:var(--accent);background:var(--accent-soft);animation:rowIn .35s ease}
@keyframes rowIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.member-row .mr-field{min-width:0}
.member-row .mr-field label{
  display:block;font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;
}
.member-row .mr-remove{
  width:36px;height:42px;border-radius:8px;border:1px solid var(--hair);
  background:var(--paper-2);color:var(--ink-3);font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .2s,color .2s,border-color .2s;
}
.member-row .mr-remove:hover{background:#FBEeed;color:#B3372C;border-color:#F2C4C0}
.calc-add{
  margin-top:12px;display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border:1px dashed var(--hair);border-radius:999px;
  font-size:13.5px;font-weight:500;color:var(--navy);background:#fff;
  transition:border-color .2s,background .2s;
}
.calc-add:hover{border-color:var(--accent);background:var(--accent-soft)}

.calc-alert{
  margin-top:20px;padding:14px 18px;border-radius:8px;
  background:#FBEeed;border:1px solid #F2C4C0;color:#8A2620;
  font-size:14px;line-height:1.5;
}
.calc-btn[disabled]{opacity:.55;cursor:progress}

.calc-breakdown{margin-top:32px;animation:fadeIn .4s ease}
.calc-breakdown-head{margin-bottom:20px}
.calc-breakdown-head p{font-size:13.5px;color:var(--ink-3);margin-top:10px;max-width:640px}
.calc-breakdown .providers-table{background:#fff;border:1px solid var(--hair);border-radius:10px;overflow:hidden}
.calc-breakdown .providers-table td{white-space:nowrap}

/* Anchor targets sit below the sticky header, so offset the scroll stop. */
section[id],div[id="calculator"]{scroll-margin-top:96px}
@media (max-width:900px){section[id]{scroll-margin-top:80px}}

/* Nav emphasis for the calculator link. */
nav.primary a.nav-accent{color:var(--accent);font-weight:600}
nav.primary a.nav-accent:hover{color:var(--navy)}

/* ---------- included benefits ---------- */
.included{background:var(--paper);border-top:1px solid var(--hair)}
.included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.included-grid{grid-template-columns:1fr}}
.included-card{
  position:relative;background:var(--card);border:1px solid var(--hair);border-radius:10px;
  padding:34px 30px 30px;transition:transform .3s,border-color .3s,box-shadow .3s;
}
.included-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 20px 40px -20px rgba(11,31,68,.15)}
.included-badge{
  position:absolute;top:18px;inset-inline-end:18px;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  background:#E8F5EA;color:#1E5B2A;border:1px solid #BFE3C2;border-radius:999px;padding:5px 10px;
}
.included-card h3{font-size:22px;margin-bottom:10px}
.included-card p{font-size:14.5px;line-height:1.6;color:var(--ink-2)}

/* ---------- quick service CTAs ---------- */
.services{background:var(--paper-2);border-top:1px solid var(--hair);padding:72px 0}
@media (max-width:720px){.services{padding:56px 0}}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:820px){.services-grid{grid-template-columns:1fr}}
.service-card{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  gap:6px 22px;align-items:start;
  background:var(--navy);color:#fff;border-radius:12px;padding:32px 34px;
  position:relative;overflow:hidden;
  transition:transform .3s,box-shadow .3s;
}
.service-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 85% 15%,rgba(46,123,184,.35),transparent 55%);
}
.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(11,31,68,.45)}
.service-icon{
  width:52px;height:52px;border-radius:10px;flex-shrink:0;
  background:rgba(255,255,255,.12);color:#fff;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
}
.service-body{position:relative;z-index:1;min-width:0}
.service-card h3{color:#fff;font-size:23px;margin-bottom:8px;line-height:1.2}
.service-card p{color:rgba(255,255,255,.72);font-size:14.5px;line-height:1.55}
.service-cta{
  grid-column:2;position:relative;z-index:1;margin-top:14px;
  display:inline-flex;align-items:center;gap:9px;
  font-size:14px;font-weight:600;color:#fff;
}
.service-cta .arr{transition:transform .2s}
.service-card:hover .service-cta .arr{transform:translateX(3px)}
[dir="rtl"] .service-cta .arr{transform:scaleX(-1)}
[dir="rtl"] .service-card:hover .service-cta .arr{transform:scaleX(-1) translateX(3px)}
@media (max-width:520px){
  .service-card{grid-template-columns:1fr}
  .service-cta{grid-column:1}
}

/* ---------- provider map link ---------- */
.map-link{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:13px;font-weight:500;color:var(--accent);
}
.map-link:hover{color:var(--navy);text-decoration:underline}
/* Same link on the navy contact panel. */
.contact-info .map-link-light{
  display:inline-flex;align-items:center;gap:6px;margin-top:8px;
  font-size:12.5px;color:rgba(255,255,255,.7);
}
.contact-info .map-link-light:hover{color:#fff;text-decoration:underline}

/* Address chip over the photo, tapping it opens Google Maps. */
a.who-tag{text-decoration:none;transition:background .2s,transform .2s}
a.who-tag:hover{background:#fff;transform:translateY(-2px)}

/* ---------- contact map ---------- */
.map-embed{padding:0;position:relative}
.map-open{
  position:absolute;inset-inline-end:20px;bottom:20px;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--navy);color:#fff;border-radius:999px;
  padding:11px 20px;font-size:13.5px;font-weight:500;
  box-shadow:0 10px 30px -10px rgba(11,31,68,.5);
  transition:background .2s,transform .2s;
}
.map-open:hover{background:var(--navy-deep);transform:translateY(-2px)}

/* ---------- rich text from the CMS ----------
   What the editor shows is what the page has to show.

   Scoped to .offer-block rather than .offer-block-text so every kind of block
   is covered: the info callout holds its content in a different wrapper and
   was getting none of this.

   The global reset strips list padding, so lists written in the admin need
   their indentation and markers put back, and the editor wraps list item text
   in <p>, which must not add a paragraph gap inside a list. */
.offer-block ul,.offer-block ol,
.faq-a-inner ul,.faq-a-inner ol,
.job-desc ul,.job-desc ol,
.rte ul,.rte ol{padding-inline-start:22px;margin:12px 0}
.offer-block li,.faq-a-inner li,.job-desc li,.rte li{margin-bottom:8px}
.offer-block li > p,.faq-a-inner li > p,.job-desc li > p,.rte li > p{margin:0}
.offer-block ul,.faq-a-inner ul,.job-desc ul,.rte ul{list-style:disc}
.offer-block ol,.faq-a-inner ol,.job-desc ol,.rte ol{list-style:decimal}
.offer-block p,.faq-a-inner p,.job-desc p,.rte p{margin:0 0 12px}
.offer-block p:last-child,.faq-a-inner p:last-child,.job-desc p:last-child,.rte p:last-child{margin-bottom:0}
.offer-block a,.faq-a-inner a,.job-desc a,.rte a{color:var(--accent);text-decoration:underline}
.offer-block blockquote,.job-desc blockquote,.rte blockquote{
  border-inline-start:3px solid var(--accent);padding-inline-start:16px;margin:16px 0;color:var(--ink-2);
}

/* A blank line typed in the editor is stored as an empty paragraph, and an
   empty block box is zero pixels tall, so the spacing silently vanished on the
   page. Give it the height of one line, which is what the editor shows. */
.offer-block p:empty::before,
.faq-a-inner p:empty::before,
.job-desc p:empty::before,
.rte p:empty::before,
.offer-block h2:empty::before,.offer-block h3:empty::before{
  content:"\00a0";
}

/* ---------- offer block figure ---------- */
.offer-block-figure{margin:0 0 22px;max-width:420px}
.offer-block-figure img{
  width:100%;height:auto;display:block;
  border:1px solid var(--hair);border-radius:10px;background:var(--paper-2);
}

/* ---------- MyCMSM app ---------- */
.appdl{background:var(--paper-2);border-top:1px solid var(--hair);padding:88px 0}
@media (max-width:720px){.appdl{padding:64px 0}}
.appdl-card{
  position:relative;overflow:hidden;
  background:var(--navy);color:#fff;border-radius:14px;
  padding:56px 60px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
}
@media (max-width:720px){.appdl-card{padding:40px 28px}}
.appdl-copy{position:relative;z-index:1;max-width:560px}
.appdl-eyebrow{color:rgba(255,255,255,.6)}
.appdl-card h2{color:#fff;font-size:40px;margin-top:18px}
@media (max-width:720px){.appdl-card h2{font-size:30px}}
.appdl-card p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.6;margin-top:14px;max-width:460px}
.appdl-mark{flex-shrink:0;opacity:.16}
.appdl-mark img{height:190px;width:auto;display:block}
@media (max-width:900px){
  .appdl-mark{position:absolute;inset-inline-end:-30px;bottom:-40px;opacity:.1}
}

.store-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.store-btn{
  display:inline-flex;align-items:center;gap:12px;
  background:#000;color:#fff;
  border:1px solid rgba(255,255,255,.22);border-radius:10px;
  padding:11px 20px;min-width:186px;
  transition:background .2s,border-color .2s,transform .2s;
}
.store-btn:hover{background:#141414;border-color:rgba(255,255,255,.45);transform:translateY(-2px)}
.store-btn span{display:flex;flex-direction:column;line-height:1.15}
.store-btn small{font-size:10.5px;letter-spacing:.06em;color:rgba(255,255,255,.7);text-transform:uppercase}
.store-btn strong{font-size:17px;font-weight:600;letter-spacing:.01em}

/* ---------- what we offer: apply band ---------- */
/* Shares the included-benefits background so the two read as one block. */
.apply-band{background:var(--paper);padding:0 0 96px}
@media (max-width:720px){.apply-band{padding:0 0 72px}}
.apply-band .apply-cta{margin-top:0}

/* ---------- misc helpers ---------- */
/* Author display rules (e.g. .summary-row{display:flex}) outrank the UA
   [hidden] rule, so enforce it for elements toggled from JS. */
[hidden]{display:none !important}
.empty-note{
  border:1px dashed var(--hair);border-radius:10px;padding:36px;text-align:center;
  color:var(--ink-3);font-size:15px;background:var(--paper-2);
}
.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-40{margin-top:40px}.mt-64{margin-top:64px}
.section-tight{padding:88px 0}
@media (max-width:720px){.section-tight{padding:64px 0}}

/* ================================================================
   RTL - Arabic layout
   ================================================================ */
[dir="rtl"] .eyebrow::before{margin-left:0}
[dir="rtl"] nav.primary a.active::after{left:12px;right:12px}
[dir="rtl"] .faq-q{text-align:right}
[dir="rtl"] .field .chev{right:auto;left:14px}
[dir="rtl"] .photo-badge{left:auto;right:24px}
[dir="rtl"] .photo-quote{left:24px;right:24px}
[dir="rtl"] .who-tag{left:auto;right:24px}
[dir="rtl"] .video-cap{left:auto;right:24px}
[dir="rtl"] .choice .dot{right:auto;left:14px}
[dir="rtl"] .mobile-nav{right:auto;left:0;transform:translateX(-100%);box-shadow:30px 0 60px -20px rgba(11,31,68,.25)}
body.menu-open [dir="rtl"] .mobile-nav,[dir="rtl"] body.menu-open .mobile-nav{transform:translateX(0)}
[dir="rtl"] .wa-float{right:auto;left:24px}
[dir="rtl"] .mn-links a .arr,[dir="rtl"] .btn .arr,[dir="rtl"] .hdr-cta .arr,[dir="rtl"] .plan-link .arr,[dir="rtl"] .calc-btn .arr,[dir="rtl"] .person-read .arr{transform:scaleX(-1)}
[dir="rtl"] .btn:hover .arr,[dir="rtl"] .hdr-cta:hover .arr{transform:scaleX(-1) translateX(3px)}
[dir="rtl"] .plan-card:hover .plan-link .arr{transform:scaleX(-1) translateX(3px)}
[dir="rtl"] .providers-badge{padding-right:0;padding-left:32px;border-right:none;border-left:1px solid rgba(255,255,255,.14)}
@media (max-width:960px){[dir="rtl"] .providers-badge{border-left:none;padding-left:0}}
[dir="rtl"] .calc-step{border-right:none;border-left:1px solid var(--hair)}
[dir="rtl"] .calc-step:last-child{border-left:none}
[dir="rtl"] .why-grid{border-left:none;border-right:1px solid var(--hair)}
[dir="rtl"] .feature{border-right:none;border-left:1px solid var(--hair)}
[dir="rtl"] .summary-total .v .cur{margin-right:0;margin-left:6px}
[dir="rtl"] .summary-total .v .per{margin-left:0;margin-right:4px}
[dir="rtl"] .stat .num sup{margin-left:0;margin-right:2px}
