/*
Theme Name: GlobalSMS
Theme URI: https://globalsms.ro
Author: DOW MEDIA
Author URI: https://dowmedia.ro
Description: Tema WordPress custom pentru GlobalSMS.ro
Version: 1.1
Text Domain: globalsms
*/

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #F6F8FC;
  color: #0B1A2B;
  font-family: Manrope, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }

a { color: #1F6FE0; text-decoration: none; }
a:hover { color: #FF2D6F; }

img { max-width: 100%; display: block; }

@keyframes gsmsFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ===== Layout ===== */
.gsms-wrap { width: 100%; max-width: 100%; overflow-x: hidden; }

.gsms-section {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(20px,4vw,32px);
  padding-right: clamp(20px,4vw,32px);
}
.gsms-section-narrow { max-width: 1000px; }

.gsms-pt-xl { padding-top: clamp(64px,8vw,104px); }
.gsms-pt-lg { padding-top: clamp(56px,7vw,88px); }
.gsms-pt-md { padding-top: clamp(40px,5vw,56px); }
.gsms-pb-xl { padding-bottom: clamp(64px,8vw,104px); }
.gsms-pb-lg { padding-bottom: clamp(56px,7vw,88px); }
.gsms-mt-xl { margin-top: clamp(64px,8vw,104px); }
.gsms-mt-lg { margin-top: clamp(56px,7vw,80px); }
.gsms-mt-md { margin-top: 40px; }
.gsms-mt-sm { margin-top: 20px; }

.gsms-max-560 { max-width: 560px; }
.gsms-max-640 { max-width: 640px; }
.gsms-max-700 { max-width: 700px; }
.gsms-max-760 { max-width: 760px; }
.gsms-center { text-align: center; margin-left: auto; margin-right: auto; }

.gsms-grid { display: grid; min-width: 0; gap: 20px; }
.gsms-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 760px) { .gsms-grid-2 { grid-template-columns: 1fr; } }
.gsms-grid-3 { grid-template-columns: repeat(auto-fit, minmax(272px,1fr)); }
.gsms-grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
.gsms-grid-tight { grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 14px; }
.gsms-grid-align-center { align-items: center; }
.gsms-grid-align-end { align-items: end; }

/* ===== Typography ===== */
.gsms-eyebrow {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FF2D6F;
}
.gsms-eyebrow-light { color: #EAF3FE; }

.gsms-h1, .gsms-h2, .gsms-h3 {
  font-family: 'Space Grotesk', sans-serif;
  letter-spacing: -.03em;
  font-weight: 700;
  margin: 14px 0 0;
  text-wrap: balance;
}
.gsms-h1 { font-size: clamp(34px,4.6vw,54px); line-height: 1.08; }
.gsms-h1-lg { font-size: clamp(38px,5.4vw,66px); line-height: 1.04; letter-spacing: -.035em; }
.gsms-h2 { font-size: clamp(28px,3.6vw,42px); line-height: 1.1; }
.gsms-h2-lg { font-size: clamp(30px,4vw,46px); line-height: 1.08; }
.gsms-h3 { font-size: 22px; letter-spacing: -.02em; margin: 0; text-wrap: normal; }
.gsms-h3-lg { font-size: 24px; letter-spacing: -.02em; margin: 0; text-wrap: normal; }

.gsms-lead {
  font-size: 17.5px;
  line-height: 1.6;
  color: #31465C;
  font-weight: 500;
  margin: 16px 0 0;
}
.gsms-lead-sm { font-size: 16px; }
.gsms-lead-strong {
  font-size: 19px;
  line-height: 1.5;
  color: #0B1A2B;
  font-weight: 700;
  margin: 16px 0 0;
}
.gsms-body {
  font-size: 15.5px;
  line-height: 1.6;
  color: #41566C;
  margin: 12px 0 0;
}
.gsms-no-mt { margin-top: 0; }

/* dark section text variants */
.gsms-section-dark .gsms-lead,
.gsms-section-dark .gsms-body { color: #B4C4D6; }
.gsms-section-dark .gsms-lead-strong,
.gsms-section-dark .gsms-h1,
.gsms-section-dark .gsms-h2,
.gsms-section-dark .gsms-h3 { color: #fff; }

/* ===== Sections ===== */
.gsms-section-dark { background: #0B1A2B; color: #fff; }
.gsms-section-gradient { background: linear-gradient(135deg,#1F6FE0,#4A9AF0); color: #fff; }

/* ===== Badge ===== */
.gsms-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px 9px 11px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(11,26,43,.09);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #3C4E62;
  line-height: 1.2;
}
.gsms-badge-dot { width: 8px; height: 8px; border-radius: 50%; background: #FF2D6F; flex: none; }

/* ===== Buttons ===== */
.gsms-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 700;
  padding: 16px 28px;
  border-radius: 999px;
  line-height: 1.2;
  border: none;
  cursor: pointer;
}
.gsms-btn svg { flex: none; }
.gsms-btn-sm { padding: 14px 24px; font-size: 15px; }
.gsms-btn-primary { background: #1F6FE0; color: #fff; box-shadow: 0 12px 28px -12px rgba(31,111,224,.75); }
.gsms-btn-primary:hover { background: #0B1A2B; color: #fff; }
.gsms-btn-white { background: #fff; color: #0B1A2B; border: 1px solid rgba(11,26,43,.14); }
.gsms-btn-white:hover { border-color: #FF2D6F; color: #FF2D6F; }
.gsms-btn-solid-white { background: #fff; color: #0B1A2B; }
.gsms-btn-solid-white:hover { color: #1F6FE0; }

/* ===== Cards ===== */
.gsms-card {
  background: #fff;
  border: 1px solid rgba(11,26,43,.09);
  border-radius: 22px;
  padding: 30px 32px;
}
.gsms-card-lg { border-radius: 28px; padding: clamp(28px,4.5vw,56px); }
.gsms-card-dark { background: #0B1A2B; color: #fff; border-radius: 22px; padding: 34px; }
.gsms-card-gradient { background: linear-gradient(135deg,#1F6FE0,#4A9AF0); color: #fff; border-radius: 22px; padding: 34px; }
.gsms-card-flat { border-radius: 22px; overflow: hidden; padding: 0; }
.gsms-card-flat-body { padding: 26px 26px 30px; }
.gsms-card-flat-media { height: 170px; border-bottom: 1px solid rgba(11,26,43,.07); }

.gsms-cta-card {
  background: #fff;
  border: 1px solid rgba(11,26,43,.09);
  border-radius: 24px;
  padding: clamp(28px,4vw,44px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* ===== Bullet list cards ===== */
.gsms-bullet-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(11,26,43,.09);
  border-radius: 16px;
  padding: 18px 20px;
}
.gsms-bullet-dot { width: 8px; height: 8px; border-radius: 50%; background: #FF2D6F; margin-top: 8px; flex: none; }
.gsms-bullet-dot-blue { background: #1F6FE0; }
.gsms-bullet-text { font-size: 15.5px; line-height: 1.6; color: #31465C; margin: 0; font-weight: 600; }

/* ===== Chips / tags ===== */
.gsms-chip {
  display: inline-flex;
  align-items: center;
  background: #EDF3FC;
  border: 1px solid rgba(31,111,224,.18);
  color: #12314F;
  font-size: 14.5px;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: 999px;
  line-height: 1.2;
}
.gsms-chip-dark { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.22); color: #fff; }
.gsms-chip-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* ===== Chat bubbles ===== */
.gsms-bubble {
  max-width: 88%;
  border-radius: 20px 20px 20px 6px;
  padding: 18px 22px;
  font-size: 16.5px;
  line-height: 1.5;
  font-weight: 600;
}
.gsms-bubble-blue { background: #EDF3FC; border: 1px solid rgba(31,111,224,.18); color: #12314F; align-self: flex-start; }
.gsms-bubble-pink { background: #FFF0F5; border: 1px solid rgba(255,45,111,.22); color: #5A0B28; border-radius: 20px 20px 6px 20px; align-self: flex-end; }
.gsms-bubble-dark { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; }
.gsms-bubble-stack { display: flex; flex-direction: column; gap: 14px; }

/* ===== Icon boxes ===== */
.gsms-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EDF3FC;
  color: #1F6FE0;
  margin-bottom: 18px;
}
.gsms-icon-box svg { flex: none; }
.gsms-icon-box-lg { width: 58px; height: 58px; border-radius: 16px; }
.gsms-icon-box-dark { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: #fff; }
.gsms-icon-box-solid { background: #1F6FE0; color: #fff; border: 1px solid #1F6FE0; }
.gsms-icon-box-white { background: #fff; color: #1F6FE0; border: 1px solid rgba(11,26,43,.10); }

.gsms-step-number {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1F6FE0;
  color: #fff;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 700;
}

/* ===== Stat cards ===== */
.gsms-stat {
  background: #fff;
  border: 1px solid rgba(11,26,43,.09);
  border-radius: 18px;
  padding: 20px 22px;
}
.gsms-stat-number {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -.03em;
  color: #1F6FE0;
}
.gsms-stat-label { font-size: 14px; font-weight: 600; color: #5B6E84; margin-top: 4px; }
.gsms-stat-dark { background: #0B1A2B; }
.gsms-stat-dark .gsms-stat-number { color: #fff; }
.gsms-stat-dark .gsms-stat-label { color: #B4C4D6; }

/* ===== Process chips ===== */
.gsms-process { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.gsms-process-step {
  background: #fff;
  border: 1px solid rgba(11,26,43,.12);
  color: #0B1A2B;
  font-size: 14.5px;
  font-weight: 700;
  padding: 11px 20px;
  border-radius: 999px;
}
.gsms-process-step-active { background: #1F6FE0; border-color: #1F6FE0; color: #fff; }
.gsms-process-arrow { color: #7C8EA3; font-size: 18px; }

/* ===== Breadcrumb ===== */
.gsms-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #7C8EA3;
  font-size: 14.5px;
  font-weight: 600;
}
.gsms-breadcrumb:hover { color: #1F6FE0; }

/* ===== Image placeholder ===== */
.img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  background: #EDF3FC;
  color: #7C8EA3;
  font-size: 13.5px;
  font-weight: 600;
  border: 1px dashed rgba(11,26,43,.18);
}

.gsms-media { border-radius: 24px; overflow: hidden; border: 1px solid rgba(11,26,43,.10); }
.gsms-media-dark { border-color: rgba(255,255,255,.12); }

.gsms-float-note {
  position: absolute;
  right: 14px;
  bottom: -26px;
  max-width: min(300px,80%);
  background: #fff;
  border: 1px solid rgba(11,26,43,.10);
  border-radius: 18px;
  padding: 16px 20px;
  box-shadow: 0 24px 48px -24px rgba(11,26,43,.4);
  animation: gsmsFloat 6s ease-in-out infinite;
}

/* ===== Header ===== */
.gsms-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(14px);
  background: #57A2F3;
  border-bottom: 1px solid rgba(255,255,255,.22);
}

.gsms-header-inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px clamp(16px,3vw,32px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.gsms-logo img { height: 64px; width: auto; }

.gsms-nav-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px;
}

.gsms-nav-toggle span {
  display: block;
  width: 26px;
  height: 3px;
  margin: 5px 0;
  background: #fff;
  border-radius: 2px;
}

.gsms-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(14px,2vw,30px);
  font-size: 14.5px;
  font-weight: 600;
}

.gsms-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(14px,2vw,30px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.gsms-nav a { color: #EAF3FE; line-height: 1.2; }
.gsms-nav a:hover { color: #fff; }

.gsms-nav li { position: relative; }

.gsms-nav .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.gsms-nav .menu-item-has-children > a::after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -3px;
}

.gsms-nav .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gsms-submenu-toggle {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 36px;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}
.gsms-submenu-toggle::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s ease;
}
.gsms-nav .menu-item-has-children.sub-open > .gsms-submenu-toggle::after { transform: rotate(-135deg); }

.gsms-cta {
  background: #fff;
  color: #12314F;
  font-size: 14.5px;
  font-weight: 700;
  padding: 11px 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.2;
  white-space: nowrap;
}
.gsms-cta:hover { background: #FF2868; color: #fff; }

@media (min-width: 861px) {
  .gsms-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 230px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 40px -20px rgba(11,26,43,.35);
    padding: 10px;
    display: none;
    z-index: 60;
  }
  .gsms-nav .menu-item-has-children:hover > .sub-menu,
  .gsms-nav .menu-item-has-children:focus-within > .sub-menu { display: block; }
  .gsms-nav ul.sub-menu > li > a {
    color: #12314F;
    padding: 10px 14px;
    border-radius: 8px;
    display: block;
    font-size: 14.5px;
    font-weight: 600;
  }
  .gsms-nav ul.sub-menu > li > a:hover { background: #EDF3FC; color: #1F6FE0; }
  .gsms-nav ul.sub-menu .sub-menu { top: 0; left: 100%; }
}

@media (max-width: 860px) {
  .gsms-nav-toggle { display: block; order: 3; }
  .gsms-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #57A2F3;
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
    box-shadow: 0 16px 28px -16px rgba(11,26,43,.35);
    z-index: 49;
  }
  .gsms-nav.is-open { max-height: 80vh; overflow-y: auto; }
  .gsms-nav ul {
    flex-direction: column;
    gap: 4px;
    padding: 6px clamp(16px,3vw,32px) 20px;
  }
  .gsms-nav a { display: block; padding: 10px 4px; }
  .gsms-nav .menu-item-has-children > a { padding-right: 36px; }
  .gsms-submenu-toggle { display: flex; }
  .gsms-nav .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .2s ease;
    padding-left: 14px;
  }
  .gsms-nav .menu-item-has-children.sub-open > .sub-menu { max-height: 400px; }
}

/* ===== Footer ===== */
.gsms-footer { margin-top: clamp(64px,8vw,104px); background: #0F1E31; color: #E6EDF5; }

.gsms-footer-columns {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px clamp(20px,4vw,32px) 28px;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 40px 32px;
}

.gsms-footer-col { display: flex; flex-direction: column; gap: 14px; }

.gsms-footer-col-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #FF6E9C;
}

.gsms-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.gsms-footer-col a { color: #C6D3E2; font-size: 15.5px; font-weight: 400; line-height: 1.3; }
.gsms-footer-col a:hover { color: #fff; }

.gsms-footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px clamp(20px,4vw,32px) 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.12);
}

.gsms-footer-bottom-left { font-size: 14.5px; font-weight: 500; color: #C6D3E2; }
.gsms-footer-bottom-right { font-size: 14px; color: #8DA0B7; font-weight: 400; }

/* ===== Extra layout utilities ===== */
svg { flex: none; }
.gsms-text-center { text-align: center; }
.gsms-relative { position: relative; }
.gsms-max-820 { max-width: 820px; }
.gsms-eyebrow-blue { color: #1F6FE0; }

.gsms-grid-stats { grid-template-columns: repeat(auto-fit, minmax(132px,1fr)); }
.gsms-stat-span-full { grid-column: 1 / -1; }

.gsms-dark-inner { padding-top: clamp(48px,6vw,72px); padding-bottom: clamp(48px,6vw,72px); }
.gsms-dark-inner-lg { padding-top: clamp(64px,8vw,96px); padding-bottom: clamp(64px,8vw,96px); }

.gsms-decor-wrap { position: relative; overflow: hidden; }
.gsms-decor-circle { position: absolute; border-radius: 50%; background: rgba(255,255,255,.10); }
.gsms-decor-circle-lg { width: 340px; height: 340px; right: -80px; top: -80px; }
.gsms-decor-circle-md { width: 260px; height: 260px; right: -60px; top: -60px; }

/* ===== Hero ===== */
.gsms-hero { position: relative; overflow: hidden; background: linear-gradient(180deg,#F6F8FC 0%,#EDF3FC 100%); }
.gsms-hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(11,26,43,.045) 1px,transparent 1px), linear-gradient(90deg,rgba(11,26,43,.045) 1px,transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 60% at 60% 20%,#000,transparent);
}
.gsms-hero-inner { position: relative; padding-top: clamp(56px,7vw,88px); padding-bottom: clamp(64px,8vw,96px); }
.gsms-hero-media-wrap { position: relative; min-width: 0; }
.gsms-hero-blob { position: absolute; left: -26px; top: -26px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255,45,111,.12); filter: blur(6px); }
.gsms-hero-media { position: relative; background: #fff; box-shadow: 0 40px 80px -40px rgba(11,26,43,.45); height: clamp(360px,44vw,520px); }

/* ===== Contact ===== */
.gsms-contact-btn {
  display: inline-flex;
  flex-direction: column;
  padding: 16px 30px;
  border-radius: 18px;
  min-width: 220px;
}
.gsms-contact-btn-solid { background: #fff; color: #0B1A2B; }
.gsms-contact-btn-outline { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); color: #fff; }
.gsms-contact-btn-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.2;
}
.gsms-contact-btn-solid .gsms-contact-btn-label { color: #7C8EA3; }
.gsms-contact-btn-outline .gsms-contact-btn-label { opacity: .75; }
.gsms-contact-btn-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.02em;
  margin-top: 2px;
  line-height: 1.2;
}
.gsms-contact-btn-value-sm { font-size: 20px; }

.gsms-office-detail { font-size: 15.5px; line-height: 1.8; color: #41566C; margin: 14px 0 0; }
.gsms-office-detail a { color: #1F6FE0; font-weight: 600; }
.gsms-office-name { font-size: 16px; line-height: 1.6; color: #0B1A2B; margin: 14px 0 0; font-weight: 700; }
.gsms-office-legal { font-size: 13.5px; line-height: 1.7; color: #7C8EA3; margin: 14px 0 0; }
.gsms-office-note { font-size: 14.5px; line-height: 1.6; color: #31465C; margin: 16px 0 0; font-weight: 500; }

.gsms-h1-mt { margin-top: 24px; }
.gsms-media-fill { height: 100%; }
.gsms-float-note-label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #7C8EA3; }
.gsms-float-note-text { font-size: 15px; font-weight: 700; margin-top: 6px; color: #0B1A2B; }
.gsms-body-max-440 { max-width: 440px; }
.gsms-body-on-dark { color: #B4C4D6; }
.gsms-body-on-gradient { color: #E4F0FF; }

.gsms-dark-hero-section { padding-top: clamp(64px,8vw,96px); padding-bottom: clamp(64px,8vw,96px); }
.gsms-strong-on-dark { color: #fff; }
.gsms-media-400 { height: 400px; }
.gsms-media-420 { height: 420px; }
.gsms-h2-on-gradient { color: #fff; margin-top: 0; }
.gsms-lead-on-gradient { color: #E4F0FF; }

/* ===== Remaining shared utilities ===== */
.gsms-mt-34 { margin-top: 34px; }
.gsms-mt-32 { margin-top: 32px; }
.gsms-mt-14 { margin-top: 14px; }
.gsms-stat-number-sm { font-size: 36px; }
.gsms-card-option-title { font-size: 17px; line-height: 1.6; color: #0B1A2B; margin: 10px 0 0; font-weight: 600; }
.gsms-h2-sm { font-size: clamp(22px,2.6vw,28px); }
.gsms-h3-callout { font-size: clamp(24px,2.8vw,32px); }
.gsms-strong-white { color: #fff; }
.gsms-link-primary { color: #1F6FE0; font-weight: 600; }
.gsms-mb-0 { margin-bottom: 0; }

.gsms-dark-callout {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding-top: clamp(48px,6vw,72px);
  padding-bottom: clamp(48px,6vw,72px);
  padding-left: clamp(20px,4vw,32px);
  padding-right: clamp(20px,4vw,32px);
}

.gsms-service-card { display: flex; flex-direction: column; }
.gsms-service-list { margin: 14px 0 0; padding: 0 0 0 20px; font-size: 15px; line-height: 1.8; color: #31465C; }
.gsms-service-link { color: #1F6FE0; margin-top: 20px; }
.gsms-card-gradient-outer { position: relative; overflow: hidden; border-radius: 28px; padding: clamp(36px,5vw,52px); }
.gsms-eyebrow-on-gradient { color: #EAF3FE; }

.gsms-h1-sub { font-size: clamp(32px,4.4vw,50px); margin-top: 14px; }

.gsms-office-card-title { font-size: 24px; }

.gsms-bullet-card-dark { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.gsms-bullet-dot-pink { background: #FF6E9C; }
.gsms-bullet-text-light { color: #E6EDF5; }
.gsms-h2-contact-cta { font-size: clamp(26px,3.2vw,36px); }

/* ===== Fallback page/index templates ===== */
.gsms-fallback-wrap { max-width: 900px; margin: 0 auto; padding: 64px clamp(20px,4vw,32px); }
.gsms-fallback-title { font-family: 'Space Grotesk', sans-serif; font-size: clamp(30px,4vw,46px); letter-spacing: -.03em; font-weight: 700; }
.gsms-fallback-body { font-size: 17px; line-height: 1.6; color: #31465C; }
