/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root{
  --navy:        #00367B;
  --navy-deep:   #00224D;
  --amber:       #FEB100;
  --amber-light: #FFC640;
  --magenta:     #BF00E4;
  --magenta-light:#DE5CF5;
  --cream:       #FFF;
  --sand:        #F1ECE3;
  --ink:         #1C2333;
  --ink-soft:    #5B6270;
  --green:       #1E8E5A;
  --line:        #E7E1D6;

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  --radius: 14px;
  --radius-lg: 22px;
  --shadow-soft: 0 16px 40px -16px rgba(0,54,123,0.22);
  --shadow-card: 0 10px 30px -12px rgba(0,54,123,0.14);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:90px; }

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}

a{ text-decoration:none; }
:focus-visible{ outline:3px solid var(--amber); outline-offset:2px; }

/* =========================================================
   TYPE
   ========================================================= */
.section-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.7rem, 1.2rem + 2vw, 2.7rem);
  letter-spacing:-0.01em;
  color:var(--navy);
  line-height:1.15;
  margin-bottom:0.85rem;
}
.section-title-light{ color:#fff; }
.section-sub{
  color:var(--ink-soft);
  font-size:1.05rem;
  line-height:1.6;
}
.section-sub-light{ color:rgba(255,255,255,0.72); }

.eyebrow{
  display:inline-flex;
  align-items:center;
  font-family:var(--font-body);
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--amber-light);
  margin-bottom:0.9rem;
}
.eyebrow::before{
  content:"";
  display:inline-block;
  width:7px; height:7px;
  border-radius:2px;
  background:var(--magenta);
  margin-right:0.55rem;
  transform:rotate(45deg);
}
.eyebrow-dark{ color:var(--magenta); }
.eyebrow-dark::before{ background:var(--amber); }

/* =========================================================
   NAVBAR
   ========================================================= */
.ml-navbar{
  background:#FFF;
  backdrop-filter:blur(10px); 
  padding-top:0.7rem;
  padding-bottom:0.7rem;
}
.brand-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px; height:38px;
  border-radius:9px;
  overflow:hidden;
  margin-right:0.55rem;
  background:var(--navy);
}
.brand-mark img{ width:100%; height:100%; object-fit:cover; }
.brand-text{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.2rem;
  color:var(--navy);
}
.brand-text em{ color:var(--magenta); font-style:normal; }
.ml-footer .brand-text em{ color:var(--amber-light); }
.ml-navbar .nav-link{
  color:var(--ink);
  font-weight:600;
  font-size:0.93rem;
  margin:0 0.6rem;
}
.ml-navbar .nav-link:hover{ color:var(--amber); }

.nav-phone{
  display:flex;
  align-items:center;
  gap:0.5rem;
  color:var(--navy);
  font-weight:700;
  font-size:0.92rem;
  white-space:nowrap;
  transition:color .18s ease;
}
.nav-phone i{
  width:32px; height:32px;
  border-radius:50%;
  background:var(--sand);
  color:var(--amber);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.85rem;
  flex:none;
}
.nav-phone:hover{ color:var(--magenta); }
.nav-phone:hover i{ background:var(--magenta); color:#fff; }
@media (max-width:991px){
  .nav-phone{ margin:0.5rem 0 0.8rem; }
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{ border-radius:999px; font-weight:700; font-size:0.93rem; padding:0.7rem 1.55rem; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease; }
.ml-btn-primary{ background:var(--amber); border:1px solid var(--amber); color:#fff; }
.ml-btn-primary:hover{ background:#D4661E; border-color:#D4661E; color:#fff; transform:translateY(-2px); box-shadow:0 10px 22px -8px rgba(232,118,44,0.55); }
.ml-btn-ghost{ background:transparent; border:1.5px solid var(--navy); color:var(--navy); }
.ml-btn-ghost:hover{ background:var(--navy); color:#fff; transform:translateY(-2px); }
.ml-btn-outline{ background:transparent; border:1.5px solid var(--amber); color:var(--amber); }
.ml-btn-outline:hover{ background:var(--amber); color:#fff; transform:translateY(-2px); }
.ml-btn-outline-light{ background: #bf00e4;  border: 1.5px solid #bf00e4;color: #FFF;}
.ml-btn-outline-light:hover{ background:#fff; color:var(--navy); transform:translateY(-2px); }

/* =========================================================
   HERO
   ========================================================= */
.ml-hero{
  position:relative;
  padding:50px 0 50px;
  overflow:hidden;
  isolation:isolate;
}

header {background:
    radial-gradient(55% 65% at 90% 4%, rgba(191,0,228,0.22), transparent 60%),
    radial-gradient(50% 60% at 6% 95%, rgba(254,177,0,0.12), transparent 60%),
    linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 55%, #003a85 100%);}
.ml-hero-bg{
  position:absolute; inset:0; z-index:-1;
  background:url('back.jpg'); background-repeat:no-repeat; background-size:100%;background-position: center;
  opacity: 0.1;}
.ml-hero .eyebrow{ color:var(--amber-light); }
.hero-title{
  font-family:var(--font-display);
  font-weight:600;
  color:#fff;
  font-size:clamp(2.1rem, 1.3rem + 3.4vw, 3.6rem);
  line-height:1.08;
  letter-spacing:-0.015em;
}
.hero-sub{
  color:rgba(255,255,255,0.74);
  font-size:1.08rem;
  line-height:1.65;
  margin-top:1.2rem;
  max-width:560px;
}
.hero-card{
  position:relative;
  background:linear-gradient(160deg, #ffffff, var(--cream));
  border-radius:var(--radius-lg);
  padding:2rem;
  box-shadow:var(--shadow-soft);
}
.hero-card-glow{
  position:absolute; inset:-2px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(191,0,228,0.45), rgba(254,177,0,0.4) 60%, transparent 85%);
  z-index:-1; filter:blur(18px); opacity:0.65;
}
.hero-illustration{ width:100%; height:auto; }

.trust-strip{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:var(--radius-lg);
  padding:0.5rem 0.5rem;
}
.trust-item{ padding:0.5rem 0.4rem; border-right:1px solid rgba(255,255,255,0.12); }
.trust-item:last-child{ border-right:none; }
.trust-item strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.45rem;
  color:#fff;
  font-weight:600;
}
.trust-item span{ color:rgba(255,255,255,0.6); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; }
@media (max-width:767px){ .trust-item{ border-right:none; border-bottom:1px solid rgba(255,255,255,0.12); } }

/* =========================================================
   GENERIC SECTION WRAPPERS
   ========================================================= */
.ml-section{ padding:48px 0; }
.ml-section-sand{ background:linear-gradient(165deg, var(--navy-deep), var(--navy)); }
.ml-section-navy{ background:linear-gradient(165deg, var(--navy-deep), var(--navy)); }
@media (max-width:767px){ .ml-section{ padding:60px 0; } }

/* =========================================================
   SERVICES PANEL + LEAD FORM
   ========================================================= */
.panel-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:2.4rem;
  box-shadow:var(--shadow-card);
}
.check-list{ list-style:none; padding:0; margin:0; }
.check-list li{ display:flex; align-items:center; gap:0.6rem; padding:0.45rem 0; color:var(--ink); font-weight:500; }
.check-list li i{ color:var(--green); font-size:1.05rem; }
.check-list-light li{ color:rgba(255,255,255,0.88); }
.check-list-light li i{ color:var(--amber-light); }
.plan-caption{ color:var(--ink-soft); font-size:0.85rem; }

.lead-form{
  background:var(--navy);
  border-radius:var(--radius-lg);
  padding:2.3rem;
  box-shadow:var(--shadow-soft);
}
.lead-form-title{
  font-family:var(--font-display);
  color:#fff;
  font-size:1.4rem;
  margin-bottom:1.3rem;
}
.ml-input{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
  border-radius:10px;
  padding:0.75rem 1rem;
  font-size:0.94rem;
}
.ml-input::placeholder{ color:rgba(255,255,255,0.5); }
.ml-input:focus{
  background:rgba(255,255,255,0.12);
  border-color:var(--amber);
  color:#fff;
  box-shadow:none;
}
select.ml-input option{ color:#000; }
.privacy-note{ color:rgba(255,255,255,0.5); font-size:0.78rem; margin-top:0.9rem; margin-bottom:0; line-height:1.5; }

.ml-input.is-invalid{ border-color:#FF6B6B !important; background:rgba(255,107,107,0.08); }
.field-error{ color:#FF9B9B; font-size:0.78rem; margin-top:0.35rem; display:none; }
.field-error.is-shown{ display:block; }

.btn[data-loading="true"]{ pointer-events:none; opacity:0.85; position:relative; }
.btn-spinner{
  display:inline-block;
  width:15px; height:15px;
  border:2px solid rgba(255,255,255,0.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:btn-spin 0.7s linear infinite;
  margin-right:0.5rem;
  vertical-align:-2px;
}
@keyframes btn-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .btn-spinner{ animation:none; } }

/* =========================================================
   SAVINGS COMPARISON — SIGNATURE SECTION
   ========================================================= */
.savings-section{ background:#F6FDFF; }

.cost-table-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.6rem 1.8rem;
  box-shadow:var(--shadow-card);
}
.cost-row{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  align-items:center;
  gap:0.5rem;
  padding:0.85rem 0;
  border-bottom:1px solid var(--line);
  position:relative;
}
.cost-row:last-child{ border-bottom:none; }
.cost-row span:first-child{ font-weight:600; color:var(--ink); font-size:0.95rem; }
.cost-row .val-va{ color:var(--green); font-weight:700; text-align:center; }
.cost-row .val-us{ color:#B23A3A; font-weight:700; text-align:center; }
.cost-row-head{
  border-bottom:2px solid var(--navy);
  padding-top:0; padding-bottom:0.9rem;
}
.cost-row-head span{
  text-transform:uppercase;
  font-size:0.74rem;
  letter-spacing:0.08em;
  color:var(--ink-soft) !important;
  font-weight:700 !important;
  text-align:center;
}
.cost-row-head span:first-child{ text-align:left; }
.cost-row-total{
  margin-top:0.4rem;
  background:var(--sand);
  border-radius:10px;
  padding:1rem 1rem;
  border-bottom:none;
}
.cost-row-total span:first-child{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; }
.cost-row-total .val-va, .cost-row-total .val-us{ font-size:1.1rem; }

/* comparative bar beneath each data row, built with ::after via inline style per-row using CSS vars set by JS */
.cost-row:not(.cost-row-head):not(.cost-row-total){ padding-bottom:1.1rem; }
.cost-row:not(.cost-row-head):not(.cost-row-total)::after{
  content:"";
  grid-column:1 / -1;
  display:block;
  height:6px;
  border-radius:4px;
  background:var(--line);
  margin-top:0.55rem;
  position:relative;
}
.cost-row-bar-fill{
  position:absolute;
  left:0; top:100%;
  margin-top:0.55rem;
  height:6px;
  border-radius:4px;
  background:linear-gradient(90deg, var(--green), var(--amber) 65%, var(--magenta));
  width:0%;
  transition:width 1.1s cubic-bezier(.16,1,.3,1);
}

.savings-callout{
  background:linear-gradient(165deg, var(--navy-deep), var(--navy));
  border-radius:var(--radius-lg);
  padding:2.3rem;
  color:#fff;
  box-shadow:var(--shadow-soft);
}
.savings-label{ text-transform:uppercase; letter-spacing:0.1em; font-size:0.78rem; color:var(--amber-light); font-weight:700; margin-bottom:0.3rem; }
.savings-figure{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.4rem, 2rem + 1.6vw, 3.1rem);
  color:#fff;
  margin-bottom:0.6rem;
  line-height:1;
}
.savings-figure span{ color:var(--amber-light); }
.savings-desc{ color:rgba(255,255,255,0.78); font-size:0.96rem; line-height:1.55; }
.savings-divider{ border-color:rgba(255,255,255,0.16); margin:1.4rem 0; }
.adv-title{ font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.06em; color:rgba(255,255,255,0.6); margin-bottom:0.6rem; }

/* =========================================================
   GRID CARDS (industries / pricing / expertise / roles / testimonials)
   ========================================================= */
.industry-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.7rem 1.4rem;
  height:100%;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.industry-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-card); border-color:transparent; }
.industry-icon{
  width:48px; height:48px;
  border-radius:12px;
  background:var(--sand);
  display:flex; align-items:center; justify-content:center;
  color:var(--amber);
  font-size:1.2rem;
  margin-bottom:1rem;
}
.industry-card h6{ font-weight:700; margin-bottom:0.35rem; color:var(--navy); }
.industry-card p{ color:var(--ink-soft); font-size:0.87rem; margin-bottom:0; line-height:1.5; }

.price-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:2rem 1.7rem;
  height:100%;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.price-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-soft); }
.price-card.featured{ border-color:var(--amber); box-shadow:var(--shadow-soft); }
.featured-tag{
  position:absolute; top:-12px; right:1.5rem;
  background:var(--amber); color:#fff;
  font-size:0.72rem; font-weight:700; letter-spacing:0.04em;
  padding:0.3rem 0.8rem; border-radius:999px;
  text-transform:uppercase;
}
.price-role{ font-weight:700; color:var(--navy); font-size:1.05rem; margin-bottom:0.2rem; }
.price-amount{ font-family:var(--font-display); font-size:2.1rem; font-weight:700; color:var(--ink); }
.price-amount span{ font-family:var(--font-body); font-size:0.95rem; color:var(--ink-soft); font-weight:500; }
.price-tags{ list-style:none; padding:0; margin:0.9rem 0 1.3rem; }
.price-tags li{ font-size:0.85rem; color:var(--ink-soft); padding:0.2rem 0; }
.price-tags li i{ color:var(--green); margin-right:0.4rem; }
.price-features{ list-style:none; padding:0; margin:1.2rem 0 0; border-top:1px solid var(--line); padding-top:1.1rem; }
.price-features li{ font-size:0.83rem; color:var(--ink-soft); padding:0.28rem 0; display:flex; align-items:center; gap:0.5rem; }
.price-features li i{ color:var(--amber); font-size:0.78rem; }

/* =========================================================
   PRICING — LOCKED TEASER
   ========================================================= */
.pricing-locked-teaser{
  position:relative;
  background:linear-gradient(165deg, #fff, var(--sand));
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:3.2rem 2rem 0;
  text-align:center;
  overflow:hidden;
  box-shadow:var(--shadow-card);
}
.pricing-lock-icon{
  width:64px; height:64px;
  margin:0 auto 1.3rem;
  border-radius:50%;
  background:linear-gradient(135deg, var(--amber), var(--magenta));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  box-shadow:0 10px 24px -8px rgba(191,0,228,0.4);
}
.pricing-lock-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.5rem;
  color:var(--navy);
  margin-bottom:0.6rem;
}
.pricing-lock-sub{
  color:var(--ink-soft);
  max-width:460px;
  margin:0 auto 1.6rem;
  font-size:0.96rem;
  line-height:1.6;
}
.pricing-lock-preview{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1rem;
  margin-top:2.4rem;
  padding:0 0.5rem;
  filter:blur(4px);
  opacity:0.45;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg, #000 0%, transparent 92%);
  mask-image:linear-gradient(180deg, #000 0%, transparent 92%);
}
.pricing-lock-card{
  height:170px;
  border-radius:var(--radius);
  background:#fff;
  border:1px solid var(--line);
}
@media (max-width:767px){
  .pricing-lock-preview{ grid-template-columns:repeat(2, 1fr); }
}

.expertise-item{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius);
  padding:1.5rem;
  height:100%;
  display:flex; gap:1rem;
  transition:background .2s ease, border-color .2s ease;
}
.expertise-item:hover{ background:rgba(255,255,255,0.09); border-color:rgba(232,118,44,0.4); }
.expertise-icon{
  flex:none;
  width:46px; height:46px;
  border-radius:11px;
  background:rgba(232,118,44,0.16);
  color:var(--amber-light);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem;
}
.expertise-item h6{ color:#fff; font-weight:700; font-size:0.96rem; margin-bottom:0.3rem; }
.expertise-item p{ color:rgba(255,255,255,0.62); font-size:0.84rem; line-height:1.5; margin-bottom:0; }

.tool-badge{
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  color:var(--ink-soft);
  font-size:0.8rem; font-weight:600;
}
.tool-badge i{ font-size:1.8rem; color:var(--navy); }

.role-card{
  border-radius:var(--radius-lg);
  padding:2rem 1.6rem;
  height:100%;
  border:1px solid var(--line);
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
}
.role-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-card); }
.role-card.role-featured{
  background:linear-gradient(165deg, var(--navy-deep), var(--navy));
  border-color:transparent;
  color:#fff;
}
.role-icon{
  width:50px; height:50px;
  border-radius:12px;
  background:var(--sand);
  color:var(--amber);
  display:flex; align-items:center; justify-content:center;
  font-size:1.25rem;
  margin-bottom:1.1rem;
}
.role-featured .role-icon{ background:rgba(255,255,255,0.12); color:var(--amber-light); }
.role-card h6{ font-weight:700; color:var(--navy); margin-bottom:0.5rem; }
.role-featured h6{ color:#fff; }
.role-card p{ color:var(--ink-soft); font-size:0.87rem; line-height:1.55; margin-bottom:0; }
.role-featured p{ color:rgba(255,255,255,0.72); }

.testimonial-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:1.8rem;
  height:100%;
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
.testimonial-stars{ color:var(--amber); font-size:0.85rem; margin-bottom:0.8rem; }
.testimonial-quote{ color:var(--ink); font-size:0.92rem; line-height:1.6; margin-bottom:1.2rem; }
.testimonial-person{ display:flex; align-items:center; gap:0.7rem; }
.testimonial-avatar{
  width:42px; height:42px; border-radius:50%;
  background:var(--navy);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:600; font-size:0.95rem;
  flex:none;
}
.testimonial-person strong{ display:block; font-size:0.88rem; color:var(--navy); }
.testimonial-person span{ font-size:0.78rem; color:var(--ink-soft); }

/* =========================================================
   STATS BAND
   ========================================================= */
.stats-band{
  background:var(--navy-deep);
  padding:56px 0;
}
.stat-item{ color:#fff; }
.stat-figure{
  font-family:var(--font-display);
  font-weight:700;
  font-size:2.1rem;
  color:var(--amber-light);
  line-height:1;
  margin-bottom:0.3rem;
}
.stat-label{ font-size:0.82rem; color:rgba(255,255,255,0.62); text-transform:uppercase; letter-spacing:0.06em; }

/* =========================================================
   FINAL CTA
   ========================================================= */
.final-cta{
  background:#00367b;
  text-align:center;
}

/* =========================================================
   FOOTER
   ========================================================= */
.ml-footer{
  background:var(--navy-deep);
  color:rgba(255,255,255,0.7);
  padding:25px 0 0;
}
.ml-footer .brand-text{ color:#fff; }
.footer-about{ font-size:0.88rem; line-height:1.65; color:rgba(255,255,255,0.55); max-width:340px; }
.social-row{ display:flex; gap:0.6rem; margin-top:1.2rem; }
.social-row a{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,0.08);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.social-row a:hover{ background:var(--amber); }
.footer-heading{ color:#fff; font-weight:700; font-size:0.92rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:1.1rem; }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:0.6rem; }
.footer-links a{ color:rgba(255,255,255,0.58); font-size:0.88rem; transition:color .2s ease; }
.footer-links a:hover{ color:var(--amber-light); }
.footer-contact{ list-style:none; padding:0; margin:0; }
.footer-contact li{ display:flex; gap:0.6rem; font-size:0.87rem; color:rgba(255,255,255,0.58); margin-bottom:0.85rem; line-height:1.5; }
.footer-contact i{ color:var(--amber-light); margin-top:0.2rem; }
.footer-rule{ border-color:rgba(255,255,255,0.1); margin-top:2.5rem; }
.copyright{ font-size:0.83rem; color:rgba(255,255,255,0.5); }
.copyright a{ color:rgba(255,255,255,0.7); }
.footer-legal a{ color:rgba(255,255,255,0.5); font-size:0.83rem; margin-left:1.2rem; }
.footer-legal a:hover{ color:var(--amber-light); }

/* =========================================================
   PRICING POPUP MODAL
   ========================================================= */
.pricing-modal-content{
  border:none;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.pricing-modal-header{
  background:linear-gradient(160deg, var(--navy-deep), var(--navy));
  padding:2rem 2rem 1.6rem;
  border-bottom:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.pricing-modal-header .eyebrow{ margin-bottom:0.6rem; }
.pricing-modal-title{
  font-family:var(--font-display);
  font-weight:600;
  color:#fff;
  font-size:1.5rem;
  line-height:1.2;
  margin-bottom:0.5rem;
}
.pricing-modal-sub{ color:rgba(255,255,255,0.68); font-size:0.92rem; margin-bottom:0; }
.pricing-modal-header .btn-close{ filter:invert(1) brightness(2); flex:none; margin-top:0.2rem; }
.modal-body{ padding:2rem; background:#fff; }

.ml-input-light{
  background:#fff;
  border:1.5px solid var(--line);
  color:var(--ink);
}
.ml-input-light::placeholder{ color:var(--ink-soft); opacity:0.7; }
.ml-input-light:focus{
  background:#fff;
  border-color:var(--amber);
  color:var(--ink);
  box-shadow:0 0 0 3px rgba(254,177,0,0.15);
}
.ml-input-light.is-invalid{ border-color:#D9534F !important; background:#FFF5F5; }
select.ml-input-light option{ color:#000; }
.modal-body .field-error{ color:#D9534F; }
.modal-body .privacy-note{ color:var(--ink-soft); }

/* =========================================================
   CLIENT LOGO MARQUEE
   ========================================================= */
.clients-section{
  background:var(--navy-deep);
  padding:64px 0;
  overflow:hidden;
}
.clients-heading{
  text-align:center;
  color:rgba(255,255,255,0.55);
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:2.2rem;
}
.marquee-viewport{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{
  display:flex;
  width:max-content;
  animation:marquee-scroll 32s linear infinite;
}
.marquee-track:hover{ animation-play-state:paused; }
@keyframes marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.client-logo-box{
  flex:none;
  width:170px;
  height:84px;
  margin:0 14px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,0.22);
  background:#FFF;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.4);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.04em;
  text-align:center; padding: 0 10px;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.client-logo-box img{width:100%}
.client-logo-box:hover{
  border-color:var(--amber-light);
  color:rgba(255,255,255,0.75);
  background:rgba(255,255,255,0.07);
}
.client-logo-box i{ font-size:1.3rem; margin-right:0.5rem; color:var(--magenta-light); }

@media (prefers-reduced-motion: reduce){
  .marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; }
}

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
