/* =========================================================
   SEVEN ODONTOLOGIA — padrão de marca (header + hero)
   Estrutura e tipografia herdadas da referência aprovada,
   paleta dourada da Seven + foto da Dra no fundo.
   ========================================================= */

@font-face { font-family:"Aspekta"; src:url(fonts/Aspekta-400.woff2) format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Aspekta"; src:url(fonts/Aspekta-600.woff2) format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Roboto Mono"; src:url(fonts/RobotoMono-Regular.woff2) format("woff2"); font-weight:400; font-style:normal; font-display:swap; }

:root {
  --cream:#EFE7D6;       /* fundo / margem do frame */
  --ink:#2A2017;         /* texto escuro */
  --gold:#B8924E;        /* dourado da marca */
  --gold-2:#CBA868;
  --gold-light:#E7CF98;  /* destaque sobre fundo escuro */
  --gold-deep:#8A6A38;
  --on-hero:#F7F1E6;     /* texto sobre a foto */
  --off-white:#F7F4EE;   /* hover dos itens de menu */
  --family-1:"Aspekta", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --family-2:"Roboto Mono", Menlo, Consolas, Monaco, monospace;
  --pad: clamp(20px, 4vw, 48px);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; scrollbar-width:thin; scrollbar-color:var(--gold) var(--cream); }
body { font-family:var(--family-1); color:var(--ink); background:var(--cream); -webkit-font-smoothing:antialiased; }

/* Scrollbar personalizada (WebKit) */
::-webkit-scrollbar { width:11px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:20px; border:3px solid var(--cream); }
::-webkit-scrollbar-thumb:hover { background:var(--gold-deep); }

/* Animação de entrada */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .9s cubic-bezier(.2,.6,.2,1), transform .9s cubic-bezier(.2,.6,.2,1); }
.reveal.in { opacity:1; transform:none; }
.reveal[data-d="1"] { transition-delay:.12s; }
.reveal[data-d="2"] { transition-delay:.24s; }
.reveal[data-d="3"] { transition-delay:.36s; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
p { margin:0; }

/* ===================== HEADER ===================== */
.hdr { position:fixed; top:0; left:0; right:0; z-index:100; padding:20px var(--pad) 0; pointer-events:none; }
@media (min-width:1025px){ .hdr { padding-top:30px; } }
.hdr_inner { display:flex; align-items:center; justify-content:space-between; width:100%; column-gap:20px; }

.logo { pointer-events:auto; display:inline-flex; }
.logo img { height:32px; width:auto; }
@media (min-width:1025px){ .logo img { height:36px; } }

.menu_pill { pointer-events:auto; display:inline-flex; align-items:center; column-gap:12px; }
@media (min-width:1025px){
  .menu_pill {
    background:rgba(247,244,238,.82); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border:1px solid rgba(42,32,23,.06); border-radius:12px; padding:4px 4px 4px 12px;
  }
}
.menu { display:none; }
@media (min-width:1025px){ .menu { display:inline-flex; column-gap:1px; } }
.nav_item {
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--family-2); font-weight:400; text-transform:uppercase; letter-spacing:0; line-height:1;
  font-size:max(.75rem, min(calc(.75rem + .002 * (100vw - 27.5rem)), .875rem));
  color:var(--ink); height:39px; padding:8px 17px; border-radius:8px;
  transition:background-color .4s cubic-bezier(.2,.6,.2,1);
}
.nav_item:hover { background:var(--off-white); }

.cta {
  display:none; align-items:center; justify-content:center;
  font-family:var(--family-2); font-weight:400; text-transform:uppercase; letter-spacing:0; line-height:1;
  font-size:max(.75rem, min(calc(.75rem + .002 * (100vw - 27.5rem)), .875rem));
  color:var(--ink); background:var(--gold); height:39px; padding:8px 18px; border-radius:8px;
  transition:background-color .4s cubic-bezier(.2,.6,.2,1);
}
@media (min-width:1025px){ .cta { display:inline-flex; } }
.cta:hover { background:var(--gold-2); }

.burger {
  display:inline-flex; align-items:center; justify-content:center; flex-direction:column; gap:6px;
  width:48px; height:48px; background:var(--ink); border:none; border-radius:12px; cursor:pointer;
}
.burger span { width:24px; height:1px; background:var(--gold); transition:transform .5s cubic-bezier(.2,.6,.2,1); }
.burger.open span:nth-child(1){ transform:translateY(3.5px) rotate(45deg); }
.burger.open span:nth-child(2){ transform:translateY(-3.5px) rotate(-45deg); }
@media (min-width:1025px){ .burger { display:none; } }

.popup {
  position:fixed; inset:8px; z-index:99; background:var(--ink); border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  opacity:0; visibility:hidden; transition:opacity .5s cubic-bezier(.2,.6,.2,1), visibility .5s;
}
.popup.open { opacity:1; visibility:visible; }
.popup a { color:var(--on-hero); font-family:var(--family-1); font-size:2.25rem; letter-spacing:-.02em; line-height:1.1; }
.popup a:last-child { color:var(--gold-light); }

/* ===================== HERO ===================== */
.hero { position:relative; z-index:1; height:100svh; min-height:600px; }
.hero_bg { position:fixed; inset:0; z-index:0; }
.hero_frame { position:absolute; inset:8px; border-radius:20px; overflow:hidden; background:#3a2a1b; }
@media (min-width:1025px){ .hero_frame { inset:12px; } }
.hero_frame picture { display:block; width:100%; height:100%; }
.hero_frame img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero_frame::after {
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(96deg, rgba(28,18,8,.85) 0%, rgba(28,18,8,.62) 40%, rgba(28,18,8,.24) 62%, transparent 82%),
    linear-gradient(0deg, rgba(28,18,8,.55) 0%, rgba(28,18,8,0) 34%);
}

.hero_main { position:relative; z-index:1; height:100svh; min-height:600px; color:var(--on-hero); }
.hero_inner {
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; row-gap:60px;
  height:100%; padding:0 var(--pad);
  padding-top:max(124px, min(calc(124px + (158 - 124) * ((100vw - 440px) / 1000)), 158px));
  padding-bottom:max(36px, min(calc(36px + .012 * (100vw - 440px)), 52px));
}
.hero_heading {
  font-family:var(--family-1); font-weight:400;
  font-size:max(3.125rem, min(calc(3.125rem + .062 * (100vw - 27.5rem)), 7rem));
  letter-spacing:-.03em; line-height:1em; max-width:880px; text-wrap:pretty;
}
.hero_heading em { color:var(--gold-light); font-style:normal; }
.hero_bottom { display:flex; flex-direction:column; align-items:flex-start; gap:26px; width:100%; max-width:880px; }
@media (min-width:1025px){ .hero_bottom { flex-direction:row; align-items:flex-end; gap:48px; } }
.hero_text {
  font-family:var(--family-1); font-weight:400;
  font-size:max(1.25rem, min(calc(1.25rem + .004 * (100vw - 27.5rem)), 1.5rem));
  letter-spacing:-.02em; line-height:1.25em; max-width:560px; text-wrap:pretty;
  color:var(--on-hero);
}
.hero_btn { flex:none; }
.btn_pill {
  display:inline-flex; align-items:center; gap:14px;
  background:var(--off-white); color:var(--ink); border-radius:999px;
  padding:6px 6px 6px 26px; height:58px; white-space:nowrap;
  font-family:var(--family-1); font-weight:400; font-size:1.0625rem;
  transition:background-color .4s cubic-bezier(.2,.6,.2,1), transform .4s cubic-bezier(.2,.6,.2,1);
}
.btn_pill:hover { background:#fff; transform:translateY(-1px); }
.btn_circle {
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%; background:var(--gold); color:var(--ink); flex:none;
  transition:background-color .4s cubic-bezier(.2,.6,.2,1);
}
.btn_pill:hover .btn_circle { background:var(--gold-2); }

/* Registro / responsável técnica no canto do hero */
.hero_meta { position:absolute; right:var(--pad); z-index:2; display:flex; flex-direction:column; align-items:flex-end; gap:5px; text-align:right;
  bottom:max(36px, min(calc(36px + .012 * (100vw - 440px)), 52px)); }
.hero_meta_label { font-family:var(--family-2); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(247,241,230,.55); }
.hero_meta_name { font-family:var(--family-2); font-size:.8rem; letter-spacing:.03em; text-transform:uppercase; color:rgba(247,241,230,.9); }
.hero_meta_name i { color:var(--gold-light); font-style:normal; padding:0 .15em; }
@media (max-width:1024px){ .hero_meta { display:none; } }

/* Kicker (apenas mobile): registro acima da headline */
.hero_kicker { display:none; }
@media (max-width:1024px){
  .hero_kicker { display:inline-flex; align-items:center; font-family:var(--family-2); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(247,241,230,.82); margin-bottom:-12px; }
  .hero_kicker i { color:var(--gold-light); font-style:normal; padding:0 .4em; }
}

/* ===================== SEÇÃO 2 — POR QUE A SEVEN ===================== */
/* Container alinhado 1:1 com a header e o hero (mesma margem lateral, largura cheia) */
.container { width:100%; margin:0; padding:0 var(--pad); }
.plat { background:var(--cream); padding:clamp(64px,8vw,112px) 0; position:relative; z-index:1; }
.plat_inner { display:flex; flex-direction:column; gap:26px; }
.plat_topline { display:none; }
.plat_content { display:flex; flex-direction:column; row-gap:max(20px, min(calc(20px + .04 * (100vw - 440px)), 60px)); }

@media (min-width:1025px){
  .plat_inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    grid-template-areas:"label topright" "image content";
    column-gap:56px; row-gap:26px; align-items:start;
  }
  .plat_label { grid-area:label; }
  .plat_topline { grid-area:topright; display:block; position:relative; height:12px; }
  .plat_topline::before {
    content:""; position:absolute; top:0; left:0; width:100%; height:12px;
    border:1px solid var(--ink); border-bottom:0; border-radius:8px 8px 0 0; opacity:.12;
  }
  .plat_imgbox { grid-area:image; }
  .plat_content { grid-area:content; }
}

.plat_label { position:relative; padding-top:42px; display:inline-flex; align-items:center; gap:9px; font-family:var(--family-2); font-size:.8125rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); }
.plat_label::before {
  content:""; position:absolute; top:0; left:0; width:100%; height:12px;
  border:1px solid var(--ink); border-bottom:0; border-radius:8px 8px 0 0; opacity:.12;
}
.plat_dot { width:9px; height:9px; border-radius:2px; background:var(--gold); flex:none; }

.plat_imgbox { width:100%; aspect-ratio:4 / 5; border-radius:20px; overflow:hidden; background:#3a2a1b; }
.plat_imgbox img { width:100%; height:100%; object-fit:cover; object-position:75% center; }

.plat_heading {
  font-family:var(--family-1); font-weight:400;
  font-size:max(1.625rem, min(calc(1.625rem + .05 * (100vw - 27.5rem)), 4.75rem));
  letter-spacing:-.02em; line-height:1.1em; color:var(--ink); text-wrap:balance;
}
.plat_heading span { color:var(--gold); }
.plat_text {
  font-family:var(--family-1); font-weight:400;
  font-size:max(1rem, min(calc(1rem + .003 * (100vw - 27.5rem)), 1.1875rem));
  letter-spacing:-.02em; line-height:1.3em; color:rgba(42,32,23,.8); max-width:790px;
}
.plat_btn { margin-top:14px; }

.btn_pill--dark { background:var(--ink); color:var(--on-hero); }
.btn_pill--dark:hover { background:#1d160e; }
.btn_pill--dark .btn_circle { background:var(--gold); color:var(--ink); }

/* ===================== FAIXA DE PROCEDIMENTOS (loop) ===================== */
.marquee { overflow:hidden; padding:18px 0; display:flex; position:relative; z-index:1; background:var(--cream); }
.marquee_track { display:inline-flex; align-items:center; gap:26px; white-space:nowrap; animation:marquee 46s linear infinite; will-change:transform; }
.marquee:hover .marquee_track { animation-play-state:paused; }
.marquee_track span { font-family:var(--family-1); font-weight:400; font-size:clamp(1rem, 1.5vw, 1.3125rem); letter-spacing:-.02em; color:var(--ink); }
.marquee_track i { font-style:normal; font-size:.7em; color:var(--gold); }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ===== Cabeçalho de seção (compartilhado) ===== */
.sec_head { max-width:920px; margin-bottom:clamp(40px,5vw,64px); }
.kicker_line { display:inline-flex; align-items:center; gap:9px; font-family:var(--family-2); font-size:.8125rem; letter-spacing:.04em; text-transform:uppercase; margin-bottom:22px; color:var(--gold-deep); }
.kicker_line .dot { width:9px; height:9px; border-radius:2px; background:var(--gold); flex:none; }
.sec_title { font-family:var(--family-1); font-weight:400; font-size:max(1.75rem, min(calc(1.75rem + .045 * (100vw - 27.5rem)), 4rem)); letter-spacing:-.02em; line-height:1.08em; color:var(--ink); text-wrap:balance; }

/* ===================== SEÇÃO 3 — ESPECIALIDADES (clara, galeria) ===================== */
.spec { background:var(--cream); color:var(--ink); position:relative; z-index:1; padding:clamp(86px,9vw,134px) 0; }
.spec .kicker_line { color:var(--gold-deep); }
.spec .sec_title { color:var(--ink); }
.spec .sec_title span { color:var(--gold); }

/* Galeria que expande (hover no desktop, toque no mobile) */
.eg { display:flex; gap:8px; width:100%; height:clamp(380px,46vw,580px); }
.eg_item { position:relative; flex:1 1 0; min-width:0; min-height:0; border-radius:24px; overflow:hidden; cursor:pointer; transition:flex .55s cubic-bezier(.4,0,.2,1); }
.eg_item img { width:100%; height:100%; object-fit:cover; }
.eg_item.is-active { flex:5 1 0; }
.eg_grad { position:absolute; inset:0; background:linear-gradient(to top, rgba(20,14,8,.6), rgba(20,14,8,0) 55%); opacity:0; transition:opacity .4s ease; }
.eg_item.is-active .eg_grad { opacity:1; }
.eg_label { position:absolute; left:0; bottom:0; padding:22px 26px; font-family:var(--family-1); font-weight:400; font-size:clamp(1.1rem,1.5vw,1.6rem); letter-spacing:-.01em; color:#fff; white-space:nowrap; opacity:0; transform:translateY(8px); transition:opacity .4s ease, transform .4s ease; }
.eg_item.is-active .eg_label { opacity:1; transform:none; }

/* Hover apenas em dispositivos com mouse */
@media (hover:hover) and (pointer:fine){
  .eg:hover .eg_item { flex:1 1 0; }
  .eg:hover .eg_item:hover { flex:5 1 0; }
  .eg:hover .eg_item .eg_grad { opacity:0; }
  .eg:hover .eg_item:hover .eg_grad { opacity:1; }
  .eg:hover .eg_item .eg_label { opacity:0; transform:translateY(8px); }
  .eg:hover .eg_item:hover .eg_label { opacity:1; transform:none; }
}

/* Mobile: galeria na vertical (empilhada) */
@media (max-width:760px){
  .eg { flex-direction:column; gap:6px; height:clamp(600px,150vw,800px); }
  .eg_label { padding:16px 18px; font-size:1.1rem; white-space:normal; }
}

/* ===================== SEÇÃO 4 — VOCÊ SE IDENTIFICA (clara, split) ===================== */
.dores { background:var(--cream); color:var(--ink); position:relative; z-index:1; padding:clamp(72px,8vw,120px) 0; }
.dores_inner { display:flex; flex-direction:column; gap:40px; }
@media (min-width:1025px){
  .dores_inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:56px; align-items:start; }
  .dores_head { position:sticky; top:120px; }
}
.dores_head .sec_title span { color:var(--gold); }
.dores_intro { margin-top:20px; color:rgba(42,32,23,.7); font-size:1.0625rem; line-height:1.5; max-width:380px; }
.dores_btn { margin-top:32px; }
.dores_list { border-top:1px solid rgba(42,32,23,.13); }
.dor { display:grid; grid-template-columns:52px 1fr; column-gap:20px; row-gap:8px; padding:26px 0; border-bottom:1px solid rgba(42,32,23,.13); }
.dor_idx { grid-row:span 2; font-family:var(--family-2); font-size:.82rem; color:var(--gold-deep); padding-top:7px; }
.dor_q { font-family:var(--family-1); font-weight:400; font-size:clamp(1.3rem,1.9vw,1.7rem); line-height:1.12; color:var(--ink); }
.dor_a { font-size:1rem; line-height:1.5; color:rgba(42,32,23,.7); }

/* ===== Variações de cabeçalho ===== */
.kicker_line.light { color: var(--gold-2); }
.sec_title span { color: var(--gold); }
.sec_title.light { color: var(--on-hero); }
.sec_title.light span { color: var(--gold-light); }

/* ===================== SEÇÃO 5 — COMO FUNCIONA (escura) ===================== */
.jornada { background: var(--ink); color: var(--on-hero); position: relative; z-index: 1; padding: clamp(86px,9vw,134px) 0; }
.jor_top { display: grid; grid-template-columns: 1fr; gap: 30px; margin-bottom: clamp(40px,5vw,64px); }
@media (min-width:1025px){ .jor_top { grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; } }
.jor_top .sec_head { max-width: none; margin-bottom: 0; }
.jor_fig { border-radius: 20px; overflow: hidden; aspect-ratio: 5/2; box-shadow: 0 36px 80px -45px rgba(0,0,0,.7); }
.jor_fig img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
@media (max-width:760px){ .jor_fig { aspect-ratio: 16/9; } }
.jor_list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; }
.jor { display: grid; grid-template-columns: 52px 1fr; gap: 22px; padding: 30px 0; border-top: 1px solid rgba(247,241,230,.14); align-items: start; }
.jor_ic { width: 52px; height: 52px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(231,207,152,.3); border-radius: 13px; background: rgba(231,207,152,.05); color: var(--gold-2); }
.jor_ic svg { width: 26px; height: 26px; }
.jor_c h3 { font-family: var(--family-1); font-weight: 400; font-size: clamp(1.3rem,1.9vw,1.7rem); color: var(--on-hero); line-height: 1.15; }
.jor_c p { margin-top: 10px; color: rgba(247,241,230,.66); font-size: 1rem; line-height: 1.55; }
@media (max-width:760px){ .jor_list { grid-template-columns: 1fr; gap: 0; } }

/* ===================== SEÇÃO 6 — A CLÍNICA (clara) ===================== */
.sobre { background: var(--cream); color: var(--ink); position: relative; z-index: 1; padding: clamp(86px,9vw,134px) 0; }
.sobre_grid { display: grid; grid-template-columns: 1fr; gap: 44px; align-items: center; }
@media (min-width:1025px){ .sobre_grid { grid-template-columns: 1.05fr .95fr; gap: 52px; } }
.sobre_txt .sec_title { margin-top: 18px; font-size: max(1.7rem, min(calc(1.7rem + .03 * (100vw - 27.5rem)), 2.7rem)); }
.sobre_txt > p { margin-top: 20px; color: rgba(42,32,23,.72); font-size: 1.05rem; line-height: 1.65; max-width: 500px; }
.sobre_txt strong { color: var(--ink); font-weight: 600; }
.sobre_list { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.sobre_list li { position: relative; padding-left: 24px; font-size: 1rem; color: var(--ink); }
.sobre_list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 11px; height: 11px; border-radius: 3px; background: var(--gold); }
.sobre_fig { position: relative; border-radius: 20px; overflow: hidden; height: clamp(420px,66vw,480px); width: 100%; box-shadow: 0 40px 80px -45px rgba(40,28,12,.5); }
@media (min-width:1025px){ .sobre_fig { height: clamp(480px,46vw,620px); } }
.sobre_fig img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }

/* ===================== SEÇÃO 7 — NOVIDADES (estilo newsroom) ===================== */
.news { background: var(--cream); color: var(--ink); position: relative; z-index: 1; padding: clamp(50px,5.5vw,76px) 0; }
.news_head { display: flex; flex-direction: column; gap: 18px; margin-bottom: clamp(26px,3.4vw,42px); }
@media (min-width:1025px){ .news_head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.news_title { font-family: var(--family-1); font-weight: 400; font-size: max(2.5rem, min(calc(2.5rem + .03*(100vw - 27.5rem)), 4rem)); letter-spacing: -.02em; line-height: 1; color: var(--ink); }
.news_all { align-self: flex-start; }

/* card destaque = slider de procedimentos (corpo fixo + setas) */
.news_feat { position: relative; background: #fff; border-radius: 24px; overflow: hidden; margin-bottom: 20px; box-shadow: 0 30px 70px -45px rgba(40,28,12,.4); cursor: pointer; display: grid; grid-template-rows: 220px auto; transition: transform .45s cubic-bezier(.2,.6,.2,1), box-shadow .45s cubic-bezier(.2,.6,.2,1); }
@media (min-width:1025px){ .news_feat { grid-template-rows: none; grid-template-columns: 1.05fr 1fr; min-height: clamp(330px, 30vw, 390px); } }
.news_feat:hover { transform: translateY(-5px); box-shadow: 0 46px 92px -45px rgba(40,28,12,.5); }
.news_feat:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.feat_media { position: relative; overflow: hidden; }
.feat_ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; visibility: hidden; transition: opacity .7s cubic-bezier(.2,.6,.2,1); }
.feat_ph.is-active { opacity: 1; visibility: visible; }
.feat_body { padding: clamp(24px,3.4vw,46px); display: flex; flex-direction: column; justify-content: center; }
.feat_textwrap { display: grid; }
.feat_text { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .6s cubic-bezier(.2,.6,.2,1); }
.feat_text.is-active { opacity: 1; visibility: visible; }
.feat_title { font-family: var(--family-1); font-weight: 400; font-size: clamp(1.4rem, 2.2vw, 2.1rem); line-height: 1.15; color: var(--ink); }
.feat_excerpt { margin-top: 14px; color: rgba(42,32,23,.7); font-size: 1rem; line-height: 1.5; max-width: 440px; }
.feat_nav { display: flex; gap: 10px; margin-top: 22px; align-self: flex-start; }
.feat_arrow { width: 46px; height: 46px; border-radius: 12px; border: 1px solid rgba(42,32,23,.18); background: transparent; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s cubic-bezier(.2,.6,.2,1), border-color .3s cubic-bezier(.2,.6,.2,1), color .3s cubic-bezier(.2,.6,.2,1), transform .2s ease; }
.feat_arrow:hover { background: var(--ink); border-color: var(--ink); color: var(--on-hero); }
.feat_arrow:active { transform: scale(.94); }
.feat_arrow svg { width: 20px; height: 20px; }
@media (max-width:560px){ .feat_title { font-size: 1.35rem; } .feat_excerpt { font-size: .95rem; margin-top: 12px; } }

/* meta + read (compartilhado) */
.news_meta { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; min-height: 26px; }
.news_cat { font-family: var(--family-2); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-deep); background: rgba(184,146,78,.14); padding: 5px 11px; border-radius: 6px; }
.news_meta time { font-family: var(--family-2); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; color: rgba(42,32,23,.5); }
.news_read { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--family-2); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-deep); }
.news_read i { font-style: normal; font-size: 1.1em; transition: transform .35s cubic-bezier(.2,.6,.2,1); }
.news_feat:hover .news_read i { transform: translateX(5px); }

/* grid de 3 cards */
.news_grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width:1025px){ .news_grid { grid-template-columns: repeat(3, 1fr); } }
.news_card { display: flex; flex-direction: column; background: #fff; border-radius: 24px; padding: clamp(26px,2.6vw,32px); min-height: 210px; box-shadow: 0 30px 70px -50px rgba(40,28,12,.35); transition: transform .45s cubic-bezier(.2,.6,.2,1); }
.news_card:hover { transform: translateY(-5px); }
.news_card .card_title { font-family: var(--family-1); font-weight: 400; font-size: 1.35rem; line-height: 1.2; color: var(--ink); margin-top: auto; }
.news_card .news_read { margin-top: 20px; }
.news_card:hover .news_read i { transform: translateX(5px); }
/* card escuro */
.news_card--dark { background: var(--ink); }
.news_card--dark .card_title { color: var(--on-hero); }
.news_card--dark .news_cat { background: rgba(247,241,230,.12); color: var(--gold-light); }
.news_card--dark .news_meta time { color: rgba(247,241,230,.5); }
.news_card--dark .news_read { color: var(--gold-light); }
/* card dourado */
.news_card--gold { background: var(--gold-deep); }
.news_card--gold .card_title { color: var(--on-hero); }
.news_card--gold .news_cat { background: rgba(255,255,255,.16); color: #fff; }
.news_card--gold .news_meta time { color: rgba(247,241,230,.7); }
.news_card--gold .news_read { color: var(--on-hero); }

/* ===================== SEÇÃO 8 — CONTATO (escura, 2 colunas + mapa) ===================== */
.contato { background: #1D1610; color: var(--on-hero); position: relative; z-index: 1; overflow: hidden; padding: clamp(74px,8vw,124px) 0; }
.cta_glow { position: absolute; top: 34%; left: 20%; transform: translate(-50%,-50%); width: 60vw; height: 60vw; max-width: 720px; max-height: 720px; background: radial-gradient(circle, rgba(194,160,89,.15), transparent 60%); pointer-events: none; z-index: 0; }
.contato_grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr; gap: clamp(34px,5vw,60px); align-items: stretch; }
@media (min-width:1025px){ .contato_grid { grid-template-columns: 1fr 1fr; } }
.contato_info { max-width: 600px; align-self: center; }
.contato_info .kicker_line { justify-content: flex-start; }
.cta_h { font-family: var(--family-1); font-weight: 400; font-size: clamp(2.1rem,4.2vw,3.5rem); line-height: 1.05; letter-spacing: -.02em; color: var(--on-hero); margin-top: 16px; }
.cta_h em { color: var(--gold-light); font-style: normal; }
.contato_lead { margin: 22px 0 0; max-width: 520px; color: rgba(247,241,230,.7); font-size: 1.06rem; line-height: 1.6; }
.contato_cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.cto_card { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border: 1px solid rgba(247,241,230,.14); border-radius: 14px; text-align: left; transition: border-color .35s cubic-bezier(.2,.6,.2,1), background .35s cubic-bezier(.2,.6,.2,1); }
.cto_card:last-child { grid-column: 1 / -1; }
.cto_card span { font-family: var(--family-2); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-2); }
.cto_card strong { font-weight: 400; font-size: 1rem; color: var(--on-hero); }
a.cto_card:hover { border-color: var(--gold); background: rgba(247,241,230,.03); }
.contato .hero_act { display: flex; justify-content: flex-start; margin-top: 28px; }
.contato_reg { margin-top: 26px; font-family: var(--family-2); font-size: .74rem; letter-spacing: .04em; color: rgba(247,241,230,.55); line-height: 1.8; max-width: 520px; }
/* mapa */
.contato_map { position: relative; border-radius: 20px; overflow: hidden; min-height: 420px; height: 100%; border: 1px solid rgba(247,241,230,.16); box-shadow: 0 44px 90px -55px rgba(0,0,0,.9); }
.contato_map iframe { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 420px; border: 0; display: block; }
.map_cta { position: absolute; left: 16px; bottom: 16px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 999px; background: rgba(16,12,7,.85); color: var(--on-hero); font-family: var(--family-2); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid rgba(247,241,230,.16); transition: background .3s cubic-bezier(.2,.6,.2,1), transform .3s cubic-bezier(.2,.6,.2,1); }
.map_cta:hover { background: var(--gold-deep); transform: translateY(-2px); }
.map_cta svg { color: var(--gold-light); }
@media (max-width:760px){ .contato_cards { grid-template-columns: 1fr; } .cto_card:last-child { grid-column: auto; } .contato_map { min-height: 320px; } .contato_map iframe { min-height: 320px; } }

/* ===================== FOOTER ===================== */
.ft { background: #100C07; color: rgba(247,241,230,.6); padding: 76px 0 30px; position: relative; z-index: 1; }
.ft_grid { display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1.2fr; gap: 40px; }
.ft_brand img { height: 46px; width: auto; margin-bottom: 18px; }
.ft_brand p { max-width: 320px; font-size: .96rem; line-height: 1.6; }
.ft_col h4 { font-family: var(--family-2); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-2); margin-bottom: 16px; font-weight: 400; }
.ft_col a, .ft_col p { display: block; font-size: .96rem; color: rgba(247,241,230,.6); margin-bottom: 9px; line-height: 1.55; transition: color .3s cubic-bezier(.2,.6,.2,1); }
.ft_col a:hover { color: var(--gold-light); }
.ft_base { margin-top: 52px; padding-top: 24px; border-top: 1px solid rgba(247,241,230,.12); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-family: var(--family-2); font-size: .72rem; color: rgba(247,241,230,.45); }
.ft_by { display: inline-flex; align-items: center; gap: 8px; }
.ft_by img { height: 17px; width: auto; opacity: .8; }
@media (max-width:860px){ .ft_grid { grid-template-columns: 1fr 1fr; gap: 34px; } }
@media (max-width:560px){ .ft_grid { grid-template-columns: 1fr; } }

/* ===== Mobile: headline agrupada com o conteúdo na base ===== */
@media (max-width: 1024px) {
  .hero_inner { justify-content:flex-end; row-gap:26px; padding-top:96px; }
  .hero_frame img { object-position:center 26%; }
  .hero_frame::after {
    background:
      linear-gradient(0deg, rgba(28,18,8,.92) 0%, rgba(28,18,8,.64) 30%, rgba(28,18,8,.18) 52%, rgba(28,18,8,0) 74%),
      linear-gradient(180deg, rgba(28,18,8,.34) 0%, rgba(28,18,8,0) 22%);
  }
}

@media (max-width: 600px) {
  .hero_heading { font-size:max(2.75rem, min(calc(2.75rem + .062 * (100vw - 27.5rem)), 7rem)); }
  .btn_pill { width:100%; justify-content:space-between; }
}

@media (prefers-reduced-motion: reduce){ * { transition:none !important; } .marquee_track { animation:none; } .reveal { opacity:1; transform:none; } }
