/* ============================================================
   homerefinancingguide — "Clinical Ledger" design system
   Precise, calm, exact. Monospace headings, hairline gridlines.
   ============================================================ */

:root{
  --site-bg:#FFFFFF;
  --site-surface:#F7F9FA;
  --site-text:#111820;
  --site-muted:#8A97A0;
  --site-accent:#1256E0;

  --mvk-bg:#FFFFFF;
  --mvk-surface:#F7F9FA;
  --mvk-text:#111820;
  --mvk-muted:#8A97A0;
  --mvk-accent:#1256E0;
  --mvk-accent2:#C4CED6;

  --mvk-rule:#E1E7EB;
  --mvk-hairline:#D6DDE2;

  --mvk-font-head:"Space Mono", ui-monospace, monospace;
  --mvk-font-body:"Source Sans 3", system-ui, sans-serif;

  --mvk-container:1280px;
  --mvk-radius:8px;
  --mvk-pad-sec:84px;
  --mvk-gutter:clamp(18px,4vw,40px)}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--mvk-bg);
  color:var(--mvk-text);
  font-family:var(--mvk-font-body);
  font-size:clamp(16px,1.05vw,17px);
  line-height:1.65;
  font-weight:400;
  overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--mvk-accent);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,h4,h5{
  font-family:var(--mvk-font-head);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.01em;
  margin:0 0 .5em;
  color:var(--mvk-text)}

:focus-visible{
  outline:2px solid var(--mvk-accent);
  outline-offset:3px}

/* ---------- Layout primitives ---------- */
.mvk-wrap{
  width:100%;
  max-width:var(--mvk-container);
  margin-inline:auto;
  padding-inline:var(--mvk-gutter)}

/* 12-column grid — blocks step inward on deliberate offsets */
.mvk-grid-12{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(20px,3vw,36px)}

.mvk-sec{
  padding-block:var(--mvk-pad-sec);
  position:relative;
  border-top:1px solid var(--mvk-rule)}
.mvk-sec:first-of-type{border-top:0}

/* ghosted monospace column numbers in the margin — signature element */
.mvk-sec[data-col]::before{
  content:attr(data-col);
  position:absolute;
  top:18px;
  left:var(--mvk-gutter);
  font-family:var(--mvk-font-head);
  font-size:.72rem;
  letter-spacing:.24em;
  color:var(--mvk-accent2);
  opacity:.75}

.mvk-eyebrow{
  font-family:var(--mvk-font-head);
  font-size:.75rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--mvk-muted);
  margin:0 0 1.1rem;
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap}
.mvk-eyebrow::before{
  content:"";
  width:26px;height:1px;
  background:var(--mvk-accent);
  display:inline-block}

.mvk-sec-ttl{font-size:clamp(1.7rem,3.6vw,2.7rem)}
.mvk-lede{
  max-width:66ch;
  color:#3a444d;
  font-size:clamp(1.02rem,1.4vw,1.2rem)}

/* ---------- Buttons ---------- */
.mvk-cta-btn,
.mvk-ghost-btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--mvk-font-head);
  font-size:.86rem;
  letter-spacing:.04em;
  padding:.9rem 1.5rem;
  border-radius:var(--mvk-radius);
  border:1px solid transparent;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
  text-decoration:none}
.mvk-cta-btn{background:var(--mvk-accent);color:#fff;border-color:var(--mvk-accent)}
.mvk-cta-btn:hover{background:#0e46b8;text-decoration:none}
.mvk-ghost-btn{background:transparent;color:var(--mvk-text);border-color:var(--mvk-hairline)}
.mvk-ghost-btn:hover{border-color:var(--mvk-accent);color:var(--mvk-accent);text-decoration:none}

.mvk-txt-link{
  font-family:var(--mvk-font-head);
  font-size:.86rem;
  letter-spacing:.03em;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--mvk-accent)}
.mvk-txt-link i{transition:transform .18s ease}
.mvk-txt-link:hover i{transform:translateX(4px)}

/* ============================================================
   HEADER — thin top utility bar + large mono nav below
   ============================================================ */
.mvk-hdr-blk{
  position:sticky;top:0;z-index:60;
  background:var(--mvk-bg);
  border-bottom:1px solid var(--mvk-rule);
  transition:box-shadow .2s ease}
.mvk-hdr-blk.is-scrolled{box-shadow:0 1px 0 var(--mvk-hairline)}

.mvk-util-bar{
  background:var(--mvk-text);
  color:#cfd6dc;
  font-family:var(--mvk-font-head);
  font-size:.74rem;
  letter-spacing:.06em}
.mvk-util-inr{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1.6rem;
  align-items:center;
  justify-content:flex-end;
  padding-block:.5rem}
.mvk-util-itm{display:inline-flex;align-items:center;gap:.5rem;color:#cfd6dc}
.mvk-util-itm i{color:var(--mvk-accent2)}
.mvk-util-itm:hover{color:#fff;text-decoration:none}

.mvk-nav-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-block:1.1rem}

/* Logo */
.mvk-logo{display:inline-flex;align-items:center;gap:.6rem}
.mvk-logo-ic{width:34px;height:34px;flex:none;display:block}
.mvk-logo-txt{
  font-family:var(--mvk-font-head);
  font-weight:700;
  font-size:1.24rem;
  letter-spacing:-.02em;
  color:var(--mvk-text);
  white-space:nowrap}
.mvk-logo:hover{text-decoration:none}

.mvk-nav{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.mvk-nav-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1.6rem;
  list-style:none;margin:0;padding:0}
.mvk-nav-itm{
  font-family:var(--mvk-font-head);
  font-size:.94rem;
  letter-spacing:.01em;
  color:var(--mvk-text);
  padding:.3rem 0;
  border-bottom:2px solid transparent}
.mvk-nav-itm:hover,.mvk-nav-itm[aria-current="page"]{
  color:var(--mvk-accent);
  border-bottom-color:var(--mvk-accent);
  text-decoration:none}

.mvk-nav-cta{margin-left:.4rem}

.mvk-burger{
  display:none;
  background:none;border:1px solid var(--mvk-hairline);
  border-radius:var(--mvk-radius);
  width:46px;height:46px;
  cursor:pointer;
  color:var(--mvk-text);
  font-size:1.15rem;
  align-items:center;justify-content:center}

/* Mobile drawer */
.mvk-scrim{
  position:fixed;inset:0;
  background:rgba(17,24,32,.42);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
  z-index:70}
.mvk-scrim.is-open{opacity:1;visibility:visible}
.mvk-drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(86vw,340px);
  background:var(--mvk-bg);
  border-left:1px solid var(--mvk-rule);
  transform:translateX(100%);
  transition:transform .28s ease;
  z-index:80;
  display:flex;flex-direction:column;
  padding:1.4rem}
.mvk-drawer.is-open{transform:translateX(0)}
.mvk-drawer-top{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--mvk-rule)}
.mvk-drawer-close{
  background:none;border:1px solid var(--mvk-hairline);border-radius:var(--mvk-radius);
  width:42px;height:42px;cursor:pointer;color:var(--mvk-text);font-size:1.05rem}
.mvk-drawer-nav{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}
.mvk-drawer-nav a{
  font-family:var(--mvk-font-head);
  font-size:1.05rem;
  color:var(--mvk-text);
  padding:.85rem .2rem;
  border-bottom:1px solid var(--mvk-rule);
  display:block}
.mvk-drawer-nav a:hover{color:var(--mvk-accent);text-decoration:none}

@media(max-width:860px){
  .mvk-nav{display:none}
  .mvk-burger{display:inline-flex}
}

/* ============================================================
   HERO — text-only, oversized headline, solid field
   ============================================================ */
.mvk-hero{
  padding-block:clamp(72px,11vw,140px);
  border-bottom:1px solid var(--mvk-rule);
  background:var(--mvk-bg)}
.mvk-hero-inr{
  grid-column:2 / 12}
.mvk-hero-ttl{
  font-size:clamp(2.6rem,8vw,6rem);
  line-height:1.02;
  letter-spacing:-.03em;
  margin:0 0 1.2rem}
.mvk-hero-ttl .mvk-accent{color:var(--mvk-accent)}
.mvk-hero-sub{
  max-width:60ch;
  font-size:clamp(1.1rem,1.7vw,1.35rem);
  color:#3a444d;
  margin:0 0 2rem}

/* page_hero tinted band */
.mvk-phero{
  background:var(--mvk-surface);
  padding-block:clamp(60px,9vw,110px);
  border-bottom:1px solid var(--mvk-rule)}
.mvk-phero-inr{grid-column:2 / 11}
.mvk-phero-ttl{font-size:clamp(2.2rem,5.5vw,3.8rem)}

/* page_hero centered compact */
.mvk-phero--center{padding-block:clamp(48px,7vw,84px)}
.mvk-phero--center .mvk-phero-inr{
  grid-column:3 / 11;
  text-align:center}
.mvk-phero--center .mvk-eyebrow{justify-content:center}
.mvk-phero--center .mvk-lede{margin-inline:auto}

/* ============================================================
   BEFORE / AFTER — two-column was / is now
   ============================================================ */
.mvk-ba-grid{grid-column:2 / 12}
.mvk-ba-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:0;
  border:1px solid var(--mvk-rule);
  border-radius:var(--mvk-radius);
  overflow:hidden}
.mvk-ba-col{padding:clamp(1.6rem,3vw,2.6rem);min-width:0}
.mvk-ba-col + .mvk-ba-col{border-left:1px solid var(--mvk-rule)}
.mvk-ba-col--was{background:var(--mvk-surface)}
.mvk-ba-tag{
  font-family:var(--mvk-font-head);
  font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--mvk-muted);margin-bottom:.8rem}
.mvk-ba-col--now .mvk-ba-tag{color:var(--mvk-accent)}
.mvk-ba-hd{font-size:1.4rem;margin-bottom:.6rem}
@media(max-width:560px){
  .mvk-ba-col + .mvk-ba-col{border-left:0;border-top:1px solid var(--mvk-rule)}
}

/* ============================================================
   LOCATION — photo beside address & hours
   ============================================================ */
.mvk-loc-grid{
  grid-column:3 / 12;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:clamp(24px,4vw,48px);
  align-items:center}
.mvk-loc-fig{
  margin:0;
  aspect-ratio:4/3;
  border-radius:var(--mvk-radius);
  overflow:hidden;
  border:1px solid var(--mvk-rule);
  min-width:0}
.mvk-loc-fig img{width:100%;height:100%;object-fit:cover}
.mvk-loc-info{min-width:0}
.mvk-loc-row{
  display:flex;flex-wrap:wrap;gap:.7rem;
  padding:.9rem 0;border-bottom:1px solid var(--mvk-rule)}
.mvk-loc-row i{color:var(--mvk-accent);margin-top:.2rem}
.mvk-loc-row strong{font-family:var(--mvk-font-head);font-size:.9rem}
.mvk-loc-row .mvk-loc-lbl{min-width:96px;color:var(--mvk-muted);font-family:var(--mvk-font-head);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}

/* ============================================================
   GALLERY — 3-column image grid
   ============================================================ */
.mvk-gal-grid{grid-column:2 / 12}
.mvk-gal-set{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:clamp(14px,2vw,22px)}
.mvk-gal-cell{
  aspect-ratio:1/1;
  border-radius:var(--mvk-radius);
  overflow:hidden;
  border:1px solid var(--mvk-rule);
  min-width:0}
.mvk-gal-cell img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.mvk-gal-cell:hover img{transform:scale(1.04)}

/* ============================================================
   AUDIENCE — stacked reader personas w/ portrait
   ============================================================ */
.mvk-aud-grid{grid-column:2 / 12;display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}
.mvk-aud-itm{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:clamp(20px,3vw,40px);
  align-items:center;
  padding-block:clamp(20px,3vw,32px);
  border-top:1px solid var(--mvk-rule)}
.mvk-aud-itm:first-child{border-top:0}
.mvk-aud-por{
  aspect-ratio:4/5;
  max-width:280px;
  border-radius:var(--mvk-radius);
  overflow:hidden;
  border:1px solid var(--mvk-rule);
  min-width:0}
.mvk-aud-por img{width:100%;height:100%;object-fit:cover}
.mvk-aud-body{min-width:0}
.mvk-aud-nm{font-size:1.3rem;margin-bottom:.4rem}
.mvk-aud-role{font-family:var(--mvk-font-head);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mvk-accent);margin-bottom:.8rem}

/* AUDIENCE numbered tiers as chapters/stages (content page) */
.mvk-tier-grid{grid-column:3 / 12;display:flex;flex-direction:column;gap:0}
.mvk-tier-itm{
  display:grid;
  grid-template-columns:minmax(0,88px) 1fr;
  gap:clamp(18px,3vw,36px);
  padding-block:clamp(22px,3vw,34px);
  border-top:1px solid var(--mvk-rule);
  align-items:start}
.mvk-tier-num{
  font-family:var(--mvk-font-head);
  font-size:clamp(1.8rem,4vw,2.8rem);
  color:var(--mvk-accent2);
  line-height:1}
.mvk-tier-body{min-width:0}
.mvk-tier-hd{font-size:1.3rem;margin-bottom:.5rem}
@media(max-width:520px){
  .mvk-tier-itm{grid-template-columns:1fr}
}

/* ============================================================
   FAQ — accordion + two-column variant
   ============================================================ */
.mvk-faq-grid{grid-column:3 / 11}
.mvk-fold{
  border-top:1px solid var(--mvk-rule)}
.mvk-fold:last-child{border-bottom:1px solid var(--mvk-rule)}
.mvk-fold-head{
  width:100%;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:0;cursor:pointer;
  padding:1.3rem 0;
  text-align:left;
  font-family:var(--mvk-font-head);
  font-size:1.05rem;
  color:var(--mvk-text)}
.mvk-fold-head .mvk-fold-ic{
  flex:none;color:var(--mvk-accent);transition:transform .3s ease;font-size:.9rem}
.mvk-fold.is-open .mvk-fold-ic{transform:rotate(45deg)}
.mvk-fold-body{
  max-height:0;overflow:hidden;
  transition:max-height .3s ease}
.mvk-fold.is-open .mvk-fold-body{max-height:600px}
.mvk-fold-inr{padding:0 0 1.3rem;color:#3a444d;max-width:70ch}

/* two-column Q&A (content page) */
.mvk-qa-grid{
  grid-column:2 / 12;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:clamp(24px,4vw,48px)}
.mvk-qa-itm{min-width:0;border-top:2px solid var(--mvk-text);padding-top:1.1rem}
.mvk-qa-q{font-size:1.1rem;margin-bottom:.5rem}
.mvk-qa-a{color:#3a444d;max-width:66ch}

/* ============================================================
   RESOURCES — list of downloads w/ hairline rules
   ============================================================ */
.mvk-res-grid{grid-column:3 / 12}
.mvk-res-list{list-style:none;margin:0;padding:0}
.mvk-res-itm{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;
  padding:1.4rem 0;
  border-top:1px solid var(--mvk-rule)}
.mvk-res-itm:last-child{border-bottom:1px solid var(--mvk-rule)}
.mvk-res-ic{
  flex:none;width:44px;height:44px;border-radius:var(--mvk-radius);
  background:var(--mvk-surface);border:1px solid var(--mvk-rule);
  display:flex;align-items:center;justify-content:center;color:var(--mvk-accent)}
.mvk-res-meta{flex:1 1 240px;min-width:0}
.mvk-res-nm{font-family:var(--mvk-font-head);font-size:1rem;margin-bottom:.2rem}
.mvk-res-ext{font-size:.82rem;color:var(--mvk-muted);letter-spacing:.08em;text-transform:uppercase}
.mvk-res-dl{margin-left:auto}

/* ============================================================
   WHY US — three arguments / claims + evidence
   ============================================================ */
.mvk-why-grid{
  grid-column:2 / 12;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:0;
  border:1px solid var(--mvk-rule);
  border-radius:var(--mvk-radius);
  overflow:hidden}
.mvk-why-itm{padding:clamp(1.6rem,3vw,2.4rem);min-width:0}
.mvk-why-itm + .mvk-why-itm{border-left:1px solid var(--mvk-rule)}
.mvk-why-num{
  font-family:var(--mvk-font-head);font-size:.78rem;letter-spacing:.2em;
  color:var(--mvk-accent);margin-bottom:1rem}
.mvk-why-hd{font-size:1.25rem;margin-bottom:.6rem}
.mvk-why-tx{color:#3a444d}
@media(max-width:640px){
  .mvk-why-itm + .mvk-why-itm{border-left:0;border-top:1px solid var(--mvk-rule)}
}

/* claims paired with evidence (content page variant) */
.mvk-claim-grid{grid-column:2 / 12;display:flex;flex-direction:column;gap:0}
.mvk-claim-itm{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(18px,3vw,44px);
  padding-block:clamp(22px,3vw,34px);
  border-top:1px solid var(--mvk-rule);
  align-items:start}
.mvk-claim-itm:last-child{border-bottom:1px solid var(--mvk-rule)}
.mvk-claim-hd{font-size:clamp(1.3rem,2.6vw,1.8rem);min-width:0}
.mvk-claim-ev{min-width:0}
.mvk-claim-lbl{
  font-family:var(--mvk-font-head);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mvk-muted);margin-bottom:.6rem;display:block}
.mvk-claim-tx{color:#3a444d}

/* ============================================================
   CTA STRIP — full-width band + centered card variant
   ============================================================ */
.mvk-cta-strip{
  background:var(--mvk-text);color:#fff;
  border-top:0}
.mvk-cta-inr{
  grid-column:2 / 12;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:clamp(1.4rem,3vw,2.6rem)}
.mvk-cta-strip .mvk-eyebrow{color:#9aa6b0}
.mvk-cta-tx{min-width:0;flex:1 1 340px}
.mvk-cta-hd{color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:.5rem}
.mvk-cta-p{color:#c3ccd3;max-width:56ch;margin:0}
.mvk-cta-strip .mvk-cta-btn{background:var(--mvk-accent);border-color:var(--mvk-accent)}
.mvk-cta-strip .mvk-cta-btn:hover{background:#fff;color:var(--mvk-text);border-color:#fff}

/* centered CTA card */
.mvk-cta-card-wrap{grid-column:3 / 11}
.mvk-cta-card{
  text-align:center;
  border:1px solid var(--mvk-rule);
  border-radius:var(--mvk-radius);
  background:var(--mvk-surface);
  padding:clamp(2.2rem,5vw,3.8rem)}
.mvk-cta-card .mvk-eyebrow{justify-content:center}
.mvk-cta-card .mvk-cta-p{margin-inline:auto;color:#3a444d;margin-bottom:1.8rem}

/* ============================================================
   CONTACT FORM — form + address/phone/email block
   ============================================================ */
.mvk-ct-grid{
  grid-column:2 / 12;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:clamp(28px,5vw,64px);
  align-items:start}
.mvk-ct-aside{min-width:0}
.mvk-ct-line{
  display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:flex-start;
  padding:1.1rem 0;border-top:1px solid var(--mvk-rule)}
.mvk-ct-line:first-of-type{border-top:0}
.mvk-ct-line i{color:var(--mvk-accent);width:20px;flex:none;margin-top:.25rem}
.mvk-ct-line-lbl{
  font-family:var(--mvk-font-head);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mvk-muted);display:block;width:100%}
.mvk-ct-line a,.mvk-ct-line span{color:var(--mvk-text)}
.mvk-ct-line a:hover{color:var(--mvk-accent)}

/* Forms */
.mvk-frm{min-width:0}
.mvk-frm-row{
  display:flex;flex-wrap:wrap;gap:1rem}
.mvk-frm-fld{margin-bottom:1.2rem;flex:1 1 220px;min-width:0}
.mvk-frm-fld label{
  display:block;
  font-family:var(--mvk-font-head);
  font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mvk-muted);margin-bottom:.5rem}
.mvk-frm-fld input,
.mvk-frm-fld textarea,
.mvk-frm-fld select{
  width:100%;
  font-family:var(--mvk-font-body);
  font-size:1rem;
  color:var(--mvk-text);
  background:var(--mvk-bg);
  border:1px solid var(--mvk-hairline);
  border-radius:var(--mvk-radius);
  padding:.85rem 1rem}
.mvk-frm-fld textarea{min-height:150px;resize:vertical}
.mvk-frm-fld input:focus,
.mvk-frm-fld textarea:focus,
.mvk-frm-fld select:focus{outline:2px solid var(--mvk-accent);outline-offset:1px;border-color:var(--mvk-accent)}

/* ============================================================
   FOOTER — big multi-column w/ legal entity block
   ============================================================ */
.mvk-fnl-sec{
  background:var(--mvk-surface);
  border-top:1px solid var(--mvk-rule);
  padding-block:clamp(52px,7vw,80px) 2rem}
.mvk-fnl-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:clamp(28px,4vw,48px);
  padding-bottom:2.4rem;
  border-bottom:1px solid var(--mvk-rule)}
.mvk-fnl-col{min-width:0}
.mvk-fnl-brand .mvk-logo{margin-bottom:1rem}
.mvk-fnl-blurb{color:#3a444d}
.mvk-fnl-hd{
  font-family:var(--mvk-font-head);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mvk-muted);margin-bottom:1.1rem}
.mvk-fnl-list{list-style:none;margin:0;padding:0}
.mvk-fnl-list li{margin-bottom:.7rem}
.mvk-fnl-list a{color:var(--mvk-text)}
.mvk-fnl-list a:hover{color:var(--mvk-accent)}
.mvk-fnl-legal{color:#3a444d;font-size:.9rem;line-height:1.75}
.mvk-fnl-legal dt{
  font-family:var(--mvk-font-head);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mvk-muted);margin-top:.7rem}
.mvk-fnl-legal dd{margin:0}
.mvk-fnl-bottom{
  display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:space-between;
  padding-top:1.6rem}
.mvk-fnl-copy{font-family:var(--mvk-font-head);font-size:.78rem;color:var(--mvk-muted);letter-spacing:.04em}
.mvk-fnl-legal-links{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;margin:0;padding:0}
.mvk-fnl-legal-links a{font-size:.82rem;color:var(--mvk-muted)}
.mvk-fnl-legal-links a:hover{color:var(--mvk-accent)}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.mvk-legal{grid-column:3 / 11;max-width:75ch}
.mvk-legal h2{font-size:1.4rem;margin-top:2.2rem}
.mvk-legal p,.mvk-legal li{color:#3a444d}
.mvk-legal h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1.2rem}

/* ============================================================
   SWIPER
   ============================================================ */
.glider-mf5{padding-bottom:2.8rem}
.glider-mf5 .swiper-slide{height:auto}
.swiper-pagination-bullet{background:var(--mvk-accent2);opacity:1}
.swiper-pagination-bullet-active{background:var(--mvk-accent)}
.glider-mf5 .swiper-button-prev,
.glider-mf5 .swiper-button-next{
  color:var(--mvk-accent);
  width:40px;height:40px;
  background:var(--mvk-bg);
  border:1px solid var(--mvk-rule);
  border-radius:var(--mvk-radius)}
.glider-mf5 .swiper-button-prev:after,
.glider-mf5 .swiper-button-next:after{font-size:1rem;font-weight:700}

/* ============================================================
   MODALS  (scroll-safe)
   ============================================================ */
.site-modal,.lightbox-ooz{
  position:fixed;inset:0;z-index:120;
  display:flex;align-items:center;justify-content:center;
  padding:1.4rem;
  background:rgba(17,24,32,.5);
  opacity:0;visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease}
.site-modal.is-open,.lightbox-ooz.is-open{opacity:1;visibility:visible}
.mvk-modal-dlg{
  background:var(--mvk-bg);
  border-radius:var(--mvk-radius);
  border:1px solid var(--mvk-rule);
  max-width:460px;width:100%;
  padding:clamp(1.8rem,4vw,2.6rem);
  text-align:center}
.mvk-modal-ic{
  width:56px;height:56px;border-radius:50%;
  background:rgba(18,86,224,.1);color:var(--mvk-accent);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin:0 auto 1.2rem}
.mvk-modal-dlg h3{font-size:1.4rem;margin-bottom:.6rem}
.mvk-modal-dlg p{color:#3a444d;margin-bottom:1.6rem}

/* ============================================================
   AOS fallback (in case JS off)
   ============================================================ */
[data-aos]{transition-duration:.6s}

/* ============================================================
   Thank-you page
   ============================================================ */
.mvk-thanks{grid-column:3 / 11;text-align:center;padding-block:clamp(60px,9vw,120px)}
.mvk-thanks .mvk-eyebrow{justify-content:center}

@media(max-width:860px){
  :root{--mvk-pad-sec:60px}
  .mvk-hero-inr,.mvk-phero-inr,.mvk-ba-grid,.mvk-loc-grid,.mvk-gal-grid,
  .mvk-aud-grid,.mvk-tier-grid,.mvk-faq-grid,.mvk-qa-grid,.mvk-res-grid,
  .mvk-why-grid,.mvk-claim-grid,.mvk-cta-inr,.mvk-cta-card-wrap,.mvk-ct-grid,
  .mvk-legal,.mvk-thanks{grid-column:1 / -1}
  .mvk-phero--center .mvk-phero-inr{grid-column:1 / -1}
}


/* --- cookie consent (per-site) --- */
.privacy-note-mtc-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998}
.privacy-note-mtc-overlay.is-open{opacity:1;visibility:visible}
.privacy-note-mtc-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999}
.privacy-note-mtc-panel.is-open{opacity:1;visibility:visible}
.privacy-note-mtc-panel h3{margin:0 0 8px;font-size:1.2rem}
.privacy-note-mtc-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem}
.privacy-note-mtc-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2)}
.privacy-note-mtc-cat h4{margin:0 0 2px;font-size:.98rem}
.privacy-note-mtc-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem}
.privacy-note-mtc-switch{position:relative;flex:0 0 auto;width:44px;height:24px}
.privacy-note-mtc-switch input{opacity:0;width:0;height:0;position:absolute}
.privacy-note-mtc-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer}
.privacy-note-mtc-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.privacy-note-mtc-switch input:checked+span{background:var(--site-accent,#2b7)}
.privacy-note-mtc-switch input:checked+span::before{transform:translateX(20px)}
.privacy-note-mtc-switch input:disabled+span{opacity:.6;cursor:not-allowed}
.privacy-note-mtc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.privacy-note-mtc-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}
.privacy-note-mtc-actions #privacy-note-mtc-all{background:var(--site-accent,#2b7);color:#fff}
.privacy-note-mtc-actions #privacy-note-mtc-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4)}
.privacy-note-mtc-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem}
.privacy-note-mtc-links a{color:var(--site-accent,#2b7);text-decoration:underline}
.privacy-note-mtc-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem}

.privacy-note-mtc-overlay{background:rgba(0,0,0,.5)}
.privacy-note-mtc-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px}
.privacy-note-mtc-panel.is-open{transform:translate(-50%,0)}
@media(max-width:520px){.privacy-note-mtc-actions button{min-width:100%}}
#quick-actions-sd3{left:auto !important;right:18px !important}
@media(max-width:520px){#quick-actions-sd3{right:12px !important}}


/* --- form feedback popup (deterministic) --- */
.reply-box-8os{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px)}
.reply-box-8os.is-open{display:flex}
.reply-box-8os__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:reply-box-8os-in .22s ease-out}
@keyframes reply-box-8os-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.reply-box-8os__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff}
.reply-box-8os__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.reply-box-8os__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472)}
.reply-box-8os__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff}
.reply-box-8os__close:hover{filter:brightness(1.08)}
.reply-box-8os__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.reply-box-8os__box{animation:none}}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,svg,video,iframe,canvas{max-width:100%}
table{max-width:100%}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%}
.simpleParallax img{width:100%;height:100%;object-fit:cover}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0}
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0}
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
}

/* Юр-страницы собираются из кэшированного текста без классов сайта —
   читаемость обеспечиваем здесь, а не дизайн-системой. */
.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7}
.legal-doc h1{margin:0 0 .6em}
.legal-doc h2{margin:1.8em 0 .5em}
.legal-doc h3{margin:1.4em 0 .4em}
.legal-doc p,.legal-doc li{margin:0 0 .8em}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left}

/* Запрет переноса в меню пробовали и убрали: при нехватке места nowrap даёт
   горизонтальный вылет всей страницы, а это хуже некрасивого переноса.
   Аккуратность переносов остаётся задачей вёрстки, а не страховки. */

/* Мобильная страховка: длинные слова и ссылки не растягивают страницу вширь. */
@media (max-width: 720px) {
  body { overflow-x: hidden}
  h1, h2, h3, p, li, td { overflow-wrap: break-word}
  /* Поля формы в ряд с жёсткой min-width не влезают в телефон. */
  input, select, textarea { max-width: 100%; min-width: 0}
  /* Картинки и медиа никогда не шире экрана. */
  img, svg, video, iframe, table { max-width: 100%}
}

/* mobile-flex-guard */
@media (max-width: 720px) {
  /* Ряды без объявленного переноса: на узком экране они сжимали детей
     до нечитаемого вместо переноса. Десктоп не затронут. */
.mvk-cta-btn, .mvk-ghost-btn,
.mvk-txt-link,
.mvk-util-itm,
.mvk-logo,
.mvk-drawer,
.mvk-drawer-nav,
.mvk-aud-grid,
.mvk-tier-grid,
.mvk-res-ic,
.mvk-claim-grid,
.site-modal,.lightbox-ooz,
.mvk-modal-ic,
.privacy-note-mtc-cat,
.privacy-note-mtc-links,
.reply-box-8os.is-open,
.reply-box-8os__mark { flex-wrap: wrap}
  /* Классика flexbox: ребёнок не сжимается уже своего min-content и
     вылезает за край контейнера. min-width:0 это снимает. */
.mvk-cta-btn, .mvk-ghost-btn > *,
.mvk-txt-link > *,
.mvk-util-itm > *,
.mvk-logo > *,
.mvk-drawer > *,
.mvk-drawer-nav > *,
.mvk-aud-grid > *,
.mvk-tier-grid > *,
.mvk-res-ic > *,
.mvk-claim-grid > *,
.site-modal,.lightbox-ooz > *,
.mvk-modal-ic > *,
.privacy-note-mtc-cat > *,
.privacy-note-mtc-links > *,
.reply-box-8os.is-open > *,
.reply-box-8os__mark > * { min-width: 0}
}


/* --- cookie consent (per-site) --- */
.privacy-note-mtc-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.privacy-note-mtc-overlay.is-open{opacity:1;visibility:visible;}
.privacy-note-mtc-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.privacy-note-mtc-panel.is-open{opacity:1;visibility:visible;}
.privacy-note-mtc-panel h3{margin:0 0 8px;font-size:1.2rem;}
.privacy-note-mtc-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.privacy-note-mtc-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.privacy-note-mtc-cat h4{margin:0 0 2px;font-size:.98rem;}
.privacy-note-mtc-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.privacy-note-mtc-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.privacy-note-mtc-switch input{opacity:0;width:0;height:0;position:absolute;}
.privacy-note-mtc-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.privacy-note-mtc-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.privacy-note-mtc-switch input:checked+span{background:var(--site-accent,#2b7);}
.privacy-note-mtc-switch input:checked+span::before{transform:translateX(20px);}
.privacy-note-mtc-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.privacy-note-mtc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.privacy-note-mtc-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.privacy-note-mtc-actions #privacy-note-mtc-all{background:var(--site-accent,#2b7);color:#fff;}
.privacy-note-mtc-actions #privacy-note-mtc-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.privacy-note-mtc-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.privacy-note-mtc-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.privacy-note-mtc-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.privacy-note-mtc-overlay{background:rgba(0,0,0,.5);}
.privacy-note-mtc-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px;}
.privacy-note-mtc-panel.is-open{transform:translate(-50%,0);}
@media(max-width:520px){.privacy-note-mtc-actions button{min-width:100%;}}
#quick-actions-sd3{left:auto !important;right:18px !important;}
@media(max-width:520px){#quick-actions-sd3{right:12px !important;}}


/* --- form feedback popup (deterministic) --- */
.reply-box-8os{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.reply-box-8os.is-open{display:flex;}
.reply-box-8os__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:reply-box-8os-in .22s ease-out;}
@keyframes reply-box-8os-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.reply-box-8os__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.reply-box-8os__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.reply-box-8os__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.reply-box-8os__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.reply-box-8os__close:hover{filter:brightness(1.08);}
.reply-box-8os__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.reply-box-8os__box{animation:none;}}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0; }
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* Юр-страницы собираются из кэшированного текста без классов сайта —
   читаемость обеспечиваем здесь, а не дизайн-системой. */
.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

/* Запрет переноса в меню пробовали и убрали: при нехватке места nowrap даёт
   горизонтальный вылет всей страницы, а это хуже некрасивого переноса.
   Аккуратность переносов остаётся задачей вёрстки, а не страховки. */

/* Мобильная страховка: длинные слова и ссылки не растягивают страницу вширь. */
@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  /* Поля формы в ряд с жёсткой min-width не влезают в телефон. */
  input, select, textarea { max-width: 100%; min-width: 0; }
  /* Картинки и медиа никогда не шире экрана. */
  img, svg, video, iframe, table { max-width: 100%; }
}
