/* Saudi v2 — Saudi palette on the same typography and container grid as Oman v2 */
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/v2/poppins-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../../fonts/v2/poppins-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../../fonts/v2/poppins-600.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../../fonts/v2/poppins-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../../fonts/v2/poppins-800.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Cairo;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../../fonts/v2/cairo-arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: Cairo;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../../fonts/v2/cairo-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --v2-green: #006c35;
  --v2-green-deep: #004f29;
  --v2-green-soft: #e7f3ec;
  --v2-logo-green: #006c35;
  --v2-logo-green-deep: #004f29;
  --v2-logo-green-hover: #008442;
  --v2-gold: #c9a227;
  --v2-gold-bright: #e1bd48;
  --v2-gold-soft: #f8f1d8;
  --v2-navy: #0b2233;
  --v2-navy-2: #071827;
  --v2-charcoal: #14232d;
  --v2-ink: #11232e;
  --v2-head: #0b2233;
  --v2-mid: #4b5c66;
  --v2-muted: #71808a;
  --v2-line: #dde5e3;
  --v2-bg: #f3f6f5;
  --v2-off: #f8faf9;
  --v2-white: #fff;
  --v2-lime: var(--v2-gold);
  --v2-lime-d: #b89018;
  --v2-lime-ink: #2f2607;
  /* Keep content width aligned with Oman v2 so cross-site switching does not jerk. */
  --v2-max: 1320px;
  --v2-pad: clamp(16px, 1.8vw, 28px);
  --v2-sec-y: 60px;
  --v2-max-pad: calc(var(--v2-max) + var(--v2-pad) * 2);
  --v2-radius: 18px;
  --v2-shadow: 0 14px 42px rgba(8, 34, 30, .1);
  --v2-ff: Poppins, Cairo, system-ui, sans-serif;
}
html[dir="rtl"] { --v2-ff: Cairo, Poppins, system-ui, sans-serif; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.v2-body {
  margin: 0;
  background: var(--v2-bg);
  color: var(--v2-ink);
  font-family: var(--v2-ff);
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}
body.v2-body.is-modal-open { overflow: hidden; }
a { color: var(--v2-green); text-decoration: none; }
a:hover { color: var(--v2-gold); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--v2-gold-bright);
  outline-offset: 3px;
}
.v2-skip {
  position: fixed;
  inset-inline-start: 16px;
  top: -100px;
  z-index: 1000;
  border-radius: 8px;
  background: #fff;
  color: var(--v2-navy);
  padding: 11px 16px;
  box-shadow: var(--v2-shadow);
}
.v2-skip:focus { top: 12px; }
.v2-wrap { background: var(--v2-bg); min-height: 50vh; }
.v2-container { max-width: var(--v2-max); margin: 0 auto; }
.v2-narrow { max-width: 900px; text-align: center; }
.v2-narrow-wide { max-width: 1040px; }

/* Shared typography and controls */
.v2-eye,
.v2-page-eye,
.v2-eye-soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 7px 15px;
  background: var(--v2-gold-soft);
  color: #725a0b;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.v2-eye i,
.v2-page-eye i,
.v2-eye-soft i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.v2-h2 {
  margin: 22px 0 0;
  color: var(--v2-head);
  font-size: clamp(28px, 3.1vw, 44px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.14;
  text-wrap: balance;
}
.v2-h2 span { color: var(--v2-green); }
.v2-lead {
  max-width: 760px;
  margin: 16px auto 0;
  color: var(--v2-mid);
  font-size: 16.5px;
  line-height: 1.7;
}
.v2-sec { padding: var(--v2-sec-y) var(--v2-pad); }
.v2-sec-head { max-width: 860px; margin: 0 auto 46px; text-align: center; }
.v2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 15px 28px;
  cursor: pointer;
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.v2-btn:hover { transform: translateY(-2px); }
.v2-btn-gold,
.v2-btn-lime {
  background: var(--v2-gold);
  color: #201b08;
  box-shadow: 0 8px 24px rgba(201, 162, 39, .22);
}
.v2-btn-gold:hover,
.v2-btn-lime:hover { background: var(--v2-gold-bright); color: #201b08; }
.v2-btn-navy { background: var(--v2-navy); color: #fff; }
.v2-btn-navy:hover { background: var(--v2-green-deep); color: #fff; }
.v2-btn-ghost { border-color: var(--v2-green); background: transparent; color: var(--v2-green); }
.v2-btn-ghost:hover { background: var(--v2-green); color: #fff; }
.v2-btn-line { border-color: #cdd8d5; background: #fff; color: var(--v2-navy); }
.v2-btn-line:hover { border-color: var(--v2-green); color: var(--v2-green); }
.v2-btn-light { border-color: rgba(255,255,255,.72); background: #fff; color: var(--v2-navy); }
.v2-btn-ghost-light { border: 1px solid rgba(255,255,255,.65); background: transparent; color: #fff; }
.v2-btn-ghost-light:hover { background: #fff; color: var(--v2-navy); }

/* Header */
.v2-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 1px 0 rgba(12, 47, 36, .1);
}
.v2-util {
  background: #080C14;
  color: #cbd5e1;
  border-bottom: 1px solid #243044;
  position: relative;
  z-index: 5;
}
.v2-util-inner {
  max-width: var(--v2-max-pad);
  margin-inline: auto;
  padding: 8px var(--v2-pad);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  font-size: 12px;
}
.v2-util-contacts,
.v2-util-meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 16px 24px;
}
.v2-util-meta { margin-inline-start: auto; gap: 16px; }
.v2-util a { color: #cbd5e1; }
.v2-util-phone,
.v2-util-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #cbd5e1;
  transition: color 0.15s ease;
  white-space: nowrap;
}
.v2-util-phone strong,
.v2-util-wa strong {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  unicode-bidi: embed;
}
.v2-util-phone:hover { color: #D4AF37; }
.v2-util-phone:hover strong { color: #D4AF37; }
.v2-util-wa:hover { color: #38BDF8; }
.v2-util-wa:hover strong { color: #38BDF8; }
.v2-util-icon { display: inline-flex; align-items: center; color: #c4d92e; }
.v2-util-wa .v2-util-icon { color: #25d366; }
.v2-util-note { color: #94a3b8; }
.v2-util-lang { color: #D4AF37; font-weight: 600; white-space: nowrap; }
.v2-util-lang:hover { color: #e8c96a; text-decoration: underline; }
.v2-util-lang-ar { font-family: Cairo, sans-serif; }
.v2-nav-row {
  max-width: var(--v2-max-pad);
  margin-inline: auto;
  padding: 16px var(--v2-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.v2-logo { display: flex; align-items: center; gap: 14px; color: var(--v2-navy); flex: 0 0 auto; }
.v2-logo:hover { color: var(--v2-navy); }
.v2-logo-mark,
.v2-flogo-mark {
  position: relative;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--v2-logo-green), var(--v2-logo-green-deep));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.v2-logo-mark { width: 52px; height: 52px; border-radius: 14px; }
.v2-logo:hover .v2-logo-mark,
.v2-logo:focus-visible .v2-logo-mark {
  background: linear-gradient(145deg, var(--v2-logo-green-hover), var(--v2-logo-green));
}
.v2-logo-mark::before,
.v2-flogo-mark::before { content: none; }
.v2-logo-mark span,
.v2-flogo-mark span {
  display: block;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}
.v2-flogo-mark span { font-size: 19px; }
.v2-logo-title { display: block; color: var(--v2-navy); font-size: 25px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; white-space: nowrap; }
.v2-logo-sub { display: block; color: var(--v2-muted); font-size: 11px; font-weight: 500; letter-spacing: .06em; margin-top: 2px; }
.v2-nav { display: flex; align-items: center; gap: 18px; margin-inline-start: 0; font-size: 16px; }
.v2-nav a { border-bottom: 2.5px solid transparent; color: #263c47; font-weight: 500; padding: 0 0 5px; white-space: nowrap; }
.v2-nav a:hover,
.v2-nav a.is-active { border-bottom-color: var(--v2-gold); color: var(--v2-green); }
.v2-nav a.is-active { font-weight: 600; }
.v2-nav-end { display: flex; align-items: center; gap: 22px; margin-inline-start: 0; flex-shrink: 0; }
.v2-cta {
  min-height: 43px;
  border: 0;
  border-radius: 6px;
  background: var(--v2-green);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  font-style: normal;
  padding: 13px 26px;
}
.v2-cta:hover { background: var(--v2-green-deep); }
.v2-menu-btn {
  width: 43px;
  height: 43px;
  display: none;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5dfdc;
  border-radius: 9px;
  background: #fff;
  color: var(--v2-navy);
  cursor: pointer;
}
.v2-mobile { display: none; padding: 8px var(--v2-pad) 22px; border-top: 1px solid var(--v2-line); }
.v2-header.is-mobile-open .v2-mobile { display: grid; gap: 2px; }
.v2-mobile a { border-bottom: 1px solid #edf1f0; color: var(--v2-navy); font-size: 16px; font-weight: 500; padding: 13px 4px; }
.v2-mobile a:empty,
.v2-nav a:empty { display: none !important; }
.v2-mobile a.is-active { color: var(--v2-green); }
.v2-mobile .v2-cta { margin-top: 13px; width: 100%; }
.v2-mega {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 12px var(--v2-pad) 0;
  justify-content: center;
}
.v2-header.is-mega-open .v2-mega { display: flex; }
.v2-mega-inner {
  width: min(840px, 100%);
  overflow: hidden;
  border: 1px solid var(--v2-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(7, 24, 39, .2);
}
.v2-mega-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 26px; }
.v2-mega-item { display: flex; gap: 13px; align-items: flex-start; }
.v2-mega-ico {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--v2-green-soft);
  color: var(--v2-green);
}
.v2-mega-ico svg {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.v2-mega-copy strong { display: block; color: var(--v2-navy); font-size: 15.5px; line-height: 1.3; }
.v2-mega-copy span { display: block; margin-top: 4px; color: var(--v2-muted); font-size: 13px; line-height: 1.45; }
.v2-mega-locs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; border-top: 1px solid var(--v2-line); background: var(--v2-off); padding: 15px 26px; color: var(--v2-muted); font-size: 13px; }
.v2-chip { display: inline-flex; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: var(--v2-mid); font-size: 13px; padding: 7px 15px; }

/* Floating WhatsApp */
.v2-wa-float {
  position: fixed;
  inset-inline-end: 22px;
  bottom: 24px;
  z-index: 200;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #1faf5b;
  box-shadow: 0 14px 34px rgba(4, 65, 34, .28);
}
.v2-wa-float:hover { background: #148f48; transform: translateY(-2px); }

/* Homepage hero */
.v2-hero { padding: 28px 0 0; background: radial-gradient(circle at 78% 10%, rgba(201,162,39,.13), transparent 34%), var(--v2-bg); }
.v2-hero > .v2-container,
.v2-strip > .v2-container {
  max-width: var(--v2-max-pad);
  padding-left: var(--v2-pad);
  padding-right: var(--v2-pad);
  overflow: visible;
}
.v2-hero-frame { position: relative; }
.v2-hero-card { position: relative; height: 520px; min-height: 520px; overflow: hidden; border-radius: 20px; background: var(--v2-navy-2); box-shadow: 0 22px 60px rgba(7, 24, 39, .2); }
.v2-home .v2-hero-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s ease; }
.v2-home .v2-hero-card > img.is-on { opacity: 1; }
.v2-hero-grad { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,20,27,.96), rgba(4,36,27,.72) 52%, rgba(4,20,27,.13)); }
[dir="rtl"] .v2-hero-grad { background: linear-gradient(270deg, rgba(4,20,27,.96), rgba(4,36,27,.72) 52%, rgba(4,20,27,.13)); }
.v2-hero-copy { position: absolute; inset: 0; z-index: 2; width: min(660px, 75%); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: clamp(30px, 4vw, 58px) clamp(24px, 3.6vw, 54px); }
.v2-hero-badge { border: 1px solid rgba(225,189,72,.75); border-radius: 999px; background: rgba(7,24,39,.5); color: var(--v2-gold-bright); font-size: 12.5px; font-weight: 600; letter-spacing: .03em; padding: 7px 15px; }
.v2-hero-copy h1,
.v2-hero-copy h2 { max-width: 620px; margin: 22px 0 0; color: #fff; font-size: clamp(32px, 3.6vw, 52px); font-weight: 700; letter-spacing: -.03em; line-height: 1.22; text-wrap: pretty; }
.v2-hero-text { max-width: 460px; margin: 18px 0 0; color: #d5dfdc; font-size: clamp(15px, 1.2vw, 17px); line-height: 1.6; }
.v2-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; pointer-events: auto; }
.v2-hero-actions.is-centered { justify-content: center; }
.v2-hero-sec { border: 0; border-bottom: 1.5px solid rgba(255,255,255,.45); background: none; color: #fff; cursor: pointer; font-family: inherit; font-size: 15.5px; font-weight: 600; font-style: normal; padding: 0 0 3px; }
.v2-hero-sec:hover { border-color: var(--v2-gold-bright); color: var(--v2-gold-bright); }
.v2-hero-progress { position: absolute; z-index: 3; inset-inline-end: clamp(24px, 4vw, 50px); bottom: clamp(24px, 4vw, 48px); display: flex; align-items: center; gap: 12px; color: #fff; }
.v2-hero-progress b { font-size: 15px; color: #fff; }
.v2-hero-progress em { color: #9fb1ad; font-style: normal; }
.v2-hero-bar { position: relative; width: 120px; height: 3px; background: rgba(255,255,255,.25); }
.v2-hero-bar i { position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 25%; background: var(--v2-gold-bright); transition: width .3s ease; }
.v2-slide-arrow { position: absolute; z-index: 5; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--v2-navy); box-shadow: var(--v2-shadow); cursor: pointer; }
.v2-arrow-prev { left: 0; transform: translate(-50%, -50%); }
.v2-arrow-next { right: 0; transform: translate(50%, -50%); }
[dir="rtl"] .v2-arrow-prev { left: auto; right: 0; transform: translate(50%, -50%); }
[dir="rtl"] .v2-arrow-next { right: auto; left: 0; transform: translate(-50%, -50%); }
.v2-slide-arrow:hover { background: var(--v2-gold); }
.v2-dots { display: flex; justify-content: center; gap: 10px; margin-top: 26px; }
.v2-dots button { width: 10px; height: 10px; border: 0; border-radius: 999px; background: #b8c5c2; cursor: pointer; padding: 0; }
.v2-dots button.is-on { width: 34px; background: var(--v2-green); }
.v2-strip { margin-top: 42px; overflow: hidden; background: var(--v2-green); color: #fff; }
.v2-strip-inner {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(10px, 1.6vw, 28px);
  width: 100%;
  padding: 14px 0 0;
  flex-wrap: nowrap;
  direction: ltr;
}
.v2-strip-deco {
  flex: 0 0 140px;
  width: 140px;
  height: 30px;
  display: block;
  opacity: .38;
  background: none !important;
}
.v2-strip-deco.is-reverse { transform: scaleX(-1); }
.v2-strip-text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-bottom: 12px;
  flex: 0 1 auto;
  color: #fff;
  font-size: clamp(14px, 1.5vw, 19px);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
.v2-strip-text svg { flex: 0 0 auto; }
.v2-tabs { border-bottom: 1px solid var(--v2-line); background: #fff; }
.v2-tabs-inner { max-width: var(--v2-max-pad); margin-inline: auto; padding: 18px var(--v2-pad); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 24px; }
.v2-tabs a { border-bottom: 2.5px solid transparent; color: var(--v2-mid); font-size: 15px; font-weight: 500; padding: 6px 2px 8px; }
.v2-tabs a.is-on,
.v2-tabs a:hover { border-color: var(--v2-gold); color: var(--v2-green); }

/* Cards, services and locations */
.v2-grid,
.v2-feature-grid,
.v2-team-grid,
.v2-caps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(255px, 100%), 1fr)); gap: 22px; }
.v2-card,
.v2-team-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--v2-line);
  border-radius: var(--v2-radius);
  background: #fff;
  box-shadow: 0 4px 18px rgba(8,34,30,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.v2-card:hover,
.v2-team-card:hover { transform: translateY(-5px); border-color: rgba(0,108,53,.35); box-shadow: var(--v2-shadow); }
.v2-card-img { height: 150px; overflow: hidden; background: #e7efec; flex: 0 0 auto; }
.v2-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.v2-card:hover .v2-card-img img { transform: scale(1.035); }
.v2-card-body { display: flex; flex-direction: column; flex: 1 1 auto; height: auto; overflow: visible; padding: 22px 22px 20px; }
.v2-card h3 { margin: 0; color: var(--v2-navy); font-size: 19px; font-weight: 700; }
.v2-card p { margin: 12px 0 20px; color: var(--v2-mid); font-size: 14.5px; line-height: 1.62; }
.v2-card-num { color: var(--v2-gold); font-size: 12px; font-weight: 800; letter-spacing: .1em; margin-bottom: 12px; }
.v2-more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; flex-shrink: 0; color: var(--v2-navy); font-size: 14.5px; font-weight: 600; }
.v2-more:hover { color: var(--v2-green); }
.v2-more svg { display: block; flex: 0 0 auto; }
.v2-lead-card { border-radius: var(--v2-radius); background: linear-gradient(145deg, var(--v2-green), var(--v2-green-deep)); color: #fff; padding: 28px; }
.v2-lead-card h3 { margin: 0; color: #fff; font-size: 23px; font-weight: 700; line-height: 1.24; }
.v2-lead-card p { color: #d3e5dc; font-size: 14.5px; line-height: 1.6; }
.v2-lead-card input { width: 100%; height: 46px; border: 1px solid rgba(255,255,255,.35); border-radius: 8px; background: #fff; color: var(--v2-navy); padding: 0 14px; }
.v2-lead-card .v2-btn { width: 100%; margin-top: 11px; background: var(--v2-gold); color: #201b08; }
.v2-locs,
.v2-stack-sec,
.v2-contact-sec,
.v2-contact-faq,
.v2-blog { background: var(--v2-off); }
.v2-loc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr)); gap: 22px; }
.v2-loc { min-height: 275px; display: flex; flex-direction: column; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; padding: 26px; }
.v2-loc:hover { border-color: var(--v2-green); box-shadow: var(--v2-shadow); }
.v2-loc-tag { align-self: flex-start; border-radius: 999px; background: var(--v2-green-soft); color: var(--v2-green); font-size: 12.5px; font-weight: 500; padding: 6px 12px; }
.v2-loc h3 { margin: 18px 0 0; color: var(--v2-navy); font-size: 21px; font-weight: 700; }
.v2-loc p { margin: 14px 0 20px; color: var(--v2-mid); font-size: 14.5px; line-height: 1.65; }
.v2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.v2-more-center { margin-top: 34px; text-align: center; }
.v2-more-center a { font-size: 14.5px; font-weight: 500; }

/* Saudi trust blocks */
.v2-trust { position: relative; overflow: hidden; padding: var(--v2-sec-y) var(--v2-pad); background: var(--v2-navy-2); }
.v2-trust::before { content: ""; position: absolute; width: 520px; height: 520px; inset-inline-end: -180px; top: -240px; border: 1px solid rgba(201,162,39,.18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(201,162,39,.035), 0 0 0 140px rgba(201,162,39,.025); }
.v2-trust-head { position: relative; max-width: 820px; margin-bottom: 42px; }
.v2-trust .v2-eye { border: 1px solid rgba(225,189,72,.42); background: rgba(201,162,39,.1); color: var(--v2-gold-bright); }
.v2-trust .v2-h2 { color: #fff; }
.v2-trust .v2-lead { margin-inline: 0; color: #aebeba; }
.v2-trust-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.v2-trust-grid.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v2-trust-grid article { border: 1px solid rgba(255,255,255,.12); border-top-color: rgba(225,189,72,.65); border-radius: 15px; background: rgba(255,255,255,.045); padding: 25px 22px; }
.v2-trust-grid article > span { color: var(--v2-gold-bright); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.v2-trust-grid h3 { margin: 18px 0 0; color: #fff; font-size: 17px; }
.v2-trust-grid p { margin: 11px 0 0; color: #aebeba; font-size: 13.5px; line-height: 1.7; }

/* About and statistics */
.v2-about { padding: var(--v2-sec-y) var(--v2-pad); background: #fff; }
.v2-about-grid,
.v2-about-story,
.v2-about-hero-grid,
.v2-adv-grid,
.v2-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(34px, 5vw, 70px); }
.v2-about-photo,
.v2-about-story-img,
.v2-split-img { min-height: 360px; overflow: hidden; border-radius: var(--v2-radius); background: #e8efed; }
.v2-about-photo img,
.v2-about-story-img img,
.v2-split-img img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.v2-about-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.v2-stats { padding: var(--v2-sec-y) var(--v2-pad); background: var(--v2-green); }
.v2-stats-grid { width: min(100%, var(--v2-max)); margin-inline: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.v2-stat { border-inline-start: 1px solid rgba(255,255,255,.2); padding: 7px clamp(18px, 3vw, 34px); }
.v2-stat:first-child { border-inline-start: 0; }
.v2-stat b { display: block; color: var(--v2-gold-bright); font-size: clamp(34px, 3.4vw, 46px); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; }
.v2-stat span { display: block; margin-top: 14px; color: #e5f0eb; font-size: 15px; }

/* Process, work and pricing */
.v2-process,
.v2-phases,
.v2-values { background: var(--v2-navy); }
.v2-process .v2-h2,
.v2-phases .v2-h2,
.v2-values .v2-h2 { color: #fff; }
.v2-process .v2-lead,
.v2-phases .v2-lead,
.v2-values .v2-lead { color: #acbbb8; }
.v2-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 20px; }
.v2-step { border: 1px solid rgba(255,255,255,.11); border-radius: 15px; background: rgba(255,255,255,.045); padding: 28px 24px; }
.v2-step-num { color: var(--v2-gold-bright); font-size: 58px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.v2-step h3 { margin: 24px 0 0; color: #fff; font-size: 19px; font-weight: 700; }
.v2-step p { margin: 14px 0 0; color: #aab9b6; font-size: 14.5px; line-height: 1.68; }
.v2-work { background: #fff; }
.v2-work-bar,
.v2-blog-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; }
.v2-blog-head .v2-h2 { margin-top: 0; }
.v2-filters { display: flex; flex-wrap: wrap; gap: 9px; }
.v2-filters button { min-height: 40px; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: var(--v2-mid); cursor: pointer; font-size: 13px; font-weight: 650; padding: 9px 18px; }
.v2-filters button:hover,
.v2-filters button.is-on { border-color: var(--v2-green); background: var(--v2-green); color: #fff; }
.v2-work-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 22px; }
.v2-proj { position: relative; height: 270px; overflow: hidden; border-radius: 15px; background: #dfe9e5; }
.v2-proj img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.v2-proj:hover img { transform: scale(1.045); }
.v2-proj-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,20,26,.9), rgba(3,20,26,.02) 72%); }
.v2-proj-meta { position: absolute; inset-inline: 20px; bottom: 18px; }
.v2-proj-tag { display: inline-flex; border-radius: 999px; background: var(--v2-gold); color: #241d07; font-size: 12.5px; font-weight: 600; padding: 5px 10px; }
.v2-proj-meta strong { display: block; margin-top: 12px; color: #fff; font-size: 19px; }
.v2-proj-meta em { display: block; margin-top: 5px; color: #c9d6d3; font-size: 13.5px; font-style: normal; }
.v2-price { background: var(--v2-off); }
.v2-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 22px; }
.v2-plan { position: relative; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; padding: 31px 27px; }
.v2-plan.is-pop { border-color: var(--v2-green); background: var(--v2-green); box-shadow: 0 22px 50px rgba(0,79,41,.2); color: #fff; padding-block: 39px; }
.v2-pop { position: absolute; inset-inline-end: 22px; top: -14px; border-radius: 999px; background: var(--v2-gold); color: #251e07; font-size: 11.5px; font-weight: 800; padding: 7px 13px; }
.v2-plan-eye { color: var(--v2-muted); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.v2-plan.is-pop .v2-plan-eye { color: #c4dbd0; }
.v2-plan-name { margin: 14px 0 0; color: var(--v2-navy); font-size: 22px; font-weight: 700; }
.v2-plan.is-pop .v2-plan-name { color: #fff; }
.v2-plan-price { display: flex; align-items: baseline; gap: 8px; margin-top: 20px; }
.v2-plan-price span,
.v2-plan-price small { color: var(--v2-muted); font-size: 14px; font-weight: 600; }
.v2-plan-price b { color: var(--v2-navy); font-size: 46px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.v2-plan.is-pop .v2-plan-price b { font-size: 50px; color: var(--v2-gold-bright); }
.v2-plan.is-pop .v2-plan-price span,
.v2-plan.is-pop .v2-plan-price small { color: #c4dbd0; }
.v2-plan-note { margin-top: 14px; color: var(--v2-muted); font-size: 14px; }
.v2-plan.is-pop .v2-plan-note { color: #c4dbd0; }
.v2-plan-hr { height: 1px; margin: 24px 0; background: var(--v2-line); }
.v2-plan.is-pop .v2-plan-hr { background: rgba(255,255,255,.18); }
.v2-plan-list { display: grid; gap: 12px; }
.v2-plan-list > div { display: flex; align-items: flex-start; gap: 11px; color: var(--v2-mid); font-size: 14.5px; line-height: 1.5; }
.v2-plan-list > div > span { color: var(--v2-green); font-weight: 800; }
.v2-plan.is-pop .v2-plan-list > div { color: #eef7f2; }
.v2-plan.is-pop .v2-plan-list > div > span { color: var(--v2-gold-bright); }
.v2-plan .v2-btn { width: 100%; margin-top: 27px; }

/* FAQ */
.v2-faq { background: #fff; }
.v2-faq-grid { width: min(100%, var(--v2-max)); margin-inline: auto; display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: clamp(35px, 6vw, 76px); }
.v2-faq-grid .v2-lead { margin-inline: 0; }
.v2-faq-photo { height: 300px; overflow: hidden; border-radius: 15px; margin-top: 28px; background: #e8efed; }
.v2-faq-photo img { width: 100%; height: 100%; object-fit: cover; }
.v2-faq-item { border-bottom: 1px solid var(--v2-line); padding: 21px 0; }
.v2-faq-item:first-child { border-top: 1px solid var(--v2-line); }
.v2-faq-item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 0; background: none; color: var(--v2-navy); cursor: pointer; font-family: inherit; font-size: 16.5px; font-weight: 700; font-style: normal; text-align: start; padding: 0; }
.v2-faq-sign { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #ccd8d4; border-radius: 50%; color: var(--v2-green); }
.v2-faq-a { display: none; max-width: 620px; margin: 14px 0 0; color: var(--v2-mid); font-size: 15px; line-height: 1.72; }
.v2-faq-item.is-open .v2-faq-a { display: block; }

/* Page heroes and service pages */
.v2-page-hero,
.v2-svc-hero,
.v2-about-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 85% 25%, rgba(0,108,53,.4), transparent 36%), var(--v2-navy-2);
  color: #fff;
  padding: var(--v2-sec-y) var(--v2-pad);
}
.v2-page-hero:not(.is-split) { text-align: center; }
.v2-page-hero::after,
.v2-svc-hero::after,
.v2-about-hero::after { content: ""; position: absolute; inset-inline-end: -90px; bottom: -180px; width: 420px; height: 420px; border: 1px solid rgba(201,162,39,.17); border-radius: 50%; box-shadow: 0 0 0 58px rgba(201,162,39,.03); }
.v2-page-hero-inner,
.v2-svc-hero > .v2-container,
.v2-about-hero > .v2-container { position: relative; z-index: 1; }
.v2-page-hero-inner { width: min(100%, var(--v2-max)); margin-inline: auto; }
.v2-page-hero.is-split .v2-page-hero-inner,
.v2-svc-hero-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(36px, 6vw, 80px); text-align: start; }
.v2-page-eye { border: 1px solid rgba(225,189,72,.5); background: rgba(201,162,39,.1); color: var(--v2-gold-bright); }
.v2-page-eye.is-solid { border: 0; background: var(--v2-gold); color: #2c2407; }
.v2-page-eye.is-soft { background: rgba(201,162,39,.12); }
.v2-page-hero h1,
.v2-svc-hero h1,
.v2-about-hero h1 { max-width: 850px; margin: 21px auto 0; color: #fff; font-size: clamp(32px, 3.6vw, 50px); font-weight: 700; letter-spacing: -.03em; line-height: 1.14; text-wrap: balance; }
.v2-page-hero h1 span,
.v2-svc-hero h1 span,
.v2-about-hero h1 span { color: var(--v2-gold-bright); }
.v2-page-hero p,
.v2-svc-hero p,
.v2-about-hero p { max-width: 720px; margin: 17px auto 0; color: #b8c8c4; font-size: 15.5px; line-height: 1.75; }
.v2-page-hero.is-split h1,
.v2-page-hero.is-split p,
.v2-page-hero.is-ink h1,
.v2-page-hero.is-ink p,
.v2-svc-hero h1,
.v2-svc-hero p,
.v2-about-hero h1,
.v2-about-hero p { margin-inline: 0; }
.v2-page-hero-media,
.v2-svc-hero-media { position: relative; min-height: 330px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: var(--v2-radius); background: #102c38; }
.v2-page-hero-media img,
.v2-svc-hero-media > img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.v2-crumb { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; color: #91a8a2; font-size: 12.5px; }
.v2-page-hero.is-split .v2-crumb,
.v2-page-hero.is-ink .v2-crumb,
.v2-svc-hero .v2-crumb,
.v2-about-hero .v2-crumb { justify-content: flex-start; }
.v2-crumb a { color: #c3d2ce; }
.v2-crumb a:hover { color: var(--v2-gold-bright); }
.v2-crumb em { color: #fff; font-style: normal; font-weight: 650; }
.v2-svc-hero-actions,
.v2-about-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 29px; }
.v2-svc-metric,
.v2-loc-metric,
.v2-about-metric { position: absolute; inset-inline-end: 17px; bottom: 17px; max-width: 235px; border: 1px solid rgba(225,189,72,.65); border-radius: 12px; background: rgba(7,24,39,.93); padding: 16px 18px; color: #c0d0cc; }
.v2-svc-metric { top: 17px; bottom: auto; }
.v2-svc-metric span { color: var(--v2-gold-bright); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.v2-svc-metric b,
.v2-loc-metric b,
.v2-about-metric b { display: block; margin-top: 6px; color: #fff; font-size: 18px; }
.v2-svc-metric p,
.v2-loc-metric span,
.v2-about-metric span { display: block; margin: 5px 0 0; color: #aebeba; font-size: 11.5px; line-height: 1.55; }
.v2-caps article { border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; padding: 25px 23px; }
.v2-cap-ico,
.v2-about-ico { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--v2-green-soft); color: var(--v2-green); }
.v2-cap-ico i { width: 12px; height: 12px; border: 2px solid var(--v2-green); border-radius: 2px 50% 50% 50%; transform: rotate(45deg); }
.v2-caps h3 { margin: 20px 0 0; color: var(--v2-navy); font-size: 18px; font-weight: 700; }
.v2-caps p { margin: 12px 0 0; color: var(--v2-mid); font-size: 14px; line-height: 1.65; }
.v2-caps.is-qa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-adv { background: var(--v2-navy); padding: var(--v2-sec-y) var(--v2-pad); }
.v2-adv .v2-h2 { color: #fff; }
.v2-adv-photo { overflow: hidden; border-radius: var(--v2-radius); }
.v2-adv-photo img { width: 100%; height: 390px; object-fit: cover; }
.v2-adv-list { display: grid; gap: 20px; margin-top: 26px; }
.v2-adv-list > div { display: flex; align-items: flex-start; gap: 12px; }
.v2-adv-check { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--v2-gold); border-radius: 50%; color: var(--v2-gold-bright); }
.v2-adv-list strong { display: block; color: #fff; font-size: 15px; }
.v2-adv-list em { display: block; margin-top: 5px; color: #aab9b6; font-size: 13.5px; font-style: normal; line-height: 1.65; }
.v2-pills { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.v2-pills span { border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: var(--v2-mid); font-size: 13px; font-weight: 600; padding: 9px 17px; }
.v2-phases { padding: var(--v2-sec-y) var(--v2-pad); }
.v2-phase-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 28px; }
.v2-phase { border-inline-start: 1px solid rgba(255,255,255,.17); padding-inline-start: 22px; }
.v2-phase-num { color: var(--v2-gold-bright); font-size: 46px; font-weight: 800; line-height: 1; }
.v2-phase-dot { width: 8px; height: 8px; display: block; border-radius: 50%; background: var(--v2-green); margin: 20px 0 13px; box-shadow: 0 0 0 5px rgba(0,108,53,.2); }
.v2-phase h3 { margin: 0; color: #fff; font-size: 16px; }
.v2-phase p { margin: 9px 0 0; color: #aab9b6; font-size: 13px; line-height: 1.65; }
.v2-market-band { background: var(--v2-green); color: #fff; padding: var(--v2-sec-y) var(--v2-pad); }
.v2-market-band > .v2-container { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 35px; }
.v2-market-band .v2-eye { background: rgba(255,255,255,.11); color: var(--v2-gold-bright); border: 1px solid rgba(255,255,255,.2); }
.v2-market-band .v2-h2 { color: #fff; font-size: clamp(25px, 3vw, 36px); }
.v2-market-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.v2-market-points span { border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(255,255,255,.07); padding: 12px 14px; color: #eef7f2; font-size: 13px; }
.v2-rich-sec { background: #fff; }
.v2-rich-cta { margin-top: 28px; }
.v2-related { border-top: 1px solid var(--v2-line); margin-top: 40px; padding-top: 34px; }

/* Contact */
.v2-contact-grid,
.v2-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 26px; }
.v2-form-card,
.v2-panel,
.v2-info-card { border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; box-shadow: 0 5px 22px rgba(8,34,30,.06); padding: 29px; }
.v2-form-card h2 { margin: 20px 0 0; color: var(--v2-navy); font-size: 24px; }
.v2-form-card > p { margin: 8px 0 0; color: var(--v2-muted); font-size: 13.5px; }
.v2-form { display: grid; gap: 16px; margin-top: 24px; }
.v2-form-row,
.v2-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.v2-field-full { display: grid; margin-top: 17px; }
.v2-form label > span,
.v2-field > span { display: block; margin-bottom: 7px; color: #304650; font-size: 12.5px; font-weight: 650; }
.v2-form input,
.v2-form select,
.v2-form textarea,
.v2-field input,
.v2-field select,
.v2-field textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d5dfdc;
  border-radius: 8px;
  background: #fff;
  color: var(--v2-navy);
  padding: 0 13px;
}
.v2-form textarea,
.v2-field textarea { min-height: 120px; padding-block: 12px; resize: vertical; }
.v2-form :where(input, select, textarea):focus,
.v2-field :where(input, select, textarea):focus { border-color: var(--v2-green); box-shadow: 0 0 0 3px rgba(0,108,53,.1); outline: 0; }
.v2-submit { width: 100%; }
.v2-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.v2-contact-side { display: grid; gap: 17px; }
.v2-direct-card { border-top: 3px solid var(--v2-gold); }
.v2-side-head { display: flex; align-items: center; gap: 10px; }
.v2-side-head strong { color: var(--v2-navy); font-size: 15px; }
.v2-contact-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: var(--v2-green-soft); color: var(--v2-green); font-size: 12px; }
.v2-info-card p { margin: 13px 0 0; color: var(--v2-mid); font-size: 13.5px; line-height: 1.65; }
.v2-info-card > span { display: block; color: var(--v2-muted); font-size: 12px; margin-top: 5px; }
.v2-direct-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }
.v2-direct-links a { min-width: 0; border: 1px solid var(--v2-line); border-radius: 9px; background: var(--v2-off); padding: 12px; }
.v2-direct-links a:hover { border-color: var(--v2-green); background: var(--v2-green-soft); }
.v2-direct-links span { display: block; color: var(--v2-muted); font-size: 10.5px; }
.v2-direct-links strong { display: block; margin-top: 4px; color: var(--v2-navy); font-size: 12.5px; overflow-wrap: anywhere; }
.v2-loc-lines { display: grid; gap: 12px; margin-top: 21px; }
.v2-loc-lines > span { display: flex; align-items: flex-start; gap: 9px; color: var(--v2-mid); font-size: 13.5px; line-height: 1.55; }
.v2-loc-lines svg { color: var(--v2-green); flex: 0 0 auto; margin-top: 2px; }
.v2-city-caps { background: #fff; border-top: 1px solid var(--v2-line); }
.v2-city-faq { background: var(--v2-off); }
.v2-city-faq-list { max-width: 860px; margin: 0 auto; }
.v2-contact-bridge { background: #fff; }
.v2-coverage-card { box-shadow: none; border-top: 4px solid var(--v2-green); }
.v2-coverage-mark { color: var(--v2-gold); font-size: 26px; }
.v2-coverage-card h3 { margin: 20px 0 0; color: var(--v2-navy); font-size: 22px; }
.v2-coverage-card p { color: var(--v2-mid); line-height: 1.75; }
.v2-coverage-card a { font-weight: 700; }
.v2-client-strip { border-bottom: 1px solid var(--v2-line); background: #fff; padding: var(--v2-sec-y) var(--v2-pad); text-align: center; }
.v2-client-kicker { color: var(--v2-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .1em; }
.v2-clients { display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; gap: 16px 25px; margin-top: 19px; color: #869792; font-size: 12px; font-weight: 800; letter-spacing: .05em; }
.v2-panel-dark { background: var(--v2-navy); color: #fff; text-align: center; }
.v2-panel-green { background: var(--v2-green); color: #fff; text-align: center; }
.v2-panel-dark h3,
.v2-panel-green h3 { color: #fff; margin: 0; }
.v2-panel-dark p,
.v2-panel-green p { color: #c1d0cc; line-height: 1.65; }

/* About, team and careers */
.v2-about-hero-frame { position: relative; border: 8px solid rgba(255,255,255,.08); border-radius: var(--v2-radius); box-shadow: 0 25px 60px rgba(0,0,0,.28); overflow: hidden; }
.v2-about-hero-frame img { width: 100%; height: 350px; object-fit: cover; }
.v2-about-stats { border-bottom: 1px solid var(--v2-line); background: #fff; padding: var(--v2-sec-y) var(--v2-pad); }
.v2-about-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 22px; text-align: center; }
.v2-about-stats-grid strong { display: block; color: var(--v2-green); font-size: clamp(27px, 3vw, 38px); }
.v2-about-stats-grid span { display: block; margin-top: 6px; color: var(--v2-muted); font-size: 12.5px; }
.v2-about-mv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.v2-about-mv article { border: 1px solid var(--v2-line); border-top: 3px solid var(--v2-gold); border-radius: 14px; background: #fff; padding: 28px; text-align: start; }
.v2-about-mv article.is-navy { border-top-color: var(--v2-green); }
.v2-about-mv h3 { margin: 18px 0 0; color: var(--v2-navy); }
.v2-about-mv p { color: var(--v2-mid); font-size: 13.5px; line-height: 1.7; }
.v2-team-card img { width: 100%; height: 260px; object-fit: cover; background: #e6eeeb; }
.v2-team-card > div { padding: 20px; }
.v2-team-card h3 { margin: 0; color: var(--v2-navy); font-size: 17px; }
.v2-team-card em,
.v2-role-type { display: block; margin-top: 5px; color: var(--v2-green); font-size: 12px; font-style: normal; font-weight: 700; }
.v2-team-card p { margin: 11px 0 0; color: var(--v2-mid); font-size: 13px; line-height: 1.65; }
.v2-values { padding: var(--v2-sec-y) var(--v2-pad); }
.v2-value { border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.045); padding: 25px; }
.v2-value h3 { margin: 0; color: var(--v2-gold-bright); font-size: 17px; }
.v2-value p { margin: 12px 0 0; color: #abbab7; font-size: 13.5px; line-height: 1.7; }
.v2-about-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 21px; text-align: center; }
.v2-about-year { display: inline-flex; border-radius: 999px; background: var(--v2-green); color: #fff; font-size: 12px; font-weight: 700; padding: 6px 13px; }
.v2-about-timeline i { width: 8px; height: 8px; display: block; margin: 13px auto; border-radius: 50%; background: var(--v2-gold); }
.v2-about-timeline strong { display: block; color: var(--v2-navy); font-size: 13px; }
.v2-about-timeline em { display: block; margin-top: 6px; color: var(--v2-muted); font-size: 11.5px; font-style: normal; line-height: 1.55; }
.v2-about-lead-cta { margin-top: 30px; text-align: center; }
.v2-about-partners { border-top: 1px solid var(--v2-line); background: var(--v2-off); padding: var(--v2-sec-y) var(--v2-pad); text-align: center; }
.v2-empty-card { margin: 0 auto; text-align: center; }
.v2-empty-card h3 { color: var(--v2-navy); }
.v2-empty-card p { color: var(--v2-mid); line-height: 1.7; }

/* Blog and rich content */
.v2-cat-bar { border-bottom: 1px solid var(--v2-line); background: #fff; padding: 16px var(--v2-pad); }
.v2-section-label { margin: 0 0 20px; color: var(--v2-navy); font-size: 21px; }
.v2-blog-feature { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; margin-bottom: 52px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: #fff; box-shadow: var(--v2-shadow); }
.v2-blog-feature > img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.v2-blog-feature-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 42px); }
.v2-blog-feature-body .v2-h2 { font-size: clamp(23px, 2.7vw, 34px); }
.v2-blog-feature-body .v2-lead { margin-inline: 0; font-size: 14px; }
.v2-blog-date { display: block; margin-top: 20px; color: var(--v2-muted); font-size: 12px; font-style: normal; }
.v2-blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); gap: 22px; }
.v2-blog-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; color: var(--v2-ink); }
.v2-blog-card:hover { box-shadow: var(--v2-shadow); color: var(--v2-ink); transform: translateY(-3px); }
.v2-blog-img { height: 190px; overflow: hidden; background: #e5edeb; }
.v2-blog-img img { width: 100%; height: 100%; object-fit: cover; }
.v2-blog-body { height: 100%; display: flex; flex-direction: column; padding: 21px; }
.v2-blog-tag { align-self: flex-start; border-radius: 999px; background: var(--v2-green-soft); color: var(--v2-green); font-size: 10.5px; font-weight: 700; padding: 6px 11px; }
.v2-blog-body h3 { margin: 15px 0 0; color: var(--v2-navy); font-size: 17px; line-height: 1.45; }
.v2-blog-body p { margin: 10px 0 19px; color: var(--v2-mid); font-size: 13px; line-height: 1.65; }
.v2-blog-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--v2-line); margin-top: auto; padding-top: 13px; color: var(--v2-muted); font-size: 11px; }
.v2-blog-foot span { color: var(--v2-navy); font-weight: 650; }
.v2-blog-foot i { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--v2-gold); }
.v2-blog-foot em { font-style: normal; }
.v2-blog-sub { background: var(--v2-navy-2); color: #fff; padding: var(--v2-sec-y) var(--v2-pad); text-align: center; }
.v2-blog-sub h2 { margin: 20px 0 0; color: #fff; font-size: clamp(28px, 3.5vw, 43px); }
.v2-blog-sub p { color: #adbfba; line-height: 1.7; }
.v2-sub-form { display: flex; justify-content: center; flex-wrap: wrap; gap: 11px; margin-top: 26px; }
.v2-sub-form input { width: min(100%, 350px); height: 48px; border: 1px solid #38505a; border-radius: 8px; background: #102c38; color: #fff; padding: 0 14px; }
.v2-article-bleed { position: relative; z-index: 2; width: min(950px, calc(100% - var(--v2-pad) * 2)); margin: -34px auto 0; }
.v2-article-bleed img { width: 100%; height: clamp(240px, 36vw, 480px); object-fit: cover; border-radius: var(--v2-radius); box-shadow: 0 22px 54px rgba(7,24,39,.2); }
.v2-article-sec { background: #fff; }
.v2-article-meta,
.v2-blog-author { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.v2-article-meta { margin-top: 24px; color: #a8b9b5; font-size: 12px; }
.v2-blog-author strong { display: block; color: #fff; font-size: 12.5px; }
.v2-blog-author em { display: block; color: #a8b9b5; font-size: 11px; font-style: normal; }
.v2-author-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--v2-green); color: var(--v2-gold-bright); font-weight: 800; }
.v2-post-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) 290px; align-items: start; gap: 42px; }
.v2-post-body,
.v2-rich { color: var(--v2-mid); font-size: 15.5px; line-height: 1.85; }
.v2-post-body h2,
.v2-rich h2 { margin: 31px 0 13px; color: var(--v2-navy); font-size: 25px; line-height: 1.3; }
.v2-post-body h3,
.v2-rich h3 { margin: 25px 0 10px; color: var(--v2-navy); font-size: 19px; }
.v2-post-body img,
.v2-rich img { height: auto; border-radius: 12px; margin-block: 22px; }
.v2-post-body a,
.v2-rich a { font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.v2-post-aside { position: sticky; top: 112px; display: grid; gap: 20px; }
.v2-promo-card { border-radius: 14px; background: var(--v2-green); color: #fff; padding: 25px 22px; }
.v2-promo-card strong { display: block; color: #fff; font-size: 17px; line-height: 1.4; }
.v2-promo-card p { color: #d2e4db; font-size: 13px; line-height: 1.65; }
.v2-promo-card .v2-btn { width: 100%; }
.v2-side-card { border: 1px solid var(--v2-line); border-radius: 14px; background: var(--v2-off); padding: 22px; }
.v2-side-card h3 { margin: 0 0 11px; color: var(--v2-navy); font-size: 15px; }
.v2-side-card a { display: block; border-bottom: 1px solid var(--v2-line); color: var(--v2-mid); font-size: 12.5px; font-weight: 650; padding: 10px 0; }
.v2-share { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; border-top: 1px solid var(--v2-line); margin-top: 38px; padding-top: 22px; }
.v2-share a { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; font-size: 10px; text-decoration: none; }
.v2-wrap .pricing-grid,
.v2-wrap .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 20px; }
.v2-wrap .price-card,
.v2-wrap .testi-card { border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; padding: 23px; }

/* Sitemap, empty/error states */
.v2-map-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 36px; }
.v2-map-groups h2 { margin: 0 0 19px; color: var(--v2-navy); font-size: 18px; }
.v2-map-groups a { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 13px; color: var(--v2-mid); font-size: 13.5px; }
.v2-map-groups a i { width: 7px; height: 7px; flex: 0 0 auto; border-right: 2px solid var(--v2-gold); border-bottom: 2px solid var(--v2-gold); margin-top: 6px; transform: rotate(-45deg); }
[dir="rtl"] .v2-map-groups a i { transform: rotate(135deg); }
.v2-map-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; border-top: 1px solid var(--v2-line); margin-top: 42px; padding-top: 23px; color: var(--v2-muted); font-size: 12.5px; }
.v2-center { min-height: 58vh; display: grid; place-items: center; padding: var(--v2-sec-y) var(--v2-pad); text-align: center; }
.v2-center-card { max-width: 690px; }
.v2-center-card h1 { color: var(--v2-navy); font-size: clamp(30px, 4.5vw, 48px); }
.v2-center-card > p { color: var(--v2-mid); line-height: 1.75; }
.v2-code { color: var(--v2-green); font-size: clamp(76px, 14vw, 125px); font-weight: 800; letter-spacing: -.06em; line-height: .9; }
.v2-ok { width: 88px; height: 88px; display: grid; place-items: center; margin: 0 auto 23px; border-radius: 50%; background: linear-gradient(145deg, var(--v2-green), #119654); box-shadow: 0 13px 36px rgba(0,108,53,.25); }
.v2-nf-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 28px 0; text-align: start; }
.v2-nf-link { border: 1px solid var(--v2-line); border-radius: 11px; background: #fff; padding: 14px; }
.v2-nf-link strong { display: block; color: var(--v2-navy); }
.v2-nf-link span { display: block; margin-top: 4px; color: var(--v2-muted); font-size: 11.5px; }
.v2-steps-list { display: grid; gap: 11px; margin: 25px 0; text-align: start; }
.v2-step-row { display: flex; align-items: flex-start; gap: 13px; border: 1px solid var(--v2-line); border-radius: 10px; background: var(--v2-off); color: var(--v2-mid); padding: 14px 16px; }
.v2-step-row b { color: var(--v2-green); }
.v2-step-row strong { color: var(--v2-navy); }
.v2-step-row span { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.55; }

/* Quote modal */
.v2-modal { display: none; position: fixed; inset: 0; z-index: 300; align-items: flex-start; justify-content: center; overflow-y: auto; background: rgba(3,17,24,.72); backdrop-filter: blur(4px); padding: 4vh 16px 25px; }
.v2-modal.is-open { display: flex; }
.v2-modal-card { width: min(100%, 660px); overflow: hidden; border-top: 4px solid var(--v2-gold); border-radius: 14px; background: #fff; box-shadow: 0 34px 80px rgba(0,0,0,.4); }
.v2-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--v2-line); padding: 23px 27px 19px; }
.v2-modal-head strong { display: block; color: var(--v2-navy); font-size: 21px; }
.v2-modal-head span span { display: block; margin-top: 5px; color: var(--v2-muted); font-size: 12.5px; }
.v2-modal-x { width: 34px; height: 34px; flex: 0 0 auto; border: 0; border-radius: 50%; background: var(--v2-bg); cursor: pointer; font-size: 21px; line-height: 1; }
.v2-modal-body { padding: 22px 27px 24px; }
.v2-req { color: #b52b38; font-style: normal; }
.v2-check { display: flex; align-items: flex-start; gap: 9px; margin-top: 18px; color: var(--v2-mid); font-size: 12px; }
.v2-check input { flex: 0 0 auto; margin-top: 2px; }
.v2-modal-submit { width: 100%; min-height: 51px; border: 0; border-radius: 8px; background: var(--v2-green); color: #fff; cursor: pointer; font-weight: 750; margin-top: 18px; }
.v2-modal-submit:hover { background: var(--v2-green-deep); }
.v2-modal-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 9px; margin-top: 15px; color: var(--v2-muted); font-size: 11.5px; }
.v2-modal-trust { border-top: 1px solid var(--v2-line); background: var(--v2-off); color: var(--v2-mid); font-size: 12px; text-align: center; padding: 13px 20px; }

/* CTA and footer */
.v2-cta-band { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--v2-gold), #deb83d); padding: var(--v2-sec-y) var(--v2-pad); text-align: center; }
.v2-cta-band::before,
.v2-cta-band::after { content: ""; position: absolute; width: 250px; height: 250px; border: 1px solid rgba(0,79,41,.17); border-radius: 50%; }
.v2-cta-band::before { left: -90px; top: -110px; }
.v2-cta-band::after { right: -100px; bottom: -130px; }
.v2-cta-inner { position: relative; z-index: 1; max-width: 840px; }
.v2-cta-kicker { color: var(--v2-green-deep); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.v2-cta-band h2 { margin: 15px 0 0; color: var(--v2-navy); font-size: clamp(32px, 3.6vw, 48px); font-weight: 700; letter-spacing: -.03em; line-height: 1.12; text-wrap: balance; }
.v2-cta-band p { margin: 20px auto 0; color: #493b0c; font-size: 17px; line-height: 1.65; }
.v2-cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.v2-footer { background: var(--v2-navy-2); color: #9eb0ac; padding: var(--v2-sec-y) var(--v2-pad) 0; }
.v2-footer a { color: #aebfbb; }
.v2-footer a:hover { color: var(--v2-gold-bright); }
.v2-footer-intro {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.25fr;
  align-items: end;
  gap: 28px;
}
.v2-footer-intro > div:first-child { grid-column: 1 / 4; }
.v2-flogo { display: flex; align-items: center; gap: 12px; }
.v2-flogo-mark { width: 40px; height: 40px; border-radius: 11px; }
.v2-flogo strong { display: block; color: #fff; font-size: 18px; }
.v2-flogo em { display: block; color: #899d98; font-size: 10px; font-style: normal; font-weight: 500; letter-spacing: .06em; margin-top: 2px; }
.v2-footer-about { max-width: 660px; margin: 22px 0 0; color: #9eb0ac; font-size: 14.5px; line-height: 1.78; }
.v2-footer-hq {
  grid-column: 4;
  border-inline-start: 2px solid var(--v2-gold);
  padding-inline-start: 18px;
}
.v2-footer-hq span,
.v2-footer-hq small { display: block; color: #8fa39e; font-size: 11px; line-height: 1.55; }
.v2-footer-hq strong { display: block; margin: 6px 0; color: #fff; font-size: 14px; }
.v2-fgrid { display: grid; grid-template-columns: 1fr 1fr 1fr 1.25fr; gap: 28px; margin-top: 45px; }
.v2-fcol h4 { margin: 0; color: #fff; font-size: 15.5px; font-weight: 700; }
.v2-fcol nav { display: grid; gap: 15px; margin-top: 20px; }
.v2-fcol a { font-size: 14.5px; line-height: 1.5; }
.v2-fdirect { border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.04); padding: 20px; }
.v2-fdirect > p { color: #90a39f; font-size: 12.5px; line-height: 1.65; }
.v2-fdirect nav { gap: 0; }
.v2-fdirect nav a { border-top: 1px solid rgba(255,255,255,.09); padding: 9px 0; }
.v2-fdirect nav a span { display: block; color: #819590; font-size: 11.5px; }
.v2-fdirect nav a strong { display: block; margin-top: 3px; color: #fff; font-size: 13.5px; font-weight: 600; overflow-wrap: anywhere; }
.v2-fareas { border-top: 1px solid rgba(255,255,255,.1); margin-top: 35px; padding-top: 25px; }
.v2-flabel { color: #829690; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; }
.v2-area-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2-area-chips a { border: 1px solid rgba(255,255,255,.13); border-radius: 999px; font-size: 13px; padding: 7px 15px; }
.v2-parent { margin: 29px 0 0; color: #819590; font-size: 13px; line-height: 1.6; }
.v2-parent a { color: var(--v2-gold-bright); }
.v2-bot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; border-top: 1px solid rgba(255,255,255,.1); margin-top: 27px; padding: 21px 0 25px; color: #7f938e; font-size: 13.5px; }
.v2-pay { display: flex; flex-wrap: wrap; gap: 6px; }
.v2-pay span { border-radius: 4px; background: rgba(255,255,255,.08); color: #d2dfdc; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; padding: 5px 8px; }
.v2-pay .is-lime { color: var(--v2-gold-bright); }

/* Responsive */
@media (max-width: 1320px) {
  .v2-nav,
  .v2-nav-end > .v2-cta { display: none; }
  .v2-menu-btn { display: flex; }
  .v2-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-footer-intro { grid-template-columns: 1fr; }
  .v2-footer-intro > div:first-child,
  .v2-footer-hq { grid-column: auto; }
  .v2-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .v2-page-hero.is-split .v2-page-hero-inner,
  .v2-svc-hero-grid,
  .v2-about-hero-grid,
  .v2-about-story,
  .v2-about-grid,
  .v2-adv-grid,
  .v2-split,
  .v2-contact-grid,
  .v2-two-col,
  .v2-blog-feature,
  .v2-post-layout,
  .v2-market-band > .v2-container,
  .v2-footer-intro { grid-template-columns: 1fr; }
  .v2-footer-intro > div:first-child,
  .v2-footer-hq { grid-column: auto; max-width: none; }
  .v2-page-hero.is-split { text-align: start; }
  .v2-faq-grid { grid-template-columns: 1fr; }
  .v2-price-grid { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
  .v2-plan.is-pop { order: -1; }
  .v2-post-aside { position: static; }
  .v2-blog-feature > img { min-height: 250px; }
}
@media (max-width: 700px) {
  .v2-util-inner { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 10px; }
  .v2-util-contacts { flex-wrap: nowrap; gap: 12px; }
  .v2-util-meta { width: auto; flex-shrink: 0; }
  .v2-util-label { display: none; }
  .v2-util-note { display: none; }
  .v2-logo-sub { display: none; }
  .v2-strip-text { font-size: 14px; }
  .v2-hero { padding-top: 15px; }
  .v2-hero-card { height: 455px; border-radius: 16px; }
  .v2-hero-copy { width: 100%; padding: 28px 25px 82px; }
  .v2-hero-copy h1,
  .v2-hero-copy h2 { font-size: clamp(31px, 9vw, 42px); }
  .v2-hero-text { display: none; }
  .v2-hero-progress { bottom: 24px; }
  .v2-slide-arrow { top: auto; bottom: 20px; width: 40px; height: 40px; transform: none; }
  .v2-arrow-prev { left: auto; right: auto; inset-inline-start: 22px; }
  .v2-arrow-next { right: auto; left: auto; inset-inline-start: 70px; }
  [dir="rtl"] .v2-arrow-prev,
  [dir="rtl"] .v2-arrow-next { right: auto; left: auto; transform: none; }
  .v2-hero-progress { display: none; }
  .v2-trust-grid,
  .v2-trust-grid.is-three,
  .v2-caps.is-qa,
  .v2-about-mv,
  .v2-market-points,
  .v2-form-row,
  .v2-form-grid,
  .v2-nf-links { grid-template-columns: 1fr; }
  .v2-fgrid { grid-template-columns: 1fr; }
  .v2-direct-links { grid-template-columns: 1fr; }
  .v2-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 0; }
  .v2-stat:nth-child(odd) { border-inline-start: 0; }
  .v2-mega { display: none !important; }
  .v2-wa-float { width: 54px; height: 54px; inset-inline-end: 15px; bottom: 15px; }
}
@media (max-width: 480px) {
  .v2-logo-mark { width: 43px; height: 43px; }
  .v2-nav-row { padding-block: 11px; }
  .v2-logo { min-width: 0; }
  .v2-logo-title { font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .v2-util-label { display: none; }
  .v2-util-contacts { gap: 10px 18px; }
  .v2-strip-deco { display: none; }
  .v2-strip-text { gap: 8px; padding-inline: 4px; white-space: normal; }
  .v2-sec { padding-block: 60px; }
  .v2-page-hero,
  .v2-svc-hero,
  .v2-about-hero { padding-block: var(--v2-sec-y); }
  .v2-page-hero-media,
  .v2-svc-hero-media,
  .v2-page-hero-media img,
  .v2-svc-hero-media > img { min-height: 250px; }
  .v2-svc-metric,
  .v2-loc-metric,
  .v2-about-metric { position: static; max-width: none; border-radius: 0; }
  .v2-modal { padding: 0; }
  .v2-modal-card { min-height: 100%; border-radius: 0; }
  .v2-modal-head,
  .v2-modal-body { padding-inline: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
