/* =========================================================================
   RISERVA DI COMO — Landing Page
   Folha de estilo separada (uso em Elementor Pro: widget HTML + este CSS
   via <link> externo OU colado no painel "Custom CSS" do widget/página).
   Ver LEIA-ME.txt para instruções de instalação.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Archivo:wght@400;500;600;700&display=swap');

/* ---------- Tokens ---------------------------------------------------- */
.rdc {
  --stone:      #F2ECDC;   /* travertino / papel */
  --stone-2:    #E9E0C9;   /* travertino sombreado */
  --line:       #D5C9A9;   /* filete / divisor */
  --ink:        #241F19;   /* tinta quase-preta, quente */
  --ink-soft:   #4A4136;   /* texto secundário */
  --lake:       #223B32;   /* verde-represa profundo (seções escuras) */
  --lake-2:     #16261F;   /* verde-represa mais escuro */
  --lake-mist:  #9FB7A9;   /* verde claro para texto sobre --lake */
  --terracotta: #A85632;   /* telha / acento quente */
  --gold:       #9C7C33;   /* latão / rótulo de vinho — cor de destaque principal */
  --gold-light: #C9A94F;
  --wine:       #5A2331;   /* bordô, uso pontual */

  --serif: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', serif;
  --sans:  'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --maxw: 1280px;
  --pad: clamp(20px, 5vw, 72px);

  color-scheme: light;
  background: var(--stone);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ---------- Reset (escopado ao container .rdc para não vazar no tema) - */
.rdc, .rdc *, .rdc *::before, .rdc *::after { box-sizing: border-box; }
.rdc { overflow-x: clip; }
.rdc img { max-width: 100%; display: block; }
.rdc a { color: inherit; text-decoration: none; }
.rdc ul, .rdc ol { list-style: none; margin: 0; padding: 0; }
.rdc h1, .rdc h2, .rdc h3, .rdc h4, .rdc p, .rdc figure { margin: 0; }
.rdc button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
.rdc input, .rdc select, .rdc textarea { font: inherit; color: inherit; }

/* ---------- Tipografia genérica ---------------------------------------- */
.rdc .eyebrow {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.rdc .eyebrow.on-dark { color: var(--gold-light); }

.rdc h2.chapter-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 1.06;
  letter-spacing: -.01em;
  color: var(--ink);
}
.rdc h2.chapter-title em { font-style: italic; font-weight: 400; color: var(--terracotta); }
.rdc .on-dark h2.chapter-title, .rdc h2.chapter-title.on-dark { color: var(--stone); }
.rdc .on-dark h2.chapter-title em { color: var(--gold-light); }

.rdc .lede {
  font-family: var(--serif);
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.5;
  color: var(--ink-soft);
  max-width: 46ch;
}
.rdc .on-dark .lede { color: var(--lake-mist); }

.rdc p.body-copy { max-width: 58ch; font-size: 16.5px; color: var(--ink-soft); }
.rdc .on-dark p.body-copy { color: var(--lake-mist); }

.rdc .num-tag {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.rdc .num-tag::after { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .5; }

/* ---------- Layout helpers --------------------------------------------- */
.rdc .wrap { max-width: var(--maxw); margin: 0 auto; padding-left: var(--pad); padding-right: var(--pad); }
.rdc .section { padding-top: clamp(64px, 10vw, 128px); padding-bottom: clamp(64px, 10vw, 128px); position: relative; }
.rdc .section.on-dark { background: var(--lake); color: var(--stone); }
.rdc .section.on-dark::selection, .rdc .section.on-dark *::selection { background: var(--gold); color: var(--lake-2); }
.rdc .section.tight { padding-top: clamp(40px,6vw,72px); padding-bottom: clamp(40px,6vw,72px); }
.rdc hr.rule { border: 0; border-top: 1px solid var(--line); margin: 0; }
.rdc .on-dark hr.rule { border-top-color: rgba(255,255,255,.14); }

.rdc [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .8s ease, transform .8s ease; }
.rdc [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .rdc [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ---------- Header ------------------------------------------------------ */
.rdc .site-header {
  position: sticky; top: 0; z-index: 60;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px var(--pad);
  background: rgba(242,236,220,.88);
  backdrop-filter: blur(10px) saturate(1.1);
  border-bottom: 1px solid var(--line);
  transition: background .3s ease;
}
.rdc .site-header .brand {
  font-family: var(--serif); font-size: 19px; letter-spacing: .05em;
  text-transform: uppercase;
}
.rdc .site-header .brand em { font-style: italic; text-transform: none; color: var(--terracotta); font-size: 20px; }
.rdc .site-header nav { display: flex; align-items: center; gap: 28px; }
.rdc .site-header nav a {
  font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ink-soft); padding: 6px 0; border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.rdc .site-header nav a:hover, .rdc .site-header nav a.active { color: var(--terracotta); border-color: var(--terracotta); }
.rdc .site-header .menu-toggle { display: none; }
@media (max-width: 900px) {
  .rdc .site-header nav.primary-links { display: none; }
  .rdc .site-header .menu-toggle {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
  }
}

/* ---------- Botões ------------------------------------------------------ */
.rdc .btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 30px; border-radius: 3px;
  font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
  white-space: nowrap;
}
.rdc .btn-primary { background: var(--gold); color: var(--lake-2); }
.rdc .btn-primary:hover { background: var(--gold-light); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(156,124,51,.35); }
.rdc .btn-ghost { border: 1px solid rgba(36,31,25,.35); color: var(--ink); }
.rdc .btn-ghost:hover { border-color: var(--ink); background: var(--ink); color: var(--stone); }
.rdc .on-dark .btn-ghost { border-color: rgba(242,236,220,.4); color: var(--stone); }
.rdc .on-dark .btn-ghost:hover { background: var(--stone); color: var(--lake-2); border-color: var(--stone); }
.rdc .btn-arrow { transition: transform .25s ease; }
.rdc .btn:hover .btn-arrow { transform: translateX(4px); }

/* ---------- Chapters rail (elemento de assinatura) --------------------- */
.rdc .chapters-rail {
  position: fixed; right: 28px; top: 50%; transform: translateY(-50%);
  z-index: 55; display: flex; flex-direction: column; gap: 2px;
  opacity: 0; pointer-events: none; transition: opacity .4s ease;
}
.rdc .chapters-rail.is-active { opacity: 1; pointer-events: auto; }
.rdc .chapters-rail button {
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  padding: 7px 4px; color: rgba(36,31,25,.4); text-align: right;
}
.rdc .chapters-rail .n { font-family: var(--serif); font-style: italic; font-size: 12px; }
.rdc .chapters-rail .t {
  font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600;
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0;
  transition: max-width .3s ease, opacity .3s ease;
}
.rdc .chapters-rail .dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.rdc .chapters-rail button:hover .t,
.rdc .chapters-rail button.active .t { max-width: 160px; opacity: 1; }
.rdc .chapters-rail button.active { color: var(--terracotta); }
.rdc .chapters-rail button.active .dot { background: var(--terracotta); width: 7px; height: 7px; }
@media (max-width: 1150px) { .rdc .chapters-rail { display: none; } }

.rdc .progress-line {
  position: fixed; top: 0; left: 0; height: 2px; background: var(--gold);
  z-index: 70; width: 0%; transition: width .1s linear;
}

/* ---------- Hero --------------------------------------------------------- */
.rdc .hero {
  position: relative; min-height: 100svh; display: flex; flex-direction: column;
  color: var(--stone); overflow: hidden;
}
.rdc .hero-media { position: absolute; inset: 0; z-index: 0; }
.rdc .hero-media img { width: 100%; height: 100%; object-fit: cover; }
.rdc .hero-media::after {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(15,20,17,.55) 0%, rgba(15,20,17,.18) 32%, rgba(15,20,17,.38) 68%, rgba(15,20,17,.86) 100%);
}
.rdc .hero-spine {
  position: absolute; left: 22px; top: 50%; transform: translateY(-50%) rotate(180deg);
  writing-mode: vertical-rl; z-index: 2;
  font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: rgba(242,236,220,.65);
}
@media (max-width: 700px) { .rdc .hero-spine { display: none; } }
.rdc .hero-inner {
  position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 120px var(--pad) 0;
}
.rdc .hero-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.rdc .hero-eyebrow { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-light); max-width: 22ch; }
.rdc .hero-loc { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; text-align: right; color: rgba(242,236,220,.75); }
.rdc .hero-title {
  font-family: var(--serif); font-weight: 400; margin-top: 28px;
  font-size: clamp(52px, 10vw, 128px); line-height: .92; letter-spacing: -.01em;
  text-transform: uppercase;
}
.rdc .hero-title em { font-style: italic; text-transform: none; color: var(--gold-light); }
.rdc .hero-tagline {
  font-family: var(--serif); font-size: clamp(17px, 1.8vw, 22px); font-style: italic;
  color: rgba(242,236,220,.9); max-width: 42ch; margin-top: 18px;
}
.rdc .hero-cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.rdc .hero-stats {
  margin-top: 56px; border-top: 1px solid rgba(242,236,220,.25);
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.rdc .hero-stats .stat { padding: 20px 20px 26px 0; border-right: 1px solid rgba(242,236,220,.2); }
.rdc .hero-stats .stat:last-child { border-right: none; }
.rdc .hero-stats .num { font-family: var(--serif); font-size: clamp(24px,3vw,34px); }
.rdc .hero-stats .lbl { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(242,236,220,.65); margin-top: 4px; }
@media (max-width: 760px) {
  .rdc .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .rdc .hero-stats .stat:nth-child(2) { border-right: none; }
  .rdc .hero-top { flex-direction: column; gap: 8px; }
  .rdc .hero-loc { text-align: left; }
}
.rdc .scroll-cue {
  position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 2;
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(242,236,220,.7);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.rdc .scroll-cue .line { width: 1px; height: 26px; background: rgba(242,236,220,.6); animation: rdc-scroll 1.8s ease-in-out infinite; }
@keyframes rdc-scroll { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ---------- Chapter intros (numero + kicker) ---------------------------- */
.rdc .chapter-head { display: flex; flex-direction: column; gap: 18px; margin-bottom: 44px; }

/* ---------- Grid de duas colunas (editorial) ---------------------------- */
.rdc .split {
  display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 80px); align-items: center;
}
.rdc .split.reverse .split-media { order: 2; }
.rdc .split.reverse .split-text { order: 1; }
@media (max-width: 880px) {
  .rdc .split { grid-template-columns: 1fr; }
  .rdc .split.reverse .split-media, .rdc .split.reverse .split-text { order: initial; }
}
.rdc .split-text .body-copy + .body-copy { margin-top: 16px; }
.rdc .split-text > * + * { margin-top: 18px; }

.rdc .plate { position: relative; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); }
.rdc .plate img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.rdc .plate:hover img { transform: scale(1.045); }
.rdc .plate .cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px;
  background: linear-gradient(0deg, rgba(15,20,17,.78), rgba(15,20,17,0));
  color: var(--stone); font-size: 12px; letter-spacing: .04em;
}
.rdc .plate .cap b { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 13.5px; display: block; color: var(--gold-light); margin-bottom: 2px; }

/* ---------- Pull quote ---------------------------------------------------- */
.rdc .pull-quote {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: clamp(24px, 2.6vw, 34px); line-height: 1.35; color: var(--ink);
  border-left: 2px solid var(--terracotta); padding-left: 28px; max-width: 34ch;
}
.rdc .on-dark .pull-quote { color: var(--stone); border-color: var(--gold); }
.rdc .pull-quote cite { display: block; font-style: normal; font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin-top: 16px; }

/* ---------- Full-bleed spread -------------------------------------------- */
.rdc .spread { position: relative; height: 78vh; min-height: 480px; overflow: hidden; }
.rdc .spread img { width: 100%; height: 100%; object-fit: cover; }
.rdc .spread::after { content:''; position:absolute; inset:0; background: linear-gradient(0deg, rgba(15,20,17,.75) 0%, rgba(15,20,17,0) 45%); }
.rdc .spread-cap {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: var(--pad) var(--pad) 46px;
  color: var(--stone);
}
.rdc .spread-cap .lede { color: rgba(242,236,220,.88); }

/* ---------- Stat strip ---------------------------------------------------- */
.rdc .stat-strip {
  display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.rdc .stat-strip .cell { padding: 34px 26px; border-right: 1px solid var(--line); }
.rdc .stat-strip .cell:last-child { border-right: none; }
.rdc .stat-strip .num { font-family: var(--serif); font-size: clamp(30px,3.4vw,44px); color: var(--terracotta); }
.rdc .stat-strip .lbl { font-size: 12px; letter-spacing: .06em; color: var(--ink-soft); margin-top: 6px; max-width: 22ch; }
@media (max-width: 800px) {
  .rdc .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .rdc .stat-strip .cell:nth-child(2n) { border-right: none; }
  .rdc .stat-strip .cell:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

/* ---------- Galeria de plates (Clubes & Experiências) --------------------- */
.rdc .gallery {
  display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 190px; gap: 10px;
}
.rdc .gallery figure { position: relative; overflow: hidden; border-radius: 4px; margin: 0; }
.rdc .gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.rdc .gallery figure:hover img { transform: scale(1.06); }
.rdc .gallery figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 16px;
  background: linear-gradient(0deg, rgba(15,20,17,.82), rgba(15,20,17,0) 80%);
  color: var(--stone); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600;
}
.rdc .gallery figcaption span { display: block; font-family: var(--serif); font-style: italic; text-transform: none; font-weight: 400; font-size: 13px; color: var(--gold-light); letter-spacing: 0; margin-top: 1px; }
.rdc .gallery .g-1 { grid-column: span 3; grid-row: span 2; }
.rdc .gallery .g-2 { grid-column: span 3; grid-row: span 1; }
.rdc .gallery .g-3 { grid-column: span 2; grid-row: span 1; }
.rdc .gallery .g-4 { grid-column: span 2; grid-row: span 1; }
.rdc .gallery .g-5 { grid-column: span 3; grid-row: span 1; }
.rdc .gallery .g-6 { grid-column: span 3; grid-row: span 1; }
@media (max-width: 900px) {
  .rdc .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .rdc .gallery .g-1, .rdc .gallery .g-2, .rdc .gallery .g-3, .rdc .gallery .g-4, .rdc .gallery .g-5, .rdc .gallery .g-6 { grid-column: span 1; grid-row: span 1; }
  .rdc .gallery .g-1 { grid-column: span 2; grid-row: span 2; }
}
.rdc .footnote { font-size: 11.5px; color: var(--ink-soft); opacity: .75; max-width: 70ch; margin-top: 22px; }
.rdc .on-dark .footnote { color: var(--lake-mist); }

/* ---------- Cabana feature list ------------------------------------------- */
.rdc .feature-list { display: flex; flex-direction: column; gap: 16px; }
.rdc .feature-list li { display: flex; gap: 14px; align-items: flex-start; }
.rdc .feature-list .ico {
  width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--terracotta); color: var(--terracotta);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; font-size: 12px;
}
.rdc .feature-list b { font-family: var(--serif); font-weight: 500; font-size: 16.5px; display: block; }
.rdc .feature-list span.d { font-size: 14.5px; color: var(--ink-soft); }

/* ---------- Harmonização mini menu ---------------------------------------- */
.rdc .menu-list { border-top: 1px solid rgba(242,236,220,.25); }
.rdc .menu-list li {
  display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 20px 0;
  border-bottom: 1px solid rgba(242,236,220,.16);
}
.rdc .menu-list b { font-family: var(--serif); font-weight: 500; font-size: 18px; }
.rdc .menu-list p { font-size: 13.5px; color: var(--lake-mist); margin-top: 4px; max-width: 52ch; }
.rdc .menu-list .pair { font-family: var(--serif); font-style: italic; color: var(--gold-light); font-size: 15px; white-space: nowrap; }

/* ---------- Como chegar (rota) --------------------------------------------- */
.rdc .route { display: flex; flex-wrap: wrap; gap: 0; align-items: center; }
.rdc .route .pt { display: flex; flex-direction: column; gap: 4px; padding-right: 30px; }
.rdc .route .pt .city { font-family: var(--serif); font-size: 20px; }
.rdc .route .pt .sub { font-size: 12px; color: var(--ink-soft); letter-spacing: .04em; }
.rdc .route .seg { flex: 1; min-width: 60px; display: flex; align-items: center; gap: 8px; padding: 0 14px; }
.rdc .route .seg .track { flex: 1; height: 1px; background: var(--line); position: relative; }
.rdc .route .seg .track::after { content:''; position:absolute; right:0; top:-3px; width:7px; height:7px; border-radius:50%; background: var(--terracotta); }
.rdc .route .seg .time { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--terracotta); white-space: nowrap; }

/* ---------- Formulário ------------------------------------------------------ */
.rdc .form-panel {
  background: var(--stone-2); border: 1px solid var(--line); border-radius: 6px;
  padding: clamp(28px, 4vw, 48px);
}
.rdc .field { margin-bottom: 18px; }
.rdc .field label { display: block; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 8px; }
.rdc .field input, .rdc .field select, .rdc .field textarea {
  width: 100%; padding: 13px 14px; background: var(--stone); border: 1px solid var(--line); border-radius: 3px;
  font-size: 15px; color: var(--ink); transition: border-color .2s;
}
.rdc .field input:focus, .rdc .field select:focus, .rdc .field textarea:focus {
  outline: none; border-color: var(--terracotta);
}
.rdc .field textarea { resize: vertical; min-height: 90px; }
.rdc .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .rdc .field-row { grid-template-columns: 1fr; } }
.rdc .form-consent { font-size: 12px; color: var(--ink-soft); margin-top: 14px; }
.rdc .form-msg { margin-top: 16px; font-size: 13.5px; display: none; }
.rdc .form-msg.show { display: block; }
.rdc .form-msg.ok { color: #3D6A4C; }

/* ---------- Footer ------------------------------------------------------------ */
.rdc .site-footer { background: var(--lake-2); color: var(--lake-mist); padding: 64px var(--pad) 26px; }
.rdc .footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding-bottom: 44px; border-bottom: 1px solid rgba(242,236,220,.14); }
@media (max-width: 760px) { .rdc .footer-top { grid-template-columns: 1fr; gap: 30px; } }
.rdc .footer-brand { font-family: var(--serif); font-size: 24px; color: var(--stone); text-transform: uppercase; letter-spacing: .04em; }
.rdc .footer-brand em { font-style: italic; text-transform: none; color: var(--gold-light); }
.rdc .footer-top p { font-size: 13.5px; margin-top: 14px; max-width: 34ch; }
.rdc .footer-col h4 { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--stone); margin-bottom: 16px; }
.rdc .footer-col ul { display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }
.rdc .footer-col a:hover { color: var(--gold-light); }
.rdc .footer-legal { padding-top: 24px; font-size: 11px; line-height: 1.7; color: rgba(159,183,169,.75); max-width: 100%; }
.rdc .footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 20px; font-size: 11.5px; color: rgba(159,183,169,.6); }

/* ---------- WhatsApp flutuante ------------------------------------------------- */
.rdc .whatsapp-fab {
  position: fixed; bottom: 24px; right: 24px; z-index: 65;
  display: flex; align-items: center; gap: 10px;
  background: #21402F; color: #fff; padding: 14px 18px; border-radius: 40px;
  box-shadow: 0 12px 28px rgba(0,0,0,.28); font-size: 13px; font-weight: 600;
  transition: transform .25s ease, box-shadow .25s ease;
}
.rdc .whatsapp-fab:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,.34); }
.rdc .whatsapp-fab svg { width: 20px; height: 20px; flex-shrink: 0; }
@media (max-width: 560px) { .rdc .whatsapp-fab span { display: none; } .rdc .whatsapp-fab { padding: 14px; } }

/* ---------- Utilitários de espaçamento (evita style="" inline no HTML) --------- */
.rdc .mt-section   { margin-top: clamp(56px, 8vw, 96px); }
.rdc .mt-block     { margin-top: clamp(48px, 7vw, 84px); }
.rdc .mb-block     { margin-bottom: clamp(56px, 8vw, 96px); }
.rdc .cap-block    { margin: 0 var(--pad) clamp(48px, 7vw, 84px); }
.rdc .mt-16 { margin-top: 16px; }
.rdc .mt-14 { margin-top: 14px; }
.rdc .mt-20 { margin-top: 20px; }
.rdc .mt-22 { margin-top: 22px; }
.rdc .mt-26 { margin-top: 26px; }
.rdc .mt-6  { margin-top: 6px; }
.rdc .mt-32 { margin-top: 32px; }
.rdc .fz-15 { font-size: 15px; }
.rdc .max-w-narrow { max-width: 720px; }
.rdc .duo-plate { margin-bottom: 14px; }
.rdc .split.align-start { align-items: flex-start; }
.rdc .section.flush-top { margin-top: 28px; padding-top: 0; }
.rdc .btn-block { width: 100%; justify-content: center; }
.rdc .contact-meta { margin-top: 32px; display: flex; flex-direction: column; gap: 18px; }
.rdc .section-subtitle {
  font-family: var(--serif); font-weight: 400; font-size: 22px;
}
.rdc .section-subtitle.lg { font-size: 28px; }

/* ---------- Mobile menu drawer -------------------------------------------------- */
.rdc .mobile-drawer {
  position: fixed; inset: 0; z-index: 80; background: var(--lake-2);
  color: var(--stone); display: flex; flex-direction: column; justify-content: center;
  padding: 40px var(--pad); transform: translateY(-100%); transition: transform .4s ease;
}
.rdc .mobile-drawer.open { transform: translateY(0); }
.rdc .mobile-drawer a { font-family: var(--serif); font-size: 28px; padding: 12px 0; border-bottom: 1px solid rgba(242,236,220,.14); }
.rdc .mobile-drawer .close-drawer { position: absolute; top: 20px; right: var(--pad); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
