:root {
  --ink: #181014;
  --muted-ink: #5d4d55;
  --berry: #9a2559;
  --berry-dark: #76183f;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; color: var(--ink); background: #eec8d2; font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; }
.splash { position: relative; isolation: isolate; display: flex; min-height: 100vh; min-height: 100svh; align-items: center; overflow: hidden; padding: clamp(1.5rem, 5vw, 5rem); background: url("assets/main-image.jpg") center / cover; }
.splash::before { position: absolute; z-index: -2; inset: 0; background: rgba(94,21,54,.08); content: ""; }
.splash__wash { display: none; }
.contact-card { width: min(31rem, 43vw); padding: clamp(1.75rem, 3.2vw, 3.25rem); border: 1px solid rgba(255,255,255,.7); border-radius: 1.75rem; background: rgba(255,250,251,.7); box-shadow: 0 1.5rem 5rem rgba(91,23,51,.22); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); text-align: center; }
.logo { display: block; width: min(15.5rem, 80%); height: auto; margin: 0 auto clamp(1.5rem, 3vw, 2.5rem); }
.contact-card__copy { max-width: 25rem; margin-inline: auto; }
.eyebrow { margin: 0 0 .75rem; color: var(--berry); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 4.2vw, 4rem); font-weight: 400; letter-spacing: -.055em; line-height: .96; }
.intro { margin: 1.15rem 0 0; color: var(--muted-ink); font-size: clamp(.98rem, 1.25vw, 1.08rem); line-height: 1.6; }
.actions { display: grid; gap: .8rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.phone-link, .booking-button { min-height: 3.75rem; border-radius: 999px; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.phone-link { display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .8rem 1.25rem; color: #fff; background: var(--berry); box-shadow: 0 .75rem 2rem rgba(118,24,63,.22); text-decoration: none; }
.phone-link__label { color: #fff; font-size: .94rem; font-weight: 700; letter-spacing: .02em; }
.phone-link__number { font-size: .94rem; font-weight: 700; white-space: nowrap; }
.booking-button { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .8rem 1.4rem; color: #fff; background: var(--berry); box-shadow: 0 .75rem 2rem rgba(118,24,63,.22); font-size: .94rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.booking-button span { font-size: 1.35rem; line-height: 1; }
.phone-link:hover, .booking-button:hover { transform: translateY(-2px); }
.phone-link:hover { background: var(--berry-dark); box-shadow: 0 1rem 2.25rem rgba(118,24,63,.28); }
.booking-button:hover { background: var(--berry-dark); box-shadow: 0 1rem 2.25rem rgba(118,24,63,.28); }
.phone-link:focus-visible, .booking-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px var(--berry); }
.fine-print { position: absolute; right: clamp(1.5rem, 3vw, 3rem); bottom: clamp(1rem, 2vw, 2rem); margin: 0; color: rgba(255,255,255,.88); font-family: Georgia, "Times New Roman", serif; font-size: .82rem; font-style: italic; letter-spacing: .08em; text-shadow: 0 2px 10px rgba(52,12,31,.45); }

@media (max-width: 760px) {
  .splash { align-items: center; justify-content: center; padding: 1rem; background-position: center; }
  .splash::before { background: rgba(94,21,54,.1); }
  .contact-card { width: 100%; max-width: 29rem; max-height: calc(100svh - 2rem); overflow-y: auto; padding: clamp(1.4rem, 6vw, 2rem); border-radius: 1.5rem; background: rgba(255,250,251,.74); }
  .logo { width: min(11rem, 54%); margin-bottom: 1.1rem; }
  h1 { font-size: clamp(2rem, 10vw, 3.15rem); }
  .intro { margin-top: .8rem; font-size: .95rem; line-height: 1.48; }
  .actions { margin-top: 1.15rem; }
  .fine-print { display: none; }
}

@media (max-height: 690px) and (max-width: 760px) {
  .contact-card { padding: 1.2rem 1.35rem; }
  .logo { width: 8rem; margin-bottom: .75rem; }
  .eyebrow { margin-bottom: .45rem; }
  h1 { font-size: 2rem; }
  .intro { margin-top: .55rem; }
  .actions { gap: .55rem; margin-top: .8rem; }
  .phone-link, .booking-button { min-height: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .phone-link, .booking-button { transition: none; }
}
