@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap');

/* === BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;scrollbar-color:var(--red) #fff;scrollbar-width:thin}
body{font-family:'Geist',sans-serif!important;font-weight:300;background:#fff;color:#111;overflow-x:hidden}
::selection{background:rgba(215,26,33,.92);color:#fff}
::-moz-selection{background:rgba(215,26,33,.92);color:#fff}
::-webkit-scrollbar{width:14px}
::-webkit-scrollbar-track{background:#fff}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff4048 0%,#d71a21 100%);border:3px solid #fff;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff5960 0%,#c3131a 100%)}
a{text-decoration:none;color:inherit;font-family:'Geist',sans-serif}
.text-link{
  position:relative;
  display:inline;
  color:var(--red);
  font-weight:850;
  text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(90deg,var(--red),#010169);
  background-size:100% 1.5px,0 2px;
  background-position:0 100%,0 100%;
  background-repeat:no-repeat;
  transition:color .22s ease,background-size .28s cubic-bezier(.22,1,.36,1),text-shadow .22s ease;
}

/* =========================================================
   PÁGINA INTERCÂMBIO SYDNEY
   ========================================================= */
.page-intercambio-sydney,
.page-intercambio-aukland,
.page-intercambio-melbourne,
.page-intercambio-brisbane,
.page-intercambio-perth,
.page-intercambio-goldcoast,
.page-intercambio-adelaide,
.page-intercambio-sunshine,
.page-intercambio-cairns,
.page-intercambio-byron,
.page-intercambio-camberra,
.page-intercambio-hobart,
.page-intercambio-toowoomba,
.page-intercambio-christchurch,
.page-intercambio-dunedin,
.page-intercambio-queenstown,
.page-intercambio-tauranga,
.page-intercambio-wellington {
  background: #fff;
}

.hero--sydney {
  height: 82vh;
  min-height: 760px;
  justify-content: center;
}

.hero--sydney .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/universidade-sydney-australia-1.webp');
  background-position: center 42%;
  background-size: cover;
  opacity: 1;
}

.hero--sydney .hero-overlay {
  background:
    linear-gradient(180deg, rgba(57, 0, 5, .58) 0%, rgba(129, 0, 6, .74) 48%, rgba(215, 26, 33, .98) 100%),
    radial-gradient(circle at 50% 16%, rgba(255, 255, 255, .12), transparent 38%);
}

.hero--sydney .hero-body {
  max-width: 1140px;
  padding: 132px 24px 96px;
}

.hero--sydney .hero-body h1 {
  max-width: 900px;
  font-size: clamp(40px, 3.6vw, 76px);
  line-height: 1.1;
  margin-bottom: 24px;
}

.hero--sydney .hero-sub {
  max-width: 1040px;
  margin-bottom: 30px;
}

.hero--sydney .hero-sub p {
  color: rgba(255,255,255,.9);
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.45;
  margin: 0 auto 10px;
}

.hero--sydney .hero-sub a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.page-intercambio-sydney main,
.page-intercambio-aukland main,
.page-intercambio-melbourne main,
.page-intercambio-brisbane main,
.page-intercambio-perth main,
.page-intercambio-goldcoast main,
.page-intercambio-adelaide main,
.page-intercambio-sunshine main,
.page-intercambio-cairns main,
.page-intercambio-byron main,
.page-intercambio-camberra main,
.page-intercambio-hobart main,
.page-intercambio-toowoomba main,
.page-intercambio-christchurch main,
.page-intercambio-dunedin main,
.page-intercambio-queenstown main,
.page-intercambio-tauranga main,
.page-intercambio-wellington main {
  position: relative;
  z-index: 2;
}

.sydney-section {
  background: #fff;
  padding: 88px 0;
}

.sydney-highlights {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  padding-top: 92px;
}

.page-intercambio-sydney .sec-head h2,
.page-intercambio-aukland .sec-head h2,
.page-intercambio-melbourne .sec-head h2,
.page-intercambio-brisbane .sec-head h2,
.page-intercambio-perth .sec-head h2,
.page-intercambio-goldcoast .sec-head h2,
.page-intercambio-adelaide .sec-head h2,
.page-intercambio-sunshine .sec-head h2,
.page-intercambio-cairns .sec-head h2,
.page-intercambio-byron .sec-head h2,
.page-intercambio-camberra .sec-head h2,
.page-intercambio-hobart .sec-head h2,
.page-intercambio-toowoomba .sec-head h2,
.page-intercambio-christchurch .sec-head h2,
.page-intercambio-dunedin .sec-head h2,
.page-intercambio-queenstown .sec-head h2,
.page-intercambio-tauranga .sec-head h2,
.page-intercambio-wellington .sec-head h2 {
  max-width: 980px;
  line-height: .96;
}

.sydney-highlights .sec-head {
  margin-bottom: 46px;
}

.sydney-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
}

.sydney-fact-card {
  min-height: 190px;
  border: 1.5px solid rgba(15, 17, 21, .25);
  border-radius: 18px;
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: rgba(255,255,255,.82);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}

.sydney-fact-card:hover {
  transform: translateY(-6px);
  border-color: rgba(215,26,33,.32);
  box-shadow: 0 22px 44px rgba(18,18,24,.1);
}

.sydney-fact-icon {
  width: 54px;
  height: 54px;
  color: var(--red);
  margin-bottom: 22px;
}

.sydney-fact-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sydney-fact-card p {
  margin: 0;
  color: #111;
  font-size: 15px;
  line-height: 1.18;
  font-weight: 800;
}

.sydney-copy-wrap {
  max-width: 1120px;
}

.sydney-copy-section {
  padding-top: 72px;
}

.sydney-copy {
  max-width: 1060px;
  margin: 0 auto;
}

.sydney-copy p {
  color: #666;
  font-size: clamp(16px, 1.55vw, 23px);
  line-height: 1.42;
  margin: 0 0 34px;
}

.sydney-copy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.sydney-copy h3 {
  color: var(--red);
  font-size: clamp(36px, 4vw, 72px);
  line-height: .96;
  text-align: center;
  text-transform: uppercase;
  margin: 80px auto 16px;
  font-weight: 800;
}

/* Só o primeiro título logo após o h2 da seção fica sem respiro extra no topo */
.sec-head + .sydney-copy h3:first-child {
  margin-top: 0;
}

.sydney-info-section .sydney-copy h3 {
  font-size: 36px;
  font-weight: 600;
}

.sydney-form-section {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: 18px;
  padding-top: 112px !important;
  padding-bottom: 150px !important;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-grid {
  max-width: 980px;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-text {
  max-width: 760px;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-text h2 {
  line-height: 1.02;
  margin-bottom: 24px;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-text p {
  max-width: 780px;
  font-size: clamp(16px, 1.4vw, 22px);
  line-height: 1.34;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-shell {
  background: rgba(255,255,255,.42);
  border: 1.5px solid rgba(255,255,255,.95);
  box-shadow: 0 26px 58px rgba(18,18,24,.08);
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-shell:hover {
  border-color: rgba(255,255,255,1);
  box-shadow: 0 30px 64px rgba(18,18,24,.12);
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-field label {
  color: #242427;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-field input,
:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-field select {
  background: #fff;
  border-color: rgba(18,18,24,.16);
  color: #222;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-field input::placeholder {
  color: #aaa;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-shell .btn-red {
  width: 100%;
  background: var(--red);
  color: #fff;
  border-color: var(--red);
  box-shadow: 0 16px 36px rgba(215,26,33,.24);
}

.sydney-wide-photo {
  position: relative;
  z-index: 4;
  min-height: 470px;
  margin-top: -74px;
  overflow: hidden;
  border-radius: var(--radius) var(--radius) 0 0;
  background: #111;
}

.sydney-wide-photo__media {
  position: absolute;
  inset: -80px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imigracao-para-australia-1-1.webp') center 52%/cover no-repeat;
  transform: translate3d(var(--drive-x,0px), calc(var(--drive-pan-y,0px) + var(--drive-scroll-y,0px)), 0);
  transition: transform .5s cubic-bezier(.22,.68,0,1);
  will-change: transform;
}

.sydney-info-section {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: -70px;
  position: relative;
  z-index: 5;
  padding-top: 112px;
}

.sydney-inline-photo,
.sydney-inline-photo.parapara {
  background: transparent;
  padding: 74px 0 86px;
  position: relative;
  z-index: 19;
  margin-top: -185px;
  margin-bottom: -260px;
}

.sydney-inline-photo__frame {
  position: relative;
  width: min(100%, 1120px);
  aspect-ratio: 16 / 7.2;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 22px 52px rgba(0,0,0,.12);
}

.sydney-inline-photo__media {
  position: absolute;
  inset: -64px;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/suporte-no-intercambio-em-sydney-1.webp') center 50%/cover no-repeat;
  transform: translate3d(var(--drive-x,0px), calc(var(--drive-pan-y,0px) + var(--drive-scroll-y,0px)), 0);
  transition: transform .5s cubic-bezier(.22,.68,0,1);
  will-change: transform;
}

.sydney-form-section--bottom {
  margin-top: 0;
}

/* Por que a AC — mesmo fundo listrado cinza usado no componente do formulário */
#porque-ac-sydney,
#porque-ac-aukland,
#porque-ac-melbourne,
#porque-ac-brisbane,
#porque-ac-perth,
#porque-ac-goldcoast,
#porque-ac-adelaide,
#porque-ac-sunshine,
#porque-ac-cairns,
#porque-ac-byron,
#porque-ac-camberra,
#porque-ac-hobart,
#porque-ac-toowoomba,
#porque-ac-christchurch {
  background: var(--gray) url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center/cover no-repeat;
  /* respiro extra no topo para a foto inline que invade a seção */
  padding-top: 240px !important;
}

.sydney-cidades {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: -74px;
  position: relative;
  z-index: 8;
  padding-top: 96px !important;
  padding-bottom: 90px !important;
}

/* Seletor composto para vencer .sec-cidades-au .sec-head (grid/esquerda) definido mais abaixo */
.sec-cidades-au.sydney-cidades .sec-head {
  display: block;
  text-align: center;
  margin-bottom: 46px;
}

.sec-cidades-au.sydney-cidades .sec-head h2 {
  color: #fff;
  -webkit-text-fill-color: #fff;
  text-align: center;
  margin: 0 auto;
  max-width: 900px;
}

.sydney-cidades .section-cta {
  margin-top: 34px;
}

.sydney-cidades .section-cta .btn-white {
  color: var(--red);
  background: #fff;
  border-color: #fff;
  min-width: min(100%, 340px);
  justify-content: center;
  text-align: center;
}

:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) #depoimentos {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  position: relative;
  z-index: 9;
}

@media (max-width: 980px) {
  .sydney-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hero--sydney {
    height: auto;
    min-height: 680px;
  }

  .hero--sydney .hero-body {
    padding: 118px 18px 78px;
  }

  .hero--sydney .hero-body h1 {
    font-size: clamp(38px, 13vw, 58px);
  }

  .hero--sydney .hero-sub p {
    font-size: 14px;
    line-height: 1.5;
  }

  .sydney-highlights,
  .sydney-form-section,
  .sydney-info-section,
  .sydney-cidades,
  :is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) #depoimentos {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
  }

  .sydney-section {
    padding: 68px 0;
  }

  .sydney-highlights {
    margin-top: calc(var(--radius-mobile) * -1);
    padding-top: 72px;
  }

  .sydney-facts-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .sydney-fact-card {
    min-height: 150px;
    padding: 24px 18px;
  }

  .sydney-copy p {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 22px;
  }

  .sydney-copy h3 {
    font-size: clamp(30px, 10vw, 46px);
    margin: 56px auto 14px;
  }

  .sydney-info-section .sydney-copy h3 {
    font-size: 36px;
    font-weight: 600;
  }

  .sydney-form-section {
    padding-top: 86px !important;
    padding-bottom: 110px !important;
  }

  :is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-text h2 {
    font-size: clamp(30px, 10vw, 46px);
  }

  :is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .form-text p {
    font-size: 14px;
  }

  .sydney-wide-photo {
    min-height: 320px;
    margin-top: -54px;
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
  }

  .sydney-info-section {
    margin-top: -48px;
    padding-top: 82px;
  }

  .sydney-inline-photo,
  .sydney-inline-photo.parapara {
    padding: 10px 18px 58px;
    margin-top: -40px;
    margin-bottom: -140px;
  }

  #porque-ac-sydney,
  #porque-ac-aukland,
  #porque-ac-melbourne,
  #porque-ac-brisbane,
  #porque-ac-perth,
  #porque-ac-goldcoast,
  #porque-ac-adelaide,
  #porque-ac-sunshine,
  #porque-ac-cairns,
  #porque-ac-byron,
  #porque-ac-camberra,
  #porque-ac-hobart,
  #porque-ac-toowoomba,
  #porque-ac-christchurch {
    padding-top: 150px !important;
  }

  .sydney-inline-photo__frame {
    aspect-ratio: 16 / 10;
    border-radius: 16px;
  }

  .sydney-cidades {
    margin-top: -52px;
    padding-top: 76px !important;
  }
}
.text-link:hover,
.text-link:focus-visible{
  color:#010169;
  background-size:0 1.5px,100% 2px;
  outline:none;
}
.text-link--light{
  color:#fff;
  background-image:linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),linear-gradient(90deg,#fff,rgba(255,255,255,.48));
  text-shadow:0 1px 14px rgba(0,0,0,.16);
}
.text-link--light:hover,
.text-link--light:focus-visible{
  color:#fff;
  text-shadow:0 0 18px rgba(255,255,255,.42);
}
img{max-width:100%;display:block}
p,li,span,label,input,select,button,textarea,div{font-family:'Geist',sans-serif}
p{font-weight:300;line-height:var(--lh-copy);text-align:center!important}
h1{font-family:'Geist',sans-serif!important;font-weight:800;line-height:1.05}
h5,h6{font-family:'Geist',sans-serif!important;font-weight:900;line-height:1.05}
h2{font-family:'Geist',sans-serif!important;font-weight:700;line-height:1.05}
h4{font-family:'Geist',sans-serif!important;font-weight:800;line-height:1.05}
h3{font-family:'Geist',sans-serif!important;font-weight:700;line-height:1.05}
h2{font-size:clamp(24px,3vw,48px);font-weight:700;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:#171016}
h2 em,
h2 span{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:inherit!important;font-style:normal}
/* white h2 resets */
.imig-lead h2,.sec-head h2.white,.g8-copy h2{background:none!important;-webkit-text-fill-color:#fff!important}
.imig-lead h2 em{background:none!important;-webkit-text-fill-color:currentColor!important}
h3{font-size:clamp(22px,2.85vw,44px);font-weight:700}
h4{font-size:24px; font-weight:800}
h2,h3,h4,h5{text-transform:none!important;line-height:1.1!important}

/* === TOKENS === */
:root{
  --red:#D71A21;
  --navy:#141C3E;
  --black:#0D0D0D;
  --gray:#F2F2F2;
  --radius:45px;
  --radius-mobile:25px;
  --card:18px;
  --lh-copy:1.58;
  --lh-copy-relaxed:1.66;
  --lh-copy-tight:1.44;
}

/* =========================================================
   PÁGINA CONTATO
   ========================================================= */
.contato-intro {
  background: #fff;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  padding: 84px 0 26px;
  position: relative;
  z-index: 4;
}
.wrap.contato-narrow {
  max-width: 1000px;
}
.contato-intro .sec-head {
  margin-bottom: 30px;
}
.contato-intro .sec-head h2 {
  max-width: 760px;
  text-transform: uppercase;
}
.contato-intro .sec-head p {
  max-width: 720px;
  margin: 16px auto 0;
}
.contato-copy {
  width: 100vw;
  max-width: none;
  margin: 95px 0 0 calc(50% - 50vw);
  padding: 0;
  background: transparent;
  border-radius: 40px;
  overflow: hidden;
  box-shadow: none;
}
.contato-copy .drive-banner {
  width: 100%;
  min-height: 340px;
  margin: 0 0 -35px;
  border-radius: 0;
  box-shadow: none;
}
.contato-blue-panel {
  background: #122357;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: -1px;
  padding: 115px 18px 166px;
  overflow: hidden;
  position: relative;
  z-index: 15;
}
.drive-banner--contato .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/foto-paralax-time-de-especialistas-em-intercambio-1.webp') center 44%/cover no-repeat;
}
@media (min-width: 769px) {
  body.page-contato .drive-banner--contato .drive-banner-media {
    background-position: center 32%;
  }
}
.drive-banner--contato::after {
  background: linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.16) 100%);
}
.contato-copy p {
  color: #555;
  font-size: 17px;
  line-height: 1.68;
}
.contato-project-cards {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 24px;
  max-width: 620px;
  margin: 0 auto 38px;
  justify-content: center;
  align-items: stretch;
}
.contato-project-card {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: end;
  gap: 0;
  overflow: hidden;
  border-radius: 50%;
  width: 240px;
  height: 240px;
  min-height: 0;
  padding: 24px 24px 38px;
  background: #f4f4f4;
  border: 1px solid rgba(13,13,15,.07);
  box-shadow: 0 18px 42px rgba(13,13,15,.07);
  isolation: isolate;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.contato-project-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/08-ko-hala-241x237-1-2.webp') center/cover no-repeat;
  pointer-events: none;
}
.contato-project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(125deg, rgba(244,244,244,.92) 0%, rgba(244,244,244,.82) 54%, rgba(244,244,244,.64) 100%);
  transition: opacity .38s ease;
}
.contato-project-card:hover {
  transform: translateY(-5px);
  border-color: rgba(215,26,33,.22);
  box-shadow: 0 28px 58px rgba(13,13,15,.11);
}
.contato-project-card:hover::after {
  opacity: 0.06;
}
.contato-project-card--red {
  background: linear-gradient(145deg, #ed1c24 0%, #b40810 100%);
  color: #fff;
}
.contato-project-card--red::before {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/03-canguru-jack-241x237-1-2.webp') center/cover no-repeat;
}
.contato-project-card--red::after {
  background: linear-gradient(125deg, rgba(237,28,36,.88) 0%, rgba(216,18,26,.82) 55%, rgba(180,8,16,.68) 100%);
}
.contato-project-icon {
  position: relative;
  right: auto;
  top: auto;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0;
  color: #ed1c24;
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 34px rgba(215,26,33,.13);
  animation: contatoIconFloat 3.2s ease-in-out infinite;
  transition: right .42s cubic-bezier(.18,.9,.22,1.2), top .42s cubic-bezier(.18,.9,.22,1.2), transform .42s cubic-bezier(.18,.9,.22,1.2), color .32s ease, background .32s ease, box-shadow .32s ease;
}
.contato-project-icon::after {
  content: "";
  position: absolute;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: currentColor;
  opacity: .08;
  z-index: -1;
  animation: contatoIconGlow 2.8s ease-in-out infinite;
}
.contato-project-card:hover .contato-project-icon {
  top: auto;
  right: auto;
  color: #fff;
  background: rgba(255,255,255,.16);
  box-shadow: 0 24px 44px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.22) inset;
  animation: contatoCornerIconJump .72s cubic-bezier(.18,.9,.22,1.18) both;
}
.contato-project-card--red:hover .contato-project-icon {
  color: #141c3e;
  background: rgba(255,255,255,.92);
  box-shadow: 0 24px 44px rgba(0,0,0,.24);
}
.contato-project-icon svg,
.contato-topic-grid svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contato-project-icon svg {
  width: 42px;
  height: 42px;
  stroke-width: 1.75;
  filter: drop-shadow(0 16px 18px rgba(237,28,36,.16));
}
.contato-project-card h3 {
  position: relative;
  z-index: 2;
  margin: 0;
  max-width: 100%;
  color: #171016;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .32s ease, transform .32s ease;
}
.contato-project-card--red h3 {
  color: #fff;
}
.contato-project-link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #ed1c24;
  color: #fff;
  box-shadow: 0 16px 28px rgba(215,26,33,.18);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
}
.contato-project-link svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contato-project-link--light {
  background: #fff;
  color: #d71a21;
  box-shadow: 0 16px 28px rgba(0,0,0,.16);
}
.contato-project-card:hover h3 {
  color: #fff;
  transform: translateY(-2px);
}
.contato-project-card:hover .contato-project-link {
  background: #fff;
  color: #d71a21;
  box-shadow: 0 18px 34px rgba(0,0,0,.2);
}
.contato-project-card:hover .contato-project-link:hover,
.contato-project-card:hover .contato-project-link:focus-visible {
  transform: translateY(-2px);
  outline: none;
}
.contato-project-card--red:hover .contato-project-link--light {
  color: #141c3e;
}
.contato-topic-head {
  display: grid;
  justify-items: center;
  justify-content: center;
  gap: 18px;
  max-width: 920px;
  margin: 0 auto 30px;
  text-align: center;
}
.contato-topic-head h2 {
  margin: 0;
  max-width: 850px;
  color: #fff;
  font-size: clamp(22px, 2.35vw, 34px);
  font-weight: 700;
  line-height: 1.05;
  text-transform: none;
}
.contato-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
}
.contato-topic-grid li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 58px;
  padding: 16px;
  border-radius: 14px;
  overflow: hidden;
  isolation: isolate;
  color: #171016;
  background: #f5f5f7;
  border: 1.5px solid rgba(13,13,15,.09);
  box-shadow: 0 4px 14px rgba(13,13,15,.05);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-shadow: none;
  opacity: 0;
  transform: translateY(16px);
  transition: transform .32s cubic-bezier(.22,.68,0,1.15), border-color .28s ease, box-shadow .28s ease;
}
.contato-copy.on .contato-topic-grid li {
  animation: contatoTopicIn .62s cubic-bezier(.22,.68,0,1) both;
  animation-delay: calc(var(--topic-index, 0) * 90ms);
}
.contato-topic-grid li::before,
.contato-topic-grid li::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.contato-topic-grid li::before {
  z-index: -1;
  background: linear-gradient(135deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,0) 58%);
  opacity: 0;
  transition: opacity .26s ease;
}
.contato-topic-grid li::after {
  z-index: -2;
  background: transparent;
}
.contato-topic-grid li:nth-child(1) { --topic-index: 1; }
.contato-topic-grid li:nth-child(2) { --topic-index: 2; }
.contato-topic-grid li:nth-child(3) { --topic-index: 3; }
.contato-topic-grid li:nth-child(4) { --topic-index: 4; }
.contato-topic-grid li:nth-child(5) { --topic-index: 5; }
.contato-topic-grid li:nth-child(6) { --topic-index: 6; }
.contato-topic-grid li:nth-child(7) { --topic-index: 7; }
.contato-topic-grid li:nth-child(8) { --topic-index: 8; }
.contato-topic-grid li:nth-child(9) { --topic-index: 9; }

/* Azul: Austrália, Graduação, Bolsas */
.contato-topic-grid li:nth-child(1),
.contato-topic-grid li:nth-child(6),
.contato-topic-grid li:nth-child(8) {
  background: linear-gradient(135deg, #17245c 0%, #122357 58%, #071027 100%);
  border-color: rgba(18,35,87,.38);
  box-shadow: 0 8px 24px rgba(18,35,87,.18);
  color: #fff;
}
/* Vermelho: Nova Zelândia, Inglês no exterior, Imigração */
.contato-topic-grid li:nth-child(2),
.contato-topic-grid li:nth-child(4),
.contato-topic-grid li:nth-child(9) {
  background: linear-gradient(135deg, #ed1c24 0%, #d71a21 48%, #8f050b 100%);
  border-color: rgba(237,28,36,.38);
  box-shadow: 0 8px 24px rgba(215,26,33,.18);
  color: #fff;
}
/* Título branco nos cards coloridos */
.contato-topic-grid li:nth-child(1) .contato-topic-title,
.contato-topic-grid li:nth-child(2) .contato-topic-title,
.contato-topic-grid li:nth-child(4) .contato-topic-title,
.contato-topic-grid li:nth-child(6) .contato-topic-title,
.contato-topic-grid li:nth-child(8) .contato-topic-title,
.contato-topic-grid li:nth-child(9) .contato-topic-title { color: #fff; }
/* Desc branca semitransparente nos cards coloridos */
.contato-topic-grid li:nth-child(1) .contato-topic-desc,
.contato-topic-grid li:nth-child(2) .contato-topic-desc,
.contato-topic-grid li:nth-child(4) .contato-topic-desc,
.contato-topic-grid li:nth-child(6) .contato-topic-desc,
.contato-topic-grid li:nth-child(8) .contato-topic-desc,
.contato-topic-grid li:nth-child(9) .contato-topic-desc { color: rgba(255,255,255,.72); }
/* Ícone semitransparente nos cards coloridos */
.contato-topic-grid li:nth-child(1) span,
.contato-topic-grid li:nth-child(2) span,
.contato-topic-grid li:nth-child(4) span,
.contato-topic-grid li:nth-child(6) span,
.contato-topic-grid li:nth-child(8) span,
.contato-topic-grid li:nth-child(9) span {
  background: rgba(255,255,255,.18);
  color: #fff;
}

.contato-topic-grid li:hover {
  transform: translateY(-5px) scale(1.016);
  border-color: rgba(13,13,15,.16);
  box-shadow: 0 20px 44px rgba(13,13,15,.13);
}
.contato-topic-grid li:hover::before { opacity: 1; }
.contato-topic-grid li:hover::after { background: transparent; }
.contato-topic-grid li:nth-child(1):hover,
.contato-topic-grid li:nth-child(6):hover,
.contato-topic-grid li:nth-child(8):hover {
  border-color: rgba(80,120,230,.52);
  box-shadow: 0 20px 44px rgba(18,35,87,.32), 0 0 0 1px rgba(130,165,255,.18) inset;
}
.contato-topic-grid li:nth-child(2):hover,
.contato-topic-grid li:nth-child(4):hover,
.contato-topic-grid li:nth-child(9):hover {
  border-color: rgba(237,28,36,.68);
  box-shadow: 0 20px 44px rgba(215,26,33,.32), 0 0 0 1px rgba(255,110,110,.22) inset;
}
.contato-topic-grid span {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #ed1c24;
  background: rgba(215,26,33,.1);
  margin-top: 1px;
}
.contato-topic-grid svg {
  width: 15px;
  height: 15px;
  stroke-width: 2.4;
}
.contato-topic-grid .contato-topic-flag {
  font-size: 16px;
  background: #fff;
  text-shadow: none;
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
  filter: saturate(1.12);
}
.contato-topic-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contato-topic-title {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #171016;
  line-height: 1.3;
}
.contato-topic-grid .contato-topic-desc {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  color: #888;
  line-height: 1.45;
}
.contato-hashtags {
  position: relative;
  z-index: 10;
  background: #fff;
  padding: 18px 0 58px;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
}
.contato-copy .section-cta {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.contato-program-slider {
  width: 100%;
  margin: 42px auto 0;
}
.contato-program-rail {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  width: calc(100vw - max(24px, calc((100vw - 1200px) / 2 + 24px)));
  margin-left: calc(max(24px, calc((100vw - 1200px) / 2 + 24px)) - 18px);
  margin-right: 0;
  padding: 15px 0 40px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.contato-program-rail::-webkit-scrollbar {
  display: none;
}
.contato-program-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 260px;
  height: 340px;
  padding: 24px 58px 28px 24px;
  border-radius: 18px;
  background: #d80005;
  color: #fff;
  overflow: hidden;
  scroll-snap-align: start;
  transition: transform .35s ease, box-shadow .35s ease, filter .32s ease;
  isolation: isolate;
}
.contato-program-card:hover,
.contato-program-card:focus-within {
  transform: translateY(-8px);
  box-shadow: 0 28px 18px rgba(0,0,0,.24);
  filter: saturate(1.06);
}
.contato-program-card--gray {
  background: #777;
}
.contato-program-card--darkred {
  background: #650000;
}
.contato-program-card--light {
  background: #fff;
  color: #111;
}
.contato-program-card h4 {
  margin: 0;
  font-size: 24px;
  line-height: .98;
  font-weight: 700;
  color: currentColor;
}
.contato-program-card p {
  margin: auto 0 40px;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 400;
  color: currentColor;
  text-align: left !important;
}
.contato-program-card .btn-plus {
  top: auto;
  right: 16px;
  bottom: 16px;
  width: 46px;
  height: 46px;
  z-index: 5;
}
.contato-program-bottom {
  display: flex;
  align-items: center;
  gap: 16px;
  width: calc(100vw - (max(24px, calc((100vw - 1200px) / 2 + 24px)) * 2));
  margin-left: calc(max(24px, calc((100vw - 1200px) / 2 + 24px)) - 18px);
  margin-top: 18px;
}
.contato-program-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  pointer-events: none;
  background: var(--red);
  border: 2px solid var(--red);
  border-radius: 999px;
  color: #fff;
  font-family: 'Geist', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 11px;
  line-height: 1;
  padding: 13px 22px;
}
.contato-program-pill:hover {
  transform: none;
  box-shadow: none;
  background: var(--red);
  color: #fff;
}
.contato-program-line {
  height: 1px;
  flex: 1;
  background: rgba(255,255,255,.42);
}
.contato-program-bottom .blog-nav-btn {
  box-shadow: none;
}
.contato-program-bottom .blog-nav-btn:hover {
  background: var(--red);
  color: #fff;
}
.contato-hashtags .sobre-hashtags {
  margin: 0 auto;
}
@keyframes contatoIconFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-7px) rotate(2deg); }
}
@keyframes contatoIconGlow {
  0%, 100% { opacity: .08; transform: scale(.9); }
  50% { opacity: .16; transform: scale(1.12); }
}
@keyframes contatoCornerIconJump {
  0% { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
  38% { transform: translate3d(-10px,-26px,0) rotate(-8deg) scale(1.1); }
  72% { transform: translate3d(4px,6px,0) rotate(5deg) scale(.96); }
  100% { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
}
@keyframes contatoTopicIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.page-contato .sec-dep.parapara {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  padding-top: 118px;
}
.page-contato .sec-dep.parapara .sec-head p {
  max-width: 760px;
}
.page-contato .dep-swiper {
  margin-top: 26px;
}
.page-contato .dep-swiper .swiper-slide {
  min-height: 220px;
}

@media (max-width: 768px) {
  .contato-intro {
    padding: 62px 0 20px;
  }
  .contato-copy {
    padding: 0;
    border-radius: 25px;
  }
  .contato-copy .drive-banner {
    width: 100%;
    min-height: 240px;
    margin: 0;
    border-radius: 0;
  }
  .contato-blue-panel {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    padding: 60px 18px 126px;
    margin-top: -25px;
  }
  .contato-copy p {
    font-size: 15px;
  }
  .contato-intro .sec-head p {
    font-size: 15px;
  }
  .contato-project-cards,
  .contato-topic-grid {
    grid-template-columns: 1fr;
  }
  .contato-project-card {
    min-height: 220px;
    padding: 18px;
  }
  .contato-project-card h3 {
    font-size: 19px;
    white-space: normal;
  }
  .contato-project-link {
    min-height: 36px;
    padding: 0 16px;
    font-size: 10px;
  }
  .contato-project-icon {
    right: auto;
    top: auto;
    width: 68px;
    height: 68px;
    border-radius: 19px;
  }
  .contato-project-icon svg {
    width: 35px;
    height: 35px;
  }
  .contato-project-card:hover .contato-project-icon {
    top: auto;
    right: auto;
  }
  .contato-topic-head {
    margin-top: 0;
  }
  .contato-topic-head h2 {
    font-size: 21px;
  }
  .contato-topic-grid li {
    font-size: 14px;
  }
  .contato-program-slider {
    margin-top: 28px;
  }
  .contato-program-rail {
    gap: 12px;
    width: calc(100% + 18px);
    margin-left: 0;
    margin-right: -18px;
  }
  .contato-program-card {
    flex-basis: 220px;
    height: 340px;
    padding: 22px 54px 24px 22px;
  }
  .contato-program-card h4 { font-size: 20px; }
  .contato-program-card p { margin-bottom: 38px; font-size: 13px; line-height: 1.3; }
  .contato-program-bottom {
    align-items: center;
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }
  .contato-program-pill {
    display: none;
  }
  .contato-program-line {
    min-width: 140px;
  }
  .page-contato .sec-dep.parapara {
    padding-top: 78px;
  }
}

/* === ESCALAS DE TEXTO === */
.sec-head p,
.form-text p,
.alife-copy p,
.custo-text p,
.faq-left p{
  line-height:var(--lh-copy)
}
.plus-modal p,
.faq-a{
  line-height:var(--lh-copy-relaxed)
}
.hero-sub,
.drop-cta p,
.dest-card-inner p,
.prog-card-red .prog-card-copy p,
.prog-card-light .prog-card-copy p,
.prog-card-photo .prog-card-copy p,
.imig-card-body p,
.custo-card-inner p,
.custo-card-red p,
.escola-body p{
  line-height:var(--lh-copy-tight)
}

/* === CONTAINER === */
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* === EFEITO PARAPARA (seção sobe sobre a anterior) === */
.parapara{border-radius:var(--radius) var(--radius) 0 0;margin-top:calc(var(--radius) * -1);position:relative;z-index:9}
@media(max-width:768px){.parapara{border-radius:var(--radius-mobile) var(--radius-mobile) 0 0;margin-top:calc(var(--radius-mobile) * -1)}}

/* === BOTÕES === */
.btn-red{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-weight:700;font-size:14px;padding:13px 26px;border-radius:999px;border:2px solid var(--red);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.04em;font-family:'Geist',sans-serif}
.btn-red:hover{background:#fff;color:var(--red);transform:translateY(-2px);box-shadow:0 8px 20px rgba(215,26,33,.25)}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--red);font-weight:700;font-size:14px;padding:13px 26px;border-radius:999px;border:2px solid #fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.04em}
.btn-white:hover{background:transparent;color:#fff;transform:translateY(-2px)}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;font-weight:700;font-size:14px;padding:13px 26px;border-radius:999px;border:2px solid #fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.04em}
.btn-outline:hover{background:#fff;color:var(--red)}

/* botão + redondo nas cards */
@keyframes plusPulse{
  0%,100%{transform:scale(1);box-shadow:0 10px 24px rgba(215,26,33,.24)}
  50%{transform:scale(1.08);box-shadow:0 16px 34px rgba(215,26,33,.34)}
}
@keyframes plusRing{
  0%{opacity:.48;transform:scale(.76)}
  85%,100%{opacity:0;transform:scale(1.42)}
}
.btn-plus{
  --plus-bg:var(--red);
  --plus-color:#fff;
  position:absolute;right:14px;top:14px;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:var(--plus-bg);color:var(--plus-color);
  box-shadow:0 10px 24px rgba(215,26,33,.24);
  transition:transform .28s,box-shadow .28s,background .28s,border-color .28s,color .28s;
  z-index:3;border:1.5px solid transparent;cursor:pointer;overflow:visible;
  animation:plusPulse 1.9s ease-in-out infinite
}
.btn-plus::before,.btn-plus::after{
  content:"";position:absolute;border-radius:inherit;pointer-events:none
}
.btn-plus::before{
  inset:-7px;border:1.5px solid rgba(215,26,33,.38);
  animation:plusRing 1.9s ease-out infinite
}
.btn-plus::after{
  inset:-12px;border:1.5px solid currentColor;opacity:0;transform:scale(.76);
  transition:opacity .28s ease,transform .28s ease
}
.btn-plus:hover,.btn-plus:focus-visible{
  animation:none;background:transparent;color:var(--plus-bg);border-color:currentColor;
  box-shadow:none;transform:scale(1.06);outline:none
}
.btn-plus:hover::before,.btn-plus:focus-visible::before{opacity:0;animation:none}
.btn-plus:hover::after,.btn-plus:focus-visible::after{opacity:1;transform:scale(1.12)}
.btn-plus svg{pointer-events:none}
.btn-plus svg path{stroke:currentColor}

/* sheen animado */
@keyframes sheen{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}
.sheen::before{content:"";position:absolute;inset:-50%;background:linear-gradient(120deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.14) 50%,rgba(255,255,255,0) 65%);animation:sheen 5s infinite;pointer-events:none;z-index:1}

/* reveal on scroll */
.reveal,.reveal-soft{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,24px,0) scale(.988);
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.68,0,1),filter .72s ease;
  will-change:opacity,transform,filter
}
.reveal.on,.reveal-soft.on{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1)
}
.stagger-card{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,34px,0) scale(.985);
  transition:opacity .68s ease,transform .68s cubic-bezier(.22,.68,0,1),filter .68s ease;
  will-change:opacity,transform,filter;
}
.stagger-card.is-stagger-visible{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.reveal.h2-mask-parent,
.reveal-soft.h2-mask-parent{
  opacity:1!important;
  filter:none!important;
  transform:none!important
}
/* A máscara precisa recortar SÓ na vertical (é de lá que o texto sobe).
   `overflow:hidden` recortava nos dois eixos e comia a última letra dos
   títulos que passam da largura da caixa (ex.: "…na AUSTRÁLIA"). `inset()`
   com folga negativa na horizontal mantém o corte de cima/baixo idêntico e
   libera as laterais. Ver o bloco final "MÁSCARA DE H2". */
.h2-mask-reveal{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  clip-path:inset(0 -100vw)!important;
  padding-top:.04em;
  padding-bottom:.16em;
  line-height:1.12!important;
  overflow:visible;
  will-change:auto
}
.h2-mask-inner{
  display:inline-block;
  max-width:100%;
  vertical-align:top;
  transform:translate3d(0,115%,0);
  transition:transform .9s cubic-bezier(.16,.84,.24,1);
  will-change:transform
}
.h2-mask-reveal.on .h2-mask-inner{
  transform:translate3d(0,0,0)
}
h2.h2-mask-reveal,
h2.h2-mask-reveal em,
h2.h2-mask-reveal span{
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  color:inherit!important
}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}.d7{transition-delay:.7s}

/* título de seção */
.sec-head{text-align:center;margin-bottom:48px}
.sec-head h2{text-transform:uppercase;color:#111;max-width:760px;margin:0 auto 10px}
.sec-head h2.white{color:#fff}
.sec-head p{font-size:15px;color:#666;max-width:520px;margin:0 auto}
.sec-head .bar{display:block;width:54px;height:5px;background:var(--red);border-radius:3px;margin:14px auto 0}

/* =========================================================
   HEADER
   template-parts/header.php
   ========================================================= */
#site-header{position:absolute;top:0;left:0;right:0;z-index:1705;padding:18px 24px}
.hdr{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;gap:18px}
.hdr-logo{flex-shrink:0}
.hdr-logo img{
  width:200px;height:auto;
  transition:width .38s cubic-bezier(.22,.68,0,1),transform .55s cubic-bezier(.22,.68,0,1.28) .08s,opacity .38s ease
}
/* logo swap ao abrir menu */
.hdr-logo .logo-compact{display:none;height:44px;width:auto}
.hdr.menu-expanded .hdr-logo img{width:155px}
@media(max-width:1200px){
  .hdr.menu-expanded .hdr-logo img{width:40px;height:auto}
  .hdr.menu-expanded .hdr-logo .logo-full{display:none}
  .hdr.menu-expanded .hdr-logo .logo-compact{display:block}
}

/* Nav container */
.ac-nav{display:flex;align-items:center;gap:2px}

/* Each nav item */
.nav-item,.float-nav-item{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}

/* Collapsed: all items hidden except .menu-toggle-wrap */
.ac-nav.is-collapsed .nav-item:not(.menu-toggle-wrap):not(.nav-lang-wrap):not(.nav-budget-wrap),
.float-nav.is-collapsed .float-nav-item{
  opacity:0;transform:translateY(-8px);pointer-events:none
}

/* Stagger delays when expanding */
.ac-nav:not(.is-collapsed) .nav-item:nth-child(1){transition-delay:.05s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(2){transition-delay:.12s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(3){transition-delay:.19s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(4){transition-delay:.26s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(5){transition-delay:.33s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(6){transition-delay:.40s}

.nav-link{
  border:none;background:none;color:rgba(255,255,255,.72);
  padding:8px 10px;
  font-weight:700;font-size:14px;cursor:pointer;
  font-family:'Geist',sans-serif;
  display:flex;align-items:center;gap:3px;
  position:relative;
  white-space:nowrap;letter-spacing:.02em;
  opacity:.88;transition:color .22s ease,opacity .22s ease
}
.nav-link:hover,.nav-item.is-open .nav-link,
.float-nav-link:hover,.float-nav-item.is-open .float-nav-link{
  color:#fff;opacity:1
}
/* underline vermelho da esquerda */
.nav-link::after{
  content:'';position:absolute;bottom:2px;
  left:10px;right:10px;height:1.5px;
  background:var(--red);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .3s cubic-bezier(.22,.68,0,1.2);
  opacity:.95
}
.nav-link:hover::after,.nav-item.is-open .nav-link::after,
.float-nav-link:hover::after,.float-nav-item.is-open .float-nav-link::after{transform:scaleX(1)}

.nav-arrow,.float-nav-arrow{font-size:8px;transition:transform .3s;display:inline-block}
.nav-item.is-open .nav-arrow,.float-nav-item.is-open .float-nav-arrow{transform:rotate(180deg)}

/* === BOTÃO NEON ORÇAMENTO === */
.hdr-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.nav-budget-wrap,.float-budget-wrap{
  display:flex;align-items:center;
  opacity:1!important;transform:none!important;pointer-events:auto!important
}
.nav-budget-wrap{margin-left:8px;padding-right:6px}
.float-budget-wrap{flex-shrink:0}
.btn-neon{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 18px;
  background:linear-gradient(135deg,var(--red) 0%,#8f0509 100%);
  border:1.5px solid rgba(215,26,33,.95);
  border-radius:999px;
  color:#fff;
  font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.08em;
  font-family:'Geist',sans-serif;
  text-decoration:none;white-space:nowrap;
  box-shadow:0 12px 28px rgba(215,26,33,.18);
  transition:background .28s,transform .22s,box-shadow .28s;
  flex-shrink:0;position:relative;overflow:visible
}
.btn-neon::after{
  content:"";position:absolute;top:50%;right:-28px;transform:translateY(-50%) scale(.78);
  width:74px;height:74px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,60,60,.42) 0%,rgba(255,60,60,.12) 45%,rgba(255,60,60,0) 74%);
  opacity:0;transition:opacity .28s ease,transform .28s ease;pointer-events:none
}
.btn-neon:hover,.btn-neon:focus-visible{
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 20px rgba(215,26,33,.52),0 0 40px rgba(215,26,33,.28);
  transform:translateY(-1px);outline:none
}
.btn-neon:hover::after,.btn-neon:focus-visible::after{opacity:1;transform:translateY(-50%) scale(1)}
@keyframes budgetDotPulse{
  0%,100%{transform:scale(1);opacity:.88;box-shadow:0 0 0 0 rgba(255,255,255,.26)}
  50%{transform:scale(1.18);opacity:1;box-shadow:0 0 0 8px rgba(255,255,255,0)}
}
@keyframes mobileClosePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.18)}
  50%{box-shadow:0 0 0 9px rgba(255,255,255,0)}
}
.btn-neon-dot{
  width:7px;height:7px;background:#fff;border-radius:50%;
  box-shadow:none;flex-shrink:0;
  animation:budgetDotPulse 1.7s ease-in-out infinite
}
.btn-neon--nav{
  padding:8px 14px;font-size:10px;letter-spacing:.07em;
  background:linear-gradient(135deg,#25D366 0%,#16833a 100%);
  border-color:#25D366;
  box-shadow:0 12px 28px rgba(37,211,102,.2)
}
.btn-neon--nav::after{
  right:-24px;width:60px;height:60px;
  background:radial-gradient(circle,rgba(37,211,102,.42) 0%,rgba(37,211,102,.12) 45%,rgba(37,211,102,0) 74%)
}
.btn-neon--nav:hover,.btn-neon--nav:focus-visible{
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 20px rgba(37,211,102,.54),0 0 40px rgba(37,211,102,.28)
}
.btn-neon--mini{
  padding:6px 12px;font-size:9px;letter-spacing:.07em;
  background:linear-gradient(135deg,#25D366 0%,#16833a 100%);
  border-color:#25D366;
  box-shadow:0 8px 20px rgba(37,211,102,.2)
}
.btn-neon--mini::after{
  right:-18px;width:44px;height:44px;
  background:radial-gradient(circle,rgba(37,211,102,.42) 0%,rgba(37,211,102,.12) 45%,rgba(37,211,102,0) 74%)
}
.btn-neon--mini:hover,.btn-neon--mini:focus-visible{
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 18px rgba(37,211,102,.54),0 0 34px rgba(37,211,102,.28)
}
@media(max-width:768px){.btn-neon{font-size:10px;padding:7px 13px}}

/* Troca label do botão orçamento em telas menores */
.btn-label-short{display:none}
@media(max-width:1100px){
  .btn-label-full{display:none}
  .btn-label-short{display:inline}
}

/* Bandeiras de idioma — aparecem ao lado do menu aberto */
.nav-lang-wrap{
  display:flex;align-items:center;gap:7px;
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.2);
  opacity:1!important;transform:none!important;pointer-events:auto!important;
  padding-right: 5px;
}
.lang-flag{
  display:inline-flex;align-items:center;justify-content:center;
  width:auto;height:auto;padding:0 1px;
  font-size:21px;text-decoration:none;
  background:none;border:none;border-radius:0;
  opacity:.8;transition:opacity .2s,transform .2s,filter .2s;
  line-height:1;cursor:pointer;filter:saturate(.95)
}
.lang-flag:hover,.lang-flag.is-active{opacity:1;background:none;border-color:transparent;filter:saturate(1.08)}
.lang-flag:hover{transform:translateY(-1px)}

/* stagger 7th item (Sobre AC agora) */
.ac-nav:not(.is-collapsed) .nav-item:nth-child(7){transition-delay:.46s}
.ac-nav:not(.is-collapsed) .nav-item:nth-child(8){transition-delay:.52s}

/* MENU button */
.menu-btn{
  display:flex;align-items:center;gap:10px;
  padding:6px 6px 6px 18px;background:#fff;border:none;
  border-radius:999px;color:var(--red);
  font-weight:700;font-size:14px;cursor:pointer;
  font-family:'Geist',sans-serif;position:relative;z-index:2050
}
.menu-btn .menu-icon{
  width:38px;height:38px;background:var(--red);color:#fff;
  border-radius:50%;display:grid;place-items:center;
  font-size:17px;transition:background .3s,transform .3s
}
.menu-btn.is-open .menu-icon,.float-menu-btn.is-open .float-icon{background:var(--navy);transform:rotate(90deg)}

/* Bridge invisível: estende a zona de hover do nav-item até o panel */
.nav-item[data-menu],.float-nav-item[data-menu]{position:relative}
.nav-item[data-menu]::after{
  content:'';position:absolute;bottom:-26px;
  left:-14px;right:-14px;height:26px
}
.float-nav-item[data-menu]::after{
  content:'';position:absolute;bottom:-22px;
  left:-12px;right:-12px;height:22px
}

/* Dropdown panels — container transparente, apenas posicionamento */
.dropdown-panel{
  position:fixed;top:96px;left:0;right:0;
  z-index:1601;
  padding:8px 24px 0;
  opacity:0;
  visibility:hidden;pointer-events:none;
  transition:opacity .18s ease,visibility 0s linear .18s
}
.dropdown-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}

/* Caixa arredondada — não vai até a borda */
.drop-inner{
  max-width:1000px;margin:0 auto;
  background:#fff;
  border-radius:20px;
  padding:26px 24px;
  box-shadow:0 24px 70px rgba(0,0,0,.18),
             0 0 0 1px rgba(0,0,0,.05);
  display:flex;gap:18px;align-items:flex-start;position:relative;z-index:1602;
  transform:translateY(-10px);opacity:0;
  transition:transform .28s cubic-bezier(.22,.68,0,1.12),opacity .22s ease
}
.dropdown-panel.is-open .drop-inner{transform:translateY(0);opacity:1}

@keyframes submenuSideFade{
  from{opacity:0;transform:translateX(-18px)}
  to{opacity:1;transform:translateX(0)}
}
.dropdown-panel.is-open .drop-col-title,
.dropdown-panel.is-open .dest-group,
.dropdown-panel.is-open .drop-col a,
.dropdown-panel.is-open .drop-col--cont a,
.dropdown-panel.is-open .dest-cities.is-active a,
.dropdown-panel.is-open .drop-cta{
  animation:submenuSideFade .32s ease both
}
.dropdown-panel.is-open .drop-col a:nth-of-type(2),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(2),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(2){animation-delay:.03s}
.dropdown-panel.is-open .drop-col a:nth-of-type(3),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(3),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(3){animation-delay:.06s}
.dropdown-panel.is-open .drop-col a:nth-of-type(4),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(4),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(4){animation-delay:.09s}
.dropdown-panel.is-open .drop-col a:nth-of-type(5),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(5),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(5){animation-delay:.12s}
.dropdown-panel.is-open .drop-col a:nth-of-type(6),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(6),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(6){animation-delay:.15s}
.dropdown-panel.is-open .drop-col a:nth-of-type(7),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(7),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(7){animation-delay:.18s}
.dropdown-panel.is-open .drop-col a:nth-of-type(8),
.dropdown-panel.is-open .drop-col--cont a:nth-of-type(8),
.dropdown-panel.is-open .dest-cities.is-active a:nth-of-type(8){animation-delay:.21s}

.drop-col{flex:1;min-width:0}
.drop-col--cont{flex:1;min-width:0;padding-top:34px}
.drop-col-title{
  font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.09em;color:var(--red);
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:2px solid var(--red)
}
.drop-col a,.drop-col--cont a{
  display:block;padding:6px 0;font-size:14px;color:#222;
  font-weight:400;font-family:'Geist',sans-serif;
  position:relative;overflow:hidden;
  transition:color .22s,padding-left .22s
}
.drop-col a:hover,.drop-col a:focus-visible,
.drop-col--cont a:hover,.drop-col--cont a:focus-visible{padding-left:7px;outline:none}
.drop-link-text{
  display:inline-block;
  transition:background-position .42s ease,filter .22s ease,color .22s ease
}
.drop-col a:hover .drop-link-text,
.drop-col a:focus-visible .drop-link-text,
.drop-col--cont a:hover .drop-link-text,
.drop-col--cont a:focus-visible .drop-link-text{
  background-image:linear-gradient(90deg,#5f646a 0%,#f1f4f8 46%,#737982 100%);
  background-size:220% 100%;
  background-position:100% 50%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 6px rgba(222,226,232,.4))
}
.drop-sub{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aaa;margin:12px 0 5px}

/* CTA side box */
.drop-cta{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,55,65,.28) 0%,rgba(255,55,65,0) 36%),
    linear-gradient(145deg,#4f0611 0%,#171d48 54%,#08102e 100%);
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  padding:20px 16px;display:flex;flex-direction:column;gap:12px;
  min-width:164px;max-width:176px;flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 32px rgba(8,16,46,.18)
}
.drop-cta p{color:rgba(255,255,255,.65);font-size:13px;margin:0}
.drop-cta h4{color:#fff;font-size:15px;margin:0;line-height:1.3}
.drop-cta--about{
  gap:14px;
  background:
    radial-gradient(circle at 18% 4%,rgba(255,65,75,.3) 0%,rgba(255,65,75,0) 38%),
    linear-gradient(145deg,#580713 0%,#182052 56%,#08102e 100%)
}
.drop-cta-stat{
  display:flex;
  flex-direction:column;
  gap:5px
}
.drop-cta-stat span{
  display:block;
  font-size:34px;
  line-height:.86;
  font-weight:900;
  letter-spacing:0;
  background:linear-gradient(135deg,#fff 0%,#eef2ff 48%,#ff3a42 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 12px 24px rgba(215,26,33,.18)
}
.drop-cta-stat small{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.18;
  font-weight:850
}
.drop-cta-btn{
  display:block;text-align:center;padding:9px 14px;
  border-radius:999px;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:.04em;
  cursor:pointer;transition:all .3s;
  font-family:'Geist',sans-serif;border:none;text-decoration:none
}
.dcb-green{background:#1a8a3a;color:#fff}.dcb-green:hover{background:#15712f}
.dcb-outline{background:transparent;border:1.5px solid rgba(255,255,255,.35);color:#fff}
.dcb-outline:hover{background:rgba(255,255,255,.12)}
.drop-cta:not(.dest-preview) .drop-cta-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(135deg,#ff2730 0%,#c50712 58%,#85030b 100%);
  border:1.5px solid rgba(255,75,82,.95);
  color:#fff;
  box-shadow:0 12px 24px rgba(215,26,33,.32);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,border-color .22s ease
}
.drop-cta:not(.dest-preview) .drop-cta-btn svg{
  position:relative;
  z-index:1;
  width:14px;
  height:14px;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.drop-cta:not(.dest-preview) .drop-cta-btn::before{
  content:"";
  position:absolute;
  inset:-40% -70%;
  z-index:-1;
  background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);
  transform:translateX(-58%) rotate(8deg);
  transition:transform .48s ease
}
.drop-cta:not(.dest-preview) .drop-cta-btn:hover,
.drop-cta:not(.dest-preview) .drop-cta-btn:focus-visible{
  transform:translateY(-2px);
  border-color:#ff6970;
  box-shadow:0 18px 34px rgba(215,26,33,.42),0 0 0 1px rgba(255,255,255,.12);
  filter:saturate(1.08) brightness(1.04);
  outline:none
}
.drop-cta:not(.dest-preview) .drop-cta-btn:hover::before,
.drop-cta:not(.dest-preview) .drop-cta-btn:focus-visible::before{transform:translateX(58%) rotate(8deg)}
.dest-preview{
  position:relative;min-width:194px;max-width:208px;min-height:238px;
  align-self:stretch!important;margin:0 0 0 0!important;
  justify-content:flex-end;overflow:hidden;isolation:isolate;
  background:#141c3e;padding:18px 16px
}
.dest-preview::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(20,28,62,.18) 0%,rgba(20,28,62,.68) 48%,rgba(20,28,62,.96) 100%)
}
.dest-preview-img{
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;opacity:.9;transform:scale(1.02);
  transition:opacity .22s ease,transform .48s ease
}
.dest-preview.is-updating .dest-preview-img{opacity:.58;transform:scale(1.07)}
.dest-preview p{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:rgba(255,255,255,.7)}
.dest-preview h4{font-size:22px;line-height:1.05;text-shadow:0 8px 22px rgba(0,0,0,.28)}
.dest-preview .drop-cta-btn{
  position:relative;z-index:1;
  background:var(--red);color:#fff;border-color:var(--red);
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  align-self:stretch;margin:0 10px 12px;
  box-shadow:0 12px 24px rgba(215,26,33,.32);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease
}
.dest-preview .drop-cta-btn:hover,.dest-preview .drop-cta-btn:focus-visible{
  background:#fff;color:var(--red);border-color:#fff;
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(215,26,33,.42);
  outline:none
}
.dest-preview .drop-cta-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* DESTINOS — flyout aninhado */
.drop-inner--dest{padding:0;overflow:hidden;align-items:stretch}
.dest-sidebar{
  background:#f7f8f9;border-radius:20px 0 0 20px;
  padding:0;min-width:230px;flex-shrink:0;
  border-right:1px solid #eee;
  display:flex;flex-direction:column
}
.dest-group{
  position:relative;overflow:hidden;flex:1;min-height:78px;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;cursor:pointer;
  font-weight:700;font-size:13px;color:#333;
  transition:background .15s,color .15s;letter-spacing:.02em
}
.dest-group:hover,.dest-group.is-active{background:var(--red);color:#fff}
.dest-group-label{display:flex;align-items:center;gap:9px;min-width:0}
.dest-flag{font-size:18px;line-height:1;filter:saturate(1.08);flex-shrink:0}
.dest-group-arrow{font-size:14px;opacity:.6}
.dest-group.is-active .dest-group-arrow{opacity:1}
.dest-cities-wrap{flex:1;display:flex;flex-direction:column;padding:18px 12px 18px 10px}
.dest-cities{
  display:none;
  grid-template-columns:repeat(3,minmax(120px,1fr));
  column-gap:10px;row-gap:2px;
  align-content:start;flex:1
}
.dest-cities.is-active{display:grid}
.dest-cities a{
  padding:6px 0;font-size:15px;color:#222;font-weight:400;
  font-family:'Geist',sans-serif;
  transition:color .22s,padding-left .22s;
  white-space:nowrap;width:auto;display:block;
  position:relative;overflow:hidden
}
.dest-cities a:hover,.dest-cities a:focus-visible{padding-left:7px;outline:none}
.dest-cities a:hover .drop-link-text,
.dest-cities a:focus-visible .drop-link-text{
  background-image:linear-gradient(90deg,#5f646a 0%,#f1f4f8 46%,#737982 100%);
  background-size:220% 100%;
  background-position:100% 50%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 6px rgba(222,226,232,.4))
}

/* Dark overlay behind open dropdown */
.nav-overlay{display:none;position:fixed;left:0;right:0;bottom:0;top:96px;background:rgba(0,0,0,.4);z-index:1600}
.nav-overlay.is-on{display:block}

/* shift dropdown panels down when float bar active */
body.float-active .dropdown-panel{top:68px!important}
body.float-active .nav-overlay{top:58px}

/* =========================================================
   FLOAT STICKY BAR — liquid glass
   template-parts/float-bar.php
   ========================================================= */
.float-bar{
  position:fixed;top:0;left:0;right:0;
  z-index:1704;height:58px;
  /* liquid glass */
  background:rgba(14,20,52,.38);
  backdrop-filter:blur(26px) saturate(200%);
  -webkit-backdrop-filter:blur(26px) saturate(200%);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),
             0 4px 32px rgba(0,0,0,.28);
  /* hidden — slide in from top */
  opacity:0;transform:translateY(-100%);pointer-events:none;
  transition:opacity .4s ease,transform .45s cubic-bezier(.22,.68,0,1.15)
}
.float-bar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}

.float-bar-inner{
  display:flex;justify-content:space-between;align-items:center;
  max-width:1200px;margin:0 auto;padding:0 24px;height:100%;gap:16px
}

/* Float logo — springs in */
.float-logo{display:flex;align-items:center;flex-shrink:0}
.float-logo img{
  width:112px;height:auto;
  transform:scale(.55) translateX(-16px);opacity:0;
  transition:width .34s cubic-bezier(.22,.68,0,1),transform .55s cubic-bezier(.22,.68,0,1.28) .08s,
             opacity .4s ease .08s
}
.float-bar.is-visible .float-logo img{transform:scale(1) translateX(0);opacity:1}
.float-bar.menu-expanded .float-logo img{width:86px}

/* Float nav row */
.float-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(1){transition-delay:.04s}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(2){transition-delay:.10s}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(3){transition-delay:.16s}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(4){transition-delay:.22s}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(5){transition-delay:.28s}
.float-nav:not(.is-collapsed) .float-nav-item:nth-child(6){transition-delay:.34s}

.float-nav-link{
  border:none;background:none;color:rgba(255,255,255,.72);
  padding:5px 9px;
  font-weight:700;font-size:13px;cursor:pointer;
  font-family:'Geist',sans-serif;
  display:flex;align-items:center;gap:3px;
  position:relative;
  white-space:nowrap;letter-spacing:.02em;
  opacity:.88;transition:color .22s ease,opacity .22s ease
}
.float-nav-link::after{
  content:'';position:absolute;bottom:0;
  left:9px;right:9px;height:1.5px;
  background:var(--red);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .3s cubic-bezier(.22,.68,0,1.2);
  opacity:.95
}
/* Float MENU button */
.float-menu-btn{
  display:flex;align-items:center;gap:8px;
  padding:4px 4px 4px 14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;color:#fff;
  font-weight:700;font-size:12px;cursor:pointer;
  font-family:'Geist',sans-serif;
  transition:background .25s;flex-shrink:0
}
.float-menu-btn:hover{background:rgba(255,255,255,.22)}
.float-icon{
  width:30px;height:30px;background:var(--red);color:#fff;
  border-radius:50%;display:grid;place-items:center;
  font-size:13px;transition:background .3s,transform .3s
}
.float-lang-wrap{
  display:flex;align-items:center;gap:7px;
  padding-left:14px;
  border-left:1px solid rgba(255,255,255,.14)
}
.float-lang-wrap .lang-flag{
  width:auto;height:auto;padding:0;font-size:18px;
  background:none;border:none
}

@media(max-width:900px){
  .float-nav,.float-lang-wrap,.float-budget-wrap{display:none!important}
}

/* =========================================================
   SEÇÃO 1 — HERO
   template-parts/home/hero.php
   ========================================================= */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;background:#000}

/* imagem de fundo padrão do hero */
.hero-bg{
  position:absolute;
  left:-24px;right:-24px;top:-24px;bottom:-24px;
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/agencia-especialista-em-intercambio-australia-e-nova-zelandia-2-1.webp') center 40%/cover no-repeat;
  opacity:.74;will-change:transform;transform:translate3d(0,0,0)
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 14%,rgba(255,160,52,.18) 0%,rgba(255,160,52,0) 36%)
}
@media(min-width:769px){
  body.page-home .hero-bg{background-position:-441px -22px;background-size:145% auto}
}
@media(min-width:769px) and (max-width:1200px){
  body.page-home .hero-bg{background-position:-631px -22px;background-size:189%}
}

.hero-body{position:relative;z-index:2;text-align:center;padding:158px 24px 56px;width:100%;max-width:1040px;margin:0 auto}
@media(min-width:769px) and (max-width:1200px){
  body:not(.page-home) .hero-body{padding-top:52px}
}
.hero-tag{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin:0 auto 18px;color:#fff
}
.hero-tag::before,.hero-tag::after{
  content:"";width:min(18vw,120px);height:2px;border-radius:999px;background:rgba(255,255,255,.82)
}
.hero-tag svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.8;filter:drop-shadow(0 2px 8px rgba(0,0,0,.22))}

.hero-body h1{
  font-size:clamp(40px,3.6vw,76px);font-weight:800;text-transform:uppercase;color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.45);line-height:1.1;max-width:890px;margin:0 auto 16px
}
body.page-home .hero-body h1{font-weight:900}
@media (min-width: 769px) {
  body.page-home .hero-body h1{font-size:clamp(31px,3.6vw,76px)}
}
@media (min-width: 769px) {
  .hero-title-home br {
    display: block;
  }
}
@media (max-width: 768px) {
  .hero-title-home br {
    display: none;
  }
  .hero-title-home span {
    display: inline;
  }
}
.hero-sub{
  font-size:16px;color:rgba(255,255,255,.88);
  max-width:640px;margin:0 auto 24px;text-shadow:0 2px 10px rgba(0,0,0,.28)
}
.hero-cta{display:flex;justify-content:center}
.hero-cta .btn-white{
  font-size:13px;padding:14px 32px;letter-spacing:.03em;
  border-color:rgba(255,255,255,.94);
  background:linear-gradient(180deg,#ffffff 0%,#f7f2ee 100%);
  color:var(--red);
  box-shadow:0 16px 38px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.08);
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease,border-color .28s ease
}
.hero-cta .btn-white:hover,
.hero-cta .btn-white:focus-visible{
  background:linear-gradient(180deg,#ffffff 0%,#ffe8d9 100%);
  color:#a60f17;
  border-color:#fff;
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 24px 58px rgba(0,0,0,.22),0 0 0 10px rgba(255,255,255,.08);
  outline:none
}

/* cards de destino na base do hero */
.hero-cards{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-top:54px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden
}
.dest-card{position:relative;overflow:hidden;aspect-ratio:1/0.67;cursor:default;transition:transform .4s,filter .4s}
.dest-card:hover{transform:translateY(-4px)}
.dest-card img,.prog-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.dest-card:hover img,.prog-card-photo:hover img{transform:scale(1.06)}
.dest-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 16%,rgba(0,0,0,.74) 100%)}
.hero-cards .dest-card.reveal-soft{transform:translate3d(0,72px,0) scale(.985)}
.hero-cards .dest-card.reveal-soft.on{transform:translate3d(0,0,0) scale(1)}
.hero-cards .dest-card.reveal-soft.on:hover{transform:translate3d(0,-4px,0) scale(1)}
.dest-card-inner h3.reveal-soft,.dest-card-inner p.reveal-soft,.dest-card-cta.reveal-soft{transition-duration:.84s}
.dest-card-inner{
  position:absolute;left:22px;right:22px;bottom:72px;padding:0;color:#fff;z-index:2;text-align:center
}
.dest-card-inner h3{
  line-height:.92;text-transform:uppercase;
  color:#fff;margin-bottom:10px;text-shadow:0 3px 16px rgba(0,0,0,.28)
}
.dest-card-inner p{
  font-size:14px;color:rgba(255,255,255,.9);max-width:286px;margin:0 auto
}
.dest-card--au .dest-card-inner p{max-width:238px}
.dest-card--nz .dest-card-inner p{max-width:246px}
.dest-card-cta{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:14px;padding:8px 16px;border-radius:999px;
  background:var(--red);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;text-decoration:none;
  border:1.5px solid var(--red);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  transition:background .24s,color .24s,transform .22s,box-shadow .24s,border-color .24s
}
.dest-card-cta:hover,.dest-card-cta:focus-visible{
  background:#fff;color:var(--red);border-color:#fff;
  transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.22);
  outline:none
}

/* =========================================================
   SEÇÃO 2 — PROGRAMAS DE INTERCÂMBIO
   template-parts/home/programas.php
   ========================================================= */
.sec-programas{background:#f1eeed;padding:78px 0 174px!important}
.sec-programas .sec-head{max-width:760px;margin:0 auto 34px}
.sec-programas .sec-head h2{line-height:.95;max-width:900px}
.sec-programas .sec-head p{font-size:15px;max-width:520px;color:#666}
.prog-top-cta{display:flex;justify-content:center;margin:22px 0 28px}
.prog-top-cta .btn-red{padding:11px 22px;font-size:11px}

.prog-bento{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.prog-bento-left,.prog-bento-right{display:grid;gap:12px;align-content:start}

.prog-card-red,.prog-card-light,.prog-card-photo{
  position:relative;border-radius:18px;overflow:hidden;height:100%;
  transition:transform .35s ease,box-shadow .35s ease
}
.prog-card-red,.prog-card-light{
  padding:22px 24px 20px;
  display:flex;flex-direction:column;justify-content:space-between
}
.prog-card-red{
  background:linear-gradient(180deg,#ea1a1f 0%,#d80f17 100%);
  color:#fff;box-shadow:0 16px 34px rgba(215,26,33,.16)
}
.prog-course::before{
  content:"";position:absolute;top:28px;left:24px;width:50px;height:4px;
  border-radius:999px;background:#fff;z-index:2
}
.prog-course .btn-plus:hover,
.prog-course .btn-plus:focus-visible{
  background:#fff;
  color:var(--red);
  border-color:#fff;
  box-shadow:0 12px 28px rgba(255,255,255,.28)
}
.prog-course .btn-plus:hover::after,
.prog-course .btn-plus:focus-visible::after{border-color:rgba(255,255,255,.72)}
.prog-course,.prog-bolsas,.prog-superior{height:clamp(280px,24vw,320px)}
.prog-eap,.prog-highschool,.prog-studyabroad,.prog-vocational{height:auto;min-height:clamp(138px,11.6vw,170px)}
.prog-card-red:hover,.prog-card-light:hover,.prog-card-photo:hover{transform:translateY(-4px)}
.prog-card-red:hover{box-shadow:0 22px 40px rgba(215,26,33,.2)}
.prog-card-light{
  background:#f7f3f2;border:1px solid #e8dfdd;color:#111;
  box-shadow:0 10px 24px rgba(0,0,0,.04)
}
.prog-card-light:hover{box-shadow:0 18px 30px rgba(0,0,0,.08)}
.prog-card-photo{
  min-height:100%;cursor:pointer;
  box-shadow:0 16px 34px rgba(0,0,0,.12)
}
.prog-card-photo:hover{box-shadow:0 22px 42px rgba(0,0,0,.16)}
.prog-card-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 8%,rgba(0,0,0,.72) 100%)
}
.prog-card-copy{position:relative;z-index:2}
.prog-card-copy h3{
  line-height:1.02;font-weight:600
}
.prog-card-copy h4{
  line-height:1.02;text-transform:uppercase;letter-spacing:-.018em;font-weight:800
}
.prog-card-red .prog-card-copy{display:flex;flex-direction:column;flex:1;padding-top:52px}
.prog-card-red .prog-card-copy h3,.prog-card-red .prog-card-copy h4{margin-top:0;max-width:250px;line-height:.98}
.prog-card-light .prog-card-copy h3,.prog-card-light .prog-card-copy h4{color:var(--red);margin-bottom:10px;max-width:290px;line-height:1.01}
.prog-card-red .prog-card-copy p,.prog-card-photo .prog-card-copy p{
  font-size:14px
}
.sec-programas .prog-card-copy p{
  text-align:left!important;
}
.prog-card-red .prog-card-copy p{color:rgba(255,255,255,.94);max-width:360px;margin-top:auto}
.prog-card-light .prog-card-copy p{font-size:14px;color:#666;max-width:none}
.prog-card-photo .prog-card-copy{
  position:absolute;left:22px;right:22px;bottom:20px;color:#fff
}
.prog-card-photo .prog-card-copy h3,.prog-card-photo .prog-card-copy h4{margin-bottom:10px}
.prog-card-photo .prog-card-copy p{color:rgba(255,255,255,.92);max-width:330px}
.prog-small .prog-card-copy{padding-right:18px}
.prog-vocational .prog-card-copy h3,.prog-vocational .prog-card-copy h4,.prog-highschool .prog-card-copy h3,.prog-highschool .prog-card-copy h4{max-width:250px}
@media(max-width:768px){
  .sec-programas .sec-head p{font-size:14px;max-width:320px}
  .prog-top-cta{margin:18px 0 22px}
  .prog-bento{grid-template-columns:1fr}
  .prog-bento-left,.prog-bento-right{gap:12px}
  .prog-course,.prog-bolsas,.prog-superior,.prog-eap,.prog-highschool,.prog-studyabroad,.prog-vocational{height:auto}
  .prog-card-red,.prog-card-light,.prog-card-photo{min-height:220px}
  .prog-card-red,.prog-card-light{padding:22px 18px 18px}
  .prog-card-red .prog-card-copy{padding-top:44px}
  .prog-card-photo .prog-card-copy{left:18px;right:18px;bottom:18px}
  .prog-small .prog-card-copy{padding-right:44px}
}

/* =========================================================
   SEÇÃO 3 — FALE COM ESPECIALISTA
   template-parts/home/form-cta.php
   ========================================================= */
.sec-form{background:var(--gray) url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center/cover no-repeat;padding:70px 0;position:relative;overflow:hidden;padding-bottom:150px}
#formParticles{display:none}
.sec-form .wrap{position:relative;z-index:1}
.form-grid{display:grid;grid-template-columns:1fr;gap:26px;max-width:900px;margin:0 auto;justify-items:center}
body.page-especialistas .form-grid{max-width:1080px}
.form-copy{width:100%;text-align:center}
.form-kicker{
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(215,26,33,.08);border:1px solid rgba(215,26,33,.16);
  border-radius:999px;padding:5px 16px;font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:16px
}
.form-text{text-align:center;max-width:900px;margin:0 auto}
.form-text h2{
  line-height: 1.02;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 14px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.form-text h2 em{color:var(--red);font-style:normal}
.form-text p{font-size:15px;color:#555;margin:0 auto;max-width:560px}

.form-shell{
  width:min(100%,820px);background:var(--red);border:1px solid rgba(255,255,255,.18);border-radius:22px;
  padding:28px 28px 26px;box-shadow:0 16px 34px rgba(215,26,33,.18);
  transition:box-shadow .3s ease,transform .28s ease,border-color .3s ease
}
.form-shell:hover{
  border-color:rgba(255,255,255,.36);
  box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 24px rgba(215,26,33,.55),0 22px 54px rgba(215,26,33,.34);
  transform:translateY(-2px)
}
.ac-form{display:flex;flex-direction:column;gap:18px}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
.form-field{display:flex;flex-direction:column;gap:8px;text-align:left}
.form-field label{font-size:13px;font-weight:700;color:#fff}
.ac-form input,.ac-form select{background:#fff;border:1.5px solid rgba(255,255,255,.34);border-radius:12px;padding:14px 18px;color:#333;font-family:'Geist',sans-serif;font-size:14px;outline:none;transition:border .2s,box-shadow .2s;width:100%}
.ac-form input::placeholder{color:#b5adaa}
.ac-form input:focus,.ac-form select:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.12)}
.ac-form button{
  width:100%;justify-content:center;border:2px solid #0d0d0f;cursor:pointer;padding:15px 26px;
  font-family:'Geist',sans-serif;margin-top:2px;background:#0d0d0f;color:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.22)
}
.ac-form button:hover,.ac-form button:focus-visible{
  background:#0d0d0f;color:#fff;border-color:#0d0d0f;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 22px rgba(255,255,255,.3),0 16px 34px rgba(0,0,0,.32);
  transform:translateY(-2px);outline:none
}
.form-img-wrap{border-radius:24px;overflow:hidden;position:relative}
.form-img-wrap img{width:100%;height:100%;object-fit:cover;border-radius:24px}
@media(max-width:768px){.form-grid{grid-template-columns:1fr}.form-shell{padding:22px 18px 20px}.form-fields{grid-template-columns:1fr;gap:14px}.form-img-wrap{display:none}}
@media(max-width:768px){#formParticles{display:none}}

/* =========================================================
   SEÇÃO 3.5 — BANNER INTERMEDIÁRIO
   ========================================================= */
.sec-drive{background:var(--gray);padding:10px 0 18px}
.sec-drive .wrap{max-width:none;padding:0}
.drive-banner{
  position:relative;overflow:hidden;min-height:540px;border-radius:34px;
  background:#111;
  box-shadow:0 22px 54px rgba(0,0,0,.12);
  transition:box-shadow .32s ease;
  z-index:4;
  margin-bottom:-66px
}
.drive-banner:hover{box-shadow:0 30px 68px rgba(0,0,0,.16)}
.drive-banner-media{
  position:absolute;inset: -40px 0px; 
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/estudar-na-australia-1.webp') center 72%/cover no-repeat;
  transform:translate3d(var(--drive-x,0px),calc(var(--drive-pan-y,0px) + var(--drive-scroll-y,0px)),0);
  transition:transform .5s cubic-bezier(.22,.68,0,1),filter .45s ease;
  will-change:transform,filter
}
.drive-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.12) 100%);
  pointer-events:none
}
.drive-banner:hover .drive-banner-media{filter:saturate(1.05) contrast(1.02)}

@media(max-width:768px){
  .sec-drive{padding:0 0 12px}
  .drive-banner{min-height:320px;border-radius:26px;margin-bottom:-28px}
  .drive-banner--home{min-height:320px;border-radius:26px;margin-bottom:-48px}
  .drive-banner-media{inset:-56px -14px;background-position:62% 74%}
}

/* =========================================================
   SEÇÃO 4 — IMIGRAÇÃO
   template-parts/home/imigracao.php
   ========================================================= */
.sec-imig{
  position:relative;z-index:6;overflow:hidden;padding:86px 0 78px;
  background:#0b0d12
}
.sec-imig.parapara{margin-top:-46px;z-index:6; padding-bottom: 200px !important; }
.sec-imig::before{
  content:"";position:absolute;inset:-42px;
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-informacoes-intercambio-australia-1.webp') center 58%/cover no-repeat;
  opacity:.4;
  filter:saturate(.72) brightness(.72) contrast(.98);
  transform:translate3d(var(--imig-bg-x,0px),var(--imig-bg-y,0px),0) scale(var(--imig-bg-scale,1.08));
  transition:transform .55s cubic-bezier(.22,.68,0,1),opacity .38s ease,filter .38s ease;
  will-change:transform,opacity,filter
}
.sec-imig::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,13,18,.56) 0%,rgba(11,13,18,.74) 100%);
  transition:background .38s ease
}
.sec-imig:hover::before{
  opacity:.5;
  filter:saturate(.86) brightness(.82) contrast(1)
}
.sec-imig:hover::after{
  background:linear-gradient(180deg,rgba(11,13,18,.48) 0%,rgba(11,13,18,.68) 100%)
}
.sec-imig--blue{background:#0a1640;padding-top:150px!important}
.sec-imig--blue::before{
  opacity:.35;
  filter:saturate(.45) brightness(.6) contrast(.98) hue-rotate(190deg)
}
.sec-imig--blue::after{
  background:linear-gradient(180deg,rgba(10,22,64,.52) 0%,rgba(8,16,52,.72) 100%)
}
.sec-imig--blue:hover::before{
  opacity:.46;
  filter:saturate(.6) brightness(.72) contrast(1) hue-rotate(190deg)
}
.sec-imig--blue:hover::after{
  background:linear-gradient(180deg,rgba(10,22,64,.44) 0%,rgba(8,16,52,.64) 100%)
}
.sec-imig .wrap{position:relative;z-index:2}
.imig-lead{
  max-width:760px;margin:0 auto 34px;text-align:center
}
.imig-lead h2{
  line-height:.94;text-transform:uppercase;
  color:#fff;margin-bottom:12px
}
.imig-lead p{
  max-width:680px;margin:0 auto 20px;color:rgba(255,255,255,.82);font-size:15px
}
.imig-lead .btn-red{
  padding:11px 20px;font-size:11px;box-shadow:0 12px 28px rgba(215,26,33,.18)
}
.imig-wall{
  display:grid;grid-template-columns:1.08fr .92fr;gap:14px;align-items:stretch
}
.imig-wall--single{display:block;max-width:980px;margin:0 auto}
.imig-wall--single .imig-feature{min-height:0;justify-content:flex-start}
.imig-wall--single .imig-copy{max-width:none}
.imig-stack{
  display:grid;grid-template-rows:1fr 1fr;gap:14px
}
.imig-feature,.imig-mini{
  position:relative;border-radius:18px;
  background:rgba(6,6,8,.88);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
  padding:30px 34px 26px;overflow:hidden;isolation:isolate;
  transition:transform .35s ease,box-shadow .35s ease,border-color .28s ease,background .28s ease,backdrop-filter .28s ease
}
.imig-feature--sponsor{
  background-color:rgba(6,6,8,.88);
  background-image:url("https://australiancentre.com.br/wp-content/uploads/2026/08/riscos-1.webp");
  background-repeat:no-repeat;
  background-position:330px -120px;
  background-size:60%
}
.imig-feature:hover,.imig-mini:hover{
  transform:translateY(-6px) scale(1.01);
  background:rgba(8,8,10,.52);
  box-shadow:0 30px 58px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.62),0 0 28px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.82)
}
.imig-feature--sponsor:hover{
  background-image:url("https://australiancentre.com.br/wp-content/uploads/2026/08/riscos-1.webp");
  background-repeat:no-repeat;
  background-position:330px -120px;
  background-size:60%
}
.imig-feature{min-height:272px;display:flex;flex-direction:column;justify-content:flex-end}
.imig-mini{min-height:129px}
.imig-feature::before,.imig-mini::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
  pointer-events:none
}
.imig-feature::after,.imig-mini::after{
  content:"";position:absolute;top:-32%;bottom:-32%;left:-44%;width:36%;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 32%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.02) 68%,rgba(255,255,255,0) 100%);
  transform:translateX(-180%) skewX(-18deg);
  opacity:.38;mix-blend-mode:screen;pointer-events:none;
  animation:imigShine 8.6s ease-in-out infinite
}
.imig-stack .imig-mini:first-child::after{animation-delay:1.2s}
.imig-stack .imig-mini:last-child::after{animation-delay:2.35s}
.imig-icon{
  position:relative;z-index:2;
  width:50px;height:50px;object-fit:contain;margin-bottom:28px;
  transition:transform .3s ease,filter .3s ease
}
.imig-mini .imig-icon{
  position:absolute;top:22px;right:24px;margin-bottom:0;width:36px;height:36px
}
.imig-feature:hover .imig-icon,.imig-mini:hover .imig-icon{
  transform:translateY(-2px) scale(1.04);
  filter:drop-shadow(0 0 12px rgba(255,82,92,.24))
}
.imig-copy{position:relative;z-index:2;max-width:430px}
.imig-copy h3,.imig-copy h4 {
 
  line-height:.94;text-transform:uppercase;color:#fff;margin-bottom:14px
}

.imig-copy h5 { }


.imig-mini .imig-copy h3,.imig-mini .imig-copy h4,.imig-mini .imig-copy h5{
  max-width:320px;margin-bottom:10px
}
.imig-copy p{
  color:rgba(255,255,255,.84);font-size:14px;max-width:420px;text-align:left!important
}
.imig-mini .imig-copy p{max-width:300px}

.sec-imig--blue .imig-feature,.sec-imig--blue .imig-mini{
  background:rgba(8,18,58,.46);
  border-color:rgba(255,255,255,.16);
  backdrop-filter:blur(34px) saturate(1.7);
  -webkit-backdrop-filter:blur(34px) saturate(1.7);
  box-shadow:0 26px 64px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(255,255,255,.05)
}
.sec-imig--blue .imig-feature:hover,.sec-imig--blue .imig-mini:hover{
  background:rgba(10,22,70,.58);
  backdrop-filter:blur(40px) saturate(1.85);
  -webkit-backdrop-filter:blur(40px) saturate(1.85)
}
.sec-imig--blue .imig-wall--single .imig-feature{min-height:0;justify-content:flex-start}
.sec-imig--blue .imig-wall--single .imig-copy{max-width:none}
.sec-imig--blue .imig-lead{max-width:980px;text-align:left}
.sec-imig--blue .imig-lead h2{max-width:590px;margin-left:0}
.sec-imig--blue .imig-lead--australia{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  align-items:center;
  gap:34px;
  max-width:1140px;
  margin:0 auto 46px;
}
.sec-imig--blue .imig-lead--australia h2{
  max-width:460px;
  margin:0;
  font-size:clamp(32px,4vw,46px);
}
.imig-lead-photo{
  position:relative;
  overflow:hidden;
  min-height:140px;
  border-radius:26px;
  box-shadow:0 24px 58px rgba(0,0,0,.2);
}
.imig-lead-photo img{
  width:100%;
  height:100%;
  min-height:140px;
  object-fit:cover;
  object-position:center;
}
.sec-imig--blue .imig-copy--plain{
  max-width:1120px;
  margin:0 auto;
}
.sec-imig--blue .imig-copy--plain p{
  max-width:1080px;
  color:#fff;
  font-size:15px;
  line-height:1.34;
  margin:0 0 20px;
}

@keyframes imigShine{
  0%{transform:translateX(-180%) skewX(-18deg);opacity:0}
  10%{opacity:.16}
  20%{opacity:.42}
  34%{transform:translateX(220%) skewX(-18deg);opacity:0}
  100%{transform:translateX(220%) skewX(-18deg);opacity:0}
}

@media(max-width:900px){
  .sec-imig{padding:70px 0 58px}
  .sec-imig.parapara{margin-top:-22px}
  .imig-wall{grid-template-columns:1fr}
  .imig-stack{grid-template-rows:none;grid-template-columns:1fr}
  .sec-imig--blue .imig-lead--australia{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:34px;
  }
  .sec-imig--blue .imig-lead--australia h2{
    max-width:680px;
  }
}
@media(max-width:560px){
  .sec-imig::before{
    inset:0;
    background-position:62% center
  }
  .sec-imig--blue .imig-feature,.sec-imig--blue .imig-mini{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(255,255,255,.05)
  }
  .imig-lead p{font-size:14px;max-width:320px}
  .imig-feature--sponsor,.imig-feature--sponsor:hover{
    background-position:160px -80px;
    background-size:70%
  }
  .imig-feature,.imig-mini{padding:24px 22px 22px}
  .imig-feature{min-height:240px}
  .imig-mini{min-height:180px}
  .imig-mini .imig-icon{top:18px;right:18px}
  .imig-mini .imig-copy h3,.imig-mini .imig-copy h4,.imig-mini .imig-copy h5{max-width:220px}
  .sec-imig--blue .imig-lead--australia h2{
    font-size:clamp(28px,8.6vw,38px);
  }
  .imig-lead-photo,
  .imig-lead-photo img{
    min-height:150px;
    border-radius:20px;
  }
  .sec-imig--blue .imig-copy--plain p{
    font-size:14px;
    line-height:1.42;
  }
}

/* =========================================================
   SEÇÃO 5 — SAIBA TUDO / VÍDEO
   template-parts/home/video.php
   ========================================================= */
.sec-video{position:relative;z-index:7;background:#fff;padding:74px 0 58px}
.sec-video.parapara{margin-top:-56px;z-index:7}
.alife-wrap{max-width:760px;margin:0 auto;text-align:center}
.alife-logo{display:flex;justify-content:center;margin-bottom:12px}
.alife-logo img{height:56px;width:auto;opacity:.98;transform-origin:center bottom}
.alife-copy h2{text-transform:uppercase;line-height:1.02;max-width:560px;margin:0 auto 10px}
.alife-copy p{font-size:14px;color:#686868;max-width:480px;margin:0 auto}
.alife-card{
  position:relative;display:block;max-width:540px;margin:28px auto 0;overflow:hidden;border-radius:24px;
  background:#0f1115;box-shadow:0 18px 14px rgba(0,0,0,.14);cursor:pointer;
  transition:transform .35s ease,box-shadow .35s ease
}
.alife-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(0,0,0,.18)}
.alife-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.alife-card::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 12%,rgba(0,0,0,.5) 100%);
  pointer-events:none
}
@keyframes alifePlayPulse{
  0%{opacity:.52;transform:scale(.88)}
  70%,100%{opacity:0;transform:scale(1.24)}
}
.play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:108px;height:108px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.32),rgba(255,255,255,.14) 38%,rgba(215,26,33,.82) 39%,rgba(215,26,33,.94) 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  transition:box-shadow .3s,transform .3s
}
.play-btn::before{
  content:"";position:absolute;inset:-14px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,.18)
}
.play-btn::after{
  content:"";position:absolute;inset:-16px;border-radius:50%;
  border:2px solid rgba(215,26,33,.28);animation:alifePlayPulse 2.1s ease-out infinite
}
.alife-card:hover .play-btn{
  transform:translate(-50%,-50%) scale(1.12);
  box-shadow:0 24px 58px rgba(0,0,0,.34)
}
.play-btn svg{fill:#fff;margin-left:7px;width:34px;height:34px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.28))}

/* modal vídeo */
.vmodal{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);place-items:center}
.vmodal.open{display:grid}
.vmodal-inner{position:relative;width:min(90vw,960px);aspect-ratio:16/9;border-radius:16px;overflow:hidden;animation:pop .22s ease}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}
.vmodal-inner iframe{width:100%;height:100%;border:none}
.vmodal-close{position:absolute;top:-48px;right:0;background:#fff;border:none;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:20px;font-weight:700;cursor:pointer;color:#111}

/* modal dos cards via botão + */
.plus-modal{display:none;position:fixed;inset:0;z-index:99998;background:rgba(9,9,13,.72);backdrop-filter:blur(12px);place-items:center;padding:24px}
.plus-modal.open{display:grid}
.plus-modal-card{
  position:relative;width:min(92vw,560px);background:#fff;border-radius:28px;
  padding:30px 26px 24px;box-shadow:0 30px 80px rgba(0,0,0,.28);
  overflow:hidden;animation:pop .22s ease
}
.plus-modal-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:7px;
  background:linear-gradient(90deg,var(--red) 0%,#ff6267 100%)
}
.plus-modal-close{
  position:absolute;top:16px;right:16px;width:38px;height:38px;border:none;border-radius:50%;
  background:#f3f3f4;color:#121212;font-size:22px;display:grid;place-items:center;cursor:pointer
}
.plus-modal-kicker{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;
  background:rgba(215,26,33,.08);border:1px solid rgba(215,26,33,.12);
  border-radius:999px;padding:6px 14px;font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;color:var(--red)
}
.plus-modal-kicker::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--red);
  box-shadow:0 0 0 6px rgba(215,26,33,.12)
}
.plus-modal h3{line-height:.98;text-transform:uppercase;margin-bottom:14px}
.plus-modal p{font-size:15px;color:#5a5a62}
.plus-modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.plus-modal-actions .btn-red,.plus-modal-actions .btn-white{font-size:12px;padding:11px 18px}
.plus-modal-actions .btn-white{background:#fff;color:var(--red);border-color:rgba(215,26,33,.2)}
.plus-modal-actions .btn-white:hover{background:var(--red);color:#fff;border-color:var(--red)}

@media(max-width:768px){
  .sec-video.parapara{margin-top:-34px}
  .alife-logo img{height:42px}
  .alife-copy h2{max-width:340px}
  .alife-copy p{font-size:14px;max-width:320px}
  .alife-card{max-width:320px;border-radius:22px}
  .play-btn{width:82px;height:82px}
  .play-btn svg{width:26px;height:26px;margin-left:5px}
}

/* =========================================================
   SEÇÃO 6 — GROUP OF EIGHT
   template-parts/home/parceiros.php
   ========================================================= */
.sec-g8{position:relative;z-index:8;background:#fff;padding:0 0 58px}
.sec-g8.parapara{margin-top:-26px;z-index:8}
.sec-g8 .wrap{max-width:none;padding:0}
.g8-panel{
  background:var(--red);border-radius:var(--radius) var(--radius) 0 0;padding:147px 34px 178px;
  box-shadow:0 22px 60px rgba(215,26,33,.18);overflow:hidden;margin-bottom:-50px
}
.g8-copy{
  max-width:760px;margin:0 auto;text-align:center
}
.g8-copy h2{
  color:#fff;line-height:.92;
  text-transform:uppercase;max-width:780px;margin:0 auto 14px
}
.g8-copy p{
  color:rgba(255,255,255,.92);font-size:15px;max-width:560px;margin:0 auto 22px
}
.btn-dark{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:11px 18px;border-radius:999px;
  background:#090909;color:#fff;border:1.5px solid #090909;
  font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease
}
.btn-dark:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  background:#fff;color:#111
}
.g8-photo{
  max-width:680px;margin:34px auto 0;border-radius:28px;overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.18)
}
.g8-photo img{
  width:100%;aspect-ratio:16/8.4;object-fit:cover
}
.g8-slider-shell{
  max-width:1240px;margin:34px auto 0;padding:0 10px
}
.g8-slider-top{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:22px 0 0
}
.g8-slider-line{
  flex:1;height:2px;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.18) 100%)
}
.g8-slider-nav{
  display:flex;align-items:center;gap:10px;flex-shrink:0
}
.g8-nav-btn{
  width:42px;height:42px;border:none;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.94);color:var(--red);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease
}
.g8-nav-btn:hover{
  transform:translateY(-2px) scale(1.04);
  background:#090909;color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.18)
}
.g8-nav-btn.swiper-button-disabled{
  opacity:.42;cursor:default;transform:none;box-shadow:none
}
.g8-nav-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.g8-swiper{overflow:visible}
.g8-swiper .swiper-wrapper{align-items:stretch}
.g8-swiper .swiper-slide{height:auto}
.g8-logo-card{
  height:100%;min-height:166px;border-radius:18px;
  background:linear-gradient(180deg,#f8f4f4 0%,#ffffff 100%);
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  padding:18px 16px 16px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;position:relative;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease
}
.g8-logo-card::before{
  content:"";position:absolute;inset:-60% auto auto -20%;
  width:70%;height:180%;
  background:linear-gradient(120deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 80%);
  transform:rotate(16deg) translateX(-120%);
  transition:transform .65s ease
}
.g8-logo-card:hover,
.g8-logo-card:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.34);
  border-color:rgba(255,255,255,.88);
  outline:none
}
.g8-logo-card:hover::before,
.g8-logo-card:focus-visible::before{transform:rotate(16deg) translateX(240%)}
.g8-logo-slot{
  width:100%;max-width:154px;min-height:58px;
  border-radius:0;
  background:transparent;
  border:none;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;padding:0
}
.g8-logo-slot img{
  max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;transform:scale(1.12)
}
.g8-acronym{
  font-size:22px;font-weight:800;letter-spacing:.08em;color:#18213b
}
.g8-card-name{
  font-size:13px;font-weight:800;line-height:1.3;text-transform:uppercase;color:#111;max-width:156px
}

@media(max-width:768px){
  .sec-g8{padding:0 0 42px}
  .sec-g8.parapara{margin-top:-18px}
  .g8-panel--home{border-radius:var(--radius-mobile) var(--radius-mobile) 0 0;padding:90px 18px 132px}
  .g8-copy h2{max-width:340px}
  .g8-copy p{font-size:14px;max-width:320px}
  .btn-dark{font-size:11px;padding:10px 16px}
  .g8-photo{margin-top:26px;border-radius:22px}
  .g8-photo img{aspect-ratio:16/11}
  .g8-slider-shell{margin-top:26px;padding:0 4px}
  .g8-slider-top{margin-top:18px}
  .g8-nav-btn{width:38px;height:38px}
  .g8-logo-card{min-height:0;padding:16px 10px 14px;aspect-ratio:1/1.05}
  .g8-logo-slot{max-width:100%;min-height:64px;margin-bottom:10px;padding:0}
  .g8-logo-slot img{max-height:56px}
  .g8-acronym{font-size:18px}
  .g8-card-name{font-size:11px;max-width:none}
}

/* =========================================================
   SEÇÃO 7 — QUANTO CUSTA
   template-parts/home/custo.php
   ========================================================= */
.sec-custo{background:#fff;padding:70px 0 78px}
.custo-layout{display:grid;grid-template-columns:1fr;gap:34px;align-items:start;justify-items:center;text-align:center}
.custo-text{max-width:760px;margin:0 auto}
.custo-text h2{text-transform:uppercase;line-height:.92;max-width:760px;margin:0 auto 14px}
.custo-text p{font-size:15px;color:#555;margin:0 auto 30px;max-width:720px}
.formulario-custo{width:min(100%,940px);margin:0 auto}
.custo-search-form{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(170px,1.25fr) minmax(190px,1.35fr) minmax(130px,.8fr) auto;
  align-items:end;
  gap:12px;
  width:100%;
}
.custo-field{display:flex;flex-direction:column;gap:7px;text-align:left;min-width:0}
.custo-field span{font-size:12px;font-weight:800;color:#171016;text-transform:uppercase}
.custo-field select,
.custo-lead-form input{
  width:100%;
  min-height:48px;
  border:1px solid rgba(25,18,22,.18);
  border-radius:999px;
  background:#fff;
  color:#171016;
  font-size:14px;
  font-weight:600;
  outline:none;
  transition:border .2s,box-shadow .2s;
}
.custo-field select{
  appearance:none;
  padding:0 42px 0 17px;
  background-image:linear-gradient(45deg,transparent 50%,#171016 50%),linear-gradient(135deg,#171016 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.custo-field select:focus,
.custo-lead-form input:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(215,26,33,.11)}
.custo-search-submit{min-height:48px;justify-content:center;white-space:nowrap}
.custo-form-error{grid-column:1/-1;min-height:18px;margin:0;color:var(--red);font-size:13px;font-weight:700;text-align:center}
.custo-lead-modal{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:20px}
.custo-lead-modal.is-open{display:grid}
.custo-lead-backdrop{position:absolute;inset:0;background:rgba(10,8,10,.74);backdrop-filter:blur(8px)}
.custo-lead-dialog{
  position:relative;
  z-index:1;
  width:min(100%,680px);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#fff;
  border-radius:18px;
  padding:34px 34px 24px;
  box-shadow:0 28px 80px rgba(0,0,0,.26);
  text-align:center;
}
.custo-lead-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f2f2f2;
  color:#171016;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.custo-lead-copy h3{font-size:30px;line-height:1.02;margin:8px auto 12px;max-width:560px;color:#251116}
.custo-lead-copy p{margin:0 auto 22px;max-width:520px;color:#555;font-size:15px}
.custo-lead-form{display:grid;gap:11px;max-width:460px;margin:0 auto}
.custo-lead-form input{padding:0 18px;border-radius:999px}
.custo-phone-help{display:block;color:#777;font-size:12px;margin:0 0 4px}
.custo-honeypot{display:none!important}
.custo-lead-submit{justify-content:center;margin-top:4px;white-space:normal;line-height:1.2}
/* Caixa do selo do reCAPTCHA. O main.js monta o widget aqui dentro com
   badge:'inline' — sem isso o Google injeta o selo no <body> com
   position:fixed e ele cai por cima do botao do WhatsApp. Some enquanto
   estiver vazia, para nao abrir um buraco se o script do Google falhar. */
.custo-recaptcha{display:flex;justify-content:center;margin-top:2px}
.custo-recaptcha:empty{display:none}
.custo-privacy{max-width:500px;margin:18px auto 0;color:#777;font-size:12px;line-height:1.45}
.custo-privacy a{color:var(--red);font-weight:800}

/* 2x2 grid de cards de custo */
.custo-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:780px;margin:0 auto}
.custo-card{position:relative;border-radius:var(--card);overflow:hidden;min-height:180px;cursor:pointer;transition:transform .35s}
.custo-card:hover{transform:scale(1.03)}
.custo-card-bg{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .6s}
.custo-card:hover .custo-card-bg{transform:scale(1.07)}
.custo-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.72) 100%)}
.custo-card-inner{position:absolute;bottom:0;left:0;right:0;padding:18px;z-index:2;color:#fff}
.custo-card-inner h3{color:#fff;text-transform:uppercase;margin-bottom:2px}
.custo-card-inner p{color:rgba(255,255,255,.8);font-size:14px;margin:0}

/* card vermelho de CTA no custo */
.custo-card-red{background:radial-gradient(circle,var(--red),#890208);border-radius:var(--card);padding:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;position:relative;overflow:hidden;transition:transform .35s}
.custo-card-red:hover{transform:scale(1.03)}
.custo-card-red h3{color:#fff;text-transform:uppercase;line-height:1.1}
.custo-card-red p,
.escola-body p{font-size:14px}
.custo-card-red p{color:rgba(255,255,255,.8)}

@media(max-width:768px){
  .custo-layout{grid-template-columns:1fr}
  .custo-cards{grid-template-columns:1fr}
  .custo-text p{max-width:340px;font-size:14px;margin-bottom:30px}
  .custo-search-form{grid-template-columns:1fr;gap:10px}
  .custo-field span{font-size:11px;padding-left:18px}
  .dep-text{font-size:14px;line-height:20px}
  .custo-search-submit{width:100%;margin-top:2px}
  .custo-form-error{text-align:left}
  .custo-lead-dialog{padding:30px 18px 20px;border-radius:14px}
  .custo-lead-copy h3{font-size:24px;max-width:330px}
  .custo-lead-copy p{font-size:14px}
}

/* =========================================================
   SEÇÃO 8 — ESCOLAS E UNIVERSIDADES
   template-parts/home/escolas.php
   ========================================================= */
.sec-escolas{
  position:relative;
  background:#122357;
  background-size:auto, 92px 92px, 92px 92px, auto;
  border-radius:var(--radius) var(--radius) 0 0;
  padding:78px 0 300px;
  overflow:hidden
}
.sec-escolas .wrap{position:relative;z-index:1}
.schools-head h2{line-height:.92;max-width:860px}
.schools-head p{font-size:15px;max-width:560px;color:rgba(255,255,255,.86)}
/* === ESCOLAS — PARALLAX TRACKS === */
.escolas-tracks{
  margin-top:44px;
  overflow:hidden;
  padding:10px 0 24px;
  position:relative;
  width:100vw;
  left:50%;
  margin-left:-50vw
}
.escolas-tracks::before,
.escolas-tracks::after{
  content:"";position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:3
}
.escolas-tracks::before{left:0;background:linear-gradient(to right,#fff 10%,transparent 100%)}
.escolas-tracks::after{right:0;background:linear-gradient(to left,#fff 10%,transparent 100%)}
.ep-track{
  display:flex;
  gap:14px;
  padding:0 0 0 64px;
  will-change:transform;
  margin-bottom:14px
}
.ep-track:last-child{margin-bottom:0}
.ep-card{
  flex-shrink:0;
  background:#fff;
  border-radius:18px;
  display:flex;
  align-items:center;
  overflow:hidden;
  text-decoration:none;
  color:#17181c;
  border:1px solid rgba(18,24,38,.09);
  box-shadow:0 8px 22px rgba(18,24,38,.07);
  transition:transform .42s cubic-bezier(.34,1.56,.64,1),box-shadow .38s ease,border-color .38s ease;
  cursor:pointer
}
.ep-card:hover{
  transform:scale(1.06);
  border-color:var(--red);
  box-shadow:0 0 0 1px var(--red),0 0 14px rgba(215,26,33,.28),0 12px 28px rgba(18,24,38,.1)
}
.ep-nav{
  display:flex;justify-content:center;gap:14px;margin-top:28px
}
.ep-nav-btn{
  width:50px;height:50px;border-radius:50%;border:none;
  background:#fff;color:#111;
  box-shadow:0 8px 28px rgba(18,24,38,.13);
  display:grid;place-items:center;cursor:pointer;
  transition:background .25s,transform .22s,box-shadow .25s,color .25s
}
.ep-nav-btn:hover{background:#111;color:#fff;transform:scale(1.07);box-shadow:0 14px 34px rgba(18,24,38,.2)}
.ep-nav-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ep-mobile{display:none}
.ep-card--sm{width:200px;min-height:74px}
.ep-card--md{width:268px;min-height:90px}
.ep-card--lg{width:338px;min-height:101px}
.ep-card[data-offset="1"]{margin-top:18px}
.ep-card[data-offset="2"]{margin-top:32px}
.ep-logo{
  flex-shrink:0;
  width:35%;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0 0 0 10px
}
.ep-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain
}
.ep-copy{
  flex:1;
  padding:12px 14px 12px 12px;
  min-width:0
}
.ep-name{
  display:block;
  font-size:13px;
  font-weight:800;
  line-height:1.15;
  color:#17181c;
  margin-bottom:6px
}
.ep-meta{
  display:flex;
  align-items:flex-start;
  gap:5px;
  font-size:11.5px;
  line-height:1.35;
  color:#666;
  margin:0
}
.ep-meta svg{width:10px;height:10px;flex-shrink:0;margin-top:2px;color:var(--red)}
@media(max-width:768px){
  .sec-escolas{background-size:auto, 56px 56px, 56px 56px, auto;padding-bottom:96px}
  .schools-head p{font-size:14px;max-width:330px}
  .escolas-tracks{display:none}
  .ep-nav{display:none}
  .ep-mobile{display:block;margin-top:24px;padding:0 0 24px}
  .ep-mobile .ep-mobile-swiper{overflow:hidden}
  .ep-mobile .swiper-slide{height:auto!important}
  .ep-mc{
    background:#fff;border-radius:14px;overflow:hidden;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-decoration:none;color:#17181c;
    border:1px solid rgba(18,24,38,.09);
    box-shadow:0 4px 14px rgba(18,24,38,.06);
    padding:4px 4px 8px;gap:0;
    aspect-ratio:1 / 1.05
  }
  .ep-mc-logo{
    width:100%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    padding:0 2px;flex:1;overflow:hidden
  }
  .ep-mc-logo img{display:block;max-width:106%;max-height:104px;height:auto;object-fit:contain;transform:scale(1.14)}
  .ep-mc-copy{width:100%;padding:2px 4px 0;text-align:center;min-width:0}
  .ep-mc-name{display:block;font-size:9.5px;font-weight:800;line-height:1.2;color:#17181c;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ep-mc-city{font-size:8.5px;color:#888;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  /* controles mobile */
  .ep-mobile-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px auto 0;position:relative;z-index:2}
  .ep-mob-btn{
    width:40px;height:40px;border-radius:50%;border:none;
    background:#fff;color:#111;cursor:pointer;flex-shrink:0;
    box-shadow:0 4px 16px rgba(18,24,38,.13);
    display:grid;place-items:center;
    transition:background .22s,color .22s,transform .2s,box-shadow .22s
  }
  .ep-mob-btn:active{transform:scale(.94)}
  .ep-mob-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
  .ep-mob-btn.swiper-button-disabled{opacity:.28;cursor:default;pointer-events:none}
  .ep-mobile-pagination{
    display:flex!important;align-items:center;justify-content:center;
    gap:7px;position:static!important;flex:1;width:auto!important;bottom:auto!important
  }
  .ep-mobile-pagination .swiper-pagination-bullet{
    width:7px;height:7px;border-radius:50%;
    background:#111;opacity:.18;margin:0!important;
    transition:opacity .25s,width .28s cubic-bezier(.4,0,.2,1),border-radius .28s;
    display:block
  }
  .ep-mobile-pagination .swiper-pagination-bullet-active{
    opacity:1;width:22px;border-radius:4px;background:var(--red)
  }
}

.sec-escolas{padding:138px 0 190px}
.sec-escolas .escolas-tracks,
.sec-escolas .ep-mobile{display:none!important}
.schools-swiper{
  margin:54px 0 0;
  padding:16px 0 30px;
  overflow:hidden
}
.schools-swiper .swiper-wrapper{align-items:stretch}
.schools-swiper .swiper-slide{height:auto}
.school-feature-card{
  width:100%;
  height:100%;
  min-height:332px;
  background:linear-gradient(155deg,#fff 0%,#f7f7f7 100%);
  border:1px solid rgba(17,17,17,.06);
  border-radius:18px;
  padding:24px 20px 20px;
  color:#111;
  display:flex;
  flex-direction:column;
  box-shadow:0 16px 34px rgba(18,24,38,.06);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease
}
.schools-swiper .swiper-slide:nth-child(even) .school-feature-card{
  background:linear-gradient(155deg,#ededed 0%,#f6f6f6 100%);
  border-color:rgba(17,17,17,.08)
}
.school-feature-card--outline{
  background:inherit;
  border-color:rgba(17,17,17,.14)
}
.schools-swiper .swiper-slide:nth-child(odd) .school-feature-card--outline{
  background:linear-gradient(155deg,#fff 0%,#f7f7f7 100%)
}
.schools-swiper .swiper-slide:nth-child(even) .school-feature-card--outline{
  background:linear-gradient(155deg,#ededed 0%,#f6f6f6 100%)
}
.school-feature-card:hover{
  transform:translateY(-7px);
  background:linear-gradient(155deg,#fff6f6 0%,#ffecea 100%);
  border-color:rgba(215,26,33,.32);
  box-shadow:0 26px 48px rgba(215,26,33,.14)
}
.schools-swiper .swiper-slide .school-feature-card:hover,
.schools-swiper .swiper-slide .school-feature-card--outline:hover{
  background:linear-gradient(155deg,#fff6f6 0%,#ffecea 100%);
  border-color:rgba(215,26,33,.32);
  box-shadow:0 26px 48px rgba(215,26,33,.14)
}
.school-feature-logo{
  width:100%;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:22px
}
.school-feature-logo img{
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain
}
.school-feature-card h3{
  font-size:20px;
  line-height:1.1;
  font-weight:600;
  letter-spacing:0;
  color:#0d0d0d;
  margin:0 0 16px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.school-feature-card p{
  font-size:13px;
  line-height:1.1;
  color:#606064;
  margin:0 0 22px;
  text-align:left!important;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.school-feature-plus{
  --plus-bg:var(--red);
  --plus-color:#fff;
  position:relative;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--plus-bg);
  color:var(--plus-color);
  display:grid;
  place-items:center;
  margin-top:auto;
  text-decoration:none;
  flex-shrink:0;
  border:1.5px solid transparent;
  box-shadow:0 10px 24px rgba(215,26,33,.24);
  cursor:pointer;
  overflow:visible;
  animation:plusPulse 1.9s ease-in-out infinite;
  transition:transform .28s,box-shadow .28s,background .28s,border-color .28s,color .28s
}
.school-feature-plus::before,
.school-feature-plus::after{
  content:"";position:absolute;border-radius:inherit;pointer-events:none
}
.school-feature-plus::before{
  inset:-7px;border:1.5px solid rgba(215,26,33,.38);
  animation:plusRing 1.9s ease-out infinite
}
.school-feature-plus::after{
  inset:-12px;border:1.5px solid currentColor;opacity:0;transform:scale(.76);
  transition:opacity .28s ease,transform .28s ease
}
.school-feature-plus span{
  position:relative;
  display:block;
  width:15px;
  height:15px;
  font-size:0;
  line-height:0;
  z-index:1
}
.school-feature-plus span::before,
.school-feature-plus span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%)
}
.school-feature-plus span::before{
  width:15px;
  height:2.5px
}
.school-feature-plus span::after{
  width:2.5px;
  height:15px
}
.school-feature-plus:hover,
.school-feature-plus:focus-visible{
  animation:none;
  background:transparent;
  color:var(--plus-bg);
  border-color:currentColor;
  transform:scale(1.06);
  box-shadow:none;
  outline:none
}
.school-feature-plus:hover::before,
.school-feature-plus:focus-visible::before{opacity:0;animation:none}
.school-feature-plus:hover::after,
.school-feature-plus:focus-visible::after{opacity:1;transform:scale(1.12)}
.sec-escolas .ep-nav{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:24px 8px 0 0
}
.sec-escolas .ep-nav::before{
  content:"";
  height:1px;
  flex:1 1 auto;
  min-width:80px;
  background:rgba(255,255,255,.56);
  margin-right:8px
}
.sec-escolas .ep-nav-btn{
  width:48px;
  height:48px;
  background:#fff;
  color:#171016;
  border:1px solid rgba(17,17,17,.12);
  box-shadow:0 10px 24px rgba(18,24,38,.1)
}
.sec-escolas .ep-nav-btn:hover,
.sec-escolas .ep-nav-btn:focus-visible{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
  outline:none
}
.sec-escolas .ep-nav-btn:disabled,
.sec-escolas .ep-nav-btn.is-disabled{
  opacity:.34;
  cursor:default;
  transform:none;
  background:#fff;
  color:#171016;
  border-color:rgba(17,17,17,.12);
  box-shadow:0 6px 16px rgba(18,24,38,.06)
}
@media(max-width:768px){
  .sec-escolas{padding:56px 0 112px}
  .schools-swiper{
    width:calc(100% + 24px);
    margin-top:28px;
    margin-right:-24px;
    padding:0 0 18px
  }
  .school-feature-card{
    min-height:322px
  }
  .school-feature-card h3{font-size:20px}
  .school-feature-card p{font-size:13px;line-height:1.1}
  .school-feature-plus{width:46px;height:46px}
  .sec-escolas .ep-nav{justify-content:center;margin:20px 0 0}
  .sec-escolas .ep-nav::before{display:none}
}

/* =========================================================
   SEÇÃO 9 — ÚLTIMAS NOTÍCIAS
   template-parts/home/blog.php
   ========================================================= */
.sec-blog{background:var(--gray);padding:0 0 180px;display:flow-root}
.sec-blog.parapara{z-index:10}
.sec-dep.parapara{z-index:11}
.sec-faq.parapara{z-index:12}
.sec-cert.parapara{z-index:13}
.blog-hdr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;margin-bottom:40px}
.blog-hdr h2{text-transform:uppercase;max-width:680px;margin-left:auto;margin-right:auto}
.blog-hdr h2 em{font-style:normal}
.blog-hdr p{max-width:540px;margin-left:auto;margin-right:auto}
.blog-hdr .bar{margin:0 auto}
/* imagem invasora entre seções */
.blog-mic-wrap{
  position:relative;overflow:hidden;
  max-width:780px;
  margin:-290px auto 52px;
  border-radius:28px;
  min-height:420px;
  box-shadow:0 24px 56px rgba(0,0,0,.18)
}
.blog-mic-media{
  position:absolute;inset:-60px 0;
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/tudo-sobre-intercambio-australia-e-nova-zelandia-1.webp') center 30%/cover no-repeat;
  will-change:transform;
  transform:translate3d(0,0,0)
}
.blog-mic-wrap::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.28) 100%);
  pointer-events:none
}

.blog-slider-shell{position:relative}
.blog-swiper{overflow:hidden;padding:4px 4px 28px}
.blog-swiper .swiper-wrapper{align-items:stretch}
.blog-swiper .swiper-slide{height:auto;display:flex}
.blog-swiper .blog-card{width:100%;height:100%}

/* card editorial branco */
.blog-card{
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 2px 18px rgba(0,0,0,.07);
  transition:transform .34s cubic-bezier(.22,.68,0,1.18),box-shadow .34s ease;
  display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer
}
.blog-card.stagger-card{
  transition:opacity .68s ease,transform .68s cubic-bezier(.22,.68,0,1),filter .68s ease,box-shadow .34s ease;
}
.blog-card:hover{transform:translateY(-7px);box-shadow:0 18px 44px rgba(0,0,0,.13)}
.blog-card-img-wrap{overflow:hidden;aspect-ratio:4/3;flex-shrink:0}
.blog-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .52s ease}
.blog-card:hover .blog-card-img{transform:scale(1.05)}
.blog-card-body{padding:20px 20px 16px;display:flex;flex-direction:column;flex:1}
.blog-cat{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--red);margin-bottom:9px}
.blog-card-body h3{font-size:16px;font-weight:700;line-height:1.33;color:#111;margin-bottom:9px}
.blog-excerpt{font-size:13px;color:#666;line-height:1.62;flex:1;margin-bottom:14px;text-align:left!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-read{color:var(--red);font-size:13px;font-weight:700;text-decoration:none;transition:opacity .2s}
.blog-read:hover{opacity:.72}

/* footer share */
.blog-card-footer{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px;border-top:1px solid #f0f0f0;position:relative}
.blog-share{position:relative}
.blog-share-btn{
  background:none;border:none;cursor:pointer;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#bbb;transition:color .2s,background .22s
}
.blog-share-btn:hover,.blog-share-btn.active{color:var(--red);background:rgba(215,26,33,.09)}
.blog-share-popup{
  position:absolute;bottom:calc(100% + 10px);right:0;
  background:#fff;border-radius:16px;
  box-shadow:0 10px 36px rgba(0,0,0,.2);
  padding:10px 13px;display:flex;gap:8px;
  opacity:0;pointer-events:none;
  transform:translateY(8px) scale(.94);transform-origin:bottom right;
  transition:opacity .18s,transform .18s;z-index:20;white-space:nowrap
}
.blog-share-popup.open{opacity:1;pointer-events:all;transform:translateY(0) scale(1)}
.sn-btn{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:transform .2s,filter .18s;
  border:none;color:#fff;font-size:10px;font-weight:800;cursor:pointer
}
.sn-btn svg{display:block}
.sn-btn:hover{transform:scale(1.14);filter:brightness(1.1)}
.sn-wa{background:#25D366}.sn-fb{background:#1877F2}
.sn-tw{background:#000}.sn-li{background:#0A66C2}.sn-cp{background:#6c757d}
.blog-slider-bottom{display:flex;align-items:center;gap:16px;margin-top:4px}
.blog-slider-bottom .btn-dark{font-size:11px;padding:10px 18px;flex-shrink:0}
.blog-slider-line{height:1px;background:rgba(17,17,17,.16);flex:1}
.blog-slider-nav{display:flex;gap:10px;flex-shrink:0}
.blog-nav-btn{
  width:44px;height:44px;border:none;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:#fff;color:#111;
  box-shadow:0 12px 28px rgba(18,24,38,.12);
  transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease
}
.blog-nav-btn:hover{transform:translateY(-1px) scale(1.03);background:#111;color:#fff;box-shadow:0 16px 34px rgba(18,24,38,.18)}
.blog-nav-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.blog-nav-btn.swiper-button-disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}

@media(max-width:768px){
  .blog-swiper{
    width:calc(100% + 24px);
    margin-right:-24px;
    padding:4px 0 22px 4px
  }
  .blog-slider-bottom{gap:10px}
  .blog-slider-bottom .btn-dark{font-size:10px;padding:9px 14px}
  .blog-nav-btn{width:38px;height:38px}
  .blog-mic-wrap{min-height:220px;margin:-70px auto 36px;border-radius:18px}
  .blog-mic-media{inset:-30px 0;background-position:center 20%}
}

/* =========================================================
   SEÇÃO 10 — DEPOIMENTOS
   template-parts/home/depoimentos.php
   ========================================================= */
.sec-dep{background:#fff;padding:100px 0 130px;overflow:hidden}
.sec-dep .sec-head p{max-width:720px}
.dep-br{display:inline}
@media(max-width:768px){.dep-br{display:none}}
.dep-swiper{overflow:visible !important;padding:8px 0 24px !important}
.dep-swiper .swiper-slide{background:#F4F4F4;border-radius:18px;padding:36px 28px 28px;min-height:190px;position:relative;transition:background .3s,transform .3s,box-shadow .3s;cursor:grab}
@media(min-width:769px){.dep-swiper .swiper-slide{min-height:400px}}
.dep-swiper .swiper-slide:hover{background:linear-gradient(145deg,var(--red) 0%,#890208 100%);transform:scale(1.03);box-shadow:0 12px 28px rgba(215,26,33,.3);color:#fff}
.dep-swiper .swiper-slide:hover .dep-text,.dep-swiper .swiper-slide:hover .dep-name,.dep-swiper .swiper-slide:hover .dep-stars{color:#fff}
.dep-quote{display:block;margin-bottom:18px;line-height:1}
.dep-quote svg{width:50px;height:36px;fill:var(--red);display:block;transition:fill .3s,opacity .3s}
.dep-swiper .swiper-slide:hover .dep-quote svg{fill:rgba(255,255,255,.45)}
.dep-text{color:#444;margin-bottom:18px;font-size:14px}
.dep-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.dep-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#DDD}
.dep-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;font-size:15px;color:#fff;letter-spacing:-.5px;transition:box-shadow .3s,transform .3s}
.dep-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.dep-swiper .swiper-slide:hover .dep-avatar{box-shadow:0 0 0 2.5px rgba(255,255,255,.55);transform:scale(1.06)}
.dep-name{font-weight:700;font-size:14px;color:#111}
.dep-stars{font-size:12px;color:#F5A623;margin-top:2px}
/* brasil scribble */
.brasil-mark{display:inline;padding:0}
/* AC on red panel */
.g8-ac-grad{background:none;-webkit-text-fill-color:#fff;color:#fff}

/* =========================================================
   SEÇÃO 11 — DÚVIDAS FREQUENTES
   template-parts/home/faq.php
   ========================================================= */
.sec-faq{background:var(--gray);padding:70px 0}
.faq-layout{display:flex;flex-direction:column;gap:36px;align-items:center;max-width:920px;margin:0 auto}
.faq-left{text-align:center;max-width:760px;margin:0 auto}
.faq-left h2{text-transform:uppercase;margin:0 auto 14px;max-width:760px}
.faq-left h2 em{color:var(--red);font-style:normal}
.faq-left p{font-size:15px;color:#555;margin:0 auto 24px;max-width:560px}
.faq-list{width:100%;display:flex;flex-direction:column;gap:10px}

#faq .faq-item{
  background:linear-gradient(180deg,#eeeeee 0%,#dddddd 100%);
  border:1px solid rgba(17,17,17,.07);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(17,17,17,.04);
}
#faq .faq-item.open{
  background:linear-gradient(180deg,#f1f1f1 0%,#dedede 100%);
  box-shadow:0 16px 36px rgba(17,17,17,.07);
}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;font-weight:800;font-size:15px;color:#111;gap:16px;user-select:none;transition:background .2s,color .2s}
#faq .faq-q .faq-q-label{display:inline-flex;align-items:center;gap:9px;min-width:0}
#faq .faq-q .faq-q-label .dest-flag{font-size:18px}
#faq .faq-q:hover{background:rgba(255,255,255,.28);color:#111}
.faq-ico{width:18px;height:18px;background:#111;color:#fff;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .2s,transform .3s}
.faq-ico svg{width:10px;height:10px}
.faq-ico path{stroke:#fff}
.faq-item.open .faq-ico{background:#111;transform:rotate(45deg)}
.faq-item.open .faq-ico path{stroke:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;font-size:14px;color:#333;padding:0 20px}
#faq .faq-item.open .faq-a{max-height:700px;padding:4px 24px 28px}

@media(max-width:768px){.faq-layout{gap:28px}}

/* =========================================================
   SEÇÃO 12 — CERTIFICAÇÕES
   template-parts/home/certificacoes.php
   ========================================================= */
.sec-cert{background:#fff;padding:62px 0 80px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}
.cert-head{text-align:center;margin-bottom:48px}
@media(max-width:768px){.cert-head{text-align:center;margin-bottom:28px}}
.cert-head h2{text-transform:uppercase;margin:0 auto}
.cert-swiper{overflow:hidden}
.cert-slide{
  display:flex!important;justify-content:center;align-items:center;
  padding:0 28px;height:110px
}
@media(min-width:769px) and (max-width:1200px){
  .cert-slide{padding:0 14px}
  .cert-slide img{max-height:70px}
}
.cert-slide a{
  display:flex;justify-content:center;align-items:center;
  opacity:.55;
  transition:opacity .32s ease,transform .32s ease
}
.cert-slide a:hover{opacity:1;transform:scale(1.1)}
.cert-slide img{max-height:88px;width:auto;object-fit:contain;display:block}
/* bullets mobile cert */
.cert-pagination{display:flex;justify-content:center;gap:6px;margin-top:22px}
.cert-pagination .swiper-pagination-bullet{width:7px;height:7px;border-radius:50%;background:#111;opacity:.18;margin:0!important;transition:opacity .25s,width .28s cubic-bezier(.4,0,.2,1),border-radius .28s;display:block}
.cert-pagination .swiper-pagination-bullet-active{opacity:1;width:22px;border-radius:4px;background:var(--red)}
@media(min-width:769px){.cert-pagination{display:none}}

/* =========================================================
   FOOTER
   template-parts/footer.php
   ========================================================= */
/* ── Base ── */
.acfoot{background:#0d0d0f;color:#f5f5f7;padding:110px 40px 36px;font:400 15px/1.6 'Geist',sans-serif;border-radius:var(--radius) var(--radius) 0 0;margin-top:calc(var(--radius) * -1);position:relative;z-index:20}
.acfoot a{color:#f5f5f7;text-decoration:none}
.acfoot-wrap{max-width:1200px;margin:0 auto}
/* Grid */
.acfoot-grid{display:grid;grid-template-columns:280px 1fr 1fr 1fr;gap:0 52px;align-items:start;padding-bottom:44px;margin-bottom:0}
/* Brand column */
.acfoot-brand{display:flex;flex-direction:column;gap:22px;padding-right:32px;border-right:1px solid rgba(255,255,255,.07)}
.acfoot-logo-row{display:contents}
.acfoot-logo-link{display:inline-block;transition:transform .3s}
.acfoot-logo-link:hover{transform:scale(1.05);text-decoration:none}
.acfoot-logo-circle{width:88px;height:auto;border-radius:50%;display:block;box-shadow:none}
.acfoot-bolsas-badge{display:none}
/* Phone link */
.acfoot-phone-link{display:flex;align-items:center;gap:9px;color:#fff;font-size:14px;font-weight:700;text-decoration:none;padding:10px 13px;border-radius:10px;background:#25D366;border:1.5px solid #25D366;transition:background .22s,transform .22s,box-shadow .22s}
.acfoot-phone-link:hover{background:#1db954;border-color:#1db954;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.4);text-decoration:none}
.acfoot-phone-link svg{flex-shrink:0;color:#fff}
/* Section labels */
.acfoot-section-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0 0 10px}
/* Social row */
.acfoot-socials-row{display:flex;gap:7px;flex-wrap:nowrap}
.acfoot-socials-row a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1.5px solid rgba(255,255,255,.13);transition:border-color .22s,background .22s,transform .22s;text-decoration:none}
.acfoot-socials-row a:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.07);transform:translateY(-3px)}
.acfoot-socials-row a img{width:17px;height:17px;object-fit:contain;filter:brightness(0) invert(1)}
/* CTA buttons */
.acfoot-btns{display:flex;flex-direction:column;gap:7px}
.acfoot-btn{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1.5px solid rgba(255,255,255,.18);border-radius:10px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#f5f5f7;text-decoration:none;transition:border-color .24s,color .24s,transform .22s;position:relative;overflow:hidden}
.acfoot-btn::before{content:'';position:absolute;inset:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:0}
.acfoot-btn span,.acfoot-btn svg{position:relative;z-index:1}
.acfoot-btn svg{flex-shrink:0;width:13px;height:13px;opacity:.9}
.acfoot-btn:hover{border-color:var(--red);transform:translateY(-2px);text-decoration:none;color:#fff}
.acfoot-btn:hover::before{transform:scaleX(1)}
/* Nav columns */
.acfoot-nav-col{display:flex;flex-direction:column;gap:0}
.acfoot-nav-section{display:flex;flex-direction:column}
.acfoot-nav-title{display:flex;align-items:center;gap:8px;font:800 12px/1 'Geist',sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--red);margin:0 0 14px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.07)}
.acfoot-nav-title svg{opacity:.85;flex-shrink:0}
.acfoot-nav-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:7px}
.acfoot-nav-list li a{font-size:13px;color:rgba(245,245,247,.68);text-decoration:none;transition:color .18s,padding-left .2s;display:block}
.acfoot-nav-list li a:hover{color:#fff;padding-left:5px}
/* Divider */
.acfoot-divider{height:1px;background:rgba(255,255,255,.07);margin:0 0 22px}
.acfoot-bolsa-link{display:inline-block;margin-top:20px;transition:transform .3s,opacity .3s;opacity:.9}
.acfoot-bolsa-link:hover{transform:scale(1.06);opacity:1}
.acfoot-bolsa-link img{display:block;border-radius:50%}
/* Bottom bar */
.acfoot-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.07);padding-top:20px;margin-top:10px;color:#6c6c72;font-size:12px}
/* Responsive */
@media(max-width:1100px){.acfoot-grid{grid-template-columns:250px 1fr 1fr 1fr;gap:0 32px}}
@media(max-width:860px){
  .acfoot-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  .acfoot-brand{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);padding:0 0 28px;grid-column:1/-1;align-items:center;text-align:center}
  .acfoot-logo-row{display:flex;align-items:center;justify-content:center;gap:18px}
  .acfoot-bolsas-badge{display:block;width:88px;height:88px;object-fit:contain}
  .acfoot-nav-col{text-align:center;align-items:center}
  .acfoot-nav-title,
  .acfoot-btn,
  .acfoot-socials-row,
  .acfoot-section-label,
  .acfoot-phone-link{justify-content:center}
  .acfoot-nav-list li a,
  .acfoot-nav-list li a:hover{padding-left:0}
  .acfoot-btns{align-items:center}
  .acfoot-bolsa-link{display:none}
}
@media(max-width:500px){
  .acfoot{padding:80px 20px 28px;border-radius:var(--radius-mobile) var(--radius-mobile) 0 0}
  .acfoot-grid{grid-template-columns:1fr;gap:24px}
  .acfoot-bottom{flex-direction:column;gap:6px;text-align:center}
  .acfoot-nav-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;position:relative}
  .acfoot-nav-list::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);background:rgba(255,255,255,.12);pointer-events:none}
  .acfoot-nav-list li a{white-space:normal;line-height:1.35}
}
/* ── Floating WhatsApp ── */
@keyframes wa-pulse{0%,100%{box-shadow:0 4px 18px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.0)}50%{box-shadow:0 6px 28px rgba(37,211,102,.7),0 0 0 14px rgba(37,211,102,.16)}}
.wa-float{position:fixed;bottom:28px;right:28px;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.45);z-index:9990;text-decoration:none;animation:wa-pulse .9s ease 2s 3 both;transition:transform .22s,box-shadow .22s}
.wa-float:hover{transform:scale(1.12);box-shadow:0 8px 32px rgba(37,211,102,.65);text-decoration:none}
.wa-float svg,.wa-float img{width:32px;height:32px;object-fit:contain;display:block}
@media(max-width:768px){.wa-float{display:none!important}}

/* =========================================================
   RIBBON MOBILE
   template-parts/ribbon-mobile.php
   ========================================================= */
@media(min-width:769px){.ribbon{display:none!important}}
@media(max-width:900px){
  #site-header{padding:0 14px}
  .hdr{
    position:relative;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    min-height:86px;
    padding-top:0;
    gap:0
  }
  .hdr-logo{
    position:absolute;
    top:16px;
    left:14px;
    z-index:1714;
    margin:0;
    display:flex;
    align-items:center;
    min-height:44px
  }
  .hdr-logo img,
  .hdr.menu-expanded .hdr-logo img{width:134px}
  .hdr-right{position:static;width:auto;min-width:0}
  .nav-item:not(.nav-budget-wrap):not(.nav-lang-wrap):not(.menu-toggle-wrap){display:none!important}
  .nav-budget-wrap,.nav-lang-wrap,.menu-toggle-wrap{
    position:absolute;
    z-index:1714
  }
  .nav-budget-wrap{display:none!important}
  .nav-lang-wrap{
    display:none!important
  }
  .nav-lang-wrap .lang-flag{font-size:17px}
  .menu-toggle-wrap{
    position:fixed;
    top:16px;
    right:14px;
    z-index:1716
  }
  .menu-btn{
    padding:5px 5px 5px 14px;
    gap:8px;
    font-size:12px;
    transition:padding .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease
  }
  .menu-label{
    display:inline-block;
    transition:max-width .22s ease,opacity .22s ease,margin .22s ease;
    max-width:64px;
    overflow:hidden
  }
  .menu-btn .menu-icon{
    width:34px;
    height:34px;
    font-size:0;
    position:relative;
    overflow:hidden
  }
  .menu-btn .menu-icon::before,
  .menu-btn .menu-icon::after{
    content:"";
    position:absolute;
    left:9px;
    right:9px;
    height:2px;
    border-radius:999px;
    background:#fff;
    transition:transform .28s ease,top .28s ease,box-shadow .28s ease,opacity .22s ease
  }
  .menu-btn .menu-icon::before{
    top:12px;
    box-shadow:0 5px 0 #fff
  }
  .menu-btn .menu-icon::after{top:22px}
  .menu-btn.is-open .menu-icon::before{
    top:17px;
    box-shadow:none;
    transform:rotate(45deg)
  }
  .menu-btn.is-open .menu-icon::after{
    top:17px;
    transform:rotate(-45deg)
  }
  .menu-btn.is-compact{
    padding:0;
    gap:0;
    background:transparent;
    box-shadow:none
  }
  .menu-btn.is-compact .menu-label{
    max-width:0;
    opacity:0;
    margin:0
  }
  .menu-btn.is-compact .menu-icon{
    width:40px;
    height:40px;
    box-shadow:0 12px 28px rgba(215,26,33,.28)
  }
  .menu-btn.is-compact .menu-icon::before{
    top:14px;
    box-shadow:0 6px 0 #fff
  }
  .menu-btn.is-compact .menu-icon::after{top:26px}
  .menu-btn.is-open.is-compact .menu-icon::before,
  .menu-btn.is-open.is-compact .menu-icon::after{top:19px}
  .dropdown-panel{display:none!important}
  .float-bar{display:none!important}
  .nav-overlay{
    top:0;
    z-index:1706;
    background:rgba(9,11,24,.56);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px)
  }
  body.float-active .nav-overlay{top:0}
  .mobile-menu{
    display:block!important;
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    width:min(88vw,360px);
    padding:22px 14px 20px;
    z-index:1708;
    background:linear-gradient(180deg,rgba(17,22,48,.985) 0%,rgba(10,13,31,.985) 100%);
    box-shadow:30px 0 70px rgba(0,0,0,.38);
    transform:translateX(-104%);
    transition:transform .38s cubic-bezier(.22,.68,0,1),visibility 0s linear .38s;
    visibility:hidden;
    pointer-events:none;
    overflow-y:auto;
    overscroll-behavior:contain
  }
  .mobile-menu.is-open{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s
  }
  .mobile-menu-panel,.mobile-menu-nav{
    display:flex;
    flex-direction:column;
    gap:8px
  }
  .mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    padding:4px 2px 6px
  }
  .mobile-menu-title{
    font-size:11px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(255,255,255,.46)
  }
  .mobile-menu-close{
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--red);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(215,26,33,.26);
    transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
    animation:mobileClosePulse 1.6s ease-in-out infinite
  }
  .mobile-menu-close:hover,
  .mobile-menu-close:focus-visible{
    transform:scale(1.06);
    box-shadow:0 18px 34px rgba(215,26,33,.32);
    filter:brightness(1.04);
    outline:none
  }
  .mobile-acc,.mobile-direct-link{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding-bottom:20px
  }
  .mobile-acc-toggle,.mobile-direct-link{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 16px 15px;
    background:none;
    border:none;
    color:#fff;
    text-align:left;
    font-size:15px;
    font-weight:700;
    letter-spacing:.01em
  }
  .mobile-direct-link{
    justify-content:flex-start;
    min-height:68px;
    padding:16px;
    text-decoration:none;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px
  }
  .mobile-main-label{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-width:0
  }
  .mobile-main-ico{
    width:19px;
    height:19px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--red);
    flex-shrink:0
  }
  .mobile-main-ico svg{
    width:19px;
    height:19px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
  }
  .mobile-acc.is-open .mobile-main-ico{color:#fff}
  .mobile-acc-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:rgba(215,26,33,.18);
    color:#fff;
    font-size:16px;
    transition:transform .28s ease,background .28s ease
  }
  .mobile-acc.is-open .mobile-acc-icon{
    transform:rotate(45deg);
    background:var(--red)
  }
  .mobile-acc-panel{
    max-height:0;
    overflow:hidden;
    opacity:0;
    padding:0 16px;
    transition:max-height .36s cubic-bezier(.22,.68,0,1),opacity .22s ease,padding .36s ease
  }
  .mobile-acc.is-open .mobile-acc-panel{
    opacity:1;
    padding:4px 16px 44px
  }
  .mobile-acc-group+.mobile-acc-group{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.08)
  }
  .mobile-acc-label{
    display:block;
    margin-bottom:10px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.42)
  }
  .mobile-acc-links{
    display:grid;
    gap:8px
  }
  .mobile-acc-links a{
    font-size:14px;
    line-height:1.35;
    color:rgba(255,255,255,.9);
    padding:2px 0
  }
  .mobile-acc-links a:hover,.mobile-direct-link:hover{color:#fff}
  /* sub-acordeões de destinos */
  .mob-dest-sub{border-top:1px solid rgba(255,255,255,.08)}
  .mob-dest-sub:first-child{border-top:none}
  .mob-dest-toggle{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
    background:none;border:none;color:#fff;font-size:13.5px;font-weight:700;
    padding:13px 0;cursor:pointer;text-align:left;letter-spacing:.01em
  }
  .mob-dest-arrow{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;border-radius:50%;
    background:rgba(215,26,33,.18);color:#fff;font-size:15px;flex-shrink:0;
    transition:transform .28s ease,background .28s ease
  }
  .mob-dest-sub.is-open .mob-dest-arrow{transform:rotate(45deg);background:var(--red)}
  .mob-dest-panel{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.22,.68,0,1)}
  .mob-dest-cities{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 16px;
    padding:4px 0 16px;position:relative
  }
  .mob-dest-cities::before{
    content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;
    transform:translateX(-50%);background:rgba(255,255,255,.1);pointer-events:none
  }
  .mob-dest-cities a{
    display:flex;align-items:center;min-height:22px;min-width:0;
    font-size:13px;color:rgba(255,255,255,.8);text-decoration:none;
    padding:2px 0;line-height:1.3;transition:color .18s;overflow-wrap:anywhere
  }
  .mob-dest-cities a:hover{color:#fff}
  .hero{min-height:100svh}
  .hero-body{padding:132px 20px 46px;max-width:480px}
  .hero-cards{margin:30px 0 0;border-radius:0}
  .dest-card{aspect-ratio:1/1.01}
}
@media(max-width:768px){
  .hero{min-height:89svh}
  .hero-bg{inset:-54px;background-position:-320px}
  body.page-home .hero-bg{background-position:-724px 40px;background-size:289%}
  .hero-body{padding:132px 18px 40px;max-width:420px}
  .hero-tag{gap:10px;margin-bottom:16px}
  .hero-tag::before,.hero-tag::after{width:66px}
  .hero-tag svg{width:22px;height:22px}
  .hero-body h1{font-size:clamp(34px,8vw,58px);line-height:1.1;max-width:360px;margin-bottom:14px}
  body:not(.page-home) .hero-body h1{font-size:clamp(27px,3vw,45px)!important;line-height:1.1!important;max-width:360px!important;margin-bottom:14px!important}
  .hero-sub{font-size:13px;max-width:330px;margin-bottom:20px}
  .hero-cta .btn-white{font-size:11px;padding:12px 22px}
  .hero-cards{margin:30px 0 0;border-radius:0}
  .dest-card{aspect-ratio:1/1.01}
  .dest-card-inner{left:16px;right:16px;bottom:38px;padding:0}
  .dest-card-inner h3{margin-bottom:6px}
  .dest-card-inner p{font-size:13px;max-width:182px}
  .dest-card-cta{margin-top:10px;padding:7px 14px;font-size:9px}
  .sec-head{margin-bottom:34px}
  .sec-head p{font-size:14px;max-width:340px}
  .sec-programas,.sec-form,.sec-imig,.sec-video,.sec-g8,.sec-custo,.sec-faq{padding:56px 0 40px}
  .sec-escolas{padding:56px 0 96px}
  .sec-blog{padding:0 0 50px}
  .sec-cert{padding:40px 0 64px}
  .sec-form{background:#fff;padding-bottom:70px}
  .form-grid{gap:22px}
  .form-text p{margin-left:auto;margin-right:auto}
  .form-shell{border-radius:20px}
  .imig-grid{grid-template-columns:1fr;gap:10px}
  .imig-card{min-height:240px;border-radius:24px}
  .imig-card-body{padding:22px}
  .custo-layout{gap:26px}
  .custo-text,.faq-left{text-align:center}
  .custo-text p,.faq-left p{margin-left:auto;margin-right:auto}
  .blog-hdr{align-items:center;text-align:center}
  .blog-hdr .bar{margin-left:auto!important;margin-right:auto!important}
  .blog-card{min-height:220px}
  .blog-card-body{padding:18px}
  .faq-layout{gap:28px}
  .faq-q{font-size:14px}
  .ribbon{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:2147483647;width:98%}
  .ribbon-inner{display:flex;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .rib-item{flex:1;display:grid;place-items:center;text-decoration:none;padding:12px 6px 10px;color:#fff;row-gap:5px;transition:filter .2s}
  .rib-item:hover{filter:brightness(1.14)}
  .rib-item .ri{font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
  .rib-item .ri img{width:24px;height:24px;object-fit:contain;display:block}
  .rib-item .rl{font-size:11px;color:#fff;white-space:nowrap}
  .r1{background:#6b241a}.r2{background:#5e1f17}.r3{background:#521b14}.r4{background:#461712}.r5{background:#ff4d1f}
}
@media(max-width:560px){
  .hero-cards{grid-template-columns:1fr 1fr}
  .plus-modal{padding:18px}
  .plus-modal-card{padding:26px 18px 20px;border-radius:22px}
}

/* menu mobile */
.mobile-menu{display:none}

/* body lock para modal/menu mobile */
body.locked,body.mobile-menu-open{overflow:hidden}

/* =========================================================
   PÁGINA VISTOS
   ========================================================= */
.hero--visto {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-intercambio-em-auckland-nova-zelandia-1.webp');
  background-position: center 44%;
  background-size: cover;
  opacity: .92;
  filter: saturate(.82) contrast(1.04);
}
.hero--visto .hero-overlay {
  background:
    linear-gradient(180deg, rgba(9,12,18,.56) 0%, rgba(18,18,25,.5) 38%, rgba(140,0,5,.68) 72%, rgba(215,26,33,.98) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.08), rgba(255,255,255,0) 38%);
}
.hero--visto .hero-body {
  max-width: 1080px;
  padding: 112px 24px 58px;
}
.hero--visto .hero-body h1 {
  max-width: 980px;
}
@media (min-width: 769px) {
  .hero-title-visto br {
    display: block;
  }
}
.hero--visto .hero-sub {
  max-width: 860px;
}
.hero--visto .hero-cta {
  flex-direction: column;
  align-items: center;
}
.hero--visto .hero-cta::before {
  content: "";
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 26px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.52);
}

.visto-first-step {
  background: #f2f0ef;
  padding: 86px 0 0;
  overflow: hidden;
}
.visto-first-step .sec-head {
  margin-bottom: 48px;
}
.visto-first-step .sec-head h2 {
  max-width: 720px;
}
.visto-first-step .sec-head p {
  max-width: 760px;
}
.visto-why {
  background: #f7f5f4;
  padding: 86px 0 112px;
  overflow: hidden;
}
.visto-why .sec-head {
  margin: 0 auto 34px;
}
.visto-why .sec-head h2 {
  max-width: 760px;
}
.visto-why .sec-head p {
  max-width: 980px;
  margin-top: 18px;
  color: #555;
}

@supports (height: 75svh) {
  .hero--visto {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}

@media(max-width: 768px) {
  .hero--visto {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto .hero-bg {
    inset: -24px;
    background-position: center 48%;
  }
  .hero--visto .hero-body {
    padding: 100px 18px 48px;
  }
  .visto-first-step,
  .visto-why {
    padding: 64px 0 78px;
  }
  .visto-first-step {
    padding-bottom: 0;
  }
  .visto-why .sec-head p {
    font-size: 14px;
  }
}

/* =========================================================
   PÁGINA IMIGRAÇÃO
   Estilos exclusivos de imigracao.html
   ========================================================= */
.hero--australia{height:75vh;min-height:75vh;justify-content:center}
.hero--australia .hero-bg{
  background-image:url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-na-australia-agencia-especializada-1-1.webp');
  background-position:center 5%;
  opacity:.95;
  background-size:cover

  
}

#conteudo-suporte { padding-bottom: 50px !important; }

.hero--australia .hero-overlay{
  background:
    linear-gradient(180deg,rgba(88,0,4,.46) 0%,rgba(164,4,11,.72) 50%,rgba(215,26,33,.98) 100%),
    radial-gradient(circle at 50% 18%,rgba(255,114,78,.2) 0%,rgba(255,114,78,0) 42%)
}
.hero--australia .hero-body{max-width:1060px;padding:116px 24px 62px}
.hero--australia .hero-body h1{max-width:880px}
@media (min-width: 769px) {
  .hero-title-imigracao br {
    display: block;
  }
}
.hero--australia .hero-sub{max-width:760px}
.info-copy{display:flex;flex-direction:column;gap:18px}
.info-copy p{color:rgba(255,255,255,.84);font-size:15px;max-width:100%}
.info-copy strong{color:#fff;font-weight:800}
.section-cta{text-align:center;margin-top:34px}
.ac-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ac-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
/* =========================================================
   PÁGINA IMIGRAÇÃO — CARDS FLIP / BENEFÍCIOS / POR QUE AC
   Origem: CSS inline de imigracao.html
   ========================================================= */

/* Imigração — grades dos cards com mesma altura */
#beneficios .ac-grid-3,
#porque-ac .ac-grid-3{grid-auto-rows:1fr}

/* Imigração — base visual dos cards das seções Benefícios e Por que AC */
#beneficios .prog-card-red,
#beneficios .prog-card-light,
#porque-ac .prog-card-red,
#porque-ac .prog-card-light,
#porque-ac .prog-card-navy{
  height:auto;
  min-height:0;
  justify-content:flex-start;
  padding:26px 24px 24px
}

/* Imigração — remove brilho herdado dos cards vermelhos nessas seções */
#beneficios .prog-card-red::before,
#porque-ac .prog-card-red::before{display:none}

/* Imigração — compacta o conteúdo dos cards dessas seções */
#beneficios .prog-card-red .prog-card-copy,
#porque-ac .prog-card-red .prog-card-copy{padding-top:0}

#porque-ac .prog-card-red .prog-card-copy,
#porque-ac .prog-card-light .prog-card-copy,
#porque-ac .prog-card-navy .prog-card-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding-top:0
}

#porque-ac .prog-card-copy h3{
  margin-top:auto
}

#porque-ac .prog-card-copy p{
  margin-top:12px;
  padding-bottom:0;
  text-align:left!important
}

#beneficios .prog-card-copy p{
  text-align:left!important
}

/* Imigração — link da ABRASEEIO no card Membro */
.abraseeio-link{
  color:inherit;
  text-decoration:underline dashed var(--red);
  text-decoration-thickness:1.5px;
  text-underline-offset:3px
}
.abraseeio-link:hover{color:var(--red)}

/* Imigração — títulos dos cards de Benefícios e Por que AC */
#beneficios .prog-card-copy h3,
#porque-ac .prog-card-copy h3{
  font-size:clamp(14px,1.45vw,18px);
  line-height:1.08;
  max-width:none;
  margin-bottom:10px
}

#beneficios .prog-card-copy h3{
  font-size:25px;
  line-height:1.04;
  margin-bottom:16px;
  text-transform:uppercase!important;
}

#porque-ac .prog-card-copy h3{
  font-size:25px;
  line-height:1.04;
  margin-bottom:16px;
  text-transform:uppercase!important;
}

#beneficios .card-ico{
  width:64px;
  height:64px;
  background:transparent;
  overflow:visible;
  box-shadow:none;
}

#beneficios .card-ico::after,
#porque-ac .card-ico::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  opacity:0;
  transform:scale(.82);
  transition:opacity .28s ease,transform .38s ease;
  pointer-events:none;
}

#beneficios .card-ico svg{
  width:60px;
  height:60px;
}

#porque-ac .card-ico{
  width:64px;
  height:64px;
  background:transparent;
  overflow:visible;
  box-shadow:none;
}

#porque-ac .card-ico svg{
  width:60px;
  height:60px;
}

#beneficios .prog-card-red .card-ico,
#beneficios .prog-card-light .card-ico,
#beneficios .prog-card-navy .card-ico{background:transparent}

#porque-ac .prog-card-red .card-ico,
#porque-ac .prog-card-light .card-ico,
#porque-ac .prog-card-navy .card-ico{background:transparent}

#beneficios .prog-card-light{
  border-color:transparent;
}

/* Imigração — largura do parágrafo do cabeçalho da seção Benefícios */
#beneficios .sec-head p{max-width:620px}

/* Imigração — fundo listrado da seção Benefícios */
#beneficios{
  background:#f1eeed url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center/cover no-repeat
}

/* Imigração — transições dos cards da seção Benefícios */
#beneficios .prog-card-red,
#beneficios .prog-card-light{
  transition:transform .35s ease,box-shadow .35s ease,filter .35s ease,border-color .35s ease
}

/* Imigração — hover dos cards da seção Benefícios */
#beneficios .prog-card-red:hover,
#beneficios .prog-card-light:hover{
  transform:translateY(-10px) scale(1.015);
  filter:saturate(1.08);
  border-color:rgba(215,26,33,.2)
}
#beneficios .prog-card-red:hover{box-shadow:0 30px 58px rgba(215,26,33,.26)}
#beneficios .prog-card-light:hover{
  border-color:rgba(215,26,33,.2);
  box-shadow:0 26px 48px rgba(18,18,24,.12)
}

/* Imigração — texto branco no card azul da seção Benefícios */
#beneficios .prog-card-navy .prog-card-copy h3,
#beneficios .prog-card-navy .prog-card-copy p{color:#fff}

#beneficios .prog-card-red:hover .card-ico,
#porque-ac .prog-card-red:hover .card-ico{
  transform:scale(1.22);
  background:rgba(255,255,255,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.22)
}

#beneficios .prog-card-red:hover .card-ico::after,
#porque-ac .prog-card-red:hover .card-ico::after{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 0 7px rgba(255,255,255,.07);
  animation:benefitIconPulse 1.9s ease-in-out infinite;
}

#beneficios .prog-card-light:hover .card-ico,
#porque-ac .prog-card-light:hover .card-ico{
  transform:scale(1.22);
  background:rgba(215,26,33,.18);
  box-shadow:0 10px 28px rgba(215,26,33,.2)
}

#beneficios .prog-card-light:hover .card-ico::after,
#porque-ac .prog-card-light:hover .card-ico::after{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 0 7px rgba(215,26,33,.09);
  animation:benefitIconPulse 1.9s ease-in-out infinite;
}

#beneficios .prog-card-navy:hover .card-ico,
#porque-ac .prog-card-navy:hover .card-ico{
  transform:scale(1.22);
  background:rgba(255,255,255,.24);
  box-shadow:0 10px 28px rgba(0,0,0,.22)
}

#beneficios .prog-card-navy:hover .card-ico::after,
#porque-ac .prog-card-navy:hover .card-ico::after{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 0 7px rgba(255,255,255,.07);
  animation:benefitIconPulse 1.9s ease-in-out infinite;
}

@keyframes benefitIconPulse{
  0%,100%{transform:scale(.94)}
  50%{transform:scale(1.1)}
}

/* Imigração — mobile com ícone ao lado do título nos cards */
@media(max-width:768px){
  #beneficios .prog-card-red,
  #beneficios .prog-card-light,
  #porque-ac .prog-card-red,
  #porque-ac .prog-card-light{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    column-gap:16px;
    row-gap:16px
  }
  #beneficios .card-ico,
  #porque-ac .card-ico{
    grid-column:1;
    grid-row:1;
    margin:0
  }
  #beneficios .prog-card-copy,
  #porque-ac .prog-card-copy{
    display:contents;
    padding-top:0
  }
  #beneficios .prog-card-copy h3,
  #porque-ac .prog-card-copy h3{
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    font-size:18px;
    line-height:1.03
  }
  #beneficios .prog-card-copy h3,
  #porque-ac .prog-card-copy h3{
    font-size:25px;
    line-height:1.04;
  }
  #beneficios .prog-card-copy p,
  #porque-ac .prog-card-copy p{
    grid-column:1 / -1;
    margin:0
  }
}

/* Imigração — transições dos cards da seção Por que AC */
#porque-ac .prog-card-red,
#porque-ac .prog-card-light,
#porque-ac .prog-card-photo{
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,filter .45s ease,border-color .35s ease;
  will-change:transform
}

#porque-ac{background-color:#fff;padding-bottom:70px!important}

/* Imigração — hover dos cards da seção Por que AC */
#porque-ac .prog-card-red:hover,
#porque-ac .prog-card-light:hover{
  transform:translateY(-10px) scale(1.015);
  filter:saturate(1.08)
}
#porque-ac .prog-card-red:hover{box-shadow:0 30px 58px rgba(215,26,33,.26)}
#porque-ac .prog-card-light:hover{
  border-color:rgba(215,26,33,.2);
  box-shadow:0 28px 52px rgba(18,18,24,.14)
}
#porque-ac .prog-card-navy:hover{box-shadow:0 30px 58px rgba(4,31,82,.28)}
#porque-ac .prog-card-photo:hover{box-shadow:0 30px 58px rgba(0,0,0,.24)}
#porque-ac .prog-card-photo:hover img{transform:scale(1.1)}

/* Imigração — ícone circular dos cards */
.card-ico{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  flex-shrink:0;
  position:relative;
  z-index:2;
  transition:transform .38s cubic-bezier(.22,.68,0,1.4),box-shadow .38s ease,background .28s ease
}
.prog-card-red .card-ico{background:transparent;color:#fff}
.prog-card-light .card-ico{background:transparent;color:var(--red)}
.prog-card-navy .card-ico{background:transparent;color:#fff}

/* Imigração — hover do ícone circular dos cards */
.prog-card-red:hover .card-ico{
  transform:scale(1.22) rotate(-12deg);
  background:rgba(255,255,255,.28);
  box-shadow:0 0 0 7px rgba(255,255,255,.07),0 10px 28px rgba(0,0,0,.22)
}
.prog-card-light:hover .card-ico{
  transform:scale(1.22) rotate(-12deg);
  background:rgba(215,26,33,.18);
  box-shadow:0 0 0 7px rgba(215,26,33,.09),0 10px 28px rgba(215,26,33,.2)
}
.prog-card-navy:hover .card-ico{
  transform:scale(1.22) rotate(-12deg);
  background:rgba(255,255,255,.24);
  box-shadow:0 0 0 7px rgba(255,255,255,.07),0 10px 28px rgba(0,0,0,.22)
}

/* Imigração — entrada suave e sequencial dos cards */
.flip-card{
  opacity:0;
  filter:blur(8px);
  transform:translate3d(0,24px,0) scale(.988);
  transition:opacity .72s ease,transform .72s cubic-bezier(.22,.68,0,1),filter .72s ease;
  will-change:opacity,transform,filter
}
.flip-card.flip-visible{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1)
}

.prog-card-navy{background:var(--navy);color:#fff}
.prog-card-navy .prog-card-copy h3,.prog-card-navy .prog-card-copy h4,.prog-card-navy .prog-card-copy p{color:#fff}
.prog-card-burgundy{background:linear-gradient(145deg,#a80005 0%,#660002 100%);color:#fff}
.prog-card-burgundy .prog-card-copy h3,.prog-card-burgundy .prog-card-copy h4{color:#fff}
.sec-cidades-au{background:var(--red);padding:78px 0 74px;color:#fff;overflow:hidden}
#cidades{padding-bottom:220px!important}
.sec-cidades-au .sec-head{text-align:left;margin-bottom:34px;display:grid;grid-template-columns:1fr .9fr;gap:36px;align-items:end}
.sec-cidades-au .sec-head h2{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff;max-width:620px;margin:0;text-align:left}
.sec-cidades-au .sec-head p{color:rgba(255,255,255,.88);max-width:520px;margin:0;text-align:left!important;font-weight:500}
.city-rail{
  display:flex;gap:12px;overflow-x:auto;
  width:calc(100vw - max(24px,calc((100vw - 1200px)/2 + 24px)));
  margin-right:calc(50% - 50vw);
  padding:13px 0 40px;
  scroll-snap-type:x mandatory;scrollbar-width:none
}
.city-rail::-webkit-scrollbar{display:none}
.city-card{position:relative;flex:0 0 260px;min-height:410px;border-radius:18px;overflow:hidden;color:#fff;text-decoration:none;scroll-snap-align:start;background:#111;transition:transform .35s ease,box-shadow .35s ease;isolation:isolate}
.city-card:hover{transform:translateY(-8px);box-shadow:0 28px 18px rgba(0,0,0,.24)}
.city-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .9s ease}
.city-card:hover img{transform:scale(1.1) rotate(.8deg);filter:saturate(1.18) contrast(1.08)}
.city-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.78) 100%)}
.city-card::before{content:"";position:absolute;inset:-30%;z-index:3;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.28) 48%,rgba(255,255,255,0) 66%);transform:translateX(-78%) rotate(8deg);opacity:.68;transition:transform .85s ease;pointer-events:none}
.city-card:hover::before{transform:translateX(72%) rotate(8deg)}
.city-card-copy{position:absolute;inset:24px;z-index:2;display:flex;flex-direction:column}
.city-card h3{color:#fff;text-transform:uppercase;font-weight:500;line-height:.98;font-size:24px;max-width:210px}
.city-card p{margin-top:auto;color:rgba(255,255,255,.86);font-size:13px;line-height:1.3;margin-bottom:40px;text-align:left!important}
.city-card .btn-plus{top:auto;bottom:16px;right:16px;z-index:4}
.au-slider-bottom{display:flex;align-items:center;gap:16px;margin-top:4px}
.au-destinos-btn{font-weight:500;text-transform:uppercase;pointer-events:none}
.au-destinos-btn:hover{transform:none;box-shadow:none;background:#090909;color:#fff}
.au-slider-line{height:1px;background:rgba(255,255,255,.42);flex:1}
.au-nav{display:flex;gap:10px}
.course-photo{width:min(100%,1088px);height:360px;margin:34px auto 22px;border-radius:18px;overflow:hidden;background:#111}
.course-photo img{width:100%;height:100%;object-fit:cover}
.course-photo--parallax{position:relative;height:360px;border-radius:18px;isolation:isolate}
.course-photo--parallax .course-photo-media{
  position:absolute;inset:7px 0;width:100%;height:calc(100% + 72px);
  object-fit:cover;object-position:center 50%;
  transform:translate3d(0,0,0) scale(1.08);
  transition:filter .45s ease;
  will-change:transform
}
@media(min-width:901px){
  body.page-imigracao #cursos .course-photo--parallax .course-photo-media{
    object-position:center 35%
  }
}
.course-photo--parallax:hover .course-photo-media{filter:saturate(1.06) contrast(1.03)}
.course-slider-shell{max-width:1088px;margin:30px auto 0;overflow:visible}
.course-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  overflow:visible;
  padding:0;
  margin:0;
}
.course-rail::-webkit-scrollbar{display:none}
.course-rail .course-card{min-height:174px;border:1px solid #fff;isolation:isolate;box-shadow:none!important;transition:transform .32s ease,filter .32s ease}
.course-rail .course-card:hover,.course-rail .course-card:focus-within{transform:translateY(-4px);box-shadow:none!important;filter:saturate(1.06)}
.course-rail .course-card::after{display:none}
.course-card-sheen{display:none}
.course-rail .prog-card-red,.course-rail .prog-card-light{padding:24px 58px 24px 22px}
.course-rail .course-card:nth-child(1){background:#a30004;color:#fff}
.course-rail .course-card:nth-child(2),
.course-rail .course-card:nth-child(4),
.course-rail .course-card:nth-child(5),
.course-rail .course-card:nth-child(8){background:#f4f0f0;color:#111}
.course-rail .course-card:nth-child(3){background:#ff1519;color:#fff}
.course-rail .course-card:nth-child(6){background:#d7d7d7;color:#111}
.course-rail .course-card:nth-child(7){background:#061d4f;color:#fff}
.course-rail .prog-card-copy{
  position:absolute;inset:0;z-index:2;
  display:grid;place-items:center;text-align:center;
  padding:24px!important;
  max-width:none;width:100%;height:100%
}
.course-rail .prog-card-copy h4{margin:0;max-width:210px;font-size:18px;line-height:1.02;color:#111;text-transform:uppercase}
.course-rail .course-card:nth-child(1) .prog-card-copy h4,
.course-rail .course-card:nth-child(3) .prog-card-copy h4,
.course-rail .course-card:nth-child(7) .prog-card-copy h4{color:#fff}
.course-rail .btn-plus{top:auto;right:18px;bottom:18px;z-index:5}
.course-slider-bottom{display:none}
.course-slider-line{height:1px;background:#ded8d7;flex:1}
.course-nav{display:flex;gap:10px;padding:8px 0}
.why-ac-grid{perspective:1400px}
.why-ac-card{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease,filter .5s ease}
.why-ac-card::before{content:"";position:absolute;inset:1px;border-radius:inherit;z-index:1;background:linear-gradient(130deg,rgba(255,255,255,.26),rgba(255,255,255,0) 38%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.why-ac-card::after{content:"";position:absolute;inset:-45%;z-index:3;background:linear-gradient(112deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.38) 49%,rgba(255,255,255,0) 64%);opacity:.58;transform:translateX(-82%) rotate(9deg);transition:transform .86s ease;pointer-events:none}
.why-ac-card:hover,.why-ac-card:focus-within{transform:translateY(-10px) rotateX(4deg) rotateY(-3deg);filter:saturate(1.08)}
.why-ac-card:hover::before,.why-ac-card:focus-within::before{opacity:1}
.why-ac-card:hover::after,.why-ac-card:focus-within::after{transform:translateX(82%) rotate(9deg)}
.why-ac-card.prog-card-red:hover{box-shadow:0 30px 58px rgba(215,26,33,.24)}
.why-ac-card.prog-card-navy:hover{box-shadow:0 30px 58px rgba(4,31,82,.24)}
.why-ac-card.prog-card-light:hover{box-shadow:0 28px 52px rgba(22,18,20,.13)}
.why-ac-card .prog-card-copy{position:relative;z-index:2}
.why-ac-card .prog-card-copy::before{content:"";display:block;width:34px;height:34px;border:3px solid currentColor;border-radius:50%;margin-bottom:22px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,0));box-shadow:0 10px 22px rgba(0,0,0,.08)}
.why-ac-card .prog-card-copy::after{content:"";position:absolute;top:9px;left:9px;width:13px;height:7px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg)}
.why-ac-photo{position:relative;min-height:100%;overflow:hidden;background:#111}
.why-ac-photo .photo-cycle-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:scale(1.06);animation:none}
.why-ac-photo::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.38) 100%);pointer-events:none}
.why-ac-photo:hover{transform:none;filter:saturate(1.08);box-shadow:0 30px 58px rgba(0,0,0,.22)}

/* Imigração — arredondado do componente Depoimentos sobre a seção Por que AC */
#porque-ac + .sec-dep.parapara{
  border-radius:var(--radius) var(--radius) 0 0;
  margin-top:calc(var(--radius) * -1);
  position:relative;
  z-index:10
}

.sec-photo-break{background:transparent;padding:0;position:relative;z-index:9;margin-top:-74px}
.sec-photo-break .drive-banner{margin-bottom:-96px}
.drive-banner--imigracao .drive-banner-media{
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-sobre-intercambio-na-australia-1.webp') center 46%/cover no-repeat
}
@media(min-width:901px){
  body.page-imigracao .drive-banner--imigracao .drive-banner-media{
    background-position:center 36%
  }
}
.drive-banner--visto494-cidade .drive-banner-media{
  background:url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-em-perth-na-australia-2.webp') center 50%/cover no-repeat
}
.drive-banner--imigracao::after{background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 100%)}
#cursos{position:relative;z-index:9;margin-top:-82px}
@media(max-width:900px){
  .sec-cidades-au .sec-head{grid-template-columns:1fr;text-align:center}
  .sec-cidades-au .sec-head h2{text-align:center;margin-left:auto;margin-right:auto}
  .sec-cidades-au .sec-head p{text-align:left!important;margin-left:auto;margin-right:auto}
  .ac-grid-3,.ac-grid-4{grid-template-columns:1fr 1fr}
  .course-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .hero-title-imigracao br {
    display: none;
  }
  .hero-title-imigracao span {
    display: inline;
  }
  .hero--australia{height:60vh;min-height:60vh}
  .hero--australia .hero-bg{background-position:center -50%}
  .hero--australia .hero-body{padding:118px 18px 76px}
  .ac-grid-3,.ac-grid-4{grid-template-columns:1fr}
  .sec-cidades-au .wrap{padding-left:0;padding-right:0}
  .sec-cidades-au .sec-head{padding:0 18px}
  .city-rail{
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:18px;
    padding-right:0;
    scroll-padding-left:18px;
  }
  .city-card{flex-basis:232px;min-height:360px}
  .city-card-copy{inset:54px 18px 18px}
  .city-card h3{font-size:20px;max-width:170px}
  .city-card .btn-plus{top:14px;right:14px;bottom:auto}
  .au-slider-bottom{flex-wrap:wrap;padding:0 18px}
  .au-slider-line{min-width:140px}
  .course-slider-shell{
    max-width:none;
    width:100%;
    margin-left:0;
    margin-right:0;
    padding:0 0 0 18px;
    overflow:hidden;
  }
  .course-rail{
    display:flex;
    grid-template-columns:none;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 0 40px;
    margin:0;
    scroll-snap-type:x mandatory;
    scroll-padding-left:0;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .course-rail .course-card{
    flex:0 0 min(68vw,252px);
    min-height:180px;
    scroll-snap-align:start;
  }
  .course-slider-bottom{
    display:flex;
    align-items:center;
    gap:16px;
    padding:0 18px 0 0;
    margin-top:6px;
  }
  .course-slider-line{min-width:120px}
  .course-photo{height:230px}
  .course-photo--parallax .course-photo-media{inset:-28px 0;height:calc(100% + 56px)}
  .sec-photo-break{position:relative;z-index:7;margin-top:-56px;background:transparent}
  body.page-imigracao #foto-intercambio.sec-photo-break{z-index:auto}
  .sec-photo-break .drive-banner{min-height:320px;margin-bottom:-28px}
  .drive-banner--imigracao .drive-banner-media{background-position:center 48%}
}

/* =========================================================
   PÁGINA ESPECIALISTAS
   Estilos exclusivos de especialistas.html
   Migrado do CSS inline da página
   ========================================================= */
/* =============================================
   HERO — ESPECIALISTAS
   ============================================= */
.hero--especialistas {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--especialistas .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-especialistas-imigracao-australia-1.webp');
  background-position: center 42%;
  opacity: .35;
}
.hero--especialistas .hero-overlay {
  background:
    linear-gradient(180deg, rgba(68,0,3,.44) 0%, rgba(121,10,12,.58) 42%, rgba(215,26,33,.94) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,148,92,.22) 0%, rgba(255,148,92,0) 42%);
}
.hero--especialistas .hero-body {
  max-width: 1060px;
  padding: 116px 24px 62px;
}
.hero--especialistas .hero-body h1 { max-width: 880px; }
.hero--especialistas .hero-sub { max-width: 760px; }
.hero--especialistas .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--especialistas .hero-cta::before {
  content: "";
  display: block;
  width: 104px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(215,26,33,.3), #ed1c24 45%, rgba(215,26,33,.3));
  box-shadow: 0 0 22px rgba(215,26,33,.45);
  transform: scaleX(.28);
  transform-origin: center;
  animation: heroSpecialistLineGrow 1.15s cubic-bezier(.22,.68,0,1) .95s forwards;
}
@keyframes heroSpecialistLineGrow {
  from { transform: scaleX(.28); opacity: .72; }
  to { transform: scaleX(1); opacity: 1; }
}

/* =============================================
   SUCCESS-STEPS — PASSOS DA IMIGRAÇÃO
   ============================================= */
.success-steps {
  position: relative;
  overflow: visible;
  background: #d71920;
  padding: 104px 5.5vw 80px;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  z-index: 2;
}
.success-steps::before {
  content: "";
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle at 22% 12%, rgba(255,255,255,.12), transparent 28%),
    radial-gradient(circle at 88% 88%, rgba(80,0,0,.2), transparent 30%);
  opacity: .55;
  pointer-events: none;
}
.success-steps .sec-head { position: relative; z-index: 1; }
.success-steps .sec-head h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  text-transform: uppercase;
}
.success-steps .sec-head p  { color: rgba(255,255,255,.8) !important; }
.success-steps__cta {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-top: 28px;
}
.success-steps__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(155px,1fr)) minmax(155px,1fr);
  gap: 54px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
}
.step-card {
  position: relative;
  min-height: 300px;
  border-radius: 28px;
  background: transparent;
  overflow: visible;
  display: block;
  padding: 0;
  box-shadow: none;
  isolation: isolate;
  opacity: 1;
  transform: none;
  animation: none;
  transition: transform .42s cubic-bezier(.22,.68,0,1);
}
.step-card:hover { transform: translateY(-8px) scale(1.025); }
.step-flip {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  filter: blur(8px);
  visibility: hidden;
  transform: translate3d(0,24px,0) scale(.988);
  transition: opacity .72s ease, transform .72s cubic-bezier(.22,.68,0,1), filter .72s ease, box-shadow .42s ease;
  transition-delay: var(--d, 0s);
  will-change: opacity, transform, filter;
  box-shadow: 0 20px 46px rgba(72,0,0,.12);
}
.step-card:active .step-flip,
.step-card:hover .step-flip { box-shadow: 0 30px 70px rgba(72,0,0,.22); }
.step-face {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 34px 20px;
  border-radius: inherit;
  overflow: hidden;
}
.step-front { background: #fff; }
.step-front::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,.6) 50%, rgba(255,255,255,0) 62%, rgba(255,255,255,0) 100%);
  background-size: 240% 100%;
  background-position: 160% 0;
  opacity: 0;
  z-index: 3;
  pointer-events: none;
}
.step-card:hover .step-front::before { opacity: 1; animation: shineSweep .85s ease; }
.step-back {
  display: none;
}
.step-number {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 200px;
  line-height: .75;
  font-weight: 900;
  color: #e5e5e5;
  letter-spacing: -.08em;
  z-index: 0;
  user-select: none;
}
.step-label {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 160px;
  text-align: center;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 700;
  color: #060606;
}
.step-front .step-label {
  animation: labelFadeIn .45s ease both;
  animation-delay: calc(var(--d) + .9s);
  animation-play-state: paused;
}
.step-corner {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-left: 48px solid #ff0f12;
  transform-origin: center;
  z-index: 2;
  filter: drop-shadow(0 10px 18px rgba(255,0,0,.2));
  animation: redCornerNudge 1.25s ease-in-out 1.6s 4;
  animation-play-state: paused;
}
.step-arrow {
  position: absolute;
  top: 50%;
  right: -37px;
  width: 30px;
  height: 2px;
  background: rgba(255,255,255,.45);
  transform: translateY(-50%);
  z-index: 5;
  opacity: .95;
}
.step-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1px;
  width: 10px;
  height: 10px;
  border-top: 2px solid rgba(255,255,255,.45);
  border-right: 2px solid rgba(255,255,255,.45);
  transform: translateY(-50%) rotate(45deg);
}
.step-card:hover .step-arrow { animation: arrowPulse .8s ease infinite alternate; }
.step-card:nth-child(1){--d:.08s}
.step-card:nth-child(2){--d:.24s}
.step-card:nth-child(3){--d:.40s}
.step-card:nth-child(4){--d:.56s}
.step-card:nth-child(5){--d:.72s}
.step-success {
  min-height: 300px;
  border-radius: 28px;
  background: transparent;
  box-shadow: none;
}
.step-success .step-front {
  background:
    linear-gradient(180deg, rgba(3,6,24,.08), rgba(3,6,24,.12)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/imigracao-australia-bandeira-1.webp') center/cover no-repeat #0a1638;
}
.step-success .step-back {
  background:
    linear-gradient(180deg, rgba(3,6,24,.08), rgba(3,6,24,.12)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/imigracao-australia-bandeira-1.webp') center/cover no-repeat #0a1638;
}
.step-success .step-label {
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.55);
}

@keyframes shineSweep {
  0%   { background-position:160% 0 }
  100% { background-position:-160% 0 }
}
@keyframes arrowPulse {
  from { transform:translateY(-50%) translateX(0) }
  to   { transform:translateY(-50%) translateX(6px) }
}
@keyframes redCornerNudge {
  0%,100% { transform:translateX(0) }
  50%     { transform:translateX(8px) }
}
@keyframes redCornerDownNudge {
  0%,100% { transform:translateY(0) }
  50%     { transform:translateY(7px) }
}
@keyframes labelFadeIn {
  from { opacity:0; transform:translateY(5px) }
  to   { opacity:1; transform:translateY(0) }
}

.success-steps.is-visible .step-flip {
  opacity: 1;
  filter: blur(0);
  visibility: visible;
  transform: translate3d(0,0,0) scale(1);
}
.success-steps.is-visible .step-back,
.success-steps.is-visible .step-front .step-label,
.success-steps.is-visible .step-arrow,
.success-steps.is-visible .step-corner { animation-play-state:running }

@media (max-width:980px) {
  .success-steps {
    padding:64px 18px 44px;
    border-radius:var(--radius-mobile) var(--radius-mobile) 0 0;
    margin-top:0;
    overflow:hidden;
  }
  .success-steps__row {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 440px;
  }
  .step-card, .step-success { min-height:180px; border-radius:22px }
  .step-face { padding:24px 18px }
  .step-number { font-size:132px; inset:0 }
  .step-label { font-size:19px }
  .step-success .step-label { font-size:22px }
  .step-corner {
    top:10px; right:18px;
    border-left:22px solid transparent;
    border-right:22px solid transparent;
    border-top:38px solid #ff0f12;
    border-bottom:0;
    animation:redCornerDownNudge 1.25s ease-in-out 1.6s 4;
  }
  .step-arrow {
    top:auto; right:auto; left:50%; bottom:-13px;
    width:2px; height:22px;
    transform:translateX(-50%); z-index:6;
  }
  .step-arrow::after {
    top:auto; right:auto; left:50%; bottom:-1px;
    width:9px; height:9px;
    border-top:0; border-left:0;
    border-right:2px solid rgba(255,255,255,.45);
    border-bottom:2px solid rgba(255,255,255,.45);
    transform:translateX(-50%) rotate(45deg);
  }
}
@media (prefers-reduced-motion:reduce) {
  .step-card { opacity:1; transform:none; animation:none }
  .step-flip { visibility:visible; transform:none; animation:none }
  .step-back { animation:none }
  .step-front .step-label { animation:none; opacity:1 }
  .step-arrow { animation:none; opacity:.95 }
  .step-card:hover,
  .step-card:active .step-flip,
  .step-card:hover .step-flip,
  .step-card:hover .step-front::before,
  .step-card:hover .step-arrow,
  .step-corner { animation:none; transform:none }
}

/* =============================================
   SEC-SPONSOR — VISTO SPONSOR / PATROCINADO
   ============================================= */
.sec-sponsor {
  background: #181718;
  padding: 72px 0 104px;
  color: #fff;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  isolation: isolate;
}
.sec-sponsor::before {
  content: "";
  position: absolute;
  inset: -46px;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-informacoes-intercambio-australia-1.webp') center 58%/cover no-repeat;
  opacity: .42;
  filter: saturate(.72) brightness(.58) contrast(1.04);
  transform: scale(1.08);
  transition: opacity .38s ease, filter .38s ease, transform .55s cubic-bezier(.22,.68,0,1);
  z-index: -2;
}
.sec-sponsor::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(24,23,24,.7) 0%, rgba(24,23,24,.76) 38%, rgba(24,23,24,.9) 100%),
    radial-gradient(circle at 50% 22%, rgba(215,26,33,.18), rgba(215,26,33,0) 38%);
  z-index: -1;
}
.sec-sponsor:hover::before {
  opacity: .52;
  filter: saturate(.86) brightness(.66) contrast(1.08);
  transform: scale(1.1);
}
.sec-sponsor .wrap {
  position: relative;
  z-index: 1;
}
.sponsor-head {
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
}
.sponsor-head h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  text-transform: uppercase;
}
.sponsor-head p  { color: rgba(255,255,255,.82); margin: 16px 0 28px; }

.sponsor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 640px) {
  .sponsor-grid { grid-template-columns: 1fr; }
}

.sponsor-card {
  position: relative;
  min-height: 340px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  background: rgba(24,23,24,.48);
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 20px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  isolation: isolate;
  transition: transform .35s ease, box-shadow .35s ease, border-color .28s ease, background .28s ease, backdrop-filter .28s ease, filter .35s ease;
}
.sponsor-card.stagger-card {
  transition: opacity .68s ease, transform .68s cubic-bezier(.22,.68,0,1), filter .68s ease, box-shadow .35s ease, border-color .28s ease, background .28s ease, backdrop-filter .28s ease;
}
.sponsor-card:nth-child(2) {
  background: rgba(24,23,24,.58);
}
.sponsor-card:hover {
  transform: translateY(-6px) scale(1.01);
  background: rgba(24,23,24,.66);
  border-color: rgba(255,255,255,.85);
  box-shadow:
    0 30px 58px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.6),
    0 0 28px rgba(215,26,33,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
  filter: saturate(1.08);
}
.sponsor-card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .8;
  transform: scale(1.02);
  transition: opacity .45s ease, transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}
.sponsor-card:hover .sponsor-card-img {
  transform: scale(1.08);
  filter: saturate(1.08) contrast(1.06);
}
.sponsor-card-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(24,23,24,.24) 0%, rgba(24,23,24,.7) 100%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0) 42%);
}
/* topo: label + ícone */
.sponsor-card-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.sponsor-card-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 5px 14px;
  border-radius: 99px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 2px 10px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.18);
  transition: background .3s ease, box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.sponsor-card:hover .sponsor-card-label {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.42);
  box-shadow:
    0 6px 24px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.32),
    0 0 16px rgba(255,255,255,.08);
  transform: scale(1.05);
}
.sponsor-card-ico {
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: invert(14%) sepia(90%) saturate(6500%) hue-rotate(2deg) brightness(88%) contrast(110%);
  opacity: 1;
  transition: transform .3s ease, filter .3s ease;
}
.sponsor-card:hover .sponsor-card-ico {
  transform: scale(1.12);
  filter: invert(14%) sepia(90%) saturate(6500%) hue-rotate(2deg) brightness(110%) contrast(110%);
}
/* base: título + linha + botão */
.sponsor-card-bottom {
  position: relative;
  z-index: 1;
}
.sponsor-card-bottom h3 {
  color: #fff;
  font-size: 26px;
  font-weight: 600;
  text-transform: uppercase!important;
  line-height: 1.2;
  margin: 0 0 18px;
  text-shadow: 0 12px 30px rgba(0,0,0,.28);
}
.sponsor-card-footer {
  display: flex;
  align-items: center;
  gap: 14px;
}
.sponsor-card-line {
  flex: 1;
  height: 2px;
  background: #c0120c;
  border-radius: 2px;
  display: block;
}
.sponsor-card .btn-plus {
  position: static;
  flex-shrink: 0;
  transition: transform .25s ease, box-shadow .25s ease;
}
.sponsor-card .btn-plus:hover {
  transform: scale(1.18);
  box-shadow: 0 6px 20px rgba(192,18,12,.55);
}

/* =============================================
   SEC-VISTOS-OPCOES — OPÇÕES DE VISTOS SLIDER
   ============================================= */
.sec-vistos-opcoes {
  background: #f4f4f4;
  padding: 72px 0;
}

.vistos-rail {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  width: calc(100vw - max(24px, calc((100vw - 1200px) / 2 + 24px)));
  margin-right: calc(50% - 50vw);
  scroll-snap-type: x mandatory;
  padding: 15px 0 40px;
  scrollbar-width: none;
  margin-top: 40px;
}
.vistos-rail::-webkit-scrollbar { display: none; }

/* --- visto-card: padrão city-card --- */
.visto-card {
  position: relative;
  flex: 0 0 260px;
  min-height: 410px;
  border-radius: 18px;
  overflow: hidden;
  color: #fff;
  scroll-snap-align: start;
  background: #111;
  transition: transform .35s ease, box-shadow .35s ease;
  isolation: isolate;
}
.visto-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 18px rgba(0,0,0,.24);
}
/* imagem */
.visto-card img {
  width: 100%; height: 100%;
  object-fit: cover;
  position: absolute; inset: 0;
  z-index: 0;
  transition: transform .9s cubic-bezier(.2,.8,.2,1), filter .9s ease;
}
.visto-card:hover img {
  transform: scale(1.1) rotate(.8deg);
  filter: saturate(1.18) contrast(1.08);
}
/* gradiente escuro embaixo */
.visto-card::after {
  content: "";
  position: absolute; inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.78) 100%);
}
/* shimmer no hover */
.visto-card::before {
  content: "";
  position: absolute; inset: -30%;
  z-index: 3;
  background: linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.28) 48%, rgba(255,255,255,0) 66%);
  transform: translateX(-78%) rotate(8deg);
  opacity: .68;
  transition: transform .85s ease;
  pointer-events: none;
}
.visto-card:hover::before { transform: translateX(72%) rotate(8deg); }
/* conteúdo: título e frase complementar agrupados no topo */
.visto-card-copy {
  position: absolute;
  inset: 24px;
  z-index: 2;
  display: flex;
  flex-direction: column;
}
.visto-card-copy h3 {
  color: #fff;
  text-transform: uppercase!important;
  line-height: .98;
  font-size: 18px;
  font-weight: 700;
  max-width: 210px;
  margin: 0;
}
.visto-card-copy p {
  margin-top: 8px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600 !important;
  max-width: 210px;
  text-align: left !important;
}
/* botão + no canto inferior direito */
.visto-card .btn-plus {
  --plus-bg: var(--red);
  --plus-color: #fff;
  top: auto;
  bottom: 16px;
  right: 16px;
  z-index: 4;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(215,26,33,.32);
}
.visto-card .btn-plus::before {
  border-color: rgba(215,26,33,.38);
}
.visto-card .btn-plus::after {
  border-color: var(--red);
}
.visto-card .btn-plus:hover,
.visto-card .btn-plus:focus-visible {
  background: transparent;
  color: var(--red);
  border-color: var(--red);
  transform: scale(1.15);
  box-shadow: none;
}

.vistos-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}
.vistos-slider-line {
  height: 1px;
  background: rgba(0,0,0,.18);
  flex: 1;
}

/* Especialistas — empilhamento das seções abaixo do formulário (z-index 8) */
body.page-especialistas .success-steps{position:relative;z-index:9}
body.page-especialistas .sec-sponsor{position:relative;z-index:10}
body.page-especialistas .sec-vistos-opcoes{position:relative;z-index:11;padding-bottom:80px!important}
body.page-especialistas .sec-imig-qual{position:relative;z-index:12}
body.page-especialistas .sec-drive{position:relative;z-index:13}
body.page-especialistas .sec-familia{position:relative;z-index:14}

/* =============================================
   SEC-IMIG-QUAL — IMIGRAÇÃO QUALIFICADA
   ============================================= */
.sec-imig-qual {
  background: #f4f4f4;
  padding: 64px 0;
}
.imig-qual-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.imig-qual-head h2 {
  margin: 0 0 16px;
  text-transform: uppercase;
}
.imig-qual-head p { color: #555; max-width: 620px; margin: 0 auto; }
.imig-qual-cta { text-align: center; margin: 24px 0 36px; }

.imig-qual-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}
@media (max-width: 768px) {
  .imig-qual-layout { grid-template-columns: 1fr; }
}

/* Imigração qualificada — card principal com imagem e modal */
.subclass-card {
  border-radius: 24px;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 8/9;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform .4s ease, box-shadow .4s ease;
  color: #fff;
  text-decoration: none;
}
.subclass-card .subcard-bg {
  position: absolute; inset: 0;
  background: #000 url('https://australiancentre.com.br/wp-content/uploads/2026/08/visto-australia-1.webp') center/cover no-repeat;
  transform: scale(1);
  transition: transform .7s ease;
}
.subclass-card .subcard-overlay {
  position: absolute; inset: 0;
  background: none;
  transition: opacity .4s ease;
}
.subclass-card .subcard-inner {
  position: absolute;
  inset: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.subclass-card .subcard-line {
  display: block;
  width: 54px; height: 4px;
  border-radius: 2px;
  background: #fff;
  opacity: .85;
  margin: 6px 0 14px;
}
.subclass-card .subcard-title {
  margin: 0;
  font-weight: 700;
  line-height: 1.05;
  font-size: clamp(18px, 3.2vw, 24px);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  color: #fff;
  text-transform: uppercase!important;
}
.subclass-card .subcard-plus {
  position: absolute;
  left: 28px; bottom: 28px;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(215,26,33,.24);
  border: 1.5px solid transparent;
  overflow: visible;
  transition: transform .28s, box-shadow .28s, background .28s, border-color .28s, color .28s;
  z-index: 3;
  animation: plusPulse 1.9s ease-in-out infinite;
}
.subclass-card .subcard-plus::before,
.subclass-card .subcard-plus::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  pointer-events: none;
}
.subclass-card .subcard-plus::before {
  inset: -7px;
  border: 1.5px solid rgba(215,26,33,.38);
  animation: plusRing 1.9s ease-out infinite;
}
.subclass-card .subcard-plus::after {
  inset: -12px;
  border: 1.5px solid currentColor;
  opacity: 0;
  transform: scale(.76);
  transition: opacity .28s ease, transform .28s ease;
}
.subclass-card .subcard-plus svg { pointer-events: none; }
.subclass-card .subcard-plus svg path { stroke: currentColor; }
.subclass-card:hover,
.subclass-card:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
  outline: none;
}
.subclass-card:hover .subcard-bg,
.subclass-card:focus-visible .subcard-bg { transform: scale(1.08); }
.subclass-card:hover .subcard-overlay,
.subclass-card:focus-visible .subcard-overlay { opacity: .9; }
.subclass-card:hover .subcard-plus,
.subclass-card:focus-visible .subcard-plus {
  animation: none;
  background: transparent;
  color: var(--red);
  border-color: currentColor;
  box-shadow: none;
  transform: scale(1.06);
}
.subclass-card:hover .subcard-plus::before,
.subclass-card:focus-visible .subcard-plus::before { opacity: 0; animation: none; }
.subclass-card:hover .subcard-plus::after,
.subclass-card:focus-visible .subcard-plus::after { opacity: 1; transform: scale(1.12); }

@keyframes plusPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.04)} }

@media (prefers-reduced-motion: reduce) {
  .subclass-card,
  .subclass-card .subcard-bg,
  .subclass-card .subcard-plus,
  .subclass-card .subcard-plus::after { transition: none; animation: none; }
}

/* Imigração qualificada — cards de subclasses 189 / 191 / 491
   Referência da página inglesa: cards .caixa-visa2 com Geist, fundo #EEEBEB,
   borda branca, número 48px, subtítulo vermelho grande e brilho no hover. */
.qual-items { display: flex; flex-direction: column; gap: 16px; }

.caixa-visa2 {
  background: #EEEBEB;
  border-radius: 12px;
  border: 1px solid #fff;
  padding: 30px;
  transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
  position: relative;
  overflow: hidden;
  flex: 1;
}

/* Cards de subclasses — cabeçalho com label/seta à esquerda e ícone à direita */
.cv2-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}
.cv2-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.setapu {
  width: 20px;
  height: auto;
  filter: invert(14%) sepia(90%) saturate(6500%) hue-rotate(2deg) brightness(88%);
  flex-shrink: 0;
}
.caixa-visa2 b {
  font-size: 23px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: #404045;
  line-height: 1;
}
.passinho {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: invert(14%) sepia(90%) saturate(6500%) hue-rotate(2deg) brightness(88%);
  transition: filter .35s ease, opacity .35s ease;
  flex-shrink: 0;
}
.caixa-visa2:hover .passinho {
  filter: invert(14%) sepia(90%) saturate(6500%) hue-rotate(2deg) brightness(140%);
  opacity: .75;
}

.caixa-visa2 h3 {
  color: #D81A21;
  margin: 0 0 6px;
  font-size: 48px !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.caixa-visa2 p {
  font-size: 22px;
  color: #D81A21;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: -.01em;
  margin-bottom: 0;
  line-height: 1.08;
  text-align: left !important;
}

/* Cards de subclasses — brilho animado */
.caixa-visa2::before {
  content: "";
  position: absolute; top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 70%);
  transform: rotate(25deg);
  animation: brilho 3s infinite;
  pointer-events: none;
}
@keyframes brilho {
  0%   { transform: translateX(-100%) rotate(25deg); }
  100% { transform: translateX(100%) rotate(25deg); }
}
.caixa-visa2:hover {
  background: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.15);
  transform: scale(1.035);
}

.curso-nivel-stat {
  max-width: 440px;
  margin: 20px auto 8px;
}
.nivel-seta {
  width: 18px;
  height: auto;
  flex-shrink: 0;
  color: var(--red);
}
.nivel-ico {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  color: var(--red);
}
.curso-nivel-stat .caixa-visa2 {
  background: #fff;
  border-color: rgba(13,13,15,.09);
  box-shadow: 0 4px 16px rgba(13,13,15,.07);
}
.curso-nivel-stat .caixa-visa2:hover {
  background: #f5f4f4;
  border-color: rgba(13,13,15,.05);
  box-shadow: 0 10px 26px rgba(13,13,15,.12);
}

/* Imigração qualificada — modal de detalhes */
.smv-modal { position:fixed !important; inset:0 !important; display:none; align-items:center; justify-content:center; z-index:9998 !important; }
.smv-modal.is-open { display:flex !important; }
.smv-modal__backdrop {
  position:absolute !important; inset:0 !important;
  background:rgba(0,0,0,.45) !important;
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
  animation: smvFade .25s ease both;
}
.smv-modal__dialog {
  position:relative !important; width:min(92vw,820px) !important;
  background:#fff !important; border-radius:24px !important;
  box-shadow:0 18px 60px rgba(0,0,0,.35) !important; overflow:hidden !important; z-index:1 !important;
  max-height:75vh; display:flex; flex-direction:column;
  animation: smvPop .28s cubic-bezier(.2,.8,.2,1) both;
}
.smv-modal__content {
  flex:1 1 auto; min-height:0; overflow-y:auto;
  padding:28px 28px 22px !important; color:#222 !important;
  scrollbar-width:thin; scrollbar-color:#d81a21 #f1f1f1;
}
.smv-modal__content::-webkit-scrollbar { width:8px; }
.smv-modal__content::-webkit-scrollbar-track { background:#f1f1f1; border-radius:10px; }
.smv-modal__content::-webkit-scrollbar-thumb { background:#d81a21; border-radius:10px; }
.smv-modal__title { margin:0 0 6px !important; font-size:34px !important; font-weight:800 !important; color:#d81a21 !important; }
.smv-modal__kicker { margin:0 0 16px !important; font-size:20px !important; font-weight:700 !important; color:#111 !important; }
.smv-list { margin:10px 0 16px 18px !important; }
.smv-list li { margin:6px 0 !important; }
.smv-modal__bar { height:72px !important; background:#d81a21 !important; flex-shrink:0; }
.smv-modal__close {
  all:unset !important; position:absolute !important; top:14px !important; right:14px !important;
  width:34px !important; height:34px !important; border-radius:50% !important;
  display:grid !important; place-items:center !important;
  background:#222 !important; color:#fff !important; font-size:22px !important;
  cursor:pointer !important; box-shadow:0 6px 16px rgba(0,0,0,.25) !important; z-index:2 !important;
}
.smv-modal__close:hover { transform:translateY(-1px); }
@keyframes smvFade { from{opacity:0} to{opacity:1} }
@keyframes smvPop  { from{opacity:0;transform:translateY(10px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
body.smv-lock { overflow:hidden !important; }

/* =============================================
   SEC-FOTO-ESPECIALISTAS — PHOTO BREAK
   ============================================= */
/* drive-banner modifier para especialistas */
.drive-banner--especialistas .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-skilled-visa-australia-1.webp');
  background-position: center 40%;
}
.drive-banner--especialistas::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.10) 100%);
}

/* =============================================
   SEC-FAMILIA — VISTO FAMÍLIA E CÔNJUGE
   ============================================= */
.sec-familia {
  background: #f4f4f4;
  padding: 80px 0;
}
.familia-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 16px;
}
.familia-head h2 { margin-bottom: 12px; text-transform: uppercase; }
.familia-head p  { color: #555; }
.familia-cta { text-align: center; margin: 20px 0 48px; }

/* Família e cônjuge — grid bento em duas colunas */
.familia-bento-new {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 768px) { .familia-bento-new { grid-template-columns: 1fr; } }
.familia-col { display: flex; flex-direction: column; gap: 16px; }

/* Família e cônjuge — card de imagem da expertise */
.familia-img-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 360px;
  background: #111;
  transition: box-shadow .35s ease;
}
.familia-img-card img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; opacity: 1;
  transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .45s ease;
}
.familia-img-card:hover img { transform: scale(1.06); }
.familia-img-card::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(216,26,33,0) 42%, rgba(216,26,33,.55) 70%, rgba(173,12,18,.92) 100%);
}
.familia-img-copy {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  justify-content: flex-end;
  padding: 28px; z-index: 1;
}
.familia-img-copy h3 {
  color: #fff; font-size: 26px; font-weight: 700;
  text-transform: uppercase!important; margin: 0 0 10px; line-height: 1.1;
}
.familia-img-copy p {
  color: rgba(255,255,255,.85); font-size: 14px;
  line-height: 1.52; margin: 0; text-align: left !important;
}

/* Família e cônjuge — cards brancos com onda e brilho */
.caixa-visa-onda {
  background: #fff url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundocaln-2.webp') no-repeat;
  background-size: cover;
  border-radius: 16px;
  border: 1px solid #fff;
  padding: 32px 28px;
  transition: all .4s ease-in-out;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.caixa-visa-onda h3 {
  color: #D81A21; font-size: 20px; font-weight: 700;
  text-transform: uppercase!important; line-height: 1.2; margin: 0 0 12px;
}
.caixa-visa-onda p { color: #444; font-size: 14px; line-height: 1.55; margin: 0; text-align: left !important; }
.caixa-visa-onda h3,
.caixa-visa-onda p { position: relative; z-index: 1; }
.caixa-visa-onda::before {
  content: ""; position: absolute; top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 70%);
  transform: rotate(25deg);
  animation: brilho 3s infinite; pointer-events: none; z-index: 0;
  width: 80%;
}
.caixa-visa-onda:hover {
  transform: scale(1.02) translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}

/* Família e cônjuge — card vermelho que abre modal */
.caixa-vermelha {
  position: relative;
  background: #D81A21; color: #fff;
  border-radius: 16px; padding: 28px;
  min-height: 300px;
  flex: 1 1 auto;
  display: flex; flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  transition: transform .25s ease, box-shadow .25s ease;
}
.caixa-vermelha h3 {
  color: #fff;
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.15;
  margin: 12px 0 14px;
}
.caixa-vermelha p { color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.65; margin: 0 0 10px; }
.support-info-icon--white { background: rgba(255,255,255,.22); color: #fff; }
.caixa-vermelha .cv-line {
  display: block; width: 44px; height: 3px;
  background: #fff; border-radius: 2px; margin-bottom: 20px;
}
.caixa-vermelha h2 {
  margin: 0; color: #fff !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  font-size: clamp(20px, 2.8vw, 28px);
  font-weight: 700; line-height: 1.1;
  text-transform: uppercase!important; letter-spacing: .2px;
}
.fpm-trigger { cursor: pointer; }
.fpm-trigger:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.28);
}
.plus-cta {
  position: absolute; right: 22px; bottom: 22px;
  width: 46px; height: 46px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--red); color: #fff;
  box-shadow: 0 10px 24px rgba(215,26,33,.24);
  border: 1.5px solid transparent;
  overflow: visible;
  animation: plusPulse 1.9s ease-in-out infinite;
  transition: transform .28s, box-shadow .28s, background .28s, border-color .28s, color .28s;
  pointer-events: none; z-index: 2;
}
.caixa-vermelha .plus-cta {
  animation: none;
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.9);
  box-shadow: none;
}
.plus-cta::before,
.plus-cta::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  pointer-events: none;
}
.plus-cta::before {
  inset: -7px;
  border: 1.5px solid rgba(215,26,33,.38);
  animation: plusRing 1.9s ease-out infinite;
}
.caixa-vermelha .plus-cta::before {
  border-color: rgba(255,255,255,.52);
  animation: none;
  opacity: 1;
}
.plus-cta::after {
  inset: -12px;
  border: 1.5px solid currentColor;
  transform: scale(.76);
  opacity: 0;
  transition: transform .28s ease, opacity .28s ease;
}
.plus-cta svg { pointer-events: none; }
.plus-cta svg path { stroke: currentColor; }
.fpm-trigger:hover .plus-cta {
  animation: none;
  background: transparent;
  color: #fff;
  border-color: #fff;
  box-shadow: none;
  transform: scale(1.06);
}
.fpm-trigger:hover .plus-cta::before { opacity: 0; animation: none; }
.fpm-trigger:hover .plus-cta::after { opacity: 1; transform: scale(1.12); }

/* Família e cônjuge — modal de detalhes */
.fpm-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9998; }
.fpm-modal.is-open { display: flex; }
.fpm-backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,.45);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  animation: fpmFade .25s ease both;
}
.fpm-dialog {
  position: relative; width: min(92vw,860px); background: #fff; border-radius: 26px;
  overflow: hidden; box-shadow: 0 18px 60px rgba(0,0,0,.35); z-index: 1;
  max-height: 75vh; display: flex; flex-direction: column;
  animation: fpmPop .28s cubic-bezier(.2,.8,.2,1) both;
}
.fpm-content {
  flex: 1 1 auto; min-height: 0; overflow-y: auto;
  padding: 30px 30px 18px; color: #222;
  scrollbar-width: thin; scrollbar-color: #d81a21 #f1f1f1;
}
.fpm-content::-webkit-scrollbar { width: 8px; }
.fpm-content::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
.fpm-content::-webkit-scrollbar-thumb { background: #d81a21; border-radius: 10px; }
.fpm-title { margin: 0 0 16px; font-size: clamp(28px,4.6vw,42px); font-weight: 800; color: #d81a21; line-height: 1.05; }
.fpm-content p { margin: 0 0 14px; font-size: 15px; line-height: 1.55; }
.fpm-bar { height: 78px; background: #d81a21; flex-shrink: 0; }
.fpm-close {
  all: unset !important; position: absolute !important; top: 14px !important; right: 14px !important;
  width: 36px !important; height: 36px !important; border-radius: 50% !important;
  display: grid !important; place-items: center !important;
  background: #222 !important; cursor: pointer !important; z-index: 10 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.25) !important; transition: transform .2s ease !important;
}
.fpm-close::before, .fpm-close::after { content: none !important; display: none !important; }
.fpm-close:hover { transform: translateY(-1px) !important; }
@keyframes fpmFade { from{opacity:0} to{opacity:1} }
@keyframes fpmPop  { from{opacity:0;transform:translateY(10px) scale(.98)} to{opacity:1;transform:translateY(0) scale(1)} }
body.fpm-lock { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .fpm-backdrop, .fpm-dialog { animation: none !important; }
  .caixa-vermelha, .plus-cta, .plus-cta::after { transition: none !important; }
}

/* Especialistas — arredondado do componente compartilhado de depoimentos */
body.page-especialistas .sec-dep.parapara {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  position: relative;
  z-index: 14;
  overflow: hidden;
}

@media (max-width: 768px) {
  body.page-especialistas .sec-dep.parapara {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    margin-top: calc(var(--radius-mobile) * -1);
  }
}

/* =============================================
   PÁGINA EQUIPE — ESQUIPE.HTML
   ============================================= */
.page-equipe {
  background: #f4f4f4;
}
.hero--equipe .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/equipe-consultores-intercambio-australia-e-nova-zelandia-1.webp');
  background-position: center 34%;
}
.team-section {
  background: #fff;
  padding: 62px 0 74px;
  overflow: hidden;
}
.team-page-head,
.team-group-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 30px;
}
.team-page-head h2,
.team-group-head h2 {
  text-transform: uppercase;
  margin: 0 0 14px;
  line-height: .94;
}
.team-page-title span {
  display: inline-block;
  white-space: nowrap;
}
.team-page-head p {
  color: #555;
  font-size: 14px;
  line-height: 1.55;
  max-width: 620px;
  margin: 0 auto;
}
.team-group-head {
  margin-top: 58px;
  margin-bottom: 28px;
}
.team-heading-flag {
  display: inline-block;
  font-size: .74em;
  line-height: 1;
  margin-left: 8px;
  transform: translateY(-.04em);
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.12));
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
}
.team-grid--featured {
  max-width: 820px;
}
.team-member-card {
  background: #fff;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 18px;
  padding: 14px;
  min-height: 100%;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.team-member-card:hover {
  transform: translateY(-6px);
  border-color: rgba(215,26,33,.26);
  box-shadow: 0 18px 34px rgba(0,0,0,.1);
}
.team-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 1.02;
  border-radius: 6px;
  overflow: hidden;
  background: #dedede;
  margin-bottom: 13px;
}
.team-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .34s ease, transform .46s cubic-bezier(.2,.8,.2,1), filter .34s ease;
}
.team-photo-normal {
  z-index: 1;
}
.team-photo-hover {
  z-index: 2;
  opacity: 0;
  transform: scale(1.02);
}
.team-member-card:hover .team-photo-normal {
  opacity: 1;
  transform: scale(1.025);
  filter: saturate(.96) contrast(1.03);
}
.team-member-card:hover .team-photo-hover {
  opacity: 1;
  transform: scale(1);
}
.team-member-card h3 {
  margin: 0 0 5px;
  font-size: 16px;
  color: #111;
  line-height: 1.05;
  font-weight: 700;
}
.team-member-card p {
  margin: 0;
  color: #333;
  font-size: 11.5px;
  line-height: 1.32;
  font-weight: 500;
  text-align: left !important;
}
.team-parallax {
  min-height: 355px;
  z-index: 3;
}
body.page-equipe .support-screen-media--equipe {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/agencia-especialista-em-intercambio-australia-e-nova-zelandia-1.webp');
  background-position: center 44%;
}
.sec-form--equipe {
  background: var(--gray) url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center/cover no-repeat;
  margin-top: calc(var(--radius) * -1);
  z-index: 4;
}
body.page-equipe .sec-form--equipe {
  z-index: 10;
}
@media (max-width: 900px) {
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .team-section { padding: 46px 0 56px; }
  .team-page-head,
  .team-group-head { margin-bottom: 22px; }
  .team-group-head { margin-top: 44px; }
  .team-section .wrap { padding-left: 10px; padding-right: 10px; }
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: none; gap: 10px; }
  .team-member-card { padding: 9px; }
  .team-member-card h3 { font-size: 14px; }
  .team-member-card p { font-size: 10.5px; line-height: 1.25; }
  .team-parallax { min-height: 300px; }
}

/* =============================================
   PÁGINA SUPORTE — SUPORTE.HTML
   ============================================= */
.page-suporte {
  background: #fff;
}
.page-suporte .sec-head p {
  font-size: 15px;
  color: #666;
  max-width: 720px;
  margin: 0 auto;
}
.hero--suporte {
  height: 74vh;
  min-height: 620px;
  justify-content: center;
}
.hero--suporte .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-equipe-ac-intercambio-1.webp');
  background-position: center 50%;
  opacity: .96;
}
.hero--suporte .hero-overlay {
  background:
    linear-gradient(180deg, rgba(44,0,0,.54) 0%, rgba(128,0,4,.64) 48%, rgba(215,26,33,.98) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.16), transparent 36%);
}
.hero--suporte .hero-body,
.hero--contato .hero-body,
.hero--equipe .hero-body {
  max-width: 1040px;
  padding: 128px 24px 88px;
}
.hero--suporte .hero-tag,
.hero--contato .hero-tag,
.hero--equipe .hero-tag {
  margin-bottom: 14px;
}
.hero--suporte .hero-tag svg,
.hero--contato .hero-tag svg,
.hero--equipe .hero-tag svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.9;
}
.support-hero-kicker {
  color: rgba(255,255,255,.86);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 14px;
  text-shadow: 0 2px 12px rgba(0,0,0,.34);
}
.hero--suporte .hero-body h1,
.hero--contato .hero-body h1,
.hero--equipe .hero-body h1 {
  max-width: 890px;
}
@media (min-width: 769px) {
  .hero-title-suporte br {
    display: block;
  }
}
.support-intro {
  background: #fff;
  padding: 72px 0 112px;
  overflow: hidden;
}
.support-intro-title span,
.support-near-title span {
  display: inline-block;
  white-space: nowrap;
}
.support-agencies {
  background: #f4f4f4;
  padding: 72px 0 112px;
  overflow: hidden;
}
.support-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 24px;
}
.support-head h2 {
  text-transform: uppercase;
  line-height: .94;
  max-width: 650px;
  margin: 0 auto 14px;
}
.support-head p {
  color: #5f5f5f;
  max-width: 620px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.48;
}
.support-region-tabs {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 26px auto 22px;
  flex-wrap: wrap;
}
.support-region-tab,
.support-city-tab {
  border: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease, opacity .24s ease;
}
.support-region-tab {
  min-width: 164px;
  padding: 10px 17px;
  border-radius: 999px;
  background: var(--red);
  color: #fff;
  font-size: 15px;
  box-shadow: 0 12px 24px rgba(0,0,0,.1);
  text-transform: uppercase;
}
.support-region-tab:not(.is-active) {
  background: #9e9e9e;
  opacity: .72;
  transform: scale(.98);
  box-shadow: none;
}
.support-region-tab:hover,
.support-region-tab:focus-visible,
.support-city-tab:hover,
.support-city-tab:focus-visible {
  transform: translateY(-2px);
  outline: none;
}
.support-city-tabs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.support-city-tab {
  background: transparent;
  color: #151b53;
  font-size: 16px;
  line-height: 1.2;
  padding: 8px 2px 9px;
  position: relative;
  text-transform: none;
}
.support-city-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 99px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s ease;
}

#intro-agencias { padding-top: 115px !important; padding-bottom: 115px !important;  }

#agencias {padding-top: 115px !important; }

.support-city-tab.is-active {
  color: var(--red);
}
.support-city-tab.is-active::after {
  transform: scaleX(1);
}
.support-office-panel {
  position: relative;
  overflow: hidden;
  max-width: 1110px;
  margin: 0 auto;
  padding: 28px 28px 30px;
  border-radius: 25px;
  background: #eee;
  border: 1px #FFF solid;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: box-shadow .32s ease, background .32s ease;
}
.support-office-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 20% 28%, rgba(216,26,33,.18), transparent 30%),
    linear-gradient(105deg, transparent 0%, rgba(255,255,255,.9) 48%, transparent 70%);
  opacity: 0;
  transform: translateX(-105%);
  pointer-events: none;
  z-index: 5;
}
.support-office-panel.is-transitioning {
  pointer-events: none;
  background: #f1f1f1;
  box-shadow: 0 24px 70px rgba(1,1,105,.1);
}
.support-office-panel.is-transitioning::after {
  animation: supportOfficeShine .92s cubic-bezier(.22,1,.36,1) both;
}
.support-office {
  display: grid;
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  gap: 44px;
  max-width: none;
  margin: 0;
  align-items: start;
}
.support-office-media {
  border-radius: 14px;
  overflow: hidden;
  height: 420px;
  min-height: 420px;
  background: #ddd;
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
}
.support-office-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease, filter .45s ease;
}
.support-office:hover .support-office-media img {
  transform: scale(1.06);
  filter: saturate(1.08) contrast(1.04);
}
.support-city-tabs,
.support-office-media,
.support-office-headline,
.support-office-copy > p,
.support-office-divider,
.support-office-legend,
.support-appointment-grid,
.support-office-meta {
  will-change: opacity, transform, filter;
}
.support-office-panel.is-switching-out .support-city-tabs,
.support-office-panel.is-switching-out .support-office-media,
.support-office-panel.is-switching-out .support-office-headline,
.support-office-panel.is-switching-out .support-office-copy > p,
.support-office-panel.is-switching-out .support-office-divider,
.support-office-panel.is-switching-out .support-office-legend,
.support-office-panel.is-switching-out .support-appointment-grid,
.support-office-panel.is-switching-out .support-office-meta {
  animation: supportOfficeLeave .34s cubic-bezier(.55,.06,.68,.19) both;
}
.support-office-panel.is-switching-out .support-office-media {
  animation-name: supportOfficeImageLeave;
}
.support-office-panel.is-switching-in .support-city-tabs,
.support-office-panel.is-switching-in .support-office-media,
.support-office-panel.is-switching-in .support-office-headline,
.support-office-panel.is-switching-in .support-office-copy > p,
.support-office-panel.is-switching-in .support-office-divider,
.support-office-panel.is-switching-in .support-office-legend,
.support-office-panel.is-switching-in .support-appointment-grid,
.support-office-panel.is-switching-in .support-office-meta {
  animation: supportOfficeReveal .68s cubic-bezier(.22,1,.36,1) both;
}
.support-office-panel.is-switching-in .support-office-media { animation-delay: .02s; }
.support-office-panel.is-switching-in .support-office-headline { animation-delay: .1s; }
.support-office-panel.is-switching-in .support-office-copy > p { animation-delay: .16s; }
.support-office-panel.is-switching-in .support-office-divider { animation-delay: .21s; }
.support-office-panel.is-switching-in .support-office-legend { animation-delay: .25s; }
.support-office-panel.is-switching-in .support-appointment-grid { animation-delay: .3s; }
.support-office-panel.is-switching-in .support-office-meta { animation-delay: .36s; }
@keyframes supportOfficeLeave {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
  to {
    opacity: 0;
    transform: translateY(24px) scale(.965);
    filter: blur(8px);
  }
}
@keyframes supportOfficeImageLeave {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0) saturate(1);
  }
  to {
    opacity: 0;
    transform: translateX(-34px) scale(.965);
    filter: blur(8px) saturate(.88);
  }
}
@keyframes supportOfficeReveal {
  from {
    opacity: 0;
    transform: translateY(28px) scale(.965);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@keyframes supportOfficeShine {
  0% {
    opacity: 0;
    transform: translateX(-105%);
  }
  18% {
    opacity: .95;
  }
  100% {
    opacity: 0;
    transform: translateX(105%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .support-office-panel::after,
  .support-city-tabs,
  .support-office-media,
  .support-office-headline,
  .support-office-copy > p,
  .support-office-divider,
  .support-office-legend,
  .support-appointment-grid,
  .support-office-meta {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
.support-office-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 10px 0 0;
}
.support-office-headline {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.support-office-copy h3 {
  margin: 0;
  color: #010169;
  font-size: clamp(24px, 2.7vw, 24px);
}
.support-office-book {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 10px 24px;
  border-radius: 999px;
  background: var(--red);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}
.support-office-book:hover,
.support-office-book:focus-visible {
  transform: translateY(-2px);
  background: #b70f16;
  box-shadow: 0 12px 24px rgba(216,26,33,.18);
  outline: none;
}
.support-office-copy p {
  color: #5d5d5d;
  font-size: 16px;
  line-height: 1.5;
  max-width: 440px;
  margin: 8px 0 0;
  text-align: left!important;
}
.support-office-divider {
  width: 100%;
  height: 2px;
  margin: 17px 0 10px;
  border-radius: 999px;
  background: rgba(216,26,33,.24);
}
.support-office-legend {
  margin: 0 0 17px;
  color: #151515;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}
.support-appointment-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(220px,1fr));
  gap: 14px 16px;
  margin: 0 0 18px;
}
.support-appointment-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 104px;
  padding: 16px 18px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
  color: #222;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.support-appointment-card:hover,
.support-appointment-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(216,26,33,.18);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  outline: none;
}
.support-appointment-title {
  display: block;
  margin: 0;
  color: #1d1d1d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.support-appointment-desc {
  display: block;
  flex: 1;
  margin: 0;
  color: #555;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}
.support-appointment-title::after,
.support-appointment-desc::after,
.support-appointment-free::after { content: none; }
.support-appointment-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.support-appointment-free {
  color: #16a34a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.support-appointment-more {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.support-appointment-dot {
  display: none;
}
.support-appointment-dot::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: inherit;
  background: var(--red);
  transform: scale(0);
  transition: transform .18s ease;
}
.support-appointment-card:hover .support-appointment-dot,
.support-appointment-card:focus-visible .support-appointment-dot {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(216,26,33,.15);
}
.support-appointment-card:hover .support-appointment-dot::after,
.support-appointment-card:focus-visible .support-appointment-dot::after {
  transform: scale(1);
}
.support-office-meta {
  width: 100%;
  position: relative;
  padding-top: 14px;
  border-top: 1px solid #ddd;
  margin-top: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
  align-items: center;
  gap: 32px;
  color: #151515;
  font-size: 14px;
  font-weight: 900;
}
.support-office-meta::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 0;
  left: calc(50% - 1px);
  width: 1px;
  min-height: 48px;
  border-radius: 1px;
  background: rgba(216,26,33,.58);
}
.support-office-meta span,
.support-office-meta a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  text-decoration: none;
  padding-left: 0;
}
.support-office-meta span::before,
.support-office-meta a::before {
  content: none;
}
.meta-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ffe6e8;
  color: var(--red);
}
.meta-icon svg { width: 16px; height: 16px; display: block; margin: auto; }
.meta-icon--blue,
.support-office-meta a .meta-icon--blue,
.support-office-meta span.meta-icon--blue { background: #e7eaf8; color: #151b53; }
.support-info-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffe6e8;
  color: var(--red);
  flex: 0 0 auto;
  margin-bottom: 6px;
}
.support-info-icon svg { width: 20px; height: 20px; display: block; }
.support-oceania {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  border-radius: 22px;
  background: #111;
  box-shadow: 0 18px 48px rgba(0,0,0,.13);
  margin: 0 0 52px;
}
.support-oceania-media {
  position: absolute;
  inset: -50px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/oceania-espaco-1.webp') center 40%/cover no-repeat;
  will-change: transform;
  transform: translate3d(0,0,0);
}
.support-oceania::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.28) 100%);
  pointer-events: none;
}
.support-oceania-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  padding: 22px 28px;
}
.support-oceania-caption {
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0,0,0,.35);
}
.sec-form--support {
  background: var(--gray) url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center/cover no-repeat;
  z-index: 8;
}
body.page-suporte .sec-form--support {
  z-index: 9;
}
.support-screen {
  position: relative;
  z-index: 9;
  background: #fff;
  padding: 0;
  overflow: hidden;
  min-height: 355px;
}
.support-screen-media {
  position: absolute;
  inset: -44px 0;
  border-radius: 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/suporte-no-intercambio-em-sydney-1.webp') center 52%/cover no-repeat;
  will-change: transform;
  transform: translate3d(0,0,0);
}
.support-screen-media--contato {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/foto-paralax-time-de-especialistas-em-intercambio-1.webp');
}
@media (min-width: 769px) {
  body.page-suporte .support-screen-media--contato {
    background-position: center 32%;
  }
}
.support-content {
  background: #fff;
  padding: 90px 0 110px;
  margin-top: -30px;
  z-index: 10;
}
.support-content-wrap {
  max-width: 1200px;
}
.support-content-wrap .sec-head {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 52px;
}
.support-content-wrap .sec-head h2 {
  max-width: 900px;
}
.support-content-wrap .sec-head p {
  max-width: 740px;
  margin: 0 auto 12px;
}
@media(min-width:769px){
  #conteudo-suporte .wrap .sec-head{
    max-width:820px;
    margin:0 auto 12px;
  }
}
.support-oceania--col {
  min-height: 460px;
  margin: 0;
  border-radius: 16px;
  flex: 0 0 auto;
}
.support-oceania--col .support-oceania-media {
  background-position: center 45%;
}
.support-content-wrap .caixa-vermelha {
  flex: 0 0 auto;
  min-height: 0;
}
.support-copy-block {
  margin: 0 0 30px;
}
.support-copy-block h2,
.support-copy-block h3 {
  color: #151515;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0 0 14px;
}
.support-copy-block h2 {
  font-size: clamp(28px,3.5vw,44px);
}
.support-copy-block h3 {
  font-size: clamp(21px,2.2vw,28px);
}
.support-copy-block p {
  color: #333;
  font-size: 16px;
  line-height: 1.62;
  margin: 0 0 14px;
}
.page-suporte .support-content + .sec-dep.parapara {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  z-index: 12;
}
@media(max-width:900px) {
  .hero--suporte {
    min-height: 560px;
    height: 66vh;
  }
  .support-office-panel {
    max-width: 740px;
  }
  .support-office {
    grid-template-columns: 1fr;
    max-width: 680px;
    margin: 0 auto;
  }
  .support-office-media {
    height: 320px;
    min-height: 320px;
  }
}
@media(max-width:768px) {
  .hero-title-sobre br {
    display: none;
  }
  .hero-title-sobre span {
    display: inline;
  }
  .hero-title-suporte br {
    display: none;
  }
  .hero-title-suporte span {
    display: inline;
  }
  .hero--suporte {
    min-height: 520px;
    height: 60vh;
  }
  .hero--suporte .hero-body,
  .hero--contato .hero-body,
  .hero--equipe .hero-body {
    padding: 118px 18px 82px;
  }
  .support-agencies {
    padding: 54px 0 80px;
  }
  .support-region-tabs {
    gap: 8px;
  }
  .support-region-tab {
    min-width: 144px;
    padding: 9px 13px;
  }
  .support-city-tabs {
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 0 0 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 30px), transparent 100%);
  }
  .support-city-tabs::-webkit-scrollbar {
    display: none;
  }
  .support-city-tab {
    flex: 0 0 auto;
    font-size: 14px;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  .support-office-panel {
    padding: 22px 16px 24px;
  }
  .support-office {
    grid-template-columns: 1fr;
    max-width: 390px;
    gap: 16px;
  }
  .support-office-media {
    height: 250px;
    min-height: 250px;
  }
  .support-office-copy {
    align-items: center;
    text-align: center;
    padding: 0;
  }
  body.page-suporte .support-office-copy > p {
    font-weight: 700;
    text-align: center !important;
  }
  .support-office-headline {
    justify-content: center;
  }
  .support-office-book {
    width: 100%;
    max-width: 280px;
  }
  .support-appointment-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .support-appointment-card {
    text-align: left;
  }
  .support-office-meta {
    grid-template-columns: 1fr;
    gap: 12px;
    text-align: left;
  }
  .support-office-meta::before {
    display: none;
  }
  .support-screen {
    min-height: 250px;
  }
  .support-screen-media {
    inset: -24px 0;
  }
  .support-oceania {
    min-height: 240px;
    border-radius: 16px;
    margin: 0 0 36px;
  }
  .support-content {
    padding: 56px 0 74px;
  }
  .support-copy-block p {
    font-size: 15px;
  }
}

/* =========================================================
   PÁGINA SOBRE
   ========================================================= */
.hero--sobre .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/equipe-de-especialistas-em-intercambio-1.webp');
  background-position: center 38%;
}
.hero--contato .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/foto-hero-equipe-especialistas-em-intercambio-australia-1.webp');
  background-position: center 38%;
}
/* Overlay mais leve que o anterior, mantendo leitura sem pesar no preto. */
.hero--sobre .hero-overlay,
.hero--contato .hero-overlay,
.hero--equipe .hero-overlay {
  background:
    linear-gradient(180deg, rgba(44,0,0,.50) 0%, rgba(92,0,6,.42) 38%, rgba(128,0,8,.22) 62%, rgba(128,0,8,.06) 76%, rgba(128,0,8,0) 100%),
    linear-gradient(0deg, rgba(215,26,33,.88) 0%, rgba(215,26,33,.62) 14%, rgba(215,26,33,.26) 30%, rgba(215,26,33,0) 46%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.12), transparent 34%);
}
.hero--sobre .hero-body {
  max-width: 1000px;
  padding: 111px 24px 88px;
}
.hero--contato .hero-body {
  max-width: 1000px;
  padding: 111px 24px 88px;
}
.hero--sobre .hero-body h1 { max-width: 820px; }
@media (min-width: 769px) {
  .hero-title-sobre br {
    display: block;
  }
}

/* Sobre — conteúdo editorial */
.sec-sobre {
  background: #fff;
  padding: 78px 0 88px;
}
.sobre-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 34px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}
.sobre-image {
  border-radius: 20px;
  overflow: hidden;
  background: #111;
  aspect-ratio: 16 / 7;
  position: relative;
  width: 100%;
}
.sobre-image.drive-banner {
  min-height: 0;
  margin-bottom: 0;
  box-shadow: 0 22px 54px rgba(0,0,0,.12);
}
.sobre-image.drive-banner::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.06) 100%);
}
.drive-banner--sobre-intro .drive-banner-media {
  inset: -44px 0;
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/equipe-ac-intercambio-1.webp');
  background-position: center 50%;
  background-size: cover;
}
.sobre-copy h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.12;
  color: #111;
  margin: 0 0 20px;
}
.sobre-copy .sobre-intro-title {
  max-width: 680px;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 900;
  line-height: .98;
  color: #111;
  text-transform: uppercase;
  margin: 0 auto 22px;
}
.sobre-copy .sobre-intro-title span {
  display: inline-block;
  white-space: nowrap;
}
.sobre-copy p {
  font-size: 15px;
  line-height: 1.72;
  color: #444;
  margin: 0 0 14px;
}
.sobre-copy p:not(:first-of-type) {
  text-align: left !important;
}
.sobre-copy .btn-red {
  margin-top: 14px;
}
.sobre-video-callout {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 14px;
  margin: 24px 0 18px;
  padding: 16px 16px 16px 14px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(215,26,33,.10), rgba(255,255,255,.94)),
    #fff;
  border: 1px solid rgba(215,26,33,.18);
  color: #171717;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(17,17,17,.08);
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.sobre-video-callout::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #ff2028, var(--red), #94070c);
}
.sobre-video-callout:hover,
.sobre-video-callout:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(215,26,33,.36);
  box-shadow: 0 22px 46px rgba(215,26,33,.16);
  outline: none;
}
.sobre-video-callout-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  box-shadow: 0 10px 24px rgba(215,26,33,.28);
  transition: transform .28s ease, background .28s ease;
}
.sobre-video-callout-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  margin-left: 2px;
}
.sobre-video-callout:hover .sobre-video-callout-icon,
.sobre-video-callout:focus-visible .sobre-video-callout-icon {
  transform: scale(1.08);
  background: #071e5f;
}
.sobre-video-callout span:nth-child(2) {
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.sobre-video-callout-arrow {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(7,30,95,.08);
  color: #071e5f;
  font-size: 18px;
  font-weight: 900;
  transition: transform .28s ease, background .28s ease, color .28s ease;
}
.sobre-video-callout:hover .sobre-video-callout-arrow,
.sobre-video-callout:focus-visible .sobre-video-callout-arrow {
  transform: translateY(3px);
  background: #071e5f;
  color: #fff;
}
.sobre-copy {
  min-width: 0;
  width: min(100%, var(--ac-editorial-copy-width, 1040px));
  margin: 0 auto;
  text-align: center;
}
.sobre-hashtags {
  position: relative;
  display: block;
  width: min(100%, calc(100vw - 48px));
  max-width: 100%;
  min-width: 0;
  margin: 28px -4px 0;
  padding: 8px 0;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.page-sobre .sec-sobre > .sobre-hashtags {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.sobre-hashtags::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(215,26,33,.08), rgba(215,26,33,0) 35%, rgba(20,28,62,.07) 100%);
  border-radius: 16px;
  opacity: .72;
}
.sobre-tags-track {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: max-content;
  white-space: nowrap;
  will-change: transform;
}
.sobre-tags-track + .sobre-tags-track {
  margin-top: 8px;
}
.sobre-tags-track--one {
  animation: sobreTagsLoop 62s linear infinite;
}
.sobre-tags-track--two {
  animation: sobreTagsLoop 72s linear infinite reverse;
}
.sobre-tags-set {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding-right: 10px;
}
.sobre-tags-set span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid rgba(215,26,33,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(215,26,33,.08);
  color: var(--red);
  font-family: 'Rokkitt', serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  text-transform: uppercase;
}
.sobre-tags-set .tag-sm {
  font-size: 0.72rem;
  opacity: 1;
}
.sobre-tags-set .tag-md {
  font-size: 0.875rem;
}
.sobre-tags-set .tag-lg {
  font-size: 1rem;
  color: #141C3E;
  border-color: rgba(20,28,62,.16);
}
.sobre-tags-set .tag-xl {
  font-size: 1.18rem;
  color: #fff;
  background: linear-gradient(135deg, #ff252d 0%, var(--red) 60%, #a3060d 100%);
  border-color: rgba(215,26,33,.65);
  box-shadow: 0 14px 28px rgba(215,26,33,.22);
}
.sobre-tags-set span:nth-child(8n + 1) {
  color: #d71a21;
  background: #fff;
  border-color: rgba(215,26,33,.24);
  box-shadow: 0 10px 24px rgba(215,26,33,.08);
}
.sobre-tags-set span:nth-child(8n + 2) {
  color: #fff;
  background: linear-gradient(135deg, #17245c 0%, #122357 58%, #071027 100%);
  border-color: rgba(18,35,87,.42);
  box-shadow: 0 14px 28px rgba(18,35,87,.18);
}
.sobre-tags-set span:nth-child(8n + 3) {
  color: #122357;
  background: #fff;
  border-color: rgba(18,35,87,.18);
  box-shadow: 0 10px 22px rgba(18,35,87,.07);
}
.sobre-tags-set span:nth-child(8n + 4) {
  color: #3b3f49;
  background: #f4f4f6;
  border-color: rgba(59,63,73,.14);
  box-shadow: 0 6px 16px rgba(13,13,15,.06);
}
.sobre-tags-set span:nth-child(8n + 5) {
  color: #fff;
  background: linear-gradient(135deg, #1e2e6e 0%, #122357 55%, #08112e 100%);
  border-color: rgba(18,35,87,.38);
  box-shadow: 0 12px 26px rgba(18,35,87,.16);
}
.sobre-tags-set span:nth-child(8n + 6) {
  color: #fff;
  background: linear-gradient(135deg, #ff252d 0%, #d71a21 60%, #a3060d 100%);
  border-color: rgba(215,26,33,.62);
  box-shadow: 0 14px 28px rgba(215,26,33,.2);
}
.sobre-tags-set span:nth-child(8n + 7) {
  color: #d71a21;
  background: linear-gradient(180deg, #fff 0%, #f4f4f4 100%);
  border-color: rgba(215,26,33,.18);
  box-shadow: 0 10px 22px rgba(215,26,33,.08);
}
.sobre-tags-set span:nth-child(8n) {
  color: #fff;
  background: linear-gradient(135deg, #17245c 0%, #0f1a45 58%, #060d24 100%);
  border-color: rgba(18,35,87,.44);
  box-shadow: 0 14px 28px rgba(18,35,87,.18);
}
.sobre-hashtags:hover .sobre-tags-track {
  animation-play-state: paused;
}
@keyframes sobreTagsLoop {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@media(prefers-reduced-motion: reduce) {
  .sobre-tags-track {
    animation: none !important;
    transform: none !important;
  }
}
@media(max-width: 640px) {
  .sobre-hashtags {
    margin-top: 24px;
  }
  .sobre-tags-track + .sobre-tags-track { margin-top: 7px; }
  .sobre-tags-set {
    gap: 8px;
    padding-right: 8px;
  }
  .sobre-tags-set span {
    min-height: 28px;
    padding: 6px 10px;
  }
  .sobre-tags-set .tag-lg,
  .sobre-tags-set .tag-xl { font-size: 1rem; }
}
@media(max-width: 900px) {
  .sobre-layout { gap: 28px; }
  .sobre-image { aspect-ratio: 16 / 9; }
}

/* Sobre — chegou a hora CTA */
.sec-sobre-cta {
  position: relative;
  overflow: hidden;
  background: #fff;
  padding: 38px 0 82px;
  z-index: 8;
}
.sec-sobre-cta.parapara { z-index: 8; }
.sobre-cta-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 188px;
  max-width: 1040px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 18px;
  background:
    linear-gradient(112deg, #fff 0%, #fff 43%, rgba(255,255,255,.72) 56%, rgba(255,255,255,0) 68%),
    #f6f3ec;
  box-shadow: 0 28px 58px rgba(34,24,24,.12), 0 1px 0 rgba(255,255,255,.88) inset;
  transition: transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s cubic-bezier(.2,.8,.2,1), background .42s ease;
}
.sobre-cta-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.86) 44%, rgba(255,255,255,0) 61%),
    linear-gradient(135deg, rgba(215,26,33,.08) 0%, rgba(215,26,33,0) 36%);
  transition: opacity .42s ease, background .42s ease;
}
.sobre-cta-card::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  z-index: 3;
  background: linear-gradient(180deg, #ff2028 0%, var(--red) 58%, #8f0509 100%);
  transition: width .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s ease;
}
/* Elemento de wipe diagonal */
.sobre-cta-wipe {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(112deg, #d31519 0%, #b80d13 45%, #8a0507 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path .64s cubic-bezier(.16,.84,.24,1), filter .42s ease;
}
.sobre-cta-card:hover .sobre-cta-wipe,
.sobre-cta-card:focus-within .sobre-cta-wipe {
  clip-path: polygon(0 0, 55% 0, 45% 100%, 0 100%);
  filter: saturate(1.05);
}
.sobre-cta-card:hover,
.sobre-cta-card:focus-within {
  box-shadow: 0 34px 72px rgba(34,24,24,.18), 0 18px 38px rgba(215,26,33,.22), 0 1px 0 rgba(255,255,255,.95) inset;
}
.sobre-cta-card:hover::before,
.sobre-cta-card:focus-within::before {
  opacity: 0;
}
.sobre-cta-card:hover::after,
.sobre-cta-card:focus-within::after {
  opacity: 0;
}
.sobre-cta-copy {
  position: relative;
  z-index: 4;
  align-self: center;
  display: grid;
  grid-template-columns: minmax(0, 560px);
  grid-template-areas:
    "heading"
    "button";
  align-items: start;
  row-gap: 14px;
  width: min(100%, 560px);
  max-width: 560px;
  padding: 32px 24px 32px 34px;
  transition: color .48s ease, -webkit-text-fill-color .48s ease;
}
.sobre-cta-card:hover .sobre-cta-copy,
.sobre-cta-card:focus-within .sobre-cta-copy {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.sobre-cta-heading {
  grid-area: heading;
  display: flex;
  flex-direction: column;
  background: none !important;
  -webkit-text-fill-color: #101010 !important;
  color: #101010;
  font-size: clamp(17px, 1.9vw, 25px);
  font-weight: 900;
  text-transform: uppercase;
  line-height: .98;
  margin: 0;
  letter-spacing: 0;
  transform-origin: left center;
  transition: transform .58s cubic-bezier(.16,.84,.24,1), color .48s ease, -webkit-text-fill-color .48s ease, opacity .48s ease;
  transition-behavior: allow-discrete;
}
.sobre-cta-heading span {
  display: block;
}
.sobre-cta-heading .sobre-cta-red {
  color: var(--red) !important;
  -webkit-text-fill-color: var(--red) !important;
}
.sobre-cta-copy .sobre-cta-giant {
  display: inline;
  position: relative;
  z-index: 2;
  max-width: none;
  transform-origin: left center;
  transition: transform .72s cubic-bezier(.16,.84,.24,1), letter-spacing .58s ease, text-shadow .58s ease, opacity .58s ease, font-size .72s cubic-bezier(.16,.84,.24,1), line-height .72s cubic-bezier(.16,.84,.24,1);
  will-change: transform, opacity;
}
.sobre-cta-copy .sobre-cta-rest {
  display: inline;
  position: relative;
  z-index: 1;
  transform-origin: left center;
  transition: transform .72s cubic-bezier(.16,.84,.24,1), opacity .58s ease;
  will-change: transform, opacity;
}
.sobre-cta-copy .sobre-cta-rest span {
  display: inline;
  white-space: normal;
}
.sobre-cta-copy .sobre-cta-giant span {
  display: inline;
}
.sobre-cta-card:hover .sobre-cta-heading,
.sobre-cta-card:focus-within .sobre-cta-heading {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.sobre-cta-card:hover .sobre-cta-copy h2,
.sobre-cta-card:focus-within .sobre-cta-copy h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.sobre-cta-card:hover .sobre-cta-giant,
.sobre-cta-card:focus-within .sobre-cta-giant {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.sobre-cta-card:hover .sobre-cta-rest,
.sobre-cta-card:focus-within .sobre-cta-rest {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.sobre-cta-card:hover .sobre-cta-heading .sobre-cta-red,
.sobre-cta-card:focus-within .sobre-cta-heading .sobre-cta-red {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.sobre-cta-photo {
  position: relative;
  z-index: 1;
  min-height: 188px;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/banner-sobre-intercambio-australia-e-nova-zelandia-1.webp') center 45% / cover no-repeat;
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  transform: scale(1.01);
  overflow: hidden;
  transition: clip-path .48s cubic-bezier(.2,.8,.2,1), transform .48s cubic-bezier(.2,.8,.2,1), background-position .48s ease, filter .48s ease;
}
.sobre-cta-photo::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -70px;
  width: 145px;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(112deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.56) 46%, rgba(255,255,255,0) 76%);
  opacity: 0;
  transform: translateX(-40px) skewX(-17deg);
  transition: transform .62s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
}
.sobre-cta-card:hover .sobre-cta-photo,
.sobre-cta-card:focus-within .sobre-cta-photo {
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  transform: scale(1.01);
  background-position: center 45%;
  filter: saturate(1.08) contrast(1.03);
}
.sobre-cta-card:hover .sobre-cta-photo::before,
.sobre-cta-card:focus-within .sobre-cta-photo::before {
  opacity: .85;
  transform: translateX(95px) skewX(-17deg);
}
.sobre-banner-btn {
  grid-area: button;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  min-height: 42px;
  border-radius: 999px;
  padding: 13px 28px;
  border: 1px solid transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: transform .32s cubic-bezier(.16,.84,.24,1), box-shadow .32s ease, background .32s ease, color .32s ease, border-color .32s ease;
}
.sobre-cta-card:hover .sobre-banner-btn,
.sobre-cta-card:focus-within .sobre-banner-btn {
  transform: translateY(-2px);
  background: #fff;
  color: var(--red);
  border-color: rgba(255,255,255,.86);
  box-shadow: 0 16px 34px rgba(0,0,0,.2);
}
.sobre-banner-btn:hover,
.sobre-banner-btn:focus-visible {
  transform: translateY(-4px) scale(1.03);
  outline: none;
}
.sobre-cta-card:hover .sobre-banner-btn:hover,
.sobre-cta-card:focus-within .sobre-banner-btn:focus-visible {
  transform: translateY(-4px) scale(1.03);
}
.sobre-banner-btn--red {
  background: linear-gradient(135deg, #ff222b 0%, var(--red) 58%, #a5060d 100%);
  box-shadow: 0 11px 22px rgba(215,26,33,.22);
}
.sobre-banner-btn--red:hover,
.sobre-banner-btn--red:focus-visible {
  box-shadow: 0 15px 28px rgba(215,26,33,.28);
}

/* Sobre — strip imigração registrado */
.sec-imig-strip {
  background: #fff;
  padding: 42px 0 70px;
  position: relative;
  z-index: 8;
}
.sec-imig-strip.parapara { z-index: 8; }
.page-sobre #form-cta.sec-form {
  z-index: 9;
}
.page-sobre .sec-photo-break {
  min-height: 0;
  margin-top: -74px;
  margin-bottom: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  z-index: 10;
  border-radius: 0;
}
.page-sobre .sec-photo-break .wrap {
  position: relative;
  max-width: none;
  padding: 0;
}
.page-sobre .sec-photo-break .drive-banner {
  position: relative;
  min-height: 535px;
  height: auto;
  margin: 0 0 -66px;
  border-radius: 34px;
  box-shadow: 0 22px 54px rgba(0,0,0,.12);
}
.page-sobre .sec-photo-break .drive-banner:hover {
  box-shadow: 0 30px 68px rgba(0,0,0,.16);
}
.page-sobre .drive-banner--imigracao .drive-banner-media {
  inset: -44px 0;
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/estudar-na-australia-2-1.webp');
  background-position: center 52%;
  background-size: cover;
}
.page-sobre .drive-banner--imigracao::after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.08) 100%);
}
.page-sobre .sec-imig-strip.parapara {
  margin-top: -100px;
  z-index: 11;
}
.page-sobre .sec-blog.parapara {
  z-index: 12;
}
.page-sobre .sec-dep.parapara {
  z-index: 13;
}
.page-sobre .blog-mic-wrap,
.page-sobre #blogMic {
  display: none !important;
}
.page-sobre .blog-hdr {
  padding-top: 80px;
}
.page-sobre .hero-sub,
.page-sobre .sobre-copy h2:not(.sobre-intro-title),
.page-sobre .blog-hdr p,
.page-sobre .blog-hdr .btn-red,
.page-sobre .blog-excerpt,
.page-sobre .blog-read {
  display: none;
}
.imig-strip-inner {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 146px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 28px 34px;
  overflow: hidden;
  border-radius: 18px;
  background:
    linear-gradient(135deg, #ef1d16 0%, #d41612 52%, #b90d10 100%);
  box-shadow: 0 24px 48px rgba(215,26,33,.18);
  transition: transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, background .38s ease;
}
.imig-strip-copy {
  flex: 0 1 74%;
  max-width: 74%;
  min-width: 0;
}
.imig-strip-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(112deg, rgba(255,255,255,.14) 0 1px, transparent 1px 84px),
    radial-gradient(circle at 82% 22%, rgba(255,255,255,.22) 0, rgba(255,255,255,0) 24%),
    linear-gradient(90deg, rgba(0,0,0,.05), rgba(0,0,0,0) 44%);
  opacity: .62;
  transition: opacity .3s ease, background .34s ease;
}
.imig-strip-inner::after {
  content: "";
  position: absolute;
  right: -48px;
  top: -42px;
  width: 190px;
  height: 190px;
  border: 34px solid rgba(255,255,255,.11);
  border-radius: 50%;
  pointer-events: none;
  transform: translate3d(0,0,0) scale(1);
  transition: transform .34s cubic-bezier(.06,.78,.18,1.02), right .34s cubic-bezier(.06,.78,.18,1.02), top .34s cubic-bezier(.06,.78,.18,1.02), border-color .24s ease, background .24s ease, opacity .24s ease;
}
.imig-strip-inner:hover,
.imig-strip-inner:focus-within {
  transform: translateY(-4px);
  background:
    linear-gradient(135deg, #071e5f 0%, #0b2f8f 47%, #d71920 100%);
  box-shadow: 0 34px 72px rgba(4,20,72,.20), 0 18px 42px rgba(215,26,33,.18);
}
.imig-strip-inner:hover::before,
.imig-strip-inner:focus-within::before {
  opacity: .9;
  background:
    linear-gradient(126deg, rgba(255,255,255,.19) 0 1px, transparent 1px 70px),
    linear-gradient(115deg, rgba(255,255,255,0) 0 36%, rgba(255,255,255,.18) 47%, rgba(255,255,255,0) 59%),
    radial-gradient(circle at 28% 72%, rgba(255,255,255,.26) 0, rgba(255,255,255,0) 23%);
}
.imig-strip-inner:hover::after,
.imig-strip-inner:focus-within::after {
  right: 42%;
  top: -164px;
  transform: translate3d(0,0,0) scale(2.85);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  opacity: .95;
}
.imig-strip-copy h2 {
  position: relative;
  z-index: 2;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(15px, 1.85vw, 24px);
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  line-height: .98;
  max-width: 100%;
  letter-spacing: 0;
  transition: transform .36s cubic-bezier(.2,.8,.2,1), color .3s ease, text-shadow .3s ease;
}
.imig-strip-copy .imig-line {
  display: block;
  white-space: nowrap;
}
.imig-strip-copy .imig-line--mobile {
  display: none;
}
.imig-strip-inner:hover .imig-strip-copy h2,
.imig-strip-inner:focus-within .imig-strip-copy h2 {
  transform: translateX(22px) translateY(-3px) scale(1.04);
  color: #fff;
  text-shadow: 0 16px 34px rgba(0,0,0,.2);
}
.sobre-banner-btn--blue {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  background: #071e5f;
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 12px 24px rgba(4,20,72,.2);
  min-height: 40px;
  padding: 12px 26px;
  font-size: 11px;
  transition: transform .34s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
}
.imig-strip-inner:hover .sobre-banner-btn--blue,
.imig-strip-inner:focus-within .sobre-banner-btn--blue {
  transform: translateX(-18px) translateY(4px) scale(1.18);
  background: rgba(255,255,255,.16);
  color: #fff;
  border-color: rgba(255,255,255,.72);
  box-shadow: 0 18px 34px rgba(4,20,72,.22);
}
.sobre-banner-btn--blue:hover,
.sobre-banner-btn--blue:focus-visible {
  background: rgba(255,255,255,.22);
  color: #fff;
  box-shadow: 0 16px 30px rgba(4,20,72,.24);
}
.imig-strip-inner:hover .sobre-banner-btn--blue:hover,
.imig-strip-inner:focus-within .sobre-banner-btn--blue:focus-visible {
  transform: translateX(-18px) translateY(2px) scale(1.22);
}
@media(max-width: 900px) {
  .sobre-cta-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .sobre-cta-card::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 45%, rgba(255,255,255,.16) 100%),
      linear-gradient(135deg, rgba(215,26,33,.08) 0%, rgba(215,26,33,0) 36%);
  }
  .sobre-cta-copy {
    width: min(100%, 430px);
    max-width: 430px;
    min-height: 178px;
  }
  .sobre-cta-card:hover .sobre-cta-copy,
  .sobre-cta-card:focus-within .sobre-cta-copy {
    width: min(100%, 430px);
    max-width: 430px;
  }
  .sobre-cta-card:hover .sobre-cta-wipe,
  .sobre-cta-card:focus-within .sobre-cta-wipe {
    clip-path: polygon(0 0, 72% 0, 58% 100%, 0 100%);
  }
  .sobre-cta-photo {
    position: absolute;
    inset: 0;
    min-height: 0;
    clip-path: none;
    background-position: center 42%;
    opacity: .52;
  }
  .sobre-cta-card:hover,
  .sobre-cta-card:focus-within {
    transform: none;
  }
  .sobre-cta-card:hover .sobre-cta-copy h2,
  .sobre-cta-card:focus-within .sobre-cta-copy h2 {
    transform: none;
  }
  .sobre-cta-card:hover .sobre-cta-giant,
  .sobre-cta-card:focus-within .sobre-cta-giant {
    transform: none;
  }
  .sobre-cta-card:hover .sobre-cta-photo,
  .sobre-cta-card:focus-within .sobre-cta-photo {
    clip-path: none;
    transform: none;
    opacity: .58;
  }
}
@media(max-width: 768px) {
  .sec-sobre-cta { padding: 32px 0 64px; }
  .sobre-cta-copy { padding: 28px 22px 30px 28px; }
  .sobre-cta-heading { font-size: 22px; }
  .sobre-banner-btn {
    min-height: 40px;
    padding: 12px 22px;
    font-size: 10px;
  }
  .page-sobre .sec-photo-break {
    min-height: 0;
    margin-top: -56px;
  }
  .page-sobre .sec-photo-break .drive-banner {
    min-height: 320px;
    margin-bottom: -48px;
    border-radius: 26px;
  }
  .page-sobre .drive-banner--imigracao .drive-banner-media {
    inset: -56px -14px;
    background-position: center 48%;
  }
  .sec-imig-strip { padding: 34px 0 58px; }
  .page-sobre .sec-imig-strip.parapara {
    margin-top: -24px;
    padding-bottom: 90px !important;
  }
  .page-sobre .blog-hdr {
    padding-top: 50px;
  }
  .imig-strip-inner {
    flex-direction: column;
    align-items: flex-start;
    min-height: 228px;
    padding: 30px 24px;
    justify-content: center;
  }
  .imig-strip-copy {
    flex: 0 1 auto;
    max-width: 100%;
    width: 100%;
  }
  .imig-strip-copy h2 {
    font-size: clamp(20px, 5.2vw, 24px);
    line-height: 1.04;
    max-width: 92%;
  }
  .sobre-banner-btn--blue {
    min-height: 44px;
    padding: 13px 28px;
    font-size: 12px;
  }
  .imig-strip-inner:hover::after,
  .imig-strip-inner:focus-within::after {
    right: 18%;
    top: -110px;
    transform: scale(2.35);
  }
  .imig-strip-inner:hover .imig-strip-copy h2,
  .imig-strip-inner:focus-within .imig-strip-copy h2 {
    transform: translateX(3px) translateY(-2px) scale(1.025);
  }
  .imig-strip-inner:hover .sobre-banner-btn--blue,
  .imig-strip-inner:focus-within .sobre-banner-btn--blue,
  .imig-strip-inner:hover .sobre-banner-btn--blue:hover,
  .imig-strip-inner:focus-within .sobre-banner-btn--blue:focus-visible {
    transform: translateY(2px) scale(1.06);
  }
}
@media(max-width: 520px) {
  .sobre-cta-copy h2,
  .imig-strip-copy h2 { line-height: 1.04; }
  .imig-strip-inner {
    min-height: 258px;
    padding: 34px 24px 30px;
  }
  .imig-strip-copy h2 {
    font-size: clamp(20px, 5.8vw, 22px);
    max-width: 86%;
  }
  .imig-strip-copy .imig-line--desktop { display: none; }
  .imig-strip-copy .imig-line--mobile {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .sobre-banner-btn { white-space: normal; text-align: center; }
}

/* Sobre — seção de vídeo */
.sec-sobre-video {
  background: #f4f4f4;
  padding: 128px 0 80px;
  position: relative;
  z-index: 9;
  overflow: hidden;
  border-radius: var(--radius) var(--radius) 0 0;
  scroll-margin-top: 88px;
}
.sobre-video-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 40px;
}
.sobre-video-head h2 {
  text-transform: uppercase;
  margin: 0 0 12px;
  line-height: .96;
}
.sobre-video-head p {
  color: #555;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}
.sobre-video-card {
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  background: #000;
  aspect-ratio: 16 / 9;
  box-shadow: 0 28px 64px rgba(0,0,0,.22);
  cursor: pointer;
}
.sobre-video-cta {
  margin-top: 72px;
}
body.page-sobre #form-cta .sobre-video-cta {
  margin: 0 auto 72px;
}
body.page-sobre .sobre-video-card {
  width: min(100%, 1040px);
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.sobre-video-card iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.sobre-video-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease, opacity .35s ease;
}
.sobre-video-card:hover .sobre-video-thumb { transform: scale(1.04); opacity: .82; }
.sobre-video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.42) 100%);
  transition: background .3s ease;
}
.sobre-video-card:hover .sobre-video-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.54) 100%);
}
.sobre-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  z-index: 2;
}
.sobre-video-play-btn {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 32px rgba(0,0,0,.32);
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.sobre-video-card:hover .sobre-video-play-btn {
  transform: scale(1.1);
  box-shadow: 0 16px 48px rgba(0,0,0,.42);
  background: var(--red);
}
.sobre-video-play-btn svg {
  width: 30px;
  height: 30px;
  fill: var(--red);
  margin-left: 4px;
  transition: fill .28s ease;
}
.sobre-video-card:hover .sobre-video-play-btn svg { fill: #fff; }
.sobre-video-label {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.sobre-video-card.is-playing .sobre-video-thumb,
.sobre-video-card.is-playing .sobre-video-overlay,
.sobre-video-card.is-playing .sobre-video-play { display: none; }
@media(max-width: 768px) {
  .sobre-video-play-btn { width: 64px; height: 64px; }
  .sobre-video-play-btn svg { width: 24px; height: 24px; }
}

/* Heroes internos: altura única de 75vh/75svh. A home usa .hero puro e fica fora desta regra. */
.hero--australia,
.hero--especialistas,
.hero--suporte,
.hero--sobre,
.hero--contato,
.hero--depoimentos,
.hero--equipe {
  height: 75vh !important;
  min-height: 75vh !important;
}
.hero--australia,
.hero--especialistas,
.hero--suporte,
.hero--sobre,
.hero--contato,
.hero--depoimentos,
.hero--equipe {
  justify-content: center;
}
@supports (height: 75svh) {
  .hero--australia,
  .hero--especialistas,
  .hero--suporte,
  .hero--sobre,
  .hero--contato,
  .hero--depoimentos,
  .hero--equipe {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media(max-width: 768px) {
  .hero--australia,
  .hero--especialistas,
  .hero--suporte,
  .hero--sobre,
  .hero--contato,
  .hero--depoimentos,
  .hero--equipe {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}

/* =========================================================
   PÁGINA VISTO 494
   ========================================================= */
.hero--visto494 {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto494 .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-visto-494-imigracao-australia-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto494 .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto494 .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto494 .hero-body h1 {
  max-width: 900px;
}
@media (min-width: 769px) {
  .hero-title-v494 br {
    display: block;
  }
}
.hero--visto494 .hero-sub {
  max-width: 900px;
}
.hero--visto494 .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto494 .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}

.v494-expect {
  background: #fff;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  padding: 86px 0 78px;
  position: relative;
  z-index: 3;
}
.v494-expect .sec-head {
  margin-bottom: 34px;
}
.v494-expect .sec-head h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.v494-expect .sec-head h2,
.v494-copy h2,
.v494-info .sec-head h2,
.v494-last h2 {
  text-transform: none;
}
body.page-visto494 .v494-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 980px;
  margin: 0 auto 114px;
  align-items: stretch;
}
.v494-card {
  position: relative;
  margin-top: 0;
  border-radius: 18px;
  padding: 32px 20px 30px;
  text-align: center;
  border: 1px solid rgba(0,0,0,.15);
  box-shadow: 0 18px 44px rgba(0,0,0,.1);
  opacity: 0;
  filter: blur(8px);
  transform: translate3d(0,24px,0) scale(.988);
  -webkit-transform: translate3d(0,24px,0) scale(.988);
  transition: transform .38s cubic-bezier(.22,.68,0,1), box-shadow .35s ease, filter .28s ease;
  -webkit-transition: -webkit-transform .38s cubic-bezier(.22,.68,0,1), box-shadow .35s ease, filter .28s ease;
}
.v494-cards.is-visible .v494-card,
.v494-cards.on .v494-card {
  animation: v494CardEnter .82s cubic-bezier(.22,.68,0,1) var(--card-delay, 0ms) both;
}
.v494-card:hover {
  transform: translateY(-8px) scale(1.015);
  -webkit-transform: translateY(-8px) scale(1.015);
  box-shadow: 0 30px 68px rgba(0,0,0,.18);
  filter: saturate(1.05);
}
.v494-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.28), rgba(255,255,255,0) 28%);
  opacity: .52;
  pointer-events: none;
}
.v494-card h3 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 14px;
  font-size: 16px;
  line-height: 1.05;
  text-transform: none !important;
  color: inherit;
  overflow-wrap: normal;
  text-wrap: balance;
}
.v494-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.25;
  color: inherit;
}
.v494-card--red {
  background: #ed1c24;
  color: #fff;
  border-color: #ed1c24;
}
.v494-card--light {
  background: #e8e8e8;
  color: #111;
}
.v494-card--dark {
  background: #242424;
  color: #fff;
  border-color: #242424;
}
.v494-card--white {
  background: #fff;
  color: #111;
}
@keyframes v494CardEnter {
  0% {
    opacity: 0;
    filter: blur(8px);
    transform: translate3d(0,24px,0) scale(.988);
    -webkit-transform: translate3d(0,24px,0) scale(.988);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0,0,0) scale(1);
    -webkit-transform: translate3d(0,0,0) scale(1);
  }
}
@keyframes v494IconFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes v494IconPulse {
  0%, 100% { opacity: .08; transform: scale(.88); }
  50% { opacity: .18; transform: scale(1.05); }
}
.v494-copy {
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
}
.v494-copy h2 {
  max-width: 680px;
  margin: 0 auto 28px;
}
.v494-copy h3 {
  max-width: 720px;
  margin: 0 auto 28px;
  color: #ed1c24;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.06 !important;
  text-align: center;
  text-wrap: balance;
}
.v494-copy p {
  color: #555;
  font-size: 16px;
  line-height: 1.62;
  max-width: 1060px;
  margin: 0 auto 24px;
}
body.page-visto494 .v494-copy p,
body.page-visto494 .v494-text-copy p,
body.page-visto494 .v494-criteria-copy p,
body.page-visto494 .v494-modern-block--text .v494-block-head p,
body.page-visto494 .v494-modern-block--agent .v494-agent-copy p {
  text-align: left !important;
}
body.page-visto494 .v494-modern-block--agent-text {
  width: 100% !important;
  max-width: 960px !important;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 0 0 82px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  text-align: left;
}
.v494-copy p a {
  color: #ed1c24;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  transition: color .22s ease, text-decoration-color .22s ease;
}
.v494-copy p a:hover,
.v494-copy p a:focus-visible {
  color: #141c3e;
  text-decoration-color: rgba(20,28,62,.45);
  outline: none;
}
.v494-copy strong,
.v494-modern-block strong {
  font-weight: 800;
  color: #242424;
}

body.page-visto494 .v494-form {
  padding-top: 86px;
  padding-bottom: 210px;
  border-radius: var(--radius) var(--radius) 0 0;
}
body.page-visto494 #form-cta {
  margin-bottom: -30px;
  padding-bottom: 180px !important;
}

body.page-visto494 #foto-cidade-noturna {
  position: relative;
  z-index: 8;
  border-radius: 48px !important;
}
body.page-visto494 #informacoes-visto494 {
  position: relative;
  z-index: 9;
}
body.page-visto494 .v494-form .form-text h2 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.v494-form .form-shell {
  width: min(100%, 720px);
  background: rgba(255,255,255,.86);
  border-color: rgba(0,0,0,.06);
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
}
.v494-form .form-field label {
  color: #333;
}
.v494-form .ac-form button {
  background: #ed1c24;
  border-color: #ed1c24;
  color: #fff;
}
.v494-form .ac-form button:hover,
.v494-form .ac-form button:focus-visible {
  background: #d71920;
  border-color: #d71920;
}

.v494-info {
  background: #fff;
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
  padding: 0 0 108px;
  position: relative;
  overflow: hidden;
  z-index: 4;
}
body.page-visto494 main > section.v494-info {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--radius) var(--radius) 0 0;
}
.v494-criteria-section {
  position: relative;
  z-index: 9;
  background: transparent;
  margin-top: calc(var(--radius) * -1);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-visto494 main > section.v494-criteria-section.parapara {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.v494-regional-info {
  background: #fff;
  padding: 34px 0 108px !important;
  position: relative;
  z-index: 4;
}
.v494-info .v494-regional-info-inner {
  padding: 34px 0 108px;
}
body.page-visto494 main > section.v494-regional-info.parapara {
  padding-top: 34px !important;
  padding-bottom: 108px !important;
}
.v494-narrow {
  max-width: 1180px;
}
.v494-info .sec-head {
  margin-bottom: 36px;
}
.v494-info .sec-head h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.v494-modern-block {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 34px;
  background: #fff;
  border: 1px solid rgba(13,13,15,.08);
  box-shadow: 0 22px 52px rgba(13,13,15,.08);
  transition: transform .34s cubic-bezier(.22,.68,0,1), box-shadow .34s ease, border-color .28s ease;
}
.v494-modern-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(125deg, rgba(215,26,33,.08), rgba(215,26,33,0) 34%),
    radial-gradient(circle at 92% 8%, rgba(20,28,62,.08), rgba(20,28,62,0) 28%);
  opacity: .78;
  pointer-events: none;
}
.v494-modern-block--benefits {
  --v494-benefit-gutter: max(24px, calc((100vw - 1180px) / 2 + 24px));
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--red);
  box-shadow: none;
  padding: 92px var(--v494-benefit-gutter) 82px;
  text-align: center;
  width: 100vw;
  margin-left: calc(50% - 50vw);
      padding-bottom: 152px !important;
}
.v494-modern-block--benefits .sec-head {
  margin: 0 auto 72px;
}
.v494-modern-block--benefits .sec-head h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  background: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.v494-modern-block--benefits .sec-head h2 .h2-mask-inner {
  background: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.v494-modern-block--benefits.v494-modern-block--text {
  background: #fff;
  color: #111;
  padding-bottom: 82px !important;
}
body.page-visto494 #informacoes-visto494 .v494-modern-block--benefits.v494-modern-block--text {
  padding-bottom: 82px !important;
}
.v494-modern-block--benefits.v494-modern-block--text .sec-head {
  margin: 0 auto 26px;
}
.v494-modern-block--benefits.v494-modern-block--text .sec-head h2,
.v494-modern-block--benefits.v494-modern-block--text .sec-head h2 .h2-mask-inner {
  max-width: 820px;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  text-transform: none !important;
}
.v494-modern-block--criteria {
  --v494-criteria-gutter: max(24px, calc((100vw - 1180px) / 2 + 24px));
  overflow: visible;
  border: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  background: #fff;
  box-shadow: none;
  padding: 92px var(--v494-criteria-gutter) 82px;
  text-align: center;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
body.page-visto494 #informacoes-visto494 .v494-modern-block--criteria.v494-modern-block--text {
  border-radius: 0;
  padding-top: 44px !important;
  padding-bottom: 34px !important;
}
.v494-modern-block--benefits::before,
.v494-modern-block--criteria::before {
  content: none;
}
.v494-modern-block:hover {
  transform: translateY(-5px);
  border-color: rgba(215,26,33,.22);
  box-shadow: 0 34px 72px rgba(13,13,15,.12);
}
.v494-modern-block--benefits:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.v494-modern-block--criteria:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.v494-block-head,
.v494-agent-copy {
  position: relative;
  z-index: 1;
}
.v494-block-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  margin-bottom: 24px;
}
.v494-block-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #ed1c24, #b30a10);
  box-shadow: 0 16px 30px rgba(215,26,33,.24);
}
.v494-block-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.v494-modern-block--benefits .v494-block-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 0 auto 34px;
  max-width: 980px;
}
.v494-modern-block--criteria .v494-block-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  text-align: center;
}
.v494-modern-block--benefits .v494-block-icon {
  width: 96px;
  height: 96px;
  border-radius: 0;
  color: #ed1c24;
  background: transparent;
  box-shadow: none;
  animation: v494PassportFloat 3.4s ease-in-out infinite;
}
.v494-modern-block--benefits .v494-block-icon svg {
  width: 82px;
  height: 82px;
  stroke-width: 1.75;
  filter: drop-shadow(0 18px 18px rgba(237,28,36,.18));
}
.v494-modern-block--benefits .v494-block-icon::after {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(237,28,36,.08);
  z-index: -1;
  animation: v494PassportGlow 2.8s ease-in-out infinite;
}
@keyframes v494PassportFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-7px) rotate(2deg); }
}
@keyframes v494PassportGlow {
  0%, 100% { opacity: .45; transform: scale(.9); }
  50% { opacity: .9; transform: scale(1.12); }
}
.v494-modern-block--criteria .v494-block-icon,
.v494-modern-block--regional .v494-block-icon {
  width: 90px;
  height: 90px;
  border-radius: 0;
  color: #ed1c24;
  background: transparent;
  box-shadow: none;
  animation: v494PassportFloat 3.4s ease-in-out infinite;
}
.v494-modern-block--criteria .v494-block-icon svg,
.v494-modern-block--regional .v494-block-icon svg {
  width: 74px;
  height: 74px;
  stroke-width: 1.75;
  filter: drop-shadow(0 18px 18px rgba(237,28,36,.18));
}
.v494-modern-block--criteria .v494-block-icon::after,
.v494-modern-block--regional .v494-block-icon::after {
  content: "";
  position: absolute;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(237,28,36,.08);
  z-index: -1;
  animation: v494PassportGlow 2.8s ease-in-out infinite;
}
/* Título e parágrafo no mesmo padrão dos blocos de conteúdo das outras páginas
   (.curso-copy-block h2 / .support-copy-block p) */
.v494-modern-block h3 {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto 14px;
  color: #ed1c24;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.06 !important;
  text-align: center;
  text-wrap: balance;
}
.v494-modern-block p {
  position: relative;
  z-index: 1;
  color: #555;
  font-size: 16px;
  line-height: 1.62;
  margin: 0 0 18px;
}
.v494-modern-block--benefits .v494-block-head p {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.88);
  text-align: center!important;
}
.v494-modern-block--benefits h3 {
  color: #fff;
  font-size: 40px;
}
.v494-modern-block--criteria h3 {
  color: #111;
}
.v494-modern-block--criteria .v494-block-head p {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  text-align: center!important;
}
.v494-modern-block--text .v494-block-head {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
.v494-modern-block--text h3 {
  max-width: 720px;
  color: #ed1c24;
  text-transform: none !important;
}
.v494-modern-block--text .v494-block-head p {
  max-width: 1040px;
  color: #555;
  text-align: left !important;
}
.v494-modern-block--benefits.v494-modern-block--text .v494-block-head {
  margin-bottom: 0;
}
.v494-modern-block--benefits.v494-modern-block--text .v494-block-head p {
  max-width: 1040px;
  color: #555;
  text-align: left !important;
}
.v494-criteria-inline {
  position: relative;
  z-index: 1;
  margin: 76px auto 0;
}
.v494-criteria-inline .v494-block-head {
  max-width: 1040px;
  margin: 0 auto 28px !important;
  text-align: center;
}
.v494-criteria-inline .v494-block-head h3 {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  color: #ed1c24;
}
.v494-criteria-inline .v494-block-head p {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  color: #555;
  text-align: left !important;
}
.v494-text-copy {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  margin: 26px auto 0;
  color: #555;
  text-align: left;
}
.v494-text-copy p {
  margin: 0 0 18px;
  color: #555;
  font-size: 16px;
  line-height: 1.55;
  text-align: left !important;
}
.v494-text-copy p strong {
  color: #555;
  font-weight: 800;
}
.v494-text-copy ul {
  margin: 0 0 24px 18px;
  padding: 0 0 0 14px;
  color: #555;
  list-style: disc;
}
.v494-text-copy li {
  margin: 0 0 7px;
  color: #555;
  font-size: 16px;
  line-height: 1.45;
}
.v494-criteria-copy {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  margin: 26px auto 0;
  color: #555;
  text-align: left;
}
.v494-criteria-copy p {
  margin: 0 0 18px;
  color: #555;
  font-size: 16px;
  line-height: 1.55;
  text-align: left !important;
}
.v494-criteria-copy p strong {
  color: #555;
  font-weight: 800;
}
.v494-criteria-copy ul {
  margin: 0 0 24px 18px;
  padding: 0 0 0 14px;
  color: #555;
  list-style: disc;
}
.v494-criteria-copy li {
  margin: 0 0 7px;
  color: #555;
  font-size: 16px;
  line-height: 1.45;
}
.v494-modern-block p a {
  color: #ed1c24;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  transition: color .22s ease, text-decoration-color .22s ease;
}
.v494-modern-block p a:hover,
.v494-modern-block p a:focus-visible {
  color: #141c3e;
  text-decoration-color: rgba(20,28,62,.45);
  outline: none;
}
.v494-feature-grid {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 2px 0 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.v494-feature-grid::-webkit-scrollbar,
.v494-check-list--criteria::-webkit-scrollbar {
  display: none;
}
.v494-feature-slider,
.v494-criteria-slider {
  position: relative;
  z-index: 1;
  margin: 30px auto 0;
  max-width: 1180px;
}
.v494-modern-block--benefits .v494-feature-slider {
  width: calc(100% + var(--v494-benefit-gutter));
  max-width: none;
  margin-left: 0;
  margin-right: calc(var(--v494-benefit-gutter) * -1);
}
.v494-modern-block--criteria .v494-criteria-slider {
  width: calc(100% + var(--v494-criteria-gutter));
  max-width: none;
  margin-left: 0;
  margin-right: calc(var(--v494-criteria-gutter) * -1);
}
.v494-modern-block--benefits .v494-feature-grid {
  padding-left: 1px;
  padding-top: 10px;
  padding-bottom: 40px;
  scroll-padding-left: 1px;
}
.v494-modern-block--criteria .v494-check-list--criteria {
  padding-left: 1px;
  padding-top: 10px;
  padding-bottom: 40px;
  scroll-padding-left: 1px;
}
.v494-feature-grid li,
.v494-check-list li {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border-radius: 14px;
  background: rgba(244,244,244,.9);
  border: 1px solid rgba(13,13,15,.06);
  padding: 14px 14px;
  color: #333;
  font-size: 14px;
  line-height: 1.42;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.v494-feature-grid li {
  flex: 0 0 255px;
  min-height: 166px;
  scroll-snap-align: start;
  opacity: 0;
  transform: translateY(16px);
}
.v494-modern-block--benefits .v494-feature-grid li {
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: end;
  overflow: hidden;
  background: linear-gradient(155deg,#fff 0%,#f7f7f7 100%);
  border-color: rgba(17,17,17,.12);
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(18,24,38,.08);
  color: #171717;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  padding: 17px 24px 28px 17px;
  row-gap: 42px;
  text-align: left!important;
  text-transform: none;
}
.v494-modern-block--benefits .v494-feature-grid li::after {
  content: "";
  position: absolute;
  inset: -45%;
  z-index: 0;
  background: linear-gradient(112deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.58) 49%, rgba(255,255,255,0) 64%);
  opacity: 0;
  transform: translateX(-82%) rotate(9deg);
  transition: transform .86s ease, opacity .28s ease;
  pointer-events: none;
}
.v494-modern-block--benefits .v494-feature-grid li > * {
  position: relative;
  z-index: 1;
}
.v494-modern-block--benefits .v494-feature-grid li:nth-child(even) {
  background: linear-gradient(155deg,#ededed 0%,#f6f6f6 100%);
}
.v494-check-list--criteria {
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 2px 0 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.v494-modern-block--criteria .v494-check-list--criteria li {
  --v494-criteria-card-bg: #f7f3f2;
  --v494-criteria-card-color: #171717;
  --v494-criteria-card-border: #e8dfdd;
  --v494-criteria-card-hover-border: rgba(215,26,33,.28);
  --v494-criteria-card-shadow: 0 10px 24px rgba(0,0,0,.04);
  flex: 0 0 255px;
  min-height: 166px;
  display: grid;
  grid-template-rows: auto 1fr;
  align-items: end;
  overflow: hidden;
  scroll-snap-align: start;
  background: var(--v494-criteria-card-bg);
  border-color: var(--v494-criteria-card-border);
  border-radius: 18px;
  box-shadow: var(--v494-criteria-card-shadow);
  color: var(--v494-criteria-card-color);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  padding: 17px 24px 28px 17px;
  row-gap: 42px;
  text-align: left!important;
  text-transform: none;
}
.v494-card-note {
  display: inline-block;
  white-space: nowrap;
  font-size: .76em;
  line-height: 1.05;
  font-weight: 600;
}
.v494-card-text {
  display: block;
}
.v494-modern-block--criteria .v494-check-list--criteria li:nth-child(3n+1) {
  --v494-criteria-card-bg: linear-gradient(180deg,#ea1a1f 0%,#d80f17 100%);
  --v494-criteria-card-color: #fff;
  --v494-criteria-card-border: rgba(215,26,33,.22);
  --v494-criteria-card-hover-border: rgba(255,255,255,.4);
  --v494-criteria-card-shadow: 0 16px 34px rgba(215,26,33,.16);
}
.v494-modern-block--criteria .v494-check-list--criteria li:nth-child(3n+2) {
  --v494-criteria-card-bg: var(--navy);
  --v494-criteria-card-color: #fff;
  --v494-criteria-card-border: rgba(20,28,62,.22);
  --v494-criteria-card-hover-border: rgba(255,255,255,.38);
  --v494-criteria-card-shadow: 0 16px 34px rgba(20,28,62,.16);
}
.v494-modern-block--criteria .v494-check-list--criteria li::after {
  content: "";
  position: absolute;
  inset: -45%;
  z-index: 0;
  background: linear-gradient(112deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.58) 49%, rgba(255,255,255,0) 64%);
  opacity: 0;
  transform: translateX(-82%) rotate(9deg);
  transition: transform .86s ease, opacity .28s ease;
  pointer-events: none;
}
.v494-modern-block--criteria .v494-check-list--criteria li::before {
  position: relative;
  z-index: 1;
  align-self: start;
  width: 30px;
  height: 30px;
  font-size: 16px;
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.v494-benefit-slider-bottom,
.v494-criteria-slider-bottom {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
  max-width: 1180px;
  margin-left: 0;
  margin-right: var(--v494-benefit-gutter, var(--v494-criteria-gutter, 0));
}
.v494-benefit-slider-line,
.v494-criteria-slider-line {
  height: 1px;
  flex: 1;
}
.v494-benefit-slider-line {
  background: rgba(255,255,255,.58);
}
.v494-criteria-slider-line {
  background: rgba(17,17,17,.16);
}
.v494-benefit-slider-nav,
.v494-criteria-slider-nav {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.v494-feature-grid.is-visible-items li {
  animation: v494CheckItemIn .54s cubic-bezier(.22,.68,0,1) both;
  animation-delay: calc(var(--check-index, 0) * 115ms);
}
.v494-check-list li {
  opacity: 0;
  transform: translateY(16px);
}
.v494-check-list.is-visible-items li {
  animation: v494CheckItemIn .54s cubic-bezier(.22,.68,0,1) both;
  animation-delay: calc(var(--check-index, 0) * 120ms);
}
.v494-feature-grid li:hover,
.v494-check-list li:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(13,13,15,.08);
}
.v494-modern-block--benefits .v494-feature-grid li:hover {
  transform: translateY(-6px);
  border-color: rgba(215,26,33,.26);
  box-shadow: 0 28px 18px rgba(13,13,15,.14);
}
.v494-modern-block--benefits .v494-feature-grid li:hover::after {
  opacity: 0;
  transform: translateX(-82%) rotate(9deg);
}
.v494-modern-block--criteria .v494-check-list--criteria li:hover {
  transform: translateY(-6px);
  background: var(--v494-criteria-card-bg);
  border-color: var(--v494-criteria-card-hover-border);
  box-shadow: 0 28px 18px rgba(13,13,15,.14);
}
.v494-modern-block--criteria .v494-check-list--criteria li:hover::after {
  opacity: 0;
  transform: translateX(-82%) rotate(9deg);
}
.v494-mini-icon,
.v494-check-list li::before {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ed1c24;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}
.v494-mini-icon {
  align-self: start;
  transform: scale(.58) rotate(-16deg);
  opacity: 0;
  box-shadow: 0 0 0 0 rgba(237,28,36,.2);
}
.v494-modern-block--benefits .v494-mini-icon {
  width: 30px;
  height: 30px;
  font-size: 16px;
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.v494-feature-grid.is-checking .v494-mini-icon {
  animation: v494CheckPop .46s cubic-bezier(.18,.9,.2,1.28) both;
  animation-delay: calc(var(--check-index, 0) * 115ms);
}
.v494-block-note {
  max-width: 900px;
}
.v494-modern-block--benefits .v494-block-note {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.88);
  text-align: center!important;
}
.v494-modern-block--benefits .v494-block-note strong {
  color: #fff;
}
.v494-benefit-cta {
  margin-top: 34px;
}
.v494-benefit-cta .btn-white {
  box-shadow: 0 16px 34px rgba(0,0,0,.14);
}
.v494-benefit-cta .btn-white:hover,
.v494-benefit-cta .btn-white:focus-visible {
  background: transparent;
  color: #fff;
  border-color: #fff;
  box-shadow: none;
  outline: none;
}
.v494-nowrap {
  white-space: nowrap;
}
.v494-block-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 44px;
  margin: 44px 0 28px;
}
.v494-check-list {
  position: relative;
  z-index: 1;
  list-style: none;
  display: grid;
  gap: 10px;
  margin: 22px 0;
  padding: 0;
}
.v494-modern-block--criteria .v494-check-list--criteria {
  display: flex;
  gap: 14px;
  margin: 0;
  padding: 10px 0 40px 1px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 1px;
  scrollbar-width: none;
}
.v494-modern-block--criteria .v494-block-note {
  margin: 28px auto 0;
  text-align: center!important;
}
.v494-check-list li::before {
  content: "✓";
  transform: scale(.62) rotate(-18deg);
  opacity: 0;
}
.v494-check-list.is-checking li::before {
  animation: v494CheckPop .46s cubic-bezier(.18,.9,.2,1.28) both;
  animation-delay: calc(var(--check-index, 0) * 120ms);
}
.v494-feature-grid.is-complete li,
.v494-check-list.is-complete li {
  background: rgba(30,185,99,.1);
  border-color: rgba(30,185,99,.34);
  box-shadow: 0 12px 28px rgba(30,185,99,.09);
}
.v494-modern-block--benefits .v494-feature-grid.is-complete li {
  background: linear-gradient(155deg,#fff 0%,#f7f7f7 100%);
  border-color: rgba(17,17,17,.12);
  box-shadow: 0 18px 36px rgba(18,24,38,.08);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
  padding: 17px 24px 28px 17px;
}
.v494-modern-block--benefits .v494-feature-grid.is-complete li:nth-child(even) {
  background: linear-gradient(155deg,#ededed 0%,#f6f6f6 100%);
}
.v494-modern-block--criteria .v494-check-list--criteria.is-complete li {
  background: var(--v494-criteria-card-bg);
  border-color: var(--v494-criteria-card-border);
  box-shadow: var(--v494-criteria-card-shadow);
  color: var(--v494-criteria-card-color);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
  padding: 17px 24px 28px 17px;
}
body.page-visto494 .v494-modern-block--benefits .v494-feature-grid li:hover,
body.page-visto494 .v494-modern-block--benefits .v494-feature-grid.is-complete li:hover {
  transform: translateY(-6px);
  border-color: rgba(17,17,17,.24);
  box-shadow: 0 28px 18px rgba(13,13,15,.14);
}
body.page-visto494 .v494-modern-block--criteria .v494-check-list--criteria li:hover,
body.page-visto494 .v494-modern-block--criteria .v494-check-list--criteria.is-complete li:hover {
  transform: translateY(-6px);
  background: var(--v494-criteria-card-bg);
  border-color: var(--v494-criteria-card-hover-border);
  box-shadow: 0 28px 18px rgba(13,13,15,.14);
}
.v494-feature-grid.is-complete .v494-mini-icon,
.v494-check-list.is-complete li::before {
  background: #18a957;
  opacity: 1;
  transform: scale(1) rotate(0deg);
  box-shadow: 0 0 0 0 rgba(30,185,99,0);
}
.v494-flight-pad {
  position: relative;
  z-index: 1;
  min-height: 112px;
  margin: 12px 0 18px;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(30,185,99,.16);
  background:
    radial-gradient(circle at 14% 70%, rgba(30,185,99,.14), rgba(30,185,99,0) 34%),
    linear-gradient(135deg, rgba(247,249,248,.96), rgba(239,246,242,.86));
}
/*  linha tracejada assinatura do aviao de papel voando 
.v494-flight-pad::before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 25px;
  height: 2px;
  background: repeating-linear-gradient(90deg, rgba(20,28,62,.18) 0 18px, transparent 18px 30px);
} */

.v494-flight-pad::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.78) 48%, transparent 66%);
  opacity: .45;
  transform: translateX(-60%);
  transition: transform .7s ease;
  pointer-events: none;
}
.v494-flight-pad:hover::after,
.v494-modern-block--agent:hover .v494-flight-pad--agent::after {
  transform: translateX(60%);
}
.v494-flight-plane {
  position: absolute;
  left: 30px;
  bottom: 20px;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  color: #18a957;
  background: #fff;
  border: 1px solid rgba(30,185,99,.18);
  box-shadow: 0 16px 34px rgba(30,185,99,.2), 0 0 0 10px rgba(30,185,99,.06);
  transform: translate3d(0,0,0) rotate(-8deg);
  will-change: transform, opacity;
}
.v494-flight-plane svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: rgb(31 51 132); 
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.v494-flight-pad:hover .v494-flight-plane {
  animation: v494PlaneTakeoff 2.25s cubic-bezier(.2,.72,.2,1) both;
}
.v494-flight-pad--agent {
  grid-column: 1 / -1;
  z-index: 1;
  min-height: 130px;
  margin: 2px 0 0;
  padding: 28px 34px 28px 126px;
  display: flex;
  align-items: center;
  border-color: rgba(255,255,255,.12);
  background: rgba(6,6,8,.76);
  box-shadow: 0 20px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}
.v494-flight-pad--agent::before {
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.28) 0 18px, transparent 18px 30px);
}
.v494-flight-pad--agent .v494-flight-plane {
  color: #20c76a;
  background: rgba(255,255,255,.94);
  border-color: rgba(90,230,150,.24);
  box-shadow: 0 18px 38px rgba(30,185,99,.2), 0 0 0 12px rgba(30,185,99,.08);
}
.v494-flight-note {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 16px;
  line-height: 1.62;
}
.v494-flight-pad--agent:hover .v494-flight-plane,
.v494-modern-block--agent:hover .v494-flight-pad--agent .v494-flight-plane,
.v494-flight-pad--agent.is-auto-flying .v494-flight-plane {
  animation: v494PlaneTakeoff 2.25s cubic-bezier(.2,.72,.2,1) both;
}
@keyframes v494PlaneTakeoff {
  0% {
    opacity: 1;
    transform: translate3d(0,0,0) rotate(-8deg) scale(1);
  }
  24% {
    opacity: 1;
    transform: translate3d(95px,-20px,0) rotate(5deg) scale(1.04);
  }
  43% {
    opacity: 1;
    transform: translate3d(360px,-92px,0) rotate(18deg) scale(1.08);
  }
  50% {
    opacity: 0;
    transform: translate3d(460px,-118px,0) rotate(24deg) scale(.98);
  }
  58% {
    opacity: 0;
    transform: translate3d(-140px,36px,0) rotate(-18deg) scale(.94);
  }
  72% {
    opacity: 1;
    transform: translate3d(-54px,16px,0) rotate(-13deg) scale(.98);
  }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0) rotate(-8deg) scale(1);
  }
}
@keyframes v494CheckItemIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes v494CheckPop {
  0% {
    opacity: .28;
    transform: scale(.62) rotate(-18deg);
    box-shadow: 0 0 0 0 rgba(237,28,36,.28);
  }
  70% {
    opacity: 1;
    transform: scale(1.18) rotate(0deg);
    box-shadow: 0 0 0 8px rgba(237,28,36,0);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    box-shadow: 0 0 0 0 rgba(237,28,36,0);
  }
}
.v494-modern-block--agent {
  display: grid;
  grid-template-columns: 1fr;
  gap: 34px;
  align-items: start;
  color: #fff;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 96px max(24px, calc((100vw - 1180px) / 2 + 24px)) 88px;
  border: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  background: #0b0d12;
  min-height: 0;
  isolation: isolate;
  box-shadow: none;
      margin-bottom: -110px;
    padding-bottom: 150px;
}
body.page-visto494 .v494-modern-block--agent-text {
  width: 100% !important;
  max-width: 960px !important;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 0 0 82px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  text-align: left;
}
body.page-visto494 .v494-modern-block--agent-text:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
body.page-visto494 .v494-modern-block--agent-text .v494-agent-copy {
  max-width: none;
  margin: 0;
  text-align: left;
}
body.page-visto494 .v494-modern-block--agent-text h2,
body.page-visto494 .v494-modern-block--agent-text.v494-last h2 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #111;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 900;
  line-height: .98 !important;
  text-align: left;
  text-transform: none !important;
}
body.page-visto494 .v494-modern-block--agent-text p {
  max-width: none;
  margin: 0 0 18px;
  color: #555;
  font-size: 16px;
  line-height: 1.55;
  text-align: left !important;
}
body.page-visto494 .v494-agent-list {
  margin: 0 auto 24px;
  padding: 0 0 0 14px;
  color: #555;
  list-style: disc;
  text-align: left;
  max-width: 1060px;
}
body.page-visto494 .v494-agent-list li {
  margin: 0 0 7px;
  color: #555;
  font-size: 16px;
  line-height: 1.68;
  font-weight: 400;
}
body.page-visto494 .v494-agent-note {
  margin-top: 8px !important;
}
body.page-visto494 .v494-agent-cta {
  margin-top: 34px;
  text-align: center;
}
.v494-modern-block--agent:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.v494-modern-block--agent::before {
  content: "";
  position: absolute;
  inset: -42px;
  z-index: 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-informacoes-intercambio-australia-1.webp') center 58%/cover no-repeat;
  opacity: .4;
  filter: saturate(.72) brightness(.72) contrast(.98);
  transform: translate3d(var(--imig-bg-x,0px), var(--imig-bg-y,0px), 0) scale(var(--imig-bg-scale,1.08));
  transition: transform .55s cubic-bezier(.22,.68,0,1), opacity .38s ease, filter .38s ease;
  will-change: transform, opacity, filter;
}
.v494-modern-block--agent::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(11,13,18,.56) 0%, rgba(11,13,18,.74) 100%),
    linear-gradient(90deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.04) 48%, rgba(0,0,0,.26) 100%);
  transition: background .38s ease;
  pointer-events: none;
}
.v494-modern-block--agent:hover::before {
  opacity: .5;
  filter: saturate(.86) brightness(.82) contrast(1);
}
.v494-modern-block--agent:hover::after {
  background:
    linear-gradient(180deg, rgba(11,13,18,.48) 0%, rgba(11,13,18,.68) 100%),
    linear-gradient(90deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.02) 48%, rgba(0,0,0,.2) 100%);
}
.v494-modern-block--agent h2 {
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff;
  font-size: clamp(30px, 3.4vw, 40px);
  line-height: 1.02 !important;
  max-width: 760px;
  margin: 0 auto 16px;
  text-align: center;
  text-transform: none !important;
}
.v494-modern-block--agent p,
.v494-check-list--light li {
  color: rgba(255,255,255,.86);
}
.v494-modern-block--agent .v494-agent-copy {
  max-width: 860px;
  margin: 0 auto 4px;
  text-align: center;
}
.v494-modern-block--agent .v494-agent-copy p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
}
.v494-check-list--light li {
  min-height: 178px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 24px;
  padding: 30px 34px 26px;
  overflow: hidden;
  isolation: isolate;
  background: rgba(6,6,8,.88);
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 20px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}
.v494-check-list--light li:hover {
  transform: translateY(-6px) scale(1.01);
  background: rgba(8,8,10,.56);
  border-color: rgba(255,255,255,.82);
  box-shadow: 0 30px 58px rgba(0,0,0,.36), 0 0 0 1px rgba(255,255,255,.62), 0 0 28px rgba(255,255,255,.22), inset 0 1px 0 rgba(255,255,255,.1);
}
.v494-check-list--light.is-complete li {
  background: rgba(6,6,8,.88);
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 20px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
}
.v494-modern-block--agent .v494-check-list--light {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 0;
}
.v494-modern-block--agent .v494-check-list--light li::before {
  content: none;
  display: none;
}
.v494-agent-card-icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #ed1c24;
  margin-bottom: auto;
  transition: transform .3s ease, filter .3s ease;
}
.v494-agent-card-icon svg {
  width: 48px;
  height: 48px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.v494-check-list--light li:hover .v494-agent-card-icon {
  transform: translateY(-2px) scale(1.04);
  filter: drop-shadow(0 0 12px rgba(255,82,92,.24));
}
.v494-check-list--light li > span:not(.v494-agent-card-icon) {
  position: relative;
  z-index: 2;
  color: rgba(255,255,255,.9);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}
.v494-agent-cta {
  position: relative;
  z-index: 1;
  margin-top: 0;
}
.v494-modern-block--agent .v494-agent-copy > *,
.v494-modern-block--agent > .v494-flight-pad--agent {
  opacity: 0;
  transform: translateY(14px);
}
.v494-modern-block--agent.on .v494-agent-copy > *,
.v494-modern-block--agent.on > .v494-flight-pad--agent {
  animation: v494AgentItemIn .58s cubic-bezier(.22,.68,0,1) both;
}
.v494-modern-block--agent.on .v494-agent-copy h2 { animation-delay: 190ms; }
.v494-modern-block--agent.on .v494-agent-copy p:nth-of-type(1) { animation-delay: 330ms; }
.v494-modern-block--agent.on .v494-agent-copy p:nth-of-type(2) { animation-delay: 470ms; }
.v494-modern-block--agent.on > .v494-flight-pad--agent { animation-delay: 1320ms; }
.v494-modern-block--agent .v494-check-list.is-visible-items li {
  animation-delay: calc(650ms + (var(--check-index, 0) * 130ms));
}
.v494-modern-block--agent .v494-check-list.is-checking li::before {
  animation-delay: calc(var(--check-index, 0) * 130ms);
}
@keyframes v494AgentItemIn {
  from {
    opacity: 0;
    transform: translateY(14px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
.v494-photo {
  min-height: 430px;
  border-radius: 18px;
  overflow: hidden;
  margin: 54px auto 92px;
  max-width: 1080px;
  background: #111;
  box-shadow: 0 20px 52px rgba(0,0,0,.14);
}
body.page-visto494 .drive-banner--visto494-family {
  margin-bottom: 92px;
}
body.page-visto494 .drive-banner--visto494-family .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/tudo-sobre-visto-familia-imigracao-australia-1.webp');
  background-position: center 11%;
  background-size: cover;
}
body.page-visto494 .drive-banner--visto494-family::after {
  background: linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.12) 100%);
}
.v494-last {
  margin-top: 0;
}
.v494-last h2 {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}
.v494-modern-block--agent.v494-last h2 {
  font-size: clamp(30px, 3.4vw, 40px);
  line-height: 1.02 !important;
  max-width: 760px;
  margin: 0 auto 16px;
  text-align: center;
  text-transform: none !important;
}

body.page-visto494 h1,
body.page-visto494 h2,
body.page-visto494 h3,
body.page-visto494 h4 {
  text-transform: none !important;
}

@supports (height: 75svh) {
  .hero--visto494 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}

@media (max-width: 980px) {
  body.page-visto494 .v494-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hero-title-visto br {
    display: none;
  }
  .hero-title-visto span {
    display: inline;
  }
  .hero-title-v494 br {
    display: none;
  }
  .hero-title-v494 span {
    display: inline;
  }
  .hero--visto494 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto494 .hero-body {
    padding: 96px 18px 56px;
  }
  .v494-expect,
  .v494-info {
    padding: 62px 0 64px;
  }
  .v494-info {
    padding-top: 0 !important;
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
  }
  body.page-visto494 .v494-cards {
    grid-template-columns: 1fr;
    max-width: 360px;
    margin-bottom: 54px;
  }
  .v494-card {
    margin-top: 0;
    padding: 30px 18px 28px;
  }
  .v494-card h3 {
    font-size: 16px;
  }
  .v494-card p,
  .v494-copy p {
    font-size: 15px;
  }
  .v494-form {
    padding-bottom: 90px;
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
  }
  .v494-photo {
    min-height: 260px;
    margin: 38px auto 58px;
  }
  .v494-modern-block {
    padding: 24px 18px;
  }
  .v494-modern-block--benefits {
    padding: 56px 18px 64px;
  }
  .v494-modern-block--criteria {
    padding: 56px 18px 64px;
  }
  .v494-block-head,
  .v494-modern-block--agent {
    grid-template-columns: 1fr;
  }
  .v494-modern-block--agent {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 64px 18px 74px;
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    min-height: 0;
  }
  .v494-modern-block--agent h2,
  .v494-modern-block--agent.v494-last h2 {
    font-size: clamp(30px, 9vw, 40px);
    max-width: 360px;
  }
  .v494-modern-block--agent .v494-check-list--light {
    grid-template-columns: 1fr;
  }
  .v494-check-list--light li {
    min-height: 148px;
    padding: 24px 24px 22px;
  }
  .v494-check-list--light li > span:not(.v494-agent-card-icon) {
    font-size: 17px;
  }
  .v494-modern-block--benefits .v494-block-head {
    grid-template-columns: 1fr;
  }
  .v494-modern-block--benefits .v494-block-icon {
    width: 84px;
    height: 84px;
  }
  .v494-modern-block--benefits .v494-block-icon svg {
    width: 72px;
    height: 72px;
  }
  .v494-modern-block--benefits h3 {
    font-size: 40px;
  }
  .v494-modern-block h3 {
    font-size: 34px;
  }
	  body.page-visto494 .v494-modern-block--benefits .v494-block-head h3,
	  body.page-visto494 .v494-modern-block--criteria .v494-block-head h3,
	  body.page-visto494 #area-regional-visto494 .v494-copy h3 {
	    font-size: var(--ac-section-h3, clamp(24px, 2.8vw, 36px)) !important;
	  }
  .v494-feature-grid,
  .v494-block-row {
    grid-template-columns: 1fr;
  }
  .v494-feature-grid li,
  .v494-modern-block--criteria .v494-check-list--criteria li {
    flex-basis: min(82vw, 320px);
    min-height: 156px;
  }
  .v494-modern-block--benefits .v494-feature-grid li,
  .v494-modern-block--benefits .v494-feature-grid.is-complete li,
  .v494-modern-block--criteria .v494-check-list--criteria li,
  .v494-modern-block--criteria .v494-check-list--criteria.is-complete li {
    font-size: 20px;
    font-weight: 600;
    padding: 17px 24px 28px 17px;
    row-gap: 34px;
  }
  .v494-benefit-slider-bottom,
  .v494-criteria-slider-bottom {
    gap: 10px;
  }
  .v494-flight-pad--agent {
    grid-column: 1 / -1;
    min-height: 156px;
    padding: 96px 18px 22px;
    align-items: flex-start;
  }
  .v494-flight-pad--agent .v494-flight-plane {
    left: 22px;
    bottom: auto;
    top: 20px;
  }
  .v494-flight-note {
    font-size: 15px;
    line-height: 1.55;
  }
}

/* =========================================================
   PÁGINA VISTO 482
   (clone leve da visto494: reaproveita .v494-*, hero-title-v494
   e body.page-visto494 via <body class="page-visto482 page-visto494">;
   só o hero tem variante própria, pra poder trocar a foto depois
   sem mexer na visto494)
   ========================================================= */
.hero--visto482 {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto482 .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/visto482-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto482 .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto482 .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto482 .hero-body h1 {
  max-width: 900px;
}
.hero--visto482 .hero-sub {
  max-width: 900px;
}
.hero--visto482 .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto482 .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}
@supports (height: 75svh) {
  .hero--visto482 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media (max-width: 768px) {
  .hero--visto482 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto482 .hero-body {
    padding: 96px 18px 56px;
  }
}
/* fotos próprias da visto482 (sobrescrevem as classes v494-* reaproveitadas,
   via seletor com #id pra garantir especificidade sem afetar a visto494.html) */
body.page-visto482 #foto-cidade-noturna .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-em-sidney-na-australia-1.webp') center 50%/cover no-repeat;
}
body.page-visto482 #driveBanner .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-skilled-visa-australia-2-1.webp');
  background-position: center 30%;
  background-size: cover;
}

/* =========================================================
   PÁGINA VISTO 485
   (clone leve da visto494, mesmo esquema da visto482: reaproveita
   .v494-*, hero-title-v494 e body.page-visto494 via
   <body class="page-visto485 page-visto494">; hero e fotos
   próprias via seletores dedicados)
   ========================================================= */
.hero--visto485 {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto485 .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/visto482-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto485 .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto485 .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto485 .hero-body h1 {
  max-width: 900px;
}
.hero--visto485 .hero-sub {
  max-width: 900px;
}
.hero--visto485 .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto485 .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}
@supports (height: 75svh) {
  .hero--visto485 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media (max-width: 768px) {
  .hero--visto485 {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto485 .hero-body {
    padding: 96px 18px 56px;
  }
}
/* fotos próprias da visto485 */
body.page-visto485 #foto-cidade-noturna .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-visto485-1-1.webp') center 50%/cover no-repeat;
}
body.page-visto485 #driveBanner .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-ensino-superior-na-australia-1-1.webp');
  background-position: center 30%;
  background-size: cover;
}

/* =========================================================
   PÁGINA VISTO SKILL ASSESSMENT
   (clone leve da visto494, mesmo esquema da visto482/485: reaproveita
   .v494-*, hero-title-v494 e body.page-visto494 via
   <body class="page-visto-skill page-visto494">; hero e fotos
   ainda usando as imagens da visto494 como placeholder até
   receber as fotos definitivas)
   ========================================================= */
.hero--visto-skill {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto-skill .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-visto-494-imigracao-australia-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto-skill .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto-skill .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto-skill .hero-body h1 {
  max-width: 900px;
}
.hero--visto-skill .hero-sub {
  max-width: 900px;
}
.hero--visto-skill .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto-skill .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}
@supports (height: 75svh) {
  .hero--visto-skill {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media (max-width: 768px) {
  .hero--visto-skill {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto-skill .hero-body {
    padding: 96px 18px 56px;
  }
}
/* fotos próprias da visto-skill */
body.page-visto-skill #foto-cidade-noturna .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-sidney-1.webp') center 50%/cover no-repeat;
}
body.page-visto-skill #driveBanner .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-visto-skill-1.webp');
  background-position: center 30%;
  background-size: cover;
}

/* =========================================================
   PÁGINA VISTO RECUSADO
   (clone leve da visto494, mesmo esquema das outras: reaproveita
   .v494-*, hero-title-v494 e body.page-visto494 via
   <body class="page-visto-recusado page-visto494">; hero já usa
   a foto temática existente no servidor, cidade e foto final
   ficam como placeholder da visto494 até receber as definitivas)
   ========================================================= */
.hero--visto-recusado {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto-recusado .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-visto-494-imigracao-australia-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto-recusado .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto-recusado .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto-recusado .hero-body h1 {
  max-width: 900px;
}
.hero--visto-recusado .hero-sub {
  max-width: 900px;
}
.hero--visto-recusado .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto-recusado .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}
@supports (height: 75svh) {
  .hero--visto-recusado {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media (max-width: 768px) {
  .hero--visto-recusado {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto-recusado .hero-body {
    padding: 96px 18px 56px;
  }
}
/* fotos próprias da visto-recusado */
body.page-visto-recusado #foto-cidade-noturna .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imigracao-visto-cancelado-1.webp') center 50%/cover no-repeat;
}
body.page-visto-recusado #driveBanner .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/visto-recusado-1.webp');
  background-position: center 30%;
  background-size: cover;
}

/* =========================================================
   PÁGINA VISTO WORK (WHV)
   (clone leve da visto494, mesmo esquema das outras: reaproveita
   .v494-*, hero-title-v494 e body.page-visto494 via
   <body class="page-visto-work page-visto494">; hero e fotos
   ficam como placeholder da visto494 até receber as definitivas)
   ========================================================= */
.hero--visto-work {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto-work .hero-bg {
  background:
    linear-gradient(135deg, rgba(84,0,4,.18), rgba(22,0,1,.08)),
    url('https://australiancentre.com.br/wp-content/uploads/2026/08/visto482-1.webp') center 42%/cover no-repeat;
  opacity: .94;
  filter: saturate(1.04) contrast(1.02);
}
.hero--visto-work .hero-overlay {
  background:
    linear-gradient(180deg, rgba(28,0,1,.24) 0%, rgba(98,4,7,.32) 46%, rgba(215,26,33,.58) 100%),
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.1) 0%, rgba(255,255,255,0) 36%);
}
.hero--visto-work .hero-body {
  max-width: 1040px;
  padding: 112px 24px 66px;
}
.hero--visto-work .hero-body h1 {
  max-width: 900px;
}
.hero--visto-work .hero-sub {
  max-width: 900px;
}
.hero--visto-work .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--visto-work .hero-cta::before {
  content: "";
  display: block;
  width: 112px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ed1c24 50%, rgba(255,255,255,0));
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}
@supports (height: 75svh) {
  .hero--visto-work {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}
@media (max-width: 768px) {
  .hero--visto-work {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto-work .hero-body {
    padding: 96px 18px 56px;
  }
}
/* fotos próprias da visto-work */
body.page-visto-work #foto-cidade-noturna .drive-banner-media {
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imigracao-visto-work-1.webp') center 50%/cover no-repeat;
}
body.page-visto-work #driveBanner .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imgricaca-work-1-1-1.webp');
  background-position: center 30%;
  background-size: cover;
}

/* =========================================================
   PÁGINA DEPOIMENTOS
   ========================================================= */
.page-depoimentos {
  background: #fff;
}
.hero--depoimentos .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-depoimentos-quem-fez-intercambio-australia-e-nova-zelandia-1.webp');
  background-position: center 34%;
  opacity: .96;
}
.hero--depoimentos .hero-overlay {
  background:
    linear-gradient(180deg, rgba(45,0,0,.66) 0%, rgba(114,0,5,.66) 44%, rgba(215,26,33,.98) 100%),
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.16), transparent 36%);
}
.hero--depoimentos .hero-body {
  max-width: 1060px;
  padding: 128px 24px 88px;
}
.hero--depoimentos .hero-tag {
  margin-bottom: 14px;
}
.hero--depoimentos .hero-tag svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.9;
}
.hero--depoimentos .hero-body h1 {
  max-width: 890px;
}
.hero--depoimentos .hero-sub {
  max-width: 720px;
}
.dep-page-showcase {
  background: #fff;
  padding: 72px 0 78px;
  overflow: hidden;
  z-index: 10;
}
.dep-page-mosaic {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
  align-items: stretch;
}
.dep-page-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 245px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid rgba(13,13,15,.08);
  background: #fff;
  box-shadow: 0 18px 42px rgba(13,13,15,.08);
  transform: translateY(22px);
  opacity: 0;
  animation: depCardIn .62s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay: var(--dep-delay, 0ms);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease;
}
.dep-page-card:hover {
  transform: translateY(-6px);
  border-color: rgba(215,26,33,.22);
  box-shadow: 0 28px 62px rgba(13,13,15,.13);
}
.dep-page-card::after {
  content: "";
  position: absolute;
  inset: auto -42px -54px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(215,26,33,.08);
  pointer-events: none;
  transition: transform .36s ease, opacity .36s ease;
}
.dep-page-card:hover::after {
  transform: translate(-18px, -18px) scale(1.18);
  opacity: .72;
}
.dep-page-card--feature,
.dep-page-card--profile {
  grid-column: span 3;
}
.dep-page-card--wide {
  grid-column: 1 / -1;
  min-height: 210px;
  display: grid;
  grid-template-columns: minmax(170px, .95fr) minmax(0, 2fr);
  gap: 24px;
  background: #eee;
}
/* card largo SEM galeria: vira texto em largura cheia, sem o painel grande */
.dep-page-card--wide:not(.dep-page-card--has-hero) {
  grid-template-columns: 1fr;
  gap: 0;
  background: #fff;
}
.dep-page-card--wide:not(.dep-page-card--has-hero) .dep-card-media {
  display: none;
}
.dep-page-card--wide:not(.dep-page-card--has-hero) .dep-card-top,
.dep-page-card--wide:not(.dep-page-card--has-hero) .dep-card-copy,
.dep-page-card--wide:not(.dep-page-card--has-hero) .dep-card-author {
  grid-column: 1;
}
.dep-page-card--small,
.dep-page-card--red-small {
  grid-column: span 3;
  min-height: 205px;
}
.dep-page-card--feature,
.dep-page-card--red-small {
  color: #fff;
  background: linear-gradient(145deg, #e71920 0%, #b80008 100%);
  border-color: rgba(255,255,255,.16);
}
.dep-page-card--feature::after,
.dep-page-card--red-small::after {
  background: rgba(255,255,255,.16);
}
.dep-card-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 28px;
}
.dep-card-company {
  font-size: 13px;
  font-weight: 800;
}
.dep-card-rating {
  color: #ffd43b;
  font-size: 16px;
  letter-spacing: .02em;
  white-space: nowrap;
}
.dep-card-copy {
  position: relative;
  z-index: 1;
}
.dep-card-copy h3 {
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.02;
  margin-bottom: 14px;
  font-weight: 700;
}
.dep-card-copy p {
  font-size: 14px;
  line-height: 1.48;
  color: rgba(16,16,18,.74);
  text-align: left !important;
}
.dep-page-card--feature .dep-card-copy p,
.dep-page-card--red-small .dep-card-copy p {
  color: rgba(255,255,255,.88);
}
.dep-card-quote {
  display: block;
  color: var(--red);
  font-size: 76px;
  line-height: .55;
  margin: 0 0 6px;
  font-weight: 900;
}
.dep-page-card--feature .dep-card-quote,
.dep-page-card--red-small .dep-card-quote {
  color: rgba(255,255,255,.82);
}
.dep-card-author {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 22px;
}
.dep-card-avatar,
.dep-card-media {
  flex: 0 0 auto;
}
.dep-card-avatar img,
.dep-card-avatar span,
.dep-card-media img,
.dep-card-media span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  color: #fff;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.dep-card-media {
  display: none;
}
.dep-page-card--wide .dep-card-media {
  display: block;
  grid-row: 1 / span 3;
  align-self: stretch;
  min-height: 170px;
  border-radius: 16px;
  background: linear-gradient(145deg, #d6d6d6, #c9c9c9);
  overflow: hidden;
}
.dep-page-card--wide .dep-card-media img,
.dep-page-card--wide .dep-card-media span {
  width: 100%;
  height: 100%;
  border-radius: 0;
  font-size: 42px;
}
.dep-page-card--wide .dep-card-top,
.dep-page-card--wide .dep-card-copy,
.dep-page-card--wide .dep-card-author {
  grid-column: 2;
}
.dep-card-author strong,
.dep-card-author small {
  display: block;
}
.dep-card-author strong {
  font-size: 13px;
  font-weight: 900;
}
.dep-card-author small,
.dep-card-author time {
  font-size: 11px;
  color: rgba(16,16,18,.62);
}
.dep-page-card--feature .dep-card-author small,
.dep-page-card--feature .dep-card-author time,
.dep-page-card--red-small .dep-card-author small,
.dep-page-card--red-small .dep-card-author time {
  color: rgba(255,255,255,.7);
}
.dep-card-author time {
  margin-left: auto;
  white-space: nowrap;
}
/* galeria de fotos nos cards da página de depoimentos */
.dep-card-gallery {
  display: grid;
  gap: 6px;
  margin-top: 16px;
}
.dep-card-gallery-item {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0,0,0,.06);
}
.dep-card-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  box-shadow: none;
  transition: transform .45s ease;
}
.dep-page-card--has-gallery:hover .dep-card-gallery-item img {
  transform: scale(1.05);
}
.dep-card-gallery--1 { grid-template-columns: 1fr; }
.dep-card-gallery--1 .dep-card-gallery-item { aspect-ratio: 16/9; }
.dep-card-gallery--2 { grid-template-columns: 1fr 1fr; }
.dep-card-gallery--2 .dep-card-gallery-item { aspect-ratio: 1/1; }
.dep-card-gallery--3 { grid-template-columns: repeat(3, 1fr); }
.dep-card-gallery--3 .dep-card-gallery-item { aspect-ratio: 3/4; }
.dep-page-card--feature .dep-card-gallery-item,
.dep-page-card--red-small .dep-card-gallery-item {
  background: rgba(255,255,255,.16);
}
.dep-page-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 920px;
  margin: 26px auto 0;
}
.dep-page-actions .btn-red {
  font-size: 11px;
  padding: 12px 20px;
}
.dep-page-nav {
  display: flex;
  gap: 10px;
}
.dep-page-nav button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #eee;
  color: #333;
  cursor: pointer;
  transition: transform .24s ease, background .24s ease, color .24s ease;
}
.dep-page-nav button:hover,
.dep-page-nav button:focus-visible {
  background: var(--red);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}
.dep-page-nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (min-width: 769px) {
  #depoimentos-ac .support-head {
    max-width: 570px;
  }
}
.dep-page-photo {
  position: relative;
  z-index: 9;
  height: clamp(300px, 42vw, 470px);
  overflow: hidden;
  background: #111;
  border-radius: var(--radius) var(--radius) 0 0;
}
.dep-page-photo-media {
  position: absolute;
  inset: -42px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/foto-hero-equipe-especialistas-em-intercambio-australia-1.webp') center 42% / cover no-repeat;
  will-change: transform;
}
.dep-page-form {
  z-index: 10;
}
.dep-page-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: #666;
}
@keyframes depCardIn {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media(max-width: 768px) {
  .hero--depoimentos .hero-bg {
    background-position: center 32%;
  }
  .hero--depoimentos .hero-body {
    padding: 118px 18px 76px;
  }
  .dep-page-showcase {
    padding: 58px 0 62px;
  }
  .dep-page-mosaic {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .dep-page-card,
  .dep-page-card--feature,
  .dep-page-card--profile,
  .dep-page-card--wide,
  .dep-page-card--small,
  .dep-page-card--red-small {
    grid-column: 1 / -1;
    min-height: 0;
    padding: 22px;
  }
  .dep-page-card--wide {
    display: flex;
    gap: 0;
  }
  .dep-page-card--wide .dep-card-media {
    display: none;
  }
  .dep-card-copy h3 {
    font-size: 22px;
  }
  .dep-page-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .dep-page-actions .btn-red {
    justify-content: center;
    text-align: center;
  }
  .dep-page-nav {
    justify-content: center;
  }
  .dep-page-photo {
    height: 260px;
    border-radius: 0;
  }
  .dep-page-photo-media {
    inset: -22px 0;
    background-position: center 42%;
  }
}


/* Padronização global de respiro entre seções */
:root{
  --ac-section-gap:clamp(56px,6vw,92px);
  --ac-section-gap-compact:clamp(34px,4vw,58px);
  --ac-media-section-gap:clamp(154px,12vw,188px);
  --ac-section-y:clamp(74px,11.4vw,147px);
  --ac-section-y-b:clamp(143px,12vw,188px);
}
main > section.parapara,
main > section.sec-g8,
main > section.sec-dep,
main > section.sec-cidades-au,
main > section.success-steps,
main > section.sec-vistos-opcoes,
main > section.sec-imig-qual,
main > section.sec-familia,
main > section.support-agencies,
main > section.support-screen,
main > section.support-content,
main > section.sec-sobre,
main > section.sec-sobre-video,
main > section.sec-sobre-cta,
main > section.sec-imig-strip,
main > section.v494-expect,
main > section.v494-info,
main > section.dep-page-showcase,
main > section.team-section{
  padding-top:var(--ac-section-y)!important;
  padding-bottom:var(--ac-section-y-b)!important;
}
body > section.parapara,
body > section.sec-g8,
body > section.sec-dep,
body > section.sec-cidades-au,
body > section.success-steps,
body > section.sec-vistos-opcoes,
body > section.sec-imig-qual,
body > section.sec-familia,
body > section.support-agencies,
body > section.support-screen,
body > section.support-content,
body > section.sec-sobre,
body > section.sec-sobre-video,
body > section.sec-sobre-cta,
body > section.sec-imig-strip,
body > section.v494-expect,
body > section.v494-info,
body > section.dep-page-showcase,
body > section.team-section{
  padding-top:var(--ac-section-y)!important;
  padding-bottom:var(--ac-section-y-b)!important;
}
main > section.sec-sponsor,
body > section.sec-sponsor{
  padding-top:135px!important;
  padding-bottom:175px!important;
}
main > section.sec-programas,
body > section.sec-programas{
  padding-top:118px!important;
  padding-bottom:174px!important;
}
main > section.sec-blog,
body > section.sec-blog{
  padding-top:210px!important;
  padding-bottom:190px!important;
}
main > section.sec-custo,
body > section.sec-custo{
  margin-top:-150px;
  padding-top:130px!important;
  padding-bottom:118px!important;
}
main > section.sec-escolas,
body > section.sec-escolas{
  padding-top:138px!important;
  padding-bottom:190px!important;
  border:none!important;
}
main > section.sec-faq,
body > section.sec-faq{
  padding-top:130px!important;
  padding-bottom:180px!important;
}
main > section.sec-cert,
body > section.sec-cert{
  padding-top:122px!important;
  padding-bottom:130px!important;
}
main > section.sec-video,
body > section.sec-video{
  padding-top:124px!important;
  padding-bottom:58px!important;
}
main > section.sec-imig,
body > section.sec-imig{
  padding-top:126px!important;
  padding-bottom:78px!important;
}
@media(min-width:769px){
  #imigracao{padding-bottom:200px!important}
  #depoimentos{padding-top:130px!important}
  main > section.sec-blog--sobre,
  body > section.sec-blog--sobre{padding-top:70px!important}
}
main > section.sec-form,
body > section.sec-form{
  padding-top:130px!important;
  padding-bottom:150px!important;
}
main > section.sec-drive,
main > section.sec-photo-break,
main > section.team-parallax,
main > section.dep-page-photo,
main > section.contato-hashtags{
  padding-top:0!important;
  padding-bottom:0!important;
}
body > section.sec-drive,
body > section.sec-photo-break,
body > section.team-parallax,
body > section.dep-page-photo,
body > section.contato-hashtags{
  padding-top:0!important;
  padding-bottom:0!important;
}
@media(max-width:768px){
  :root{
    --ac-section-gap:42px;
    --ac-section-gap-compact:28px;
    --ac-media-section-gap:92px;
    --ac-section-y:64px;
    --ac-section-y-b:110px;
  }
}

/* Overrides mobile de padding por seção — ficam DEPOIS dos overrides desktop para ganhar na cascade */
@media(max-width:768px){
  /* bloco global (parapara + seções sem override específico) */
  main > section.parapara,main > section.sec-g8,main > section.sec-dep,main > section.sec-cidades-au,
  main > section.success-steps,main > section.sec-vistos-opcoes,
  main > section.sec-imig-qual,main > section.sec-familia,main > section.support-agencies,
  main > section.support-screen,main > section.support-content,main > section.sec-sobre,
  main > section.sec-sobre-video,main > section.sec-sobre-cta,main > section.sec-imig-strip,
  main > section.v494-expect,main > section.v494-info,main > section.dep-page-showcase,
  main > section.team-section,
  body > section.parapara,body > section.sec-g8,body > section.sec-dep,body > section.sec-cidades-au,
  body > section.success-steps,body > section.sec-vistos-opcoes,
  body > section.sec-imig-qual,body > section.sec-familia,body > section.support-agencies,
  body > section.support-screen,body > section.support-content,body > section.sec-sobre,
  body > section.sec-sobre-video,body > section.sec-sobre-cta,body > section.sec-imig-strip,
  body > section.v494-expect,body > section.v494-info,body > section.dep-page-showcase,
  body > section.team-section{padding-top:90px!important;padding-bottom:75px!important}
  /* seções com override específico — vêm depois para ganhar sobre o bloco global acima */
  main > section.sec-programas,body > section.sec-programas{padding-top:90px!important;padding-bottom:130px!important}
  main > section.sec-form,body > section.sec-form{padding-top:90px!important;padding-bottom:120px!important}
  main > section.sec-imig,body > section.sec-imig{padding-top:90px!important;padding-bottom:115px!important}
  body.page-imigracao main > section#sobre.sec-imig{padding-bottom:100px!important}
  main > section.sec-video,body > section.sec-video{padding-top:90px!important;padding-bottom:58px!important}
  main > section.sec-custo,body > section.sec-custo{margin-top:-80px;padding-top:90px!important;padding-bottom:68px!important}
  main > section.sec-escolas,body > section.sec-escolas{padding-top:90px!important;padding-bottom:135px!important;border:none!important}
  main > section.sec-blog,body > section.sec-blog{padding-top:20px!important;padding-bottom:135px!important}
  main > section.sec-dep,body > section.sec-dep{padding-top:90px!important;padding-bottom:110px!important}
  body.page-sobre main > section.sec-dep.parapara{padding-top:20px!important;padding-bottom:110px!important}
  main > section.sec-faq,body > section.sec-faq{padding-top:90px!important;padding-bottom:135px!important}
  main > section.sec-cert,body > section.sec-cert{padding-top:90px!important;padding-bottom:110px!important}
  #porque-ac{padding-top:130px!important}
  #qualificacao{padding-top:20px!important}
  #entrevista-online{margin-top:0!important}
  main > section.success-steps,body > section.success-steps{padding-top:90px!important;padding-bottom:115px!important}
}

/* h2 em fundos escuros/vermelhos — garante texto branco mesmo com .h2-mask-reveal */
.sec-imig .imig-lead h2,
.sec-imig .imig-lead h2 .h2-mask-inner,
.g8-panel .g8-copy h2,
.g8-panel .g8-copy h2 .h2-mask-inner,
.success-steps .sec-head h2,
.success-steps .sec-head h2 .h2-mask-inner,
.sec-cidades-au .sec-head h2,
.sec-cidades-au .sec-head h2 .h2-mask-inner,
.sec-escolas .schools-head h2,
.sec-escolas .schools-head h2 .h2-mask-inner,
.sec-sponsor .sponsor-head h2,
.sec-sponsor .sponsor-head h2 .h2-mask-inner,
.sec-imig-strip .imig-strip-copy h2,
.sec-imig-strip .imig-strip-copy h2 .h2-mask-inner,
.contato-topic-head h2,
.contato-topic-head h2 .h2-mask-inner {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Página Curso de Inglês — alinhada ao padrão das páginas internas */
.page-curso-ingles {
  background: #fff;
}

.hero--curso-ingles {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
  background: #000;
}

.hero--curso-ingles .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-intercambio-curso-de-ingles-na-australia-ou-nova-zelandia-1.webp');
  background-position: center 42%;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 1;
}

.hero--curso-ingles .hero-overlay {
  background:
    linear-gradient(180deg, rgba(44,0,0,.54) 0%, rgba(128,0,4,.64) 48%, rgba(215,26,33,.98) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.16), transparent 36%);
}

.hero--curso-ingles .hero-body {
  max-width: 1040px;
  padding: 128px 24px 88px;
}

.hero--curso-ingles .hero-body h1 {
  max-width: 890px;
}

.hero--curso-ingles .hero-sub {
  max-width: 780px;
}

.page-curso-ingles main > section.curso-content {
  background: #fff;
  margin-top: calc(var(--radius) * -1);
  padding-top: var(--ac-section-y) !important;
  padding-bottom: var(--ac-section-y-b) !important;
}

.page-curso-ingles main > section.curso-content--article {
  padding-top: var(--ac-section-y) !important;
}

.page-curso-ingles main > section.curso-content--why {
  padding-top: var(--ac-section-y) !important;
}

.page-curso-ingles .sec-form--support {
  z-index: 11;
}

/* Contato — encaixes e respiros alinhados ao padrão de seções sobrepostas */
body.page-contato main > section.contato-intro {
  padding-top: 115px !important;
  padding-bottom: 0 !important;
}
body.page-contato main > section#entrevista-online.sec-form--support {
  margin-top: calc(var(--radius) * -1) !important;
  padding-top: 130px !important;
  z-index: 10;
  background-color: #FFF;
}
body.page-contato .contato-form-title span {
  display: inline-block;
  white-space: nowrap;
}
@media(max-width:768px) {
  body.page-contato main > section.contato-intro {
    padding-top: 62px !important;
    padding-bottom: 0 !important;
  }
  body.page-contato main > section#entrevista-online.sec-form--support {
    margin-top: -40px !important;
    padding-top: 90px !important;
  }
}

.page-curso-ingles .sec-g8 {
  background: transparent;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.page-curso-ingles .sec-g8.parapara {
  margin-top: calc(var(--radius) * -1);
  z-index: 9;
}

/* Empilhamento crescente das seções a partir da foto de Sydney */
.page-curso-ingles #foto-sydney { z-index: 11; }
.page-curso-ingles #foto-sydney { margin-top: -30px; }
.page-curso-ingles #estudar-ingles { z-index: 12; }
.page-curso-ingles #niveis-de-ingles { z-index: 13; }
.page-curso-ingles #universidade-sem-ingles { z-index: 14; }
.page-curso-ingles #experiencia-intercambio { z-index: 15; }
.page-curso-ingles #estudantes { z-index: 16; }
.page-curso-ingles #estudantes { padding-top: 9px !important; }
.page-curso-ingles #porque-escolher-a-ac { padding-top: 9px !important; }
.page-curso-ingles #porque-escolher-a-ac { z-index: 17; }

.page-curso-ingles main > section#estudar-ingles.curso-content {
  padding-bottom: 42px !important;
}

.page-curso-ingles main > section#niveis-de-ingles.curso-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Variante navy do painel G8 — "Quero estudar em uma universidade e não tenho inglês" */
.g8-panel--navy {
  background: #122357;
  box-shadow: 0 22px 60px rgba(18, 35, 87, .22);
}

/* Curso de Inglês — parágrafos mais largos em toda a página */
.page-curso-ingles .curso-copy p,
.page-curso-ingles .g8-copy p {
  max-width: var(--ac-editorial-copy-width, 1040px);
}

body.page-curso-ingles #universidade-sem-ingles .g8-copy {
  max-width: var(--ac-editorial-copy-width, 1040px);
}

body.page-curso-ingles #universidade-sem-ingles .g8-copy > p {
  width: min(var(--ac-editorial-copy-width, 1040px), 100%) !important;
  max-width: var(--ac-editorial-copy-width, 1040px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

/* Links no painel vermelho — mesmo corpo do texto, negrito 600 */
.page-curso-ingles .g8-panel .text-link {
  font-size: inherit;
  font-weight: 600;
}

/* Intercâmbio Sydney/Auckland/Melbourne — "Porque fazer intercâmbio em..." no painel navy (mesmo estilo do curso-ingles) */
.page-intercambio-sydney .sec-g8,
.page-intercambio-aukland .sec-g8,
.page-intercambio-melbourne .sec-g8,
.page-intercambio-brisbane .sec-g8,
.page-intercambio-perth .sec-g8,
.page-intercambio-goldcoast .sec-g8,
.page-intercambio-adelaide .sec-g8,
.page-intercambio-sunshine .sec-g8,
.page-intercambio-cairns .sec-g8,
.page-intercambio-byron .sec-g8,
.page-intercambio-camberra .sec-g8,
.page-intercambio-hobart .sec-g8,
.page-intercambio-toowoomba .sec-g8,
.page-intercambio-christchurch .sec-g8,
.page-intercambio-dunedin .sec-g8,
.page-intercambio-queenstown .sec-g8,
.page-intercambio-tauranga .sec-g8,
.page-intercambio-wellington .sec-g8 {
  background: transparent;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.page-intercambio-sydney .sec-g8.parapara,
.page-intercambio-aukland .sec-g8.parapara,
.page-intercambio-melbourne .sec-g8.parapara,
.page-intercambio-brisbane .sec-g8.parapara,
.page-intercambio-perth .sec-g8.parapara,
.page-intercambio-goldcoast .sec-g8.parapara,
.page-intercambio-adelaide .sec-g8.parapara,
.page-intercambio-sunshine .sec-g8.parapara,
.page-intercambio-cairns .sec-g8.parapara,
.page-intercambio-byron .sec-g8.parapara,
.page-intercambio-camberra .sec-g8.parapara,
.page-intercambio-hobart .sec-g8.parapara,
.page-intercambio-toowoomba .sec-g8.parapara,
.page-intercambio-christchurch .sec-g8.parapara,
.page-intercambio-dunedin .sec-g8.parapara,
.page-intercambio-queenstown .sec-g8.parapara,
.page-intercambio-tauranga .sec-g8.parapara,
.page-intercambio-wellington .sec-g8.parapara {
  margin-top: calc(var(--radius) * -1);
  z-index: 9;
}
body.page-intercambio-sydney .g8-copy,
body.page-intercambio-aukland .g8-copy,
body.page-intercambio-melbourne .g8-copy,
body.page-intercambio-brisbane .g8-copy,
body.page-intercambio-perth .g8-copy,
body.page-intercambio-goldcoast .g8-copy,
body.page-intercambio-adelaide .g8-copy,
body.page-intercambio-sunshine .g8-copy,
body.page-intercambio-cairns .g8-copy,
body.page-intercambio-byron .g8-copy,
body.page-intercambio-camberra .g8-copy,
body.page-intercambio-hobart .g8-copy,
body.page-intercambio-toowoomba .g8-copy,
body.page-intercambio-christchurch .g8-copy,
body.page-intercambio-dunedin .g8-copy,
body.page-intercambio-queenstown .g8-copy,
body.page-intercambio-tauranga .g8-copy,
body.page-intercambio-wellington .g8-copy {
  max-width: 1060px;
  margin: 0 auto;
  text-align: center;
}
.page-intercambio-sydney .g8-copy p,
.page-intercambio-aukland .g8-copy p,
.page-intercambio-melbourne .g8-copy p,
.page-intercambio-brisbane .g8-copy p,
.page-intercambio-perth .g8-copy p,
.page-intercambio-goldcoast .g8-copy p,
.page-intercambio-adelaide .g8-copy p,
.page-intercambio-sunshine .g8-copy p,
.page-intercambio-cairns .g8-copy p,
.page-intercambio-byron .g8-copy p,
.page-intercambio-camberra .g8-copy p,
.page-intercambio-hobart .g8-copy p,
.page-intercambio-toowoomba .g8-copy p,
.page-intercambio-christchurch .g8-copy p,
.page-intercambio-dunedin .g8-copy p,
.page-intercambio-queenstown .g8-copy p,
.page-intercambio-tauranga .g8-copy p,
.page-intercambio-wellington .g8-copy p {
  width: min(var(--ac-editorial-copy-width, 1040px), 100%);
  max-width: var(--ac-editorial-copy-width, 1040px);
  margin-left: auto;
  margin-right: auto;
  text-align: left !important;
}
.page-intercambio-sydney .g8-copy p a,
.page-intercambio-aukland .g8-copy p a,
.page-intercambio-melbourne .g8-copy p a,
.page-intercambio-brisbane .g8-copy p a,
.page-intercambio-perth .g8-copy p a,
.page-intercambio-goldcoast .g8-copy p a,
.page-intercambio-adelaide .g8-copy p a,
.page-intercambio-sunshine .g8-copy p a,
.page-intercambio-cairns .g8-copy p a,
.page-intercambio-byron .g8-copy p a,
.page-intercambio-camberra .g8-copy p a,
.page-intercambio-hobart .g8-copy p a,
.page-intercambio-toowoomba .g8-copy p a,
.page-intercambio-christchurch .g8-copy p a,
.page-intercambio-dunedin .g8-copy p a,
.page-intercambio-queenstown .g8-copy p a,
.page-intercambio-tauranga .g8-copy p a,
.page-intercambio-wellington .g8-copy p a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-weight: 600;
}
@media (max-width: 768px) {
  .page-intercambio-sydney .sec-g8.parapara,
  .page-intercambio-aukland .sec-g8.parapara,
  .page-intercambio-melbourne .sec-g8.parapara,
  .page-intercambio-brisbane .sec-g8.parapara,
  .page-intercambio-perth .sec-g8.parapara,
  .page-intercambio-goldcoast .sec-g8.parapara,
  .page-intercambio-adelaide .sec-g8.parapara,
  .page-intercambio-sunshine .sec-g8.parapara,
  .page-intercambio-cairns .sec-g8.parapara,
  .page-intercambio-byron .sec-g8.parapara,
  .page-intercambio-camberra .sec-g8.parapara,
  .page-intercambio-hobart .sec-g8.parapara,
  .page-intercambio-toowoomba .sec-g8.parapara,
  .page-intercambio-christchurch .sec-g8.parapara,
  .page-intercambio-dunedin .sec-g8.parapara,
  .page-intercambio-queenstown .sec-g8.parapara,
  .page-intercambio-tauranga .sec-g8.parapara,
  .page-intercambio-wellington .sec-g8.parapara {
    margin-top: calc(var(--radius-mobile) * -1);
  }
  .page-intercambio-sydney .g8-panel,
  .page-intercambio-aukland .g8-panel,
  .page-intercambio-melbourne .g8-panel,
  .page-intercambio-brisbane .g8-panel,
  .page-intercambio-perth .g8-panel,
  .page-intercambio-goldcoast .g8-panel,
  .page-intercambio-adelaide .g8-panel,
  .page-intercambio-sunshine .g8-panel,
  .page-intercambio-cairns .g8-panel,
  .page-intercambio-byron .g8-panel,
  .page-intercambio-camberra .g8-panel,
  .page-intercambio-hobart .g8-panel,
  .page-intercambio-toowoomba .g8-panel,
  .page-intercambio-christchurch .g8-panel,
  .page-intercambio-dunedin .g8-panel,
  .page-intercambio-queenstown .g8-panel,
  .page-intercambio-tauranga .g8-panel,
  .page-intercambio-wellington .g8-panel {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    padding: 90px 18px 132px;
  }
}

.curso-content-wrap {
  max-width: var(--ac-editorial-copy-width, 1040px);
}

.curso-content-wrap .sec-head {
  max-width: 900px;
  margin: 0 auto 46px;
}

.curso-content-wrap .sec-head h2 {
  max-width: 900px;
}

.curso-copy {
  max-width: var(--ac-editorial-copy-width, 1040px);
  margin: 0 auto;
  color: #333;
  font-size: 15px;
  line-height: 1.62;
}

.curso-copy p {
  text-align: left !important;
  width: min(var(--ac-editorial-copy-width, 1040px), 100%);
  max-width: var(--ac-editorial-copy-width, 1040px);
  margin: 0 auto 14px;
}

.curso-copy > h3 {
  color: var(--red);
  font-size: var(--ac-section-h3, clamp(24px, 2.8vw, 36px));
  font-weight: 700;
  line-height: 1;
  margin: 0 auto 24px;
  max-width: 780px;
  text-align: center;
}

/* Título de seção "Mais sobre os cursos..." centralizado como os demais títulos da página */
.page-curso-tecnico #saiba-mais-tecnico .curso-copy > h2,
.page-bacharelado #saiba-mais-bacharelado .curso-copy > h2 {
  text-align: center;
  max-width: var(--ac-section-title-width);
  margin: 48px auto 26px;
  font-size: var(--ac-section-h2);
  line-height: var(--ac-section-h2-line);
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  text-wrap: balance;
}

body.page-curso-ingles #niveis-de-ingles .curso-copy > p {
  width: min(var(--ac-editorial-copy-width, 1040px), 100%) !important;
  max-width: var(--ac-editorial-copy-width, 1040px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

.curso-copy h4 {
  text-align: center;
  font-size: clamp(16px, 1.6vw, 19px);
  font-weight: 700;
  line-height: 1.38;
  max-width: 680px;
  margin: 28px auto 22px;
  color: #111;
}

.curso-copy ul {
  margin: 8px 0 20px 22px;
  padding: 0;
}

.curso-copy li {
  margin: 0 0 10px;
  padding-left: 4px;
}

.curso-copy strong {
  color: #151515;
  font-weight: 900;
}

.curso-red-title {
  color: var(--red);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 auto;
  text-align: center;
}

.curso-copy-block {
  margin: 110px 0 0;
}

.curso-content--article .curso-copy-block:first-child {
  margin-top: 0;
}

.curso-copy-block h2 {
  color: #111;
  -webkit-text-fill-color: #111;
  margin: 0 auto 26px;
  text-align: center;
  text-transform: none;
}

.curso-copy-block h2 .h2-mask-inner {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

.curso-red-inline {
  color: var(--red) !important;
}

.curso-level-grid {
  grid-auto-rows: 1fr;
  gap: 12px;
  margin: 24px 0 26px;
}

.curso-level-grid .prog-card-red,
.curso-level-grid .prog-card-light {
  height: auto;
  min-height: 0;
  align-items: center;
  justify-content: flex-start;
  padding: 26px 24px 24px;
  text-align: center;
  transition: transform .35s ease, box-shadow .35s ease, filter .35s ease, border-color .35s ease;
}

.curso-level-grid .prog-card-red .prog-card-copy {
  padding-top: 0;
}

.curso-level-grid .prog-card-copy h3 {
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.08;
  margin: 0 0 10px;
  max-width: none;
  text-transform: uppercase !important;
}

.curso-level-grid .prog-card-copy p {
  color: #666;
  font-size: 14px;
  line-height: 1.48;
  margin: 0;
  max-width: none;
}

.curso-level-grid .prog-card-red .prog-card-copy h3,
.curso-level-grid .prog-card-red .prog-card-copy p,
.curso-level-grid .prog-card-navy .prog-card-copy h3,
.curso-level-grid .prog-card-navy .prog-card-copy p {
  color: #fff;
}

.curso-level-card {
  --level: 16.666%;
  --level-track: rgba(15,17,21,.1);
  --level-fill: linear-gradient(90deg, var(--red), #ff5a63);
  --level-label: #7b7b7d;
}

.curso-level--a1 { --level: 16.666%; }
.curso-level--a2 { --level: 33.333%; }
.curso-level--b1 { --level: 50%; }
.curso-level--b2 { --level: 66.666%; }
.curso-level--c1 { --level: 83.333%; }
.curso-level--c2 { --level: 100%; }

.curso-level-grid .prog-card-red,
.curso-level-grid .prog-card-navy {
  --level-track: rgba(255,255,255,.22);
  --level-fill: linear-gradient(90deg, #fff, rgba(255,255,255,.72));
  --level-label: rgba(255,255,255,.86);
}

.curso-level-meter {
  position: relative;
  display: block;
  width: min(100%, 140px);
  height: 8px;
  border-radius: 999px;
  background: var(--level-track);
  margin: 10px auto 20px;
  overflow: hidden;
}

.curso-level-meter::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc(16.666% - 1.5px),
    rgba(255,255,255,.88) calc(16.666% - 1.5px),
    rgba(255,255,255,.88) 16.666%
  );
  pointer-events: none;
}

.curso-level-meter span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  height: 100%;
  border-radius: 999px;
  background: var(--level-fill);
  z-index: 2;
  transition: width .72s cubic-bezier(.22,.68,0,1.2) .05s;
}

.curso-level-card:hover .curso-level-meter span,
.curso-level-card.is-active .curso-level-meter span {
  width: var(--level);
}

.curso-level-grid .prog-card-red:hover,
.curso-level-grid .prog-card-light:hover {
  transform: translateY(-10px) scale(1.015);
  border-color: rgba(215,26,33,.2);
  filter: saturate(1.08);
}

.curso-level-grid .prog-card-red:hover .card-ico,
.curso-level-grid .prog-card-light:hover .card-ico,
.curso-level-grid .prog-card-navy:hover .card-ico {
  transform: scale(1.22);
}

.curso-level-grid .prog-card-light:hover {
  box-shadow: 0 26px 48px rgba(18,18,24,.12);
}

.curso-level-grid .prog-card-red:hover {
  box-shadow: 0 30px 58px rgba(215,26,33,.26);
}

.curso-level-grid .prog-card-navy:hover {
  box-shadow: 0 30px 58px rgba(4,31,82,.28);
}

.curso-experience-bento {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
}

.curso-experience-card {
  min-height: 260px;
  padding-top: 0;
}

.curso-experience-card.prog-card-red,
.curso-experience-card.prog-card-light {
  padding: 24px 26px;
  justify-content: flex-end;
}

.curso-experience-card.prog-card-red .prog-card-copy,
.curso-experience-card.prog-card-light .prog-card-copy {
  padding-top: 0;
  flex: 0 1 auto;
  max-width: 100%;
}

.curso-experience-card.prog-card-red .prog-card-copy p {
  margin-top: 0;
}

.curso-experience-card .prog-card-copy h3 {
  max-width: none;
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.08;
  margin: 0 0 10px;
  text-transform: uppercase !important;
  font-weight: 700;
}

.curso-experience-card .prog-card-copy p {
  font-size: 14px;
  line-height: 1.48;
  margin: 0;
  text-align: left !important;
}

.curso-experience-card.prog-card-photo {
  cursor: default;
  padding-top: 0;
}

.curso-experience-card.prog-card-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curso-experience-card.prog-card-navy {
  min-height: 220px;
}

.curso-experience-card.prog-card-photo .prog-card-copy h3 {
  color: #fff;
  max-width: none;
  text-shadow: 0 3px 16px rgba(0,0,0,.28);
}

.curso-experience-card.prog-card-photo .prog-card-copy p {
  max-width: none;
}

.curso-photo-break {
  background: transparent;
  padding: 0;
  position: relative;
  z-index: 7;
  margin-top: -74px;
}

.curso-photo-break .wrap {
  max-width: none;
  padding: 0;
}

.curso-photo-break .drive-banner {
  min-height: 430px;
  margin-bottom: -96px;
}

.drive-banner--curso-sydney .drive-banner-media {
  inset: -64px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/curso-ingles-1.webp') center 50%/cover no-repeat;
}

.curso-inline-photo {
  background: #fff;
  padding: 74px 0 86px;
  position: relative;
  z-index: 8;
}

.curso-inline-photo.parapara {
  margin-top: calc(var(--radius) * -1);
}

.curso-inline-photo .wrap {
  max-width: 1120px;
}

.curso-inline-photo__frame {
  position: relative;
  width: min(100%, 1060px);
  margin: 0 auto;
  aspect-ratio: 16 / 7;
  border-radius: 28px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 22px 52px rgba(0, 0, 0, .13);
}

.curso-inline-photo__media {
  position: absolute;
  inset: -64px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-sobre-intercambio-na-australia-1.webp') center 48%/cover no-repeat;
  transform: translate3d(var(--drive-x,0px), calc(var(--drive-pan-y,0px) + var(--drive-scroll-y,0px)), 0);
  transition: transform .5s cubic-bezier(.22,.68,0,1);
  will-change: transform;
}

.drive-banner--curso-sydney::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.12) 100%);
}

@supports (height: 75svh) {
  .hero--curso-ingles {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}

@media (max-width: 768px) {
  .hero--curso-ingles {
    height: 75svh !important;
    min-height: 75svh !important;
  }

  .hero--curso-ingles .hero-bg {
    background-position: center 38%;
  }

  .hero--curso-ingles .hero-body {
    padding: 118px 18px 76px;
  }

  .hero--curso-ingles .hero-body h1 {
    max-width: 380px;
  }

  .page-curso-ingles main > section.curso-content,
  .page-curso-ingles main > section.curso-content--article,
  .page-curso-ingles main > section.curso-content--why {
    margin-top: calc(var(--radius-mobile) * -1);
    padding-top: 90px !important;
    padding-bottom: 86px !important;
  }

  .page-curso-ingles main > section#estudar-ingles.curso-content {
    padding-bottom: 34px !important;
  }

  .page-curso-ingles main > section#niveis-de-ingles.curso-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .page-curso-ingles .sec-g8.parapara {
    margin-top: calc(var(--radius-mobile) * -1);
  }

  .page-curso-ingles .g8-panel {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    padding: 90px 18px 132px;
  }

  .curso-content-wrap .sec-head {
    margin-bottom: 30px;
  }

  .curso-copy-block {
    margin-top: 48px;
  }

  .curso-copy-block h2 {
    font-size: clamp(26px, 7.4vw, 34px);
    margin-bottom: 20px;
  }

  .curso-level-grid {
    grid-template-columns: 1fr;
  }

  .curso-level-grid .prog-card-red,
  .curso-level-grid .prog-card-light {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    column-gap: 16px;
    row-gap: 16px;
    text-align: left;
  }

  .curso-level-grid .prog-card-copy {
    display: contents;
    padding-top: 0;
  }

  .curso-level-grid .prog-card-copy h3 {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: center;
    margin: 0;
    font-size: 18px;
    line-height: 1.03;
  }

  .curso-level-meter {
    grid-column: 1 / -1;
    width: min(100%, 190px);
    margin: 2px auto 0;
  }

  .curso-level-grid .prog-card-copy p {
    grid-column: 1 / -1;
  }

  .curso-experience-bento {
    grid-template-columns: 1fr;
    margin-top: 26px;
  }

  .curso-experience-card {
    height: 320px;
    min-height: 320px;
  }

  .curso-experience-card.prog-card-red,
  .curso-experience-card.prog-card-light,
  .curso-experience-card.prog-card-photo,
  .curso-experience-card.prog-card-navy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 24px 20px;
  }

  .curso-experience-card .prog-card-copy h3 {
    font-size: clamp(15px, 4.4vw, 19px);
    line-height: 1.08;
    margin: 0 0 10px;
    max-width: 100%;
  }

  .curso-experience-card .prog-card-copy {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    max-width: none;
    padding: 0;
  }

  .curso-experience-card .prog-card-copy p {
    font-size: 14px;
    line-height: 1.48;
    margin: 0;
    text-align: left !important;
  }

  .curso-photo-break {
    margin-top: -56px;
  }

  .curso-photo-break .wrap {
    max-width: none;
    padding: 0;
  }

  .curso-photo-break .drive-banner {
    min-height: 320px;
    border-radius: 26px;
    margin-bottom: -28px;
  }

  .curso-inline-photo {
    padding: 58px 0 72px;
  }

  .curso-inline-photo.parapara {
    margin-top: calc(var(--radius-mobile) * -1);
  }

  .curso-inline-photo .wrap {
    padding-left: 18px;
    padding-right: 18px;
  }

  .curso-inline-photo__frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 28px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .12);
  }

  .curso-inline-photo__media {
    inset: -42px 0;
  }
}

/* CTA "Chegou a hora" — variação compacta e reutilizável do componente banner1 */
.sobre-cta-card--compact {
  width: min(100%, 1040px);
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: minmax(440px, 1.08fr) minmax(0, .92fr);
  min-height: 146px;
  background: #ececec;
  box-shadow: 0 28px 58px rgba(34,24,24,.12), 0 1px 0 rgba(255,255,255,.88) inset;
}
.sobre-cta-card--compact::before {
  display: none;
}
.sobre-cta-card--compact:hover,
.sobre-cta-card--compact:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 34px 72px rgba(34,24,24,.16), 0 18px 38px rgba(215,26,33,.2);
}
/* linha branca lateral que cresce e preenche o card */
.sobre-cta-card--compact::after {
  width: 8px;
  background: #fff;
}
.sobre-cta-card--compact:hover::after,
.sobre-cta-card--compact:focus-within::after {
  opacity: 1;
}
.sobre-cta-card--compact .sobre-cta-wipe {
  background: linear-gradient(112deg, #fff 0%, #fff 68%, #f3f0e9 100%);
}
.sobre-cta-card--compact .sobre-cta-copy {
  align-self: stretch;
  align-content: center;
  justify-items: start !important;
  text-align: left !important;
  row-gap: 10px;
  padding: 26px 32px 26px 42px;
}
.sobre-cta-card--compact .sobre-cta-heading {
  display: block !important;
  text-align: left !important;
  font-size: clamp(18px, 1.65vw, 22px);
  font-weight: 900;
  line-height: .98;
  max-width: 560px;
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
}
.sobre-cta-card--compact .sobre-cta-heading > span {
  display: inline !important;
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
}
.sobre-cta-card--compact .sobre-cta-heading .sobre-cta-red {
  color: var(--red) !important;
  -webkit-text-fill-color: var(--red) !important;
}
/* hover: o preenchimento branco entra e o texto volta ao escuro/vermelho */
.sobre-cta-card--compact:hover .sobre-cta-heading,
.sobre-cta-card--compact:focus-within .sobre-cta-heading,
.sobre-cta-card--compact:hover .sobre-cta-heading > span,
.sobre-cta-card--compact:focus-within .sobre-cta-heading > span {
  color: #101010 !important;
  -webkit-text-fill-color: #101010 !important;
}
.sobre-cta-card--compact:hover .sobre-cta-heading .sobre-cta-red,
.sobre-cta-card--compact:focus-within .sobre-cta-heading .sobre-cta-red {
  color: var(--red) !important;
  -webkit-text-fill-color: var(--red) !important;
}
/* botão no mesmo padrão do banner de cima */
.sobre-cta-card--compact .sobre-banner-btn {
  min-height: 36px;
  padding: 11px 24px;
  font-size: 10px;
  background: var(--red) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 0 14px 28px rgba(215,26,33,.28);
}
.sobre-cta-card--compact:hover .sobre-banner-btn,
.sobre-cta-card--compact:focus-within .sobre-banner-btn {
  transform: translateY(-2px);
  background: var(--red) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 18px 36px rgba(215,26,33,.32);
}
.sobre-cta-card--compact .sobre-banner-btn:hover,
.sobre-cta-card--compact:hover .sobre-banner-btn:hover,
.sobre-cta-card--compact:focus-within .sobre-banner-btn:focus-visible {
  transform: translateY(-4px) scale(1.03);
  background: #b9151b !important;
}
/* foto com recorte diagonal igual ao de cima */
.sobre-cta-card--compact .sobre-cta-photo {
  min-height: 146px;
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/banner-sobre-intercambio-australia-e-nova-zelandia-1.webp') !important;
  clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%);
}
.sobre-cta-card--compact:hover .sobre-cta-photo,
.sobre-cta-card--compact:focus-within .sobre-cta-photo {
  clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%);
  transform: scale(1.03);
}
@media(max-width: 900px) {
  .sobre-cta-card--compact {
    grid-template-columns: 1fr;
    min-height: 260px;
  }
  .sobre-cta-card--compact .sobre-cta-copy {
    min-height: 220px;
    padding: 30px 24px;
  }
  .sobre-cta-card--compact .sobre-cta-photo {
    position: absolute;
    inset: 0;
    clip-path: none;
    opacity: .46;
  }
  .sobre-cta-card--compact .sobre-cta-heading {
    max-width: 520px;
    font-size: clamp(22px, 6vw, 30px);
  }
}
body.page-sobre main > section#form-cta.sec-form,
body.page-sobre #form-cta {
  background: #fff !important;
}

@media(min-width: 769px) {
  body.page-sobre #sobre-ac {
    padding-bottom: 147px !important;
  }
  body.page-sobre .sobre-layout {
    gap: 104px;
  }
}

/* Banner2 — variação compacta e reutilizável do componente */
.imig-strip-inner--compact {
  display: grid;
  grid-template-columns: minmax(440px, 1.08fr) minmax(0, .92fr);
  align-items: stretch;
  gap: 0;
  min-height: 146px;
  padding: 0;
  background: #d60000;
  box-shadow: 0 28px 58px rgba(34,24,24,.12), 0 1px 0 rgba(255,255,255,.88) inset;
}
/* wipe branco diagonal — mesmo efeito do banner "Chegou a hora" */
.imig-strip-inner--compact::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1;
  background: linear-gradient(112deg, #fff 0%, #fff 68%, #f3f0e9 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path .64s cubic-bezier(.16,.84,.24,1), filter .42s ease;
}
.imig-strip-inner--compact:hover::before,
.imig-strip-inner--compact:focus-within::before {
  opacity: 1;
  background: linear-gradient(112deg, #fff 0%, #fff 68%, #f3f0e9 100%);
  clip-path: polygon(0 0, 55% 0, 45% 100%, 0 100%);
  filter: saturate(1.05);
}
/* linha branca lateral */
.imig-strip-inner--compact::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: auto;
  top: 0;
  bottom: 0;
  width: 8px;
  height: auto;
  z-index: 2;
  border: none;
  border-radius: 0;
  background: #fff;
  opacity: 1;
  transform: none;
  transition: none;
}
.imig-strip-inner--compact:hover::after,
.imig-strip-inner--compact:focus-within::after {
  right: auto;
  top: 0;
  transform: none;
  border-color: transparent;
  background: #fff;
  opacity: 1;
}
.imig-strip-inner--compact:hover,
.imig-strip-inner--compact:focus-within {
  transform: translateY(-4px);
  background: #d60000;
  box-shadow: 0 34px 72px rgba(34,24,24,.16), 0 18px 38px rgba(215,26,33,.2);
}
.imig-strip-inner--compact .imig-strip-copy {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "title"
    "button";
  align-content: center;
  justify-items: start;
  row-gap: 10px;
  max-width: none;
  width: 100%;
  padding: 26px 32px 26px 42px;
}
.imig-strip-inner--compact .imig-strip-title {
  grid-area: title;
  width: 100%;
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 1.65vw, 22px);
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0;
  max-width: 560px;
  text-align: left !important;
  transition: color .48s ease;
}
.imig-strip-inner--compact .imig-strip-title .imig-line {
  display: block;
  white-space: normal;
}
.imig-strip-inner--compact .imig-strip-title .imig-line--mobile {
  display: none;
}
.imig-strip-inner--compact:hover .imig-strip-title,
.imig-strip-inner--compact:focus-within .imig-strip-title {
  transform: none;
  text-shadow: none;
  color: #101010;
}
.imig-strip-inner--compact .imig-strip-photo {
  position: relative;
  min-height: 146px;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-imigracao-australia-1.webp') center 48% / cover no-repeat;
  clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%);
  transform: scale(1.01);
  transition: transform .42s cubic-bezier(.16,.84,.24,1), filter .32s ease, background-position .32s ease;
}
.imig-strip-inner--compact:hover .imig-strip-photo,
.imig-strip-inner--compact:focus-within .imig-strip-photo {
  transform: scale(1.03);
  filter: saturate(1.08) contrast(1.03);
  background-position: center 48%;
}
.imig-strip-inner--compact .imig-strip-copy .sobre-banner-btn--blue {
  grid-area: button;
  min-height: 36px;
  padding: 11px 24px;
  background: #071e5f;
  color: #fff;
  border-color: rgba(255,255,255,.16);
  font-size: 10px;
  box-shadow: 0 14px 28px rgba(4,20,72,.24);
}
.imig-strip-inner--compact:hover .sobre-banner-btn--blue,
.imig-strip-inner--compact:focus-within .sobre-banner-btn--blue {
  transform: translateY(-2px);
  background: #071e5f;
  color: #fff;
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 18px 36px rgba(4,20,72,.28);
}
.imig-strip-inner--compact .imig-strip-copy .sobre-banner-btn--blue:hover,
.imig-strip-inner--compact .imig-strip-copy .sobre-banner-btn--blue:focus-visible {
  transform: translateY(-4px) scale(1.03);
  background: #0b2f8f;
}

@media(max-width: 900px) {
  .imig-strip-inner--compact {
    grid-template-columns: 1fr;
    min-height: 260px;
  }
  .imig-strip-inner--compact .imig-strip-copy {
    min-height: 220px;
    padding: 30px 24px;
  }
  .imig-strip-inner--compact .imig-strip-photo {
    position: absolute;
    inset: 0;
    clip-path: none;
    opacity: .46;
  }
  .imig-strip-inner--compact .imig-strip-title {
    max-width: 520px;
    font-size: clamp(22px, 6vw, 30px);
  }
}

#video-ac {      padding-top: 100px !important; }

@media(max-width: 768px) {
  body.page-sobre #video-ac { padding-top: 80px !important; }
}


#sobre-ac {     padding-top: 130px !important;  } 

@media(max-width: 768px) {
  body.page-sobre #sobre-ac { padding-top: 80px !important; }
}


#planejamento-imigratorio {     padding-top: 110px !important;     padding-bottom: 55px !important;  }



@media(max-width: 640px) {
  .imig-strip-inner--compact .imig-strip-title .imig-line--desktop {
    display: none;
  }
  .imig-strip-inner--compact .imig-strip-title .imig-line--mobile {
    display: block;
  }
  .imig-strip-inner--compact .imig-strip-copy .sobre-banner-btn--blue {
    min-height: 40px;
    padding: 12px 22px;
    font-size: 10px;
  }
}

.sec-blog--sobre#blog {
  padding-top: 4px !important;
}
.sec-blog--sobre {
  background: #fff;
  padding-top: 84px !important;
  padding-bottom: 92px !important;
}
.sec-blog--sobre .wrap {
  max-width: 1200px;
}
.sec-blog--sobre .blog-hdr {
  align-items: stretch;
  text-align: left;
  gap: 12px;
  margin-bottom: 28px;
}
.sec-blog--sobre .blog-hdr h2 {
  max-width: none;
  margin: 0;
  color: #080808;
  line-height: 1.05;
  text-transform: none;
  text-align: left;
}
.sec-blog--sobre .blog-hdr p,
.sec-blog--sobre .blog-hdr .btn-red {
  display: none;
}
.sec-blog--sobre .blog-hdr .bar {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  margin: 4px 0 0;
  background: #d9d9d9;
}
.sec-blog--sobre .blog-hdr .bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 38px;
  height: 4px;
  background: #ff1b1f;
}
.sec-blog--sobre .blog-sobre-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 52px;
}
.sec-blog--sobre .blog-sobre-item {
  position: relative;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 26px;
  gap: 10px;
  align-items: stretch;
  min-height: 140px;
  min-width: 0;
}
.sec-blog--sobre .blog-sobre-img-wrap {
  display: block;
  width: 160px;
  aspect-ratio: 16 / 14;
  overflow: hidden;
  border-radius: 4px;
  background: #eee;
}
.sec-blog--sobre .blog-sobre-img-wrap img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .42s ease, filter .3s ease;
}
.sec-blog--sobre .blog-sobre-item:hover .blog-sobre-img-wrap img {
  transform: scale(1.05);
  filter: saturate(1.06) contrast(1.03);
}
.sec-blog--sobre .blog-sobre-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
}
.sec-blog--sobre .blog-sobre-cat {
  display: inline-block;
  align-self: flex-start;
  padding: 4px 8px;
  margin-bottom: 7px;
  border-radius: 6px;
  background: var(--red);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: background .25s ease;
}
.sec-blog--sobre .blog-sobre-item:hover .blog-sobre-cat {
  background: #a5060d;
}
.sec-blog--sobre .blog-sobre-copy h3 {
  margin: 0 0 8px;
  color: #080808;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.27;
}
.sec-blog--sobre .blog-sobre-copy h3 a {
  color: inherit;
  text-decoration: none;
}
.sec-blog--sobre .blog-sobre-copy h3 a:hover {
  color: #ed1c24;
}
.sec-blog--sobre .blog-sobre-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  color: #707070;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.sec-blog--sobre .blog-sobre-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.sec-blog--sobre .blog-sobre-meta svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sec-blog--sobre .blog-sobre-arrow {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  color: #ff1b1f;
  align-self: end;
  margin-bottom: 0;
  transition: transform .24s ease, color .24s ease;
}
.sec-blog--sobre .blog-sobre-share {
  align-self: end;
  justify-self: end;
  margin: 0;
}
.sec-blog--sobre .blog-sobre-share .blog-share-btn {
  padding: 0;
  background: transparent;
}
.sec-blog--sobre .blog-sobre-share .blog-share-btn:hover,
.sec-blog--sobre .blog-sobre-share .blog-share-btn.active {
  color: #d60000;
  background: rgba(215,26,33,.09);
}
.sec-blog--sobre .blog-sobre-share .blog-share-popup {
  right: 0;
  bottom: calc(100% + 10px);
}
.sec-blog--sobre .blog-sobre-arrow svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sec-blog--sobre .blog-sobre-item:hover .blog-sobre-share > .blog-sobre-arrow {
  transform: translateX(4px);
  color: #d60000;
}

@media(max-width: 1180px) {
  .sec-blog--sobre .blog-sobre-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 36px;
  }
}

@media(max-width: 720px) {
  .sec-blog--sobre .blog-sobre-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .sec-blog--sobre .blog-sobre-item {
    grid-template-columns: 128px minmax(0, 1fr) 24px;
    gap: 10px;
  }
  .sec-blog--sobre .blog-sobre-img-wrap {
    width: 128px;
  }
  .sec-blog--sobre .blog-sobre-copy h3 {
    font-size: 16px;
  }
}

/* =========================================================
   PÁGINA — LISTAGEM DO BLOG
   A grade principal recebe dados provisórios de
   content/listagem-blog.js e será conectada ao WordPress.
   ========================================================= */
.page-listagem-blog {
  background: #fff;
}
.page-listagem-blog :where(
  .blog-listing-featured-copy,
  .blog-listing-heading,
  .blog-hdr,
  .pa-widget
) h2,
.page-listagem-blog :where(
  .blog-listing-featured-copy,
  .blog-listing-heading,
  .blog-hdr,
  .pa-widget
) h2 * {
  font-weight: 700 !important;
}
.hero--blog-listing {
  height: 75vh;
  min-height: 620px;
  justify-content: center;
  background: #6e0008;
}
.hero--blog-listing .hero-bg {
  inset: 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-listagem-blog-intercambio-1.webp') center / cover no-repeat;
  opacity: 1;
}
.hero--blog-listing .hero-bg::before,
.hero--blog-listing .hero-bg::after {
  content: none;
}
.hero--blog-listing .hero-overlay {
  background:
    linear-gradient(180deg, rgba(34,0,3,.32) 0%, rgba(87,0,7,.08) 58%, rgba(239,16,26,.44) 100%),
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.05), transparent 38%);
}
.hero--blog-listing .hero-body {
  max-width: 1040px;
  padding: 116px 24px 78px;
}
.hero--blog-listing .hero-body h1 {
  max-width: 890px;
  margin-bottom: 26px;
}
@media (min-width: 769px) {
  .hero-title-blog br {
    display: block;
  }
}
.hero--blog-listing .hero-cta {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero--blog-listing .hero-cta::before {
  content: "";
  display: block;
  width: 104px;
  height: 4px;
  border-radius: 999px;
  margin: 0 auto 28px;
  background: linear-gradient(90deg, rgba(215,26,33,.3), #ed1c24 45%, rgba(215,26,33,.3));
  box-shadow: 0 0 22px rgba(215,26,33,.45);
  transform: scaleX(.28);
  transform-origin: center;
  animation: heroSpecialistLineGrow 1.15s cubic-bezier(.22,.68,0,1) .95s forwards;
}
.blog-listing-main {
  position: relative;
  z-index: 4;
  margin-top: -42px;
  overflow: hidden;
  border-radius: 42px 42px 0 0;
  background: #fff;
}
.blog-listing-shell {
  width: min(100% - 48px, 1080px);
  margin: 0 auto;
  padding: 72px 0 86px;
}
.blog-listing-featured {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border-radius: 22px;
  background: #111;
  box-shadow: 0 24px 58px rgba(16,22,34,.16);
}
.blog-listing-featured > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease, filter .5s ease;
}
.blog-listing-featured:hover > img {
  transform: scale(1.035);
  filter: saturate(1.05);
}
.blog-listing-featured.reveal-soft.h2-mask-parent {
  opacity: 0 !important;
  filter: blur(8px) !important;
  transform: translate3d(0, 24px, 0) scale(.988) !important;
}
.blog-listing-featured.reveal-soft.h2-mask-parent.on {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}
.blog-listing-featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3,8,15,.88) 0%, rgba(3,8,15,.58) 52%, rgba(3,8,15,.04) 100%);
}
.blog-listing-featured-copy {
  position: absolute;
  left: 40px;
  bottom: 38px;
  z-index: 2;
  width: min(590px, calc(100% - 80px));
  color: #fff;
}
.blog-listing-category {
  display: inline-block;
  padding: 4px 9px;
  margin-bottom: 10px;
  border-radius: 6px;
  background: var(--red);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: background .25s ease;
}
.blog-listing-featured:hover .blog-listing-category,
.blog-listing-card:hover .blog-listing-category {
  background: #a5060d;
}
.blog-listing-featured-copy h2 {
  color: #fff;
  font-size: clamp(27px, 3.1vw, 44px);
  margin: 0 0 14px;
  text-shadow: 0 3px 20px rgba(0,0,0,.32);
}
.blog-listing-featured-copy h2.h2-mask-reveal {
  overflow: visible;
}
.blog-listing-featured-copy h2 .h2-mask-inner {
  display: block;
  width: 100%;
  max-width: none;
  opacity: 1 !important;
  transform: none !important;
}
.blog-listing-featured-copy p {
  max-width: 720px;
  margin: 0 0 18px;
  color: rgba(255,255,255,.88);
  font-size: 15px;
  line-height: 1.52;
  text-align: left !important;
}
.blog-listing-meta {
  display: flex;
  align-items: center;
  gap: 17px;
  color: #777;
  font-size: 11px;
  font-weight: 650;
  text-transform: uppercase;
}
.blog-listing-featured .blog-listing-meta {
  color: rgba(255,255,255,.86);
}
.blog-listing-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.blog-listing-meta svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blog-listing-arrow {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: #f21b23;
  transition: transform .22s ease, color .22s ease;
}
.blog-listing-arrow:hover {
  transform: translateX(4px);
  color: #a5060d;
}
.blog-listing-arrow svg {
  width: 21px;
  height: 21px;
}
.blog-listing-banner {
  margin: 56px 0 62px;
}
.blog-listing-content {
  padding: 0;
}
.blog-listing-heading {
  margin-bottom: 34px;
}
.blog-listing-heading h2 {
  margin: 0;
  color: #0a0a0a;
}
.blog-listing-heading .bar {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 15px;
  background: #dadada;
}
.blog-listing-heading .bar::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 38px;
  height: 4px;
  background: #ff1b1f;
}
.blog-listing-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, .92fr);
  gap: 38px;
  align-items: stretch;
}
.blog-listing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 24px;
  view-transition-name: blog-middle-grid;
}
.blog-listing-card {
  overflow: hidden;
  border: 1px solid #ededed;
  border-radius: 18px;
  background: #f8f8f8;
  box-shadow: 0 12px 30px rgba(19,25,39,.06);
  transition: transform .3s ease, box-shadow .3s ease;
}
.blog-listing-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(19,25,39,.12);
}
.blog-listing-card-media {
  position: relative;
  display: block;
  min-height: 260px;
  overflow: hidden;
  background: #111;
}
.blog-listing-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 20%, rgba(0,0,0,.84) 100%);
}
.blog-listing-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}
.blog-listing-card:hover .blog-listing-card-media img {
  transform: scale(1.055);
}
.blog-listing-card-media .blog-listing-category,
.blog-listing-card-media h3 {
  position: absolute;
  left: 20px;
  z-index: 2;
}
.blog-listing-card-media .blog-listing-category {
  bottom: 70px;
}
.blog-listing-card-media h3 {
  right: 20px;
  bottom: 22px;
  margin: 0;
  color: #fff;
  font-size: 19px;
  line-height: 1.08 !important;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
}
.blog-listing-card-copy {
  padding: 19px 20px 18px;
}
.blog-listing-card-copy p {
  min-height: 92px;
  margin: 0 0 18px;
  color: #666;
  font-size: 14px;
  line-height: 1.5;
  text-align: left !important;
}
.blog-listing-card .blog-listing-meta {
  gap: 12px;
}
.blog-listing-card .blog-listing-arrow {
  margin-left: auto;
}
.blog-listing-share {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
}
.blog-listing-share .blog-share-btn {
  padding: 0;
  background: transparent;
}
.blog-listing-share .blog-share-btn:hover,
.blog-listing-share .blog-share-btn.active {
  color: #a5060d;
  background: rgba(215,26,33,.09);
}
.blog-listing-aside {
  min-width: 0;
}
.blog-listing-side-news {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 30px;
  height: 100%;
}
.blog-listing-side-card {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
  box-shadow: 0 16px 34px rgba(19,25,39,.12);
  transition: transform .3s ease, box-shadow .3s ease;
}
.blog-listing-side-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 48px rgba(19,25,39,.18);
}
.blog-listing-side-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  color: #fff;
}
.blog-listing-side-link > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease, filter .45s ease;
}
.blog-listing-side-card:hover img {
  transform: scale(1.055);
  filter: saturate(1.05);
}
.blog-listing-side-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3,8,15,.06) 8%, rgba(3,8,15,.34) 48%, rgba(3,8,15,.94) 100%),
    linear-gradient(90deg, rgba(3,8,15,.5), transparent 72%);
}
.blog-listing-side-copy {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  z-index: 2;
}
.blog-listing-side-copy h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.06 !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.38);
}
.blog-listing-side-copy p {
  display: -webkit-box;
  margin: 0 0 16px;
  overflow: hidden;
  color: rgba(255,255,255,.84);
  font-size: 13px;
  line-height: 1.46;
  text-align: left !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.blog-listing-side-copy .blog-listing-meta {
  gap: 10px;
  padding-right: 34px;
  color: rgba(255,255,255,.86);
  font-size: 10px;
}
.blog-listing-side-copy .blog-listing-arrow {
  margin-left: auto;
  color: #ff252d;
}
.blog-listing-side-share {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
}
.blog-listing-side-share .blog-share-popup {
  right: 0;
  bottom: calc(100% + 10px);
}
.blog-listing-empty {
  grid-column: 1 / -1;
  padding: 60px 24px;
  color: #666;
}
.blog-listing-controls {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, .92fr);
  gap: 38px;
  align-items: end;
  margin-top: 36px;
  padding-bottom: 24px;
}
.blog-listing-controls-main {
  display: grid;
  grid-template-columns: minmax(40px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
  min-width: 0;
}
.blog-listing-controls-line {
  height: 1px;
  margin-bottom: 23px;
  background: #ddd;
}
.blog-listing-more {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0 10px;
  color: var(--red);
  font-size: 13px;
  font-weight: 750;
}
.blog-listing-nav {
  display: flex;
  gap: 9px;
  padding-bottom: 1px;
}
.blog-listing-nav .blog-nav-btn.swiper-button-disabled {
  pointer-events: none;
}

html.blog-grid-transition-next::view-transition-old(blog-middle-grid) {
  animation: blog-grid-out-next .28s cubic-bezier(.4, 0, 1, 1) both;
}
html.blog-grid-transition-next::view-transition-new(blog-middle-grid) {
  animation: blog-grid-in-next .46s cubic-bezier(.16, 1, .3, 1) both;
}
html.blog-grid-transition-prev::view-transition-old(blog-middle-grid) {
  animation: blog-grid-out-prev .28s cubic-bezier(.4, 0, 1, 1) both;
}
html.blog-grid-transition-prev::view-transition-new(blog-middle-grid) {
  animation: blog-grid-in-prev .46s cubic-bezier(.16, 1, .3, 1) both;
}
.blog-listing-grid.is-leaving-next,
.blog-listing-grid.is-leaving-prev {
  opacity: 0;
  filter: blur(3px);
  transition: opacity .18s ease, transform .18s ease, filter .18s ease;
}
.blog-listing-grid.is-leaving-next {
  transform: translate3d(-18px, 0, 0) scale(.99);
}
.blog-listing-grid.is-leaving-prev {
  transform: translate3d(18px, 0, 0) scale(.99);
}
.blog-listing-grid.is-entering-next {
  animation: blog-grid-in-next .42s cubic-bezier(.16, 1, .3, 1) both;
}
.blog-listing-grid.is-entering-prev {
  animation: blog-grid-in-prev .42s cubic-bezier(.16, 1, .3, 1) both;
}
@keyframes blog-grid-out-next {
  to { opacity: 0; filter: blur(3px); transform: translate3d(-24px, 0, 0) scale(.99); }
}
@keyframes blog-grid-in-next {
  from { opacity: 0; filter: blur(4px); transform: translate3d(30px, 0, 0) scale(.985); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes blog-grid-out-prev {
  to { opacity: 0; filter: blur(3px); transform: translate3d(24px, 0, 0) scale(.99); }
}
@keyframes blog-grid-in-prev {
  from { opacity: 0; filter: blur(4px); transform: translate3d(-30px, 0, 0) scale(.985); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .blog-listing-featured.reveal-soft.h2-mask-parent,
  .blog-listing-featured.reveal-soft.h2-mask-parent.on {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
  .blog-listing-grid,
  .blog-listing-grid.is-leaving-next,
  .blog-listing-grid.is-leaving-prev,
  .blog-listing-grid.is-entering-next,
  .blog-listing-grid.is-entering-prev {
    animation: none !important;
    transition: none !important;
  }
}
.blog-listing-filter {
  display: grid;
  gap: 7px;
}
.blog-listing-filter > span {
  color: #111;
  font-size: 12px;
  font-weight: 750;
}
.blog-listing-filter select {
  min-height: 48px;
  width: 100%;
  padding: 0 16px;
  border: 1px solid #999;
  border-radius: 8px;
  background: #fff;
  color: #333;
  font-size: 13px;
  outline: none;
}
.blog-listing-filter select:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(215,26,33,.1);
}
.page-listagem-blog .sec-blog--listing-more,
.page-listagem-blog .sec-blog--listing-more#blog {
  width: min(calc(100vw - 48px), 1200px);
  margin-top: 0 !important;
  margin-left: 50%;
  padding: 76px 0 30px !important;
  background: #fff;
  transform: translateX(-50%);
}
.page-listagem-blog .sec-blog--listing-more .wrap {
  max-width: 1200px;
  padding: 0 24px;
}
.page-listagem-blog .sec-blog--listing-more .blog-hdr {
  margin-bottom: 32px;
}
.blog-listing-banner--bottom {
  margin-top: 40px;
  margin-bottom: 0;
}
.page-listagem-blog .blog-listing-form {
  position: relative;
  z-index: 8;
  border-radius: 38px 38px 0 0;
}
.blog-listing-photo {
  position: relative;
  z-index: 3;
  height: clamp(310px, 38vw, 510px);
  margin-top: -38px;
  overflow: hidden;
  border-radius: 38px 38px 0 0;
  background: #111;
}
.page-listagem-blog .blog-listing-photo {
  z-index: 9;
}
.blog-listing-photo-media {
  position: absolute;
  inset: -82px 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/paralax-listagem-blog-intercambio-1.webp') center 52% / cover no-repeat;
  transform: translate3d(var(--drive-x,0px), calc(var(--drive-pan-y,0px) + var(--drive-scroll-y,0px)), 0);
  transition: transform .5s cubic-bezier(.22,.68,0,1), filter .45s ease;
  will-change: transform, filter;
}
.blog-listing-photo:hover .blog-listing-photo-media {
  filter: saturate(1.05) contrast(1.02);
}
.page-listagem-blog .blog-listing-photo + .sec-dep {
  position: relative;
  z-index: 10;
  margin-top: -38px;
  border-radius: 38px 38px 0 0;
}
.page-listagem-blog .acfoot {
  z-index: 11;
}

@media(max-width: 900px) {
  .blog-listing-layout {
    grid-template-columns: 1fr;
  }
  .blog-listing-side-news {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    height: auto;
  }
  .blog-listing-side-card {
    min-height: 390px;
  }
  .blog-listing-controls {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .blog-listing-controls-main {
    grid-template-columns: 1fr auto auto;
  }
  .blog-listing-controls-line {
    display: none;
  }
  .blog-listing-filter {
    width: 100%;
  }
}

@media(max-width: 768px) {
  .hero-title-blog br {
    display: none;
  }
  .hero-title-blog span {
    display: inline;
  }
  .hero--blog-listing {
    height: 75svh;
    min-height: 590px;
  }
  .hero--blog-listing .hero-body {
    padding: 106px 20px 70px;
  }
  .blog-listing-main {
    margin-top: -26px;
    border-radius: 26px 26px 0 0;
  }
  .blog-listing-shell {
    width: min(100% - 32px, 1080px);
    padding: 44px 0 62px;
  }
  .blog-listing-featured {
    min-height: 540px;
    border-radius: 18px;
  }
  .blog-listing-featured-overlay {
    background: linear-gradient(180deg, rgba(3,8,15,.05) 20%, rgba(3,8,15,.92) 100%);
  }
  .blog-listing-featured-copy {
    left: 22px;
    bottom: 24px;
    width: calc(100% - 44px);
  }
  .blog-listing-featured-copy h2 {
    margin-bottom: 12px;
    font-size: 23px;
    line-height: 1.08 !important;
  }
  .blog-listing-featured-copy p {
    font-size: 13px;
  }
  .blog-listing-banner {
    margin: 36px 0 48px;
  }
  .blog-listing-grid {
    grid-template-columns: 1fr;
  }
  .blog-listing-card-media {
    min-height: 250px;
  }
  .blog-listing-card-copy p {
    min-height: 0;
  }
  .blog-listing-side-news {
    grid-template-columns: 1fr;
  }
  .blog-listing-side-card {
    min-height: 390px;
  }
  .blog-listing-controls {
    grid-template-columns: 1fr;
  }
  .blog-listing-controls-main {
    grid-template-columns: 1fr auto;
  }
  .blog-listing-more {
    justify-self: start;
    padding-left: 0;
  }
  .blog-listing-nav {
    justify-self: end;
  }
  .page-listagem-blog .sec-blog--listing-more,
  .page-listagem-blog .sec-blog--listing-more#blog {
    width: 100%;
    margin-left: 0;
    padding: 58px 0 10px !important;
    transform: none;
  }
  .page-listagem-blog .sec-blog--listing-more .wrap {
    padding: 0;
  }
  .page-listagem-blog .blog-listing-form {
    border-radius: 26px 26px 0 0;
  }
  .blog-listing-photo {
    height: 280px;
    margin-top: -26px;
    border-radius: 26px 26px 0 0;
  }
  .page-listagem-blog .blog-listing-photo + .sec-dep {
    margin-top: -26px;
    border-radius: 26px 26px 0 0;
  }
}

/* Ajustes finais da página de vistos após os estilos compartilhados do visto 494. */
body.page-visto main > section.visto-first-step {
  padding-top: 86px !important;
  padding-bottom: 0 !important;
}
body.page-visto .visto-reasons-block.v494-modern-block--criteria {
  width: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.page-visto .visto-reasons-block.v494-modern-block--criteria::before {
  content: none;
}
body.page-visto .visto-reasons-block.v494-modern-block--criteria:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
body.page-visto .visto-reasons.v494-check-list--criteria {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}
body.page-visto .visto-reasons.v494-check-list--criteria li {
  min-width: 0;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 22px;
  border-radius: 18px;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.08;
  row-gap: 0;
  text-align: center !important;
  text-transform: uppercase;
  opacity: 1;
  transform: none;
}
body.page-visto .visto-reasons.v494-check-list--criteria li::before,
body.page-visto .visto-reasons.v494-check-list--criteria li::after {
  content: none;
  display: none;
}
body.page-visto .visto-reasons.v494-check-list--criteria li:nth-child(1) {
  background: #a60000;
  border-color: #a60000;
  color: #fff;
  box-shadow: 0 16px 34px rgba(166,0,0,.16);
}
body.page-visto .visto-reasons.v494-check-list--criteria li:nth-child(2) {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
  box-shadow: 0 16px 34px rgba(20,28,62,.16);
}
body.page-visto .visto-reasons.v494-check-list--criteria li:nth-child(3) {
  background: #ed1c24;
  border-color: #ed1c24;
  color: #fff;
  box-shadow: 0 16px 34px rgba(215,26,33,.16);
}
body.page-visto .visto-reasons.v494-check-list--criteria li:nth-child(4) {
  background: #f7f3f2;
  border-color: #e8dfdd;
  color: #171717;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
}
body.page-visto .visto-reasons.v494-check-list--criteria li:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 58px rgba(13,13,15,.14);
}

@media(max-width: 900px) {
  body.page-visto .visto-reasons.v494-check-list--criteria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 768px) {
  body.page-visto main > section.visto-first-step {
    padding-top: 64px !important;
    padding-bottom: 0 !important;
  }
  body.page-visto .visto-reasons.v494-check-list--criteria {
    gap: 12px;
  }
  body.page-visto .visto-reasons.v494-check-list--criteria li {
    min-height: 150px;
    padding: 22px 16px;
    font-size: 14px;
  }
}

@media(max-width: 520px) {
  body.page-visto .visto-reasons.v494-check-list--criteria {
    grid-template-columns: 1fr;
    max-width: 340px;
  }
  body.page-visto .visto-reasons.v494-check-list--criteria li {
    min-height: 132px;
  }
}

/* =========================================================
   PÁGINA VISTOS PARA A AUSTRÁLIA
   ========================================================= */
.hero--visto-australia,
.hero--visto-novazelandia {
  height: 75vh !important;
  min-height: 75vh !important;
  justify-content: center;
}
.hero--visto-australia .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-vistos-para-australia-1.webp');
  background-position: center 48%;
  background-size: cover;
  opacity: .96;
  filter: saturate(.88) contrast(1.04);
}
.hero--visto-australia.hero--visto-novazelandia .hero-bg {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/hero-vistos-para-nova-zelandia-1-1.webp');
  background-position: center 48%;
  background-size: cover;
  opacity: .96;
  filter: saturate(.88) contrast(1.04);
}
.hero--visto-australia .hero-overlay,
.hero--visto-novazelandia .hero-overlay {
  background:
    linear-gradient(180deg, rgba(5,10,18,.5) 0%, rgba(12,18,28,.48) 38%, rgba(139,0,8,.72) 72%, rgba(215,26,33,.99) 100%),
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.1), transparent 38%);
}
.hero--visto-australia .hero-body,
.hero--visto-novazelandia .hero-body {
  max-width: 1100px;
  padding: 112px 24px 58px;
}
.hero--visto-australia .hero-body h1,
.hero--visto-novazelandia .hero-body h1 {
  max-width: 940px;
}
@media (min-width: 769px) {
  .hero-title-visto-au br,
  .hero-title-visto-nz br {
    display: block;
  }
}
.hero--visto-australia .hero-sub,
.hero--visto-novazelandia .hero-sub {
  max-width: 880px;
}
.hero--visto-australia .hero-cta,
.hero--visto-novazelandia .hero-cta {
  flex-direction: column;
  align-items: center;
}
.hero--visto-australia .hero-cta::before,
.hero--visto-novazelandia .hero-cta::before {
  content: "";
  width: 112px;
  height: 4px;
  margin: 0 auto 26px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #ed1c24 50%, transparent);
  box-shadow: 0 0 22px rgba(215,26,33,.5);
}

body.page-visto-australia main > section.vau-intro,
body.page-visto-novazelandia main > section.vau-intro {
  position: relative;
  z-index: 8;
  overflow: hidden;
  background: #fff;
  padding-top: 86px !important;
  padding-bottom: 150px !important;
}
body.page-visto-australia main > section.parapara,
body.page-visto-novazelandia main > section.parapara {
  margin-top: -70px;
}
body.page-visto-australia .acfoot,
body.page-visto-novazelandia .acfoot {
  margin-top: -70px;
}
.vau-narrow {
  max-width: 1040px;
}
.vau-intro .sec-head h2 {
  max-width: 720px;
}
.vau-intro .sec-head p {
  max-width: 900px;
  margin-top: 22px;
  color: #555;
  font-size: 16px;
}
.vau-form {
  max-width: 780px;
  margin: 0 auto;
}
.vau-form .form-copy {
  text-align: center;
  margin-bottom: 30px;
}
.vau-form .form-text h2 {
  max-width: 720px;
  margin: 0 auto 18px;
  text-transform: none !important;
}
.vau-form .form-text p {
  max-width: 650px;
  margin: 0 auto;
  color: #555;
}
.vau-form .form-shell {
  width: min(100%, 720px);
  margin: 0 auto;
  background: rgba(255,255,255,.42);
  border: 1.5px solid rgba(255,255,255,.96);
  box-shadow: 0 24px 58px rgba(18,18,24,.08);
}
.vau-form .form-field label {
  color: #242427;
}
.vau-form .form-field input,
.vau-form .form-field select {
  background: #fff;
  border-color: rgba(18,18,24,.16);
  color: #222;
}
.vau-form .ac-form button {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.vau-form .ac-form button:hover,
.vau-form .ac-form button:focus-visible {
  background: #fff;
  border-color: var(--red);
  color: var(--red);
}
.vau-form-section {
  z-index: 9;
}
.vau-form-section .form-text h2 {
  text-transform: none !important;
}
.vau-form-section .form-particles {
  display: none;
}
.vau-title-break span {
  display: inline-block;
  white-space: nowrap;
}

.v494-title-break span,
.curso-title-break span,
.familia-title-break span,
.qual-title-break span,
.sponsor-title-break span,
.form-title-break span {
  display: inline-block;
  white-space: nowrap;
}

@media (min-width: 769px) {
  body .form-text > h2.form-title-break {
    max-width: 1080px !important;
  }

  body .familia-head > h2.familia-title-break {
    max-width: 1040px !important;
    font-size: clamp(34px, 3vw, 50px) !important;
  }

  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) span {
    display: inline-block !important;
    white-space: nowrap !important;
  }

  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) br {
    display: block !important;
  }

  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) br + span::before {
    content: none !important;
  }
}

body.page-visto-australia main > section.vau-photo,
body.page-visto-novazelandia main > section.vau-photo {
  position: relative;
  z-index: 9;
  padding: 0 !important;
  background: #fff;
}
.vau-photo .drive-banner {
  width: 100%;
  min-height: 430px;
  margin: 0 0 -45px;
  border-radius: 34px;
  box-shadow: none;
}
.vau-photo .drive-banner-media {
  inset: -56px 0;
}
.vau-photo--sydney .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/intercambio-na-australia-1.webp');
  background-position: center 54%;
}
.vau-photo--perth {
  background: #fff !important;
}
.vau-photo--perth .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-paralax-intercambio-em-perth-australia-1.webp');
  background-position: center 48%;
}
.vau-photo--gold-coast {
  background: #eceaea !important;
}
.vau-photo--gold-coast .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/imagem-paralax-intercambio-em-gold-coast-australia-1-1.webp');
  background-position: center 48%;
}
.vau-photo--auckland .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/paralax-intercambio-nova-zelandia-1.webp');
  background-position: center 48%;
}
.vau-photo--nz-landscape .drive-banner-media {
  background-image: url('https://australiancentre.com.br/wp-content/uploads/2026/08/paralax-tudo-intercambio-nova-zelandia-1.webp');
  background-position: center 52%;
}
.vau-photo--final .drive-banner {
  margin-bottom: 0;
}
.vau-photo .drive-banner::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.14));
}

body.page-visto-australia main > section.vau-visas,
body.page-visto-novazelandia main > section.vau-visas {
  position: relative;
  z-index: 10;
  padding-top: 112px !important;
  padding-bottom: 130px !important;
}
.vau-visas--white {
  background: #fff;
}
.vau-visas--gray {
  background: #eceaea;
}
.vau-visas--navy {
  background: #122357;
}
.vau-visas--navy .vau-visa h2,
.vau-visas--navy .vau-visa h2 .h2-mask-inner,
.vau-visas--navy .vau-visa h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.vau-visas--navy .vau-visa li {
  color: rgba(255,255,255,.92);
  -webkit-text-fill-color: rgba(255,255,255,.92);
}
.vau-visas--red {
  background: var(--red);
}
.vau-visas--red .vau-visa h2,
.vau-visas--red .vau-visa h2 .h2-mask-inner,
.vau-visas--red .vau-visa h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.vau-visas--red .vau-visa li {
  color: rgba(255,255,255,.92);
  -webkit-text-fill-color: rgba(255,255,255,.92);
}
.vau-visas--red .vau-visa .btn-dark {
  font-size: 12px;
  padding: 13px 24px;
}
body.page-visto-australia main > section.vau-visas--last,
body.page-visto-novazelandia main > section.vau-visas--last {
  padding-bottom: 160px !important;
}
.vau-content {
  max-width: 1040px;
}
.vau-visa {
  max-width: 900px;
  margin: 0 auto;
}
.vau-visa + .vau-visa {
  margin-top: 120px;
}
.vau-visa h2 {
  max-width: 850px;
  margin: 0 auto 24px;
  color: #050505;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .93 !important;
  text-align: center;
  text-transform: none !important;
  text-wrap: balance;
}
.vau-visa h3 {
  max-width: 780px;
  margin: 0 auto 28px;
  color: #ed1c24;
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 600;
  line-height: 1 !important;
  text-align: center;
  text-transform: none !important;
  text-wrap: balance;
}
.vau-visa ul + h3 {
  margin-top: 54px;
}
.vau-visa ul {
  max-width: 820px;
  margin: 0 auto;
  padding-left: 24px;
}
.vau-visa li {
  color: #555;
  font-size: 16px;
  line-height: 1.52;
  text-align: left;
}
.vau-visa .section-cta {
  margin-top: 48px;
}
.vau-visa .btn-red {
  font-size: 12px;
  padding: 13px 24px;
}

@supports (height: 75svh) {
  .hero--visto-australia,
  .hero--visto-novazelandia {
    height: 75svh !important;
    min-height: 75svh !important;
  }
}

@media(max-width: 768px) {
  .hero-title-visto-au br,
  .hero-title-visto-nz br {
    display: none;
  }
  .hero-title-visto-au span,
  .hero-title-visto-nz span {
    display: inline;
  }
  .hero--visto-australia,
  .hero--visto-novazelandia {
    height: 75svh !important;
    min-height: 75svh !important;
  }
  .hero--visto-australia .hero-bg,
  .hero--visto-novazelandia .hero-bg {
    inset: -24px;
    background-position: 46% center;
  }
  .hero--visto-australia .hero-body,
  .hero--visto-novazelandia .hero-body {
    padding: 96px 18px 50px;
  }
  body.page-visto-australia main > section.vau-intro,
  body.page-visto-novazelandia main > section.vau-intro {
    padding-top: 64px !important;
    padding-bottom: 96px !important;
  }
  body.page-visto-australia main > section.parapara,
  body.page-visto-novazelandia main > section.parapara {
    margin-top: -40px;
  }
  body.page-visto-australia .acfoot,
  body.page-visto-novazelandia .acfoot {
    margin-top: -40px;
  }
  .vau-intro .sec-head {
    margin-bottom: 68px;
  }
  .vau-intro .sec-head p {
    font-size: 14px;
  }
  .vau-form .form-text h2 {
    max-width: 350px;
  }
  .vau-form .form-text p {
    font-size: 14px;
  }
  .vau-photo .drive-banner {
    min-height: 300px;
    margin-bottom: -25px;
    border-radius: 26px;
  }
  .vau-photo .drive-banner-media {
    inset: -54px -12px;
  }
  body.page-visto-australia main > section.vau-visas,
  body.page-visto-novazelandia main > section.vau-visas {
    padding-top: 76px !important;
    padding-bottom: 90px !important;
  }
  body.page-visto-australia main > section.vau-visas--last,
  body.page-visto-novazelandia main > section.vau-visas--last {
    padding-bottom: 110px !important;
  }
  .vau-content {
    padding-left: 20px;
    padding-right: 20px;
  }
  .vau-visa + .vau-visa {
    margin-top: 88px;
  }
  .vau-visa h2 {
    font-size: clamp(30px, 9vw, 42px);
  }
  .vau-visa h3 {
    margin-bottom: 22px;
    font-size: 23px;
  }
  .vau-visa ul + h3 {
    margin-top: 42px;
  }
  .vau-visa ul {
    padding-left: 20px;
  }
  .vau-visa li {
    font-size: 14px;
    line-height: 1.48;
  }
}

/* Desktop largo: títulos de seção ganham largura sem alterar blocos de texto. */
@media (min-width: 1525px) {
  :root {
    --ac-wide-title: 900px;
    --ac-wide-hero-h1: clamp(40px, 3vw, 64px);
    --ac-wide-h2: clamp(42px, 3.2vw, 56px);
    --ac-wide-h3: clamp(28px, 2.15vw, 38px);
    --ac-wide-h4: clamp(20px, 1.45vw, 26px);
  }

  .hero-body h1,
  .pa-title {
    max-width: 1100px !important;
    font-size: var(--ac-wide-hero-h1) !important;
    line-height: 1.1 !important;
  }

  body :where(
    .sec-head h2,
    .blog-hdr h2,
    .faq-left h2,
    .custo-text h2,
    .alife-copy h2,
    .g8-copy h2,
    .imig-lead h2,
    .cert-head h2,
    .support-head h2,
    .support-copy-block h2,
    .team-page-head h2,
    .team-group-head h2,
    .sponsor-head h2,
    .imig-qual-head h2,
    .familia-head h2,
    .sobre-video-head h2,
    .sobre-copy .sobre-intro-title,
    .curso-copy-block h2,
    .support-content-wrap .sec-head h2,
    .contato-intro .sec-head h2,
    .visto-first-step .sec-head h2,
    .visto-why .sec-head h2,
    .v494-copy h2,
    .v494-info .sec-head h2,
    .v494-modern-block--benefits .sec-head h2,
    .v494-modern-block--agent-text h2,
    .vau-intro .sec-head h2,
    .vau-visa h2,
    .blog-listing-heading h2,
    .page-listagem-blog .sec-blog--listing-more .blog-hdr h2
  ) {
    max-width: var(--ac-wide-title) !important;
    font-size: var(--ac-wide-h2) !important;
    line-height: .98 !important;
    text-wrap: balance;
  }

  body :where(
    .sydney-copy h3,
    .v494-copy h3,
    .v494-modern-block--text h3,
    .vau-visa h3,
    .contato-topic-head h2
  ) {
    max-width: var(--ac-wide-title) !important;
    font-size: var(--ac-wide-h3) !important;
    line-height: 1.04 !important;
    text-wrap: balance;
  }

  body :where(
    .curso-copy h4,
    .support-office-legend
  ) {
    max-width: var(--ac-wide-title) !important;
    font-size: var(--ac-wide-h4) !important;
    line-height: 1.12 !important;
    text-wrap: balance;
  }

  html body.page-visto-australia main :where(
    .vau-intro .sec-head h2,
    .vau-visa h2
  ),
  html body.page-visto-novazelandia main :where(
    .vau-intro .sec-head h2,
    .vau-visa h2
  ) {
    max-width: var(--ac-wide-title) !important;
    font-size: var(--ac-wide-h2) !important;
    line-height: .98 !important;
  }
}

/* Parágrafos editoriais abaixo de títulos: padrão único, sem atingir cards/caixas. */
:root {
  --ac-editorial-p-size: 16px;
  --ac-editorial-p-line: 1.68;
  --ac-editorial-p-weight: 400;
  --ac-editorial-copy-width: 1040px;
}

body :where(
  .sec-head > p,
  .form-text > p,
  .sydney-copy > p,
  .imig-lead > p,
  .alife-copy > p,
  .g8-copy > p,
  .curso-copy > p,
  .custo-text > p,
  .faq-left > p,
  .blog-hdr > p,
  .sec-cidades-au .sec-head > p,
  .success-steps .sec-head > p,
  .sponsor-head > p,
  .imig-qual-head > p,
  .familia-head > p,
  .team-page-head > p,
  .support-head > p,
  .support-content-wrap .sec-head > p,
  .support-copy-block > p,
  .sobre-copy > p,
  .sobre-video-head > p,
  .contato-intro .sec-head > p,
  .contato-copy > p,
  .v494-copy > p,
  .v494-text-copy > p,
  .v494-criteria-copy > p,
  .v494-modern-block--text .v494-block-head p,
  .v494-modern-block--agent-text .v494-agent-copy > p,
  .vau-intro .sec-head > p,
  .vau-form .form-text > p,
  .blog-listing-featured-copy > p,
  .page-postagem-aberta .pa-content > p
) {
  font-size: var(--ac-editorial-p-size) !important;
  line-height: var(--ac-editorial-p-line) !important;
  font-weight: var(--ac-editorial-p-weight) !important;
}

body.page-visto494 :where(
  .v494-modern-block--text .v494-block-head,
  .v494-text-copy,
  .v494-criteria-copy
) {
  width: min(1040px, 100%) !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body :where(
  .v494-text-copy > ul,
  .v494-criteria-copy > ul,
  .v494-copy > ul,
  .v494-copy > ol,
  .curso-copy > ul,
  .page-postagem-aberta .pa-content > ul
) {
  box-sizing: border-box;
  width: min(var(--ac-editorial-copy-width), 100%) !important;
  max-width: var(--ac-editorial-copy-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  text-align: left !important;
}

body :where(
  .v494-text-copy > ul > li,
  .v494-criteria-copy > ul > li,
  .v494-copy > ul > li,
  .v494-copy > ol > li,
  .curso-copy > ul > li,
  .page-postagem-aberta .pa-content > ul > li
) {
  font-size: var(--ac-editorial-p-size) !important;
  line-height: var(--ac-editorial-p-line) !important;
  font-weight: var(--ac-editorial-p-weight) !important;
}

body:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .sydney-copy > p {
  width: min(var(--ac-editorial-copy-width), 100%) !important;
  max-width: var(--ac-editorial-copy-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

body.page-visto-australia .vau-visa > ul,
body.page-visto-novazelandia .vau-visa > ul {
  box-sizing: border-box;
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  text-align: left !important;
}

body.page-visto-australia .vau-visa > ul > li,
body.page-visto-novazelandia .vau-visa > ul > li {
  font-size: var(--ac-editorial-p-size) !important;
  line-height: var(--ac-editorial-p-line) !important;
  font-weight: var(--ac-editorial-p-weight) !important;
}

/* H3 editoriais fora de cards/caixas. */
body :where(
  .sydney-copy > h3,
  .support-copy-block > h3,
  .contato-topic-head > h2,
  .v494-copy > h3,
  .v494-modern-block--text h3,
  .vau-visa > h3,
  .page-postagem-aberta .pa-content > h3
) {
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  body :where(
    .sec-head > p,
    .form-text > p,
    .sydney-copy > p,
    .imig-lead > p,
    .alife-copy > p,
    .g8-copy > p,
    .curso-copy > p,
    .custo-text > p,
    .faq-left > p,
    .blog-hdr > p,
    .sec-cidades-au .sec-head > p,
    .success-steps .sec-head > p,
    .sponsor-head > p,
    .imig-qual-head > p,
    .familia-head > p,
    .team-page-head > p,
    .support-head > p,
    .support-content-wrap .sec-head > p,
    .support-copy-block > p,
    .sobre-copy > p,
    .sobre-video-head > p,
    .contato-intro .sec-head > p,
    .contato-copy > p,
    .v494-copy > p,
    .v494-text-copy > p,
    .v494-criteria-copy > p,
    .v494-modern-block--text .v494-block-head p,
    .v494-modern-block--agent-text .v494-agent-copy > p,
    .vau-intro .sec-head > p,
    .vau-form .form-text > p,
    .blog-listing-featured-copy > p,
    .page-postagem-aberta .pa-content > p
  ) {
    font-size: 15px !important;
    line-height: 1.66 !important;
  }

  body :where(
    .v494-text-copy > ul > li,
    .v494-criteria-copy > ul > li,
    .v494-copy > ul > li,
    .v494-copy > ol > li,
    .v494-agent-list > li,
    .curso-copy > ul > li,
    .page-postagem-aberta .pa-content > ul > li
  ),
  body.page-visto-australia .vau-visa > ul > li,
  body.page-visto-novazelandia .vau-visa > ul > li {
    font-size: 15px !important;
    line-height: 1.66 !important;
  }
}

/* Desktop largo: heroes internos sobem de 75svh para 95svh.
   A home usa body.page-home e permanece com sua altura própria. */
@media (min-width: 1300px) {
  body:not(.page-home) .hero {
    height: 95vh !important;
    min-height: 95vh !important;
  }

  @supports (height: 95svh) {
    body:not(.page-home) .hero {
      height: 95svh !important;
      min-height: 95svh !important;
    }
  }
}

body:not(.page-home) h1 {
  font-weight: 800 !important;
}

body .hero .hero-body h1 {
  text-transform: uppercase !important;
}

.hero-title-mobile-lines {
  display: none !important;
}

@media (min-width: 769px) {
  body .hero .hero-body h1[class*="hero-title-"]:not(.hero-title-home) br {
    display: block;
  }

  body .hero .hero-body h1[class*="hero-title-"]:not(.hero-title-home) span {
    display: inline-block;
    white-space: nowrap;
  }
}

.hero-title-suporte {
  text-align: center;
}

@media (min-width: 769px) {
  .hero-title-home span {
    display: inline-block;
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  .hero-title-home span {
    display: inline;
    white-space: normal;
  }
}

@media (max-width: 768px) {
  body .hero .hero-body h1[class*="hero-title-"] span {
    display: inline;
    white-space: normal;
  }

  body .hero .hero-body h1[class*="hero-title-"] br + span::before {
    content: " ";
  }

  body:where(.page-curso-tecnico, .page-curso-eap, .page-cambridge, .page-bacharelado, .page-highschool, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol, .page-visto-recusado, .page-visto482, .page-visto485, .page-sobre) .hero-title-desktop-lines,
  body.page-curso-ingles:not(.page-cambridge, .page-bacharelado, .page-highschool, .page-curso-tecnico, .page-curso-eap, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol) .hero-title-desktop-lines {
    display: none !important;
  }

  body:where(.page-curso-tecnico, .page-curso-eap, .page-cambridge, .page-bacharelado, .page-highschool, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol, .page-visto-recusado, .page-visto482, .page-visto485, .page-sobre) .hero-title-mobile-lines,
  body:where(.page-curso-tecnico, .page-curso-eap, .page-cambridge, .page-bacharelado, .page-highschool, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol, .page-visto-recusado, .page-visto482, .page-visto485, .page-sobre) .hero-title-mobile-lines span,
  body.page-curso-ingles:not(.page-cambridge, .page-bacharelado, .page-highschool, .page-curso-tecnico, .page-curso-eap, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol) .hero-title-mobile-lines,
  body.page-curso-ingles:not(.page-cambridge, .page-bacharelado, .page-highschool, .page-curso-tecnico, .page-curso-eap, .page-ielts, .page-pos-graduacao, .page-study-abroad, .page-tesol) .hero-title-mobile-lines span {
    display: block !important;
    white-space: normal !important;
  }
}

/* H2 editoriais fora de cards/caixas: escala única em todas as páginas. */
:root {
  --ac-section-title-width: 900px;
  --ac-section-h2: clamp(36px, 3.2vw, 56px);
  --ac-section-h3: clamp(24px, 2.8vw, 36px);
  --ac-section-h2-line: 1.06;
}

@media (min-width: 1525px) {
  :root {
    --ac-section-title-width: var(--ac-wide-title, 900px);
    --ac-section-h2: var(--ac-wide-h2, clamp(42px, 3.2vw, 56px));
  }
}

@media (max-width: 768px) {
  :root {
    --ac-section-h2: clamp(26px, 5vw, 34px);
  }
}

body :where(
  .sec-head > h2,
  .form-text > h2,
  .blog-hdr > h2,
  .sec-blog--sobre .blog-hdr > h2,
  .page-listagem-blog .sec-blog--listing-more .blog-hdr > h2,
  .sec-dep .sec-head > h2,
  .faq-left > h2,
  .support-head > h2,
  .support-copy-block > h2,
  .team-page-head > h2,
  .team-group-head > h2,
  .sponsor-head > h2,
  .imig-qual-head > h2,
  .familia-head > h2,
  .sobre-video-head > h2,
  .sobre-copy > h2,
  .curso-copy-block > h2,
  .contato-intro .sec-head > h2,
  .v494-copy > h2,
  .v494-info .sec-head > h2,
  .v494-modern-block--benefits .sec-head > h2,
  .v494-modern-block--agent-text h2,
  .vau-intro .sec-head > h2,
  .page-visto-australia main h2,
  .page-visto-novazelandia main h2,
  .vau-visa > h2,
  .blog-listing-heading > h2,
  .imig-lead h2,
  .alife-copy > h2,
  .custo-text > h2,
  .cert-head > h2
) {
  max-width: var(--ac-section-title-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: var(--ac-section-h2) !important;
  font-weight: 700 !important;
  line-height: var(--ac-section-h2-line) !important;
  text-wrap: balance;
}

/* H3 editoriais fora de cards/boxes: escala única em todas as páginas. */
body :where(
  .sydney-copy > h3,
  .support-copy-block > h3,
  .contato-topic-head > h2,
  .v494-copy > h3,
  .v494-modern-block--benefits .v494-block-head > h3,
  .v494-modern-block--criteria .v494-block-head > h3,
  .v494-modern-block--text h3,
  .vau-visa > h3,
  .page-postagem-aberta .pa-content > h3
) {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: var(--ac-section-h3) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-wrap: balance;
}

@media (min-width: 769px) {
  body :where(
    .sydney-copy > h3,
    .support-copy-block > h3,
    .contato-topic-head > h2,
    .v494-copy > h3,
    .v494-modern-block--benefits .v494-block-head > h3,
    .v494-modern-block--criteria .v494-block-head > h3,
    .v494-modern-block--text h3,
    .vau-visa > h3,
    .page-postagem-aberta .pa-content > h3
  ) {
    margin-top: 54px !important;
  }
}

body h2.h2-mask-reveal {
  padding-top: .04em !important;
  padding-bottom: .16em !important;
  line-height: 1.12 !important;
}

/* ==========================================================================
   MÁSCARA DE H2 — recorte só na vertical

   O efeito de revelação sobe o texto de dentro da caixa, então a máscara só
   precisa cortar em cima e embaixo. Com `overflow:hidden` ela cortava também
   nas laterais e decepava a última letra de qualquer título mais largo que o
   container (`.sponsor-head` tem 640px, `.familia-head` 1040px, etc.).

   `clip-path: inset(0 -100vw)` corta exatamente na mesma linha vertical que o
   `overflow:hidden` (borda = padding box, o h2 não tem borda) e abre 100vw de
   folga de cada lado — na prática, nunca corta na horizontal.

   `html`/`body` já têm `overflow-x:hidden` (linhas 5–6), então o texto que
   passa da caixa não cria barra de rolagem lateral.
   ========================================================================== */
body h2.h2-mask-reveal,
body .h2-mask-reveal {
  overflow: visible !important;
  clip-path: inset(0 -100vw) !important;
}

body.page-sobre #sobre-ac {
  padding-bottom: 147px !important;
}

body.page-sobre main > .sec-sobre-video {
  padding-top: 136px !important;
}

@media (min-width: 769px) {
  body.page-sobre #depoimentos {
    padding-top: 30px !important;
  }
}

@media (max-width: 1180px) {
  body :where(
    .support-intro-title,
    .support-near-title,
    .sobre-intro-title
  ) span {
    display: inline !important;
    white-space: normal !important;
  }

  body :where(
    .support-intro-title,
    .support-near-title,
    .sobre-intro-title
  ) br {
    display: none;
  }

  body :where(
    .support-intro-title,
    .support-near-title,
    .sobre-intro-title
  ) br + span::before {
    content: " ";
  }

  /* .contato-form-title e .contato-intro-title: mantêm 2 linhas em todo o desktop,
     colapsando só no mobile (<=768px) mais abaixo. */
}

/* Contato: títulos sempre em 2 linhas no desktop, colapsam só no mobile. */
@media (max-width: 768px) {
  .contato-form-title span,
  .contato-intro-title span {
    display: inline !important;
    white-space: normal !important;
  }
  .contato-form-title br,
  .contato-intro-title br {
    display: none;
  }
  .contato-form-title br + span::before {
    content: " ";
  }
}

/* Títulos forçados em 2 linhas no desktop, escopados por página.
   No mobile (<=768px) o <br> some e o texto volta a fluir normalmente.
   Mantidos por página para não afetar classes compartilhadas (.sec-head, .g8-copy, etc.). */
@media (max-width: 768px) {
  /* curso-ingles.html */
  body.page-curso-ingles #tudo-sobre-curso-de-ingles .sec-head h2 br,
  body.page-curso-ingles #estudar-ingles .sec-head h2 br {
    display: none;
  }
  /* equipe.html */
  body.page-equipe .equipe-form-title br {
    display: none;
  }
  body.page-equipe .team-page-title span {
    display: inline !important;
    white-space: normal !important;
  }
  body.page-equipe .team-page-title br {
    display: none;
  }
  body.page-equipe .team-page-title br + span::before {
    content: " ";
  }
  /* home.html — painel Group of Eight */
  body.page-home .g8-panel--home .g8-copy h2 br {
    display: none;
  }
  /* imigracao.html */
  body.page-imigracao #porque-ac .sec-head h2 br {
    display: none;
  }
  /* suporte.html */
  body.page-suporte .faq-left h2 br {
    display: none;
  }
  /* depoimentos.html */
  body.page-depoimentos .support-head h2 br {
    display: none;
  }
  /* visto-australia.html e visto-novazelandia.html — pré-requisitos */
  body.page-visto-australia .vau-visa h3 br {
    display: none;
  }
  /* visto494.html — título do formulário (3 linhas no desktop) */
  body.page-visto494 .form-text h2 br {
    display: none;
  }
}

/* Ajustes pontuais por página (não afetam outras páginas). */
/* home.html — mais respiro embaixo do carrossel do blog */
body.page-home .blog-swiper {
  padding-bottom: 48px;
}
/* imigracao.html — menos espaço no topo das seções de programas */
@media (min-width: 769px) {
  body.page-imigracao main > section.sec-programas,
  body.page-imigracao body > section.sec-programas,
  body.page-imigracao section.sec-programas {
    padding-top: 18px !important;
    padding-bottom: 174px !important;
  }
}
/* visto.html — parágrafo de introdução alinhado à esquerda */
body.page-visto .visto-why .sec-head p {
  text-align: left !important;
}
/* imigracao.html — remove o botão flutuante de "Orçamento Gratuito" só nesta página */
body.page-imigracao .float-budget-wrap {
  display: none !important;
}

/* =========================================================
   HOME V2 — hero listrado com camadas parallax
   Mantem o CSS antigo de .hero/.hero-cards preservado.
   ========================================================= */
body.page-home-v2 #site-header .hdr-logo img {
  display: none !important;
}

body.page-home-v2 #site-header .hdr-logo a {
  position: relative;
  display: block;
  width: 200px;
  height: 58px;
}

body.page-home-v2 #site-header .hdr-logo a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/logotipo-australian-centre-ac-1.webp') left center / contain no-repeat;
  pointer-events: none;
}

body.page-home-v2 #site-header .nav-link,
body.page-home-v2 #site-header .nav-link[style] {
  color: rgba(18, 18, 18, .68) !important;
}

body.page-home-v2 #site-header .nav-link:hover,
body.page-home-v2 #site-header .nav-item.is-open .nav-link {
  color: #111 !important;
}

body.page-home-v2 .hero-home-v2 {
  min-height: 0;
  display: block;
  background: #f7f7f5;
  color: #080808;
  isolation: isolate;
  overflow: hidden;
}

.hero-home-v2 .home-v2-bg {
  position: absolute;
  inset: -70px -42px -160px;
  z-index: 0;
  background: url('https://australiancentre.com.br/wp-content/uploads/2026/08/fundo-listrado-intercambio-na-australia-e-nova-zelandia-1.webp') center top / cover no-repeat;
  opacity: 1;
  will-change: transform;
}

.hero-home-v2 [data-home-parallax] {
  --home-parallax-x: 0px;
  --home-parallax-y: 0px;
}

.hero-home-v2 .home-v2-bg,
.hero-home-v2 .home-v2-copy,
.hero-home-v2 .home-v2-frame,
.hero-home-v2 .home-v2-girl-layer {
  transform: translate3d(var(--home-parallax-x), var(--home-parallax-y), 0);
}

.home-v2-stage {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(760px, 900px) minmax(280px, 1fr);
  align-items: center;
  gap: 0;
  width: min(100%, 1180px);
  min-height: 590px;
  margin: 0 auto;
  padding: 124px 0 68px;
}

.home-v2-copy {
  position: relative;
  z-index: 4;
  width: 900px;
  min-height: 510px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 3.2vw, 40px);
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .1);
  will-change: transform;
}

.hero-title-home-v2 {
  margin: 0 0 24px;
  color: #070707;
  font-size: clamp(34px, 3.5vw, 58px);
  font-weight: 700;
  line-height: .96;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-v2-copy p {
  max-width: 451px;
  margin: 0 0 73px;
  color: #111;
  font-size: clamp(14px, 1.45vw, 18px);
  line-height: 1.32;
  font-weight: 400;
  text-align: left !important;
}

.home-v2-btn {
  width: fit-content;
  min-height: 42px;
  padding: 12px 24px;
  font-size: 15px;
  box-shadow: 0 14px 30px rgba(215, 26, 33, .22);
}

.home-v2-media {
  position: relative;
  min-height: 370px;
  margin-top: 44px;
  margin-left: -58px;
  z-index: 5;
}

.home-v2-media img {
  display: block;
  position: absolute;
  height: auto;
  user-select: none;
  pointer-events: none;
  will-change: transform;
}

.home-v2-girl-layer {
  position: absolute;
  left: -238px;
  right: auto;
  bottom: -20px;
  z-index: 5;
  width: min(36vw, 477px);
  max-width: none;
  will-change: transform;
}

.home-v2-girl {
  position: static !important;
  width: 100%;
  max-width: none;
  filter: drop-shadow(0 28px 42px rgba(12, 18, 28, .15));
}

.home-v2-frame {
  object-fit: cover;
  box-shadow: 0 20px 42px rgba(15, 23, 42, .16);
}

.home-v2-frame--top {
  top: -104px;
  right: 30px;
  z-index: 5;
  width: 180px;
  border-radius: 24px;
}

.home-v2-frame--badge {
  top: 58px;
  right: 0;
  z-index: 6;
  width: clamp(78px, 9vw, 105px);
  border-radius: 16px;
  box-shadow: 0 18px 32px rgba(215, 26, 33, .22);
}

.home-v2-frame--bottom {
  left: -192px;
  bottom: -108px;
  z-index: 5;
  width: clamp(92px, 10vw, 118px);
  border-radius: 22px;
}

.hero-home-v2 .hero-cards {
  position: relative;
  z-index: 5;
  width: 100%;
  margin: 8px auto 0;
  border-radius: 30px 30px 0 0;
  box-shadow: 0 -12px 34px rgba(15, 23, 42, .08);
}

.hero-home-v2 .dest-card {
  aspect-ratio: 1 / .66;
}

.hero-home-v2 .dest-card-inner {
  bottom: clamp(34px, 5.2vw, 70px);
}

.hero-home-v2 .dest-card-inner h3 {
  font-size: clamp(30px, 4vw, 56px);
}

@media (min-width: 769px) and (max-width: 1060px) {
  .home-v2-stage {
    grid-template-columns: minmax(640px, 760px) minmax(260px, 1fr);
    min-height: 560px;
    padding-inline: 24px;
  }

  .home-v2-copy {
    width: 760px;
    min-height: 480px;
  }

  .home-v2-media {
    min-height: 350px;
    margin-left: -46px;
  }

  .home-v2-girl-layer {
    left: 78px;
    right: auto;
    width: 380px;
  }

  .home-v2-frame--top {
    top: -42px;
    right: 24px;
    width: 132px;
  }

  .home-v2-frame--badge {
    top: 58px;
    right: -18px;
  }
}

@media (max-width: 768px) {
  body.page-home-v2 #site-header .hdr-logo a {
    width: 134px;
    height: 44px;
  }

  .hero-home-v2 .home-v2-bg {
    inset: -50px -26px -110px;
    background-position: 54% top;
    background-size: auto 100%;
  }

  .home-v2-stage {
    display: block;
    width: min(calc(100% - 50px), 340px);
    min-height: 650px;
    gap: 0;
    margin: 105px auto 104px;
    padding: 0;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
  }

  .home-v2-copy {
    position: absolute;
    left: 0;
    right: 0;
    top: 320px;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 0 18px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: center;
    transform: none;
  }

  .hero-title-home-v2 {
    max-width: 100%;
    margin: 0 auto 16px;
    font-size: clamp(23px, 7.05vw, 31px);
    line-height: .98;
    text-align: center;
  }

  .home-v2-copy p {
    max-width: 286px;
    margin: 0 auto;
    font-size: 14px;
    line-height: var(--lh-copy);
    font-weight: 400;
    text-align: center !important;
  }

  .home-v2-media {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    min-height: 282px;
    margin: 0;
  }

  .hero-home-v2 .home-v2-girl-layer {
    left: 45%;
    right: auto;
    top: 0;
    bottom: auto;
    z-index: 3;
    width: clamp(292px, 77vw, 310px);
    transform: translateX(-50%) translate3d(var(--home-parallax-x), var(--home-parallax-y), 0);
    padding-top: 20px;
  }

  .hero-home-v2 .home-v2-girl {
    transform: translateX(-18px);
  }

  .home-v2-frame--top {
    top: -25px;
    right: 18px;
    width: 102px;
    border-radius: 10px;
  }

  .home-v2-frame--badge {
    top: 66px;
    right: -15px;
    width: 74px;
    border-radius: 8px;
  }

  .home-v2-frame--bottom {
    left: 16px;
    top: 190px;
    bottom: auto;
    width: 74px;
    border-radius: 10px;
  }

  .home-v2-btn {
    position: absolute;
    left: 50%;
    bottom: -48px;
    width: min(100%, 252px);
    justify-content: center;
    transform: translateX(-50%);
    font-size: 11px;
  }

  .home-v2-btn:hover,
  .home-v2-btn:focus-visible {
    transform: translateX(-50%) translateY(-2px);
  }

  .hero-home-v2 .hero-cards {
    margin-top: 0;
    border-radius: 26px 26px 0 0;
  }

  .hero-home-v2 .dest-card {
    aspect-ratio: 1 / .95;
  }
}

@media (max-width: 520px) {
  .home-v2-copy {
    padding: 0 18px;
  }

  .home-v2-btn {
    width: min(100%, 226px);
  }

  .hero-home-v2 .hero-cards {
    grid-template-columns: 1fr;
  }

  .hero-home-v2 .dest-card {
    aspect-ratio: 1 / 0;
    height: 350px;
  }
}
/* visto494.html — ritmo de espaçamento dos h3 igual ao das páginas de visto (AU/NZ):
   ~24px quando o h3 vem logo depois de um h2, ~54px entre seções e 28px do h3 para o parágrafo. */
body.page-visto494 #informacoes-visto494 .sec-head + .v494-block-head h3 {
  margin-top: 0 !important;
}
body.page-visto494 #area-regional-visto494 {
  padding-top: 0 !important;
}
body.page-visto494 #area-regional-visto494 > .v494-block-row:first-child {
  margin-top: -18px !important;
}
body.page-visto494 .v494-criteria-copy > p:last-child {
  margin-bottom: 0 !important;
}
body.page-visto494 #informacoes-visto494 .v494-block-head h3,
body.page-visto494 #area-regional-visto494 .v494-copy h3 {
  margin-bottom: 28px !important;
}

@media (max-width: 768px) {
  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) span {
    display: inline !important;
    white-space: normal !important;
  }

  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) br {
    display: none;
  }

  body :where(.vau-title-break, .v494-title-break, .curso-title-break, .familia-title-break, .qual-title-break, .sponsor-title-break, .form-title-break) br + span::before {
    content: " ";
  }

  body.page-visto-australia main > section#visto-turista-australia.vau-visas--navy {
    padding-top: 148px !important;
  }
}

@media (max-width: 768px) {
  body:not(.page-home) .hero-body h1 {
    font-size: clamp(27px, 3vw, 45px) !important;
    line-height: 1.1 !important;
    max-width: 360px !important;
    margin-bottom: 14px !important;
  }

  .support-hero-kicker {
    font-size: 14px;
    font-weight: 500;
    margin: 0 0 10px;
  }
}

body.page-curso-ingles .qualification-card {
  width: min(840px, 100%) !important;
  margin: 28px auto 36px !important;
  padding: 6px !important;
  border: 4px solid #e30613 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #e30613 !important;
  box-shadow: 0 26px 58px rgba(215, 26, 33, .22), 0 10px 22px rgba(0, 0, 0, .08) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body.page-curso-ingles .qualification-card:hover {
  transform: translateY(-2px);
  border-color: #ff2330 !important;
  box-shadow: 0 34px 70px rgba(215, 26, 33, .28), 0 14px 30px rgba(0, 0, 0, .10) !important;
}

body.page-curso-ingles .qualification-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.28 !important;
  background: #d70f1b !important;
}

body.page-curso-ingles .qualification-table th,
body.page-curso-ingles .qualification-table td {
  border: 0 !important;
  border-right: 1px solid rgba(255, 255, 255, .48) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .42) !important;
  padding: 14px 16px !important;
  text-align: left !important;
  vertical-align: middle !important;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important;
}

body.page-curso-ingles .qualification-table th:last-child,
body.page-curso-ingles .qualification-table td:last-child {
  border-right: 0 !important;
}

body.page-curso-ingles .qualification-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.page-curso-ingles .qualification-table th {
  background: #f01824 !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .34) !important;
}

body.page-curso-ingles .qualification-table tbody tr:nth-child(odd) td {
  background: #df101c !important;
}

body.page-curso-ingles .qualification-table tbody tr:nth-child(even) td {
  background: #c90814 !important;
}

body.page-curso-ingles .qualification-table tbody tr:hover td {
  background: #a9040e !important;
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, .055) !important;
}

body.page-curso-ingles .qualification-table td:first-child,
body.page-curso-ingles .qualification-table th:first-child {
  width: 104px !important;
  text-align: center !important;
  font-weight: 900 !important;
}

@media (max-width: 768px) {
  body.page-curso-ingles .qualification-card {
    width: calc(100% - 28px) !important;
    margin: 22px auto 30px !important;
    padding: 5px !important;
    border-width: 3px !important;
    border-radius: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    position: relative;
  }

  body.page-curso-ingles .qualification-card::-webkit-scrollbar {
    display: none;
  }

  body.page-curso-ingles .qualification-card::after {
    content: "";
    position: sticky;
    right: 0;
    top: 0;
    display: block;
    width: 34px;
    height: 0;
    pointer-events: none;
    box-shadow: -26px 0 28px rgba(163, 0, 10, .28);
  }

  body.page-curso-ingles .qualification-table {
    min-width: max(660px, calc(100vw + 190px)) !important;
    font-size: 12px !important;
    scroll-snap-align: start;
  }

  body.page-curso-ingles .qualification-table th,
  body.page-curso-ingles .qualification-table td {
    padding: 12px 13px !important;
  }

  body.page-curso-ingles .qualification-table th:nth-child(1),
  body.page-curso-ingles .qualification-table td:nth-child(1) {
    min-width: 82px;
  }

  body.page-curso-ingles .qualification-table th:nth-child(2),
  body.page-curso-ingles .qualification-table td:nth-child(2) {
    min-width: 160px;
  }

  body.page-curso-ingles .qualification-table th:nth-child(3),
  body.page-curso-ingles .qualification-table td:nth-child(3) {
    min-width: 400px;
  }
}

/* Tabelas de equivalência (matriz de 4 colunas) — curso-tecnico */
body.page-curso-ingles .qualification-table--matrix td:first-child,
body.page-curso-ingles .qualification-table--matrix th:first-child {
  width: auto !important;
  min-width: 200px !important;
  text-align: left !important;
  font-weight: 900 !important;
}

body.page-curso-ingles .qualification-table--matrix td {
  vertical-align: middle !important;
}

body.page-curso-ingles .qualification-note {
  color: rgba(255, 255, 255, .92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  width: auto !important;
  max-width: none !important;
  margin: 8px 6px 4px !important;
  padding: 0 10px !important;
}

@media (max-width: 768px) {
  body.page-curso-ingles .qualification-table--matrix th:nth-child(1),
  body.page-curso-ingles .qualification-table--matrix td:nth-child(1) {
    min-width: 150px;
  }
  body.page-curso-ingles .qualification-table--matrix th:nth-child(2),
  body.page-curso-ingles .qualification-table--matrix td:nth-child(2) {
    min-width: 120px;
  }
  body.page-curso-ingles .qualification-table--matrix th:nth-child(3),
  body.page-curso-ingles .qualification-table--matrix td:nth-child(3) {
    min-width: 180px;
  }
  body.page-curso-ingles .qualification-table--matrix th:nth-child(4),
  body.page-curso-ingles .qualification-table--matrix td:nth-child(4) {
    min-width: 180px;
  }
}

/* ==========================================================================
   HERO — centralização vertical do conteúdo (desktop)

   Problema: `.hero{justify-content:flex-start}` (regra base, mais abaixo no
   arquivo) tinha a mesma especificidade dos modificadores `.hero--sydney`
   etc. e vencia por ordem. O texto ficava preso ao topo pelo `padding-top`
   do `.hero-body`, o que só "parecia" centralizado enquanto o hero media
   75vh. A partir de 1300px a regra `body:not(.page-home) .hero{height:95svh}`
   estica o hero e a folga toda sobra embaixo — o texto "sobe".

   Solução: centralizar de fato no desktop. `safe center` evita que o topo
   do conteúdo suma sob o header em viewports muito baixas.
   Exceções: home e home2 — têm `.hero-cards` ancorados na base do hero.
   (visto.html tem cards, mas fora do hero, então entra na regra normal.)
   ========================================================================== */
@media (min-width: 769px) {
  body:not(.page-home):not(.page-home-v2) .hero {
    justify-content: center;
    justify-content: safe center;
  }
}

/* ==========================================================================
   HERO — overlay degradê padronizado

   Antes cada hero tinha sua própria receita (15 variações). As opacidades de
   vermelho eram muito diferentes: nos destinos (.hero--sydney) o vermelho já
   entrava com 58% no topo e chegava a 74% na metade, apagando a foto da
   cidade. Em .hero--visto-australia o topo ficava neutro até quase a metade
   e a imagem aparecia.

   Aqui todas passam a usar a receita de .hero--visto-australia: topo neutro
   (escurece só o suficiente para o texto branco ler), a virada para o
   vermelho começa por volta da metade da altura, e a base fecha em vermelho
   sólido para casar com a seção branca arredondada logo abaixo.

   Para calibrar, mexa só nas paradas de --hero-overlay.
   Home e home2 ficam de fora — usam layout próprio, sem foto de fundo.
   ========================================================================== */
:root {
  --hero-overlay:
    linear-gradient(180deg,
      rgba(5, 10, 18, .50) 0%,
      rgba(12, 18, 28, .46) 50%,
      rgba(150, 6, 12, .80) 78%,
      rgba(215, 26, 33, .99) 100%),
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .10), transparent 38%);
}

body:not(.page-home):not(.page-home-v2) .hero .hero-overlay {
  background: var(--hero-overlay);
}

/* ==========================================================================
   HERO — tracinho entre o texto e o botão

   Padroniza em todas as páginas internas o detalhe que já existia em
   .hero--visto-australia e .hero--especialistas: um traço vermelho curto
   entre o parágrafo e o CTA, que cresce a partir do centro 1s depois de a
   página carregar.

   O `.hero-cta` vira coluna para o ::before ficar acima do botão (todas as
   páginas têm um único botão no hero). O `margin-top` negativo compensa
   parte da altura acrescentada para não empurrar o botão contra a seção
   seguinte — o ganho líquido de altura fica em ~14px.
   ========================================================================== */
@media (min-width: 769px) {
  body:not(.page-home):not(.page-home-v2) .hero .hero-cta {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  body:not(.page-home):not(.page-home-v2) .hero .hero-cta::before {
    content: "";
    display: block;
    width: 112px;
    height: 4px;
    margin: -10px auto 20px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #ed1c24 50%, transparent);
    box-shadow: 0 0 22px rgba(215, 26, 33, .5);
    transform: scaleX(.28);
    transform-origin: center;
    opacity: .72;
    animation: heroCtaLineGrow 1.15s cubic-bezier(.22, .68, 0, 1) 1s forwards;
  }
}

@keyframes heroCtaLineGrow {
  from { transform: scaleX(.28); opacity: .72; }
  to   { transform: scaleX(1);   opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.page-home):not(.page-home-v2) .hero .hero-cta::before {
    animation: none;
    transform: scaleX(1);
    opacity: 1;
  }
}

/* ==========================================================================
   HERO — nunca deixar o conteúdo passar por cima da seção seguinte

   Os heroes internos têm altura fixa (75vh, ou 95svh acima de 1300px). Em
   telas baixas (notebooks de 720/768px de altura) o texto + botão ficavam
   mais altos que essa caixa e invadiam a seção branca de baixo — em
   curso-ingles a 1280x720 o botão entrava 116px dentro do conteúdo.

   Trocando `height` por `auto` o valor antigo continua valendo como piso
   (todas as regras de altura definem `min-height` junto com `height`), mas
   o hero passa a crescer quando o conteúdo precisa. Em telas normais nada
   muda: o conteúdo cabe e a altura fica no mínimo definido.
   ========================================================================== */
@media (min-width: 769px) {
  body:not(.page-home):not(.page-home-v2) .hero {
    height: auto !important;
  }
}

/* ==========================================================================
   POP-UPS — textos alinhados à esquerda

   A linha 588 tem um `p{text-align:center!important}` global que vale para o
   site inteiro. Dentro dos pop-ups isso deixava o parágrafo centralizado
   enquanto o título, o kicker e os botões ficavam à esquerda. Como a regra
   global usa !important, o override precisa usar !important também.
   ========================================================================== */
:is(.plus-modal, .smv-modal, .fpm-modal, .custo-lead-modal, .blog-share-popup)
:is(p, h2, h3, h4, li, .plus-modal-kicker, .smv-modal__kicker, .smv-modal__title) {
  text-align: left !important;
}

.plus-modal-card,
.smv-modal__content,
.fpm-dialog,
.custo-lead-dialog {
  text-align: left !important;
}

/* ==========================================================================
   POP-UPS — um botão só, que leva ao formulário da própria página

   Os cards traziam dois botões com o mesmo destino (em vários casos com o
   texto repetido, "Falar com especialista" duas vezes). Fica só o vermelho;
   o clique dele fecha o pop-up e rola até a seção do formulário — ver
   `plusModalLink` em assets/main.js.
   ========================================================================== */
.plus-modal-actions .btn-white {
  display: none !important;
}

.plus-modal-actions {
  margin-top: 22px;
}

/* alvo do scroll: compensa o header fixo ao parar na seção */
#form-cta,
#entrevista-online {
  scroll-margin-top: 96px;
}

/* ==========================================================================
   BOTÃO "+" SOBRE FUNDO VERMELHO — bolinha branca, sinal vermelho

   O `.btn-plus` padrão é círculo vermelho com o "+" branco. Nos cards de
   fundo vermelho isso ficava vermelho-no-vermelho e o círculo sumia.
   Aqui os cards vermelhos invertem: fundo branco, sinal vermelho.
   ========================================================================== */
:is(.contato-program-card:not(.contato-program-card--gray):not(.contato-program-card--light), .prog-card-red) .btn-plus {
  --plus-bg: #fff;
  --plus-color: var(--red);
  background: #fff !important;
  color: var(--red) !important;
  border-color: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18) !important;
}

:is(.contato-program-card:not(.contato-program-card--gray):not(.contato-program-card--light), .prog-card-red) .btn-plus::before {
  border-color: rgba(255, 255, 255, .55) !important;
}

:is(.contato-program-card:not(.contato-program-card--gray):not(.contato-program-card--light), .prog-card-red) .btn-plus::after {
  border-color: rgba(255, 255, 255, .85) !important;
}

/* no hover inverte de novo: círculo vazado com o "+" branco */
:is(.contato-program-card:not(.contato-program-card--gray):not(.contato-program-card--light), .prog-card-red) .btn-plus:hover,
:is(.contato-program-card:not(.contato-program-card--gray):not(.contato-program-card--light), .prog-card-red) .btn-plus:focus-visible {
  background: transparent !important;
  color: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

/* variantes que NÃO são vermelhas voltam ao padrão */
:is(.contato-program-card--gray, .contato-program-card--light) .btn-plus {
  --plus-bg: var(--red);
  --plus-color: #fff;
  background: var(--red) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* botão vermelho: no hover, tanto o sinal quanto os contornos ficam vermelhos */
:is(.contato-program-card--gray, .contato-program-card--light) .btn-plus:hover,
:is(.contato-program-card--gray, .contato-program-card--light) .btn-plus:focus-visible {
  background: transparent !important;
  color: var(--red) !important;
  border-color: var(--red) !important;
  box-shadow: none !important;
}

/* ==========================================================================
   POP-UPS — botão de fechar padronizado

   O site tinha três desenhos diferentes de "X": bolinha cinza-claro
   (.plus-modal-close, .custo-lead-close), bolinha branca (.vmodal-close) e
   bolinha escura (.smv-modal__close, .fpm-close). Todos passam a usar a
   bolinha escura com o X branco.

   `all:unset` zera o visual nativo do <button> antes de remontar o botão —
   por isso ele vem primeiro. Os `!important` são necessários porque as regras
   antigas de .smv-modal__close e .fpm-close também usam !important.
   ========================================================================== */
.plus-modal-close,
.smv-modal__close,
.fpm-close,
.custo-lead-close,
.vmodal-close {
  all: unset !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: #222 !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .25) !important;
  transition: transform .2s ease, background .2s ease !important;
  z-index: 10 !important;
}

.plus-modal-close:hover,
.smv-modal__close:hover,
.fpm-close:hover,
.custo-lead-close:hover,
.vmodal-close:hover {
  background: #000 !important;
  transform: translateY(-1px) !important;
}

.plus-modal-close:focus-visible,
.smv-modal__close:focus-visible,
.fpm-close:focus-visible,
.custo-lead-close:focus-visible,
.vmodal-close:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 2px !important;
}

/* O modal de vídeo é a exceção de POSIÇÃO: o X fica acima do player, fora do
   iframe (senão ele cobriria os controles do YouTube). O desenho é o mesmo. */
.vmodal .vmodal-close {
  top: -48px !important;
  right: 0 !important;
}

/* ==========================================================================
   POP-UPS — padrão único (o mesmo do .plus-modal usado em contato.html)

   Os dois pop-ups próprios da especialistas.html (.smv-modal, .fpm-modal)
   tinham outro desenho: título vermelho, sem eyebrow e com uma faixa vermelha
   decorativa no rodapé — que ainda por cima parecia um botão gigante quebrado.
   Agora seguem o mesmo padrão dos outros pop-ups do site:

     · faixa vermelha em CIMA (o mesmo ::before do .plus-modal-card);
     · eyebrow (.plus-modal-kicker) antes do título;
     · título escuro;
     · CTA vermelho no fim do conteúdo, sem faixa embaixo;
     · X escuro no canto (bloco anterior).

   As classes originais continuam nos elementos porque são elas que o JS de
   abrir/fechar procura — aqui só muda a aparência.
   ========================================================================== */
.smv-modal__bar,
.fpm-bar {
  display: none !important;
}

/* Só nos dois pop-ups de conteúdo: o .custo-lead-dialog é a própria caixa que
   rola (`overflow:auto`), então uma faixa absoluta no topo dele subiria junto
   com o scroll. Lá fica só o X padronizado. */
.smv-modal__dialog::before,
.fpm-dialog::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 7px;
  background: linear-gradient(90deg, var(--red) 0%, #ff6267 100%);
  z-index: 3;
}

/* o conteúdo rola por baixo da faixa, então ganha um respiro no topo */
.smv-modal__content,
.fpm-content {
  padding-top: 30px !important;
}

/* título escuro, como o h3 do .plus-modal */
.smv-modal__title,
.fpm-title {
  color: #121212 !important;
}

.smv-modal__kicker {
  color: #5a5a62 !important;
  font-size: 17px !important;
}

.smv-modal__content .plus-modal-actions,
.fpm-content .plus-modal-actions {
  margin-top: 26px;
}

/* ==========================================================================
   TÍTULOS DE DUAS LINHAS — centralização quando a linha passa da caixa

   Os títulos com quebra forçada usam <span white-space:nowrap> em cada linha.
   Quando a linha mais larga passa da largura do h2 (acontece a partir de
   ~1500px, onde o clamp da fonte chega no máximo mas o container continua com
   max-width fixo), o span vira uma caixa inline maior que a linha — e o
   navegador NÃO divide a sobra do `text-align:center`: ele encosta o span à
   esquerda e deixa vazar só para a direita. Resultado: a linha larga fica
   deslocada em relação à estreita.

   Com flex + `justify-content:center` a sobra é dividida nos dois lados, então
   as linhas continuam alinhadas entre si mesmo transbordando.

   O `.h2-mask-inner` MANTÉM o `max-width:100%` (senão um título de texto
   normal, sem nowrap, esticaria numa linha só) e ganha `min-width:min-content`.
   Em texto que quebra sozinho o min-content é a maior palavra, então o
   max-width continua mandando e nada muda; em linha `nowrap` o min-content é a
   linha inteira, e é ele que autoriza o título a passar da caixa — centralizado
   pelo flex, em vez de encostado à esquerda.

   Escopo em `h2.h2-mask-reveal` de propósito: as duas classes são colocadas
   pelo mesmo trecho do main.js que cria o `.h2-mask-inner`. Se o JS não rodar,
   o h2 continua block e as quebras com <br> seguem funcionando.
   ========================================================================== */
@media (min-width: 769px) {
  body h2.h2-mask-reveal:where(
    .vau-title-break,
    .v494-title-break,
    .curso-title-break,
    .familia-title-break,
    .qual-title-break,
    .sponsor-title-break,
    .form-title-break,
    .support-intro-title,
    .support-near-title,
    .sobre-intro-title,
    .team-page-title,
    .contato-form-title
  ) {
    display: flex !important;
    justify-content: center !important;
  }

  body h2.h2-mask-reveal:where(
    .vau-title-break,
    .v494-title-break,
    .curso-title-break,
    .familia-title-break,
    .qual-title-break,
    .sponsor-title-break,
    .form-title-break,
    .support-intro-title,
    .support-near-title,
    .sobre-intro-title,
    .team-page-title,
    .contato-form-title
  ) > .h2-mask-inner {
    min-width: min-content !important;
    flex: 0 0 auto !important;
  }
}

/* ==========================================================================
   TÍTULOS DE HERO (h1) — mesma correção de centralização dos h2

   Os h1 do hero também quebram em linhas com <span white-space:nowrap>, e
   sofrem do mesmo problema: quando a linha mais larga passa do max-width do
   h1 (ex.: "Sunshine Coast na Austrália" em ~860px dentro de uma caixa de
   820px), o navegador encosta o span à esquerda e deixa vazar só para a
   direita — a linha fica desalinhada em relação às outras.

   Aqui não dá para usar o truque do h2: o h1 não tem o wrapper .h2-mask-inner
   (a máscara só é aplicada em h2). Então o próprio h1 vira uma coluna flex —
   cada linha é um item, e `align-items:center` divide a sobra nos dois lados.
   Como cada span já é um item da coluna, o <br> perde a função e é escondido.

   Páginas que separam as quebras de desktop e mobile põem as linhas dentro de
   um `.hero-title-desktop-lines`; esse wrapper também precisa ser a coluna,
   senão as linhas ficariam presas no fluxo inline dele.

   Só no desktop: abaixo de 769px os spans voltam a ser inline e o texto quebra
   sozinho, que é o comportamento desejado no mobile.
   ========================================================================== */
@media (min-width: 769px) {
  body .hero .hero-body h1[class*="hero-title-"],
  body .hero .hero-body h1[class*="hero-title-"] > .hero-title-desktop-lines {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body .hero .hero-body h1[class*="hero-title-"] br {
    display: none !important;
  }
}

/* ==========================================================================
   DESTAQUES DA CIDADE — texto sem bold, ícone de traço fino e animação

   Vale para as 18 páginas de cidade. O seletor casa pela classe do body
   (`page-intercambio-adelaide`, `-sydney`, …), então uma cidade nova entra
   sozinha, sem precisar mexer aqui.

   Só o termômetro animava (o CSS dele mora no <style> de cada página, junto do
   keyframe sydneyTemperature*). Agora os outros três ícones entram junto, cada
   um com o gesto do que representa. O gatilho é o `.is-fact-animated`, posto
   pelo IntersectionObserver no fim de cada página de cidade.

   Repare que o estado de repouso JÁ é o estado final — o "de onde vem" mora só
   dentro do @keyframes. É de propósito: se o JS não rodar, o ícone aparece
   normal em vez de sumido ou torto.
   ========================================================================== */
body[class*="page-intercambio-"] .sydney-fact-card p {
  font-weight: 400;
  line-height: 1.35;
}

body[class*="page-intercambio-"] .sydney-fact-icon svg {
  stroke-width: 1.2;
}

/* o pin cai de fora da moldura, então os SVGs não podem recortar */
body[class*="page-intercambio-"] .pin-icon,
body[class*="page-intercambio-"] .people-icon,
body[class*="page-intercambio-"] .flag-icon {
  overflow: visible;
}

body[class*="page-intercambio-"] .people-icon .people-second {
  transform-box: fill-box;
  transform-origin: center;
}

/* A bandeira gira em torno da BASE DO MASTRO, não do centro do ícone. Por isso
   os dois traços vão dentro de um <g>: com `fill-box` o referencial vira a
   caixa do próprio grupo (x 5→19, y 3→22), e `left bottom` cai exatamente no pé
   do mastro. Pôr a origem no <svg> não funciona: lá o referencial é a caixa
   renderizada de 54px, e 5px/22px cairiam no meio do ícone. */
body[class*="page-intercambio-"] .flag-icon .flag-wave {
  transform-box: fill-box;
  transform-origin: left bottom;
}

body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .pin-icon {
  animation: cityPinDrop 1.05s cubic-bezier(.5, 0, .5, 1) 1 both;
}

body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .people-icon .people-second {
  animation: cityPeopleOut 1.15s cubic-bezier(.2, .8, .25, 1) 1 both;
}

body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .flag-icon .flag-wave {
  animation: cityFlagWave 1.8s cubic-bezier(.36, .07, .3, 1) 1 both;
}

/* quem pediu menos movimento no sistema vê os ícones parados no estado final */
@media (prefers-reduced-motion: reduce) {
  body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .pin-icon,
  body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .people-icon .people-second,
  body[class*="page-intercambio-"] .sydney-fact-card.is-fact-animated .flag-icon .flag-wave {
    animation: none;
  }
}

/* o pin cai de cima, bate no chão e dá um quique curto */
@keyframes cityPinDrop {
  0%   { transform: translateY(-26px); opacity: 0; }
  22%  { opacity: 1; }
  55%  { transform: translateY(0); }
  70%  { transform: translateY(-5px); }
  85%  { transform: translateY(0); }
  93%  { transform: translateY(-1.5px); }
  100% { transform: translateY(0); }
}

/* a segunda pessoa começa escondida atrás da primeira e sai andando para o lado.
   O -7 é em unidade do viewBox (0 0 24 24): é a distância entre as duas cabeças,
   cx=9 e o arco que começa em x=16. */
@keyframes cityPeopleOut {
  0%   { transform: translateX(-7px) scale(.86); opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: translateX(0) scale(1); opacity: 1; }
}

/* balança para os dois lados e vai perdendo força até parar */
@keyframes cityFlagWave {
  0%   { transform: rotate(0deg); }
  12%  { transform: rotate(-11deg); }
  30%  { transform: rotate(9deg); }
  47%  { transform: rotate(-6deg); }
  63%  { transform: rotate(4deg); }
  78%  { transform: rotate(-2deg); }
  90%  { transform: rotate(1deg); }
  100% { transform: rotate(0deg); }
}

/* ==========================================================================
   LISTAS DAS PÁGINAS DE CIDADE — alinhadas com os parágrafos

   Os parágrafos de `.sydney-copy` são uma coluna de 1040px centralizada. As
   listas não tinham essa medida: ocupavam os 1060px inteiros do container e,
   com `padding-left: 0` + marcador `outside`, o texto do item começava 10px à
   ESQUERDA do parágrafo e a bolinha ficava ainda mais para fora. Era isso que
   fazia a lista parecer "solta" para a esquerda.

   A queenstown já tinha a regra certa no <style> dela e virou o modelo: mesma
   largura e mesma centralização do parágrafo, mais 22px de recuo para o
   marcador caber DENTRO da coluna. Agora vale para todas as cidades.

   A tipografia é a MESMA do parágrafo ao lado — 16px, peso 400, cor #444. É o
   que faz a lista e o texto corrido lerem como um bloco só. (A queenstown
   encolhia para 15px no <style> dela e destoava; e uma primeira versão desta
   regra deixou o item em #111/peso 300, que dava aquele ar levemente mais
   pesado e escuro que o parágrafo.)
   ========================================================================== */
body[class*="page-intercambio-"] .sydney-copy ul,
body[class*="page-intercambio-"] .sydney-copy ol {
  list-style-position: outside;
  margin: 0 auto 16px;
  padding-left: 22px;
  width: min(var(--ac-editorial-copy-width, 1040px), 100%);
  max-width: var(--ac-editorial-copy-width, 1040px);
}

body[class*="page-intercambio-"] .sydney-copy ul {
  list-style-type: disc;
}

body[class*="page-intercambio-"] .sydney-copy li {
  color: #444;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.68;
  margin-bottom: 7px;
}

/* ==========================================================================
   LISTAS DE TEXTO CORRIDO — mesma tipografia do parágrafo vizinho

   Casos que a varredura de tipografia pegou, onde o item de lista lia
   diferente do parágrafo do mesmo bloco:

   · `.v494-copy` (visto482, visto485, visto494, visto-recusado, visto-skill,
     visto-work): o parágrafo é #555 e o item herdava #111 — a lista saía mais
     escura que o texto ao redor.
   · pop-ups: o `.plus-modal` e o `.fpm-modal` escrevem em 15px, mas o
     `.smv-modal` tinha parágrafo em 16px e os itens de lista dos dois ficavam
     nos 16px padrão. Os três pop-ups passam a ler no mesmo tamanho.
   ========================================================================== */
.v494-copy li,
.v494-text-copy li,
.v494-criteria-copy li {
  color: #555;
}

.smv-modal__content p,
.smv-modal .smv-list li,
.fpm-modal .smv-list li,
.plus-modal .smv-list li {
  font-size: 15px;
}


/* ==========================================================================
   FALLBACK SEM JS  (trava do .reveal)
   .reveal/.reveal-soft/.flip-card nascem em opacity:0 e so aparecem quando o
   main.js adiciona .on / .flip-visible. Se o JS nao executar, a pagina ficaria
   em branco. O <html class="no-js"> e removido por um script inline no <head>,
   entao estas regras SO valem quando o JS falhou de fato.
   Especificidade: html.no-js .reveal (0,2,1) vence .reveal.on (0,2,0)
   independente da posicao no arquivo.
   .stagger-card e .h2-mask-reveal nao precisam de trava: sao adicionadas pelo
   proprio JS, logo nao existem quando ele nao roda.
   ========================================================================== */
html.no-js .reveal,
html.no-js .reveal-soft,
html.no-js .flip-card{opacity:1;filter:none;transform:none}

/* Texto ancora indexavel/acessivel sem impacto visual.
   Usado nos CTAs dos cards do hero, onde o rotulo visivel precisa ser curto
   (os cards ficam lado a lado tambem no mobile: grid 1fr 1fr). */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

/* --------------------------------------------------------------------------
   RESERVA DE ESPACO DAS IMAGENS DO HERO (CLS)
   As imagens agora carregam width/height no HTML. Sem uma declaracao de height
   no CSS, o atributo height viraria altura usada e distorceria a imagem
   (.home-v2-girl tem width:100% e .home-v2-frame--* tem width fixo, nenhum
   deles declarava height). Com height:auto o browser usa o par width/height
   apenas para calcular o aspect-ratio e reservar o espaco antes do download.
   Geometria renderizada permanece identica.
   -------------------------------------------------------------------------- */
.home-v2-girl,
.home-v2-frame{height:auto}

/* ==========================================================================
   PÁGINA OBRIGADO — hero de confirmação

   É o único hero do site sem foto de fundo: o vermelho e as ondas concêntricas
   são desenhados em CSS. A página aparece logo depois do envio do formulário e
   é vista por poucos segundos — não vale baixar mais uma imagem grande só para
   ela. Por isso também não usa `.hero-bg`/`.hero-overlay`: o bloco padronizado
   de `--hero-overlay` (mais acima) escureceria o topo do degradê.

   Duas camadas para degradê e ondas terem opacidades independentes:
   · .obrigado-hero-bg    — o vermelho. Claro no topo, fechando escuro na base
                            para casar com a seção branca arredondada logo
                            abaixo, na mesma lógica do --hero-overlay.
   · .obrigado-hero-waves — as ondas, com máscara vertical para elas sumirem
                            antes de encostar na base.

   `min-height` (e não `height`) porque o bloco "HERO — nunca deixar o conteúdo
   passar por cima da seção seguinte" força `height:auto!important` no desktop;
   o piso continua valendo e o hero cresce se o conteúdo precisar.
   ========================================================================== */
body.page-obrigado .hero--obrigado {
  background: #b3151b;
  min-height: 75vh;
  justify-content: center;
}
@supports (height: 75svh) {
  body.page-obrigado .hero--obrigado { min-height: 75svh; }
}

body.page-obrigado .obrigado-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(78% 52% at 50% -8%, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 100%),
    radial-gradient(90% 62% at 26% 2%, #ff3f46 0%, rgba(255,63,70,0) 62%),
    linear-gradient(178deg, #ef232b 0%, #d71a21 30%, #a51117 66%, #5d070b 100%);
}

/* Ondas: dois anéis concêntricos de origens diferentes para o padrão não ficar
   mecânico. Cada `repeating-radial-gradient` repete a lista inteira de paradas,
   então a rampa 0 → cor → 0 é o que dá a borda suave de cada anel. */
body.page-obrigado .obrigado-hero-waves {
  position: absolute;
  inset: -12% -18% 0;
  background:
    repeating-radial-gradient(circle at 50% 0%,
      rgba(255,255,255,0) 0 74px,
      rgba(255,255,255,.085) 108px,
      rgba(255,255,255,0) 146px),
    repeating-radial-gradient(circle at 24% -6%,
      rgba(255,255,255,0) 0 118px,
      rgba(255,255,255,.055) 168px,
      rgba(255,255,255,0) 224px);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.55) 0%, #000 22%, rgba(0,0,0,.5) 68%, rgba(0,0,0,0) 96%);
          mask-image: linear-gradient(180deg, rgba(0,0,0,.55) 0%, #000 22%, rgba(0,0,0,.5) 68%, rgba(0,0,0,0) 96%);
  pointer-events: none;
}

body.page-obrigado .hero--obrigado .hero-body {
  max-width: 1040px;
  padding: 128px 24px 88px;
}
body.page-obrigado .hero-title-obrigado {
  max-width: 820px;
  text-shadow: 0 4px 22px rgba(80, 0, 3, .34);
}
body.page-obrigado .obrigado-hero-sub {
  color: rgba(255,255,255,.94);
  font-size: clamp(16px, 1.5vw, 24px);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.24;
  max-width: 720px;
  margin: 0 auto 26px;
  text-shadow: 0 2px 14px rgba(80, 0, 3, .3);
}
body.page-obrigado .hero-cta .btn-outline {
  font-size: 12px;
  padding: 13px 30px;
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 14px 34px rgba(70, 0, 3, .22);
  transition: background .28s ease, color .28s ease, border-color .28s ease, transform .28s ease, box-shadow .28s ease;
}
body.page-obrigado .hero-cta .btn-outline:hover,
body.page-obrigado .hero-cta .btn-outline:focus-visible {
  background: #fff;
  color: var(--red);
  border-color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(70, 0, 3, .3);
  outline: none;
}

/* A seção do podcast sobe por cima do vermelho com o canto arredondado padrão
   (mesmo recurso da .contato-intro). Vence o `.sec-video.parapara{margin-top:-56px}`
   por especificidade, não por ordem. */
body.page-obrigado main > section.sec-video {
  border-radius: var(--radius) var(--radius) 0 0;
  margin-top: calc(var(--radius) * -1);
}

/* O FAQ e o hero desta página não têm formulário para onde apontar: o parágrafo
   e o CTA do componente levam a `#form-cta`, que aqui seria uma âncora morta.
   Mesmo tratamento que a .page-sobre dá ao cabeçalho do blog. */
body.page-obrigado .faq-left p,
body.page-obrigado .faq-left .btn-red {
  display: none;
}

@media (max-width: 768px) {
  body.page-obrigado .hero--obrigado {
    min-height: 72svh;
  }
  body.page-obrigado .hero--obrigado .hero-body {
    padding: 118px 18px 72px;
    max-width: 420px;
  }
  body.page-obrigado .obrigado-hero-sub {
    font-size: 14px;
    max-width: 330px;
    margin-bottom: 22px;
  }
  body.page-obrigado .hero-cta .btn-outline {
    font-size: 11px;
    padding: 12px 22px;
  }
  body.page-obrigado main > section.sec-video {
    border-radius: var(--radius-mobile) var(--radius-mobile) 0 0;
    margin-top: calc(var(--radius-mobile) * -1);
  }
}

/* =========================================================
   FORMULÁRIO FORMSTACK — "Website Brasil Contato Geral"
   ---------------------------------------------------------
   O embed do Formstack (components/formulario.html +
   assets/formstack.js) entra dentro do .form-shell de sempre.
   Este bloco veste a marcação dele com a aparência do
   formulário antigo: painel vermelho, campos brancos
   arredondados em 2 colunas e CTA preto full width.

   Ganchos estáveis do renderer (não são hash de styled-
   components, esses mudam a cada build):
     .fsform-container .fsBody .fsForm .fsPage .fsSection
     .fsFieldCell .fsLabel .fsRequiredMarker .fsSupporting
     .fsOptionLabel .fsSubmit .fsSubmitButton

   As variantes de painel claro (páginas de intercâmbio,
   .vau-form, .v494-form e a listagem do blog) só trocam as
   variáveis --fs-*, do mesmo jeito que faziam com
   .form-field label / .ac-form button.
   ========================================================= */

.ac-fs{
  --fs-label:#fff;
  --fs-help:rgba(255,255,255,.78);
  --fs-option:#fff;
  --fs-field-border:rgba(255,255,255,.34);
  --fs-box-border:rgba(255,255,255,.5);
  --fs-box-on:#0d0d0f;
  --fs-error:#fff;
  --fs-error-bg:rgba(0,0,0,.2);
  --fs-error-icon:brightness(0) invert(1);
  --fs-btn-bg:#0d0d0f;
  --fs-btn-border:#0d0d0f;
  --fs-btn-color:#fff;
  --fs-btn-shadow:0 12px 26px rgba(0,0,0,.22);
  --fs-btn-hover-bg:#0d0d0f;
  --fs-btn-hover-border:#0d0d0f;
  --fs-btn-hover-color:#fff;
  --fs-btn-hover-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 22px rgba(255,255,255,.3),0 16px 34px rgba(0,0,0,.32);
  width:100%;
  min-height:120px;
}

.ac-fs-loading,
.ac-fs-fallback{
  display:block;
  padding:18px 0;
  text-align:center;
  font-size:13px;
  color:var(--fs-label);
  opacity:.8;
}
.ac-fs-fallback a{text-decoration:underline}

/* --- zera a moldura própria do Formstack --- */
.ac-fs .fsform-container,
.ac-fs .fsBody,
.ac-fs .fsBody > div,
.ac-fs .fsForm,
.ac-fs .fsPage,
.ac-fs .fsSection{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:'Geist',sans-serif!important;
  color:var(--fs-label);
}

/* --- grade de 2 colunas (igual .form-fields) --- */
.ac-fs .fsSection{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 14px;
  align-items:start;
}

.ac-fs .fsFieldCell{
  display:flex!important;
  flex-direction:column;
  gap:8px;
  order:5;
  min-width:0;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Ordem dos campos do formulário atual do cliente (o
   data-testid vem do id do campo no Formstack). Se o cliente
   incluir campos novos eles caem no order:5 acima, antes dos
   blocos full width. */
.ac-fs .fsSection > [data-testid="field-198098856"]{order:1}                 /* Nome Sobrenome */
.ac-fs .fsSection > [data-testid="field-198098860"]{order:2}                 /* Email */
.ac-fs .fsSection > [data-testid="field-198098858"]{order:3}                 /* Telefone / WhatsApp */
.ac-fs .fsSection > [data-testid="field-198136073"]{order:4}                 /* País que pretende estudar */
.ac-fs .fsSection > [data-testid="field-198098861"]{order:6;grid-column:1/-1}/* Quando pretende viajar */

/* Grupos de opção e campos longos ocupam a linha inteira */
.ac-fs .fsSection > .fsFieldCell:has(fieldset),
.ac-fs .fsSection > .fsFieldCell:has(textarea){
  order:7;
  grid-column:1/-1;
}

/* --- rótulos --- */
.ac-fs .fsLabel{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:'Geist',sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  color:var(--fs-label)!important;
  text-align:left!important;
}
.ac-fs .fsRequiredMarker{
  margin:0!important;
  padding:0!important;
  color:var(--fs-label)!important;
  font-weight:700!important;
}

/* --- campos --- */
.ac-fs .fsForm input[type="text"],
.ac-fs .fsForm input[type="email"],
.ac-fs .fsForm input[type="tel"],
.ac-fs .fsForm input[type="url"],
.ac-fs .fsForm input[type="number"],
.ac-fs .fsForm input[type="password"],
.ac-fs .fsForm input[type="date"],
.ac-fs .fsForm textarea,
.ac-fs .fsForm select{
  -webkit-appearance:none;
  appearance:none;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:14px 18px!important;
  background:#fff!important;
  border:1.5px solid var(--fs-field-border)!important;
  border-radius:12px!important;
  color:#333!important;
  font-family:'Geist',sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.25!important;
  outline:none!important;
  box-shadow:none!important;
  transition:border-color .2s,box-shadow .2s;
}
.ac-fs .fsForm textarea{min-height:110px!important;resize:vertical}

.ac-fs .fsForm select{
  cursor:pointer;
  padding-right:44px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center!important;
  background-size:12px 8px!important;
}

.ac-fs .fsForm input::placeholder,
.ac-fs .fsForm textarea::placeholder{color:#b5adaa!important;opacity:1}

.ac-fs .fsForm input:focus,
.ac-fs .fsForm select:focus,
.ac-fs .fsForm textarea:focus{
  border-color:#111!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.12)!important;
}

/* wrappers internos que o renderer coloca em volta do input */
.ac-fs .fsSubFieldGroup,
.ac-fs .fsSubFieldGroup > div{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* --- texto de apoio --- */
.ac-fs .fsSupporting{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:'Geist',sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.35!important;
  color:var(--fs-help)!important;
}
/* nos selects o texto de apoio repete a opcao vazia — o layout do site nao
   tem essa linha; remova esta regra se o cliente quiser o texto de volta */
.ac-fs .fsFieldCell:has(select) .fsSupporting{display:none!important}

/* --- grupo de checkbox / radio --- */
.ac-fs .fsForm fieldset{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));
  gap:9px 16px;
  margin:0!important;
  padding:0!important;
  min-width:0;
  border:0!important;
}
.ac-fs .fsForm fieldset > legend{
  position:absolute!important;
  width:1px!important;height:1px!important;
  margin:-1px!important;padding:0!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.ac-fs .fsOptionLabel{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  margin:0!important;
  padding:0!important;
  cursor:pointer;
  font-family:'Geist',sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.3!important;
  color:var(--fs-option)!important;
}
.ac-fs .fsOptionLabel input[type="checkbox"],
.ac-fs .fsOptionLabel input[type="radio"]{
  -webkit-appearance:none;
  appearance:none;
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1.5px solid var(--fs-box-border)!important;
  border-radius:6px;
  cursor:pointer;
  transition:background-color .18s,border-color .18s;
}
.ac-fs .fsOptionLabel input[type="radio"]{border-radius:50%}
/* o renderer desenha o quadradinho de novo num ::before (14px, canto reto,
   borda cinza e um segundo check quando marcado) — some com ele e deixa o
   proprio input ser o visual */
.ac-fs .fsOptionLabel input[type="checkbox"]::before,
.ac-fs .fsOptionLabel input[type="checkbox"]::after,
.ac-fs .fsOptionLabel input[type="radio"]::before,
.ac-fs .fsOptionLabel input[type="radio"]::after{
  content:none!important;
  display:none!important;
}
.ac-fs .fsOptionLabel > span{margin-top:1px}
.ac-fs .fsOptionLabel input[type="checkbox"]:checked,
.ac-fs .fsOptionLabel input[type="radio"]:checked{
  background-color:var(--fs-box-on)!important;
  border-color:var(--fs-box-on)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:11px 11px!important;
}
.ac-fs .fsOptionLabel input:focus-visible{outline:2px solid var(--fs-box-on);outline-offset:2px}

/* --- erros de validação --- */
/* mensagem embaixo do rótulo */
.ac-fs .fsForm div[aria-live]{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--fs-error)!important;
  font-family:'Geist',sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.ac-fs .fsForm div[aria-live] *{color:var(--fs-error)!important}
.ac-fs .fsForm div[aria-live]:empty{display:none!important}

/* resumo no topo do formulário (o div é o filho direto do form que
   carrega o span[role=alert] — o renderer não dá classe estável a ele) */
.ac-fs .fsForm > div:has(> span[role="alert"]){
  margin:0 0 6px!important;
  padding:14px 18px!important;
  background:var(--fs-error-bg)!important;
  border:0!important;
  border-radius:12px!important;
  color:var(--fs-error)!important;
  font-family:'Geist',sans-serif!important;
  font-size:12.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
.ac-fs .fsForm > div:has(> span[role="alert"]) *{color:var(--fs-error)!important}
.ac-fs .fsForm > div:has(> span[role="alert"]) a{
  display:inline-block;
  margin-right:14px;
  text-decoration:underline;
  font-weight:600;
}

/* o ícone de erro é um SVG vermelho em background-image */
.ac-fs .fsForm [class*="StyledErrorBannerIcon"]{filter:var(--fs-error-icon)}

/* --- botão --- */
.ac-fs .fsSubmit{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:18px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.ac-fs .fsSubmit > div{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.ac-fs .fsSubmitButton{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:15px 26px!important;
  background:var(--fs-btn-bg)!important;
  color:var(--fs-btn-color)!important;
  border:2px solid var(--fs-btn-border)!important;
  border-radius:999px!important;
  box-shadow:var(--fs-btn-shadow)!important;
  font-family:'Geist',sans-serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
  transition:all .3s ease;
}
.ac-fs .fsSubmitButton:hover,
.ac-fs .fsSubmitButton:focus-visible{
  background:var(--fs-btn-hover-bg)!important;
  color:var(--fs-btn-hover-color)!important;
  border-color:var(--fs-btn-hover-border)!important;
  box-shadow:var(--fs-btn-hover-shadow)!important;
  transform:translateY(-2px);
  outline:none;
}
.ac-fs .fsSubmitButton:disabled{opacity:.6;cursor:progress;transform:none}

/* --- tela de confirmação depois do envio --- */
.ac-fs .fsBody p,
.ac-fs .fsBody h1,
.ac-fs .fsBody h2,
.ac-fs .fsBody h3{color:var(--fs-label)!important;font-family:'Geist',sans-serif!important}
.ac-fs .fsBody a{color:var(--fs-label)!important;text-decoration:underline}

/* --- variantes de painel claro --- */
:is(.page-intercambio-sydney, .page-intercambio-aukland, .page-intercambio-melbourne, .page-intercambio-brisbane, .page-intercambio-perth, .page-intercambio-goldcoast, .page-intercambio-adelaide, .page-intercambio-sunshine, .page-intercambio-cairns, .page-intercambio-byron, .page-intercambio-camberra, .page-intercambio-hobart, .page-intercambio-toowoomba, .page-intercambio-christchurch, .page-intercambio-dunedin, .page-intercambio-queenstown, .page-intercambio-tauranga, .page-intercambio-wellington) .ac-fs,
.vau-form .ac-fs,
.v494-form .ac-fs,
.v494-form .ac-fs{
  --fs-label:#333;
  /* As quatro abaixo faltavam: a variante trocava so o label e o botao, e
     deixava help, option e as bordas nos valores do painel ESCURO (branco).
     Resultado: em fundo claro os rotulos de checkbox e o texto de apoio
     saiam brancos no branco — invisiveis. Afetava as paginas de cidade,
     .vau-form e .v494-form (as 8 de visto). */
  --fs-help:rgba(0,0,0,.58);
  --fs-option:#333;
  --fs-field-border:rgba(0,0,0,.18);
  --fs-box-border:rgba(0,0,0,.32);
  /* erro: no escuro era texto branco sobre veu preto e icone invertido;
     no claro volta ao vermelho da marca, sem inverter o icone */
  --fs-error:#d71920;
  --fs-error-bg:rgba(215,25,32,.08);
  --fs-error-icon:none;
  --fs-btn-bg:#ed1c24;
  --fs-btn-border:#ed1c24;
  --fs-btn-hover-bg:#d71920;
  --fs-btn-hover-border:#d71920;
  --fs-btn-hover-color:#fff;
}

@media(max-width:768px){
  .ac-fs .fsSection{grid-template-columns:1fr!important;gap:14px}
  .ac-fs .fsSection > *{grid-column:1/-1!important}
  .ac-fs .fsForm fieldset{grid-template-columns:1fr!important}
}

/* =========================================================
   FAIXAS DE PARALLAX — conflito com o reveal automatico
   ---------------------------------------------------------
   O main.js tem '.support-screen-media' na lista revealTargets, entao
   marca essas faixas como reveal automatico. Isso traz, do .reveal-soft,
   um "transition: transform .72s" — e e ele que congela o parallax: o JS
   reescreve o transform a cada frame, mas cada valor novo entra numa
   transicao de 0,72s e a imagem nunca sai do lugar.

   A faixa da pagina de depoimentos (.dep-page-photo-media) nao esta na
   lista do main.js, e era por isso que so ela funcionava.

   Aqui o fade continua (opacity e filter seguem na transicao), mas o
   transform sai dela e volta a ser instantaneo — que e o que o parallax
   precisa.
   ========================================================= */
.support-screen-media.reveal,
.support-screen-media.reveal-soft{
  transform:none;
  transition-property:opacity,filter;
  will-change:transform;
}

/* =========================================================
   EQUIPE — faixa de parallax
   ---------------------------------------------------------
   A faixa da equipe (.team-parallax) nao estava se mexendo no
   WordPress, enquanto a da pagina de depoimentos (.dep-page-photo)
   se mexia — com o mesmo main.js e o mesmo CSS de origem.

   Nao deu para isolar a causa, entao aqui a faixa da equipe passa
   a usar a mesma receita da que funciona:

   - altura propria em vez de min-height, e maior
   - mais sobra de imagem, para o movimento aparecer mais
   - z-index 9, como a .dep-page-photo (a .team-parallax vinha com 3)
   - sem transform declarado no CSS: quem manda e o inline do JS,
     exatamente como acontece na .dep-page-photo-media
   ========================================================= */
body.page-equipe .team-parallax{
  /* 470px e a mesma altura maxima da faixa da pagina de depoimentos */
  height:clamp(330px,38vw,470px);
  min-height:0;
  z-index:9;
}
body.page-equipe .support-screen-media--equipe{
  /* sobra generosa: e ela que da curso ao movimento do parallax */
  inset:-64px 0;
}
@media(max-width:768px){
  body.page-equipe .team-parallax{height:clamp(270px,50vw,360px)}
  body.page-equipe .support-screen-media--equipe{inset:-40px 0}
}

/* =========================================================
   LISTAGEM DO BLOG — formulario
   ---------------------------------------------------------
   O CSS trazia um painel claro so para esta pagina
   (.page-listagem-blog .blog-listing-form): fundo branco,
   rotulos escuros, botao vermelho e as variaveis --fs-* da
   versao clara do Formstack.

   Essas regras foram removidas para o formulario herdar o
   padrao vermelho das demais paginas — equipe, sobre,
   contato. Para voltar ao painel claro, e recriar as regras
   com esse prefixo.
   ========================================================= */

/* ==========================================================================
   ÂNCORA #video-ac — parar mais alto
   O link para /sobre-ac/#video-ac vinha caindo dentro do card do vídeo, com
   o título "Conheça a AC em um vídeo" acima da dobra. O scroll-margin-top
   de 88px em .sec-sobre-video só descontava o header fixo (86px); aqui a
   folga é aumentada para a parada mostrar o título da seção.
   ========================================================================== */
#video-ac { scroll-margin-top: 180px; }

@media(max-width: 768px) {
  #video-ac { scroll-margin-top: 130px; }
}

/* ==========================================================================
   INTERCÂMBIO POR PAÍS — respiro em volta da foto do meio

   O .sec-photo-break nasce com duas margens negativas, de propósito: ele
   sobe -56px para invadir a seção anterior, e o .drive-banner de dentro tem
   -28px embaixo para puxar a seção seguinte por cima da foto. É o efeito de
   sobreposição usado em outras páginas.

   Nestas duas (/intercambios/ e /nova-zelandia/intercambio-nova-zelandia/)
   o resultado ficou colado dos dois lados: em cima a foto encostava na
   faixa vermelha, embaixo o título "Principais cursos" encostava na foto.

   Aqui as duas margens são zeradas e trocadas por padding. Para ajustar o
   respiro, mexa só nestes dois números.
   ========================================================================== */
body.page-imigracao #foto-intercambio.sec-photo-break {
  margin-top: 0;
  padding-top: 72px;
  padding-bottom: 48px;
}

body.page-imigracao #foto-intercambio.sec-photo-break .drive-banner {
  margin-bottom: 0;
}

@media(max-width: 768px) {
  body.page-imigracao #foto-intercambio.sec-photo-break {
    padding-top: 48px;
    padding-bottom: 32px;
  }
}

/* ==========================================================================
   BLOG — título comprido não pode estourar o card

   Os cards laterais da listagem (.blog-listing-side-card) têm altura fixa e
   overflow:hidden, e o bloco de texto é absoluto ancorado embaixo
   (bottom:22px). Quando o título é longo, ele cresce PARA CIMA e some
   cortado no topo do card — foi o que aconteceu com "Regras para Estudar e
   Trabalhar na Austrália: Tipos de Vistos Elegíveis e Suporte com a AC".

   O <p> do resumo já se protegia com -webkit-line-clamp:3; o <h3> não tinha
   limite nenhum. Aqui ele ganha o mesmo tratamento: corta em 3 linhas com
   reticências, em vez de encolher a fonte (que deixaria cards vizinhos com
   tamanhos diferentes).

   Para permitir títulos mais longos, suba o número de linhas.
   ========================================================================== */
.blog-listing-side-copy h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

/* o card grande da esquerda tem mais espaço, mas também não pode estourar */
.blog-listing-card-copy h3,
.blog-listing-card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
}

/* ==========================================================================
   POSTAGEM ABERTA — imagens do corpo com canto arredondado

   O conteudo do post vem do editor do WordPress, entao aqui nao ha markup
   nosso para estilizar: sao <img> soltos (com classes wp-image-*, aligncenter,
   alignnone...) e, nos posts mais novos, <figure class="wp-block-image">.
   Nenhum deles tinha border-radius, e a foto batia quadrada no meio de uma
   pagina em que todo o resto (cards, banners, sidebar) e arredondado.

   18px e o mesmo raio dos cards da listagem do blog, para a leitura do post
   continuar parecendo o mesmo site.

   O overflow:hidden no <figure> e necessario porque a legenda fica no mesmo
   bloco: sem ele o canto da imagem escapa por baixo do arredondamento.
   ========================================================================== */
.page-postagem-aberta .pa-content img,
.page-postagem-aberta .pa-content figure.wp-block-image,
.page-postagem-aberta .pa-content .wp-caption img {
  border-radius: 18px;
}

.page-postagem-aberta .pa-content figure.wp-block-image {
  overflow: hidden;
}

/* a legenda nao herda o raio: ela fica fora da area da foto */
.page-postagem-aberta .pa-content figcaption,
.page-postagem-aberta .pa-content .wp-caption-text {
  border-radius: 0;
}

/* ==========================================================================
   ARQUIVO DE CATEGORIA — hero pela metade

   A categoria reaproveita o hero da listagem do blog (mesma foto, mesmo
   degradê), mas lá o h1 é uma manchete de quatro linhas e aqui é só o nome
   da categoria: 75vh / 620px sobra muito para uma linha só.

   NÃO dá para simplesmente dividir a altura por dois. O menu é fixo e passa
   por cima do hero, e quem afasta o conteúdo dele não é a altura — é o
   padding-top ser maior que o de baixo (116 contra 78) somado ao
   justify-content:center do hero. Cortando só a altura, o "AC BLOG" pararia
   embaixo do menu. Por isso o padding encolhe junto.

   O piso de 340px é o que o conteúdo ocupa depois de encolhido. Abaixo
   disso ele voltaria a crescer sozinho e a altura declarada não mudaria
   nada — é a altura mínima real, não um número escolhido.
   ========================================================================== */
body.page-listagem-blog--categoria .hero--blog-listing {
  height: 38vh;
  min-height: 340px;
}

body.page-listagem-blog--categoria .hero--blog-listing .hero-body {
  padding: 92px 24px 34px;
}

/* nome de categoria é linha curta: no corpo de manchete fica desproporcional */
body.page-listagem-blog--categoria .hero--blog-listing .hero-body h1 {
  font-size: clamp(28px, 4.4vw, 46px);
  margin-bottom: 18px;
}

/* a barrinha acima do botão separava quatro linhas de título; com uma linha
   só ela não precisa do mesmo respiro */
body.page-listagem-blog--categoria .hero--blog-listing .hero-cta::before {
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  body.page-listagem-blog--categoria .hero--blog-listing {
    height: 42svh;
    min-height: 320px;
  }
  body.page-listagem-blog--categoria .hero--blog-listing .hero-body {
    padding: 88px 20px 30px;
  }
}
