/* RENOVIA v5.2 - Scoped footer and Maebashi event card. Only rv52-* selectors. */
.rv52-footer { --rv52-wine:#9d2039; --rv52-charcoal:#262626; --rv52-ink:#26232a; --rv52-muted:#756c73; color:var(--rv52-ink); background:#fff; isolation:isolate; }
.rv52-footer *, .rv52-footer *::before, .rv52-footer *::after { box-sizing:border-box; }
.rv52-footer a { text-decoration:none; }
.rv52-footer__container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.rv52-footer__eyebrow { color:var(--rv52-wine); font-size:12px; font-weight:850; line-height:1.5; letter-spacing:.15em; margin:0; display:flex; align-items:center; gap:11px; }
.rv52-footer__eyebrow span { display:block; width:25px; height:2px; background:currentColor; flex:0 0 auto; }
.rv52-footer__event { background:linear-gradient(118deg,#fffaf7 0%,#fff5f0 60%,#f8ebe6 100%); border-top:1px solid #f0e1de; }
.rv52-footer__event-inner { padding:28px 0; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:32px; }
.rv52-footer__event-poster { display:block; aspect-ratio:3/4; border:5px solid #fff; border-radius:15px; overflow:hidden; box-shadow:0 8px 25px rgba(68,37,25,.12); transform:rotate(-2deg); }
.rv52-footer__event-poster img { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.rv52-footer__event-copy { min-width:0; }
.rv52-footer__eyebrow--event { color:#9d2039; margin-bottom:12px; }
.rv52-footer__event-badge { display:inline-block; font-size:12px; font-weight:800; padding:6px 12px; color:#8c2b40; border:1px solid #dfbbc3; border-radius:999px; background:#fff; margin-bottom:10px; }
.rv52-footer__event h2 { font-size:clamp(22px,3vw,36px); line-height:1.34; letter-spacing:.025em; margin:0 0 10px; font-weight:850; color:#292126; }
.rv52-footer__event h2 span { color:var(--rv52-wine); white-space:nowrap; }
.rv52-footer__event-mobile-break { display:none; }
.rv52-footer__event-lead { font-size:15px; line-height:1.7; color:#5f5357; margin:0 0 10px; }
.rv52-footer__event-dates { display:flex; flex-wrap:wrap; gap:7px 20px; list-style:none; margin:0 0 8px; padding:0; }
.rv52-footer__event-dates li { font-size:14px; color:#44373c; }
.rv52-footer__event-dates strong { color:#922a40; }
.rv52-footer__event-location { font-size:12px; color:#6c646a; line-height:1.6; margin:4px 0 16px; }
.rv52-footer__btn { display:inline-flex; justify-content:center; align-items:center; gap:22px; border-radius:999px; padding:13px 22px; min-height:46px; font-size:14px; line-height:1.5; font-weight:750; transition:transform .15s ease, background .2s ease; text-align:center; }
.rv52-footer__btn:hover { transform:translateY(-2px); }
.rv52-footer__btn span { font-size:18px; }
.rv52-footer__btn--event { color:#fff !important; background:var(--rv52-wine); }
.rv52-footer__btn--event:hover { background:#80172e; }
.rv52-footer__consult { background:#fff; }
.rv52-footer__consult-inner { display:grid; grid-template-columns:120px minmax(0,1fr) 250px; gap:32px; align-items:center; padding:68px 0; }
.rv52-footer__consult-icon { border:1px solid #f1dfe0; border-radius:30px; background:#fff9f8; overflow:hidden; aspect-ratio:1/1; display:flex; align-items:center; }
.rv52-footer__consult-icon img { width:100%; height:100%; object-fit:contain; display:block; }
.rv52-footer__consult-copy h2 { font-size:clamp(24px,3vw,36px); color:#29232b; line-height:1.44; letter-spacing:.01em; margin:12px 0; font-weight:850; }
.rv52-footer__consult-copy > p:last-child { font-size:14px; line-height:1.9; color:#786e75; margin:0; }
.rv52-footer__consult-actions { display:flex; flex-direction:column; gap:9px; }
.rv52-footer__btn--primary { color:#fff !important; background:var(--rv52-wine); }
.rv52-footer__btn--primary:hover { background:#7f132d; }
.rv52-footer__btn--light { background:#fff; color:var(--rv52-wine) !important; border:1px solid #d8a5b1; }
.rv52-footer__consult-line { display:inline-flex; justify-content:center; gap:10px; padding:7px; font-size:13px; color:#477755 !important; font-weight:700; }
.rv52-footer__body { background:var(--rv52-charcoal); color:#fff; padding:68px 0 24px; }
.rv52-footer__nav-grid { display:grid; grid-template-columns:minmax(260px,1.35fr) minmax(155px,.65fr) minmax(270px,1fr); gap:clamp(24px,4vw,66px); padding-bottom:60px; }
.rv52-footer__logo { display:inline-block; max-width:210px; width:100%; }
.rv52-footer__logo img { display:block; width:100%; height:auto; }
.rv52-footer__brand-lead { margin:24px 0 24px; font-size:16px; font-weight:600; line-height:1.8; color:#f2e8e8; }
.rv52-footer__brand-address { margin:0 0 14px; color:#cfc9c9; font-size:13px; line-height:1.95; }
.rv52-footer__brand-phone { display:block; color:#fff !important; font-size:22px; line-height:1.5; font-weight:850; width:max-content; }
.rv52-footer__brand-email { display:block; color:#e7d5da !important; font-size:14px; margin-top:5px; width:max-content; }
.rv52-footer__nav-col h3 { font-size:13px; letter-spacing:.17em; margin:7px 0 24px; color:#e5aebc; font-weight:850; }
.rv52-footer__nav-col h3 a { color:#e5aebc !important; }
.rv52-footer__nav-col h3 a span { font-size:15px; }
.rv52-footer__nav-col ul { display:grid; gap:15px; padding:0; margin:0; list-style:none; }
.rv52-footer__nav-col li { margin:0; padding:0; list-style:none; }
.rv52-footer__nav-col li a { font-size:15px; line-height:1.55; color:#f5f2f2 !important; font-weight:550; display:inline-block; }
.rv52-footer__nav-col li a:hover,.rv52-footer__legal a:hover,.rv52-footer__socials a:hover { color:#f0aab9 !important; }
.rv52-footer__footbar { border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:18px 0; }
.rv52-footer__socials,.rv52-footer__legal { display:flex; align-items:center; flex-wrap:wrap; gap:11px 24px; }
.rv52-footer__socials a { color:#fff !important; font-size:14px; font-weight:750; }
.rv52-footer__socials span { color:#daa2b0; }
.rv52-footer__legal a { color:#d8d0d0 !important; font-size:13px; }
.rv52-footer__final { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:20px; }
.rv52-footer__final small { color:#aaa4a5; font-size:12px; line-height:1.5; }
.rv52-footer__backtop { color:#fff !important; display:inline-flex; align-items:center; gap:10px; font-size:17px; font-weight:700; padding:4px; }
.rv52-footer__backtop span { font-size:12px; }
@media (max-width: 980px) {
  .rv52-footer__consult-inner { grid-template-columns:96px 1fr; gap:24px; padding:52px 0; }
  .rv52-footer__consult-actions { grid-column:2; flex-direction:row; flex-wrap:wrap; }
  .rv52-footer__consult-actions .rv52-footer__btn { min-width:180px; }
  .rv52-footer__consult-line { align-self:center; }
  .rv52-footer__nav-grid { grid-template-columns:minmax(220px,1fr) minmax(175px,1fr); gap:38px; }
  .rv52-footer__brand-col { grid-row:span 2; }
}
@media (max-width: 650px) {
  .rv52-footer__container { width:calc(100% - 36px); }
  .rv52-footer__event-inner { padding:26px 0 30px; grid-template-columns:88px minmax(0,1fr); align-items:start; gap:16px; }
  .rv52-footer__event-poster { margin-top:36px; border-width:3px; border-radius:9px; }
  .rv52-footer__eyebrow--event { font-size:10px; margin-bottom:10px; }
  .rv52-footer__event-badge { font-size:10px; margin-bottom:7px; padding:3px 8px; }
  .rv52-footer__event h2 { font-size:clamp(19px,4.6vw,26px); margin:0 0 8px; }
  .rv52-footer__event h2 span { display:block; white-space:normal; }
  .rv52-footer__event-mobile-break { display:block; }
  .rv52-footer__event-lead { font-size:12px; }
  .rv52-footer__event-dates { display:block; margin-top:10px; }
  .rv52-footer__event-dates li { font-size:12px; line-height:1.65; margin-top:5px; }
  .rv52-footer__event-dates strong { display:block; }
  .rv52-footer__event-location { font-size:11px; margin:10px 0 14px; }
  .rv52-footer__btn--event { padding:10px 12px; min-height:42px; font-size:12px; gap:10px; }
  .rv52-footer__consult-inner { grid-template-columns:74px 1fr; gap:14px; padding:50px 0; }
  .rv52-footer__consult-icon { border-radius:19px; align-self:start; }
  .rv52-footer__consult-copy .rv52-footer__eyebrow { font-size:10px; }
  .rv52-footer__consult-copy h2 { font-size:clamp(21px,5.6vw,30px); margin:10px 0; }
  .rv52-footer__consult-copy > p:last-child { font-size:12px; }
  .rv52-footer__br-pc { display:none; }
  .rv52-footer__consult-actions { grid-column:1/-1; flex-direction:column; gap:10px; margin-top:6px; }
  .rv52-footer__consult-actions .rv52-footer__btn { width:100%; min-height:50px; }
  .rv52-footer__consult-line { align-self:center; }
  .rv52-footer__body { padding:48px 0 26px; }
  .rv52-footer__nav-grid { grid-template-columns:1fr 1fr; gap:36px 20px; padding-bottom:42px; }
  .rv52-footer__brand-col { grid-column:1/-1; grid-row:auto; }
  .rv52-footer__logo { max-width:185px; }
  .rv52-footer__brand-lead { margin:16px 0; font-size:15px; }
  .rv52-footer__brand-address { font-size:12px; }
  .rv52-footer__nav-col h3 { font-size:12px; margin:0 0 16px; }
  .rv52-footer__nav-col ul { gap:14px; }
  .rv52-footer__nav-col li a { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
  .rv52-footer__footbar { display:block; }
  .rv52-footer__socials { margin-bottom:20px; }
  .rv52-footer__legal { gap:16px; }
  .rv52-footer__final { align-items:flex-end; }
  .rv52-footer__final small { font-size:10px; }
  .rv52-footer__backtop span { display:none; }
}
@media (prefers-reduced-motion: reduce) { .rv52-footer__btn { transition:none; } }
