:root{
  --mv-bg:#090a0b;
  --mv-bg-2:#111315;
  --mv-panel:#15181b;
  --mv-gold:#d6ad58;
  --mv-gold-soft:#f1cf83;
  --mv-text:#f6f2e9;
  --mv-muted:#b8b0a4;
}
html,body{background:var(--mv-bg);}
body{color:var(--mv-text);}
::selection{background:var(--mv-gold);color:#111;}
.loader{background:#070809;}
.loader__logo img{width:210px;max-width:72vw;}
.loading-text,.loading-dots{color:var(--mv-gold-soft)!important;}

/* Main hero */
.media-mono-02{
  background-image:
    radial-gradient(circle at 78% 24%,rgba(214,173,88,.28),transparent 23%),
    radial-gradient(circle at 30% 70%,rgba(255,255,255,.06),transparent 24%),
    linear-gradient(135deg,#070808 0%,#11100d 48%,#17130c 72%,#090a0b 100%)!important;
}
.media-mono-02::after{
  content:"";position:absolute;inset:0;opacity:.42;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:52px 52px;
}
.color-layer-medium{background:linear-gradient(90deg,rgba(3,4,5,.45),rgba(3,4,5,.2))!important;}
.intro__header .logo img{width:220px;max-height:112px;object-fit:contain;object-position:left center;}
@media(min-width:1200px){.intro__headline{max-width:850px;}}
.headline__subtitle{color:var(--mv-gold-soft)!important;letter-spacing:.24em;text-transform:uppercase;font-weight:700!important;}
.headline__title,.headline__description{color:var(--mv-text)!important;}
.headline__description{max-width:680px;color:#d8d2c9!important;}
.headline__title b{color:var(--mv-text)!important;}
.headline__title b:nth-child(2){color:var(--mv-gold-soft)!important;}
.button-solid-light{background:linear-gradient(135deg,#f2d58d,#c7973e)!important;border-color:#e5bd68!important;color:#0b0b0b!important;box-shadow:0 12px 34px rgba(199,151,62,.2);}
.no-touch .button-solid-light:hover{background:transparent!important;color:var(--mv-gold-soft)!important;border-color:var(--mv-gold)!important;}
.intro__countdown{display:none!important;}
.intro__copyright{bottom:7rem!important;}
.intro__copyright p{color:#8f897f!important;}
.intro__copyright i{color:var(--mv-gold)!important;}

/* Navigation */
@media(min-width:1200px){
  .menu{background:rgba(8,9,10,.78)!important;border:1px solid rgba(214,173,88,.18);backdrop-filter:blur(18px);border-radius:18px;}
  .navigation li a{color:#f0ebe2!important;}
  .no-touch .navigation li:hover a{color:var(--mv-gold-soft)!important;}
}
.menu-trigger,.menu-close,.section-inner__controls .button-square{border-color:rgba(214,173,88,.55)!important;}
.menu-trigger i,.menu-close i,.section-inner__controls i{color:var(--mv-gold-soft)!important;}

/* Aside */
.section-main__aside{background:linear-gradient(180deg,#d9b462 0%,#bd8f39 100%)!important;color:#101010!important;}
.aside__title{color:#0c0c0d!important;font-weight:700!important;}
.aside__text{color:rgba(12,12,13,.82)!important;}
.button-outline-dark{border-color:#151515!important;color:#151515!important;}
.no-touch .button-outline-dark:hover{background:#111!important;border-color:#111!important;color:#f4d483!important;}
.socials li a{color:#111!important;}
.no-touch .socials li a:hover{color:#fff0c0!important;}

/* Inner sections */
.section-inner{background:var(--mv-bg)!important;}
.section-inner__content{background:linear-gradient(180deg,#0a0b0c,#101214)!important;}
.section-inner__blocks{background:transparent!important;}
.inner__title{color:var(--mv-text)!important;}
.inner__text{color:#bdb6aa!important;}
.inner__text span,.inner__text a{color:var(--mv-gold-soft)!important;}
.bg-light,.bg-medium,.bg-dark{background:var(--mv-panel)!important;}
.feature__descr h3,.feature__descr h3.light{color:var(--mv-text)!important;}
.feature__descr p,.feature__descr p.light{color:#aaa398!important;}
.feature__image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-image:none!important;background:radial-gradient(circle at 50% 42%,rgba(214,173,88,.18),transparent 28%),linear-gradient(145deg,#141619,#090a0b)!important;}
.feature__image::after{content:"";position:absolute;inset:9%;border:1px solid rgba(214,173,88,.16);border-radius:28px;}
.mv-feature-icon{font-size:5rem;color:var(--mv-gold-soft);filter:drop-shadow(0 12px 34px rgba(214,173,88,.18));position:relative;z-index:2;}
.mv-feature-kicker{display:block;color:var(--mv-gold)!important;text-transform:uppercase;font-size:1.1rem;letter-spacing:.14em;margin-bottom:.8rem;font-weight:700;}

/* Cards */
.mv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:3rem;}
.mv-card{background:linear-gradient(145deg,#15181a,#0e1012);border:1px solid rgba(214,173,88,.22);border-radius:20px;padding:2.5rem;box-shadow:0 24px 70px rgba(0,0,0,.18);}
.mv-card i{font-size:2.3rem;color:var(--mv-gold-soft);margin-bottom:1.7rem;}
.mv-card h3{color:var(--mv-text);margin-bottom:.9rem;}
.mv-card p{color:#aaa398;line-height:1.6;}
.mv-step-num{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--mv-gold);color:#101010;font-weight:800;margin-bottom:1.5rem;}
.mv-pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:2.6rem;}
.mv-price-card{position:relative;background:#111416;border:1px solid rgba(214,173,88,.22);border-radius:22px;padding:2.7rem;}
.mv-price-card.featured{border-color:var(--mv-gold);box-shadow:0 0 0 1px rgba(214,173,88,.22),0 24px 80px rgba(214,173,88,.08);}
.mv-price-card .badge{display:inline-block;background:var(--mv-gold);color:#121212;border-radius:999px;padding:.55rem 1rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:1.4rem;}
.mv-price{font-size:3rem;font-weight:800;color:var(--mv-text);margin:.6rem 0 1.5rem;}
.mv-price span{font-size:1.3rem;color:#9d968b;font-weight:500;}
.mv-list{list-style:none;margin:0 0 2.2rem;padding:0;}
.mv-list li{margin:.9rem 0;color:#c7c0b5;}
.mv-list i{color:var(--mv-gold-soft);margin-right:.75rem;}
.mv-faq{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem;}
.mv-faq details{background:#111416;border:1px solid rgba(214,173,88,.18);border-radius:16px;padding:1.5rem 1.8rem;}
.mv-faq summary{cursor:pointer;color:var(--mv-text);font-weight:700;list-style:none;}
.mv-faq summary::-webkit-details-marker{display:none;}
.mv-faq summary::after{content:"+";float:right;color:var(--mv-gold-soft);font-size:1.5rem;}
.mv-faq details[open] summary::after{content:"−";}
.mv-faq p{color:#aaa398;margin:1rem 0 0;line-height:1.6;}
.mv-cta-band{margin-top:3rem;padding:2.4rem;border-radius:20px;background:linear-gradient(135deg,rgba(214,173,88,.13),rgba(255,255,255,.02));border:1px solid rgba(214,173,88,.2);display:flex;gap:2rem;align-items:center;justify-content:space-between;}
.mv-cta-band strong{font-size:2rem;color:var(--mv-text);}
.mv-cta-band span{display:block;color:#aaa398;margin-top:.4rem;}

/* Contact/proposal */
.form-dark input,.form-dark textarea,.form-dark select{background:#0d0f10!important;border-bottom-color:rgba(214,173,88,.3)!important;color:#f4efe6!important;}
.form-dark input:focus,.form-dark textarea:focus,.form-dark select:focus{border-bottom-color:var(--mv-gold)!important;}
.form-dark button.button-solid-dark{background:linear-gradient(135deg,#f2d58d,#c7973e)!important;border-color:#d9ad55!important;color:#111!important;}
.mv-form-note{margin-top:1.5rem;color:#8f887d;font-size:1.2rem;line-height:1.6;}
.mv-next-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.5rem;}
.mv-next-step{background:#111416;border:1px solid rgba(214,173,88,.18);border-radius:16px;padding:1.6rem;}
.mv-next-step i{color:var(--mv-gold-soft);font-size:1.8rem;margin-bottom:1rem;}
.mv-next-step strong{display:block;color:var(--mv-text);margin-bottom:.5rem;}
.mv-next-step span{color:#999287;}

/* Stay in touch popup */
.stayintouch{background:#d2a84f!important;}
.popup__title{color:#111!important;}
.form-dark.stayintouch-form input,.form-dark.stayintouch-form textarea{background:rgba(255,255,255,.24)!important;color:#111!important;border-bottom-color:#111!important;}

/* Responsiveness */
@media(max-width:1199px){
  .intro__header .logo img{width:180px;}
  .mv-grid,.mv-pricing{grid-template-columns:1fr 1fr;}
  .mv-next-steps{grid-template-columns:1fr 1fr;}
}
@media(max-width:767px){
  .intro__header .logo img{width:150px;max-height:88px;}
  .mv-grid,.mv-pricing,.mv-faq,.mv-next-steps{grid-template-columns:1fr;}
  .mv-cta-band{align-items:flex-start;flex-direction:column;}
  .mv-card,.mv-price-card{padding:2rem;}
}


/* --------------------------------------------------
   MVisual polish v2 — approved Axio direction
   -------------------------------------------------- */
/* Preloader: same visual black as the hero, emblem only. */
.loader{
  background:
    linear-gradient(90deg,rgba(3,4,5,.45),rgba(3,4,5,.20)),
    radial-gradient(circle at 78% 24%,rgba(214,173,88,.28),transparent 23%),
    radial-gradient(circle at 30% 70%,rgba(255,255,255,.06),transparent 24%),
    linear-gradient(135deg,#070808 0%,#11100d 48%,#17130c 72%,#090a0b 100%)!important;
}
.loader__logo{display:flex!important;align-items:center!important;justify-content:center!important;}
.loader__logo img{width:150px!important;max-width:42vw!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 12px 35px rgba(214,173,88,.18));}
.loader__caption{display:none!important;}

@media only screen and (min-width:1200px){
  /* Give the hero more room: 81/19 instead of the original 75/25. */
  .section-main__intro{
    flex:0 0 81%!important;
    width:81%!important;
    max-width:81%!important;
  }
  .section-main__aside{
    flex:0 0 19%!important;
    width:19%!important;
    max-width:19%!important;
  }

  /* True visual centering of Serviços / Como funciona / Pedir proposta. */
  .section-main__intro .menu{
    left:50%!important;
    right:auto!important;
    width:max-content!important;
    max-width:calc(100% - 430px)!important;
    transform:translateX(-50%)!important;
    -webkit-transform:translateX(-50%)!important;
    -moz-transform:translateX(-50%)!important;
  }
  .section-main__intro .menu.is-visible{
    transform:translateX(-50%)!important;
    -webkit-transform:translateX(-50%)!important;
    -moz-transform:translateX(-50%)!important;
  }
  .menu__container{margin-top:3rem!important;}
  .navigation{padding:0 2.8rem!important;white-space:nowrap;}
  .navigation li a{margin-right:2.8rem!important;}
  .navigation li:last-of-type a{margin-right:0!important;}

  /* Keep the brand present but lighter so it doesn't compete with the menu. */
  .intro__header .logo img{width:180px!important;max-height:96px!important;}

  /* More compact sidebar content to suit the narrower 19% rail. */
  .aside__content{padding-left:2.8rem!important;padding-right:2.8rem!important;}
  .aside__socials{padding-left:2.8rem!important;padding-right:2.8rem!important;}
  .aside__title{font-size:2.1rem!important;line-height:1.35!important;margin-bottom:2rem!important;}
  .aside__text{font-size:1.35rem!important;line-height:1.65!important;margin-bottom:2.6rem!important;}
}

@media only screen and (min-width:1400px){
  .menu__container{margin-top:4rem!important;}
  .intro__header .logo img{width:190px!important;}
  .aside__content{padding-left:3.4rem!important;padding-right:3.4rem!important;}
  .aside__socials{padding-left:3.4rem!important;padding-right:3.4rem!important;}
}

@media only screen and (max-width:1199px){
  .loader__logo img{width:125px!important;}
}

/* --------------------------------------------------
   MVisual polish v3 — geometry fixes from desktop QA
   -------------------------------------------------- */
@media only screen and (min-width:1200px){
  :root{--mv-rail-width:clamp(260px,17vw,310px);}

  /* One shared geometry for hero + all inner panels. */
  .section-main__intro{
    flex:0 0 calc(100% - var(--mv-rail-width))!important;
    width:calc(100% - var(--mv-rail-width))!important;
    max-width:calc(100% - var(--mv-rail-width))!important;
  }
  .section-main__aside{
    flex:0 0 var(--mv-rail-width)!important;
    width:var(--mv-rail-width)!important;
    max-width:var(--mv-rail-width)!important;
  }
  .section-inner{
    width:calc(100% - var(--mv-rail-width))!important;
    max-width:calc(100% - var(--mv-rail-width))!important;
  }

  /* Hidden Axio panels must never peek out between the hero and the rail. */
  .section-main{overflow:hidden!important;}
  .section-inner:not(.is-visible){pointer-events:none!important;}

  /* Header: smaller brand, menu centered inside the usable black canvas. */
  .intro__header .logo img{width:152px!important;max-height:82px!important;}
  .section-main__intro .menu{
    left:50%!important;
    right:auto!important;
    width:max-content!important;
    max-width:calc(100% - 380px)!important;
    transform:translateX(-50%)!important;
    -webkit-transform:translateX(-50%)!important;
  }
  .section-main__intro .menu.is-visible{
    transform:translateX(-50%)!important;
    -webkit-transform:translateX(-50%)!important;
  }
  .menu__container{margin-top:2.4rem!important;}
  .navigation{padding:0 2.35rem!important;}
  .navigation li a{margin-right:2.35rem!important;}
  .navigation li:last-of-type a{margin-right:0!important;}

  /* Hero scale: keep the animated headline strong but no longer oversized. */
  .headline__title{
    font-size:clamp(7.2rem,6.25vw,10.8rem)!important;
    line-height:1.02!important;
    letter-spacing:-.08rem!important;
    max-width:900px!important;
  }
  .headline__subtitle{font-size:2.2rem!important;}
  .headline__description{max-width:640px!important;font-size:1.7rem!important;}

  /* Copyright stays entirely inside the black canvas. */
  .intro__copyright{
    right:2.2rem!important;
    padding:0!important;
    max-width:calc(100% - 4.4rem)!important;
  }
  .intro__copyright p{white-space:nowrap!important;font-size:1.05rem!important;}

  /* Compact rail, without squeezing text against its edges. */
  .aside__content{padding-left:2.6rem!important;padding-right:2.6rem!important;}
  .aside__socials{padding-left:2.6rem!important;padding-right:2.6rem!important;}
  .aside__title{font-size:1.95rem!important;line-height:1.32!important;margin-bottom:1.7rem!important;}
  .aside__text{font-size:1.25rem!important;line-height:1.62!important;margin-bottom:2.2rem!important;}
  .section-main__aside .button{padding-left:2rem!important;padding-right:2rem!important;}
}

@media only screen and (min-width:1600px){
  .intro__header .logo img{width:160px!important;}
  .headline__title{max-width:940px!important;}
}

/* --------------------------------------------------
   MVisual polish v4 — inner page UX + flash fix
   -------------------------------------------------- */

/* There must never be a light canvas behind an animated panel. */
html, body, #main, .section-main, .section-main__intro,
.section-inner, .section-inner__content, .section-inner__blocks{
  background-color:var(--mv-bg)!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:var(--mv-bg);
  pointer-events:none;
}

/* Inner pages now fade over the hero instead of sliding across an exposed canvas. */
.section-inner{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  z-index:100!important;
  transform:none!important;
  -webkit-transform:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease, visibility 0s linear .22s!important;
  will-change:opacity;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.section-inner.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .22s ease, visibility 0s linear 0s!important;
}
.section-main__intro.is-scaled-down{
  transform:none!important;
  -webkit-transform:none!important;
}
body.mv-inner-open .section-main__aside{
  pointer-events:none!important;
}

/* Compact, consistent inner-page header. */
.section-inner__controls{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:2.2rem!important;
  padding-top:0!important;
  padding-bottom:0!important;
  position:sticky!important;
  top:0;
  z-index:15;
  background:linear-gradient(180deg,rgba(9,10,11,.98),rgba(9,10,11,.86),rgba(9,10,11,0));
  backdrop-filter:blur(8px);
}
.mv-inner-nav{
  display:flex;
  align-items:center;
  gap:.8rem;
}
.mv-inner-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.8rem 1.25rem;
  border:1px solid rgba(214,173,88,.18);
  border-radius:999px;
  color:#d7d1c7!important;
  font:700 1.1rem/1 "Montserrat",sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  transition:.2s ease;
}
.no-touch .mv-inner-nav a:hover{
  color:#111!important;
  border-color:var(--mv-gold);
  background:var(--mv-gold);
}

/* Axio's coming-soon display titles were too large for real content pages. */
.section-inner .inner__title{
  display:block!important;
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  font-size:clamp(4.8rem,5.4vw,7.8rem)!important;
  line-height:1.02!important;
  letter-spacing:-.08rem!important;
  padding-bottom:1.7rem!important;
  margin-bottom:0!important;
}
.section-inner .inner__title::after{
  left:0!important;
  bottom:0!important;
  width:100%!important;
  height:1px!important;
  border-radius:0!important;
  background:linear-gradient(90deg,var(--mv-gold),rgba(214,173,88,.14),transparent)!important;
}
.section-inner .inner__text{
  max-width:1060px!important;
  margin-top:2.2rem!important;
  font-size:clamp(1.5rem,1.25vw,1.85rem)!important;
  line-height:1.65!important;
}
.section-inner__blocks{
  padding:3.2rem 0 4.5rem!important;
}
.section-inner__blocks.no-padding-bottom{
  padding:3.2rem 0 0!important;
}
.section-inner__blocks .content-block{
  margin-bottom:4.5rem!important;
}

/* Services: keep the alternating Axio feel, but stop wasting half a screen per item. */
.features .row{
  min-height:260px!important;
}
.feature__image{
  height:260px!important;
  min-height:260px!important;
}
.feature__descr{
  min-height:260px!important;
  padding:3.6rem 4.2rem!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.feature__descr h3{
  margin-bottom:1rem!important;
  font-size:1.75rem!important;
}
.feature__descr p{
  font-size:1.45rem!important;
  line-height:1.55!important;
  max-width:460px!important;
}
.mv-feature-icon{
  font-size:4.2rem!important;
}
.feature__image::after{
  inset:12%!important;
  border-radius:22px!important;
}

/* Process cards: number is the badge, icon sits independently in the corner. */
.mv-grid{
  margin-top:2.1rem!important;
  gap:1.25rem!important;
}
.mv-card{
  min-height:210px;
  padding:2rem 2.1rem!important;
}
.mv-card > i{
  position:absolute;
  top:2rem;
  right:2rem;
  margin:0!important;
  font-size:1.8rem!important;
}
.mv-card h3{
  padding-right:3rem;
  font-size:1.55rem!important;
}
.mv-step-num{
  width:38px!important;
  height:38px!important;
  margin-bottom:1.3rem!important;
}

/* Pricing contrast was inheriting dark text from the original template. */
.mv-price-card h3,
.mv-price-card.featured h3{
  color:var(--mv-text)!important;
  opacity:1!important;
}
.mv-price-card .mv-price,
.mv-price-card .mv-price span,
.mv-price-card .mv-list li{
  opacity:1!important;
}
.mv-price-card .button,
.mv-price-card .button:visited,
.form-dark button.button-solid-dark,
.form-dark button.button-solid-dark:visited{
  opacity:1!important;
}
.mv-price-card .button-solid-light,
.mv-price-card .button-solid-light:visited,
.form-dark button.button-solid-dark,
.form-dark button.button-solid-dark:visited{
  color:#0b0b0b!important;
}
.mv-price-card .button-outline-light,
.mv-price-card .button-outline-light:visited{
  color:var(--mv-text)!important;
}

@media(max-width:1199px){
  .section-inner__controls{position:relative!important;background:transparent;backdrop-filter:none;}
  .mv-inner-nav{display:none;}
  .section-inner .inner__title{font-size:clamp(4.2rem,8vw,6.4rem)!important;}
  .features .row,.feature__image,.feature__descr{min-height:240px!important;height:auto!important;}
}
@media(max-width:767px){
  .section-inner__blocks{padding-top:2rem!important;}
  .section-inner .inner__title{font-size:clamp(3.8rem,12vw,5.2rem)!important;}
  .feature__image{height:210px!important;min-height:210px!important;}
  .feature__descr{min-height:220px!important;padding:2.8rem 2.2rem!important;}
}
.mv-card{position:relative!important;}

/* --------------------------------------------------
   MVisual polish v5 — recommended plan, proposal form, direct section crossfade
   -------------------------------------------------- */

/* Never reveal the homepage while moving directly between inner sections. */
body.mv-inner-open::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:99;
  background:var(--mv-bg);
  pointer-events:none;
}
.section-inner{z-index:100!important;}
.section-inner.is-leaving{z-index:101!important;}
.section-inner.is-entering{z-index:102!important;}
.section-inner.is-entering.is-visible{z-index:102!important;}

/* Pricing: make the middle plan visibly recommended without shouting. */
.mv-price-card.featured{position:relative!important;overflow:visible!important;padding-top:3.6rem!important;}
.mv-recommended{
  position:absolute;
  top:-1px;
  right:2rem;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.65rem 1.25rem;
  border-radius:999px;
  background:linear-gradient(135deg,#f2d58d,#d4a548);
  color:#101010;
  box-shadow:0 10px 26px rgba(214,173,88,.24);
  font:800 1rem/1 "Montserrat",sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  z-index:2;
}

/* Proposal page: a real form rather than native browser controls. */
.mv-proposal-block{margin-bottom:0!important;}
.mv-proposal-shell{
  width:100%;
  padding:clamp(2rem,3vw,3.6rem);
  border:1px solid rgba(214,173,88,.18);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(214,173,88,.08),transparent 30%),
    #0f1213;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.mv-proposal-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2.4rem;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(214,173,88,.14);
}
.mv-proposal-heading h3{
  margin:.45rem 0 .6rem;
  color:var(--mv-text);
  font:700 clamp(2.2rem,2.3vw,3.1rem)/1.15 "Montserrat",sans-serif;
}
.mv-proposal-heading p{margin:0;color:#a9a195;font-size:1.4rem;line-height:1.6;}
.mv-proposal-trust{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:1rem;
  max-width:330px;
  padding:1.15rem 1.3rem;
  border:1px solid rgba(214,173,88,.16);
  border-radius:14px;
  background:#0b0d0e;
  color:#d9d3c9;
  font-size:1.2rem;
  line-height:1.4;
}
.mv-proposal-trust i{color:var(--mv-gold-soft);font-size:1.8rem;}
.mv-proposal-trust small{color:#8e887f;font-size:1.05rem;}

.mv-proposal-form{margin:0!important;}
.mv-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.45rem 1.7rem;
}
.mv-field{display:flex;flex-direction:column;gap:.7rem;margin:0;min-width:0;}
.mv-field-full{grid-column:1/-1;}
.mv-field > span:first-child{
  color:#d8d1c7;
  font:700 1.12rem/1.2 "Montserrat",sans-serif;
  letter-spacing:.015em;
}
.mv-field b,.mv-privacy b{color:var(--mv-gold-soft);font-weight:700;}
.mv-proposal-form input:not([type="checkbox"]),
.mv-proposal-form textarea,
.mv-proposal-form select{
  width:100%;
  min-height:54px;
  margin:0!important;
  padding:0 1.25rem!important;
  border:1px solid rgba(214,173,88,.16)!important;
  border-radius:12px!important;
  outline:none!important;
  background:#090b0c!important;
  color:#f2eee7!important;
  box-shadow:none!important;
  font:500 1.3rem/1.4 "Montserrat",sans-serif!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.mv-proposal-form textarea{
  min-height:155px!important;
  resize:vertical;
  padding-top:1.2rem!important;
  padding-bottom:1.2rem!important;
}
.mv-proposal-form input::placeholder,.mv-proposal-form textarea::placeholder{color:#77736c!important;opacity:1;}
.mv-proposal-form input:focus,.mv-proposal-form textarea:focus,.mv-proposal-form select:focus{
  border-color:rgba(232,190,95,.62)!important;
  box-shadow:0 0 0 3px rgba(214,173,88,.08)!important;
  background:#0c0f10!important;
}
.mv-select-wrap{position:relative;display:block;}
.mv-select-wrap::after{
  content:"";
  position:absolute;
  right:1.3rem;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-6px;
  border-right:1.5px solid var(--mv-gold-soft);
  border-bottom:1.5px solid var(--mv-gold-soft);
  transform:rotate(45deg);
  pointer-events:none;
}
.mv-proposal-form select{
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer;
  padding-right:3.5rem!important;
}
.mv-proposal-form option{background:#101314;color:#f2eee7;}
.mv-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:2rem;
  padding-top:2rem;
  border-top:1px solid rgba(214,173,88,.12);
}
.mv-privacy{display:flex;align-items:flex-start;gap:.9rem;max-width:760px;color:#aaa397;font-size:1.15rem;line-height:1.5;cursor:pointer;}
.mv-privacy input{width:18px;height:18px;min-width:18px;margin:.1rem 0 0;accent-color:#d5aa50;}
.mv-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.9rem;min-width:245px;}
.mv-submit i{font-size:1.15rem;}
.mv-submit.is-loading{opacity:.65;cursor:wait;}
.mv-submit:disabled{pointer-events:none;}
.mv-form-error{
  display:none;
  margin:0 0 1.5rem;
  padding:1rem 1.2rem;
  border:1px solid rgba(255,105,105,.32);
  border-radius:10px;
  background:rgba(120,20,20,.13);
  color:#ffb1b1;
  font-size:1.2rem;
}
.mv-form-error.is-visible{display:block;}
.mv-local-note{margin:1.5rem 0 0;color:#77736b;font-size:1.05rem;line-height:1.5;}
.mv-local-note i{color:var(--mv-gold-soft);margin-right:.45rem;}
.mv-local-note code{color:#bfa365;background:rgba(214,173,88,.06);padding:.15rem .35rem;border-radius:4px;}
.mv-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.mv-demo-reply{margin-bottom:1.8rem;}

/* Slightly reduce proposal hero only, so useful form content appears sooner. */
#contact .inner__title{font-size:clamp(4.4rem,4.8vw,6.8rem)!important;max-width:930px!important;}
#contact .mv-next-steps{margin-bottom:1.2rem!important;}

@media(max-width:900px){
  .mv-proposal-heading{flex-direction:column;}
  .mv-proposal-trust{max-width:none;width:100%;}
  .mv-form-grid{grid-template-columns:1fr;}
  .mv-field-full{grid-column:auto;}
  .mv-form-footer{flex-direction:column;align-items:stretch;}
  .mv-submit{width:100%;}
}


/* --------------------------------------------------
   MVisual polish v6 — aligned global header, hard-cut router, services redesign
   -------------------------------------------------- */

:root{--mv-header-h:96px;}

/* One real header for every view. The original Axio headers/menus stay hidden. */
.intro__header,#menu,.section-inner__controls{display:none!important;}
.mv-global-header{
  position:fixed;
  top:0;
  left:0;
  right:var(--mv-rail-width, clamp(260px,17vw,310px));
  height:var(--mv-header-h);
  z-index:9000;
  display:grid;
  grid-template-columns:180px minmax(280px,1fr) 190px;
  align-items:center;
  gap:2rem;
  padding:0 3.2rem;
  background:linear-gradient(180deg,rgba(7,8,9,.96),rgba(7,8,9,.73),rgba(7,8,9,0));
  pointer-events:none;
  transition:right .22s ease,background .22s ease;
}
body.mv-inner-open .mv-global-header{
  right:0;
  background:rgba(7,8,9,.92);
  border-bottom:1px solid rgba(214,173,88,.10);
  backdrop-filter:blur(14px);
}
.mv-global-header > *{pointer-events:auto;}
.mv-global-brand{display:flex;align-items:center;width:max-content;min-width:0;}
.mv-global-brand img{display:block;width:138px;max-height:76px;object-fit:contain;object-position:left center;}
.mv-global-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.45rem;
  border:1px solid rgba(214,173,88,.16);
  border-radius:999px;
  background:rgba(10,11,12,.72);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.mv-global-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 1.7rem;
  border-radius:999px;
  color:#eee8de;
  font:700 1.28rem/1 "Montserrat",sans-serif;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.mv-global-nav a:hover,.mv-global-nav a.is-active{
  color:#111;
  background:linear-gradient(135deg,#f1d081,#d4a447);
  box-shadow:0 8px 20px rgba(214,173,88,.12);
}
.mv-global-cta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 1.65rem;
  border:1px solid #ddb45c;
  border-radius:10px;
  color:#111!important;
  background:linear-gradient(135deg,#f2d58d,#c7973e);
  font:800 1.18rem/1 "Montserrat",sans-serif;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:0 10px 28px rgba(199,151,62,.16);
  transition:transform .18s ease,box-shadow .18s ease;
}
.mv-global-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(199,151,62,.24);}
.mv-mobile-nav-toggle,.mv-mobile-nav{display:none;}

/* Keep the home hero clear of the fixed bar without changing the approved composition. */
.section-main__intro .intro__headline{padding-top:34px!important;}

/* Soft view transition: a short black fade prevents any flash without calling attention to itself. */
body.mv-inner-open::after{display:none!important;content:none!important;}
.mv-transition-shield{
  position:fixed;
  inset:0;
  z-index:20000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:#090a0b;
  transition:opacity .18s cubic-bezier(.4,0,.2,1),visibility 0s linear .18s;
}
.mv-transition-shield::after{display:none!important;content:none!important;}
.mv-transition-shield.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity .18s cubic-bezier(.4,0,.2,1);
}

/* MVisual owns visibility now. No Axio translate/crossfade underneath. */
.section-inner{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  transition:none!important;
  z-index:1000!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#090a0b!important;
}
.section-inner.is-visible,.section-inner.is-entering,.section-inner.is-leaving{transform:none!important;-webkit-transform:none!important;}
.section-inner.mv-view-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.section-inner__content{min-height:100dvh!important;padding-top:var(--mv-header-h)!important;}
.section-inner__blocks{padding-top:3rem!important;}

/* Inner page typography becomes content-first instead of Coming-Soon oversized. */
#about .inner__title,#works .inner__title,#contact .inner__title{
  max-width:980px!important;
  font-size:clamp(4.2rem,4.3vw,6.3rem)!important;
  line-height:1.03!important;
}
#about .inner__text,#works .inner__text,#contact .inner__text{max-width:900px!important;}

/* New services page: dense 3x2 premium grid. */
.mv-services-wrap{margin-top:.2rem!important;}
.mv-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}
.mv-service-card{
  position:relative;
  min-height:330px;
  padding:2.35rem;
  overflow:hidden;
  border:1px solid rgba(214,173,88,.18);
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 4%,rgba(214,173,88,.09),transparent 28%),
    linear-gradient(145deg,#141719,#0d0f10);
  box-shadow:0 18px 50px rgba(0,0,0,.16);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.mv-service-card::after{
  content:"";
  position:absolute;
  inset:auto -20% -45% 38%;
  height:60%;
  background:radial-gradient(circle,rgba(214,173,88,.08),transparent 66%);
  pointer-events:none;
}
.mv-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(232,190,95,.5);
  box-shadow:0 24px 62px rgba(0,0,0,.25),0 0 0 1px rgba(214,173,88,.05);
}
.mv-service-card-primary{border-color:rgba(232,190,95,.48);background:radial-gradient(circle at 90% 0%,rgba(214,173,88,.16),transparent 34%),linear-gradient(145deg,#171817,#0d0f10);}
.mv-service-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;}
.mv-service-number{color:#d5a94b;font:800 1.08rem/1 "Montserrat",sans-serif;letter-spacing:.11em;}
.mv-service-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 .9rem;border:1px solid rgba(214,173,88,.16);border-radius:999px;color:#a9a195;background:rgba(0,0,0,.15);font:700 .92rem/1 "Montserrat",sans-serif;text-transform:uppercase;letter-spacing:.06em;}
.mv-service-card-primary .mv-service-pill{background:#d8ac51;color:#111;border-color:#d8ac51;}
.mv-service-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin-bottom:1.55rem;
  border:1px solid rgba(214,173,88,.25);
  border-radius:16px;
  color:#efc96f;
  background:rgba(214,173,88,.055);
  box-shadow:inset 0 0 24px rgba(214,173,88,.025);
  font-size:2.15rem;
}
.mv-service-card h3{position:relative;z-index:1;margin:0 0 .85rem;color:#f5f1e9;font:800 1.75rem/1.2 "Montserrat",sans-serif;}
.mv-service-card p{position:relative;z-index:1;margin:0 0 1.45rem;color:#aaa398;font-size:1.28rem;line-height:1.58;}
.mv-service-card ul{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;}
.mv-service-card li{padding:.5rem .72rem;border-radius:8px;background:rgba(255,255,255,.03);color:#c7c0b5;font-size:1.05rem;line-height:1.2;}

.mv-payment-band{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr) auto;
  align-items:center;
  gap:2rem;
  padding:2.2rem 2.4rem;
  border:1px solid rgba(214,173,88,.22);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(214,173,88,.10),rgba(255,255,255,.015));
}
.mv-payment-copy .mv-feature-kicker{margin-bottom:.6rem!important;}
.mv-payment-copy strong{display:block;color:#f4f0e8;font-size:1.75rem;line-height:1.2;margin-bottom:.45rem;}
.mv-payment-copy p{margin:0;color:#aaa398;font-size:1.16rem;line-height:1.5;}
.mv-payment-split{display:flex;align-items:center;justify-content:center;gap:1rem;}
.mv-payment-split > span{min-width:120px;padding:1rem 1.15rem;border:1px solid rgba(214,173,88,.18);border-radius:14px;background:#0d1011;text-align:center;}
.mv-payment-split b{display:block;color:#edc66b;font-size:2.2rem;line-height:1;}
.mv-payment-split small{display:block;margin-top:.45rem;color:#a59e93;font-size:.98rem;}
.mv-payment-split > i{color:#987a3e;font-size:1.15rem;}

/* Desktop: right rail is homepage-only. */
body.mv-inner-open .section-main__aside{visibility:hidden!important;}

@media(max-width:1199px){
  :root{--mv-header-h:82px;}
  .mv-global-header{right:0;grid-template-columns:140px 1fr 170px;padding:0 2rem;}
  .mv-global-brand img{width:116px;max-height:65px;}
  .mv-global-nav a{padding:0 1.25rem;font-size:1.12rem;}
  .mv-global-cta{min-height:42px;font-size:1.06rem;}
  .mv-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mv-payment-band{grid-template-columns:1fr;align-items:start;}
  .mv-payment-split{justify-content:flex-start;}
}
@media(max-width:767px){
  :root{--mv-header-h:72px;}
  .mv-global-header{grid-template-columns:96px 1fr 44px;gap:.75rem;padding:0 1rem;background:rgba(7,8,9,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(214,173,88,.10);}
  .mv-global-brand img{width:88px;max-height:54px;}
  .mv-global-nav,.mv-global-cta{display:none;}
  .mv-mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:42px;height:42px;border:1px solid rgba(214,173,88,.28);border-radius:10px;background:#0e1011;color:#efc96f;}
  .mv-mobile-nav{position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;display:flex;flex-direction:column;padding:.7rem;border:1px solid rgba(214,173,88,.16);border-radius:14px;background:#0d0f10;box-shadow:0 20px 48px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s ease;}
  .mv-global-header.mobile-open .mv-mobile-nav{opacity:1;visibility:visible;transform:translateY(0);}
  .mv-mobile-nav a{display:flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:9px;color:#eee8de;font:700 1.12rem/1 "Montserrat",sans-serif;text-decoration:none;}
  .mv-mobile-nav a:hover,.mv-mobile-nav a.is-active{background:rgba(214,173,88,.10);color:#efc96f;}
  .section-main__intro .intro__headline{padding-top:62px!important;}
  .mv-services-grid{grid-template-columns:1fr;}
  .mv-service-card{min-height:0;padding:1.8rem;}
  .mv-payment-split{width:100%;}
  .mv-payment-split > span{flex:1;min-width:0;}
  #about .inner__title,#works .inner__title,#contact .inner__title{font-size:clamp(3.5rem,11vw,4.8rem)!important;}
}
/* Layer order: loader > view transition > global header > active pages. */
.loader{z-index:30000!important;}

/* Final footer visibility polish. */
@media (min-width:768px) and (max-height:760px){
  .intro__copyright{bottom:5rem!important;}
}
@media (max-width:767px){
  .intro__copyright{bottom:auto!important;}
}

/* --------------------------------------------------
   MVisual polish v6.2 — intermediate viewport header/hero overlap fix
   -------------------------------------------------- */
@media (min-width:768px) and (max-width:1199px){
  :root{--mv-header-h:78px;}

  .mv-global-header{
    height:var(--mv-header-h)!important;
    grid-template-columns:118px minmax(300px,1fr) 154px!important;
    gap:1.2rem!important;
    padding:0 1.5rem!important;
    background:linear-gradient(180deg,rgba(7,8,9,.98),rgba(7,8,9,.86),rgba(7,8,9,.34))!important;
  }
  .mv-global-brand img{
    width:96px!important;
    max-height:58px!important;
  }
  .mv-global-nav{
    gap:.2rem!important;
    padding:.32rem!important;
  }
  .mv-global-nav a{
    min-height:38px!important;
    padding:0 1rem!important;
    font-size:1.02rem!important;
  }
  .mv-global-cta{
    min-height:40px!important;
    padding:0 1.15rem!important;
    font-size:1rem!important;
  }

  /* Header is fixed, so explicitly reserve its visual footprint on home. */
  .section-main__intro .intro__headline{
    padding-top:calc(var(--mv-header-h) + 6.5rem)!important;
  }
  .headline__title{
    font-size:clamp(5.8rem,8vw,8rem)!important;
    line-height:1.01!important;
    max-width:760px!important;
  }
  .headline__subtitle{
    font-size:1.65rem!important;
  }
  .headline__description{
    max-width:610px!important;
    font-size:1.45rem!important;
  }

  /* Keep footer away from OS/browser bars on shorter windows. */
  .intro__copyright{
    bottom:3.2rem!important;
  }
}

/* Very narrow desktop/tablet windows: switch to compact mobile-style nav before overlap can happen. */
@media (min-width:768px) and (max-width:900px){
  .mv-global-header{
    grid-template-columns:96px 1fr 44px!important;
    gap:.8rem!important;
    padding:0 1.15rem!important;
  }
  .mv-global-brand img{width:84px!important;max-height:52px!important;}
  .mv-global-nav,.mv-global-cta{display:none!important;}
  .mv-mobile-nav-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    justify-self:end;
    width:42px;
    height:42px;
    border:1px solid rgba(214,173,88,.28);
    border-radius:10px;
    background:#0e1011;
    color:#efc96f;
  }
  .mv-mobile-nav{
    position:absolute;
    top:calc(100% + .5rem);
    left:1rem;
    right:1rem;
    display:flex!important;
    flex-direction:column;
    padding:.7rem;
    border:1px solid rgba(214,173,88,.16);
    border-radius:14px;
    background:#0d0f10;
    box-shadow:0 20px 48px rgba(0,0,0,.38);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:.18s ease;
  }
  .mv-global-header.mobile-open .mv-mobile-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .mv-mobile-nav a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:0 1rem;
    border-radius:9px;
    color:#eee8de;
    font:700 1.12rem/1 "Montserrat",sans-serif;
    text-decoration:none;
  }
  .section-main__intro .intro__headline{
    padding-top:calc(var(--mv-header-h) + 5.2rem)!important;
  }
}

/* --------------------------------------------------
   MVisual polish v6.3 — mobile auto-hide header + subtle gold transition
   -------------------------------------------------- */

/* Bring back the gold transition accent, but as a very subtle light sweep. */
.mv-transition-shield span{
  position:absolute;
  top:11vh;
  bottom:11vh;
  left:50%;
  width:1px;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(180deg,
    transparent 0%,
    rgba(241,207,131,.08) 14%,
    rgba(241,207,131,.42) 50%,
    rgba(241,207,131,.08) 86%,
    transparent 100%);
  box-shadow:0 0 9px rgba(214,173,88,.13);
  transform:translate3d(-14vw,0,0) scaleY(.42);
  transform-origin:center;
}
.mv-transition-shield.is-active span{
  animation:mvSoftGoldSweep .38s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes mvSoftGoldSweep{
  0%{opacity:0;transform:translate3d(-14vw,0,0) scaleY(.32);}
  26%{opacity:.32;}
  72%{opacity:.24;}
  100%{opacity:0;transform:translate3d(14vw,0,0) scaleY(.32);}
}
@media (prefers-reduced-motion:reduce){
  .mv-transition-shield span{display:none!important;}
}

@media(max-width:767px){
  /* The mobile header can get out of the way while reading, but stays available on upward scroll. */
  .mv-global-header{
    transition:transform .22s cubic-bezier(.4,0,.2,1),background .18s ease,border-color .18s ease!important;
    will-change:transform;
  }
  .mv-global-header.mv-header-hidden{
    transform:translate3d(0,calc(-100% - 2px),0);
  }
  .mv-global-header.mobile-open{
    transform:translate3d(0,0,0)!important;
  }

  /* Reserve the header footprint on first load so the animated headline never sits underneath it. */
  .section-main__intro .intro__headline{
    padding:calc(var(--mv-header-h) + 4.8rem) 2.4rem 7.2rem!important;
  }
  .headline__title{
    max-width:100%!important;
    overflow:visible!important;
  }
}

/* MVisual v6.3.2 — animated headline cursor spacing fix */
.headline__title.clip .words-wrapper{
  padding-right:30px!important;
  box-sizing:content-box!important;
}
.headline__title.clip .words-wrapper::after{
  right:8px!important;
  width:5px!important;
}
@media(max-width:767px){
  .headline__title.clip .words-wrapper{padding-right:24px!important;}
  .headline__title.clip .words-wrapper::after{right:6px!important;width:4px!important;}
}

/* MVisual v6.3.4 — full animated headline width fix
   The previous patch only moved the cursor. The real issue was the
   900px desktop title cap + shrink-to-fit measurement on absolutely
   positioned words, which clipped longer phrases such as
   “Negócios mais fortes”. */
@media (min-width:1200px){
  .section-main__intro .intro__headline{
    max-width:calc(100vw - 96px)!important;
  }
  .headline__title{
    max-width:calc(100vw - 96px)!important;
    overflow:visible!important;
  }
  .headline__title.clip .words-wrapper b{
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
  }
}
@media (min-width:768px) and (max-width:1199px){
  .headline__title.clip .words-wrapper b{
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
  }
}

/* MVisual v6.4 — homepage vertical spacing polish */
@media (min-width:1200px){
  .section-main__intro .headline__title{
    min-height:1.12em!important;
    margin-bottom:0!important;
  }
  .section-main__intro .headline__description{
    margin-top:3.2rem!important;
  }
  .section-main__intro .intro__copyright{
    bottom:2.4rem!important;
  }
}
@media (min-width:768px) and (max-width:1199px){
  .section-main__intro .headline__description{margin-top:2.8rem!important;}
  .section-main__intro .intro__copyright{bottom:2.4rem!important;}
}


/* --------------------------------------------------
   MVisual v6.5.1 — mobile animated headline readability fix
   Long rotating phrases may wrap on phones instead of being clipped off-screen.
   Desktop/tablet keep the original horizontal clip animation.
   -------------------------------------------------- */
@media (max-width:767px){
  .section-main__intro .intro__headline{
    padding-left:2.2rem!important;
    padding-right:2.2rem!important;
  }
  .section-main__intro .headline__title{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(3.8rem,11.2vw,4.6rem)!important;
    line-height:1.04!important;
    letter-spacing:-.04rem!important;
    overflow:visible!important;
    margin-bottom:1.2rem!important;
  }
  .headline__title.clip .words-wrapper{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:2.12em!important;
    padding-right:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .headline__title.clip .words-wrapper::after{
    display:none!important;
  }
  .headline__title.clip .words-wrapper b{
    position:absolute!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    opacity:0!important;
    transition:opacity .28s ease!important;
  }
  .headline__title.clip .words-wrapper b.is-visible{
    position:absolute!important;
    opacity:1!important;
  }
  .section-main__intro .headline__description{
    margin-top:.6rem!important;
  }
}

@media (max-width:380px){
  .section-main__intro .headline__title{
    font-size:clamp(3.45rem,10.8vw,4.05rem)!important;
  }
}

/* --------------------------------------------------
   MVisual v6.5.2 — desktop hero headline spacing
   Keep the supporting paragraph in place, while lifting the brand kicker
   and animated headline slightly higher for clearer visual separation.
   Mobile keeps the v6.5.1 readability layout unchanged.
   -------------------------------------------------- */
@media (min-width:1200px){
  .section-main__intro .headline__subtitle,
  .section-main__intro .headline__title{
    position:relative!important;
    top:-2.4rem!important;
  }
}

/* --------------------------------------------------
   MVisual v6.5.4 — animated headline mask fix
   The Axio reveal effect needs horizontal clipping while the wrapper width
   animates, but `overflow:hidden` was also cutting the glyphs vertically.
   Keep the same left/right reveal using a clip-path and allow extra vertical
   room so accents, ascenders and descenders remain fully visible.
   -------------------------------------------------- */
@media (min-width:768px){
  .section-main__intro .headline__title{
    overflow:visible!important;
  }
  .headline__title.clip .words-wrapper{
    overflow:visible!important;
    -webkit-clip-path:inset(-.34em 0 -.38em 0)!important;
    clip-path:inset(-.34em 0 -.38em 0)!important;
    background:transparent!important;
  }
  .headline__title.clip .words-wrapper b{
    overflow:visible!important;
    background:transparent!important;
  }
}



/* --------------------------------------------------
   MVisual v6.5.5 — refined brand + stronger hero hook
   Preserve the approved MV identity, improve header legibility and
   turn the repeated brand kicker into a clear positioning line.
   -------------------------------------------------- */
.headline__description strong{
  display:block;
  margin-bottom:.65rem;
  color:#f6f2e9!important;
  font-weight:700!important;
  line-height:1.35;
}
.headline__description span{
  display:block;
  color:#d8d2c9!important;
}
@media (min-width:1200px){
  .mv-global-brand img{
    width:112px!important;
    height:86px!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}
@media (min-width:901px) and (max-width:1199px){
  .mv-global-brand img{
    width:94px!important;
    height:70px!important;
    max-height:none!important;
    object-fit:contain!important;
  }
}
@media (min-width:768px) and (max-width:900px){
  .mv-global-brand img{
    width:76px!important;
    height:60px!important;
    max-height:none!important;
    object-fit:contain!important;
  }
}
@media (max-width:767px){
  .mv-global-brand img{
    width:68px!important;
    height:60px!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .section-main__intro .headline__subtitle{
    letter-spacing:.16em!important;
    line-height:1.35!important;
  }
  .headline__description strong{margin-bottom:.45rem;}
}


/* v6.5.6 — Phosphor icon refresh.
   Phosphor is the primary visual layer; Font Awesome classes remain in markup as an offline/CDN fallback. */
.mv-service-icon .ph-duotone{
  font-size:2.28rem;
  line-height:1;
  filter:drop-shadow(0 5px 14px rgba(214,173,88,.14));
}
.mv-card > .ph-duotone{
  font-size:1.95rem!important;
  line-height:1;
  filter:drop-shadow(0 4px 12px rgba(214,173,88,.12));
}
.mv-next-step .ph-duotone,
.mv-proposal-trust .ph-duotone{
  line-height:1;
  filter:drop-shadow(0 4px 12px rgba(214,173,88,.10));
}
.mv-list .ph,
.mv-submit .ph,
.menu-trigger .ph,
.menu-close .ph,
.section-inner__controls .ph,
.mv-mobile-nav-toggle .ph,
.socials .ph{
  line-height:1;
}
.socials .ph{font-size:1.45rem;}


/* v6.6.1 — MV monogram sizing */
.loader__logo img{width:126px!important;max-width:34vw!important;max-height:126px!important;object-fit:contain!important}
.intro__header .logo img{width:104px!important;height:86px!important;max-height:86px!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:900px){.intro__header .logo img{width:88px!important;height:74px!important;max-height:74px!important}}
@media(max-width:600px){.loader__logo img{width:96px!important}.intro__header .logo img{width:76px!important;height:64px!important;max-height:64px!important}}
