/* ============================================================
   TAIKEN CMS V55 — QA final de lançamento 10/10
   Camada final: menu mobile, overflow, acessibilidade e conversão.
   ============================================================ */
:root{
  --taiken-nav-height:76px;
  --taiken-container:1180px;
  --taiken-gutter:clamp(18px,4.5vw,48px);
  --taiken-card-radius:28px;
}
html.has-js{scroll-behavior:smooth}
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
*,*::before,*::after{box-sizing:border-box}
.public-site{min-width:0;background:#fff}
.public-site main,
.public-site section,
.public-site header,
.public-site footer,
.public-site .nav{max-width:100vw}
.public-site img,
.public-site svg,
.public-site video,
.public-site canvas{max-width:100%;height:auto}
.public-site iframe{max-width:100%;border:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:20000;transform:translateY(-160%);background:#fff;color:#071923;border:2px solid rgba(3,122,105,.55);border-radius:999px;padding:10px 16px;font-weight:900;text-decoration:none;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.skip-link:focus{transform:translateY(0)}
.public-site h1,
.public-site h2,
.public-site h3{overflow-wrap:anywhere;text-wrap:balance}
.public-site p,
.public-site li{overflow-wrap:break-word}
.public-site input,
.public-site select,
.public-site textarea,
.public-site button{font:inherit;max-width:100%}
.public-site input,
.public-site select,
.public-site textarea{font-size:max(16px,1rem)}
.public-site [class*="grid"],
.public-site [class*="layout"],
.public-site [class*="wrap"],
.public-site [class*="inner"]{min-width:0}
.public-site [class*="card"],
.public-site [class*="item"],
.public-site [class*="box"]{min-width:0}
.nav{isolation:isolate}
.nav-logo{display:flex;align-items:center;min-width:0;flex:0 1 auto}
.nav-logo img{display:block;object-fit:contain;max-width:min(180px,42vw);height:auto}
.nav-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nav-toggle span{transform-origin:center}
body.menu-open-v55{overflow:hidden!important;touch-action:none!important}
body.menu-open-v55 .nav{z-index:15000!important}
body.menu-open-v55::after{content:"";position:fixed;inset:0;z-index:14990;background:rgba(0,0,0,.28);backdrop-filter:blur(5px);pointer-events:none}
.nav-links a{word-break:normal;overflow-wrap:anywhere}
.nav-links a.nav-cta{white-space:nowrap}
.public-site .btn,
.public-site [class*="btn"],
.public-site .nav-links a.nav-cta{min-height:46px}
.public-site .btn,
.public-site [class*="btn"]{max-width:100%}
.public-site .package48-mobile-cta,
.public-site .dest50-mobile-cta,
.public-site .article-mobile-cta-v52,
.public-site .contact51-mobile-whats{z-index:9000}

/* Containers críticos — evita estouro lateral em páginas públicas */
.home-hero44-grid,
.home-stats44-grid,
.home-section-inner44,
.packages-v47-hero-inner,
.packages-v47-wrap,
.dest49-hero-inner,
.dest49-wrap,
.package48-hero-inner,
.package48-wrap,
.dest50-hero-inner,
.dest50-wrap,
.blog-mag-hero__inner,
.blog-mag-wrap,
.article-v52-wrap,
.contact51-wrap,
.contact51-hero-inner{width:min(var(--taiken-container),calc(100vw - (var(--taiken-gutter) * 2)));margin-left:auto;margin-right:auto;min-width:0}

@media (min-width:769px){
  .nav-links{min-width:0}
  .nav-links a{white-space:nowrap}
}

@media (max-width:1024px){
  .nav-links a.nav-cta{white-space:normal}
  .public-site .hero-content h1,
  .home-hero44 h1,
  .packages-v47-hero h1,
  .package48-hero h1,
  .dest49-hero h1,
  .dest50-hero h1,
  .blog-mag-hero h1,
  .article-v52-hero h1,
  .contact51-hero h1{max-width:100%}
}

@media (max-width:768px){
  :root{--taiken-gutter:18px;--taiken-nav-height:76px}
  body.menu-open-v55{position:fixed!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;max-width:100%!important;height:100vh!important;overflow:hidden!important}
  .nav{height:var(--taiken-nav-height)!important;min-height:var(--taiken-nav-height)!important;padding:0 16px!important;gap:12px!important;overflow:visible!important;background:rgba(7,25,35,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .nav-logo{max-width:calc(100vw - 90px)!important}
  .nav-logo img{max-width:min(148px,calc(100vw - 104px))!important;max-height:38px!important;width:auto!important;height:auto!important}
  .nav-toggle{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;position:relative!important;z-index:15020!important;margin-left:auto!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06)!important;border-radius:999px!important}
  .nav-toggle[aria-expanded="true"]{background:rgba(255,255,255,.12)!important}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  body.public-site .nav-links,
  .nav-links{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;height:100svh!important;min-height:100vh!important;min-height:100svh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;margin:0!important;padding:calc(var(--taiken-nav-height) + max(16px,env(safe-area-inset-top,0px))) 20px calc(26px + env(safe-area-inset-bottom,0px))!important;z-index:15010!important;list-style:none!important;background:radial-gradient(circle at 20% 0%,rgba(3,122,105,.24),transparent 34%),linear-gradient(180deg,rgba(7,25,35,.995),rgba(4,13,22,.995))!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:translateX(104%)!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  body.menu-open-v55 .nav-links,
  body.public-site .nav-links.open,
  .nav-links.open{transform:translateX(0)!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important}
  .nav-links li{display:block!important;width:100%!important;margin:0!important;flex:0 0 auto!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .nav-links li:last-child{border-bottom:0!important}
  .nav-links a{display:flex!important;width:100%!important;min-height:54px!important;align-items:center!important;justify-content:flex-start!important;padding:15px 2px!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.92)!important;font-size:14px!important;line-height:1.2!important;letter-spacing:.12em!important;text-align:left!important;white-space:normal!important;box-shadow:none!important}
  .nav-links a.active{color:#fff!important;background:transparent!important}
  .nav-links a::after{display:none!important}
  .nav-links a.nav-cta{justify-content:center!important;margin-top:18px!important;min-height:52px!important;padding:15px 18px!important;border-radius:999px!important;background:linear-gradient(135deg,#025b4f,#03816f)!important;color:#fff!important;box-shadow:0 18px 42px rgba(2,91,79,.38)!important;border:1px solid rgba(255,255,255,.18)!important;text-align:center!important;white-space:normal!important}

  .public-site .home-actions44,
  .public-site .packages-v47-actions,
  .public-site .dest49-hero-actions,
  .public-site .package48-hero-actions,
  .public-site .dest50-hero-actions,
  .public-site .blog-mag-hero__actions,
  .public-site .contact51-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}
  .public-site .home-actions44 a,
  .public-site .packages-v47-actions a,
  .public-site .dest49-hero-actions a,
  .public-site .package48-hero-actions a,
  .public-site .dest50-hero-actions a,
  .public-site .blog-mag-hero__actions a,
  .public-site .contact51-hero-actions a{width:100%;justify-content:center;text-align:center}

  .home-hero44,
  .packages-v47-hero,
  .dest49-hero,
  .package48-hero,
  .dest50-hero,
  .blog-mag-hero,
  .article-v52-hero,
  .contact51-hero{padding-left:var(--taiken-gutter)!important;padding-right:var(--taiken-gutter)!important;overflow:hidden!important}
  .home-hero44 h1,
  .packages-v47-hero h1,
  .dest49-hero h1,
  .package48-hero h1,
  .dest50-hero h1,
  .blog-mag-hero h1,
  .article-v52-hero h1,
  .contact51-hero h1{font-size:clamp(2.65rem,13.4vw,4.9rem)!important;line-height:.9!important;letter-spacing:.015em!important;word-break:normal!important;overflow-wrap:break-word!important}
  .home-hero44 p,
  .packages-v47-hero p,
  .dest49-hero p,
  .package48-hero p,
  .dest50-hero p,
  .blog-mag-hero p,
  .article-v52-hero p,
  .contact51-hero p{font-size:1rem!important;max-width:100%!important}
  .footer{overflow:hidden}
}

@media (max-width:420px){
  :root{--taiken-gutter:16px}
  .nav{padding-left:12px!important;padding-right:12px!important}
  .nav-logo img{max-width:132px!important}
  .nav-links{padding-left:18px!important;padding-right:18px!important}
  .public-site .eyebrow,
  .public-site [class*="kicker"]{letter-spacing:.15em!important}
  .home-hero44 h1,
  .packages-v47-hero h1,
  .dest49-hero h1,
  .package48-hero h1,
  .dest50-hero h1,
  .blog-mag-hero h1,
  .article-v52-hero h1,
  .contact51-hero h1{font-size:clamp(2.35rem,12.5vw,4.2rem)!important}
}

@media (max-width:360px){
  .nav-logo img{max-width:120px!important}
  .nav-toggle{flex-basis:44px!important;width:44px!important;height:44px!important}
  .nav-links a{font-size:13px!important;letter-spacing:.09em!important}
}
.content-anchor{position:relative;top:calc(-1 * var(--taiken-nav-height));width:1px;height:1px;overflow:hidden}
.content-anchor:focus{outline:0}
