/* Clínica BG: day spa de hotel, a papelaria da hospedagem. Tokens do site atual (styles-DN0rdptH.css):
   off-white #f6f3f0, petróleo #213d42 (--fancy), aqua #d6e9ea (--fancy-muted), borda #ddcec6, texto apagado #60514f. Sem dourado. */
:root {
  --fundo: #f6f3f0; --tinta: #1c1918; --suave: #60514f; --marca: #213d42; --marca-2: #d6e9ea; --linha: #ddcec6; --cartao: #fbfaf8;
  --petroleo-escuro: #172e32; --fonte-titulo: "Playfair Display", Georgia, serif; --fonte-texto: "Montserrat", system-ui, sans-serif; --raio: 14px;
  --wa-cor: #213d42; --wa-tinta: #f6f3f0;
}
body { font-weight: 400; }
.estrela { width: .7em; height: .7em; fill: currentColor; flex: none; }
.rotulo { display: inline-flex; align-items: center; gap: .6em; font: 500 12px/1.3 var(--fonte-texto); letter-spacing: .3em; text-transform: uppercase; color: var(--suave); }
h2 { font-weight: 400; font-size: clamp(32px, 3.6vw, 52px); letter-spacing: -.01em; }

/* Cabeçalho */
.topo { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--fundo) 94%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid color-mix(in srgb, var(--linha) 70%, transparent); }
.topo__linha { display: flex; align-items: center; gap: 28px; min-height: 66px; }
.topo__marca { display: flex; align-items: center; min-height: 48px; }
.topo__marca img { width: 168px; }
.topo__menu { display: flex; gap: 26px; margin-left: auto; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; }
.topo__menu a:hover { color: var(--marca); }
.topo__cta { --b-tinta: var(--fundo); font-size: 13px; padding: .8em 1.2em; font-weight: 500; letter-spacing: .04em; }
.topo__burger { display: none; }

/* 1) Hero: foto da sala e a placa de maçaneta */
.hero { position: relative; min-height: max(640px, min(86svh, 860px)); overflow: clip; background: #d9d2c8; }
.hero__foto { position: absolute; inset: 0 0 -10% 0; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 24% 66%; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 45%, rgb(33 61 66 / .18)); pointer-events: none; }
.hero__porta { position: relative; z-index: 2; width: min(1280px, 100% - 2 * clamp(16px, 4vw, 48px)); margin-inline: auto; display: flex; justify-content: flex-end; padding: 22px 0 48px; }
.placa { position: relative; width: 384px; filter: drop-shadow(0 26px 34px rgb(23 46 50 / .34)) drop-shadow(0 4px 6px rgb(23 46 50 / .18)); transform-origin: 50% 40px; }
.placa__corpo {
  position: relative; padding: 104px 34px 30px; text-align: center; background: var(--cartao); border-radius: 26px 26px 18px 18px;
  /* furo redondo e fenda até a borda: o recorte da placa de maçaneta */
  -webkit-mask: radial-gradient(circle 31px at 50% 54px, #0000 30px, #000 31px), linear-gradient(90deg, #000 calc(50% - 4px), #0000 0 calc(50% + 4px), #000 0) top / 100% 54px no-repeat, linear-gradient(#000, #000) bottom / 100% calc(100% - 54px) no-repeat;
  -webkit-mask-composite: source-in, source-over;
  mask: radial-gradient(circle 31px at 50% 54px, #0000 30px, #000 31px), linear-gradient(90deg, #000 calc(50% - 4px), #0000 0 calc(50% + 4px), #000 0) top / 100% 54px no-repeat, linear-gradient(#000, #000) bottom / 100% calc(100% - 54px) no-repeat;
  mask-composite: intersect, add;
}
.placa__corpo::before { content: ""; position: absolute; inset: 10px; top: 96px; border: 1px solid var(--linha); border-radius: 14px 14px 10px 10px; pointer-events: none; }
.macaneta { position: absolute; z-index: 3; left: 50%; top: 14px; width: 80px; translate: -50% 0; filter: drop-shadow(0 3px 3px rgb(0 0 0 / .3)); }
.placa__logo { width: 250px; margin: 0 auto 22px; }
.placa__titulo { font-weight: 400; font-size: 30px; line-height: 1.16; letter-spacing: -.01em; color: var(--marca); }
.placa__frase { margin: 14px auto 22px; max-width: 30ch; font-style: italic; font-weight: 300; font-size: 13.5px; color: var(--suave); }
.caminhos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.caminho { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--linha); font: 500 12.5px/1.2 var(--fonte-texto); letter-spacing: .16em; text-transform: uppercase; transition: background-color .25s, border-color .25s; }
.caminho:hover { border-color: var(--marca); background: color-mix(in srgb, var(--marca-2) 50%, transparent); }
.caminho svg { width: 12px; height: 12px; color: var(--marca); }
.caminho--cheio { background: var(--marca); color: var(--fundo); border-color: var(--marca); }
.caminho--cheio:hover { background: var(--petroleo-escuro); }
.caminho--cheio svg { width: 17px; height: 17px; color: var(--fundo); }
.placa__redes { display: flex; justify-content: center; gap: 12px; margin-top: 18px; }
.placa__redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); color: var(--marca); }
.placa__redes svg { width: 18px; height: 18px; }

/* Quem cuida (petróleo, como o atual) */
.dra { background: var(--marca); color: var(--fundo); padding: clamp(72px, 9vw, 120px) 0; }
.dra__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.dra__foto { margin: 0; position: relative; overflow: hidden; border-radius: 18px; aspect-ratio: 4 / 5; }
.dra__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.dra__foto::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgb(246 243 240 / .45); border-radius: 10px; pointer-events: none; }
.dra .rotulo { color: var(--marca-2); }
.dra h2 { margin: 16px 0 10px; color: var(--fundo); }
.dra__registro { display: inline-block; margin-bottom: 22px; padding: .45em 1em; border: 1px solid rgb(246 243 240 / .35); border-radius: 999px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.dra__texto > p:not(.rotulo):not(.dra__registro) { max-width: 54ch; opacity: .9; }
.fala { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid var(--linha); }
.fala blockquote { margin: 0; }
.fala p { font: italic 400 clamp(20px, 1.8vw, 25px)/1.38 var(--fonte-titulo); }
.fala figcaption { margin-top: 10px; font-size: 12px; letter-spacing: .08em; color: var(--suave); }
.fala figcaption a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.fala--claro { border-top-color: rgb(246 243 240 / .25); }
.fala--claro figcaption { color: var(--marca-2); }

/* 2) Carta da casa */
.carta { padding: clamp(72px, 9vw, 120px) 0; }
.carta__papel { position: relative; padding: clamp(40px, 5vw, 72px); background: var(--marca); color: var(--fundo); border-radius: 6px; box-shadow: 0 40px 80px -50px rgb(23 46 50 / .7); }
.carta__papel::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgb(214 233 234 / .35); border-radius: 3px; pointer-events: none; }
.carta__papel::after { content: ""; position: absolute; inset: 19px; border: 1px solid rgb(214 233 234 / .14); border-radius: 2px; pointer-events: none; }
.carta__cabeca { position: relative; text-align: center; max-width: 620px; margin: 0 auto clamp(40px, 5vw, 64px); }
.carta__logo { width: 190px; margin: 0 auto 26px; opacity: .92; }
.carta__cabeca h2 { color: var(--fundo); }
.carta__cabeca p { margin-top: 14px; color: var(--marca-2); font-weight: 300; }
.carta__capitulos { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); }
.capitulo__nome { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 26px; font: 500 13px/1 var(--fonte-texto); letter-spacing: .34em; text-transform: uppercase; color: var(--marca-2); }
.capitulo__nome .estrela { width: 9px; height: 9px; }
.capitulo__foto { margin: 0 0 30px; position: relative; overflow: hidden; border-radius: 4px; aspect-ratio: 16 / 10; }
.capitulo__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.pratos { list-style: none; margin: 0; padding: 0; }
.prato { padding: 26px 0; text-align: center; }
.prato + .prato { border-top: 1px solid rgb(214 233 234 / .2); }
.prato h3 { font-weight: 400; font-size: clamp(24px, 2vw, 30px); color: var(--fundo); }
.prato__curto { margin-top: 6px; font: italic 400 17px/1.4 var(--fonte-titulo); color: var(--marca-2); }
.prato > p:not(.prato__curto):not(.prato__selo):not(.prato__fonte) { margin: 12px auto 0; max-width: 44ch; font-size: 15px; font-weight: 300; opacity: .9; }
.prato__selo { display: inline-block; margin-bottom: 10px; padding: .3em .9em; border: 1px solid rgb(214 233 234 / .45); border-radius: 999px; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--marca-2); }
.prato__fonte { margin-top: 8px; font-size: 12px; color: var(--marca-2); }
.prato__fonte a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.prato__reservar { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 10px; font: 500 12px/1 var(--fonte-texto); letter-spacing: .2em; text-transform: uppercase; color: var(--fundo); }
.prato__reservar:hover { color: var(--marca-2); }
.prato__reservar .estrela { width: 9px; height: 9px; color: var(--marca-2); }
.capitulo--spa { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 64px); align-items: center; margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid rgb(214 233 234 / .3); }
.spa__foto { margin: 0; position: relative; overflow: hidden; border-radius: 4px; aspect-ratio: 828 / 534; }
.spa__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.spa__texto .capitulo__nome { justify-content: flex-start; }
.spa__texto h3 { font-weight: 400; font-size: clamp(28px, 2.6vw, 38px); line-height: 1.12; color: var(--fundo); }
.spa__texto > p { margin-top: 14px; font-weight: 300; opacity: .9; }
.spa__texto .fala { border-top-color: rgb(214 233 234 / .25); }
.spa__texto .fala figcaption { color: var(--marca-2); }
.botao--papel { --b-fundo: var(--fundo); --b-tinta: var(--marca); margin-top: 26px; font-weight: 500; font-size: 13px; letter-spacing: .06em; }

/* 3) BG Club: aqua do site com a pulseira */
.club { background: var(--marca-2); color: var(--marca); padding: clamp(72px, 9vw, 120px) 0; overflow: clip; }
.club__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.club .rotulo { color: var(--marca); }
.club h2 { margin: 14px 0 12px; }
.beneficios { list-style: none; margin: 26px 0 30px; padding: 0; display: grid; gap: 14px; }
.beneficios li { display: flex; gap: 14px; align-items: baseline; padding-bottom: 14px; border-bottom: 1px solid rgb(33 61 66 / .15); }
.beneficios .estrela { width: 10px; height: 10px; translate: 0 1px; }
.club .botao { --b-tinta: var(--fundo); font-weight: 500; }
.pulseira { width: 100%; max-width: 640px; margin-inline: auto; }
.pulseira__texto { font: 600 15px var(--fonte-texto); letter-spacing: .32em; fill: #f6f3f0; }

/* 4 e 5) Visita: fachada, cartão em tenda e sineta sobre o balcão */
.visita { padding: clamp(72px, 9vw, 120px) 0; }
.visita__cabeca { text-align: center; max-width: 640px; margin: 0 auto clamp(40px, 5vw, 60px); }
.visita__cabeca h2 { margin: 14px 0 12px; }
.visita__cabeca > p:last-child { color: var(--suave); }
.visita__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: end; }
.visita__fachada { margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 680 / 306; }
.visita__fachada img { width: 100%; height: 100%; object-fit: cover; }
.visita address { display: grid; gap: 4px; margin-top: 22px; font-style: normal; }
.visita__cidade { font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--suave); }
.visita address a { display: inline-flex; align-items: center; min-height: 44px; font: 400 clamp(22px, 2vw, 28px)/1.25 var(--fonte-titulo); color: var(--marca); }
.mapas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.mapas a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--linha); border-radius: 999px; font-size: 13px; font-weight: 500; }
.mapas a:hover { border-color: var(--marca); color: var(--marca); }
.balcao { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: clamp(20px, 3vw, 44px); padding-bottom: 18px; }
.balcao::after { content: ""; position: absolute; left: -6%; right: -6%; bottom: 0; height: 18px; border-top: 1px solid var(--linha); background: linear-gradient(#ebe5df, transparent); border-radius: 2px; }
.tenda { perspective: 900px; position: relative; z-index: 1; }
.tenda::before { content: ""; position: absolute; left: 6%; right: 6%; bottom: -6px; height: 14px; border-radius: 50%; background: rgb(33 61 66 / .22); filter: blur(5px); }
.tenda__frente { position: relative; width: 300px; padding: 30px 28px 28px; text-align: center; color: var(--fundo); background: linear-gradient(#264549, var(--marca) 30%); border-radius: 4px 4px 2px 2px; transform: rotateX(14deg); transform-origin: 50% 100%; box-shadow: inset 0 1px 0 rgb(255 255 255 / .18), 0 10px 22px -12px rgb(23 46 50 / .6); }
.tenda__frente::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgb(214 233 234 / .32); border-radius: 2px; pointer-events: none; }
.tenda__frente::after { content: ""; position: absolute; left: 0; right: 0; top: -7px; height: 7px; background: linear-gradient(#0f2124, #1b3539); border-radius: 3px 3px 0 0; transform: skewX(0); }
.tenda__estrela { width: 14px; height: 14px; margin: 0 auto 12px; color: var(--marca-2); }
.tenda__titulo { font: 400 23px/1.2 var(--fonte-titulo); margin-bottom: 16px; }
.tenda__hora { display: grid; gap: 2px; padding: 10px 0; border-top: 1px solid rgb(214 233 234 / .22); font: 400 20px/1.2 var(--fonte-titulo); }
.tenda__hora span { font: 500 12px/1.3 var(--fonte-texto); letter-spacing: .22em; text-transform: uppercase; color: var(--marca-2); }
.tenda .botao--papel { margin-top: 14px; width: 100%; }
.sineta { position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; width: 200px; color: var(--marca); }
.sineta__desenho { width: 200px; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.sineta:hover .sineta__desenho { transform: translateY(-2px); }
.sineta__gravado { font: 600 15px var(--fonte-texto); letter-spacing: .14em; fill: #f6f3f0; }
.sineta__legenda { font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-decoration: underline; text-underline-offset: 3px; text-align: center; }
.fala--visita { max-width: 720px; margin: clamp(48px, 6vw, 72px) auto 0; text-align: center; }

/* Rodapé */
.rodape { background: var(--petroleo-escuro); color: var(--fundo); padding: 64px 0 28px; }
.rodape__grade { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.rodape__marca img { width: 220px; margin-bottom: 16px; }
.rodape__marca p { max-width: 34ch; font-style: italic; font-weight: 300; font-size: 14px; opacity: .8; }
.rodape__titulo { margin: 0 0 8px; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: var(--marca-2); }
.rodape__grade p + .rodape__titulo { margin-top: 22px; }
.rodape__grade a { text-decoration: underline; text-underline-offset: 3px; }
.rodape__legal { margin-top: 44px; padding-top: 20px; border-top: 1px solid rgb(246 243 240 / .14); font-size: 12.5px; opacity: .7; }

/* Tablet e celular */
@media (max-width: 1100px) {
  .topo__menu { gap: 18px; }
  .topo__menu a:nth-child(3) { display: none; }
}
@media (max-width: 900px) {
  .topo__menu { position: fixed; inset: 66px 0 auto 0; display: none; flex-direction: column; gap: 0; padding: 12px 24px 24px; background: var(--fundo); border-bottom: 1px solid var(--linha); }
  .topo__menu a:nth-child(3) { display: flex; }
  .menu-aberto .topo__menu { display: flex; }
  .topo__menu a { padding: 6px 0; border-bottom: 1px solid color-mix(in srgb, var(--linha) 60%, transparent); }
  .topo__cta { display: none; }
  .topo__burger { display: grid; gap: 6px; margin-left: auto; width: 46px; height: 46px; place-content: center; border: 1px solid var(--linha); border-radius: 50%; background: transparent; cursor: pointer; }
  .topo__burger span { display: block; width: 18px; height: 1.5px; background: var(--marca); }
  .dra__grade, .club__grade, .visita__grade, .carta__capitulos, .capitulo--spa { grid-template-columns: 1fr; }
  .dra__foto { max-width: 520px; }
  .club__pulseira { order: -1; }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
  .rodape__marca { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .topo__marca img { width: 140px; }
  .hero { min-height: 0; background: var(--fundo); }
  .hero__foto { position: relative; inset: auto; height: 46svh; min-height: 300px; }
  .hero__foto img { object-position: 16% 66%; }
  .hero::after { display: none; }
  .hero__porta { justify-content: center; margin-top: -96px; padding: 0 0 36px; }
  .placa { width: 100%; max-width: 420px; }
  .placa__corpo { padding: 98px 22px 26px; }
  .placa__titulo { font-size: 27px; }
  .placa__logo { width: 220px; }
  .caminho { letter-spacing: .12em; }
  .carta .wrap { width: calc(100% - 20px); }
  .carta__papel { padding: 44px 22px; }
  .carta__papel::before { inset: 8px; }
  .carta__papel::after { inset: 12px; }
  .capitulo__nome { letter-spacing: .26em; }
  .balcao { flex-direction: column; align-items: center; gap: 30px; }
  .tenda__frente { width: min(300px, calc(100vw - 48px)); }
  .rodape__grade { grid-template-columns: 1fr; }
  .rodape { padding-bottom: calc(28px + 76px); }
}
