/* Base: reset, layout, buttons, hero, sections, trust strip, price card, compare, steps, security, FAQ, final CTA, footer, sticky bar */
body {
  margin:0;
  background:var(--color-background);
}
a {
  color:var(--color-primary);
}
a:hover {
  color:var(--color-accent);
}
.mcr-site {
  width:100%;
  background:var(--color-background);
  color:var(--color-text-body);
  font-family:var(--font-body);
  font-size:var(--font-size-md);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.mcr-site * {
  box-sizing:border-box;
}
.mcr-site h1,.mcr-site h2,.mcr-site h3,.mcr-site h4,.mcr-site p,.mcr-site ul,.mcr-site ol,.mcr-site figure,.mcr-site blockquote {
  margin:0;
}
.mcr-site ul,.mcr-site ol {
  padding:0;
  list-style:none;
}
.serif {
  font-family:var(--font-heading);
}
.wrap {
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--space-5);
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:var(--control-height);
  padding:0 26px;
  border-radius:var(--radius-lg);
  font:600 var(--font-size-md)/1.1 var(--font-body);
  text-decoration:none;
  cursor:pointer;
  border:0;
  text-align:center;
}
.btn-primary {
  background:var(--color-accent);
  color:var(--color-white);
}
.btn-primary:hover {
  background:var(--color-accent-hover);
  color:var(--color-white);
}
.btn-ghost {
  background:transparent;
  color:var(--color-primary);
  border:1.5px solid var(--color-primary);
}
.btn-ghost:hover {
  background:var(--color-primary);
  color:var(--color-white);
}
.btn-ghost-light {
  background:transparent;
  color:var(--color-on-dark);
  border:1.5px solid var(--color-on-dark-line);
}
.btn-ghost-light:hover {
  background:var(--color-on-dark);
  color:var(--color-primary);
}
.btn-block {
  width:100%;
}
.hdr {
  position:sticky;
  top:0;
  z-index:20;
  background:var(--color-background);
  border-bottom:1px solid var(--color-border-soft);
}
.hdr-in {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
  gap:var(--space-4);
}
.logo {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--font-size-lg);
  letter-spacing:-.01em;
  color:var(--color-primary);
  text-decoration:none;
  white-space:nowrap;
}
.logo-mark {
  position:relative;
  flex:none;
  width:30px;
  height:30px;
  border-radius:var(--radius-md);
  background:var(--color-primary);
}
.logo-mark::after {
  content:"";
  position:absolute;
  left:11px;
  top:6px;
  width:7px;
  height:13px;
  border:solid var(--color-background);
  border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.call {
  display:grid;
  place-items:center;
  width:var(--tap-size);
  height:var(--tap-size);
  border-radius:var(--radius-lg);
  border:1.5px solid var(--color-border-strong);
  color:var(--color-primary);
}
.nav,.hdr-phone,.hdr-cta {
  display:none;
}
.hero {
  padding:var(--space-8) 0 36px;
}
.hero-grid {
  display:grid;
  gap:28px;
}
.eyebrow {
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-secondary);
  margin-bottom:14px;
}
.hero h1 {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-42);
  line-height:1.02;
  letter-spacing:-.025em;
  color:var(--color-text);
  text-wrap:balance;
}
.hl {
  color:var(--color-accent);
}
.lede {
  font-size:var(--font-size-lg);
  line-height:1.4;
  font-weight:500;
  color:var(--color-text);
  margin-top:18px;
  text-wrap:pretty;
}
.sub {
  font-size:var(--font-size-md);
  color:var(--color-text-mid);
  margin-top:var(--space-3);
  text-wrap:pretty;
}
.facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:var(--space-6);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.facts li {
  padding:14px var(--space-2) var(--space-3);
  text-align:left;
}
.facts li+li {
  border-left:1px solid var(--color-border);
  padding-left:14px;
}
.facts strong {
  display:block;
  font-family:var(--font-heading);
  font-size:var(--fs-30);
  line-height:1;
  font-weight:600;
  color:var(--color-primary);
}
.facts span {
  display:block;
  font-size:var(--fs-13_5);
  color:var(--color-muted);
  margin-top:var(--space-1);
}
.cta-row {
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
  margin-top:var(--space-6);
}
.micro {
  font-size:var(--fs-14_5);
  color:var(--color-muted);
  margin-top:14px;
}
.hero-card {
  display:none;
}
.strip {
  background:var(--color-primary);
  color:var(--color-on-dark);
}
.strip-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.strip-item {
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  padding:var(--space-5) var(--space-3) var(--space-5) 0;
}
.strip-item svg {
  flex:none;
  margin-top:2px;
  color:var(--color-on-dark-accent);
}
.strip-item strong {
  display:block;
  font-size:var(--font-size-sm);
  line-height:1.25;
}
.strip-item span {
  display:block;
  font-size:var(--fs-13_5);
  line-height:1.35;
  color:var(--color-on-dark-muted);
  margin-top:3px;
}
.sec {
  padding:var(--space-14) 0;
}
.sec-alt {
  background:var(--color-surface-alt);
}
.sec h2 {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--font-size-xl);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--color-text);
  text-wrap:balance;
}
.sec-intro {
  max-width:var(--measure);
  margin-bottom:28px;
}
.sec-intro p {
  margin-top:var(--space-3);
  font-size:var(--fs-18);
  color:var(--color-text-mid);
  text-wrap:pretty;
}
.tick {
  flex:none;
  position:relative;
  width:24px;
  height:24px;
  border-radius:var(--radius-round);
  background:var(--color-success-tint);
  margin-top:1px;
}
.tick::after {
  content:"";
  position:absolute;
  left:8px;
  top:4px;
  width:6px;
  height:11px;
  border:solid var(--color-secondary);
  border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.dot {
  flex:none;
  width:8px;
  height:8px;
  border-radius:var(--radius-round);
  background:var(--color-dot);
  margin:9px var(--space-2) 0 var(--space-2);
}
.inc-grid {
  display:grid;
  gap:28px;
}
.price-card {
  background:var(--color-primary);
  color:var(--color-on-dark);
  border-radius:var(--radius-xl);
  padding:28px var(--space-6);
}
.price-label {
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-on-dark-accent);
}
.price {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-84);
  line-height:1;
  letter-spacing:-.03em;
  margin-top:10px;
  color:var(--color-white);
}
.price-note {
  font-size:var(--fs-16);
  color:var(--color-on-dark-soft);
  margin:var(--space-2) 0 22px;
}
.price-fine {
  font-size:var(--fs-14);
  color:var(--color-on-dark-muted);
  margin-top:14px;
}
.inc-list li {
  display:flex;
  gap:14px;
  padding:var(--space-4) 0;
  border-bottom:1px solid var(--color-border-4);
}
.inc-list li:first-child {
  padding-top:0;
}
.inc-list strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.inc-list span {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:3px;
}
.notinc {
  margin-top:var(--space-6);
  border:1.5px dashed var(--color-dash);
  border-radius:var(--radius-lg);
  padding:18px 18px var(--space-4);
  background:var(--color-surface-paper);
}
.notinc h3 {
  font-size:var(--fs-15);
  font-weight:700;
  letter-spacing:.02em;
  color:var(--color-text);
}
.notinc p {
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
  margin-top:6px;
}
.cmp {
  display:grid;
  gap:var(--space-4);
}
.cmp-card {
  background:var(--color-white);
  border:1px solid var(--color-border-3);
  border-radius:var(--radius-xl);
  padding:var(--space-6) 22px;
}
.cmp-us {
  border:2px solid var(--color-primary);
}
.cmp-tag {
  display:inline-block;
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.cmp-us .cmp-tag {
  color:var(--color-secondary);
}
.cmp-price {
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:var(--space-2) 0 var(--space-1);
}
.cmp-price strong {
  font-family:var(--font-heading);
  font-size:var(--font-size-xxl);
  line-height:1;
  font-weight:600;
  color:var(--color-text);
}
.cmp-price span {
  font-size:var(--fs-15);
  color:var(--color-muted);
}
.cmp-card h3 {
  font-size:var(--fs-19);
  font-weight:600;
  line-height:1.3;
  margin-bottom:14px;
}
.cmp-card ul {
  border-top:1px solid var(--color-border-faint);
  padding-top:14px;
}
.cmp-card li {
  display:flex;
  gap:10px;
  padding:7px 0;
  font-size:var(--fs-16);
  color:var(--color-text-soft);
}
.cmp-note {
  max-width:var(--measure-wide);
  margin-top:26px;
  font-size:var(--fs-17_5);
  color:var(--color-text-soft);
}
.cmp-note a {
  font-weight:600;
}
.cmp-cta {
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.steps {
  display:grid;
  gap:36px;
}
.phase-head {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px var(--space-3);
  margin-bottom:18px;
}
.phase-head h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-26);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.01em;
}
.phase-head span {
  font-size:var(--fs-14_5);
  font-weight:600;
  color:var(--color-secondary);
}
.step {
  position:relative;
  display:flex;
  gap:var(--space-4);
  padding-bottom:var(--space-6);
}
.step:not(:last-child)::before {
  content:"";
  position:absolute;
  left:16px;
  top:38px;
  bottom:4px;
  width:2px;
  background:var(--color-line);
}
.step-n {
  flex:none;
  width:34px;
  height:34px;
  border-radius:var(--radius-round);
  background:var(--color-primary);
  color:var(--color-white);
  font-weight:700;
  font-size:var(--fs-15);
  display:grid;
  place-items:center;
}
.step-us .step-n {
  background:var(--color-accent);
}
.step strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.step span {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:3px;
}
.turn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
  padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-success-bg);
  color:var(--color-primary);
  font-weight:600;
  font-size:var(--fs-16);
}
.proof {
  display:grid;
  gap:var(--space-4);
}
.ph {
  border:1.5px dashed var(--color-line-strong);
  border-radius:var(--radius-lg);
  padding:22px var(--space-5);
  background:repeating-linear-gradient(135deg,var(--color-surface-warm) 0,var(--color-surface-warm) 10px,var(--color-surface-tint) 10px,var(--color-surface-tint) 20px);
}
.ph-tag {
  display:inline-block;
  font-size:var(--fs-11_5);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-warn);
  background:var(--color-warn-bg);
  padding:3px var(--space-2);
  border-radius:var(--radius-xs);
  margin-bottom:var(--space-3);
}
.ph blockquote {
  font-family:var(--font-heading);
  font-size:var(--fs-21);
  line-height:1.3;
  color:var(--color-text-mid);
}
.ph figcaption {
  font-size:var(--fs-14_5);
  color:var(--color-muted);
  margin-top:var(--space-3);
}
.proof-meta {
  margin-top:18px;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
}
.sec-split {
  display:grid;
  gap:var(--space-8);
}
.points li {
  display:flex;
  gap:var(--space-4);
  padding:18px 0;
  border-bottom:1px solid var(--color-border-2);
}
.points li:first-child {
  padding-top:0;
}
.pt-ic {
  flex:none;
  display:grid;
  place-items:center;
  width:var(--tap-size);
  height:var(--tap-size);
  border-radius:var(--radius-lg);
  background:var(--color-success-bg);
  color:var(--color-primary);
}
.points strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.points span {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:3px;
}
.who {
  background:var(--color-white);
  border:1px solid var(--color-border-3);
  border-radius:var(--radius-xl);
  overflow:hidden;
}
.who .ph-photo {
  height:170px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:var(--space-4);
  border-bottom:1.5px dashed var(--color-line-strong);
  font-size:var(--fs-14);
  color:var(--color-warn-text);
  background:repeating-linear-gradient(135deg,var(--color-surface-warm) 0,var(--color-surface-warm) 10px,var(--color-surface-tint) 10px,var(--color-surface-tint) 20px);
}
.who-body {
  padding:var(--space-5) var(--space-5) 22px;
}
.who h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-24);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.01em;
}
.who dl {
  margin:14px 0 0;
  display:grid;
  gap:10px;
}
.who dt {
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--color-muted-soft);
}
.who dd {
  margin:1px 0 0;
  font-size:var(--fs-16);
  color:var(--color-text-body);
}
.who dd a {
  font-weight:600;
}
.legal-links {
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  margin-top:var(--space-4);
  font-size:var(--fs-15);
}
.faq-grid {
  display:grid;
  gap:var(--space-6);
}
.faq details {
  border-bottom:1px solid var(--color-border-2);
}
.faq details:first-child {
  border-top:1px solid var(--color-border-2);
}
.faq summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-4);
  min-height:60px;
  padding:14px 0;
  font-size:var(--fs-18);
  font-weight:600;
  line-height:1.3;
  color:var(--color-text);
}
.faq summary::-webkit-details-marker {
  display:none;
}
.faq summary::after {
  content:"+";
  flex:none;
  font-size:var(--fs-26);
  font-weight:400;
  line-height:1;
  color:var(--color-accent);
}
.faq details[open] summary::after {
  content:"\2013";
}
.faq .ans {
  padding:0 0 var(--space-5);
  font-size:var(--fs-16_5);
  color:var(--color-text-mid);
  max-width:720px;
}
.faq .ans p+p {
  margin-top:10px;
}
.final {
  background:var(--color-primary);
  color:var(--color-on-dark);
  padding:var(--space-16) 0;
}
.final h2 {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-36);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--color-white);
  text-wrap:balance;
}
.final p {
  font-size:var(--fs-18);
  color:var(--color-on-dark-soft);
  margin-top:14px;
  max-width:560px;
}
.final .cta-row {
  margin-top:26px;
}
.final .micro {
  color:var(--color-on-dark-muted);
}
.foot {
  background:var(--color-primary-deep);
  color:var(--color-on-dark-muted);
  padding:44px 0 36px;
  font-size:var(--fs-15);
}
.foot-grid {
  display:grid;
  gap:28px;
}
.foot h2 {
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-on-dark-accent);
  margin-bottom:10px;
}
.foot a {
  color:var(--color-success-bg-2);
  text-decoration:none;
}
.foot a:hover {
  color:var(--color-white);
  text-decoration:underline;
}
.foot li+li {
  margin-top:var(--space-2);
}
.foot .brand {
  font-family:var(--font-heading);
  font-size:var(--fs-22);
  font-weight:600;
  color:var(--color-white);
}
.foot .fine {
  border-top:1px solid var(--color-primary-700);
  margin-top:28px;
  padding-top:18px;
  font-size:var(--fs-13_5);
  color:var(--color-on-dark-dim);
}
.sticky {
  position:sticky;
  bottom:0;
  z-index:30;
  display:flex;
  align-items:center;
  gap:var(--space-3);
  background:var(--color-white);
  border-top:1px solid var(--color-border-3);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
}
.sticky .sp {
  flex:none;
  line-height:1.1;
}
.sticky .sp strong {
  display:block;
  font-family:var(--font-heading);
  font-size:var(--fs-26);
  font-weight:600;
  color:var(--color-primary);
}
.sticky .sp span {
  display:block;
  font-size:var(--fs-12_5);
  color:var(--color-muted);
}
.sticky .btn {
  flex:1;
  min-height:52px;
  padding:0 14px;
  font-size:var(--fs-16_5);
}
@media (min-width:860px){
  .wrap {
    padding-inline:var(--space-12);
  }
  .hdr-in {
    height:76px;
  }
  .call {
    display:none;
  }
  .nav {
    display:flex;
    gap:30px;
  }
  .nav a {
    font-size:var(--fs-16);
    font-weight:500;
    color:var(--color-text-soft);
    text-decoration:none;
  }
  .nav a:hover {
    color:var(--color-accent);
  }
  .hdr-phone {
    display:inline-flex;
    align-items:center;
    gap:var(--space-2);
    font-size:var(--fs-16);
    font-weight:600;
    text-decoration:none;
    color:var(--color-primary);
  }
  .hdr-cta {
    display:inline-flex;
    min-height:48px;
    padding:0 var(--space-5);
    font-size:var(--fs-16);
  }
  .hero {
    padding:var(--space-18) 0 88px;
  }
  .hero-grid {
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:var(--space-18);
    align-items:center;
  }
  .hero h1 {
    font-size:var(--fs-76);
    line-height:.98;
  }
  .lede {
    font-size:var(--fs-24);
    max-width:600px;
  }
  .sub {
    font-size:var(--fs-18_5);
    max-width:600px;
  }
  .facts {
    max-width:560px;
  }
  .facts strong {
    font-size:var(--fs-38);
  }
  .cta-row {
    flex-direction:row;
    align-items:center;
  }
  .hero .btn {
    min-height:60px;
    padding:0 var(--space-8);
    font-size:var(--fs-18);
  }
  .hero-card {
    display:block;
    background:var(--color-white);
    border:1px solid var(--color-border-3);
    border-radius:var(--radius-xl);
    padding:var(--space-2) 26px var(--space-6);
    box-shadow:var(--shadow-hero);
  }
  .hc-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0 14px;
    border-bottom:1px solid var(--color-border-faint);
    font-size:var(--font-size-xs);
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--color-muted);
  }
  .hc-row {
    display:flex;
    align-items:center;
    gap:14px;
    padding:var(--space-4) 0;
    border-bottom:1px solid var(--color-surface-tint-2);
  }
  .hc-file {
    flex:none;
    display:grid;
    place-items:center;
    width:40px;
    height:48px;
    border-radius:5px;
    border:1.5px solid var(--color-primary);
    font-size:var(--fs-10_5);
    font-weight:700;
    color:var(--color-primary);
    letter-spacing:.04em;
  }
  .hc-row strong {
    display:block;
    font-size:var(--font-size-md);
    line-height:1.25;
    color:var(--color-text);
  }
  .hc-row span {
    display:block;
    font-size:var(--fs-14);
    color:var(--color-muted);
  }
  .hc-foot {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:18px;
    font-size:var(--fs-15);
    font-weight:600;
    color:var(--color-secondary);
  }
  .strip-grid {
    grid-template-columns:repeat(4,1fr);
  }
  .strip-item {
    padding:26px var(--space-5) 26px 0;
  }
  .strip-item+.strip-item {
    padding-left:var(--space-6);
    border-left:1px solid var(--color-primary-600);
  }
  .sec {
    padding:104px 0;
  }
  .sec h2 {
    font-size:var(--fs-52);
    line-height:1.04;
  }
  .sec-intro {
    margin-bottom:44px;
  }
  .sec-intro p {
    font-size:var(--font-size-lg);
  }
  .inc-grid {
    grid-template-columns:400px minmax(0,1fr);
    gap:88px;
    align-items:start;
  }
  .price-card {
    position:sticky;
    top:var(--sticky-offset);
    padding:34px var(--space-8);
  }
  .price {
    font-size:var(--fs-104);
  }
  .cmp {
    grid-template-columns:1fr 1fr;
    gap:var(--space-6);
  }
  .cmp-card {
    padding:34px 34px 30px;
  }
  .cmp-price strong {
    font-size:var(--fs-56);
  }
  .cmp-cta {
    flex-direction:row;
    align-items:center;
    gap:var(--space-5);
  }
  .steps {
    grid-template-columns:1fr 1fr;
    gap:var(--space-20);
  }
  .proof {
    grid-template-columns:repeat(3,1fr);
    gap:var(--space-5);
  }
  .sec-split {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    gap:var(--space-20);
    align-items:start;
  }
  .faq-grid {
    grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
    gap:var(--space-20);
  }
  .final {
    padding:104px 0;
  }
  .final h2 {
    font-size:var(--fs-64);
  }
  .final p {
    font-size:var(--font-size-lg);
  }
  .foot-grid {
    grid-template-columns:1.5fr 1fr 1fr 1.2fr;
    gap:var(--space-12);
  }
  .sticky {
    display:none;
  }
}
