/* ===== Da Riccardo — design system ===== */
:root{
  --cream: #F4EBD4;
  --cream-2: #EFE4C6;
  --cream-deep: #E7D8B2;
  --paper: #FBF6E7;
  --ink: #1C1612;
  --ink-soft: #3B2E24;
  --riccardo: #9C2A24;
  --riccardo-deep: #7A1F1A;
  --riccardo-ink: #5A1713;
  --moss: #2B3A2E;
  --moss-deep: #1E2A21;
  --gold: #B8935A;
  --gold-soft: #C9A977;
  --rule: rgba(28,22,18,0.18);
  --rule-cream: rgba(244,235,212,0.22);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'EB Garamond', 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga","kern","onum";
}
.display{
  font-family: 'Cormorant Garamond', 'GT Super', Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 0.98;
}
.mono{
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.italic-accent{
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 400;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}

/* rule */
.hair{height:1px;background:var(--rule);width:100%}
.hair-cream{height:1px;background:var(--rule-cream);width:100%}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding: 14px 22px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font-family:'JetBrains Mono',monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all .25s ease;
  cursor:pointer;
}
.btn-solid{
  background: var(--riccardo);
  color: var(--cream);
  border-color: var(--riccardo);
}
.btn-solid:hover{background: var(--riccardo-deep);border-color:var(--riccardo-deep)}
.btn-ghost{color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-cream{color:var(--cream);border-color:rgba(244,235,212,0.5)}
.btn-cream:hover{background:var(--cream);color:var(--moss-deep)}

/* placeholder photo plates */
.plate{
  position:relative;
  background:
    repeating-linear-gradient(135deg,
      rgba(28,22,18,0.05) 0 1px,
      transparent 1px 12px),
    linear-gradient(180deg, #2E3E30 0%, #253327 100%);
  color: #E8DDBE;
  overflow:hidden;
  border-radius: 2px;
}
.plate.warm{
  background:
    repeating-linear-gradient(135deg,
      rgba(255,255,255,0.05) 0 1px,
      transparent 1px 12px),
    linear-gradient(180deg, #8B2C22 0%, #5A1A14 100%);
}
.plate.cream{
  background:
    repeating-linear-gradient(135deg,
      rgba(28,22,18,0.08) 0 1px,
      transparent 1px 12px),
    linear-gradient(180deg, #E7D8B2 0%, #D4C193 100%);
  color: var(--moss-deep);
}
.plate-label{
  position:absolute;
  inset:auto 0 0 0;
  padding: 60px 16px 14px;
  background: linear-gradient(to top,
    rgba(0,0,0,0.78) 0%,
    rgba(0,0,0,0.55) 45%,
    rgba(0,0,0,0) 100%);
  color: var(--cream);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:flex;justify-content:space-between;gap:12px;
}
.plate-tag{
  position:absolute;top:14px;left:14px;
  z-index: 3;
  font-family:'JetBrains Mono',monospace;
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  padding: 6px 10px;
  background: var(--riccardo);
  color: var(--cream);
  border: none;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25);
}
.plate.cream .plate-tag{background: var(--cream); color: var(--riccardo-ink)}
/* tag cor alternada para variar ritmo */
.plate-tag.cream{background: var(--cream); color: var(--riccardo-ink)}

/* responsive grid collapses */
@media (max-width: 1000px){
  .grid-2-col{grid-template-columns: 1fr !important}
  .grid-sidebar{grid-template-columns: 1fr !important}
  .grid-3-col{grid-template-columns: 1fr !important}
  /* investor v3: kpi grids (taxa/royalty/cenários) empilham e limpam bordas */
  .invest-kpi-grid{grid-template-columns: 1fr !important}
  .invest-kpi-grid > div{border-right: none !important; border-bottom: 1px solid rgba(244,235,212,0.2) !important}
  .invest-kpi-grid > div:last-child{border-bottom: none !important}
  /* investor v3: licença (o que inclui) 3 → 1 col */
  .invest-inclui-grid{grid-template-columns: 1fr !important}
  .invest-inclui-grid > .invest-inclui-cell{border-right: none !important; border-bottom: 1px solid var(--rule) !important}
  .invest-inclui-grid > .invest-inclui-cell:last-child{border-bottom: none !important}
  .timeline-row{grid-template-columns: 60px 1fr !important}
  .timeline-row > :last-child{grid-column: 1 / -1; max-width: 320px}
  .section{padding: 64px 0 !important}
  .wrap{padding: 0 28px !important}
  /* number cards investor 4 → 2 cols */
  .grid-3-col[style*="repeat(4"]{grid-template-columns: repeat(2, 1fr) !important}
  /* gallery 6 → 3 cols */
  .gallery-grid{grid-template-columns: repeat(3, 1fr) !important}
  .gallery-grid > [style*="span 2"]{grid-column: span 2 !important}
  /* investor: hero top status bar empilha vertical */
  .invest-status-bar{flex-direction: column !important; align-items: flex-start !important; gap: 8px !important}
  /* investor: bloco de KPIs cola embaixo do headline em vez de lado */
  .invest-hero-grid{grid-template-columns: 1fr !important; gap: 60px !important; align-items: start !important}
  /* investor: logos bar 6 → 3 cols */
  .invest-logos{grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; margin-top: 60px !important}
  .invest-logos > :first-child{grid-column: 1 / -1; text-align: center}
  /* investor: numeros header (h2 + toggle) empilha */
  .invest-numeros-head{flex-direction: column !important; align-items: stretch !important; gap: 28px !important}
  .invest-numeros-toggle{align-self: flex-start}
  /* investor: outras métricas reserva em 2 cols compactas */
  .invest-other-metrics{grid-template-columns: 1fr 1fr !important}
  /* investor: jornada vira vertical */
  .invest-journey{grid-template-columns: 1fr !important; gap: 0 !important}
  .invest-journey-line{display:none !important}
  .invest-journey-step{display: grid !important; grid-template-columns: 60px 1fr !important; grid-template-rows: auto auto auto !important; gap: 6px 20px !important; padding: 24px 0 !important; border-bottom: 1px solid rgba(156,42,36,0.18) !important}
  .invest-journey-step > :nth-child(1){grid-column: 1 !important; grid-row: 1 / span 3 !important; margin: 0 !important; align-self: start}
  .invest-journey-step > :nth-child(2){grid-column: 2 !important; grid-row: 1 !important}
  .invest-journey-step > :nth-child(3){grid-column: 2 !important; grid-row: 2 !important}
  .invest-journey-step > :nth-child(4){grid-column: 2 !important; grid-row: 3 !important}
  /* investor: suporte 1+grid 2col → empilha tudo, grid de 6 cards em 1col */
  .invest-suporte-grid{grid-template-columns: 1fr !important; gap: 60px !important}
  .invest-suporte-cards{grid-template-columns: 1fr !important}
  .invest-suporte-cards > div{border-right: none !important; border-bottom: 1px solid rgba(244,235,212,0.15) !important}
  /* lead form: review em 1col */
  .invest-lead-grid{grid-template-columns: 1fr !important; gap: 50px !important}
  .invest-lead-grid > :first-child{position: static !important}
  .invest-lead-card{padding: 32px !important; min-height: auto !important}
  .invest-lead-review{grid-template-columns: 1fr !important}
  /* lead form: trio formato vira coluna */
  .invest-lead-formats{flex-direction: column !important}
  /* tese: aos ≤1000 já vira 1 col + headline alinhado à esquerda */
  .invest-tese-grid{grid-template-columns: 1fr !important; gap: 50px !important}
  .invest-tese-grid > :first-child{position: static !important}
  .invest-tese-img{max-width: 320px}
  /* visit / footer hero: stack do bloco endereço + card "il salone" */
  .visit-hero-grid{grid-template-columns: 1fr !important; gap: 40px !important}
  .visit-info-grid{grid-template-columns: 1fr !important; gap: 32px !important}
}
@media (max-width: 720px){
  .section{padding: 52px 0 !important}
  .wrap{padding: 0 20px !important}
  .nav{padding: 12px 18px !important}
  .nav-brand .nav-brand-tagline{display:none}
  /* hero — desempilha tudo, círculo R não vaza */
  .hero-status{flex-wrap: wrap; gap: 10px !important; font-size: 9px !important}
  .hero-r-circle{
    width: 130px !important; height: 130px !important;
    bottom: -28px !important; left: -16px !important;
  }
  .hero-r-circle .r-letter{font-size: 110px !important}
  .hero-r-circle .r-tag{font-size: 7px !important; bottom: 18px !important}
  /* gallery 3 → 2 cols, span 2 vira full width */
  .gallery-grid{grid-template-columns: repeat(2, 1fr) !important; padding: 0 20px !important}
  .gallery-grid > [style*="span 2"]{grid-column: 1 / -1 !important; aspect-ratio: 16/9 !important}
  /* number cards 2 → 1 col */
  .grid-3-col[style*="repeat(4"]{grid-template-columns: 1fr !important}
  .grid-3-col[style*="repeat(4"] > div{border-right: none !important; border-bottom: 1px solid rgba(244,235,212,0.2)}
  /* footer stack */
  .footer-grid{grid-template-columns: 1fr !important; gap: 40px !important}
  /* tipografia eyebrow + spacings de números */
  .nums-bar{flex-direction: column; align-items: flex-start !important; gap: 28px}
  /* timeline — empilha completamente em mobile */
  .timeline-row{grid-template-columns: 1fr !important; gap: 16px !important; padding-bottom: 32px; border-bottom: 1px solid var(--rule)}
  .timeline-row > :last-child{max-width: 100% !important; aspect-ratio: 16/10 !important}
  /* form 2-col reservas */
  .reserva-grid{grid-template-columns: 1fr !important; gap: 50px !important}
  .reserva-card{padding: 28px !important}
  /* plate label maior em mobile */
  .plate-label{font-size: 11px !important; padding: 50px 12px 12px !important}
  .plate-tag{font-size: 10px !important; padding: 7px 11px !important}
  /* INVESTIDOR mobile (≤720) */
  /* hero KPI box: padding menor, valores menores, label arejado */
  .invest-kpi-box{padding: 24px !important}
  .invest-kpi-row{flex-direction: column !important; align-items: flex-start !important; gap: 6px; padding: 16px 0 !important}
  .invest-kpi-value{font-size: 32px !important}
  /* logos bar 3 → 2 */
  .invest-logos{grid-template-columns: repeat(2, 1fr) !important}
  /* numeros: 4 KPIs → 1 col, valores menores */
  .invest-kpi-grid{grid-template-columns: 1fr !important}
  .invest-kpi-grid > div{border-right: none !important; border-bottom: 1px solid rgba(244,235,212,0.2) !important; padding: 28px !important}
  .invest-kpi-grid > div:last-child{border-bottom: none !important}
  .invest-kpi-grid .invest-kpi-num{font-size: 40px !important}
  /* numeros: DRE — % some, valor abaixo do label */
  .invest-dre-row{grid-template-columns: 1fr !important; gap: 4px !important; padding: 12px 0 !important; border-bottom: 1px solid rgba(244,235,212,0.1)}
  .invest-dre-row .invest-dre-label{font-size: 14px !important}
  .invest-dre-row .invest-dre-value{font-size: 16px !important; text-align: left !important; font-weight: 600}
  .invest-dre-row .invest-dre-pct{font-size: 11px !important; text-align: left !important; opacity: .55}
  /* outras métricas: 1 col */
  .invest-other-metrics{grid-template-columns: 1fr !important}
  .invest-other-metrics > div{border-right: none !important; border-bottom: 1px solid rgba(244,235,212,0.15) !important; padding: 18px !important}
  .invest-other-metrics > div:last-child{border-bottom: none !important}
  /* toggle modelo: 3 botões em col */
  .invest-numeros-toggle{flex-wrap: wrap}
  .invest-numeros-toggle button{flex: 1; min-width: 0; padding: 12px 8px !important; font-size: 9px !important}
  /* modelos: card padding menor, placeholder mais baixo */
  .invest-modelo-card{padding: 28px !important}
  .invest-modelo-card .plate{aspect-ratio: 16/10 !important; margin-bottom: 20px !important}
  /* FAQ: pergunta menor + + visível */
  .invest-faq-q{font-size: 19px !important; padding: 22px 0 !important; gap: 16px !important}
  .invest-faq-q-text{font-size: 19px !important}
  /* lead form */
  .invest-lead-card{padding: 24px !important}
  .invest-lead-fields{grid-template-columns: 1fr !important}
  .invest-lead-buttons{grid-template-columns: 1fr !important}
  .invest-lead-buttons-3{grid-template-columns: 1fr !important}
  .invest-lead-actions{flex-direction: column !important}
  .invest-lead-actions > button{width: 100%}
  /* lead progresso some, mostra só "passo X de 4" */
  .invest-lead-stepper{display: none !important}
  /* tese (proposta): card vira coluna */
  .invest-tese-row{grid-template-columns: 1fr !important; gap: 12px !important; padding: 24px 0 !important}
  .invest-tese-kpi{text-align: left !important; font-size: 22px !important}
}
@media (max-width: 480px){
  .gallery-grid{grid-template-columns: 1fr !important}
  .gallery-grid > [style*="span 2"]{grid-column: 1 !important}
  .btn{font-size: 10px !important; padding: 14px 18px !important}
  .hero-buttons{flex-direction: column; align-items: stretch}
  .hero-buttons .btn{justify-content: center}
}

/* mobile: framing da foto do chef sobe para não cortar a cabeça */
@media (max-width: 720px){
  .chef-img{object-position: center 8% !important}
}
@media (max-width: 480px){
  .chef-img{object-position: center 5% !important}
}

/* prevent horizontal scroll globally */
html,body{overflow-x:hidden;max-width:100%;background:var(--cream)}

/* nav */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding: 16px max(40px, calc((100% - 1240px) / 2));
  gap: 20px;
  background: rgba(244,235,212,0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rule);
  transition: all .3s ease;
}
@media (max-width: 1100px){
  .nav-links{display:none !important}
}
.nav.dark{
  background: rgba(30,42,33,0.92);
  color: var(--cream);
  border-bottom-color: rgba(244,235,212,0.15);
}
.nav-brand{
  display:flex;align-items:center;gap:12px;
  font-family:'Cormorant Garamond',serif;
  font-size: 22px;
  font-weight:500;
  letter-spacing:-0.01em;
}
.nav-brand .r{
  font-size: 32px;
  color: var(--riccardo);
  line-height: 0.8;
  font-weight:500;
}
.nav.dark .nav-brand .r{color: #E8A39C}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-link{
  font-family:'JetBrains Mono',monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform:uppercase;
  opacity:.7;
  transition: opacity .2s;
  cursor:pointer;
}
.nav-link:hover,.nav-link.active{opacity:1}
.nav-link.active{color:var(--riccardo)}
.nav.dark .nav-link.active{color: #E8A39C}

.mode-toggle{
  display:flex;
  border:1px solid var(--rule);
  border-radius:2px;
  overflow:hidden;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nav.dark .mode-toggle{border-color:rgba(244,235,212,0.2)}
.mode-toggle button{
  padding: 9px 14px;
  background:transparent;
  color:inherit;opacity:.6;
  transition:all .2s;
}
.mode-toggle button.active{
  background: var(--riccardo);
  color: var(--cream);
  opacity: 1;
}
.nav.dark .mode-toggle button.active{background: var(--cream);color: var(--moss-deep)}

/* section scaffolding */
.section{padding: 84px 0;position:relative}
.wrap{max-width: 1320px;margin:0 auto;padding: 0 40px}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform:uppercase;
  color: var(--riccardo);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{
  content:'';width:24px;height:1px;background:currentColor;
}

/* form fields */
.field{
  display:flex;flex-direction:column;gap:6px;
  padding: 14px 0 12px;
  border-bottom:1px solid var(--rule);
}
.field label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  opacity:.6;
}
.field input,.field select,.field textarea{
  background:transparent;border:none;outline:none;
  font-family:'EB Garamond',serif;font-size:18px;
  padding: 2px 0;
  color:inherit;
}
.field input::placeholder{color:rgba(28,22,18,0.3)}
.field.dark{border-bottom-color:rgba(244,235,212,0.2)}
.field.dark input,.field.dark select,.field.dark textarea{color:var(--cream)}
.field.dark label{color:var(--cream);opacity:.7}
.field.dark input::placeholder{color:rgba(244,235,212,0.3)}
.field:focus-within label{color:var(--riccardo);opacity:1}
.field.dark:focus-within label{color:var(--gold-soft);opacity:1}

/* tweaks panel */
.tweaks{
  position:fixed;bottom:24px;right:24px;z-index:999;
  width: 280px;
  background: var(--ink);
  color: var(--cream);
  padding: 20px;
  border-radius: 2px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  display:none;
}
.tweaks.open{display:block}
.tweaks h4{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  margin:0 0 14px;opacity:.7;
}
.tweak-row{
  display:flex;justify-content:space-between;align-items:center;
  padding: 8px 0;border-bottom:1px solid rgba(244,235,212,0.1);
  font-size:13px;
}
.tweak-row:last-child{border:none}
.tweak-swatches{display:flex;gap:6px}
.tweak-swatch{
  width:18px;height:18px;border-radius:50%;
  border:2px solid transparent;cursor:pointer;
}
.tweak-swatch.active{border-color:var(--cream)}

/* scrollbar subtle */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--cream-2)}
::-webkit-scrollbar-thumb{background:var(--riccardo);border-radius:0}

/* fade-up animation */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.fade-up{animation: fadeUp .8s ease both}

@keyframes imgfade{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}

/* prevent number wrap in KPI cards */
.invest-kpi-value{white-space:nowrap;flex-shrink:0}
.invest-tese-kpi{white-space:nowrap}
@media (max-width: 1100px){
  .invest-kpi-value{font-size:clamp(26px, 4.2vw, 40px) !important}
  .invest-tese-kpi{font-size:22px !important}
}

/* utility */
.grid{display:grid;gap:24px}
.flex{display:flex}
.between{justify-content:space-between}
.center{align-items:center}
.col{flex-direction:column}

/* ============================================================
   HERO (v2) — retrato editorial + selo R inteiro
   ============================================================ */
.hero-v2{
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--cream);
  position: relative;
  overflow: hidden;
  padding-top: 84px;
}
.hero-v2::before{
  content:''; position:absolute; inset:0;
  background-image: linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);
  background-size: 80px 80px; opacity:.2; pointer-events:none;
}
.hero-v2-wrap{ position:relative; z-index:1; width:100%; }
.hero-v2-grid{
  display:grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: clamp(24px, 3vw, 56px);
  align-items:center;
}
.hero-v2-text{ max-width: 540px; }
.hero-v2-text > *{ animation: heroRise .9s cubic-bezier(.2,.7,.2,1) both; }
.hero-v2-text > *:nth-child(1){ animation-delay:.05s }
.hero-v2-text > *:nth-child(2){ animation-delay:.15s }
.hero-v2-text > *:nth-child(3){ animation-delay:.25s }
.hero-v2-text > *:nth-child(4){ animation-delay:.35s }
.hero-v2-text > *:nth-child(5){ animation-delay:.45s }
@keyframes heroRise{ from{opacity:0; transform: translateY(24px)} to{opacity:1; transform:none} }

.hero-meta{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-size:10px; letter-spacing:.16em; opacity:.62;
  border-top:1px solid var(--rule); padding-top:20px;
}
.hero-meta-dot{ opacity:.4 }

/* portrait card — elegant, not full bleed */
.hero-v2-media{ position:relative; width:fit-content; max-width:100%; margin-left:auto; }
.hero-v2-card{
  position:relative; overflow:hidden;
  width: clamp(340px, 42vw, 540px);
  aspect-ratio: 4/5;
  border-radius: 3px;
  box-shadow: 0 44px 90px -32px rgba(28,22,18,0.42);
  animation: heroRise 1s cubic-bezier(.2,.7,.2,1) both; animation-delay:.2s;
}
.hero-v2-card img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 55%;
  animation: heroZoom 1.7s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes heroZoom{ from{transform:scale(1.07)} to{transform:scale(1)} }
.hero-v2-label{
  position:absolute; top:22px; right:22px; z-index:2;
  display:flex; flex-direction:column; align-items:flex-end; gap:8px;
}
.hero-v2-caption{
  display:flex; flex-direction:column; align-items:flex-end; gap:4px;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 10px 14px; color: var(--cream);
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; line-height:1.6;
}
/* R seal — fully visible, sits on the seam (overlaps card corner + cream) */
.hero-seal-v2{
  position:absolute; z-index:4;
  left:-58px; bottom:92px;
  width:168px; height:168px; border-radius:50%;
  background:var(--riccardo);
  box-shadow:0 26px 60px -16px rgba(90,23,19,0.55);
  border:4px solid var(--cream);
  display:flex; align-items:center; justify-content:center;
  animation: sealPop .7s cubic-bezier(.2,.8,.2,1) both; animation-delay:.55s;
}
@keyframes sealPop{ from{opacity:0; transform:scale(.7)} to{opacity:1; transform:scale(1)} }
.hero-seal-r{
  font-family:'Cormorant Garamond',serif; font-weight:500;
  font-size:150px; line-height:1; color:var(--cream);
  margin-top:-6px; letter-spacing:-0.02em;
  text-shadow:0 2px 12px rgba(0,0,0,0.18);
}
.hero-seal-tag{ display:none; }
/* fluid bridge to next section */
.hero-v2-cue{
  display:flex; align-items:center; gap:14px;
  margin-top: clamp(36px, 5vh, 60px);
  background:none; border:none; cursor:pointer; padding:0;
  color:var(--ink-soft); font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  opacity:.72; transition:opacity .2s;
  animation: heroRise .9s cubic-bezier(.2,.7,.2,1) both; animation-delay:.6s;
}
.hero-v2-cue:hover{ opacity:1 }
.hero-cue-rule{ width:46px; height:1px; background:var(--riccardo); display:inline-block; }
.hero-cue-arrow{ color:var(--riccardo); animation: scrollPulse 2.2s ease-in-out infinite; }
@keyframes scrollPulse{ 0%,100%{transform:translateY(0); opacity:.5} 50%{transform:translateY(3px); opacity:1} }

/* ---- atmosphere: aged paper, taped photo, handwriting, chef note ---- */
.hero-v2::after{
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(120% 85% at 82% -5%, rgba(184,147,90,0.12), transparent 60%),
    radial-gradient(90% 70% at 2% 102%, rgba(124,31,26,0.06), transparent 55%),
    radial-gradient(70% 60% at 50% 50%, transparent 55%, rgba(28,22,18,0.06));
  mix-blend-mode: multiply;
}
.hero-v2-wrap{ z-index:1; }
/* photo as a taped paper print */
.hero-v2-card{
  border: 11px solid #F2E8CF;
  background: #F2E8CF;
  box-shadow: 0 44px 90px -34px rgba(28,22,18,0.45), 0 1px 0 rgba(255,255,255,0.4) inset;
}
.hero-v2-media::before, .hero-v2-media::after{
  content:''; position:absolute; z-index:6; width:96px; height:26px;
  background: linear-gradient(180deg, rgba(238,225,191,0.82), rgba(214,196,150,0.62));
  box-shadow: 0 3px 7px rgba(28,22,18,0.14);
}
.hero-v2-media::before{ top:14px; left:-34px; transform: rotate(-45deg); }
.hero-v2-media::after{ top:14px; right:-34px; transform: rotate(45deg); }
/* handwritten accent */
.hero-script{
  font-family:'Pinyon Script', cursive;
  font-size: clamp(30px, 3vw, 44px);
  line-height:1; color: var(--riccardo);
  margin-top: 30px; transform: rotate(-4deg); transform-origin: left center;
  opacity:.92;
}
/* chef note on torn paper — removed on all viewports per request */
.storia-bridge .storia-note{ display:none !important; }
.hero-note-paper{
  position:relative;
  background:
    radial-gradient(120% 100% at 50% 0%, #F6EFDC, #EADDB8);
  padding: 22px 22px 30px;
  color: #5a4a36;
  clip-path: polygon(0% 4%, 8% 0%, 24% 5%, 42% 1%, 60% 6%, 78% 1%, 94% 5%, 100% 2%, 99% 96%, 88% 100%, 70% 96%, 52% 100%, 33% 96%, 16% 100%, 4% 96%, 1% 50%);
}
.hero-note-text{
  font-family:'Caveat', cursive; font-weight:500;
  font-size: 23px; line-height: 1.35;
}
.hero-note-text span{ color: var(--riccardo); }
.hero-note-sign{
  font-family:'Pinyon Script', cursive;
  font-size: 30px; color: var(--ink); margin-top: 8px; text-align:right;
}
.hero-note-ring{
  position:absolute; right: -14px; top: -16px;
  width: 64px; height: 64px; border-radius:50%;
  border: 7px solid rgba(124,31,26,0.16);
  box-shadow: 0 0 0 1px rgba(124,31,26,0.08) inset;
}
@media (max-width: 760px){ .hero-script{ font-size: 30px; } }

/* ---- reusable atmosphere: ink stamp · calligraphy · torn edge ---- */
.ink-stamp{
  position:relative; flex:0 0 auto; width:128px; height:128px; border-radius:50%;
  border:2px solid var(--riccardo); color:var(--riccardo);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; transform: rotate(-9deg); opacity:.6;
  font-family:'JetBrains Mono',monospace; letter-spacing:.14em;
}
.ink-stamp::before{ content:''; position:absolute; inset:8px; border:1px solid var(--riccardo); border-radius:50%; opacity:.5; }
.ink-stamp .is-top{ font-size:8.5px; }
.ink-stamp .is-r{ font-family:'Cormorant Garamond',serif; font-size:42px; line-height:1; margin:2px 0; }
.ink-stamp .is-bot{ font-size:8px; }
/* large centered seal — fills the sticky column on desktop */
.ink-stamp--lg{ width:200px; height:200px; border-width:2px; letter-spacing:.18em; }
.ink-stamp--lg::before{ inset:11px; }
.ink-stamp--lg .is-top{ font-size:11px; }
.ink-stamp--lg .is-r{ font-size:74px; margin:6px 0; }
.ink-stamp--lg .is-bot{ font-size:10px; }
@media (max-width: 1200px){
  .ink-stamp--lg{ width:160px; height:160px; }
  .ink-stamp--lg .is-r{ font-size:58px; }
  .ink-stamp--lg .is-top{ font-size:10px; }
  .ink-stamp--lg .is-bot{ font-size:9px; }
}

.script-accent{
  font-family:'Pinyon Script', cursive; color:var(--riccardo);
  font-size: clamp(28px, 2.6vw, 40px); line-height:1;
  display:inline-block; transform: rotate(-3deg); transform-origin:left center;
}
.script-accent.script-gold{ color: var(--gold-soft); }

/* torn-paper top edge */
/* torn-paper edge removed — straight section boundaries */
.tear-top::before{ display:none; }

/* hand-drawn circled key number + margin note */
.hand-circle{ position:relative; display:inline-block; }
.hand-circle::after{
  content:''; position:absolute; left:-16%; top:-22%; width:132%; height:150%;
  border:2px solid var(--riccardo); border-radius:48% 52% 50% 50% / 56% 47% 53% 44%;
  transform: rotate(-5deg); opacity:.75; pointer-events:none;
}
.hand-circle--gold::after{ border-color: var(--gold-soft); }
.hand-note{ font-family:'Caveat', cursive; font-size:18px; color:var(--gold-soft); opacity:.92; line-height:1; }

/* subtle aged-paper warmth on light sections */
.atmos-paper{ position:relative; }
.atmos-paper::before{
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(110% 80% at 90% 0%, rgba(184,147,90,0.07), transparent 60%),
    radial-gradient(90% 70% at 4% 100%, rgba(124,31,26,0.04), transparent 55%);
  mix-blend-mode: multiply;
}
.atmos-paper > *{ position:relative; z-index:1; }



/* tablet / mobile */
@media (max-width: 900px){
  .hero-v2{ min-height:auto; padding-top:104px; padding-bottom:52px; }
  .hero-v2-grid{ grid-template-columns:1fr; gap:52px; }
  .hero-v2-text{ order:1; max-width:560px; }
  .hero-v2-media{ order:2; margin:0 auto; }
  .hero-v2-card{ width: min(440px, 82vw); }
  .hero-seal-v2{ left:auto; right:-14px; bottom:-34px; width:128px; height:128px; }
  .hero-seal-r{ font-size:108px }
  .hero-v2-cue{ justify-content:center }
}
@media (max-width: 480px){
  .hero-buttons{ flex-direction:column; align-items:stretch }
  .hero-buttons .btn{ justify-content:center }
  .hero-v2-card{ width: 86vw; }
  .hero-seal-v2{ width:104px; height:104px; right:-6px; bottom:-26px }
  .hero-seal-r{ font-size:88px }
}

/* ============================================================
   INSTAGRAM CAROUSEL (v3)
   ============================================================ */
.ig-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:48px;
  margin-bottom:52px;
}
.ig-head-right{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; }
.ig-follow{
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 22px; border:1px solid var(--riccardo); color:var(--riccardo);
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  border-radius:2px; transition:background .25s, color .25s; text-decoration:none; white-space:nowrap;
}
.ig-follow:hover{ background:var(--riccardo); color:var(--cream); }

.ig-carousel{ position:relative; }
.ig-track{
  display:flex; gap:18px;
  padding:0 40px; max-width:1600px; margin:0 auto;
  will-change:transform;
}
.ig-tile{
  position:relative; flex:0 0 auto;
  width:clamp(248px, 26vw, 332px); aspect-ratio:1/1;
  overflow:hidden; border-radius:3px;
  background:var(--moss-deep);
  box-shadow:0 18px 44px -26px rgba(28,22,18,0.5);
  text-decoration:none;
}
.ig-tile img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.ig-tile:hover img{ transform:scale(1.06); }
.ig-tile-overlay{
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  gap:10px; padding:20px;
  color:var(--cream);
  background:linear-gradient(to top, rgba(20,30,22,0.82) 0%, rgba(20,30,22,0.1) 55%, rgba(20,30,22,0.4) 100%);
  opacity:0; transition:opacity .35s ease;
}
.ig-tile:hover .ig-tile-overlay{ opacity:1; }
.ig-tile-glyph{ color:var(--gold-soft); }
.ig-tile-cap{
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; line-height:1.2;
}
.ig-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:52px; height:52px; border-radius:50%;
  background:var(--cream); color:var(--ink); border:1px solid var(--rule);
  font-size:26px; line-height:1; cursor:pointer;
  box-shadow:0 10px 30px -10px rgba(28,22,18,0.4);
  transition:background .2s, color .2s, transform .2s;
  display:flex; align-items:center; justify-content:center;
}
.ig-arrow:hover{ background:var(--riccardo); color:var(--cream); }
.ig-arrow-prev{ left:24px; }
.ig-arrow-next{ right:24px; }
/* review carousel arrows (inline ‹ ›) */
.review-arrow{
  width:30px; height:30px; border-radius:50%;
  border:1px solid rgba(244,235,212,0.3); background:transparent; color:var(--cream);
  font-size:17px; line-height:1; cursor:pointer; opacity:.85;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s, border-color .2s;
}
.review-arrow:hover{ background:var(--gold-soft); color:var(--ink); border-color:var(--gold-soft); }
@media (max-width: 760px){
  .ig-head{ flex-direction:column; align-items:flex-start; gap:24px; }
  .ig-head-right{ text-align:left; align-items:flex-start; }
  .ig-track{ padding:0 20px; gap:12px; }
  .ig-tile{ width:74vw; }
  .ig-arrow{ display:none; }
}
@media (max-width: 1000px){
  .pedido-grid{ grid-template-columns: 1fr !important; gap:48px !important; }
  .cantina-grid{ grid-template-columns: 1fr !important; gap:40px !important; }
  .cantina-photo{ max-width:420px; }
}

/* ============================================================
   SCROLL REVEAL (v2)
   ============================================================ */
.reveal{ opacity:0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
@media (max-width: 1000px){
  .storia-portrait{ max-width: 320px; }
  .storia-stamp{ max-width: 320px; }
}

/* ---- mobile polish: footer cols · reserva date/time · storia stamp gap ---- */
@media (max-width: 860px){
  .footer-grid{ grid-template-columns: 1fr 1fr !important; gap: 40px 32px !important; }
  .footer-grid > :first-child{ grid-column: 1 / -1; }
}
@media (max-width: 480px){
  .footer-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 600px){
  .reserva-dt > div{ flex-basis: 100% !important; }
}
@media (max-width: 1000px){
  #storia .grid-2-col{ gap: 44px !important; }
  #storia .grid-2-col > div:first-child{ position: static !important; }
}

/* frozen-transition environments: never hide content */
.no-reveal .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
/* frozen-keyframe environments: never hide animation-gated content */
html.no-anim .hero-v2-text > *,
html.no-anim .hero-v2-card,
html.no-anim .hero-v2-card img,
html.no-anim .hero-seal-v2,
html.no-anim .hero-v2-cue,
html.no-anim .fade-up{
  animation: none !important; opacity: 1 !important; transform: none !important;
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  .hero-v2-text > *, .hero-v2-card, .hero-v2-card img, .hero-seal-v2, .hero-v2-cue{ animation:none !important; }
}

/* ===== Investidor v3 — hero photo · faixa de números · galeria do produto ===== */
.invest-hero-photo{ position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:2px; box-shadow:0 40px 80px -20px rgba(0,0,0,0.6); }
.invest-hero-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; filter:brightness(0.99) contrast(1.03); }
.invest-hero-photo-cap{ position:absolute; left:0; right:0; bottom:0; padding:32px 18px 14px; font-size:9px; letter-spacing:.22em; color:var(--cream); opacity:1; background:linear-gradient(to top, rgba(0,0,0,0.80), rgba(0,0,0,0)); text-shadow:0 1px 4px rgba(0,0,0,.5); }

.invest-kpi-strip{ margin-top:60px; padding-top:32px; border-top:1px solid rgba(244,235,212,0.15); display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.invest-kpi-cell-v{ font-family:'Cormorant Garamond',serif; font-size:30px; font-style:italic; color:var(--gold-soft); line-height:1.05; }
.invest-kpi-cell-l{ font-size:9.5px; letter-spacing:.16em; opacity:.55; margin-top:9px; text-transform:uppercase; }

.invest-gal-head{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:end; }
.invest-gal-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:218px; gap:14px; margin-top:46px; }
.invest-gal-grid .tile{ position:relative; overflow:hidden; border-radius:2px; background:var(--moss-deeper,#1a2520); }
.invest-gal-grid .tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.invest-gal-grid .tile:hover img{ transform:scale(1.05); }
.invest-gal-grid .g-feature{ grid-column:span 4; grid-row:span 2; }
.invest-gal-grid .g-1,.invest-gal-grid .g-2,.invest-gal-grid .g-3,.invest-gal-grid .g-4,.invest-gal-grid .g-5{ grid-column:span 2; }
.invest-gal-cap{ position:absolute; left:0; right:0; bottom:0; padding:32px 16px 12px; font-size:9px; letter-spacing:.2em; color:var(--cream); opacity:1; background:linear-gradient(to top, rgba(0,0,0,0.80), rgba(0,0,0,0)); text-shadow:0 1px 4px rgba(0,0,0,.5); }

@media (max-width:980px){
  .invest-kpi-strip{ grid-template-columns:1fr 1fr; gap:24px; }
}
@media (max-width:860px){
  .invest-hero-grid{ grid-template-columns:1fr !important; gap:40px !important; }
  .invest-hero-photo{ aspect-ratio:4/5; }
  .invest-gal-head{ grid-template-columns:1fr; gap:18px; }
  .invest-gal-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .invest-gal-grid .g-feature{ grid-column:span 2; grid-row:span 2; }
  .invest-gal-grid .g-1,.invest-gal-grid .g-2,.invest-gal-grid .g-3,.invest-gal-grid .g-4,.invest-gal-grid .g-5{ grid-column:span 1; }
}

/* ===========================================================================
   Ajustes só de MOBILE (não alteram o desktop) — pedidos do Victor
   =========================================================================== */
.invest-status-mobile{ display:none; } /* condensado: só aparece no mobile */
.invest-gal-grid .g-6{ display:none; } /* tile extra da galeria: só no mobile */
/* fita de foto colada (versão de teste do banner) */
.roma-tape{ position:absolute; z-index:5; width:80px; height:24px; pointer-events:none;
  background:linear-gradient(180deg, rgba(238,225,191,0.85), rgba(214,196,150,0.6));
  box-shadow:0 3px 8px rgba(0,0,0,0.18); }
/* selo / carimbo (espaço vazio do hero investidor) */
.inkstamp{ width:152px; height:152px; transform:rotate(-8deg); opacity:.55; pointer-events:none; }
.inkstamp svg{ width:100%; height:100%; }
.inkstamp .st-arc{ font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:2.4px; text-anchor:middle; }
.inkstamp .st-est{ font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:2px; text-anchor:middle; }
.inkstamp .st-year{ font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:31px; text-anchor:middle; }
.inkstamp .st-loc{ font-family:'JetBrains Mono',monospace; font-size:8px; letter-spacing:1.6px; text-anchor:middle; }
.invest-hero-stamp{ width:200px; height:200px; margin-top:56px; margin-left:6px; }

@media (max-width: 860px){
  /* preenche a célula vazia da galeria "Il prodotto" no mobile */
  .invest-gal-grid .g-6{ display:block; }
  /* selo do hero só no desktop (no mobile o layout empilha) */
  .invest-hero-stamp{ display:none; }
  /* conta de retorno (versão de teste): empilha no mobile */
  .invest-payback-grid, .invest-payback-foot{ grid-template-columns:1fr !important; }
  .invest-payback-grid > div, .invest-payback-foot > div{ border-right:none !important; }
  /* banner dividido: empilha no mobile, foto em cima com largura explícita
     (margin:auto sozinho colapsava o container pra largura zero) */
  .roma-split-grid{ grid-template-columns:1fr !important; gap:36px !important; text-align:center; }
  .roma-split-photo{ width:280px !important; max-width:78vw !important; margin:0 auto !important; }
  .roma-split-grid .display{ margin:0 auto !important; }
  .roma-split-quote{ font-size:24px !important; line-height:1.3 !important; }
}

@media (max-width: 760px){
  /* #2 hero investidor: barra de status condensada numa linha só */
  .invest-status-bar{ flex-direction:row !important; align-items:center !important; }
  .invest-status-bar > span:not(.invest-status-mobile){ display:none !important; }
  .invest-status-bar .invest-status-mobile{ display:block !important; }

  /* #2 H1 do hero investidor maior, quebrando natural (sem os <br/> forçados) */
  .invest-hero-grid .hero-inv-br{ display:none; }
  .invest-hero-grid h1.display{ font-size:12vw !important; line-height:1.03 !important; }

  /* #3 nav: remove "· dal 2023" e impede as duas linhas de quebrarem,
     pra o "R" casar com a altura de "da Riccardo / Tradizione Romana" */
  .nav-dal{ display:none; }
  .nav-brand > div span{ white-space:nowrap; }

  /* #4 FAQ: título flui natural, sem o <br/> que deixava espaço solto */
  .faq-br{ display:none; }

  /* RomaBanner: citação em 2 linhas + banner compacto (imagem perto do texto) */
  .roma-quote{ font-size:22px !important; line-height:1.3 !important; text-wrap:balance; }
  .roma-banner{ min-height:auto !important; }
  .roma-inner{ min-height:auto !important; padding:56px 22px !important; }
}


