/* ============================================================================
   MERRICK & STANTON — SIGNATURE DESIGN SYSTEM  (ms-* components)
   Clean · light · Warm Red (#D64343) + Amber (#F2994A) accent · Charcoal ink
   Typography: Sora (display) + Inter (text)
   Every page section uses ms-* markup — a layout unique to this site.
   Loaded AFTER modern.css so these rules win the cascade.
   ============================================================================ */
:root{
  --ms-primary:#d64343;   --ms-primary-dark:#b23636;  --ms-primary-light:#ee7a7a;
  --ms-accent:#f2994a;    --ms-accent-dark:#d97a2e;   --ms-accent-light:#f7b279;
  --ms-ink:#241b1f;       --ms-ink-2:#34272b;         --ms-ink-3:#1a1316;
  --ms-bg:#FBF6F5;        --ms-bg-2:#F5ECEA;          --ms-surface:#FFFFFF;
  --ms-text:#3B3238;      --ms-muted:#7B7076;         --ms-line:rgba(36,27,31,.10);
  --ms-shadow:0 22px 60px rgba(36,27,31,.10);
  --ms-shadow-sm:0 10px 30px rgba(36,27,31,.07);
  --ms-radius:22px;
}

/* ---- Fonts & base ---- */
body{
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif !important;
  color:var(--ms-text) !important; background:#fff !important;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{ font-family:'Sora','Inter',system-ui,sans-serif !important; color:var(--ms-ink); }
img{ max-width:100%; }

.ms-section{ position:relative; padding:100px 0; overflow:hidden; background:#fff; }
.ms-section--alt{ background:linear-gradient(180deg,#fff 0%,var(--ms-bg) 100%); }
.ms-section--lav{ background:linear-gradient(180deg,var(--ms-bg) 0%,var(--ms-bg-2) 100%); }
.ms-section--ink{ background:linear-gradient(150deg,var(--ms-ink) 0%,var(--ms-ink-3) 100%); }
@media (max-width:991px){ .ms-section{ padding:64px 0; } }

/* ---- Buttons ---- */
.ms-btn{ display:inline-flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:600;
  font-size:15px; padding:14px 30px; border-radius:14px; border:1.6px solid transparent; cursor:pointer;
  text-decoration:none; line-height:1; transition:transform .35s cubic-bezier(.16,.8,.24,1), box-shadow .35s ease, background .35s ease, color .3s ease, border-color .3s ease; }
.ms-btn i{ font-size:15px; }
.ms-btn--primary{ color:#fff !important; background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark)); box-shadow:0 12px 30px rgba(214,67,67,.32); }
.ms-btn--primary:hover{ color:#fff !important; transform:translateY(-3px); box-shadow:0 18px 44px rgba(242,153,74,.34); background:linear-gradient(135deg,var(--ms-primary-dark),var(--ms-accent-dark)); }
.ms-btn--ghost{ color:var(--ms-ink) !important; background:transparent; border-color:rgba(36,27,31,.16); }
.ms-btn--ghost:hover{ color:var(--ms-primary) !important; border-color:var(--ms-primary); transform:translateY(-3px); }
.ms-btn--light{ color:var(--ms-primary-dark) !important; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.ms-btn--light:hover{ color:var(--ms-primary-dark) !important; transform:translateY(-3px); box-shadow:0 18px 46px rgba(0,0,0,.28); }

/* ---- Eyebrow + heading kit ---- */
.ms-eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:'Sora',sans-serif; font-weight:600;
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ms-primary);
  background:rgba(214,67,67,.08); border:1px solid rgba(214,67,67,.18); padding:7px 16px; border-radius:40px; }
.ms-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%;
  background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent)); box-shadow:0 0 0 4px rgba(214,67,67,.14); }
.ms-eyebrow--light{ color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.26); }
.ms-head{ max-width:760px; margin-bottom:56px; }
.ms-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.ms-head-title{ font-weight:700; font-size:clamp(27px,3.4vw,42px); line-height:1.14; letter-spacing:-.02em; margin:20px 0 0; }
.ms-head-title span,
.ms-head-title strong{ font-weight:700; background:linear-gradient(120deg,var(--ms-primary),var(--ms-accent)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ms-head-lead{ color:var(--ms-muted); font-size:16px; line-height:1.75; margin:18px 0 0; }
.ms-section--ink .ms-head-title{ color:#fff; }
.ms-section--ink .ms-head-lead{ color:rgba(255,255,255,.72); }

/* ---- Header polish (structure/JS reused; add gradient accent + fonts) ---- */
.header{ position:relative; }
.header::after{ content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:6;
  background:linear-gradient(90deg,var(--ms-primary) 0%,var(--ms-accent) 55%,var(--ms-primary-light) 100%); }
.header .navigation > ul > li > a, .header-cta-btn{ font-family:'Sora',sans-serif !important; }
.header-cta-btn{ border-radius:12px !important; background:#ffffff !important; background-image:none !important; color:var(--ms-primary) !important; border:1.6px solid var(--ms-primary) !important; box-shadow:0 4px 14px rgba(214,67,67,.16) !important; transition:background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease !important; }
.header .header-cta-btn:hover, .header .header-cta-btn:focus{ background:#b23636 !important; background-image:none !important; color:#ffffff !important; opacity:1 !important; border-color:#b23636 !important; box-shadow:0 8px 22px rgba(214,67,67,.34) !important; transform:translateY(-1px); text-shadow:none !important; }
@media (min-width:992px){
  .navigation > ul > li:not(.dropdown) > a::before{ content:''; position:absolute; left:16px; right:16px; bottom:2px; height:2px; display:block !important;
    background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent)); transform:scaleX(0); transform-origin:left; transition:transform .32s ease; }
  .navigation > ul > li:not(.dropdown):hover > a::before,
  .navigation > ul > li.is--active:not(.dropdown) > a::before{ transform:scaleX(1); }
}

/* ============================================================
   HERO  (ms-hero) — light split hero, framed visual, floating chips
   ============================================================ */
.ms-hero{ position:relative; padding:130px 0 110px; overflow:hidden;
  background:radial-gradient(120% 120% at 85% 0%, #efeaff 0%, #f6f5ff 45%, #ffffff 100%); }
.ms-hero::before{ content:''; position:absolute; top:-160px; right:-120px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(214,67,67,.30), transparent 62%); filter:blur(14px); pointer-events:none; }
.ms-hero::after{ content:''; position:absolute; bottom:-180px; left:-120px; width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(242,153,74,.22), transparent 62%); filter:blur(14px); pointer-events:none; }
.ms-hero .container{ position:relative; z-index:2; }
.ms-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.ms-hero-copy{ max-width:600px; }
.ms-hero-title{ font-weight:800; font-size:clamp(34px,4.6vw,58px); line-height:1.06; letter-spacing:-.03em; margin:22px 0 0; color:var(--ms-ink); }
.ms-hero-title span{ position:relative; background:linear-gradient(120deg,var(--ms-primary),var(--ms-accent)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ms-hero-sub{ color:var(--ms-muted); font-size:17px; line-height:1.7; margin:22px 0 0; max-width:520px; }
.ms-hero-points{ list-style:none; padding:0; margin:26px 0 0; display:grid; gap:12px; }
.ms-hero-points li{ display:flex; align-items:center; gap:12px; font-size:15.5px; font-weight:500; color:var(--ms-ink); }
.ms-hero-points li strong{ color:var(--ms-primary); font-weight:700; }
.ms-hero-points li .ms-tick{ flex:0 0 24px; width:24px; height:24px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent)); color:#fff; font-style:normal; box-shadow:0 6px 16px rgba(214,67,67,.3); }
.ms-hero-points li .ms-tick::before{ content:'\2713'; font-size:13px; font-weight:700; }
.ms-hero-actions{ display:flex; flex-wrap:wrap; gap:16px; margin-top:34px; }

.ms-hero-visual{ position:relative; }
.ms-hero-frame{ position:relative; border-radius:26px; overflow:hidden; box-shadow:var(--ms-shadow);
  border:8px solid #fff; background:#fff; transform:rotate(1.4deg); }
.ms-hero-frame img{ display:block; width:100%; height:440px; object-fit:cover; }
.ms-hero-frame::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(36,27,31,.28)); }
.ms-hero-blob{ position:absolute; inset:auto -22px -26px auto; width:180px; height:180px; z-index:-1; border-radius:38% 62% 63% 37%/41% 44% 56% 59%;
  background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent)); opacity:.9; animation:blob-morph 16s ease-in-out infinite; }
.ms-chip{ position:absolute; display:flex; align-items:center; gap:11px; background:rgba(255,255,255,.86); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.8); border-radius:16px; padding:12px 16px; box-shadow:var(--ms-shadow-sm); z-index:3; }
.ms-chip i{ width:38px; height:38px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:17px; }
.ms-chip b{ display:block; font-family:'Sora',sans-serif; font-size:14px; color:var(--ms-ink); line-height:1.15; }
.ms-chip span{ font-size:11.5px; color:var(--ms-muted); }
.ms-chip--1{ top:26px; left:-26px; animation:ms-floaty 6s ease-in-out infinite; }
.ms-chip--1 i{ background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark)); }
.ms-chip--2{ bottom:34px; right:-22px; animation:ms-floaty 7s ease-in-out infinite reverse; }
.ms-chip--2 i{ background:linear-gradient(135deg,var(--ms-accent),var(--ms-accent-dark)); }
@keyframes ms-floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
@media (max-width:991px){
  .ms-hero{ padding:70px 0 60px; text-align:center; }
  .ms-hero-grid{ grid-template-columns:1fr; gap:44px; }
  .ms-hero-copy{ max-width:none; margin:0 auto; }
  .ms-hero-points{ display:inline-grid; text-align:left; }
  .ms-hero-actions{ justify-content:center; }
  .ms-hero-frame{ transform:none; max-width:520px; margin:0 auto; }
  .ms-hero-frame img{ height:340px; }
  .ms-chip--1{ left:8px; } .ms-chip--2{ right:8px; }
}
@media (max-width:575px){ .ms-chip span{ display:none; } .ms-hero-frame img{ height:260px; } }

/* ---- Page head (legal / simple inner) ---- */
.ms-pagehead{ position:relative; padding:150px 0 70px; overflow:hidden;
  background:linear-gradient(135deg,var(--ms-ink) 0%,var(--ms-ink-3) 60%,var(--ms-primary-dark) 130%); }
.ms-pagehead::before{ content:''; position:absolute; top:-140px; right:-80px; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle,rgba(242,153,74,.35),transparent 60%); }
.ms-pagehead::after{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size:22px 22px; opacity:.5; }
.ms-pagehead .container{ position:relative; z-index:2; }
.ms-pagehead h1{ color:#fff; font-weight:800; font-size:clamp(30px,4vw,48px); letter-spacing:-.02em; margin:18px 0 0; }
.ms-crumbs{ margin-top:16px; font-size:14px; color:rgba(255,255,255,.6); }
.ms-crumbs a{ color:var(--ms-accent-light); text-decoration:none; }
.ms-crumbs span{ margin:0 8px; opacity:.6; }
.ms-crumbs em{ font-style:normal; color:#fff; }

/* ============================================================
   FEATURES (ms-features) — index-numbered cards, icon chip, hover line
   ============================================================ */
.ms-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.ms-feature{ position:relative; background:#fff; border:1px solid var(--ms-line); border-radius:var(--ms-radius);
  padding:38px 30px 34px; box-shadow:var(--ms-shadow-sm); overflow:hidden;
  transition:transform .4s cubic-bezier(.16,.8,.24,1), box-shadow .4s ease; }
.ms-feature:hover{ transform:translateY(-8px); box-shadow:var(--ms-shadow); }
.ms-feature-idx{ position:absolute; top:18px; right:24px; font-family:'Sora',sans-serif; font-weight:800; font-size:52px;
  line-height:1; letter-spacing:-.04em; background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; opacity:.12; }
.ms-feature-ic{ width:62px; height:62px; border-radius:16px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:27px;
  background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark)); box-shadow:0 12px 26px rgba(214,67,67,.32); margin-bottom:22px; }
.ms-feature:nth-child(2) .ms-feature-ic{ background:linear-gradient(135deg,var(--ms-accent),var(--ms-accent-dark)); box-shadow:0 12px 26px rgba(242,153,74,.3); }
.ms-feature:nth-child(3) .ms-feature-ic{ background:linear-gradient(135deg,var(--ms-primary-light),var(--ms-primary)); box-shadow:0 12px 26px rgba(238,122,122,.34); }
.ms-feature h3{ font-size:19px; font-weight:700; margin:0 0 10px; color:var(--ms-ink); }
.ms-feature p{ font-size:14.5px; line-height:1.72; color:var(--ms-muted); margin:0; }
.ms-feature-line{ position:absolute; left:0; bottom:0; height:4px; width:100%; transform:scaleX(0); transform-origin:left;
  background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent)); transition:transform .45s cubic-bezier(.16,.8,.24,1); }
.ms-feature:hover .ms-feature-line{ transform:scaleX(1); }
@media (max-width:991px){ .ms-feature-grid{ grid-template-columns:1fr; gap:18px; max-width:520px; margin:0 auto; } }

/* ============================================================
   PROCESS (ms-process) — connected horizontal timeline
   ============================================================ */
.ms-timeline{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.ms-timeline::before{ content:''; position:absolute; top:38px; left:12%; right:12%; height:3px; z-index:0;
  background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent),var(--ms-primary-light)); border-radius:3px; opacity:.9; }
.ms-step{ position:relative; z-index:1; text-align:center; padding:0 8px; }
.ms-step-node{ position:relative; width:78px; height:78px; margin:0 auto 22px; border-radius:22px; display:flex; align-items:center; justify-content:center;
  font-size:28px; color:#fff; background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark));
  box-shadow:0 16px 34px rgba(214,67,67,.34); border:5px solid #fff; }
.ms-step:nth-child(2) .ms-step-node{ background:linear-gradient(135deg,var(--ms-accent),var(--ms-accent-dark)); box-shadow:0 16px 34px rgba(242,153,74,.32); }
.ms-step:nth-child(3) .ms-step-node{ background:linear-gradient(135deg,var(--ms-primary-light),var(--ms-primary)); box-shadow:0 16px 34px rgba(238,122,122,.34); }
.ms-step-num{ position:absolute; top:-10px; right:-10px; width:30px; height:30px; border-radius:50%; background:#fff; color:var(--ms-primary-dark);
  font-family:'Sora',sans-serif; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; box-shadow:var(--ms-shadow-sm); }
.ms-step h3{ font-size:19px; font-weight:700; color:var(--ms-ink); margin:0 0 9px; }
.ms-step p{ font-size:14.5px; line-height:1.7; color:var(--ms-muted); margin:0 auto; max-width:300px; }
@media (max-width:767px){
  .ms-timeline{ grid-template-columns:1fr; gap:26px; max-width:480px; margin:0 auto; }
  .ms-timeline::before{ top:10px; bottom:10px; left:39px; right:auto; width:3px; height:auto; }
  .ms-step{ display:grid; grid-template-columns:78px 1fr; column-gap:18px; row-gap:6px; text-align:left; align-items:start; }
  .ms-step-node{ grid-column:1; grid-row:1 / span 2; margin:0; align-self:start; }
  .ms-step h3{ grid-column:2; grid-row:1; align-self:center; margin:0; }
  .ms-step p{ grid-column:2; grid-row:2; margin:0; max-width:none; }
}

/* ============================================================
   SPLIT (ms-split) — about band / service overview (image + copy)
   ============================================================ */
.ms-split{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.ms-split--reverse .ms-split-media{ order:2; }
.ms-split-copy .ms-head-title{ margin-top:18px; }
.ms-split-copy p{ color:var(--ms-muted); font-size:16px; line-height:1.8; margin:18px 0 0; }
.ms-checklist{ list-style:none; padding:0; margin:26px 0 0; display:grid; gap:14px; }
.ms-checklist li{ display:flex; gap:13px; align-items:flex-start; font-size:15px; color:var(--ms-ink); font-weight:500; }
.ms-checklist li i{ flex:0 0 26px; width:26px; height:26px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; font-style:normal;
  background:rgba(214,67,67,.12); color:var(--ms-primary); }
.ms-checklist li i::before{ content:'\2713'; font-size:13px; font-weight:700; }
.ms-split-actions{ margin-top:32px; }
.ms-media-frame{ position:relative; border-radius:26px; overflow:hidden; box-shadow:var(--ms-shadow); border:7px solid #fff; }
.ms-media-frame img{ display:block; width:100%; height:430px; object-fit:cover; }
.ms-media-tag{ position:absolute; left:-18px; bottom:26px; background:linear-gradient(135deg,var(--ms-primary),var(--ms-primary-dark)); color:#fff;
  padding:16px 22px; border-radius:16px; box-shadow:0 18px 40px rgba(214,67,67,.4); z-index:3; }
.ms-media-tag b{ display:block; font-family:'Sora',sans-serif; font-size:22px; line-height:1; }
.ms-media-tag span{ font-size:12px; opacity:.85; }
.ms-media-frame::before{ content:''; position:absolute; z-index:-1; inset:auto -20px -22px auto; width:70%; height:70%;
  border-radius:26px; background:linear-gradient(135deg,rgba(242,153,74,.5),rgba(214,67,67,.35)); }
.ms-quotemark{ font-family:'Sora',sans-serif; font-weight:800; font-size:80px; line-height:.6; color:var(--ms-primary); opacity:.16; }
@media (max-width:991px){
  .ms-split{ grid-template-columns:1fr; gap:40px; }
  .ms-split--reverse .ms-split-media{ order:0; }
  .ms-media-frame img{ height:320px; }
}

/* ============================================================
   BENEFITS (ms-benefits) — 3 media cards (image top, numbered)
   ============================================================ */
.ms-benefit-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.ms-benefit{ position:relative; background:#fff; border:1px solid var(--ms-line); border-radius:var(--ms-radius); overflow:hidden;
  box-shadow:var(--ms-shadow-sm); transition:transform .4s cubic-bezier(.16,.8,.24,1), box-shadow .4s ease; display:flex; flex-direction:column; }
.ms-benefit:hover{ transform:translateY(-8px); box-shadow:var(--ms-shadow); }
.ms-benefit-media{ position:relative; overflow:hidden; }
.ms-benefit-media img{ display:block; width:100%; height:210px; object-fit:cover; transition:transform .6s ease; }
.ms-benefit:hover .ms-benefit-media img{ transform:scale(1.06); }
.ms-benefit-media::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(36,27,31,.42)); }
.ms-benefit-num{ position:absolute; top:16px; left:16px; z-index:2; width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:800; font-size:18px; color:#fff; background:rgba(214,67,67,.9); backdrop-filter:blur(4px); box-shadow:0 10px 24px rgba(36,27,31,.3); }
.ms-benefit:nth-child(2) .ms-benefit-num{ background:rgba(242,153,74,.92); }
.ms-benefit:nth-child(3) .ms-benefit-num{ background:rgba(238,122,122,.95); }
.ms-benefit-tag{ position:absolute; bottom:14px; left:16px; right:16px; z-index:2; color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; }
.ms-benefit-body{ padding:24px 26px 30px; }
.ms-benefit-body p{ font-size:14.5px; line-height:1.75; color:var(--ms-muted); margin:0; }
@media (max-width:991px){ .ms-benefit-grid{ grid-template-columns:1fr; gap:20px; max-width:520px; margin:0 auto; } }

/* ============================================================
   CONTACT (ms-contact) — gradient aside + form card
   ============================================================ */
.ms-contact-card{ display:grid; grid-template-columns:.85fr 1.15fr; background:#fff; border-radius:26px; overflow:hidden;
  box-shadow:var(--ms-shadow); border:1px solid var(--ms-line); }
.ms-contact-aside{ position:relative; padding:48px 42px; color:#fff; overflow:hidden;
  background:linear-gradient(160deg,var(--ms-primary) 0%,var(--ms-primary-dark) 55%,var(--ms-ink) 120%); }
.ms-contact-aside::before{ content:''; position:absolute; top:-90px; right:-70px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(242,153,74,.45),transparent 62%); }
.ms-contact-aside::after{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px); background-size:20px 20px; opacity:.5; }
.ms-contact-aside > *{ position:relative; z-index:2; }
.ms-contact-aside h3{ color:#fff; font-size:27px; font-weight:700; margin:16px 0 12px; }
.ms-contact-aside p{ color:rgba(255,255,255,.82); font-size:15px; line-height:1.7; margin:0 0 26px; }
.ms-contact-links{ display:grid; gap:16px; margin-bottom:28px; }
.ms-contact-links a{ display:flex; align-items:center; gap:14px; color:#fff; text-decoration:none; font-size:15px; transition:transform .3s ease; }
.ms-contact-links a:hover{ transform:translateX(4px); }
.ms-contact-links a i{ width:42px; height:42px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); font-size:16px; }
.ms-assure{ list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.ms-assure li{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:rgba(255,255,255,.85); }
.ms-assure li::before{ content:'\2713'; width:20px; height:20px; border-radius:6px; background:rgba(255,255,255,.16); display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.ms-contact-form{ padding:46px 44px; }
.ms-contact-form h2{ font-size:26px; font-weight:700; color:var(--ms-ink); margin:0 0 6px; }
.ms-contact-form .ms-form-sub{ color:var(--ms-muted); font-size:14.5px; margin:0 0 26px; }
.ms-field{ margin-bottom:16px; }
.ms-field label{ display:block; font-family:'Sora',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.02em; color:var(--ms-ink); margin-bottom:7px; }
.ms-contact-form .form-control{ width:100%; border:1.6px solid #e4e5f2 !important; border-radius:12px !important; padding:12px 15px !important;
  font-size:14.5px !important; font-family:'Inter',sans-serif !important; background:#f8f8ff !important; color:var(--ms-ink) !important; height:auto !important;
  transition:border-color .3s ease, box-shadow .3s ease, background .3s ease; }
.ms-contact-form .form-control::placeholder{ color:#a8a7be; }
.ms-contact-form .form-control:focus{ border-color:var(--ms-primary) !important; background:#fff !important; box-shadow:0 0 0 4px rgba(214,67,67,.12) !important; outline:none; }
.ms-check{ display:flex; align-items:flex-start; gap:10px; margin:6px 0 8px; }
.ms-check label{ font-size:13px; color:var(--ms-text); cursor:pointer; }
.ms-note{ font-size:11.5px; color:#9a99b2; line-height:1.55; margin:0 0 18px; }
.ms-note a{ color:var(--ms-primary); }
.ms-contact-form .btn-wrap{ margin-top:4px; }
.ms-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-status{ padding:11px 15px; border-radius:10px; font-size:13.5px; font-weight:500; margin-bottom:16px; }
.form-status-success{ background:#e7f8f1; color:#0e7a54; border:1px solid #b6e8d4; }
.form-status-error{ background:#fdeef0; color:#c5364c; border:1px solid #f6cdd4; }
@media (max-width:991px){
  .ms-contact-card{ grid-template-columns:1fr; }
  .ms-contact-aside{ padding:38px 30px; }
  .ms-contact-form{ padding:34px 28px; }
}
@media (max-width:575px){ .ms-grid-2{ grid-template-columns:1fr; } }

/* ============================================================
   CTA (ms-cta) — gradient card
   ============================================================ */
.ms-cta{ padding:70px 0 100px; }
.ms-cta-card{ position:relative; border-radius:30px; padding:74px 40px; text-align:center; overflow:hidden;
  background:linear-gradient(130deg,var(--ms-ink) 0%,var(--ms-primary-dark) 55%,var(--ms-primary) 120%); box-shadow:0 30px 70px rgba(78,47,214,.32); }
.ms-cta-card::before{ content:''; position:absolute; top:-120px; left:-60px; width:360px; height:360px; border-radius:50%;
  background:radial-gradient(circle,rgba(242,153,74,.4),transparent 60%); }
.ms-cta-card::after{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px); background-size:24px 24px; opacity:.55; }
.ms-cta-card > *{ position:relative; z-index:2; }
.ms-cta-card h2{ color:#fff; font-weight:800; font-size:clamp(26px,3.6vw,42px); letter-spacing:-.02em; margin:18px 0 0; }
.ms-cta-card p{ color:rgba(255,255,255,.85); font-size:16.5px; line-height:1.7; margin:18px auto 34px; max-width:640px; }
@media (max-width:767px){ .ms-cta-card{ padding:52px 24px; } }

/* ============================================================
   LEGAL (ms-legal) — clean article for privacy / terms
   ============================================================ */
.ms-legal{ padding:80px 0 90px; }
.ms-legal-wrap{ max-width:860px; margin:0 auto; }
.ms-legal p{ color:var(--ms-text); font-size:15.5px; line-height:1.85; margin:0 0 18px; }
.ms-legal h4{ font-size:21px; font-weight:700; color:var(--ms-ink); margin:38px 0 14px; padding-left:16px; position:relative; }
.ms-legal h4::before{ content:''; position:absolute; left:0; top:4px; bottom:4px; width:5px; border-radius:4px; background:linear-gradient(180deg,var(--ms-primary),var(--ms-accent)); }
.ms-legal a{ color:var(--ms-primary); }
.ms-legal .listingterms ul,.ms-legal .listingoth ul{ list-style:none; padding:0; margin:10px 0 22px; display:grid; gap:10px; }
.ms-legal .listingterms ul li,.ms-legal .listingoth ul li{ position:relative; padding-left:30px; font-size:15px; line-height:1.7; color:var(--ms-text); }
.ms-legal .listingterms ul li::before,.ms-legal .listingoth ul li::before{ content:'\2713'; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px;
  background:rgba(214,67,67,.12); color:var(--ms-primary); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.ms-legal .listingoth ul ul{ margin:10px 0 0; }
.ms-legal-lead{ font-size:17px !important; color:var(--ms-muted) !important; }
.ms-legal-card{ background:var(--ms-bg); border:1px solid var(--ms-line); border-radius:18px; padding:26px 30px; margin:0 0 8px; }

/* ============================================================
   FOOTER (ms-footer) — new layout: gradient top + columns
   ============================================================ */
.ms-footer{ position:relative; background:linear-gradient(160deg,var(--ms-ink) 0%,var(--ms-ink-3) 100%); color:#fff; overflow:hidden; }
.ms-footer::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent),var(--ms-primary-light)); }
.ms-footer::after{ content:''; position:absolute; bottom:-160px; right:-100px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(214,67,67,.28),transparent 62%); }
.ms-footer-inner{ position:relative; z-index:2; }
.ms-footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding:70px 0 46px; }
.ms-footer-logo{ display:inline-block; margin-bottom:20px; }
.ms-footer-logo img{ max-height:52px; }
.ms-footer-desc{ color:rgba(255,255,255,.6); font-size:14px; line-height:1.75; max-width:300px; margin:0 0 22px; }
.ms-social{ display:flex; gap:12px; }
.ms-social a{ width:40px; height:40px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; color:#fff;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); transition:all .3s ease; text-decoration:none; font-size:15px; }
.ms-social a:hover{ background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent)); border-color:transparent; transform:translateY(-3px); }
.ms-fcol h5{ color:#fff; font-family:'Sora',sans-serif; font-size:15px; font-weight:600; margin:0 0 20px; position:relative; padding-bottom:12px; }
.ms-fcol h5::after{ content:''; position:absolute; left:0; bottom:0; width:28px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent)); }
.ms-fcol ul{ list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.ms-fcol ul li a{ color:rgba(255,255,255,.6); font-size:14px; text-decoration:none; transition:color .3s ease, padding-left .3s ease; }
.ms-fcol ul li a:hover{ color:var(--ms-accent-light); padding-left:5px; }
.ms-fcontact{ list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.ms-fcontact li{ display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.72); font-size:14px; }
.ms-fcontact li a{ color:rgba(255,255,255,.72); text-decoration:none; }
.ms-fcontact li a:hover{ color:var(--ms-accent-light); }
.ms-fcontact li i{ color:var(--ms-accent-light); width:18px; text-align:center; }
.ms-footer-bottom{ position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.1); padding:20px 0; text-align:center; }
.ms-footer-bottom p{ color:rgba(255,255,255,.5); font-size:13px; margin:0; }
@media (max-width:991px){ .ms-footer-top{ grid-template-columns:1fr 1fr; gap:32px; padding:52px 0 36px; } }
@media (max-width:575px){ .ms-footer-top{ grid-template-columns:1fr; } }

/* ============================================================
   POPUP polish
   ============================================================ */
.popup.popup-style1{ border-radius:22px !important; box-shadow:0 30px 80px rgba(36,27,31,.28) !important; }
.popup .popupContent .cl-iPrimary{ color:var(--ms-primary) !important; }

/* ============================================================
   SCROLL REVEAL (progressive — JS adds .reveal-on to <html>)
   ============================================================ */
html.reveal-on .reveal{ opacity:0; transform:translateY(32px); transition:opacity .8s cubic-bezier(.16,.8,.24,1), transform .8s cubic-bezier(.16,.8,.24,1); will-change:opacity,transform; }
html.reveal-on .reveal.reveal-left{ transform:translateX(-46px); }
html.reveal-on .reveal.reveal-right{ transform:translateX(46px); }
html.reveal-on .reveal.reveal-scale{ transform:scale(.94); }
html.reveal-on .reveal.is-visible{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce){ html.reveal-on .reveal{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* ---- misc ---- */
::selection{ background:rgba(214,67,67,.16); color:var(--ms-ink); }

/* ============================================================================
   PREMIUM UPGRADE v2 — new banner look + eye-catching sections
   (loaded last; overrides base ms-* where intended)
   ============================================================================ */

/* ---------- HERO / banner: clean light premium + red accents ---------- */
.ms-hero{
  padding:148px 0 116px !important; color:var(--ms-ink) !important;
  background:
    radial-gradient(rgba(214,67,67,.045) 1px, transparent 1px) 0 0/26px 26px,
    radial-gradient(120% 120% at 86% -12%, #fdece9 0%, #fbf6f5 46%, #ffffff 100%) !important;
}
.ms-hero::before{
  content:''; position:absolute; top:-16%; right:-8%; width:52vw; height:52vw; max-width:680px; max-height:680px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(214,67,67,.16), transparent 62%); filter:blur(16px); opacity:.85; z-index:0;
  animation:ms-aurora1 18s ease-in-out infinite; pointer-events:none;
}
.ms-hero::after{
  content:''; position:absolute; bottom:-20%; left:-10%; width:48vw; height:48vw; max-width:620px; max-height:620px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(242,153,74,.15), transparent 62%); filter:blur(16px); opacity:.8; z-index:0;
  animation:ms-aurora2 22s ease-in-out infinite; pointer-events:none;
}
@keyframes ms-aurora1{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-28px,22px) scale(1.1);} }
@keyframes ms-aurora2{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(28px,-22px) scale(1.12);} }

.ms-hero-title{ color:var(--ms-ink) !important; }
.ms-hero-title span{ background:linear-gradient(120deg,var(--ms-primary),var(--ms-accent)) !important; -webkit-background-clip:text !important; background-clip:text !important; -webkit-text-fill-color:transparent !important; color:transparent; }
.ms-hero-sub{ color:var(--ms-muted) !important; }
.ms-hero-points li{ color:var(--ms-ink) !important; }
.ms-hero-points li strong{ color:var(--ms-primary) !important; }
.ms-hero .ms-btn--ghost{ color:var(--ms-ink) !important; border-color:rgba(36,27,31,.18) !important; background:#fff !important; }
.ms-hero .ms-btn--ghost:hover{ color:#fff !important; background:var(--ms-ink) !important; border-color:var(--ms-ink) !important; }

.ms-hero-visual::before{ content:''; position:absolute; inset:6% -6% -9% 8%; border-radius:30px; z-index:0;
  background:linear-gradient(135deg, rgba(214,67,67,.38), rgba(242,153,74,.30)); filter:blur(2px); transform:rotate(-3deg); }
.ms-hero-frame{ border-width:10px !important; box-shadow:0 40px 88px rgba(36,27,31,.22) !important; transform:rotate(2deg); }
.ms-hero-frame img{ height:470px !important; }
.ms-hero-blob{ display:none !important; }
.ms-chip{ background:rgba(255,255,255,.96) !important; box-shadow:0 20px 44px rgba(36,27,31,.16) !important; }
@media (max-width:991px){
  .ms-hero{ padding:88px 0 66px !important; }
  .ms-hero-frame img{ height:340px !important; }
  .ms-hero-visual::before{ inset:4% 4% -6% 4%; }
}

/* ---------- PAGEHEAD (legal) — matching premium aurora ---------- */
.ms-pagehead{ background:linear-gradient(135deg,#2a1b1e 0%,#b23636 55%,#f2994a 135%) !important; }
.ms-pagehead::before{ animation:ms-aurora1 16s ease-in-out infinite; }

/* ---------- FEATURE cards: gradient-ring glow on hover ---------- */
.ms-feature::before{ content:''; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none; opacity:0; transition:opacity .4s ease;
  background:linear-gradient(135deg,var(--ms-primary),var(--ms-accent));
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.ms-feature:hover{ box-shadow:0 30px 70px rgba(214,67,67,.22) !important; border-color:transparent !important; }
.ms-feature:hover::before{ opacity:1; }
.ms-feature-idx{ font-size:60px; opacity:.10; }
.ms-feature:hover .ms-feature-ic{ transform:translateY(-3px) scale(1.05); transition:transform .4s ease; }

/* ---------- PROCESS: flowing gradient line + pulsing node halos ---------- */
.ms-timeline::before{ background:linear-gradient(90deg,var(--ms-primary),var(--ms-accent),var(--ms-primary-light),var(--ms-primary)) !important; background-size:300% 100% !important; animation:ms-flow 6s linear infinite; }
@keyframes ms-flow{ 0%{ background-position:0 0;} 100%{ background-position:300% 0;} }
.ms-step-node::after{ content:''; position:absolute; inset:-7px; border-radius:26px; border:2px solid rgba(214,67,67,.30); opacity:0; animation:ms-pulse 3s ease-in-out infinite; }
.ms-step:nth-child(2) .ms-step-node::after{ border-color:rgba(242,153,74,.32); animation-delay:1s; }
.ms-step:nth-child(3) .ms-step-node::after{ border-color:rgba(238,122,122,.36); animation-delay:2s; }
@keyframes ms-pulse{ 0%,100%{ transform:scale(1); opacity:0;} 50%{ transform:scale(1.14); opacity:1;} }

/* ---------- SPLIT media: tilt + vivid backplate ---------- */
.ms-media-frame{ transform:none; }
.ms-split--reverse .ms-media-frame{ transform:none; }
.ms-media-frame::before{ background:linear-gradient(135deg,rgba(242,153,74,.6),rgba(214,67,67,.45)) !important; filter:blur(3px); }

/* ---------- BENEFIT cards: premium hover + ringed number ---------- */
.ms-benefit:hover{ box-shadow:0 30px 70px rgba(214,67,67,.20) !important; }
.ms-benefit-num{ box-shadow:0 12px 26px rgba(15,10,50,.35), 0 0 0 4px rgba(255,255,255,.25) !important; }

/* ---------- CTA: living gradient ---------- */
.ms-cta-card{ background:linear-gradient(120deg,#2a1b1e,#b23636 55%,#f2994a 130%) !important; }
.ms-cta-card::before{ animation:ms-aurora2 18s ease-in-out infinite; }

/* ---------- BUTTON sheen sweep ---------- */
.ms-btn{ position:relative; overflow:hidden; }
.ms-btn--primary::after,.ms-btn--light::after{ content:''; position:absolute; top:0; left:-120%; width:60%; height:100%; pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent); transform:skewX(-20deg); transition:left .6s ease; }
.ms-btn--primary:hover::after,.ms-btn--light:hover::after{ left:150%; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .ms-hero::before,.ms-hero::after,.ms-pagehead::before,.ms-timeline::before,.ms-step-node::after,.ms-cta-card::before{ animation:none !important; }
}

/* ============================================================================
   RESPONSIVE HARDENING — kill horizontal overflow + mobile tuning
   ============================================================================ */
html, body{ overflow-x:hidden !important; max-width:100%; }
img, svg, video, canvas{ max-width:100%; }

/* prevent grid/flex children from forcing the page wider than the viewport */
.ms-hero-grid, .ms-feature-grid, .ms-benefit-grid, .ms-timeline, .ms-split, .ms-contact-card, .ms-footer-top, .ms-grid-2{ min-width:0; }
.ms-hero-grid > *, .ms-feature-grid > *, .ms-benefit-grid > *, .ms-timeline > *, .ms-split > *, .ms-contact-card > *, .ms-footer-top > *, .ms-grid-2 > *{ min-width:0; }

/* long words / gradient keywords must wrap, never overflow */
.ms-hero-title, .ms-head-title, .ms-hero-sub, .ms-hero-points li, .ms-feature h3, .ms-feature p,
.ms-benefit-body p, .ms-step h3, .ms-step p, .ms-split-copy p, .ms-legal p, .ms-legal h4,
.ms-contact-aside p, .ms-contact-form h2, .ms-cta-card h2, .ms-cta-card p, .ms-eyebrow{ overflow-wrap:break-word; word-break:normal; }
.ms-hero-title span{ display:inline; }

@media (max-width:991px){
  .container{ padding-left:20px !important; padding-right:20px !important; max-width:100% !important; }
  .ms-hero-copy{ max-width:640px; }
}

@media (max-width:600px){
  .container{ padding-left:16px !important; padding-right:16px !important; }
  .ms-hero{ padding:74px 0 54px !important; }
  .ms-hero-title{ font-size:clamp(26px,8vw,34px) !important; letter-spacing:-.02em; }
  .ms-hero-sub{ font-size:15px !important; }
  .ms-head{ margin-bottom:36px; }
  .ms-head-title{ font-size:clamp(22px,6.4vw,28px) !important; }
  .ms-section{ padding:54px 0 !important; }
  .ms-eyebrow{ letter-spacing:.10em; font-size:11px; }
  .ms-btn{ padding:13px 22px; font-size:14px; }
  .ms-hero-actions{ width:100%; }
  .ms-hero-actions .ms-btn{ flex:1 1 42%; justify-content:center; }
  .ms-cta-card{ padding:44px 20px !important; }
  .ms-cta-card p{ font-size:15px; }
  .ms-contact-form, .ms-contact-aside{ padding:30px 22px !important; }
  .ms-feature, .ms-benefit-body{ padding-left:24px; padding-right:24px; }
  .ms-media-tag{ left:12px; bottom:12px; padding:12px 16px; }
  .ms-hero-frame img{ height:300px !important; }
}

@media (max-width:400px){
  .ms-hero-title{ font-size:26px !important; }
  .ms-chip{ transform:scale(.9); }
}

/* on phones, reveal never translates horizontally (prevents any overflow) */
@media (max-width:600px){
  html.reveal-on .reveal.reveal-left,
  html.reveal-on .reveal.reveal-right{ transform:translateY(28px); }
}