/* Active homepage only: original palette, wireframe and typography are retained. */
body.melon-homepage .studio > *,
body.melon-homepage .feature > *,
body.melon-homepage .contact-grid > *,
body.melon-homepage .cards > *,
body.melon-homepage .price-grid > *,
body.melon-homepage .pkgs > *,
body.melon-homepage .service-switch > *,
body.melon-homepage .booking-service-tabs > *,
body.melon-homepage .booking-service-tabs button > *,
body.melon-homepage .bk-form > *,
body.melon-homepage .row2 > *,
body.melon-homepage .info-row > *,
body.melon-homepage .news > * { min-width:0; }
body.melon-homepage .info-row .v,
body.melon-homepage .copy,
body.melon-homepage .card h3,
body.melon-homepage .summary,
body.melon-homepage .bk-msg { overflow-wrap:anywhere; }
body.melon-homepage .service-switch button,
body.melon-homepage .booking-service-tabs button span { overflow-wrap:anywhere; }
body.melon-homepage .news form { min-width:0; width:100%; }
body.melon-homepage .news input { min-width:0; }
body.melon-homepage .news .nt { max-width:100%; }
body.melon-homepage .work-caption { position:absolute; z-index:2; inset:auto 0 0; padding:48px 20px 20px; background:linear-gradient(transparent,rgba(4,9,6,.92)); color:var(--ink); pointer-events:none; overflow-wrap:anywhere; }
body.melon-homepage .work-caption strong { display:block; font-size:17px; line-height:1.4; }
body.melon-homepage .work-caption span { display:block; color:#c5d3ca; font-size:12px; line-height:1.5; margin-top:4px; }
body.melon-homepage .work-no-poster { display:flex; align-items:center; justify-content:center; text-align:center; padding:24px 24px 110px; color:var(--accent2); font-weight:600; }
body.melon-homepage .home-service-links { display:flex; gap:12px 20px; flex-wrap:wrap; margin-top:24px; }
body.melon-homepage .home-service-links a { color:var(--accent2); text-decoration:underline; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; }
body.melon-homepage .home-catalog-summary { border:1px solid var(--line); border-radius:16px; padding:18px 22px; margin:24px 0; background:var(--card); }
body.melon-homepage .home-catalog-summary > summary { cursor:pointer; color:var(--ink); min-height:44px; font-weight:600; line-height:1.5; }
body.melon-homepage .home-catalog-summary[open] > summary { margin-bottom:16px; }
body.melon-homepage .home-facts { margin:12px 0; }
body.melon-homepage .home-facts-row { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr); gap:12px 20px; border-top:1px solid var(--line); padding:12px 0; }
body.melon-homepage .home-facts-row dt { color:var(--muted); font-size:13px; }
body.melon-homepage .home-facts-row dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
body.melon-homepage .home-trust-summary { max-width:62ch; border-left:2px solid var(--accent); padding:6px 0 6px 18px; margin-top:26px; font-size:14px; line-height:1.7; color:var(--muted); }
body.melon-homepage .home-trust-summary blockquote { color:var(--ink); margin:0 0 8px; }
body.melon-homepage .home-trust-summary cite { display:block; font-size:12px; font-style:normal; }
body.melon-homepage .home-service-area,
body.melon-homepage .home-service-area p { max-width:65ch; margin-top:18px; color:var(--muted); }
body.melon-homepage .home-service-area a { color:var(--accent2); text-decoration:underline; text-underline-offset:4px; }
body.melon-homepage .package-scope { margin-top:18px; border-top:1px solid var(--line); padding-top:8px; }
body.melon-homepage .package-scope > summary { min-height:44px; padding:10px 0; cursor:pointer; font:600 13px/1.6 'Inter',system-ui,sans-serif; color:var(--accent2); }
body.melon-homepage .package-scope dl { display:grid; grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr); gap:8px 14px; font-size:12px; line-height:1.65; }
body.melon-homepage .package-scope dt { color:var(--muted); }
body.melon-homepage .package-scope dd { margin:0; overflow-wrap:anywhere; color:var(--ink); }
body.melon-homepage .package-scope p { font-size:12px; line-height:1.65; margin-top:12px; color:var(--muted); }
body.melon-homepage #book input,
body.melon-homepage #book textarea,
body.melon-homepage #book select,
body.melon-homepage #contact input,
body.melon-homepage #contact textarea,
body.melon-homepage #contact select { max-width:100%; min-width:0; scroll-margin-block:110px; }
body.melon-homepage .bk-nav { flex-wrap:wrap; }
body.melon-homepage .bk-nav .btn { white-space:normal; text-align:center; max-width:100%; }
body.melon-homepage .photo-price-row > * { min-width:0; }
body.melon-homepage .photo-price-row .psize,
body.melon-homepage .photo-price-row .pdeposit { overflow-wrap:anywhere; }
body.melon-homepage #mbar .mb-t { min-width:0; overflow-wrap:anywhere; }
body.melon-homepage #mbar .btn { flex-shrink:0; }
body.melon-homepage [role="button"]:focus-visible,
body.melon-homepage [role="slider"]:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
body.melon-homepage .burger { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
body.melon-homepage .lb-close,
body.melon-homepage .tcm-x,
body.melon-homepage #dsea-cc-x,
body.melon-homepage #dsea-cc-send { min-width:44px; min-height:44px; }
body.melon-homepage .service-switch button,
body.melon-homepage .booking-service-tabs button,
body.melon-homepage .photo-price-row .pbook,
body.melon-homepage .slot,
body.melon-homepage .size-chip,
body.melon-homepage .cal .day[role="button"] { min-height:44px; }
/* Fail open if a decorative script or the main inline script fails to initialize. */
body.melon-homepage .reveal { opacity:1; transform:none; }
body.melon-homepage.melon-reveals-ready .reveal:not(.in) { opacity:0; transform:translateY(40px); }
body.melon-homepage:not(.melon-faq-ready) .qa .ans { max-height:none; }
body.melon-homepage.melon-controls-suppressed #mbar,
body.melon-homepage.melon-controls-suppressed #top,
body.melon-homepage.melon-controls-suppressed #wa,
body.melon-homepage.melon-controls-suppressed #dsea-cc:not(.open),
body.melon-homepage.melon-overlay-active #dsea-cc { visibility:hidden; opacity:0; pointer-events:none; }
body.melon-homepage .review-wall:focus-within .rw-track { animation-play-state:paused; }
@media (pointer:coarse) {
  body.melon-homepage .work-item .play { opacity:1; transform:translate(-50%,-50%) scale(1); }
}
@media (max-width:900px) {
  body.melon-homepage #menu { max-height:100dvh; overscroll-behavior:contain; }
  body.melon-homepage #menu a { min-height:44px; display:flex; align-items:center; }
}
@media (max-width:760px) {
  body.melon-homepage #dsea-cc-in { min-width:0; font-size:16px; }
  body.melon-homepage #dsea-cc.open { bottom:calc(16px + var(--melon-keyboard-inset,0px)); }
  body.melon-homepage #dsea-cc.open #dsea-cc-panel { bottom:0; max-height:calc(var(--melon-visual-height,100dvh) - 32px); }
  body.melon-homepage .tcm-card { max-height:calc(var(--melon-visual-height,100dvh) - 36px); }
  body.melon-homepage .bk-secure { flex-wrap:wrap; white-space:normal; }
}
@media (max-width:640px) {
  body.melon-homepage .cal { grid-template-columns:repeat(7,minmax(0,1fr)); }
  body.melon-homepage .cal .day { min-width:0; min-height:44px; aspect-ratio:auto; }
  body.melon-homepage .home-facts-row { grid-template-columns:1fr; gap:4px; }
  body.melon-homepage .package-scope dl { grid-template-columns:1fr; gap:2px; }
  body.melon-homepage .package-scope dd { margin-bottom:10px; }
  body.melon-homepage .home-catalog-summary { padding:16px; }
  body.melon-homepage .news form { flex-direction:column; align-items:stretch; max-width:none; }
  body.melon-homepage .news form .btn { width:100%; }
  body.melon-homepage .news { padding:22px 18px; }
  body.melon-homepage .statuspill { max-width:100%; overflow-wrap:anywhere; }
  body.melon-homepage .statuspill .sdot { flex-shrink:0; }
  body.melon-homepage .hero-cta .btn { text-align:center; max-width:100%; }
  body.melon-homepage #cookie { max-width:calc(100% - 24px); }
  body.melon-homepage #cookie .cbtns { flex-wrap:wrap; }
}
@media (max-width:380px) {
  body.melon-homepage .book-wrap { padding:22px 16px; }
  body.melon-homepage .bk-nav .btn { flex:1 1 100%; }
  body.melon-homepage .photo-price-row { gap:8px; padding-inline:12px; }
  body.melon-homepage #mbar { gap:8px; padding-inline:12px; }
  body.melon-homepage #mbar .btn { padding-inline:14px; }
}
/* Reduced effects retain the static dark/green artwork and all essential feedback. */
html.melon-homepage-document.melon-reduced-effects { scroll-behavior:auto; }
body.melon-homepage.melon-reduced-effects .reveal { opacity:1; transform:none; transition:none; }
body.melon-homepage.melon-reduced-effects .marquee-track,
body.melon-homepage.melon-reduced-effects .rw-track,
body.melon-homepage.melon-reduced-effects .fx-grain,
body.melon-homepage.melon-reduced-effects .statuspill .sdot,
body.melon-homepage.melon-reduced-effects .scroll-cue .mouse::after { animation:none; }
body.melon-homepage.melon-reduced-effects .cur-ring,
body.melon-homepage.melon-reduced-effects .cur-dot { display:none; }
body.melon-homepage.melon-reduced-effects.cursor-on,
body.melon-homepage.melon-reduced-effects.cursor-on a,
body.melon-homepage.melon-reduced-effects.cursor-on button { cursor:auto; }
@media (prefers-reduced-motion:reduce) {
  body.melon-homepage .reveal,
  body.melon-homepage .rot,
  body.melon-homepage .btn,
  body.melon-homepage .tilt,
  body.melon-homepage #mbar,
  body.melon-homepage #menu { transition:none; }
  body.melon-homepage .cur-ring,
  body.melon-homepage .cur-dot { display:none; }
  body.melon-homepage .fx-grain,
  body.melon-homepage .statuspill .sdot,
  body.melon-homepage .scroll-cue .mouse::after { animation:none; }
}

/* Keyboard entry without changing the resting page. */
body.melon-homepage .home-skip-link { position:fixed;left:16px;top:-120px;z-index:2000;background:var(--accent);color:#04140b;padding:12px 18px;border-radius:8px;font-weight:700; }
body.melon-homepage .home-skip-link:focus { top:12px; }
body.melon-homepage #bkLiveSummary:empty,
body.melon-homepage #bkReservationStatus:empty { display:none; }
body.melon-homepage #bkLiveSummary { padding:12px 0;color:var(--ink);font-size:14px;line-height:1.7;overflow-wrap:anywhere; }
body.melon-homepage #bkReservationStatus { color:var(--muted);font-size:12px;margin:0 0 18px; }
