/* Mascaris — Discreet travel overrides (commercial-ready) */
:root{
  --ms-bg:#F7F4EE;
  --ms-surface:#FFFFFF;
  --ms-ink:#0E1014;
  --ms-muted:rgba(14,16,20,.72);
  --ms-line:rgba(14,16,20,.10);
  --ms-gold:#C7B07B;
  --ms-gold-2:#B89B5A;
  --ms-shadow:0 22px 55px rgba(14,16,20,.10);
  --ms-radius:18px;
  --ms-radius-lg:26px;
}

html,body{height:100%}
body{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  background: var(--ms-bg);
  color: var(--ms-ink);
  letter-spacing: .01em;
}

h1,h2,h3,.navbar-brand{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  letter-spacing: .01em;
}

a{color:inherit}
a:hover{color:inherit; text-decoration:none}
.mm-micro{font-size:.95rem; color:var(--ms-muted); margin-bottom:0;}
.hero-wrap .mm-micro{color:rgba(255,255,255,.82);}

.ftco-navbar-light{
  /* Keep the header the same (grey) whether at top or sticky */
  background: rgba(247,244,238,.96) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ms-line);
  position: sticky !important;
  top: 0 !important;
  z-index: 9999;
}
.ftco-navbar-light .navbar-brand{color:var(--ms-ink) !important; font-weight:700;}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link{
  color: rgba(14,16,20,.82) !important;
  font-weight:600;
  padding-top:1.15rem;
  padding-bottom:1.15rem;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover{
  color: var(--ms-ink) !important;
}
.ftco-navbar-light.scrolled,
.ftco-navbar-light.scrolled.awake,
.ftco-navbar-light.scrolled.sleep{
  background: rgba(247,244,238,.96) !important;
  box-shadow: 0 14px 35px rgba(14,16,20,.08);
  margin-top: 0 !important; /* cancel the template slide-in */
  position: sticky !important;
  top: 0 !important;
}

/* Make sure the mobile toggler stays readable on the grey header */
.ftco-navbar-light .navbar-toggler{
  color: rgba(14,16,20,.72) !important;
}

/* iOS Safari: fixed background attachment often breaks (blank hero). */
@media (max-width: 991.98px) {
  .hero-wrap,
  .mm-page-hero--image{
    background-attachment: scroll !important;
  }
}

@supports (-webkit-touch-callout: none) {
  .hero-wrap,
  .mm-page-hero--image{
    background-attachment: scroll !important;
  }
}

.mm-lang{
  margin-left:1.2rem;
  display:flex;
  gap:.75rem;
  padding-left:1.1rem;
  border-left:1px solid var(--ms-line);
}
.mm-lang a{
  font-weight:800;
  font-size:.82rem;
  letter-spacing:.16em;
  opacity:.72;
  position:relative;
}
.mm-lang a:hover{opacity:1}
.mm-lang a.active{opacity:1}
.mm-lang a.active:after{
  content:"";
  display:block;
  height:2px;
  background: var(--ms-gold);
  margin-top:6px;
  border-radius:2px;
}

.hero-wrap{
  position:relative;
  border-bottom:1px solid var(--ms-line);
}
.hero-wrap .overlay{
  background: linear-gradient(180deg, rgba(14,16,20,.62) 0%, rgba(14,16,20,.45) 40%, rgba(14,16,20,.70) 100%);
  opacity:1 !important;
}
.hero-wrap .slider-text h1{
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  font-weight:700;
  line-height:1.04;
}
.kicker{
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:.24em;
  opacity:.92;
}

.mm-trustbar{
  margin-top:1.35rem;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem .9rem;
  justify-content:center;
}
.mm-trustbar .mm-trust{
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  border-radius:999px;
  padding:.45rem .78rem;
  font-weight:700;
  font-size:.92rem;
  backdrop-filter: blur(8px);
}

.btn{
  border-radius:999px !important;
  font-weight:800 !important;
  letter-spacing:.02em;
}
.btn.btn-primary{
  background: var(--ms-gold) !important;
  border-color: var(--ms-gold) !important;
  color: var(--ms-ink) !important;
  box-shadow: 0 18px 42px rgba(199,176,123,.25);
}
.btn.btn-primary:hover{
  transform: translateY(-1px);
  background: var(--ms-gold-2) !important;
  border-color: var(--ms-gold-2) !important;
}
.btn.btn-outline-primary{
  border-color: rgba(255,255,255,.55) !important;
  color:#fff !important;
}
.btn.btn-outline-primary:hover{
  border-color:#fff !important;
  background: rgba(255,255,255,.10) !important;
  color:#fff !important;
}

.section-title{
  font-size: clamp(1.7rem, 2.2vw, 2.2rem);
  margin-bottom: .9rem;
}
.mm-muted{color:var(--ms-muted)}
.mm-lead{font-size:1.05rem; color:var(--ms-muted); font-weight:600; line-height:1.7}

/* Contact / quote form (fix overlapping template "search-property" layout) */
.mm-note{color:var(--ms-muted); font-weight:600;}
.mm-form{
  background: var(--ms-surface);
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius);
  box-shadow: 0 14px 40px rgba(14,16,20,.06);
  padding: 1.35rem;
}
.mm-form .form-group{margin-bottom: 1.05rem;}
.mm-form label{
  display:block;
  font-weight: 900;
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(14,16,20,.72);
  margin-bottom: .45rem;
}
.mm-form .form-control,
.mm-form select.form-control{
  background: #fff !important;
  border: 1px solid var(--ms-line) !important;
  border-radius: 14px !important;
  padding: .95rem 1rem !important;
  height: auto !important;
  color: var(--ms-ink) !important;
  font-weight: 600;
}
.mm-form textarea.form-control{min-height: 170px; resize: vertical;}
.mm-form .form-control:focus{
  border-color: rgba(199,176,123,.75) !important;
  box-shadow: 0 0 0 .18rem rgba(199,176,123,.18) !important;
}
.mm-form .mm-form-actions{
  margin-top: .4rem;
  padding-top: .9rem;
  border-top: 1px solid var(--ms-line);
}

/* WhatsApp button (inline, under the form) */
.mm-wa{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #25D366;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(14,16,20,.18);
  border: 1px solid rgba(255,255,255,.22);
  font-weight: 900;
  letter-spacing: .02em;
  text-decoration: none !important;
  width: 100%;
  max-width: 420px;
}
.mm-wa:hover{transform: translateY(-1px); color:#fff !important;}
.mm-wa:focus{outline: none; box-shadow: 0 0 0 .2rem rgba(37,211,102,.25), 0 14px 34px rgba(14,16,20,.18);}
.mm-wa svg{width: 20px; height: 20px; flex: 0 0 20px;}
.mm-wa .mm-wa__text{display:flex; flex-direction:column; line-height:1.05; text-align:left;}
.mm-wa small{font-size: .76rem; font-weight: 800; opacity: .92;}

.mm-alt-contact{
  margin-top: 1.05rem;
  padding-top: 1.05rem;
  border-top: 1px solid var(--ms-line);
}

.mm-card{
  background: var(--ms-surface);
  border:1px solid var(--ms-line);
  border-radius: var(--ms-radius);
  box-shadow: 0 10px 30px rgba(14,16,20,.06);
  overflow:hidden;
}
.mm-card .mm-card-body{padding:1.35rem 1.35rem 1.2rem}
.mm-card h3{
  font-size:1.25rem;
  margin-bottom:.55rem;
}
.mm-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--ms-line);
  padding:.42rem .72rem;
  border-radius:999px;
  font-size:.86rem;
  font-weight:700;
  color: rgba(14,16,20,.78);
  background: rgba(255,255,255,.55);
}
.mm-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.2rem;
}
@media (max-width: 991px){
  .mm-grid{grid-template-columns:1fr}
}
.mm-media{
  width:100%;
  aspect-ratio: 16/10;
  background-size: cover;
  background-position:center;
}

.mm-steps{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:1.2rem;
}
@media (max-width: 991px){
  .mm-steps{grid-template-columns:1fr}
}
.mm-step{
  background: rgba(255,255,255,.55);
  border:1px solid var(--ms-line);
  border-radius: var(--ms-radius);
  padding:1.25rem 1.25rem 1.1rem;
}
.mm-step .n{
  width:40px;height:40px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(14,16,20,.12);
  background:#fff;
  font-weight:900;
  margin-bottom:.8rem;
}

.mm-cta{
  background: radial-gradient(1400px 600px at 50% 0%, rgba(199,176,123,.20) 0%, rgba(255,255,255,.55) 35%, rgba(255,255,255,.0) 68%);
  border-top:1px solid var(--ms-line);
  border-bottom:1px solid var(--ms-line);
}

.ftco-footer{
  background: #0E1014 !important;
}
.ftco-footer .ftco-footer-widget h2,
.ftco-footer p, .ftco-footer a{
  color: rgba(255,255,255,.82) !important;
}
.ftco-footer a:hover{color:#fff !important}
.mm-footnote{color: rgba(255,255,255,.62) !important; font-weight:600}

.accordion .card{
  background: var(--ms-surface) !important; /* same white as mm-card ("Ce que vous recevez") */
  border-radius: var(--ms-radius) !important;
  border:1px solid var(--ms-line) !important;
  overflow:hidden;
}
.accordion .card-header{
  background: transparent !important; /* keep container white, remove inner block */
  border-bottom:1px solid var(--ms-line) !important;
  padding: 0 !important; /* avoid any colored header strip on some mobile browsers */
}
.accordion .btn-link{
  font-weight:800 !important;
  color: var(--ms-ink) !important;
  text-decoration:none !important;
  background: transparent !important; /* ensure no background on the clickable text */
}

/* FAQ question button: some mobile browsers apply a default gray background/appearance to <button>.
   Force it to render like plain text (container card stays white). */
.accordion .card-header .btn,
.accordion .card-header .btn-link{
  display:block;
  width:100%;
  text-align:left;
  padding: 18px 20px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none !important;
  outline: none !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.accordion .card-header .btn:active,
.accordion .card-header .btn:focus,
.accordion .card-header .btn:focus-visible{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
.accordion .card-body{
  color: var(--ms-muted);
  font-weight:600;
  line-height:1.75;
  background: transparent !important; /* remove inner white block; card stays white */
}
/* Legal pages */
.mm-legal{padding: 6rem 0 5rem;}
.mm-legal h1{font-size:2.2rem}
.mm-legal h2{font-size:1.35rem;margin-top:1.6rem}
.mm-legal p, .mm-legal li{color:var(--ms-muted);font-weight:650}

/* --- Proof / Trust section additions --- */
.mm-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.mm-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:rgba(255,255,255,.9);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.mm-list{margin:0;padding-left:1.15rem;color:rgba(255,255,255,.88)}
.mm-list li{margin:8px 0}
.mm-link{color:var(--ms-gold);text-decoration:none;border-bottom:1px solid rgba(205,170,110,.35)}
.mm-link:hover{border-bottom-color:rgba(205,170,110,.7);color:var(--ms-gold)}
.mm-kicker-sm{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.mm-split{display:grid;grid-template-columns:1fr;gap:16px;margin-top:6px}
.mm-split-item{border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);padding:22px}
@media(min-width: 992px){.mm-split{grid-template-columns:repeat(3, 1fr)}}
.mm-cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:18px}


/* --- Section contrast & separators (Discreet travel) --- */
body > section.ftco-section{
  background: var(--ms-surface);
}
body > section.ftco-section.bg-light{
  background: #EFEAE0 !important;
}
body > section.ftco-section:not(.mm-cta){
  border-top: 1px solid rgba(14,16,20,.06);
}
body > section.ftco-section:first-of-type{
  border-top: none;
}

/* Compact page hero for inner pages */
.mm-page-hero{
  padding: 7.2rem 0 2.6rem;
  background: linear-gradient(180deg, rgba(199,176,123,.10) 0%, rgba(255,255,255,.0) 70%);
  border-bottom: 1px solid var(--ms-line);
}

.mm-page-hero--image{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.mm-page-hero--image:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(14,16,20,.55) 0%, rgba(14,16,20,.35) 45%, rgba(14,16,20,.55) 100%),
    linear-gradient(180deg, rgba(14,16,20,.62) 0%, rgba(14,16,20,.18) 55%, rgba(14,16,20,0) 100%);
}
.mm-page-hero--image .mm-page-hero-inner{
  position: relative;
}
.mm-page-hero--image .mm-page-hero-inner h1{
  color:#fff;
  text-shadow: 0 10px 28px rgba(0,0,0,.35);
}
.mm-page-hero-inner h1{
  font-size: clamp(2.0rem, 3.1vw, 2.7rem);
  font-weight:700;
  line-height:1.08;
}

/* Buttons: outline should be dark on light surfaces, white only in hero */
.btn.btn-outline-primary{
  border-color: rgba(14,16,20,.22) !important;
  color: var(--ms-ink) !important;
  background: transparent !important;
}
.btn.btn-outline-primary:hover{
  border-color: rgba(14,16,20,.40) !important;
  background: rgba(14,16,20,.04) !important;
  color: var(--ms-ink) !important;
}
.hero-wrap .btn.btn-outline-primary{
  border-color: rgba(255,255,255,.55) !important;
  color:#fff !important;
}
.hero-wrap .btn.btn-outline-primary:hover{
  border-color:#fff !important;
  background: rgba(255,255,255,.10) !important;
  color:#fff !important;
}

/* Proof section components: readable on light cards */
.mm-pill{
  border: 1px solid rgba(14,16,20,.14);
  background: rgba(14,16,20,.03);
  color: rgba(14,16,20,.80);
}
.mm-list{
  color: var(--ms-muted);
  font-weight:600;
}
.mm-kicker-sm{
  color: rgba(14,16,20,.65);
}
.mm-split-item{
  border:1px solid var(--ms-line);
  background: rgba(255,255,255,.85);
}
.mm-split-item h3{color: var(--ms-ink)}
/* keep footer footnote style in dark footer; prevent it inside cards */
.mm-card .mm-footnote{
  color: rgba(14,16,20,.62) !important;
}

/* About page inset block */
.mm-inset{
  background: rgba(14,16,20,.03);
  border: 1px solid rgba(14,16,20,.06);
  border-radius: var(--ms-radius-lg);
  padding: 2.2rem 1.2rem;
  margin: 1.2rem 0 1.6rem;
}
@media (min-width: 992px){
  .mm-inset{padding: 2.6rem 2.2rem;}
}


/* --- Proof band (high contrast, Discreet travel) --- */
.mm-proofband{
  background:#0E1014;
  padding: 5.2rem 0;
}
@media (max-width: 767px){
  .mm-proofband{padding: 4.2rem 0;}
}

.mm-proofband .section-title,
.mm-proofband h2,
.mm-proofband h3,
.mm-proofband h4{color:#fff !important}

.mm-proofband .mm-lead{color: rgba(255,255,255,.78) !important}
.mm-proofband .mm-muted{color: rgba(255,255,255,.70) !important}

.mm-proofband .mm-badge{
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.90) !important;
}

.mm-card--glass{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: none;
}
.mm-proofband .mm-card--glass{background: rgba(255,255,255,.05) !important;border-color: rgba(255,255,255,.14) !important}

.mm-proofband .mm-pill{
  border-color: rgba(255,255,255,.20) !important;
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.86) !important;
}

.mm-divider{
  height:1px;
  background: rgba(14,16,20,.10);
  margin: 16px 0 14px;
}
.mm-proofband .mm-divider{background: rgba(255,255,255,.14) !important}

.mm-proofband .mm-list{
  color: rgba(255,255,255,.88) !important;
  font-weight: 650 !important;
}
.mm-proofband .mm-kicker-sm{color: rgba(255,255,255,.65) !important}

.mm-proofband .mm-split-item{
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.05) !important;
}
.mm-proofband .mm-split-item h3{color:#fff !important}

.mm-proofband .btn-outline-primary{
  border-color: rgba(255,255,255,.42) !important;
  color:#fff !important;
  background: transparent !important;
}
.mm-proofband .btn-outline-primary:hover{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.58) !important;
}

.mm-proofband .btn-primary{
  background: var(--ms-gold) !important;
  border-color: var(--ms-gold) !important;
  color:#0E1014 !important;
}
.mm-proofband .btn-primary:hover{
  background: var(--ms-gold-2) !important;
  border-color: var(--ms-gold-2) !important;
}


/* Proof band metrics + CTA */
.mm-proofband .mm-metric{
  padding: 1.1rem 1.1rem;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}
.mm-proofband .mm-metric-title{
  font-size: 1.05rem;
  font-weight: 760;
  margin: 6px 0 6px;
  color:#fff;
}
.mm-proofband .mm-metric-text{
  color: rgba(255,255,255,.78);
  font-size: .98rem;
  line-height: 1.55;
  margin: 0;
}

.mm-proof-cta{
  margin-top: 2.2rem;
  padding: 1.6rem 1.6rem;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1.2rem;
}
.mm-proof-cta-actions{
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap: wrap;
}
@media (max-width: 767px){
  .mm-proof-cta{flex-direction: column; align-items: flex-start;}
  .mm-proof-cta-actions{width:100%; justify-content:flex-start;}
}

/* Mini example blocks inside Proof band */
.mm-mini{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.mm-mini-item{
  padding: 14px 14px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}
.mm-mini-title{
  font-size: 1.02rem;
  margin: 6px 0 4px;
  font-weight: 750;
}
.mm-mini-text{
  margin: 0;
  color: rgba(255,255,255,.78);
  font-weight: 650;
  line-height: 1.55;
}

/* --- Trust section (matches CTA typography) --- */
.mm-kicker{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(14,16,20,.55);
  font-weight: 780;
}

.mm-trust{
  background: radial-gradient(1400px 620px at 50% 0%, rgba(199,176,123,.22) 0%, rgba(255,255,255,.70) 40%, rgba(255,255,255,0) 74%);
}

.mm-trust-card{
  background: rgba(255,255,255,.82);
}
.mm-trust-card .mm-lead{
  font-size: 1.02rem;
}

.mm-trust-panels{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 4px;
}
@media (min-width: 992px){
  .mm-trust-panels{grid-template-columns: 1fr 1fr;}
}

.mm-trust-panel{
  border-radius: 22px;
  border: 1px solid rgba(14,16,20,.08);
  background: rgba(255,255,255,.72);
  padding: 22px;
  box-shadow: 0 10px 28px rgba(14,16,20,.06);
}

.btn.btn-outline-ink{
  border: 1px solid rgba(14,16,20,.22) !important;
  color: var(--ms-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.btn.btn-outline-ink:hover{
  background: rgba(14,16,20,.04) !important;
  border-color: rgba(14,16,20,.32) !important;
  transform: translateY(-1px);
}

.mm-trust-cta{
  margin-top: 1.8rem;
  padding: 1.5rem 1.5rem;
  border-radius: 26px;
  border: 1px solid rgba(14,16,20,.10);
  background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(255,255,255,.60));
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1.2rem;
  box-shadow: 0 14px 36px rgba(14,16,20,.08);
}
.mm-trust-cta-actions{
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap: wrap;
}
@media (max-width: 767px){
  .mm-trust-cta{flex-direction: column; align-items: flex-start;}
  .mm-trust-cta-actions{width:100%; justify-content:flex-start;}
}

/* Space between the “Quote only / Sur devis / Solo bajo presupuesto” note and the next section */
.mm-after-collection-note{ padding-bottom: 2.75rem; }
@media (max-width: 767px){
  .mm-after-collection-note{ padding-bottom: 2.25rem; }
}

/* --- Mobile-first refinements (Mascaris) --- */
:root{
  --ms-nav-height: 86px;
}

img, svg, video, canvas, iframe{
  max-width: 100%;
  height: auto;
}

html{
  scroll-behavior: smooth;
}

/* Anchor jumps should account for the sticky nav */
section[id]{
  scroll-margin-top: calc(var(--ms-nav-height) + 10px);
}

/* iOS notch-safe padding */
@supports (padding: max(0px)){
  .container{
    padding-left: max(15px, env(safe-area-inset-left));
    padding-right: max(15px, env(safe-area-inset-right));
  }
}

/* Better tap targets for mobile nav */
.navbar-toggler{
  border: 1px solid rgba(14,16,20,.18) !important;
  border-radius: 999px !important;
  padding: .55rem .85rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
}
.navbar-toggler:focus{
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(199,176,123,.25);
}

/* Hero CTAs: clean layout, stack on mobile */
.mm-hero-actions{
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* Mobile layout tweaks */
@media (max-width: 991.98px){
  :root{ --ms-nav-height: 72px; }

  .ftco-navbar-light .navbar-collapse{
    padding: .35rem 0 .9rem;
  }
  .ftco-navbar-light .navbar-nav{
    padding-top: .35rem;
  }
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link{
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-size: 1.05rem;
  }

  /* Language switch visible inside the mobile menu */
  .mm-lang{ margin-left:0; padding-left:0; border-left:0; }
  .mm-lang--mobile{
    width:100%;
    justify-content:center;
    border-top: 1px solid var(--ms-line);
    padding-top: .85rem;
    margin-top: .75rem;
  }
  .mm-lang--mobile a{
    font-size: .78rem;
    letter-spacing: .18em;
  }

  /* iOS Safari: avoid blank hero backgrounds caused by background-attachment: fixed */
  .hero-wrap,
  .mm-page-hero--image{
    background-attachment: scroll !important;
  }
}

/* Extra safety for iOS Safari (supports check) */
@supports (-webkit-touch-callout: none){
  .hero-wrap,
  .mm-page-hero--image{
    background-attachment: scroll !important;
  }
}

/* Small phones */
@media (max-width: 575.98px){
  .hero-wrap .slider-text{
    padding-top: 6.2rem;
    padding-bottom: 2.4rem;
  }
  .mm-hero-actions{
    width: 100%;
  }
  .mm-hero-actions .btn{
    width: 100%;
    max-width: 420px;
  }
  .hero-wrap .mm-trustbar{
    margin-top: 1.05rem;
  }
  .hero-wrap .mm-trustbar .mm-trust{
    font-size: .85rem;
    padding: .42rem .70rem;
  }

  /* Inner page hero: tighter */
  .mm-page-hero{
    padding: 5.8rem 0 2.1rem;
  }

  /* Cards + media ratios */
  .mm-card .mm-card-body{
    padding: 1.15rem 1.05rem 1.05rem;
  }
  .mm-media{
    aspect-ratio: 4 / 3;
  }
  .mm-step{
    padding: 1.05rem 1.05rem 1rem;
  }

  /* CTA panels: comfortable on small screens */
  .mm-proof-cta,
  .mm-trust-cta{
    padding: 1.2rem 1.1rem;
    border-radius: 22px;
  }

  /* Legal pages */
  .mm-legal{ padding: 4.5rem 0 3.5rem; }
}

@media (max-width: 360px){
  .hero-wrap .slider-text h1{
    font-size: 2.0rem;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  .btn{ transition: none !important; }
}


/* --- Mobile viewport stability (iOS address bar / scroll jump fix) --- */
@media (max-width: 767.98px){
  /* Keep fullheight sections stable even when the browser chrome shows/hides */
  .js-fullheight{
    height: auto !important;
    min-height: 100vh;
  }
  @supports (height: 100svh){
    .js-fullheight{ min-height: 100svh; }
  }
  /* Prevent layout-shifting transitions on the navbar on mobile */
  .ftco-navbar-light, .ftco_navbar{
    transition: none !important;
  }
}
