  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --ink: #1A1A1A;
    --ink-soft: #3a3d42;
    --ink-muted: #7a7e87;
    --surface: #F8F7F4;
    --white: #ffffff;
    --accent: #E8A435;
    --accent-light: #fdf3e0;
    --accent-dark: #c98a1a;
    --navy: #0F2540;
    --border: #e2e3e6;
    --success: #0ea86b;
    --radius: 12px;
    --radius-lg: 20px;
  }

  html { scroll-behavior: smooth; }

  body {
    width: 100%;
    font-family: 'DM Sans', sans-serif;
    background: var(--surface);
    color: var(--ink);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  /* ── NAV ── */
.nav-back {
    text-decoration: none; color: var(--ink-soft);
    font-size: 14px; font-weight: 500;
    padding: 9px 18px; border: 1px solid var(--border); border-radius: 8px;
    transition: all 0.2s;
  }
  .nav-back:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 760px) {}

  /* ── HEADER ── */
  .header-band {
    background: var(--navy);
    padding: 130px 40px 100px;
    text-align: center;
    position: relative; overflow: hidden;
  }
  .header-band::before {
    content: ""; position: absolute; inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(232,168,56,0.14) 0%, transparent 55%);
  }
  .header-eyebrow {
    position: relative; display: inline-block;
    font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--accent); margin-bottom: 14px;
  }
  .header-band h1 {
    position: relative; font-family: 'DM Serif Display', serif;
    font-size: clamp(36px, 5vw, 54px); color: #fff;
    letter-spacing: -0.02em; margin-bottom: 12px;
  }
  .header-band p { position: relative; color: rgba(255,255,255,0.62); font-size: 16px; max-width: 440px; margin: 0 auto; }

  /* ── CONTACT CARDS ── */
  .wrap { max-width: 820px; margin: -64px auto 0; padding: 0 24px 60px; position: relative; }
  .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

  .ccard {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 30px 28px;
    box-shadow: 0 16px 44px -30px rgba(27,42,74,0.35);
    text-decoration: none;
    display: block;
    transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
  }
  a.ccard:hover { transform: translateY(-3px); box-shadow: 0 22px 50px -28px rgba(27,42,74,0.45); border-color: var(--accent); }

  .ccard-icon {
    width: 46px; height: 46px;
    background: var(--accent-light); color: var(--accent-dark);
    border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
  }
  .ccard-icon svg { width: 22px; height: 22px; }
  .ccard-label { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 5px; }
  .ccard-value { font-family: 'DM Serif Display', serif; font-size: 21px; color: var(--navy); letter-spacing: -0.01em; word-break: break-word; }
  .ccard-sub { font-size: 13.5px; color: var(--ink-soft); margin-top: 6px; }

  /* full width availability card */
  .avail {
    grid-column: 1 / -1;
    background: linear-gradient(160deg, var(--navy) 0%, #142035 100%);
    border-radius: var(--radius-lg);
    padding: 30px 32px;
    display: flex; align-items: center; gap: 20px;
    flex-wrap: wrap;
  }
  .avail-pulse {
    width: 46px; height: 46px; flex-shrink: 0;
    background: rgba(232,164,53,0.16);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    position: relative;
  }
  .avail-pulse::before,
  .avail-pulse::after {
    content: ""; position: absolute; inset: 0;
    border-radius: 50%; border: 2px solid var(--accent);
    animation: pulse 2.6s ease-out infinite;
  }
  .avail-pulse::after { animation-delay: -1.3s; }
  @keyframes pulse {
    0% { transform: scale(1); opacity: 0.9; }
    100% { transform: scale(1.6); opacity: 0; }
  }
  .avail-dot { width: 14px; height: 14px; background: var(--accent); border-radius: 50%; }
  .avail-text h2 { font-family: 'DM Serif Display', serif; color: #fff; font-size: 21px; margin-bottom: 3px; }
  .avail-text p { color: rgba(255,255,255,0.6); font-size: 14px; }

  .intro-line {
    grid-column: 1 / -1;
    text-align: center;
    color: rgba(255,255,255,0.62);
    font-size: 16px;
    margin-bottom: 6px;
  }

  /* ── FOOTER ── */
@media (max-width: 680px) {
.header-band { padding: 110px 20px 90px; }
    .grid { grid-template-columns: 1fr; }
  }

  /* ── HAMBURGER + MOBILE MENU ── */
@media (max-width: 760px) {
}
  a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
