/* Travel Next Minas — estilo compartilhado das páginas internas
   Tokens e componentes espelham a home (index.html). */
:root{
  --navy:#0C377F;
  --navy-deep:#0E2154;
  --teal:#2C93C2;
  --teal-bright:#53B7D9;
  --teal-deep:#1C5FA0;
  --ink:#0E2154;
  --ink-soft:#3E5C82;
  --mist:#EDF3F9;
  --mist-2:#F5F9FC;
  --paper:#FFFFFF;
  --line:rgba(14,33,84,.10);
  --line-dark:rgba(83,183,217,.22);
  --shadow:0 24px 60px -24px rgba(14,33,84,.28);
  --gut:clamp(22px,6vw,120px);
  --hdr:88px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --content:1240px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--paper);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:calc(var(--content) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:focus-visible{outline:2px solid var(--teal-bright);outline-offset:3px}

/* ---------- Menu ---------- */
#progress{position:fixed;left:0;top:0;height:2px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--teal),var(--teal-bright))}
header{position:fixed;top:0;left:0;right:0;z-index:110;
  transition:transform .45s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}
header.scrolled{background:rgba(14,33,84,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 40px -20px rgba(0,0,0,.6)}
header.hide{transform:translateY(-100%)}
.nav{display:flex;align-items:center;justify-content:center;min-height:var(--hdr);
  max-width:calc(var(--content) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-links a{color:rgba(255,255,255,.82);font-size:1rem;font-weight:500;letter-spacing:.2px;position:relative;transition:.2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;
  background:var(--teal-bright);transition:width .3s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:0}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
@media(max-width:900px){
  .nav{justify-content:flex-end}
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(78%,320px);background:rgba(14,33,84,.97);
    backdrop-filter:blur(16px);flex-direction:column;justify-content:center;gap:26px;
    transform:translateX(100%);transition:.4s ease;z-index:115}
  .nav-links.open{transform:none}
  .nav-links a{font-size:1.15rem}
  .burger{display:flex;z-index:116}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ---------- Tipografia e blocos ---------- */
.pad{padding:clamp(88px,9vw,140px) 0}
.dark{background:var(--navy-deep);color:#fff}
.light{background:var(--paper)}
.mist{background:linear-gradient(180deg,#E9F1F8,#E1ECF6)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.76rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;margin-bottom:20px;color:var(--teal-deep)}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.dark .eyebrow{color:var(--teal-bright)}
h1,h2,h3{font-weight:800;line-height:1.08;letter-spacing:-.5px}
h2.title{font-size:clamp(2rem,4.6vw,3.3rem)}
.dark h2.title{color:#fff}
.title span{color:var(--teal)}
.dark .title span{color:var(--teal-bright)}
.lead{font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.75;color:var(--ink-soft);max-width:46em}
.dark .lead{color:rgba(255,255,255,.78)}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:3px;border:0;cursor:pointer;
  font-weight:700;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;transition:.3s var(--ease)}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover svg{transform:translateX(4px)}
.btn-light{background:#fff;color:var(--navy)}
.btn-solid{background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;
  box-shadow:0 16px 36px -14px rgba(44,147,194,.7)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* ---------- Topo das páginas internas ---------- */
.phero{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;
  min-height:min(88vh,820px);display:flex;align-items:flex-end}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32;
  transform:scale(1.06);transition:transform 8s linear}
.phero.on .phero-bg{transform:scale(1)}
.phero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,33,84,.55) 0%,rgba(14,33,84,.35) 40%,var(--navy-deep) 100%),
             radial-gradient(70% 60% at 85% 10%,rgba(83,183,217,.25),transparent 60%)}
.phero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.phero .wrap{position:relative;z-index:3;width:100%;padding-top:calc(var(--hdr) + 80px);padding-bottom:clamp(64px,8vw,110px)}
.phero-logo{height:44px;width:auto;margin-bottom:38px;opacity:.95}
.phero h1{font-size:clamp(2.6rem,7vw,5.4rem);max-width:14ch}
.phero h1 span{color:var(--teal-bright)}
.phero .lead{margin-top:26px;color:rgba(255,255,255,.8)}
.phero .lead b{color:#fff}
.phero .eyebrow{color:var(--teal-bright)}

/* ---------- Faixa de logos e rodapé ---------- */
.apoios{background:var(--paper);padding:56px 0 60px;border-top:1px solid var(--line)}
.apoios .wrap{display:flex;justify-content:center;align-items:flex-start;gap:56px 88px;flex-wrap:wrap}
.ap-group h5{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-soft);text-align:center;margin-bottom:20px}
.ap-logos{display:flex;align-items:center;justify-content:center;gap:28px 44px;flex-wrap:wrap}
.ap-logos img{height:88px;width:auto;max-width:180px;object-fit:contain}
footer{background:var(--navy-deep);color:rgba(255,255,255,.6);padding:40px 0;text-align:center;font-size:.82rem}
footer img{height:26px;width:auto;margin:0 auto 16px;opacity:.9}
@media(max-width:600px){
  .apoios{padding:44px 0 48px}
  .ap-logos img{height:68px;max-width:140px}
}

/* ---------- Galeria em tela cheia ---------- */
.lbx{position:fixed;inset:0;z-index:200;background:rgba(8,18,46,.96);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:.3s var(--ease)}
.lbx.open{opacity:1;visibility:visible}
.lbx figure{max-width:min(92vw,1500px);max-height:84vh;display:flex;flex-direction:column;align-items:center}
.lbx img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.lbx figcaption{color:rgba(255,255,255,.7);font-size:.85rem;margin-top:16px;letter-spacing:.04em}
.lbx button{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;
  width:52px;height:52px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.2s}
.lbx button:hover{background:rgba(255,255,255,.18)}
.lbx button svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2}
.lbx .lb-close{top:22px;right:22px}
.lbx .lb-prev{left:22px;top:50%;transform:translateY(-50%)}
.lbx .lb-next{right:22px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){.lbx .lb-prev,.lbx .lb-next{top:auto;bottom:22px;transform:none}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .phero-bg{transition:none}
}
