/* Terms & Conditions / Disclaimer pages (uses ../css/style.css for fonts & tokens) */
body.legal { background: var(--ivory); position: relative; }
/* fixed beach background (pseudo-element so it also stays fixed on iOS Safari) */
body.legal::before {
  content: ''; position: fixed; inset: 0; z-index: -1;
  background: var(--ivory) url('../assets/img/bg-legal.jpg') center top / cover no-repeat;
}
.legal-head {
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  padding: 22px var(--gut); background: var(--teal);
}
.legal-logo img { width: 160px; }
.legal-head nav { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; }
.legal-head nav a { color: rgba(255,255,255,.75); padding: 4px 0; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.legal-head nav a:hover, .legal-head nav a.on { color: #fff; border-color: var(--coral); }
.legal-body { max-width: 820px; margin: 0 auto; padding: clamp(50px, 8vw, 100px) var(--gut) 80px; }
.legal-body .h1 { font-size: clamp(36px, 5vw, 64px); margin-bottom: 36px; }
.legal-body h2 { font-family: var(--serif); font-weight: 500; font-size: 22px; letter-spacing: .06em; color: var(--teal); margin: 40px 0 10px; }
.legal-body p { color: var(--ink); margin: 0 0 18px; }
.legal-body .entity { background: rgba(238,59,35,.1); padding: 0 4px; border-radius: 3px; }
.legal-foot { background: var(--teal-dd); color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; padding: 24px var(--gut); }
