/* =========================================================
   Viajandinho — Coreia do Sul 2027
   Landing page
   ========================================================= */

:root{
  /* Cor */
  --ink:        #0D1518;
  --ink-2:      #142126;
  --ink-3:      #1D2E34;
  --cream:      #F5F1EA;
  --cream-2:    #EAE4DA;
  --paper:      #FFFFFF;

  --teal:       #4E7C87;
  --teal-dark:  #3A626C;
  --teal-soft:  #8FB3BB;

  --gold:       #B99450;
  --gold-soft:  #D9BE8A;

  --text:       #1A2226;
  --text-mid:   #4E5C62;
  --text-soft:  #77868C;
  --on-dark:    #EDE8E0;
  --on-dark-mid:#B3BFC3;

  --line:       #DDD6CB;
  --line-dark:  rgba(237,232,224,.16);

  /* Tipografia */
  --serif: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Métrica */
  --wrap: 1180px;
  --pad: clamp(20px, 5vw, 40px);
  --sect: clamp(64px, 9vw, 120px);
  --r: 4px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; height:auto; }
a{ color:inherit; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--ink); color:var(--on-dark); padding:12px 20px;
}
.skip:focus{ left:12px; top:12px; }

:where(a,button,summary):focus-visible{
  outline:2px solid var(--teal-soft);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
.wrap--narrow{ max-width:820px; }
.section{ padding-block:var(--sect); }
.section--cream{ background:var(--cream); }
.section--dark{ background:var(--ink); color:var(--on-dark); }

/* ---------- Tipografia ---------- */
.kicker{
  font-size:12px; letter-spacing:.22em; text-transform:uppercase;
  font-weight:600; color:var(--teal-dark); margin:0 0 14px;
}
.kicker--light{ color:var(--gold-soft); }

.h2{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(30px,4.2vw,50px); line-height:1.14;
  letter-spacing:-.015em; margin:0 0 20px; color:var(--text);
  text-wrap:balance;
}
.h2--light{ color:var(--cream); }

.h3{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(22px,2.6vw,30px); line-height:1.22;
  margin:0 0 14px; letter-spacing:-.01em;
}

.lead{ font-size:clamp(17px,1.6vw,19px); color:var(--text-mid); margin:0 0 18px; }
.lead--center{ max-width:64ch; margin-inline:auto; text-align:center; }
.lead--light{ color:var(--on-dark-mid); }

.secthead{ margin-bottom:clamp(40px,6vw,64px); text-align:center; }
.secthead .kicker{ text-align:center; }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--teal); color:#fff;
  font-family:var(--sans); font-size:15px; font-weight:600; letter-spacing:.01em;
  padding:16px 30px; border:1px solid var(--teal);
  border-radius:var(--r); text-decoration:none;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.btn:hover{ background:var(--teal-dark); border-color:var(--teal-dark); }
.btn:active{ transform:translateY(1px); }
.btn--sm{ padding:11px 20px; font-size:13.5px; }
.btn--block{ display:flex; width:100%; }
.btn--ghost{
  background:transparent; color:var(--cream);
  border-color:rgba(237,232,224,.42);
}
.btn--ghost:hover{ background:rgba(237,232,224,.10); border-color:var(--cream); }
.btn--wa{ background:#1FA855; border-color:#1FA855; }
.btn--wa:hover{ background:#178A45; border-color:#178A45; }
.btn--wa svg{ width:20px; height:20px; fill:currentColor; }

.linkarrow{
  display:inline-block; margin-top:6px;
  font-size:14.5px; font-weight:600; color:var(--teal-dark);
  text-decoration:none; border-bottom:1px solid rgba(78,124,135,.4); padding-bottom:2px;
}
.linkarrow::after{ content:" →"; }
.linkarrow:hover{ border-bottom-color:var(--teal-dark); }

/* ---------- Barra de credibilidade ---------- */
.utility{ background:var(--ink); color:var(--on-dark-mid); font-size:12.5px; }
.utility__in{
  display:flex; align-items:center; justify-content:center;
  gap:10px 22px; flex-wrap:wrap; padding-block:9px; text-align:center;
}
.utility__item{ margin:0; display:inline-flex; align-items:center; gap:8px; }
.utility__item strong{ color:var(--cream); font-weight:600; letter-spacing:.04em; }
.utility__item--sep{ position:relative; padding-left:22px; }
.utility__item--sep::before{
  content:""; position:absolute; left:0; top:50%; width:1px; height:13px;
  background:var(--line-dark); transform:translateY(-50%);
}
.utility svg{ width:15px; height:15px; fill:none; stroke:var(--gold-soft); stroke-width:1.5; }
.utility svg .mk{ stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:640px){ .utility__item--sep{ display:none; } }

/* ---------- Header ---------- */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(13,21,24,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line-dark);
}
.nav__in{ display:flex; align-items:center; gap:24px; min-height:74px; }
.nav__brand{ display:block; flex:0 0 auto; }
.nav__brand img{ width:88px; height:auto; }

.nav__links{ display:flex; gap:26px; margin-left:auto; }
.nav__links a{
  color:var(--on-dark-mid); text-decoration:none;
  font-size:13.5px; font-weight:500; letter-spacing:.01em;
  padding-block:6px; border-bottom:1px solid transparent;
  transition:color .18s ease, border-color .18s ease;
}
.nav__links a:hover{ color:var(--cream); border-bottom-color:var(--gold); }
.nav__cta{ flex:0 0 auto; }

.nav__burger{
  display:none; margin-left:auto; background:none; border:0;
  width:42px; height:42px; padding:10px; cursor:pointer;
}
.nav__burger span{
  display:block; height:1.5px; background:var(--cream); margin:5px 0;
  transition:transform .25s ease, opacity .2s ease;
}
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.drawer[hidden]{ display:none; }
.drawer{
  border-top:1px solid var(--line-dark);
  padding:14px var(--pad) 24px;
  display:flex; flex-direction:column; gap:2px;
  background:var(--ink);
}
.drawer a{
  color:var(--on-dark-mid); text-decoration:none; font-size:15px; font-weight:500;
  padding:12px 0; border-bottom:1px solid var(--line-dark);
}
.drawer .btn{ margin-top:16px; border-bottom:0; color:#fff; }

@media (max-width:1040px){
  .nav__links, .nav__cta{ display:none; }
  .nav__burger{ display:block; }
}
@media (min-width:1041px){ .drawer{ display:none !important; } }

/* ---------- Hero ---------- */
.hero{ position:relative; background:var(--ink); overflow:hidden; isolation:isolate; }
.hero__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 42%; z-index:-2;
}
.hero__veil{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(100deg, rgba(9,15,17,.92) 0%, rgba(9,15,17,.78) 38%, rgba(9,15,17,.30) 72%, rgba(9,15,17,.42) 100%),
    linear-gradient(to top, rgba(9,15,17,.85) 0%, rgba(9,15,17,0) 45%);
}
.hero__in{
  padding-block:clamp(72px,11vw,132px);
  max-width:min(var(--wrap), 100%);
}
.eyebrow{
  margin:0 0 22px; font-size:12px; letter-spacing:.24em; text-transform:uppercase;
  font-weight:600; color:var(--gold-soft);
  display:inline-flex; align-items:center; gap:12px;
}
.eyebrow::before{ content:""; width:38px; height:1px; background:var(--gold); }

.hero__title{
  font-family:var(--serif); font-weight:600; color:var(--cream);
  font-size:clamp(46px,8.6vw,104px); line-height:.98; letter-spacing:-.03em;
  margin:0 0 20px;
}
.hero__title span{ color:var(--teal-soft); font-style:italic; font-weight:500; }

.hero__badge{
  display:inline-block; margin:0 0 26px;
  font-size:12px; letter-spacing:.28em; text-transform:uppercase; font-weight:600;
  color:var(--cream); border:1px solid rgba(237,232,224,.4);
  padding:8px 18px; border-radius:2px;
}
.hero__lead{
  max-width:52ch; color:var(--on-dark-mid);
  font-size:clamp(16.5px,1.7vw,19px); margin:0 0 34px;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:clamp(44px,6vw,68px); }

.specs{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; margin:0; background:var(--line-dark);
  border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
}
.specs > div{ background:rgba(9,15,17,.55); padding:20px 22px; }
.specs dt{
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--on-dark-mid); opacity:.75; margin-bottom:7px;
}
.specs dd{
  margin:0; font-family:var(--serif); font-size:clamp(17px,1.8vw,21px);
  color:var(--cream); font-weight:500; line-height:1.2;
}
@media (max-width:760px){
  .specs{ grid-template-columns:repeat(2,1fr); }
  .hero__cta .btn{ flex:1 1 100%; }
}

/* ---------- Provas ---------- */
.proof{ background:var(--cream); border-bottom:1px solid var(--line); }
.proof__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(24px,3vw,40px); padding-block:clamp(44px,5.5vw,64px);
}
.proof__item{ position:relative; padding-left:22px; }
.proof__item::before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:2px; background:var(--gold);
}
.proof__num{
  margin:0 0 6px; font-family:var(--serif); font-weight:700;
  font-size:clamp(32px,3.6vw,44px); line-height:1; color:var(--ink); letter-spacing:-.02em;
}
.proof__label{ margin:0; font-size:14px; line-height:1.5; color:var(--text-mid); }
@media (max-width:900px){ .proof__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .proof__grid{ grid-template-columns:1fr; } }

/* ---------- Grid de 2 colunas ---------- */
.grid-2{
  display:grid; grid-template-columns:1.35fr .95fr;
  gap:clamp(36px,5vw,72px); align-items:start;
}
@media (max-width:900px){ .grid-2{ grid-template-columns:1fr; } }

.ticks{ list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; }
.ticks li{ position:relative; padding-left:30px; font-size:16px; color:var(--text-mid); }
.ticks li::before{
  content:""; position:absolute; left:2px; top:.52em;
  width:11px; height:6px; border-left:1.8px solid var(--teal); border-bottom:1.8px solid var(--teal);
  transform:rotate(-45deg);
}
.ticks--light li{ color:var(--on-dark-mid); }
.ticks--light li::before{ border-color:var(--gold-soft); }

.when{
  background:var(--cream); border:1px solid var(--line);
  border-top:3px solid var(--gold);
  padding:clamp(28px,3.4vw,40px); border-radius:var(--r);
}
.when__kicker{
  margin:0 0 16px; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:600; color:var(--text-soft);
}
.when__big{
  margin:0 0 18px; font-family:var(--serif); font-weight:600;
  font-size:clamp(34px,4vw,46px); line-height:1.06; letter-spacing:-.02em; color:var(--ink);
}
.when__note{ margin:0 0 18px; font-size:15.5px; color:var(--text-mid); }

/* ---------- Cards ---------- */
.cards{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,24px);
}
.card{
  background:var(--paper); border:1px solid var(--line);
  padding:clamp(24px,2.6vw,32px); border-radius:var(--r);
}
.card__n{
  display:block; font-family:var(--serif); font-size:15px; font-weight:700;
  color:var(--gold); letter-spacing:.08em; margin-bottom:16px;
}
.card h3{
  font-family:var(--serif); font-size:20px; font-weight:600;
  margin:0 0 10px; line-height:1.25;
}
.card p{ margin:0; font-size:14.8px; color:var(--text-mid); line-height:1.6; }
@media (max-width:980px){ .cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cards{ grid-template-columns:1fr; } }

.hotel{
  display:grid; grid-template-columns:1fr 1fr; align-items:stretch;
  gap:0; margin-top:clamp(24px,3vw,40px);
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
}
.hotel__body{ padding:clamp(28px,3.6vw,48px); align-self:center; }
.hotel__body p:last-child{ margin-bottom:0; color:var(--text-mid); font-size:16px; }
.hotel img{ width:100%; height:100%; object-fit:cover; min-height:280px; }
@media (max-width:820px){
  .hotel{ grid-template-columns:1fr; }
  .hotel img{ order:-1; min-height:220px; max-height:300px; }
}

/* ---------- Timeline / Roteiro ---------- */
.timeline{
  list-style:none; margin:0 auto; padding:0;
  max-width:880px; position:relative;
}
.timeline::before{
  content:""; position:absolute; left:27px; top:14px; bottom:14px;
  width:1px; background:var(--line-dark);
}
.tl{ position:relative; display:flex; gap:clamp(20px,3vw,34px); padding-bottom:clamp(28px,3.4vw,40px); }
.tl:last-child{ padding-bottom:0; }

.tl__mark{ flex:0 0 56px; position:relative; z-index:1; }
.tl__mark span{
  display:flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%;
  background:var(--ink); border:1px solid rgba(185,148,80,.5);
  font-family:var(--serif); font-size:18px; font-weight:600; color:var(--gold-soft);
  letter-spacing:.02em;
}
.tl__body{ padding-top:4px; min-width:0; }
.tl__body h3{
  font-family:var(--serif); font-size:clamp(20px,2.3vw,25px); font-weight:600;
  color:var(--cream); margin:0 0 10px; line-height:1.25; letter-spacing:-.01em;
}
.tl__body p{ margin:0 0 8px; color:var(--on-dark-mid); font-size:15.8px; }
.tl__body p:last-child{ margin-bottom:0; }
.tl__body ul{ margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.tl__body ul li{
  position:relative; padding-left:20px; color:var(--on-dark-mid); font-size:15.8px; line-height:1.55;
}
.tl__body ul li::before{
  content:""; position:absolute; left:2px; top:.72em; width:7px; height:1px; background:var(--gold);
}
.tl__body strong{ color:var(--cream); font-weight:600; }
.tl__body em{ color:var(--cream); font-style:italic; }

.tag{
  display:inline-block; vertical-align:middle;
  font-family:var(--sans); font-size:10.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-dark-mid); border:1px solid var(--line-dark);
  padding:4px 10px; border-radius:2px; margin-left:10px; position:relative; top:-2px;
}

.tl__body .tl__flag{
  display:inline-block; margin:0 0 10px;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
  color:var(--ink); background:var(--gold-soft); padding:5px 12px; border-radius:2px;
}
.tl__body .tl__flag--alt{ background:var(--teal-soft); }

.tl--feature .tl__body{
  background:var(--ink-2); border:1px solid var(--line-dark);
  border-left:2px solid var(--gold);
  padding:clamp(22px,2.6vw,30px); border-radius:var(--r);
  margin-top:-4px;
}
.tl--feature .tl__mark span{ background:var(--gold); border-color:var(--gold); color:var(--ink); }

.roteiro__cta{ text-align:center; margin-top:clamp(44px,5vw,64px); }

@media (max-width:560px){
  .timeline::before{ left:19px; }
  .tl__mark{ flex-basis:40px; }
  .tl__mark span{ width:40px; height:40px; font-size:14px; }
  .tag{ margin-left:0; display:block; width:max-content; margin-top:8px; }
}

/* ---------- Galeria ---------- */
.gallery{
  display:grid; grid-template-columns:1fr 1fr 1fr;
  gap:2px; background:var(--ink);
}
.gallery__item{ margin:0; position:relative; overflow:hidden; background:var(--ink-2); }
.gallery__item img{
  width:100%; height:100%; object-fit:cover; aspect-ratio:4/3;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.gallery__item--tall img{ aspect-ratio:4/3; object-position:50% 22%; }
.gallery__item:hover img{ transform:scale(1.04); }
.gallery__item figcaption{
  position:absolute; inset:auto 0 0 0; padding:44px 22px 18px;
  background:linear-gradient(to top, rgba(9,15,17,.9), rgba(9,15,17,0));
  color:var(--cream); font-size:13.5px; line-height:1.45;
}
@media (max-width:820px){
  .gallery{ grid-template-columns:1fr 1fr; }
  .gallery__item--tall{ grid-column:1 / -1; }
  .gallery__item--tall img{ aspect-ratio:16/10; }
}
@media (max-width:520px){
  .gallery{ grid-template-columns:1fr; }
}

/* ---------- Incluso / Não incluso ---------- */
.inc{ display:grid; grid-template-columns:1.25fr .95fr; gap:clamp(20px,2.6vw,32px); align-items:start; }
.inc__col{ border:1px solid var(--line); border-radius:var(--r); padding:clamp(26px,3vw,38px); }
.inc__col--yes{ background:var(--cream); border-top:3px solid var(--teal); }
.inc__col--no{ background:var(--paper); border-top:3px solid var(--line); }

.inc__title{
  display:flex; align-items:center; gap:12px;
  font-family:var(--serif); font-size:22px; font-weight:600; margin:0 0 22px;
}
.inc__title svg{ width:24px; height:24px; flex:0 0 24px; fill:none; stroke-width:1.5; }
.inc__col--yes .inc__title svg{ stroke:var(--teal); }
.inc__col--no .inc__title svg{ stroke:var(--text-soft); }
.inc__title svg .mk{ stroke-linecap:round; stroke-linejoin:round; }

.inc ul{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.inc li{
  padding:13px 0; border-bottom:1px dashed var(--line);
  font-size:15.6px; line-height:1.55; color:var(--text);
}
.inc li:last-child{ border-bottom:0; padding-bottom:0; }
.inc .sub{
  display:block; margin-top:5px; font-size:14px; color:var(--text-soft); line-height:1.5;
}
.inc__col--no li{ color:var(--text-mid); }
@media (max-width:820px){ .inc{ grid-template-columns:1fr; } }

/* ---------- Investimento ---------- */
.invest{ background:var(--ink-2); }
.price{
  display:grid; grid-template-columns:1.05fr 1fr;
  gap:clamp(24px,3vw,40px); align-items:stretch;
  max-width:960px; margin-inline:auto;
}
.price__main{
  background:var(--ink); border:1px solid var(--line-dark);
  border-top:3px solid var(--gold);
  padding:clamp(30px,3.6vw,46px); border-radius:var(--r); text-align:center;
}
.price__label{
  margin:0 0 14px; font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--on-dark-mid); font-weight:600;
}
.price__value{
  margin:0 0 18px; font-family:var(--serif); font-weight:700; color:var(--cream);
  font-size:clamp(46px,6.4vw,72px); line-height:1; letter-spacing:-.03em;
}
.price__value span{ font-size:.42em; font-weight:600; vertical-align:.62em; margin-right:.12em; color:var(--gold-soft); }
.price__value .cents{ font-size:.34em; vertical-align:.9em; margin-left:.06em; margin-right:0; }
.price__terms{
  margin:0 0 26px; font-size:15.5px; color:var(--on-dark-mid);
  padding-top:20px; border-top:1px solid var(--line-dark);
}
.price__terms strong{ color:var(--cream); }
.price__fine{ margin:14px 0 0; font-size:12.5px; color:var(--text-soft); }

.price__side{
  list-style:none; margin:0; padding:clamp(24px,3vw,36px);
  border:1px solid var(--line-dark); border-radius:var(--r);
  display:grid; gap:0; align-content:center;
}
.price__side li{
  padding:14px 0 14px 28px; position:relative;
  border-bottom:1px solid var(--line-dark);
  font-size:15.2px; color:var(--on-dark-mid); line-height:1.5;
}
.price__side li:last-child{ border-bottom:0; }
.price__side li::before{
  content:""; position:absolute; left:2px; top:1.15em;
  width:11px; height:6px; border-left:1.8px solid var(--gold-soft); border-bottom:1.8px solid var(--gold-soft);
  transform:rotate(-45deg);
}
.price__side strong{ color:var(--cream); font-weight:600; }
@media (max-width:820px){ .price{ grid-template-columns:1fr; } }

/* ---------- Extensão Jeju ---------- */
.jeju{
  position:relative; background:var(--ink); color:var(--on-dark);
  padding-block:var(--sect); overflow:hidden; isolation:isolate;
}
.jeju__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 60%; z-index:-2;
}
.jeju__veil{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to bottom, rgba(10,17,19,.95) 0%, rgba(10,17,19,.88) 55%, rgba(10,17,19,.94) 100%);
}
.jeju__wordmark{
  width:min(380px,74vw); height:auto; margin:4px auto 26px; opacity:.95;
}

.jdays{
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,22px);
  margin-bottom:clamp(32px,4vw,52px);
}
.jday{
  background:rgba(20,33,38,.72); border:1px solid var(--line-dark);
  border-radius:var(--r); padding:clamp(22px,2.4vw,28px);
  backdrop-filter:blur(4px);
}
.jday__n{
  margin:0 0 10px; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  font-weight:600; color:var(--gold-soft);
}
.jday h3{
  font-family:var(--serif); font-size:20px; font-weight:600; color:var(--cream);
  margin:0 0 14px; line-height:1.25;
}
.jday ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.jday li{
  position:relative; padding-left:18px; font-size:14.6px; line-height:1.55; color:var(--on-dark-mid);
}
.jday li::before{
  content:""; position:absolute; left:0; top:.68em; width:6px; height:1px; background:var(--gold);
}
.jday strong{ color:var(--cream); font-weight:600; }
@media (max-width:980px){ .jdays{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .jdays{ grid-template-columns:1fr; } }

.jgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,2.6vw,32px); align-items:start; }
.jpanel{
  background:rgba(20,33,38,.82); border:1px solid var(--line-dark);
  border-radius:var(--r); padding:clamp(26px,3vw,38px); backdrop-filter:blur(4px);
}
.jpanel--price{ border-top:3px solid var(--gold); }
.jpanel__title{
  font-family:var(--serif); font-size:22px; font-weight:600; color:var(--cream);
  margin:0 0 20px;
}
.jpanel .ticks{ margin-top:0; }

.tier{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:16px 0; border-bottom:1px solid var(--line-dark);
}
.tier__cond{ margin:0; font-size:14.5px; color:var(--on-dark-mid); }
.tier__val{
  margin:0; font-family:var(--serif); font-size:clamp(24px,2.8vw,30px);
  font-weight:600; color:var(--cream); letter-spacing:-.01em;
}
.warn{
  display:flex; gap:11px; align-items:flex-start;
  margin:20px 0 24px; font-size:14px; line-height:1.5; color:var(--gold-soft);
}
.warn svg{ width:18px; height:18px; flex:0 0 18px; margin-top:1px; fill:none; stroke:var(--gold); stroke-width:1.5; }
.warn svg .mk{ stroke-linecap:round; }
@media (max-width:820px){ .jgrid{ grid-template-columns:1fr; } }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--serif); font-size:clamp(17.5px,2vw,21px); font-weight:600;
  color:var(--text); line-height:1.35;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after,
.faq summary::before{
  content:""; position:absolute; right:8px; top:50%; background:var(--teal);
  transition:transform .25s ease, opacity .25s ease;
}
.faq summary::before{ width:15px; height:1.5px; transform:translateY(-50%); }
.faq summary::after{ width:1.5px; height:15px; right:14.75px; transform:translateY(-50%); }
.faq details[open] summary::after{ transform:translateY(-50%) rotate(90deg); opacity:0; }
.faq summary:hover{ color:var(--teal-dark); }
.faq__a{ padding:0 44px 24px 0; }
.faq__a p{ margin:0; color:var(--text-mid); font-size:16px; }

/* ---------- CTA final ---------- */
.final{
  background:var(--ink); color:var(--on-dark);
  padding-block:clamp(72px,9vw,116px); position:relative; overflow:hidden;
}
.final__in{ text-align:center; position:relative; }
.final__plane{
  width:120px; opacity:.16; margin:0 auto 6px;
  filter:brightness(0) invert(1);
}
.final .kicker{ text-align:center; }
.final__cta{
  display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:32px;
}
.final__proof{ margin:30px 0 0; }
.final__proof a{
  color:var(--on-dark-mid); font-size:14.5px; text-decoration:none;
  border-bottom:1px solid var(--line-dark); padding-bottom:3px;
}
.final__proof a:hover{ color:var(--cream); border-bottom-color:var(--gold); }
@media (max-width:560px){ .final__cta .btn{ flex:1 1 100%; } }

/* ---------- Footer ---------- */
.foot{ background:#0A1113; color:var(--on-dark-mid); border-top:1px solid var(--line-dark); }
.foot__in{
  display:grid; grid-template-columns:1.2fr 1fr 1fr;
  gap:clamp(30px,4vw,56px); padding-block:clamp(48px,6vw,72px);
}
.foot__brand img{ width:118px; margin-bottom:18px; }
.foot__brand p{ margin:0; font-size:14.5px; max-width:34ch; line-height:1.6; }

.foot__col h4{
  margin:0 0 16px; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cream); font-weight:600;
}
.foot__cadastur{ width:150px; margin-bottom:18px; opacity:.9; }
.foot address{ font-style:normal; font-size:14px; line-height:1.7; }
.foot address strong{ color:var(--cream); font-weight:600; }

.foot__links{ list-style:none; margin:0 0 16px; padding:0; display:grid; gap:10px; }
.foot__links a{
  font-size:14.2px; text-decoration:none; color:var(--on-dark-mid);
  border-bottom:1px solid transparent; transition:color .18s ease, border-color .18s ease;
}
.foot__links a:hover{ color:var(--cream); border-bottom-color:var(--gold); }
.foot__note{ margin:0; font-size:13px; color:var(--text-soft); }

.foot__bar{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding-block:20px; border-top:1px solid var(--line-dark);
}
.foot__bar p{ margin:0; font-size:12.5px; color:var(--text-soft); }
@media (max-width:820px){ .foot__in{ grid-template-columns:1fr; } }

/* ---------- WhatsApp flutuante ---------- */
.wafloat{
  position:fixed; right:18px; bottom:18px; z-index:90;
  width:56px; height:56px; border-radius:50%;
  background:#1FA855; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px rgba(0,0,0,.32);
  transition:transform .2s ease, background .2s ease;
}
.wafloat:hover{ background:#178A45; transform:translateY(-2px); }
.wafloat svg{ width:30px; height:30px; fill:currentColor; }

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{ opacity:0; transform:translateY(18px); }
  .reveal.is-in{
    opacity:1; transform:none;
    transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
  }
}

@media print{
  .nav, .wafloat, .drawer, .utility{ display:none !important; }
  body{ font-size:12pt; }
  .hero__bg, .jeju__bg{ display:none; }
}

/* ---------- Modal Lead Captura ---------- */
.lead-modal[hidden]{ display:none !important; }

.lead-modal{
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  padding:var(--pad);
  overflow-y:auto; overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
/* Em telas baixas (celular com o teclado aberto) o modal precisa rolar,
   senão o botão "Ir para o WhatsApp" fica fora do alcance. */
@media (max-height:700px){
  .lead-modal{ align-items:flex-start; }
}

.lead-modal__overlay{
  /* fixed (e não absolute) para o fundo escuro não rolar junto com o conteúdo */
  position:fixed; inset:0;
  background:rgba(9,15,17,.84);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  animation:modalFadeIn .3s ease forwards;
}

.lead-modal__content{
  position:relative; z-index:1; width:100%; max-width:480px;
  background:var(--ink-2); border:1px solid var(--line-dark);
  border-top:3px solid var(--gold); border-radius:8px;
  padding:clamp(24px,5vw,36px);
  box-shadow:0 20px 50px rgba(0,0,0,.6);
  animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1) forwards;
}

@keyframes modalFadeIn{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes modalSlideUp{
  from{ opacity:0; transform:translateY(24px) scale(.96); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}

.lead-modal__close{
  position:absolute; top:14px; right:14px;
  background:transparent; border:0; color:var(--on-dark-mid);
  font-size:28px; line-height:1; width:36px; height:36px;
  border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:color .2s ease, background .2s ease;
}
.lead-modal__close:hover{ color:var(--cream); background:rgba(237,232,224,.10); }

.lead-modal__header{ text-align:center; margin-bottom:24px; }
.lead-modal__badge{
  display:inline-block; font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; font-weight:600; color:var(--gold-soft);
  margin-bottom:8px;
}
.lead-modal__title{
  font-family:var(--serif); font-size:clamp(22px,3vw,26px);
  font-weight:600; color:var(--cream); margin:0 0 10px; line-height:1.25;
}
.lead-modal__desc{ font-size:14.5px; color:var(--on-dark-mid); margin:0; line-height:1.5; }

.lead-modal__form{ display:flex; flex-direction:column; gap:18px; }

.form-group{ display:flex; flex-direction:column; gap:6px; text-align:left; }
.form-group label{ font-size:13.5px; font-weight:600; color:var(--cream); }
.form-group input{
  width:100%; padding:13px 16px;
  background:rgba(13,21,24,.7); border:1px solid var(--line-dark);
  border-radius:var(--r); color:var(--cream);
  font-family:var(--sans); font-size:15px; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.form-group input::placeholder{ color:var(--text-soft); opacity:.7; }
.form-group input:focus{
  border-color:var(--gold-soft);
  box-shadow:0 0 0 3px rgba(185,148,80,.2);
}
.form-group input.is-invalid{ border-color:#E53935; }

.form-error{ font-size:12px; color:#FF6B6B; min-height:16px; }

.lead-modal__submit{ margin-top:4px; padding:16px; font-size:16px; cursor:pointer; }
.lead-modal__privacy{
  display:flex; align-items:center; justify-content:center; gap:6px;
  font-size:12.5px; color:var(--text-soft); margin:4px 0 0; text-align:center;
}

