/* V3: comfortable reading sizes and expressive, repeatable scroll transitions. */
.mv-site.mv-experience { font-size:17px; line-height:1.8; }
.mv-experience main p { font-size:17px; line-height:1.8; }
.mv-site.mv-experience .av-nav-link { font-size:14px; }
.mv-site.mv-experience .av-nav { gap:23px; }
.mv-site.mv-experience .av-brand-name small { font-size:8px; letter-spacing:2px; }
.mv-site.mv-experience .av-btn,
.mv-site.mv-experience .av-nav .av-btn,
.mv-site.mv-experience .av-text-link,
.mv-site.mv-experience .mv-underlined-link { font-size:15px; }
.mv-site.mv-experience .av-btn { min-height:56px; padding:17px 26px; }
.mv-site.mv-experience .av-nav .av-btn { min-height:48px; padding:12px 20px; }
.mv-site.mv-experience .av-eyebrow,
.mv-site.mv-experience .mv-kicker { font-size:12px; letter-spacing:1.6px; }
.mv-site.mv-experience .av-section h2,
.mv-site.mv-experience .av-reading h2 { font-size:clamp(37px,4vw,54px); line-height:1.16; }
.mv-site.mv-experience .av-section-heading p,
.mv-site.mv-experience .av-split p,
.mv-site.mv-experience .av-contact-grid>aside>p { font-size:18px; color:#4f636f; }
.mv-site.mv-experience .mv-heading-row>p { max-width:390px; }
.mv-heading-row>p br { display:none; }

/* The hero has space for the larger copy and the destination selector. */
.mv-experience .mv-hero,
.mv-experience .mv-hero-content { min-height:760px; }
.mv-experience .mv-hero-content { padding-bottom:160px; padding-top:65px; }
.mv-experience .mv-hero-copy { max-width:750px; }
.mv-experience .mv-hero h1 { font-size:clamp(55px,5.8vw,85px); line-height:1.06; letter-spacing:-3.2px; }
.mv-site.mv-experience .mv-hero-copy>p { font-size:19px; line-height:1.75; max-width:560px; }
.mv-experience .mv-hero-explore { font-size:15px; }
.mv-experience .mv-hero-facts { font-size:12px; gap:14px; flex-wrap:wrap; }
.mv-experience .mv-destination-switch { max-width:470px; gap:26px; }
.mv-experience .mv-destination-copy>span { font-size:10px; letter-spacing:1px; }
.mv-experience .mv-destination-copy>strong { font-size:15px; }
.mv-experience .mv-scene-controls button { width:44px; height:44px; font-size:13px; }
.mv-experience .mv-scroll-hint { font-size:11px; }
.mv-experience .mv-service-dock>a { font-size:14px; line-height:1.5; }
.mv-experience .mv-dock-icon,.mv-experience .mv-dock-icon svg { width:28px; height:28px; }

/* Larger type, stronger contrast and generous card spacing throughout the site. */
.mv-site.mv-experience .mv-service-card>h3 { font-size:28px; line-height:1.25; max-width:none; }
.mv-site.mv-experience .mv-service-card>p,
.mv-site.mv-experience .av-card-help p { font-size:17px; line-height:1.8; }
.mv-site.mv-experience .mv-service-card>p { color:#536775; }
.mv-site.mv-experience .mv-service-card>.av-eyebrow,
.mv-site.mv-experience .av-card-help .av-eyebrow { font-size:11px; letter-spacing:1.2px; }
.mv-site.mv-experience .mv-service-card>.av-text-link,
.mv-site.mv-experience .av-card-help .av-text-link { font-size:15px; }
.mv-site.mv-experience .av-card-help h3 { font-size:36px; }
.mv-site.mv-experience .av-card-help p { max-width:none; }
.mv-site.mv-experience .mv-story-copy>p { font-size:18px; line-height:1.85; max-width:none; color:#4f636f; }
.mv-experience .mv-story { gap:65px; }
.mv-experience .mv-story-photo { height:650px; }
.mv-experience .mv-photo-caption>span { font-size:11px; }
.mv-experience .mv-photo-caption>strong { font-size:30px; }
.mv-experience .mv-story-features { gap:24px; }
.mv-experience .mv-story-features strong { font-size:16px; }
.mv-experience .mv-story-features p { font-size:15px; color:#536775; }
.mv-experience .mv-process-grid h3 { font-size:26px; line-height:1.3; }
.mv-experience .mv-process-grid p { font-size:17px; color:#536775; }
.mv-experience .mv-process-num { width:66px; height:66px; font-size:21px; transition:background .7s,color .7s,border-color .7s; }
.mv-experience .mv-process-grid .mv-entered .mv-process-num { background:#f0dec0; color:#17354a; border-color:#d1b581; }
.mv-site.mv-experience .mv-diagnosis h2 { font-size:43px!important; }
.mv-site.mv-experience .mv-diagnosis p { font-size:17px!important; }
.mv-experience .mv-orbit-label { font-size:13px; }
.mv-site.mv-experience .testimonial-card .testimonial-text,
.mv-site.mv-experience .av-review-grid .testimonial-card p { font-size:16px; line-height:1.85; }
.mv-site.mv-experience .testimonial-author,
.mv-site.mv-experience .testimonial-name { font-size:16px; }
.mv-site.mv-experience .testimonial-card .testimonial-role,
.mv-site.mv-experience .testimonial-card .testimonial-date { font-size:13px; }
.mv-site.mv-experience .mv-guide>span:not(.mv-guide-arrow) { font-size:11px; }
.mv-experience .mv-guide h3 { font-size:28px; line-height:1.3; max-width:none; }
.mv-site.mv-experience .av-faq summary { font-size:18px; }
.mv-site.mv-experience .av-faq p { font-size:17px; color:#536775; }
.mv-site.mv-experience .av-cta h2 { font-size:clamp(37px,4vw,54px); }
.mv-site.mv-experience .av-cta p { font-size:18px; }
.mv-site.mv-experience .av-cta-secondary { font-size:14px; }
.mv-site.mv-experience .av-floating-wa { font-size:14px; padding:15px 22px; }
.mv-experience .av-floating-wa { transition:opacity .35s,visibility .35s,transform .35s; }
.mv-experience.mv-at-intro .av-floating-wa { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px); }
.mv-site.mv-experience .av-footer-grid h2 { font-size:15px; }
.mv-site.mv-experience .av-footer-grid p,
.mv-site.mv-experience .av-footer-grid a,
.mv-site.mv-experience .av-cookie-settings { font-size:14px; }
.mv-site.mv-experience .av-footer-disclaimer,
.mv-site.mv-experience .av-footer-bottom { font-size:12px; }
.mv-site.mv-experience .av-wordmark span { font-size:12px; }
.mv-site.mv-experience .av-footer-phone { font-size:24px!important; white-space:nowrap; }
.mv-site.mv-experience .av-cookie p { font-size:14px; }
.mv-site.mv-experience .av-cookie strong { font-size:16px; }
.mv-site.mv-experience .av-cookie .av-btn { font-size:14px; }
.mv-site.mv-experience .av-page-hero p,
.mv-site.mv-experience .av-service-hero-grid>div>p { font-size:18px; }
.mv-site.mv-experience .av-breadcrumb { font-size:13px; }
.mv-site.mv-experience .av-service-summary p { font-size:16px; }
.mv-site.mv-experience .av-service-summary h2 { font-size:29px; }
.mv-site.mv-experience .av-service-hero .av-fine,
.mv-site.mv-experience .av-service-notice { font-size:13px; }
.mv-site.mv-experience .av-feature-grid h3 { font-size:26px; }
.mv-site.mv-experience .av-feature-grid p,
.mv-site.mv-experience .av-checklist li { font-size:17px; }
.mv-site.mv-experience .av-panel h3 { font-size:30px; }
.mv-site.mv-experience .av-contact-form h2 { font-size:37px; }
.mv-site.mv-experience .form-field label { font-size:15px; }
.mv-site.mv-experience .form-field input,
.mv-site.mv-experience .form-field textarea,
.mv-site.mv-experience .form-field select { font-size:17px; }
.mv-site.mv-experience .form-checkbox { font-size:14px; }
.mv-site.mv-experience .av-legal { font-size:17px; }
.mv-site.mv-experience .av-legal h2 { font-size:29px; }
.mv-site.mv-experience .av-legal li { font-size:16px; }
.mv-site.mv-experience .quiz-static-header p { font-size:18px!important; }
.mv-site.mv-experience .quiz-intro-bullets { font-size:16px; }
.mv-site.mv-experience .blog-card p { font-size:16px; }
.mv-site.mv-experience .blog-card h3 { font-size:27px; }
.mv-site.mv-experience .blog-filter { font-size:14px; }
.mv-site.mv-experience .blog-article-meta { font-size:13px; }
.mv-site.mv-experience .blog-article-hero .hero-sub { font-size:18px; }
.mv-site.mv-experience #main > .hero.hero-inner-page .hero-sub { font-size:18px; line-height:1.75; }
.mv-site.mv-experience .blog-article-body p,
.mv-site.mv-experience .blog-article-body li { font-size:18px; line-height:1.85; }

/* A viewport entrance can replay after leaving the section, in either direction. */
.mv-experience .mv-reading-progress { position:absolute; left:0; bottom:0; height:3px; width:100%; background:linear-gradient(90deg,#b28b4b,#e7c587); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.mv-motion-ready [data-reveal].mv-pending { opacity:0!important; transform:translate3d(0,52px,0)!important; }
.mv-motion-ready [data-reveal].mv-animating { animation:mv-arrival 1.05s cubic-bezier(.16,.7,.25,1) var(--mv-stagger,0ms) both; }
.mv-motion-ready [data-motion=side].mv-animating { --mv-enter-x:45px; --mv-enter-y:10px; }
.mv-motion-ready [data-motion=image].mv-animating { animation-name:mv-photo-arrival; animation-duration:1.35s; }
.mv-motion-ready [data-reveal]:focus-within { opacity:1!important; transform:none!important; animation:none!important; }
.mv-experience .av-section h2 em { color:#526c77; position:relative; background-image:linear-gradient(#d9bf8c,#d9bf8c); background-repeat:no-repeat; background-position:0 96%; background-size:0 3px; transition:background-size 1.2s .3s cubic-bezier(.2,.6,.2,1); }
.mv-experience .mv-entered h2 em { background-size:100% 3px; }
.mv-experience .mv-hero-images { inset:-8% 0; transform:translate3d(0,var(--mv-drift,0px),0); }
.mv-experience .mv-story-photo>img { transform:translate3d(0,var(--mv-drift,0px),0) scale(1.14); transition:none; }
.mv-experience .mv-about-image { overflow:hidden; border-radius:20px; }
.mv-experience .mv-about-image img { transform:translate3d(0,var(--mv-drift,0px),0) scale(1.14); }
.mv-experience .mv-cta-image,
.mv-experience .mv-service-background { inset:-12% 0; transform:translate3d(0,var(--mv-drift,0px),0); }
.mv-experience .mv-process-grid:before { top:43px; border-color:#d5b679; border-width:2px; transform:scaleX(var(--mv-process-progress,0)); transform-origin:left; }
@keyframes mv-arrival {
  from { opacity:0; transform:translate3d(var(--mv-enter-x,0px),var(--mv-enter-y,64px),0) scale(.97); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes mv-photo-arrival {
  from { opacity:.1; clip-path:inset(10% 0 10% 0 round 35px); transform:translate3d(0,45px,0) scale(.96); }
  to { opacity:1; clip-path:inset(0 round 18px); transform:translate3d(0,0,0) scale(1); }
}

@media (max-width:1120px) {
  .mv-site.mv-experience .av-nav-link { font-size:13px; }
  .mv-site.mv-experience .av-nav { gap:16px; }
  .mv-site.mv-experience .av-brand { width:215px; }
  .mv-site.mv-experience .av-brand-name strong { font-size:16px; }
  .mv-experience .mv-story { gap:40px; }
  .mv-experience .mv-service-dock>a { font-size:13px; }
  .mv-site.mv-experience .av-service-hero-grid { gap:35px; }
  .mv-site.mv-experience .av-footer-grid { grid-template-columns:repeat(2,1fr); gap:40px; }
}
@media (min-width:861px) and (max-width:1000px) {
  .mv-site.mv-experience .av-header-inner { gap:12px; }
  .mv-site.mv-experience .av-brand { width:180px; gap:8px; }
  .mv-site.mv-experience .av-brand img { width:38px; height:38px; }
  .mv-site.mv-experience .av-brand-name strong { font-size:14px; }
  .mv-site.mv-experience .av-brand-name small { font-size:6px; }
  .mv-site.mv-experience .av-nav { gap:12px; }
  .mv-site.mv-experience .av-nav .av-btn { padding:10px 13px; font-size:12px; }
}
@media (max-width:860px) {
  .mv-site.mv-experience .av-nav-link { font-size:17px; }
  .mv-site.mv-experience .av-nav .av-btn { font-size:16px; }
  .mv-experience .mv-hero h1 { font-size:65px; }
  .mv-experience .mv-hero-copy>p { max-width:550px; }
  .mv-experience .mv-story { grid-template-columns:1fr; }
  .mv-experience .mv-story-photo { height:540px; }
  .mv-experience .mv-story-copy { max-width:660px; }
  .mv-site.mv-experience .av-service-hero-grid { grid-template-columns:1fr; }
  .mv-site.mv-experience .av-service-summary { max-width:650px; }
  .mv-experience .mv-process-grid h3 { font-size:23px; }
}
@media (max-width:640px) {
  .mv-site.mv-experience { font-size:16px; }
  .mv-site.mv-experience main p { font-size:16px; line-height:1.85; }
  .mv-site.mv-experience .av-brand { width:auto; }
  .mv-site.mv-experience .av-brand-name strong { font-size:17px; }
  .mv-site.mv-experience .av-brand-name small { font-size:7px; }
  .mv-site.mv-experience .av-eyebrow { font-size:11px; letter-spacing:1.1px; }
  .mv-site.mv-experience .av-section h2,
  .mv-site.mv-experience .av-reading h2 { font-size:37px; line-height:1.19; letter-spacing:-1.2px; }
  .mv-site.mv-experience .av-section-heading p { font-size:17px; }
  .mv-experience .mv-hero,.mv-experience .mv-hero-content { min-height:800px; }
  .mv-experience .mv-hero-content { padding-top:49px; padding-bottom:166px; }
  .mv-experience .mv-hero h1 { font-size:clamp(38px,10.8vw,64px); line-height:1.1; letter-spacing:-1.8px; }
  .mv-site.mv-experience .mv-kicker { font-size:10px; letter-spacing:1.1px; }
  .mv-site.mv-experience .mv-hero-copy>p { font-size:17px; line-height:1.8; max-width:450px; }
  .mv-site.mv-experience .av-btn { font-size:15px; min-height:55px; padding:15px 22px; }
  .mv-site.mv-experience .mv-hero .av-btn { font-size:15px; }
  .mv-experience .mv-hero-explore { font-size:14px; }
  .mv-experience .mv-hero-facts { font-size:11px; gap:8px; margin-top:25px; }
  .mv-experience .mv-hero-facts span+span:before { margin-right:8px; }
  .mv-experience .mv-destination-switch { left:20px; right:20px; bottom:30px; gap:12px; padding:15px; }
  .mv-experience .mv-destination-copy { min-width:0; }
  .mv-experience .mv-destination-copy>span { font-size:8px; line-height:1.6; letter-spacing:.5px; max-width:155px; }
  .mv-experience .mv-destination-copy>strong { font-size:12px; line-height:1.5; display:block; }
  .mv-experience .mv-scene-controls button { width:39px; height:39px; font-size:12px; }
  .mv-experience .mv-service-dock { grid-template-columns:repeat(5,minmax(115px,1fr)); }
  .mv-experience .mv-service-dock>a { font-size:12px; gap:10px; }
  .mv-site.mv-experience .mv-service-card>h3 { font-size:29px; }
  .mv-site.mv-experience .mv-service-card>p,
  .mv-site.mv-experience .av-card-help p { font-size:16px; }
  .mv-experience .mv-story-photo { height:450px; }
  .mv-experience .mv-photo-caption>span { font-size:10px; letter-spacing:1.2px; }
  .mv-experience .mv-photo-caption>strong { font-size:24px; padding-right:20px; display:block; }
  .mv-experience .mv-story-features { grid-template-columns:1fr; gap:23px; }
  .mv-experience .mv-story-features strong { font-size:17px; }
  .mv-experience .mv-story-features p { font-size:15px; }
  .mv-experience .mv-process-num { width:50px; height:50px; font-size:18px; }
  .mv-experience .mv-process-grid article { padding-left:72px; }
  .mv-experience .mv-process-grid h3 { font-size:25px; }
  .mv-experience .mv-process-grid p { font-size:16px; }
  .mv-experience .mv-process-grid:before { top:20px; transform:scaleY(var(--mv-process-progress,0)); transform-origin:top; }
  .mv-site.mv-experience .mv-diagnosis h2 { font-size:34px!important; }
  .mv-site.mv-experience .mv-diagnosis p { font-size:16px!important; }
  .mv-site.mv-experience .mv-diagnosis .av-btn { font-size:14px; gap:8px; }
  .mv-experience .mv-orbit-label { font-size:11px; }
  .mv-experience .mv-guide h3 { font-size:28px; }
  .mv-site.mv-experience .av-faq summary { font-size:17px; }
  .mv-site.mv-experience .av-faq p { font-size:16px; }
  .mv-site.mv-experience .av-cta h2 { font-size:37px; }
  .mv-site.mv-experience .av-cta p { font-size:17px; }
  .mv-site.mv-experience .av-footer-grid { gap:35px 23px; }
  .mv-site.mv-experience .av-footer-phone { font-size:22px!important; }
  .mv-site.mv-experience .av-footer-disclaimer { font-size:12px; }
  .mv-site.mv-experience .av-floating-wa { font-size:13px; padding:12px 16px; }
  .mv-site.mv-experience .av-service-hero-grid>div>p { font-size:17px; }
  .mv-site.mv-experience .av-service-hero .av-actions { align-items:stretch; }
  .mv-site.mv-experience .av-service-hero .av-btn { font-size:14px; padding:15px 19px; }
  .mv-site.mv-experience .av-service-hero .av-fine { font-size:12px; }
  .mv-site.mv-experience .av-service-summary p { font-size:16px; }
  .mv-site.mv-experience .av-breadcrumb { font-size:12px; }
  .mv-site.mv-experience .av-checklist li { font-size:16px; }
  .mv-site.mv-experience .av-contact-form h2 { font-size:33px; }
  .mv-site.mv-experience .quiz-static-header p { font-size:17px!important; }
  .mv-site.mv-experience .blog-article-body p,
  .mv-site.mv-experience .blog-article-body li { font-size:17px; }
  .mv-site.mv-experience .blog-article-hero .hero-sub { font-size:17px; }
  .mv-motion-ready [data-reveal].mv-animating { animation-duration:.9s; animation-delay:0ms; }
  .mv-motion-ready [data-motion=side].mv-animating { --mv-enter-x:0px; --mv-enter-y:45px; }
}
@media (prefers-reduced-motion:reduce) {
  .mv-experience [data-reveal],.mv-motion-ready [data-reveal].mv-pending { opacity:1!important; transform:none!important; animation:none!important; clip-path:none!important; }
  .mv-experience .mv-hero-images,.mv-experience .mv-cta-image,.mv-experience .mv-service-background { transform:none!important; }
  .mv-experience .mv-story-photo>img,.mv-experience .mv-about-image img { transform:none!important; }
  .mv-experience .mv-process-grid:before { transform:none!important; }
}
@media print {
  .mv-motion-ready [data-reveal].mv-pending { opacity:1!important; transform:none!important; }
  .mv-experience [data-reveal] { animation:none!important; }
}

/* Unified WhatsApp contact · 2026-10-15. Icon: Bootstrap Icons (MIT).
   License: /assets/licenses/bootstrap-icons.txt */
body a.gag-whatsapp,
body.mv-site.mv-experience a.gag-whatsapp {
  position: fixed;
  inset: auto;
  right: max(24px, env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: 56px;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid #ffffff38;
  border-radius: 999px;
  background: #0b7a3e;
  color: #fff;
  font: 600 14px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 6px 18px #04321c2e;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  animation: none;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body a.gag-whatsapp > span,
body.mv-site.mv-experience a.gag-whatsapp > span {
  display: inline;
  font: inherit;
  color: inherit;
}
body a.gag-whatsapp > svg.gag-whatsapp-icon,
body.mv-site.mv-experience a.gag-whatsapp > svg.gag-whatsapp-icon {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  fill: currentColor;
  stroke: none;
}
body a svg.gag-whatsapp-icon { fill: currentColor; stroke: none; }
body a.gag-whatsapp:focus-visible,
body.mv-site.mv-experience a.gag-whatsapp:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px #064e2f, 0 6px 18px #04321c2e;
}
@media (hover: hover) and (pointer: fine) {
  body a.gag-whatsapp:hover,
  body.mv-site.mv-experience a.gag-whatsapp:hover {
    background: #096b36;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px #04321c33;
  }
}
@media (max-width: 700px) {
  body a.gag-whatsapp,
  body.mv-site.mv-experience a.gag-whatsapp {
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 56px;
    height: 56px;
    padding: 0;
    gap: 0;
  }
  body a.gag-whatsapp > span,
  body.mv-site.mv-experience a.gag-whatsapp > span { display: none; }
  body a.gag-whatsapp > svg.gag-whatsapp-icon,
  body.mv-site.mv-experience a.gag-whatsapp > svg.gag-whatsapp-icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }
  /* Leave the cookie choice unobstructed on small screens. */
  body:has(:is(#av-cookie, #cookie-choice, #gag-cookie):not([hidden])) a.gag-whatsapp {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  body a.gag-whatsapp,
  body a.gag-whatsapp:hover,
  body.mv-site.mv-experience a.gag-whatsapp,
  body.mv-site.mv-experience a.gag-whatsapp:hover {
    transition: none;
    transform: none;
  }
}
@media print {
  body a.gag-whatsapp,
  body.mv-site.mv-experience a.gag-whatsapp { display: none !important; }
}
