:root{
  --ivory:#fffaf3;
  --champagne:#f2e7d7;
  --paper:#fbf6ee;
  --ink:#282124;
  --muted:#73666a;
  --wine:#741f35;
  --wine-dark:#3a111d;
  --gold:#bd8d4a;
  --teal:#315f65;
  --line:#d8c8b4;
  --white:#ffffff;
  --shadow:0 20px 55px rgba(47,28,32,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--ivory);color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}
img,video{display:block;max-width:100%}
a{color:inherit;text-underline-offset:5px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
h1,h2,h3,h4,.brand,.serif,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
h1{font-size:clamp(56px,7vw,108px);line-height:.96;letter-spacing:-3px}
h2{font-size:clamp(35px,4vw,60px);line-height:1.08;letter-spacing:-1.5px}
h3{font-size:clamp(25px,2.5vw,35px);line-height:1.2}
p+p{margin-top:18px}
.skip{position:absolute;left:18px;top:-100px;background:var(--white);padding:12px 16px;z-index:20}.skip:focus{top:18px}
.reviewbar{text-align:center;background:var(--teal);color:white;padding:6px 15px;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:18px max(5%,calc((100% - 1240px)/2));background:rgba(255,250,243,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-size:27px;line-height:1;color:var(--ink);white-space:nowrap}.brand small{display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:2.6px;color:var(--wine);margin-top:7px;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:26px;font-size:13px;text-transform:uppercase;letter-spacing:1.1px}.main-nav a{text-decoration:none}.main-nav a:hover{color:var(--wine)}
.nav-cta{border:1px solid var(--wine);color:var(--wine);padding:9px 15px}
.wrap{width:min(1240px,90%);margin-inline:auto}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.7px;text-transform:uppercase;color:var(--wine);margin-bottom:15px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--wine);color:white;border:1px solid var(--wine);padding:14px 22px;font-size:13px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.button:hover{background:var(--wine-dark)}
.button.ghost{background:transparent;color:var(--wine)}.button.ghost:hover{background:var(--champagne)}
.text-link{color:var(--wine);font-weight:700;font-size:14px}
.home-hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:720px;background:var(--champagne)}
.home-hero-copy{padding:86px max(6%,calc((100vw - 1240px)/2)) 76px max(6%,calc((100vw - 1240px)/2));padding-right:7%}
.home-hero h1{color:var(--wine)}
.home-hero .lead{font:clamp(22px,2.1vw,30px)/1.45 Georgia,serif;max-width:600px;margin-top:30px}
.home-hero .sublead{max-width:580px;color:#52464a;margin-top:24px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px}
.home-hero figure{min-height:650px;position:relative;overflow:hidden}.home-hero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.home-hero figcaption{position:absolute;bottom:0;inset-inline:0;padding:70px 30px 22px;background:linear-gradient(transparent,rgba(33,16,21,.75));color:white;font-size:11px;letter-spacing:2px}.home-hero figcaption span{display:block;margin-top:7px;font-size:10px;letter-spacing:.7px;text-transform:none;opacity:.82}
.quote-strip{padding:22px 5%;display:flex;justify-content:center;gap:45px;flex-wrap:wrap;background:var(--wine-dark);color:#f6e8d6;font:17px/1.4 Georgia,serif}.quote-strip span:not(:last-child):after{content:'◆';font:8px Arial;margin-left:45px;color:var(--gold);vertical-align:middle}
.section{padding:92px 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end;margin-bottom:48px}.section-head p:last-child{max-width:680px;color:var(--muted)}
.show-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.show-card{min-height:510px;position:relative;overflow:hidden;box-shadow:var(--shadow);background:var(--wine-dark);color:white}.show-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65}.show-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(35,12,19,.95) 93%)}.show-card-content{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:38px}.show-card h3{font-size:42px}.show-card p{max-width:540px;margin-top:14px}.show-card .button{margin-top:24px;background:var(--champagne);border-color:var(--champagne);color:var(--wine-dark)}
.show-card.christmas{background:var(--wine-dark)}.show-card.christmas img{opacity:.72;object-position:center}.show-card.christmas:before{content:none}.show-card.christmas:after{background:linear-gradient(180deg,rgba(47,9,20,.05) 8%,rgba(47,9,20,.92) 93%)}
.dates-preview{background:var(--paper)}
.dates-preview>.wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px}
.dates-preview>.wrap>*{min-width:0}
.date-row>div{min-width:0}
.date-row .actions{margin-top:18px}
.contact-card a[href^="mailto:"]{overflow-wrap:anywhere}
.date-list{border-top:1px solid var(--line)}.date-row{display:grid;grid-template-columns:135px 1fr;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.date-row time{color:var(--wine);font-size:12px;letter-spacing:1.6px;text-transform:uppercase}.date-row strong{display:block;font:25px Georgia,serif;color:var(--ink);letter-spacing:0}.date-row h3{font-size:25px;margin-bottom:5px}.date-row p{color:var(--muted);font-size:15px}
.review-feature{background:var(--teal);color:white;text-align:center;padding:82px 5%}.review-feature blockquote{font-size:clamp(28px,4vw,48px);line-height:1.28;max-width:920px;margin:auto}.review-feature cite{display:block;font-style:normal;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#e8d8bb;margin-top:24px}
.page-hero{padding:80px 0;background:var(--champagne)}.page-hero .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.page-hero p:not(.eyebrow){max-width:620px;margin-top:24px;color:#51464a}.page-hero h1{font-size:clamp(52px,6vw,88px);color:var(--wine)}
.portrait-frame{background:var(--wine-dark);padding:14px;box-shadow:var(--shadow)}.portrait-frame img{width:100%;max-height:610px;object-fit:cover;object-position:center 25%}.portrait-frame figcaption{padding:9px 2px 1px;color:#f4e9dc;font-size:10px;letter-spacing:.7px;text-align:right}
.professional-details{margin-top:34px;padding:28px 30px;background:var(--champagne);border-left:4px solid var(--gold)}.professional-details p:not(.eyebrow){margin-top:10px}.professional-details .actions{margin-top:22px}.professional-details .button.ghost{color:var(--wine);border-color:var(--wine)}
.prose{max-width:820px}.prose h2{margin-bottom:30px}.prose h3{margin:38px 0 12px}.prose p{color:#453a3e}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}.two-col.reverse{grid-template-columns:1.1fr .9fr}
.warm{background:var(--champagne)}.dark{background:var(--wine-dark);color:white}.dark .eyebrow{color:#e7bd77}.dark p{color:#f1e5de}.dark a{color:#f3cf8b}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:45px}.fact{background:var(--ivory);padding:28px}.fact strong{display:block;font:27px Georgia,serif;color:var(--wine)}.fact span{font-size:13px;color:var(--muted)}
.production-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.production{border:1px solid var(--line);background:white;padding:30px;min-height:310px}.production .year{color:var(--wine);font-size:11px;letter-spacing:2px;text-transform:uppercase}.production h3{margin:14px 0}.production p{font-size:15px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{background:var(--champagne);padding:40px}.contact-card a{color:var(--wine)}
.contact-card a.button{color:#fffaf3}
.contact-card a.button.ghost{color:var(--wine)}
.footer{background:var(--ink);color:#f8efe4;padding:55px 0}.footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer .brand{color:white}.footer strong{color:#e5c48d}.footer a{display:block;margin-top:8px;color:#f8efe4;font-size:14px}.footer-note{grid-column:1/-1;border-top:1px solid #ffffff2a;padding-top:25px;color:#cdbfc1;font-size:12px}
.show-header{position:sticky;top:0;z-index:10;background:rgba(249,239,224,.97);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:17px max(5%,calc((100% - 1240px)/2));gap:30px}.show-header .show-brand{font:24px Georgia,serif;color:var(--wine);text-decoration:none}.show-header nav{display:flex;align-items:center;gap:22px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.show-header nav a{text-decoration:none}.back-main{color:var(--teal);font-weight:700}
.listen-hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--champagne)}.listen-copy{padding:78px 8% 65px max(6%,calc((100vw - 1240px)/2))}.listen-copy h1{color:var(--wine)}.listen-copy .tagline{font:25px/1.4 Georgia,serif;margin-top:25px}.listen-copy .credits{font-size:14px;color:#5e5054;margin-top:23px;max-width:600px}.listen-photo{position:relative;overflow:hidden}.listen-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.listen-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px 25px 20px;background:linear-gradient(transparent,#2b1119d9);color:white;font-size:11px;letter-spacing:2px}
.ribbon{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;padding:18px 5%;background:var(--wine-dark);color:#e9c98c;font-size:13px}.ribbon span:not(:last-child):after{content:'◆';font-size:8px;margin-left:35px}
.statement{text-align:center;padding:72px 5%;border-bottom:1px solid var(--line)}.statement blockquote{font-size:clamp(28px,4vw,48px);line-height:1.3;color:var(--wine);font-style:italic}.statement cite{display:block;margin-top:20px;font-size:11px;letter-spacing:3px;text-transform:uppercase}
.details-list details{border-top:1px solid var(--line);padding:18px 0}.details-list summary{cursor:pointer;font-weight:700;color:var(--wine)}
.team-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.team-layout figure img{width:100%;height:auto}.team-layout figcaption{font-size:11px;letter-spacing:1.5px;margin-top:12px}.bio{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.bio .role{color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:1.7px;margin:8px 0 12px}.bio p{font-size:15px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:42px}.quotes blockquote{font-size:24px;line-height:1.45}.quotes figcaption{font-size:12px;margin-top:18px;color:#e6d4cd}
.media-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.video-frame video{width:100%;background:var(--wine-dark);border:1px solid var(--gold)}.video-frame p{font-size:12px;color:var(--muted);margin-top:10px}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.booking-grid dl{margin:0}.booking-grid dl div{padding:15px 0;border-bottom:1px solid var(--line)}.booking-grid dt{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--wine)}.booking-grid dd{margin:4px 0 0;font-size:18px}
.booking-overview{background:var(--ivory);border-top:4px solid var(--gold);padding:34px 38px;box-shadow:var(--shadow)}
.booking-overview h3{color:var(--wine);margin-bottom:24px}
.booking-overview p+p{padding-top:16px;border-top:1px solid var(--line)}
.booking-overview .technical-note{font-size:13px;color:var(--muted)}
.christmas-hero{min-height:700px;display:grid;place-items:center;text-align:center;padding:80px 5%;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 15%,#d0aa69 0 1%,transparent 18%),linear-gradient(145deg,#35101b,#781b31 58%,#a83b42);color:white}.christmas-hero:before,.christmas-hero:after{content:'✦';position:absolute;color:#efce8c33;font-size:260px}.christmas-hero:before{left:5%;top:2%}.christmas-hero:after{right:4%;bottom:-8%}.christmas-hero .inner{position:relative;z-index:1;max-width:900px}.christmas-hero h1{color:#f8e6ba}.christmas-hero .tagline{font:clamp(22px,3vw,33px)/1.45 Georgia,serif;margin-top:28px}.christmas-hero .button{margin-top:30px;background:#e7c883;border-color:#e7c883;color:#47101f}
.christmas-split-hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:690px;background:var(--champagne)}
.christmas-split-copy{padding:76px 7% 65px max(6%,calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center}
.christmas-split-copy h1{color:var(--wine);font-size:clamp(54px,6.7vw,98px)}
.christmas-split-copy .tagline{font:clamp(21px,2.1vw,29px)/1.42 Georgia,serif;margin-top:28px;max-width:660px}
.christmas-date{margin-top:25px;color:#56474c}
.christmas-split-photo{position:relative;min-height:610px;overflow:hidden;background:var(--wine-dark)}
.christmas-split-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.christmas-split-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:55px 24px 18px;background:linear-gradient(transparent,rgba(33,16,21,.78));color:white;text-align:right;font-size:10px;letter-spacing:1px}
.christmas-image-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.christmas-image-story figure,.christmas-feature-photo{box-shadow:var(--shadow);overflow:hidden}
.christmas-image-story img,.christmas-feature-photo img{width:100%;height:100%;min-height:430px;object-fit:cover}
.christmas-image-story .facts{margin-top:30px;grid-template-columns:1fr}
.christmas-image-story .fact{background:#fffaf3;color:var(--ink)}
.christmas-team figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 40%;box-shadow:var(--shadow)}
.christmas-team .prose h3{margin-top:28px}
.christmas-review h2{max-width:900px;color:#f8e6ba}
.christmas-review .quotes{margin-top:55px;grid-template-columns:repeat(2,1fr)}
.christmas-review .quotes figure{border-top:1px solid #ffffff55;padding-top:24px}
.christmas-video iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--gold);background:var(--wine-dark)}
.christmas-format-facts{margin-top:1px}
.christmas-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch}
.christmas-gallery figure{min-height:460px;overflow:hidden;background:var(--wine-dark)}
.christmas-gallery img{width:100%;height:100%;object-fit:cover}
.photo-credit{text-align:center;margin:18px auto 0;color:var(--muted);font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
.placeholder-note{border:1px dashed var(--gold);padding:20px;color:var(--muted);font-size:14px;background:#fffaf8}
@media(max-width:900px){
  .main-nav{gap:14px}.home-hero,.listen-hero,.christmas-split-hero{grid-template-columns:1fr}.home-hero figure,.listen-photo,.christmas-split-photo{min-height:520px}.section-head,.dates-preview>.wrap,.page-hero .wrap,.two-col,.two-col.reverse,.team-layout,.media-grid,.booking-grid,.christmas-image-story{grid-template-columns:1fr;gap:35px}.show-grid{grid-template-columns:1fr}.production-grid{grid-template-columns:1fr 1fr}.footer .wrap{grid-template-columns:1fr 1fr}.footer .brand{grid-column:1/-1}.facts{grid-template-columns:1fr 1fr}.quotes,.christmas-review .quotes{grid-template-columns:1fr}
}
@media(max-width:680px){
  .site-header,.show-header{position:relative;align-items:flex-start;flex-direction:column}.main-nav,.show-header nav{width:100%;gap:12px;flex-wrap:wrap;font-size:11px}.home-hero-copy,.listen-copy,.christmas-split-copy{padding:52px 6%}.home-hero figure,.listen-photo,.christmas-split-photo{min-height:390px}.section{padding:62px 0}.quote-strip span:after,.ribbon span:after{display:none}.production-grid,.facts,.contact-grid,.christmas-gallery{grid-template-columns:1fr}.christmas-gallery figure{min-height:330px}.date-row{grid-template-columns:95px 1fr}.footer .wrap{grid-template-columns:1fr}.footer .brand{grid-column:auto}.show-card{min-height:460px}.show-card-content{padding:28px}.show-card h3{font-size:34px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Responsive refinements: titles follow the available text column. */
.christmas-split-copy{container-type:inline-size}
.christmas-split-copy h1{font-size:clamp(34px,15cqw,98px);letter-spacing:-2px}
.home-hero>*,.page-hero .wrap>*,.section-head>*,.two-col>*,.contact-grid>*,.footer .wrap>*{min-width:0}
.button{max-width:100%;text-align:center}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:680px){
  .home-hero h1{font-size:clamp(44px,11vw,68px);letter-spacing:-2px}
  .page-hero h1{font-size:clamp(36px,9vw,52px);letter-spacing:-1.5px}
  .contact-card{padding:28px}
  .date-row{grid-template-columns:82px minmax(0,1fr);gap:16px}
  .show-card-content{position:relative;padding-top:210px}
}
