.booking-page { background:var(--ink); color:var(--paper); overflow:hidden; }
.booking-page section { position:relative; }
.booking-section-no,.booking-hero-no { position:absolute; z-index:4; font-size:9px; letter-spacing:.28em; opacity:.48; }
.booking-section-no { left:var(--pad); top:38px; }

.booking-hero { min-height:100svh; padding:128px var(--pad) 46px; display:grid; grid-template-columns:58fr 42fr; align-items:center; isolation:isolate; border-bottom:1px solid var(--line); }
.booking-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 76% 44%,rgba(184,145,87,.18),transparent 28%),linear-gradient(90deg,transparent 49.8%,rgba(238,233,222,.06) 50%,transparent 50.15%); }
.booking-hero-no { right:var(--pad); bottom:38px; }
.booking-hero-ghost { position:absolute; right:-2vw; bottom:5vh; z-index:0; font:900 clamp(130px,23vw,420px)/.75 Impact,sans-serif; color:rgba(238,233,222,.025); letter-spacing:.02em; pointer-events:none; }
.booking-hero-copy { position:relative; z-index:3; width:min(920px,56vw); align-self:end; padding-bottom:9vh; }
.booking-hero-copy h1 { margin:0; font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif; text-transform:uppercase; font-size:clamp(72px,10.2vw,176px); line-height:.79; letter-spacing:.01em; }
.booking-hero-copy h1 span,.booking-hero-copy h1 strong,.booking-hero-copy h1 em { display:block; font-style:normal; font-weight:900; }
.booking-hero-copy h1 span { color:var(--paper); -webkit-text-stroke:1px rgba(184,145,87,.75); }
.booking-hero-copy h1 em { margin-left:5vw; color:transparent; -webkit-text-stroke:1.8px var(--gold); letter-spacing:.04em; }
.booking-hero-copy h1 strong { margin-left:10vw; color:var(--gold); -webkit-text-stroke:1px rgba(238,233,222,.76); }
.booking-hero-lead { margin:34px 0 0 10vw; font:400 clamp(21px,2.2vw,38px)/1.13 Georgia,serif; }
.booking-hero-lead em { color:var(--gold); }
.booking-hero-image { position:absolute; z-index:1; right:5vw; top:17vh; width:min(34vw,560px); height:min(66vh,730px); transform:rotate(2.2deg); clip-path:polygon(7% 0,100% 7%,94% 93%,0 100%,3% 18%); }
.booking-hero-note { position:absolute; z-index:3; right:var(--pad); bottom:15vh; width:220px; }
.booking-hero-note span { display:block; width:54px; height:1px; margin-bottom:14px; background:var(--gold); }
.booking-hero-note p { margin:0; text-transform:uppercase; font-size:9px; letter-spacing:.2em; line-height:1.8; }

.booking-formats { min-height:120svh; padding:16vh var(--pad) 12vh; background:var(--paper); color:var(--ink); }
.booking-formats .booking-section-no { color:var(--ink); }
.booking-formats-word { position:absolute; left:50%; top:1vh; transform:translateX(-50%); font:900 31vw/.8 Impact,sans-serif; letter-spacing:.08em; color:transparent; -webkit-text-stroke:1px rgba(10,10,9,.065); pointer-events:none; }
.booking-formats-head { position:relative; z-index:2; max-width:1050px; margin-left:9vw; }
.booking-formats .wtl-kicker { color:#765d38; }
.booking-formats-head h2,.booking-press-head h2 { margin:0; font:400 clamp(58px,7vw,118px)/.9 Georgia,serif; letter-spacing:-.055em; }
.booking-formats-head h2 em,.booking-press-head h2 em { color:#765d38; }
.booking-formats-head > p:last-child { width:min(590px,60%); margin:36px 0 0 25vw; font-size:17px; line-height:1.7; }
.booking-format-grid { position:relative; z-index:2; margin-top:10vh; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(10,10,9,.28); border-bottom:1px solid rgba(10,10,9,.28); }
.booking-format-grid article { min-height:340px; padding:30px 26px; border-right:1px solid rgba(10,10,9,.22); display:flex; flex-direction:column; }
.booking-format-grid article:last-child { border-right:0; }
.booking-format-grid article > span { margin-bottom:auto; font:400 58px/1 Impact,sans-serif; color:#765d38; }
.booking-format-grid small { text-transform:uppercase; letter-spacing:.2em; font-size:8px; opacity:.58; }
.booking-format-grid h3 { margin:10px 0 14px; font:400 clamp(25px,2.4vw,38px)/1 Georgia,serif; }
.booking-format-grid p { margin:0; font-size:14px; line-height:1.65; opacity:.72; }

.booking-why { min-height:110svh; padding:16vh var(--pad) 12vh; background:#0c0c0b; }
.booking-why-head { display:grid; grid-template-columns:1fr 1.6fr; gap:5vw; align-items:end; }
.booking-why-head .wtl-kicker { grid-column:1/-1; }
.booking-why-head h2 { grid-column:1/-1; margin:0; font:900 clamp(70px,9vw,154px)/.82 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.booking-why-head h2 span { color:transparent; -webkit-text-stroke:1.5px rgba(238,233,222,.85); letter-spacing:.015em; }
.booking-why-list { margin-top:9vh; border-top:1px solid var(--line); }
.booking-why-list article { min-height:135px; display:grid; grid-template-columns:120px minmax(0,1fr); gap:36px; align-items:center; border-bottom:1px solid var(--line); }
.booking-why-list b { font:400 56px/1 Impact,sans-serif; color:var(--gold); }
.booking-why-list p { max-width:950px; margin:0; font:400 clamp(19px,2vw,31px)/1.4 Georgia,serif; color:var(--paper-muted); }

.booking-press { min-height:120svh; padding:16vh var(--pad) 12vh; background:#c5af85; color:var(--ink); }
.booking-press .booking-section-no { color:var(--ink); }
.booking-press-ghost { position:absolute; right:-2vw; top:0; font:900 30vw/.8 Impact,sans-serif; color:rgba(10,10,9,.045); pointer-events:none; }
.booking-press-head { position:relative; z-index:2; width:min(1000px,74vw); margin-left:8vw; }
.booking-press .wtl-kicker { color:#5f482a; }
.booking-press-head > p:last-child { width:min(570px,70%); margin:32px 0 0 22vw; font-size:16px; line-height:1.7; }
.booking-documents { position:relative; z-index:2; margin-top:9vh; border-top:1px solid rgba(10,10,9,.28); }
.booking-document { display:grid; grid-template-columns:110px minmax(0,1fr) 260px; gap:28px; align-items:center; min-height:135px; border-bottom:1px solid rgba(10,10,9,.25); }
.booking-document-index { font:400 48px/1 Impact,sans-serif; opacity:.35; }
.booking-document-copy small { display:block; color:#604821; text-transform:uppercase; letter-spacing:.2em; font-size:8px; }
.booking-document-copy h3 { margin:8px 0 0; font:400 clamp(24px,2.5vw,40px)/1.05 Georgia,serif; }
.booking-document-copy p { max-width:700px; margin:10px 0 0; font-size:14px; line-height:1.55; opacity:.68; }
.booking-document-actions { justify-self:end; display:flex; gap:22px; }
.booking-document-actions a { padding-bottom:6px; border-bottom:1px solid rgba(10,10,9,.52); text-decoration:none; text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.booking-document-actions span { color:#75582f; }
.booking-documents-empty { padding:54px 0; max-width:740px; }
.booking-documents-empty strong { font:400 clamp(30px,3vw,48px)/1 Georgia,serif; }
.booking-documents-empty p { font-size:16px; line-height:1.65; opacity:.7; }
.booking-press-note { position:relative; z-index:2; margin-top:6vh; display:flex; justify-content:space-between; align-items:center; gap:30px; text-transform:uppercase; letter-spacing:.17em; font-size:9px; }
.booking-press-note a { text-decoration:none; border-bottom:1px solid #765d38; padding-bottom:8px; }
.booking-press-note b { color:#765d38; }

.booking-contact { min-height:105svh; padding:16vh var(--pad) 90px; background:var(--gold); color:var(--ink); display:grid; grid-template-columns:57fr 43fr; gap:6vw; align-items:center; overflow:hidden; isolation:isolate; }
.booking-contact-ghost { position:absolute; z-index:-1; right:-3vw; bottom:-10vh; font:900 38vw/.8 Impact,sans-serif; color:rgba(10,10,9,.05); letter-spacing:-.06em; }
.booking-contact .wtl-kicker { color:rgba(10,10,9,.6); }
.booking-contact-copy h2 { margin:0; font:900 clamp(72px,9.3vw,160px)/.8 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.booking-contact-copy h2 em { display:block; font-family:Georgia,serif; font-weight:400; text-transform:none; color:rgba(10,10,9,.04); -webkit-text-stroke:1.5px rgba(10,10,9,.88); letter-spacing:-.04em; }
.booking-contact-copy > p:last-child { max-width:600px; margin:34px 0 0 8vw; font:400 clamp(16px,1.35vw,21px)/1.65 Georgia,serif; }
.booking-contact-card { position:relative; z-index:2; align-self:end; padding-bottom:6vh; }
.booking-contact-card > small { display:block; margin-bottom:12px; text-transform:uppercase; letter-spacing:.2em; font-size:8px; }
.booking-contact-mail { display:flex; justify-content:space-between; gap:18px; padding:14px 0 12px; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); text-decoration:none; font-size:clamp(18px,1.8vw,28px); word-break:break-word; }
.booking-contact-phone { display:inline-block; margin-top:14px; color:var(--ink); text-decoration:none; font:400 21px/1 Georgia,serif; }
.booking-contact-missing { font:400 18px/1.5 Georgia,serif; }
.booking-contact-card dl { margin:48px 0 0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(10,10,9,.3); }
.booking-contact-card dl div { padding:18px 12px 18px 0; border-bottom:1px solid rgba(10,10,9,.3); }
.booking-contact-card dt { text-transform:uppercase; letter-spacing:.18em; font-size:8px; opacity:.58; }
.booking-contact-card dd { margin:8px 0 0; font:400 17px/1.3 Georgia,serif; }
.booking-contact-card nav { margin-top:34px; display:flex; flex-wrap:wrap; gap:22px; }
.booking-contact-card nav a { color:var(--ink); text-decoration:none; text-transform:uppercase; letter-spacing:.16em; font-size:9px; border-bottom:1px solid rgba(10,10,9,.45); padding-bottom:5px; }
.booking-footer { position:absolute; left:var(--pad); right:var(--pad); bottom:28px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(10,10,9,.35); padding-top:16px; font-size:8px; letter-spacing:.2em; text-transform:uppercase; }

@media (max-width:900px) {
    .booking-hero { display:block; padding-top:120px; }
    .booking-hero-copy { width:75vw; padding-bottom:0; }
    .booking-hero-copy h1 { font-size:18vw; }
    .booking-hero-image { top:43vh; right:-4vw; width:60vw; height:48vh; opacity:.88; }
    .booking-hero-note { display:none; }
    .booking-formats-head { margin-left:0; width:92%; }
    .booking-formats-head > p:last-child { width:78%; margin-left:12vw; }
    .booking-format-grid { grid-template-columns:1fr 1fr; }
    .booking-format-grid article:nth-child(2) { border-right:0; }
    .booking-format-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(10,10,9,.22); }
    .booking-why-head { grid-template-columns:1fr; }
    .booking-press-head { width:92%; margin-left:0; }
    .booking-document { grid-template-columns:80px minmax(0,1fr); }
    .booking-document-actions { grid-column:2; justify-self:start; padding-bottom:22px; }
    .booking-contact { grid-template-columns:1fr; gap:60px; }
    .booking-contact-copy > p:last-child { margin-left:4vw; }
    .booking-contact-card { padding-bottom:8vh; }
}

@media (max-width:560px) {
    .booking-hero-copy { width:88vw; }
    .booking-hero-copy h1 { font-size:20vw; line-height:.82; }
    .booking-hero-copy h1 em { margin-left:2vw; }
    .booking-hero-copy h1 strong { margin-left:4vw; }
    .booking-hero-image { width:80vw; right:-16vw; top:48vh; height:42vh; }
    .booking-hero-lead { margin-left:4vw; font-size:20px; }
    .booking-formats { min-height:auto; }
    .booking-formats-word { font-size:49vw; }
    .booking-formats-head h2,.booking-press-head h2 { font-size:13vw; }
    .booking-formats-head > p:last-child,.booking-press-head > p:last-child { width:90%; margin-left:5vw; }
    .booking-format-grid { grid-template-columns:1fr; }
    .booking-format-grid article { min-height:270px; border-right:0; border-bottom:1px solid rgba(10,10,9,.22); }
    .booking-format-grid article:last-child { border-bottom:0; }
    .booking-why-head h2 { font-size:16vw; }
    .booking-why-list article { grid-template-columns:62px minmax(0,1fr); gap:16px; padding:24px 0; }
    .booking-why-list b { font-size:38px; }
    .booking-why-list p { font-size:18px; }
    .booking-document { grid-template-columns:52px minmax(0,1fr); gap:14px; padding:20px 0; }
    .booking-document-index { font-size:32px; }
    .booking-document-actions { gap:14px; flex-wrap:wrap; }
    .booking-press-note { align-items:flex-start; flex-direction:column; }
    .booking-contact-copy h2 { font-size:18vw; }
    .booking-contact-card dl { grid-template-columns:1fr; }
    .booking-footer { flex-wrap:wrap; }
}

@media (max-width:560px) {
  .booking-contact { padding-bottom:160px; }
  .booking-footer { flex-direction:column; align-items:flex-start; gap:7px; line-height:1.45; }
  .booking-footer .wtl-legal-links { gap:6px 14px; }
}

/* --- Positioning / photographic interlude --- */
.booking-concert { position:relative; overflow:clip; min-height:112svh; padding:15vh var(--pad) 13vh; background:#bda67c; color:var(--ink); display:grid; grid-template-columns:48% 52%; align-items:center; gap:6vw; border-bottom:1px solid rgba(10,10,9,.16); }
.booking-concert .booking-section-no { top:10vh; left:var(--pad); color:rgba(10,10,9,.48); }
.booking-concert-image { width:100%; transform:rotate(-2.2deg); box-shadow:0 28px 75px rgba(0,0,0,.2); }
.booking-concert-copy { padding-right:6vw; }
.booking-concert .wtl-kicker { color:#654c2c; }
.booking-concert-copy h2 { margin:0 0 40px; font:900 clamp(58px,7vw,120px)/.86 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.booking-concert-copy h2 em { display:block; color:rgba(10,10,9,.04); -webkit-text-stroke:1.4px rgba(10,10,9,.88); font-family:Georgia,serif; font-weight:400; text-transform:none; letter-spacing:-.045em; }
.booking-concert-copy p { max-width:610px; margin:0; font:400 clamp(16px,1.25vw,20px)/1.68 Georgia,serif; }
.booking-concert-copy p + p { margin-top:18px; }
.booking-contact .booking-section-no { top:10vh; left:var(--pad); }

@media (max-width:900px) {
  .booking-concert { grid-template-columns:1fr; gap:52px; }
  .booking-concert-image { width:72vw; }
  .booking-concert-copy { padding:0 0 0 10vw; }
}
@media (max-width:560px) {
  .booking-concert { min-height:auto; padding-top:14vh; }
  .booking-concert-image { width:100%; transform:none; }
  .booking-concert-copy { padding:0; }
  .booking-concert-copy h2 { font-size:14vw; }
}

/* V16.11.10 — mobile hero and compact press/resources section */
@media (max-width:560px) {
  .booking-hero {
    min-height:auto;
    padding-top:104px;
    padding-bottom:74px;
  }
  .booking-hero-copy { width:100%; padding-bottom:0; }
  .booking-hero-image.wtl-photo {
    position:relative;
    inset:auto;
    width:88vw;
    height:52vh;
    min-height:410px;
    max-height:560px;
    margin:32px -4vw 0 auto;
    transform:rotate(2deg);
  }
  .booking-hero-no { bottom:24px; }

  /* A single document should not force a 120svh section on mobile. */
  .booking-press {
    min-height:auto;
    padding-top:12vh;
    padding-bottom:11vh;
  }
  .booking-documents { margin-top:6vh; }
  .booking-press-note { margin-top:5vh; }
}
