/* Brand illustration, original CMS menu and direct calling. */
.classic-desktop { gap: 26px; }
.classic-desktop .classic-root > summary { font-size:14px; }
.classic-desktop .classic-root-link { min-height:48px; }
.classic-desktop .classic-submenu {
  position:absolute; inset-block-start:64px; inset-inline:0; margin-inline:auto;
  width:min(1000px,calc(100vw - 40px)); max-height:calc(100dvh - 90px); overflow:auto;
  padding:24px; background:white; border:1px solid var(--line); border-radius:0 0 20px 20px;
  box-shadow:0 18px 36px #34202e16;
}
.classic-desktop .classic-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 24px; }
.classic-desktop .classic-submenu a { font-size:14px; font-weight:400; min-height:44px; }
.classic-desktop .classic-submenu .classic-all { font-weight:700; color:var(--brand); margin-bottom:12px; border-bottom:1px solid var(--line); }
.classic-desktop .classic-country > summary { color:var(--brand); font-size:15px; }
.classic-desktop .classic-country .classic-parent-link { font-size:12px; color:var(--muted); }
.classic-mobile .classic-root-link { display:flex; align-items:center; min-height:52px; border-bottom:1px solid var(--line); font-weight:700; }
.classic-mobile .classic-root { border-bottom:1px solid var(--line); }
.classic-mobile .classic-submenu { padding:0 10px 16px; }
.classic-mobile .classic-submenu a { display:flex; align-items:center; min-height:44px; font-size:14px; }
.classic-mobile .classic-all,.classic-mobile .classic-parent-link { color:var(--brand); }
.classic-mobile .classic-country { border-top:1px solid var(--line); }
.classic-mobile .classic-country > div { border-inline-start:2px solid var(--tint); padding-inline-start:14px; }
.classic-mobile .classic-country summary { font-size:15px; }
.package-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid var(--line); margin-top:8px; padding-top:16px; }
.package-actions .package-consult { border:0; padding:0; }
.package-call { min-width:144px; }
.contact-dock { position:fixed; inset-inline-start:24px; bottom:24px; z-index:26; display:flex; align-items:center; gap:20px; padding:12px; background:#fff; border:1px solid #dbc8da; border-radius:18px; box-shadow:0 6px 28px #4b194d18; }
.contact-dock-copy { display:flex; flex-direction:column; padding-inline:4px; }
.contact-dock-copy strong { font-size:15px; }
.contact-dock-copy span { font-size:12px; color:var(--muted); }
.contact-dock .button { font-size:14px; }
body:has(.contact-dock) .site-footer { padding-bottom:calc(var(--contact-dock-height,86px) + 40px); }
.tour-contact-action .tour-action-buttons { display:flex; justify-content:flex-end; align-items:center; gap:16px; }
.tour-contact-action .tour-action-buttons .button small { color:#fff; font-size:11px; font-weight:400; }
.tour-contact-action .tour-action-buttons .button { text-align:start; padding:8px 14px; }
.brand-home-hero { margin-top:24px; padding:32px; border-radius:24px; background:#f5edf8; gap:28px; grid-template-columns:1fr 1fr; overflow:clip; }
.brand-home-hero .hero-copy { min-width:0; }
.brand-home-hero .hero-copy h1 { font-size:clamp(28px,3.2vw,46px); line-height:1.65; }
.brand-home-hero .hero-copy .hero-instagram { margin-top:20px; display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; }
.hero-instagram p { font-size:13px; color:var(--muted); }
.hero-instagram a { min-height:44px; display:inline-flex; align-items:center; gap:7px; color:var(--brand); font-weight:700; font-size:14px; }
.brand-home-hero .mascot-hero { aspect-ratio:960/801; max-height:none; border-radius:20px; background:transparent; }
.brand-home-hero .mascot-hero img { object-fit:contain; mix-blend-mode:multiply; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.benefit-card { min-width:0; padding:24px 20px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.benefit-visual { display:block; width:152px; height:152px; max-width:100%; object-fit:contain; border-radius:24px; margin:0 auto 20px; }
.benefit-card { text-align:center; }
.benefit-card h3 { font-size:19px; }
.benefit-card p { margin-top:8px; font-size:14px; color:var(--muted); }
@media (prefers-reduced-motion:no-preference) {
  .benefit-card { transition:transform .18s,border-color .18s; }
  .benefit-card:hover { transform:translateY(-3px); border-color:#c8abc9; }
  .button:active { transform:scale(.98); }
}
@media (max-width:991px) {
  .brand-home-hero { padding:24px; gap:20px; }
  .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .brand-home-hero { margin-top:16px; padding:24px 18px 0; grid-template-columns:minmax(0,1fr); gap:12px; }
  .brand-home-hero .hero-copy h1 { font-size:28px; }
  .brand-home-hero .hero-copy > p:not(.eyebrow) { margin-block:8px 16px; }
  .brand-home-hero .hero-copy .hero-instagram { margin-top:8px; gap:0 8px; }
  .brand-home-hero .mascot-hero { height:230px; width:100%; aspect-ratio:auto; }
  .benefit-grid { gap:12px; }
  .benefit-card { padding:18px 14px; border-radius:16px; }
  .benefit-visual { width:96px; height:96px; border-radius:18px; margin-bottom:14px; }
  .benefit-card h3 { font-size:17px; }
  .benefit-card p { font-size:13px; }
  .contact-dock { inset-inline:0; bottom:0; gap:12px; justify-content:space-between; border-radius:16px 16px 0 0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .contact-dock-copy span { display:none; }
  .contact-dock-copy strong { font-size:14px; }
  .contact-dock .button { padding:10px 14px; }
  .tour-contact-action { gap:8px; }
  .tour-contact-action > div:first-child { flex:1; }
  .tour-contact-action .tour-action-buttons { flex:none; }
  .tour-contact-action .tour-action-buttons > .text-link { display:none; }
  .tour-contact-action .tour-action-buttons .button { gap:6px; font-size:13px; padding:7px 10px; }
  .tour-contact-action .tour-action-buttons .button .ui-icon { width:20px; }
  body:has(.tour-contact-action) .site-footer { padding-bottom:calc(var(--contact-dock-height,96px) + 32px); }
  .editing-form .contact-dock,.editing-form .tour-contact-action { visibility:hidden; pointer-events:none; }
  .package-actions .package-call { min-width:130px; }
}
@media (min-width:768px) {
  .tour-contact-action { position:fixed; bottom:24px; inset-inline-start:24px; z-index:26; padding:10px 12px; gap:20px; box-shadow:0 6px 28px #4b194d18; }
  .tour-contact-action > div:first-child { display:none; }
  .tour-contact-action .tour-action-buttons > .text-link { font-size:13px; }
  body:has(.tour-contact-action) .site-footer { padding-bottom:calc(var(--contact-dock-height,90px) + 40px); }
}
@media(max-width:359px) {
  .brand-home-hero { padding-inline:14px; }
  .brand-home-hero .hero-copy h1 { font-size:25px; }
  .package-actions { align-items:stretch; }
  .package-actions > a { justify-content:center; }
  .benefit-card { padding:16px 12px; }
}
