/* Stilla: stone and sage, deep forest green, a slow breathing light. */
:root {
  --bg: #ebece6;
  --bg-2: #e1e3da;
  --ink: #1f2b24;
  --muted: #66716a;
  --line: rgba(31, 43, 36, 0.13);
  --accent: #4d6b57;
  --accent-ink: #f3f4ef;
  --serif: "Cormorant Garamond", Georgia, serif;
  --display-tracking: 0;
}

h1 { font-size: clamp(3.2rem, 9.5vw, 7.6rem); font-weight: 300; }
h2 { font-weight: 300; }
h1 em, h2 em { color: var(--accent); }
.btn--small { min-height: 2.6rem; padding: 0 1.2rem; font-size: 0.85rem; }

.hero {
  position: relative; min-height: 96svh; display: flex; flex-direction: column; overflow: hidden;
  background: radial-gradient(80rem 50rem at 70% 40%, #f4f4ef, var(--bg) 60%, #dfe2d8);
}
.breath {
  position: absolute; right: -8rem; top: 50%; width: 42rem; height: 42rem; margin-top: -21rem; border-radius: 50%;
  background: radial-gradient(circle, rgba(77, 107, 87, 0.28), rgba(77, 107, 87, 0.06) 55%, transparent 70%);
  animation: breathe 8s ease-in-out infinite;
}
@keyframes breathe { 0%, 100% { transform: scale(0.82); opacity: 0.7; } 50% { transform: scale(1.05); opacity: 1; } }
.hero .site-head, .hero__body { position: relative; z-index: 1; width: 100%; }
.hero__body { margin: auto; padding-top: 3rem; padding-bottom: 6rem; }
.hero__body .lead { margin: 2rem 0 2.5rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }

.lines__title { font-size: 1.45rem; }
.booking { background: var(--bg-2); }
.booking .choices.stacked { flex-direction: column; gap: 0; }
.booking .stacked .choice button { width: 100%; flex-direction: row; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); min-height: 3.2rem; }
.booking .stacked .choice button[aria-pressed="true"] { border-bottom-color: var(--accent); }
.summary { font-family: var(--serif); font-size: 1.4rem; margin: 0; }

.voucher-preview {
  align-self: center; padding: clamp(2rem, 5vw, 3.5rem); text-align: center;
  background: linear-gradient(160deg, #24342b, #1a2620); color: #eef0e8;
  box-shadow: 0 40px 70px -40px rgba(31, 43, 36, 0.7);
  --muted: #a9b5ac;
}
.voucher-amount { font-family: var(--serif); font-size: clamp(3rem, 7vw, 4.6rem); line-height: 1; margin: 1rem 0; color: #d9c79f; }
.voucher-for { font-family: var(--serif); font-size: 1.6rem; margin: 0; }
.voucher-text { font-family: var(--serif); font-style: italic; font-size: 1.25rem; margin: 1.5rem auto; max-width: 22rem; color: #cfd6cc; }

.spaced { margin-top: 3rem; }
.panel-head .choices { margin-top: 1.5rem; }
.plan { display: grid; gap: 2.5rem; }
@media (min-width: 700px) { .plan { grid-template-columns: 1fr 1fr; } }
.plan h3 { padding-bottom: 0.8rem; border-bottom: 1px solid var(--ink); margin-bottom: 0; }
.plan .lines { border-top: 0; }
.plan .lines li { display: block; }
