
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --ink:#070707;--ink2:#10100f;--paper:#f3ecdc;--muted:#c9bea8;
  --gold:#d8ad55;--gold2:#f0cf83;--red:#6e1f19;--line:rgba(216,173,85,.24);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);--max:1240px
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:radial-gradient(circle at 20% 10%,rgba(140,92,25,.10),transparent 25rem),var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}button{font:inherit}::selection{background:var(--gold);color:#090806}
.skip{position:fixed;left:1rem;top:-5rem;z-index:9999;background:var(--paper);color:var(--ink);padding:.8rem 1rem;border-radius:999px}.skip:focus{top:1rem}
.header{position:fixed;inset:0 0 auto 0;z-index:1000;padding:1rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid transparent;transition:.3s ease}
.header.scrolled,.header.inner{background:rgba(6,6,6,.85);backdrop-filter:blur(16px);border-color:var(--line);padding-top:.7rem;padding-bottom:.7rem}
.nav{max-width:1400px;margin:auto;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font-family:var(--serif);text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.links{margin-left:auto;display:flex;align-items:center;gap:clamp(.7rem,1.7vw,1.7rem)}.links a{text-decoration:none;text-transform:uppercase;font-size:.71rem;letter-spacing:.14em;color:rgba(243,236,220,.82)}.links a:hover,.links a[aria-current="page"]{color:var(--gold2)}
.menu{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#0b0b0b;color:var(--paper);position:relative}.menu:before,.menu:after,.menu span{content:"";position:absolute;left:13px;width:18px;height:1px;background:currentColor;top:22px}.menu:before{transform:translateY(-6px)}.menu:after{transform:translateY(6px)}.menu[aria-expanded="true"] span{opacity:0}.menu[aria-expanded="true"]:before{transform:rotate(45deg)}.menu[aria-expanded="true"]:after{transform:rotate(-45deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.2rem;border:1px solid var(--gold);background:var(--gold);color:#090806;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;transition:.25s var(--ease)}.btn:hover{transform:translateY(-2px);background:var(--gold2);border-color:var(--gold2)}.outline{background:transparent;color:var(--paper)}.small{min-height:40px;padding:.6rem .9rem;font-size:.63rem}
.section{padding:clamp(5rem,9vw,10rem) clamp(1rem,4vw,3rem);position:relative}.container{width:min(var(--max),100%);margin:auto}.head{max-width:920px;margin-bottom:clamp(2.5rem,5vw,5rem)}
.eyebrow{color:var(--gold2);text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:700;margin:0 0 1rem}.display{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.025em;line-height:.9;margin:0;font-weight:600;text-wrap:balance}.xl{font-size:clamp(4rem,10vw,9.5rem)}.lg{font-size:clamp(3rem,7vw,7rem)}.md{font-size:clamp(2.5rem,5vw,5rem)}.gold{background:linear-gradient(110deg,#866126,#f0d28f 35%,#b98535 62%,#ffe5a2 83%,#8b6426);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:780px;color:rgba(243,236,220,.74);font-size:clamp(1rem,1.6vw,1.2rem)}
.hero{min-height:100svh;position:relative;overflow:hidden;isolation:isolate;display:grid;align-items:center;background:#050505}.layer{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;pointer-events:none;will-change:transform}.bg{z-index:-4;animation:bgIn 2s var(--ease) both}.person{z-index:-3;animation:personIn 1.5s .25s var(--ease) both}.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,4,4,.77),rgba(4,4,4,.27) 37%,rgba(4,4,4,.05) 58%,rgba(4,4,4,.26)),linear-gradient(0deg,rgba(4,4,4,.88),transparent 28%)}.grain{position:absolute;inset:0;z-index:-1;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.hero-inner{width:min(1400px,100%);margin:auto;padding:7.5rem clamp(1rem,5vw,4.5rem) 3rem;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;min-height:100svh}.hero-copy{max-width:620px;animation:copyIn 1.1s .7s var(--ease) both}.hero-logo{width:min(620px,48vw);max-height:340px;object-fit:contain;object-position:left;margin-bottom:1rem;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}.hero h1{font-size:clamp(.8rem,1.15vw,1rem);letter-spacing:.26em;text-transform:uppercase;margin:.7rem 0 1.6rem;color:rgba(255,247,226,.9)}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@keyframes bgIn{from{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1.03)}}@keyframes personIn{from{opacity:0;transform:translateY(40px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}@keyframes copyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.cred{background:#090909;border-block:1px solid var(--line)}.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cred-item{background:#090909;padding:clamp(1.5rem,3vw,2.6rem);min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.cred-item strong{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1}.cred-item span{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.61rem;margin-top:1rem}
.intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,7rem);align-items:end}.statement{font-family:var(--serif);font-size:clamp(2rem,4vw,4.4rem);line-height:.98;margin:0 0 1.5rem}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.card{position:relative;overflow:hidden;min-height:520px;background:#111;border:1px solid rgba(255,255,255,.12);text-decoration:none;isolation:isolate}.card:nth-child(1),.card:nth-child(4){grid-column:span 7}.card:nth-child(2),.card:nth-child(3){grid-column:span 5}.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}.card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,4,4,.96),rgba(4,4,4,.1) 72%)}.card:hover img{transform:scale(1.04)}.card-copy{position:absolute;inset:auto 0 0;padding:clamp(1.4rem,3vw,2.3rem)}.card-copy h3{font-family:var(--serif);font-size:clamp(2.1rem,4vw,4rem);line-height:.92;text-transform:uppercase;margin:.4rem 0}.card-copy p{margin:0;color:rgba(243,236,220,.72);max-width:520px}.num{color:var(--gold2);font-size:.65rem;letter-spacing:.18em}.arrow{display:inline-block;margin-top:1rem;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.65rem}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.mini a{border:1px solid var(--line);padding:1.4rem;text-decoration:none;background:rgba(255,255,255,.02)}.mini h3{font-family:var(--serif);text-transform:uppercase;font-size:1.6rem;margin:.2rem 0}.mini p{margin:0;color:rgba(243,236,220,.65);font-size:.9rem}
.videos{display:grid;grid-template-columns:1.6fr .8fr;gap:1rem}.stack{display:grid;gap:1rem}.video{position:relative;min-height:560px;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:#111;padding:0;color:inherit;text-align:left;cursor:pointer}.video.small{min-height:272px}.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.8s var(--ease)}.video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05))}.video:hover img{transform:scale(1.035)}.vmeta{position:absolute;inset:auto 0 0;z-index:2;padding:clamp(1.4rem,3vw,2.2rem)}.vmeta span{color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem}.vmeta h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.3rem);line-height:.95;text-transform:uppercase;margin:.2rem 0}.small .vmeta h3{font-size:clamp(1.5rem,2vw,2.1rem)}.play{width:70px;height:70px;border:1px solid rgba(255,255,255,.55);border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:rgba(0,0,0,.25)}.play:before{content:"";position:absolute;left:30px;top:25px;border-left:14px solid white;border-block:9px solid transparent}
.quotes{background:#080706}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,7rem);align-items:center}.portrait{min-height:620px;position:relative;overflow:hidden;border:1px solid var(--line)}.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.quote{padding:0 0 2.3rem;margin-bottom:2.3rem;border-bottom:1px solid var(--line)}.quote:last-child{border:0;margin:0}.quote blockquote{font-family:var(--serif);font-size:clamp(2.2rem,4.6vw,5.1rem);line-height:.92;text-transform:uppercase;margin:0}.quote cite{display:block;color:var(--gold2);font-style:normal;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;margin-top:1rem}
.story{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}.story-photo{min-height:650px;position:relative;overflow:hidden;border:1px solid var(--line)}.story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.points{margin:2rem 0}.point{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.point b{color:var(--gold2);font-family:var(--serif);font-size:1.25rem}
.tour-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem)}.poster{min-height:600px;position:relative;overflow:hidden;border:1px solid var(--line)}.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tour-list{border-top:1px solid var(--line)}.tour-row{display:grid;grid-template-columns:110px 1fr auto;gap:1.2rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid var(--line)}.tour-date{color:var(--gold2);text-transform:uppercase;font-size:.72rem}.tour-venue strong{display:block;font-family:var(--serif);text-transform:uppercase;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1}.tour-venue span{display:block;color:rgba(243,236,220,.55);font-size:.8rem;margin-top:.25rem}.past{opacity:.4}.coming{color:rgba(243,236,220,.5);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.tab{border:1px solid var(--line);background:transparent;color:var(--paper);padding:.7rem 1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;cursor:pointer}.tab.active,.tab:hover{border-color:var(--gold);background:rgba(216,173,85,.08)}
.news{background:linear-gradient(135deg,rgba(128,84,27,.22),rgba(0,0,0,.2)),#0b0a08;border-block:1px solid var(--line)}.news-inner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.final{text-align:center;min-height:65svh;display:grid;place-items:center}.final-logo{width:min(420px,72vw);margin:0 auto 1.5rem}.final p{max-width:620px;margin:1.4rem auto 2rem;color:rgba(243,236,220,.7)}
.page-hero{padding:11rem clamp(1rem,4vw,3rem) 5rem;min-height:68svh;display:grid;align-items:end;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.page-hero.with-image{min-height:80svh}.page-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.page-hero.with-image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,4,4,.94),rgba(4,4,4,.6) 45%,rgba(4,4,4,.2)),linear-gradient(0deg,rgba(4,4,4,.9),transparent 50%)}.page-hero p{max-width:760px;color:rgba(243,236,220,.72);font-size:clamp(1rem,1.6vw,1.2rem)}
.content{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,5vw,6rem)}.sticky{position:sticky;top:7rem;align-self:start}.prose{max-width:820px}.prose h2{font-family:var(--serif);text-transform:uppercase;font-size:clamp(2.2rem,4vw,4rem);line-height:.98;margin:2.2rem 0 1rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:rgba(243,236,220,.72)}.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.award{border:1px solid var(--line);padding:1.5rem;min-height:180px}.award b{font-family:var(--serif);font-size:1.7rem;line-height:1;text-transform:uppercase}.award span{display:block;color:var(--gold2);font-size:.63rem;text-transform:uppercase;letter-spacing:.13em;margin-top:1rem}
.service{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(4rem,7vw,7rem) 0;border-bottom:1px solid var(--line)}.service:nth-child(even) .media{order:2}.media{min-height:500px;position:relative;overflow:hidden;border:1px solid var(--line)}.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service h2{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.2rem);line-height:.9;text-transform:uppercase;margin:0 0 1rem}.service p{color:rgba(243,236,220,.7)}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.media-grid .video{min-height:420px}.timeline{display:grid;gap:1rem}.time{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;border-top:1px solid var(--line);padding:2rem 0}.year{color:var(--gold2);font-family:var(--serif);font-size:1.4rem}.time h3{font-family:var(--serif);text-transform:uppercase;font-size:clamp(2rem,3.5vw,3.6rem);line-height:.95;margin:0}.time p{color:rgba(243,236,220,.68)}
.contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,5vw,5rem);align-items:start}.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(216,173,85,.06),transparent);padding:clamp(1.5rem,3vw,2.5rem)}.panel h2{font-family:var(--serif);text-transform:uppercase;font-size:clamp(2.1rem,4vw,4rem);line-height:.95}.detail{padding:1rem 0;border-top:1px solid var(--line)}.detail span{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.13em;font-size:.61rem}.detail a{display:inline-block;margin-top:.3rem;text-decoration:none;font-family:var(--serif);font-size:1.25rem}.bookd{border:1px solid var(--line);background:#0e0d0b;overflow:hidden}.bookd-head{padding:1.2rem 1.4rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;background:linear-gradient(90deg,rgba(216,173,85,.08),transparent)}.bookd-head img{width:180px;max-height:80px;object-fit:contain}.bookd iframe{display:block;width:100%;border:0;min-height:780px}
.modal{position:fixed;inset:0;z-index:5000;display:none;place-items:center;padding:2rem;background:rgba(0,0,0,.92);backdrop-filter:blur(12px)}.modal.open{display:grid}.modal-inner{width:min(1100px,100%);aspect-ratio:16/9;position:relative;background:#000;border:1px solid var(--line)}.modal iframe{width:100%;height:100%;border:0}.close{position:absolute;right:0;top:-52px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#111;color:white;font-size:1.4rem}
.footer{border-top:1px solid var(--line);padding:3.5rem clamp(1rem,4vw,3rem) 2rem;background:#050505}.foot-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:2rem}.foot-logo{width:min(300px,75vw);margin-bottom:1rem}.foot h3{font-size:.67rem;text-transform:uppercase;letter-spacing:.17em;color:var(--gold2)}.foot a{display:block;text-decoration:none;color:rgba(243,236,220,.67);margin:.35rem 0;font-size:.9rem}.foot-bottom{width:min(var(--max),100%);margin:2.5rem auto 0;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:rgba(243,236,220,.4);font-size:.7rem}
.reveal,.left,.right{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal{transform:translateY(34px)}.left{transform:translateX(-38px)}.right{transform:translateX(38px)}.in{opacity:1;transform:none}
@media(max-width:1050px){.links{display:none;position:fixed;inset:72px 1rem auto;background:rgba(7,7,7,.98);border:1px solid var(--line);padding:1rem;flex-direction:column;align-items:stretch}.links.open{display:flex}.links a{padding:.8rem}.nav>.btn{display:none}.menu{display:block}.videos{grid-template-columns:1fr}.stack{grid-template-columns:repeat(2,1fr)}.tour-feature{grid-template-columns:1fr}.cred-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.brand span{display:none}.hero-inner{grid-template-columns:1fr;align-items:end;padding:7rem 1rem 6rem}.hero-copy{width:100%;background:linear-gradient(90deg,rgba(0,0,0,.62),transparent)}.hero-logo{width:min(86vw,520px)}.hero h1{font-size:.67rem;letter-spacing:.18em}.layer{inset:0;width:100%;height:100%;object-position:54% center}.shade{background:linear-gradient(0deg,rgba(3,3,3,.95),rgba(3,3,3,.18) 60%)}.scroll{display:none}.intro,.quote-grid,.story,.content,.contact,.service,.news-inner{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.card,.card:nth-child(n){grid-column:1;min-height:430px}.mini{grid-template-columns:1fr}.stack{grid-template-columns:1fr}.video{min-height:420px}.video.small{min-height:300px}.portrait,.story-photo{min-height:500px}.tour-row{grid-template-columns:88px 1fr}.tour-row .btn,.tour-row .coming{grid-column:2;justify-self:start}.service:nth-child(even) .media{order:initial}.media{min-height:420px}.awards,.media-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}.foot-bottom{flex-direction:column;gap:.5rem}.cred-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cred-grid{grid-template-columns:1fr}.actions .btn{width:100%}.foot-grid{grid-template-columns:1fr}.foot-grid>:first-child{grid-column:auto}.quote blockquote{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal,.left,.right{opacity:1;transform:none}.layer{transform:none!important}}


/* =========================================================
   V1.4 — focused homepage refinements
   ========================================================= */

/* HERO — larger branding, centred horizontally within the screen */
.hero-inner{
  width:100%;
  padding:7.5rem clamp(1rem,4vw,3rem) 4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero-copy{
  width:min(840px,66vw);
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-inline:auto;
}
.hero-logo{
  width:100%;
  max-height:430px;
  object-fit:contain;
  object-position:center;
  margin:0 auto 1.15rem;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,.58));
}
.hero h1{text-shadow:0 3px 18px rgba(0,0,0,.9)}
.hero .actions{justify-content:center}
.hero .shade{
  background:
    radial-gradient(circle at 50% 48%,rgba(0,0,0,.03),rgba(0,0,0,.18) 37%,rgba(0,0,0,.43) 88%),
    linear-gradient(0deg,rgba(4,4,4,.84),transparent 29%);
}

/* THIN TEXT-ONLY HIGHLIGHTS TICKER */
.highlight-ticker-section{
  overflow:hidden;
  background:#090909;
  border-block:1px solid var(--line);
}
.highlight-ticker{
  overflow:hidden;
  padding:1.15rem 0;
  outline:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.highlight-ticker-track{
  display:flex;
  width:max-content;
  animation:thinTicker 38s linear infinite;
  will-change:transform;
}
.highlight-ticker:hover .highlight-ticker-track,
.highlight-ticker:focus-within .highlight-ticker-track{animation-play-state:paused}
.ticker-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  white-space:nowrap;
}
.ticker-item{
  color:rgba(243,236,220,.82);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:clamp(.67rem,.82vw,.82rem);
  font-weight:500;
}
.ticker-separator{
  margin:0 clamp(1.1rem,2.3vw,2.4rem);
  color:rgba(216,173,85,.72);
  font-size:.46rem;
}
@keyframes thinTicker{to{transform:translateX(-50%)}}

/* MAGIC WITH MEANING — moving postcard gallery behind the title */
.meaning-section{
  min-height:860px;
  overflow:hidden;
  isolation:isolate;
  display:grid;
  align-items:center;
  background:
    radial-gradient(circle at 42% 36%,rgba(155,99,27,.12),transparent 26rem),
    #080808;
}
.meaning-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 46% 44%,rgba(6,6,6,.10),rgba(6,6,6,.40) 58%,rgba(6,6,6,.78) 100%),
    linear-gradient(0deg,rgba(7,7,7,.60),transparent 30%,transparent 74%,rgba(7,7,7,.42));
}
.meaning-stage{
  position:relative;
  width:min(1240px, calc(100% - 2rem));
  min-height:680px;
  margin:0 auto;
}
.meaning-postcards{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.meaning-postcard{
  position:absolute;
  margin:0;
  padding:8px 8px 26px;
  background:#efe7d7;
  border:1px solid rgba(255,255,255,.40);
  box-shadow:0 25px 65px rgba(0,0,0,.58);
  overflow:hidden;
  opacity:0;
  translate:0 34px;
  scale:.95;
  transition:opacity .9s var(--ease),translate .9s var(--ease),scale .9s var(--ease);
}
.meaning-postcard img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.03);
}
.meaning-card-1{left:4%;top:12%;width:clamp(230px,21vw,315px);aspect-ratio:4/3;transform:rotate(-8deg);z-index:1}
.meaning-card-2{left:27%;top:8%;width:clamp(205px,18vw,270px);aspect-ratio:4/3;transform:rotate(6deg);z-index:3}
.meaning-card-3{left:16%;top:42%;width:clamp(220px,19vw,285px);aspect-ratio:4/3;transform:rotate(5deg);z-index:2}
.meaning-card-4{left:39%;top:34%;width:clamp(235px,20vw,300px);aspect-ratio:4/3;transform:rotate(-6deg);z-index:4}
.meaning-section.is-visible .meaning-postcard{opacity:.78;translate:0 0;scale:1}
.meaning-section.is-visible .meaning-card-1{transition-delay:.05s;animation:postFloat1 7.6s 1.05s ease-in-out infinite alternate}
.meaning-section.is-visible .meaning-card-2{transition-delay:.17s;animation:postFloat2 8.4s 1.15s ease-in-out infinite alternate}
.meaning-section.is-visible .meaning-card-3{transition-delay:.28s;animation:postFloat3 9.1s 1.25s ease-in-out infinite alternate}
.meaning-section.is-visible .meaning-card-4{transition-delay:.39s;animation:postFloat4 8.8s 1.35s ease-in-out infinite alternate}
@keyframes postFloat1{to{translate:0 -13px}}
@keyframes postFloat2{to{translate:5px 10px}}
@keyframes postFloat3{to{translate:-4px -10px}}
@keyframes postFloat4{to{translate:4px 12px}}
.meaning-content{
  min-height:680px;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  align-items:center;
  gap:clamp(2rem,5vw,4.5rem);
}
.meaning-heading{
  position:relative;
  padding-left:clamp(2rem,5vw,4rem);
  text-align:left;
}
.meaning-title{
  max-width:10ch;
  font-size:clamp(4rem,7vw,7.6rem);
  line-height:.84;
  text-shadow:0 5px 28px #030303,0 2px 8px #030303;
}
.meaning-copy{
  width:100%;
  max-width:540px;
  margin-left:auto;
  padding:1.35rem 1.55rem;
  display:grid;
  grid-template-columns:1fr;
  gap:1.1rem;
  align-items:start;
  text-align:left;
  background:rgba(6,6,6,.69);
  border:1px solid rgba(216,173,85,.20);
  backdrop-filter:blur(10px);
}
.meaning-copy .statement{font-size:clamp(1.5rem,2.5vw,2.4rem);margin:0}
.meaning-copy .lead{font-size:.97rem;margin:0 0 1.25rem}
@media(max-width:1050px){
  .meaning-section{min-height:900px}
  .meaning-stage{width:min(980px, calc(100% - 1.5rem));min-height:760px}
  .meaning-content{grid-template-columns:1fr;align-items:end;gap:1.6rem;padding-top:14rem;min-height:760px}
  .meaning-heading{padding-left:0;text-align:center}
  .meaning-title{max-width:none}
  .meaning-copy{margin:0 auto;max-width:760px}
  .meaning-card-1{left:9%;top:6%;width:270px}
  .meaning-card-2{left:49%;top:3%;width:250px}
  .meaning-card-3{left:15%;top:31%;width:260px}
  .meaning-card-4{left:53%;top:28%;width:275px}
}
@media(max-width:760px){
  .meaning-section{min-height:880px}
  .meaning-stage{width:calc(100% - 1rem);min-height:760px}
  .meaning-postcards{top:1rem}
  .meaning-card-1{left:-1%;top:5%;width:175px}
  .meaning-card-2{left:39%;top:1%;width:168px}
  .meaning-card-3{left:4%;top:27%;width:176px}
  .meaning-card-4{left:45%;top:22%;width:186px}
  .meaning-content{min-height:760px;padding-top:18rem;gap:1.2rem}
  .meaning-heading{padding-left:0}
  .meaning-title{font-size:clamp(3.2rem,14vw,5.6rem);line-height:.88;text-align:center}
  .meaning-copy{padding:1.1rem 1rem;max-width:none;width:min(680px,100%)}
  .meaning-copy .statement{font-size:clamp(1.35rem,5.7vw,2rem)}
}
/* Keep V1.3's full-size fifth and sixth experience cards */
.grid .card-six{grid-column:span 6;min-height:520px}
.grid .card-six h3{font-size:clamp(2rem,3.4vw,3.5rem)}

@media(max-width:1050px){
  .hero-copy{width:min(760px,76vw)}
  .meaning-section{min-height:800px}
  .meaning-card-1{left:-3%}.meaning-card-2{right:-2%}
  .meaning-card-3{left:5%}.meaning-card-4{right:4%}
}
@media(max-width:760px){
  .hero-inner{display:flex;align-items:center;justify-content:center;padding:7rem 1rem 5.5rem;text-align:center}
  .hero-copy{width:min(94vw,620px);max-width:none;background:none}
  .hero-logo{width:100%;max-height:340px;object-position:center;margin-bottom:.8rem}
  .hero h1{font-size:.64rem;letter-spacing:.16em}
  .hero .actions{width:100%;justify-content:center}
  .highlight-ticker{padding:.9rem 0}
  .highlight-ticker-track{animation-duration:31s}
  .ticker-item{font-size:.61rem;letter-spacing:.14em}
  .ticker-separator{margin:0 .95rem}
  .meaning-section{min-height:790px;padding-inline:.75rem}
  .meaning-content{min-height:680px}
  .meaning-title{font-size:clamp(3.6rem,17vw,5.4rem)}
  .meaning-copy{grid-template-columns:1fr;width:min(590px,94%);margin-top:3rem;padding:1rem;text-align:center;gap:1rem}
  .meaning-copy .statement{font-size:clamp(1.35rem,6vw,1.9rem)}
  .meaning-copy .lead{font-size:.9rem}
  .meaning-card-1{left:-19%;top:12%;width:55vw}
  .meaning-card-2{right:-21%;top:15%;width:52vw}
  .meaning-card-3{left:-17%;bottom:8%;width:48vw}
  .meaning-card-4{right:-20%;bottom:7%;width:53vw}
  .meaning-card-5{top:3%;width:30vw;opacity:.38}
  .grid .card-six{grid-column:1;min-height:430px}
}
@media(max-width:480px){
  .hero-copy{width:96vw}
  .meaning-section{min-height:815px}
  .meaning-title{font-size:clamp(3.25rem,17vw,4.6rem)}
}
@media(prefers-reduced-motion:reduce){
  .highlight-ticker{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .highlight-ticker-track{animation:none}
  .meaning-postcard{opacity:.62;translate:0 0;scale:1;animation:none!important;transition:none}
}


/* =========================================================
   V1.6 — Hero polish + brighter Magic With Meaning gold
   ========================================================= */
.hero .shade{
  background:
    radial-gradient(circle at 28% 49%, rgba(6,6,6,.68), rgba(6,6,6,.25) 26%, rgba(6,6,6,.06) 42%, transparent 58%),
    linear-gradient(90deg, rgba(5,5,5,.58), rgba(5,5,5,.18) 38%, transparent 66%),
    linear-gradient(0deg, rgba(0,0,0,.54), rgba(0,0,0,.08) 28%, rgba(0,0,0,.30) 100%);
}
.hero-inner{
  width:min(1400px,100%);
  margin:auto;
  padding:7.5rem clamp(1rem,5vw,4.5rem) 3rem;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  min-height:100svh;
}
.hero-copy{
  max-width:680px;
  justify-self:start;
  padding:clamp(1.35rem,2vw,2rem);
  border:1px solid rgba(216,173,85,.16);
  background:linear-gradient(135deg, rgba(8,8,8,.74), rgba(8,8,8,.46));
  box-shadow:0 28px 80px rgba(0,0,0,.54);
  backdrop-filter:blur(10px);
  animation:copyIn 1.1s .7s var(--ease) both;
}
.hero-logo{
  width:min(690px,49vw);
  max-height:none;
  object-fit:contain;
  object-position:left center;
  margin:0 0 1rem;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.62)) drop-shadow(0 28px 60px rgba(0,0,0,.48));
}
.hero h1{
  display:inline-block;
  font-size:clamp(.8rem,1.1vw,.98rem);
  letter-spacing:.26em;
  text-transform:uppercase;
  margin:.2rem 0 1.25rem;
  color:rgba(255,247,226,.96);
  text-shadow:0 2px 10px rgba(0,0,0,.65);
}
.actions{display:flex;gap:.85rem;flex-wrap:wrap;align-items:center}
.hero-copy .actions .btn{
  min-height:54px;
  padding:.95rem 1.45rem;
  letter-spacing:.14em;
  font-size:.72rem;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.hero-copy .actions .btn.outline{
  background:rgba(11,10,8,.82);
  color:var(--paper);
  border-color:rgba(216,173,85,.54);
}
.hero-copy .actions .btn.outline:hover{
  background:rgba(25,22,18,.92);
  border-color:var(--gold2);
}

.meaning-title{color:var(--paper)}
.meaning-title .gold{
  background:linear-gradient(110deg,#9e742f 0%, #f3d48f 28%, #ffd879 48%, #f8e7b5 68%, #bc8b3d 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
}

@media(max-width:1050px){
  .hero-inner{grid-template-columns:1fr;justify-items:start;padding-top:7rem}
  .hero-copy{max-width:640px}
  .hero-logo{width:min(640px,76vw)}
}
@media(max-width:760px){
  .hero-inner{display:flex;align-items:center;justify-content:center;padding:6.5rem 1rem 5.25rem;text-align:left}
  .hero-copy{width:min(94vw,620px);max-width:none;padding:1.1rem .95rem 1.2rem;background:linear-gradient(135deg, rgba(8,8,8,.76), rgba(8,8,8,.54))}
  .hero-logo{width:100%;max-height:360px;object-position:left center;margin-bottom:.85rem}
  .hero h1{font-size:.64rem;letter-spacing:.15em;margin:.25rem 0 1rem}
  .actions{gap:.7rem}
  .hero-copy .actions .btn{min-height:48px;padding:.82rem 1rem;font-size:.67rem;flex:1 1 170px}
}


/* =========================================================
   V1.7 — Smaller hero panel only around tagline and buttons
   ========================================================= */
.hero-copy{
  max-width:680px;
  justify-self:start;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
}
.hero-logo{
  width:min(690px,49vw);
  max-height:none;
  object-fit:contain;
  object-position:left center;
  margin:0 0 1.2rem;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.62)) drop-shadow(0 28px 60px rgba(0,0,0,.48));
}
.hero-cta-panel{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  padding:1.1rem 1.2rem 1.2rem;
  border:1px solid rgba(216,173,85,.16);
  background:linear-gradient(135deg, rgba(8,8,8,.72), rgba(8,8,8,.48));
  box-shadow:0 24px 60px rgba(0,0,0,.44);
  backdrop-filter:blur(10px);
}
.hero h1{
  display:block;
  font-size:clamp(.8rem,1.1vw,.98rem);
  letter-spacing:.26em;
  text-transform:uppercase;
  margin:0 0 1.05rem;
  color:rgba(255,247,226,.96);
  text-shadow:0 2px 10px rgba(0,0,0,.65);
}
.hero-copy .actions{
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  align-items:center;
}
@media(max-width:1050px){
  .hero-copy{max-width:640px}
}
@media(max-width:760px){
  .hero-copy{
    width:min(94vw,620px);
    max-width:none;
    padding:0;
    background:none;
  }
  .hero-cta-panel{
    width:auto;
    max-width:100%;
    padding:.95rem .95rem 1rem;
  }
  .hero h1{font-size:.64rem;letter-spacing:.15em;margin:0 0 .9rem}
  .hero-copy .actions{gap:.7rem}
}


/* =========================================================
   V1.8 — Reviews cards, compact video slider, arrows + richer motion
   ========================================================= */
.video-carousel-section .head,
.reviews-section .head{margin-bottom:1.6rem}
.video-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
.video-slider-window{overflow:hidden}
.video-slider-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:.35rem}
.video-slider-track::-webkit-scrollbar{display:none}
.video-slide{position:relative;flex:0 0 calc((100% - 2rem) / 3);min-height:320px;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:#111;padding:0;color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start}
.video-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1s var(--ease)}
.video-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.08))}
.video-slide:hover img{transform:scale(1.045)}
.video-slide .vmeta{position:absolute;inset:auto 0 0;z-index:2;padding:1.25rem 1.15rem 1.2rem}
.video-slide .vmeta span{color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.6rem}
.video-slide .vmeta h3{font-family:var(--serif);font-size:clamp(1.45rem,2.3vw,2.25rem);line-height:.95;text-transform:uppercase;margin:.25rem 0 0}
.small-play{width:56px;height:56px}.small-play:before{left:24px;top:19px;border-left:12px solid white;border-block:8px solid transparent}
.slider-nav{width:52px;height:52px;border-radius:50%;border:1px solid rgba(216,173,85,.36);background:rgba(9,9,9,.72);color:var(--paper);font-size:1.05rem;cursor:pointer;transition:.25s var(--ease)}
.slider-nav:hover{transform:translateY(-2px);border-color:var(--gold2);background:rgba(20,16,10,.88)}
.reviews-section{background:#070606}.reviews-stage{position:relative;padding-top:1rem}
.review-postcard{position:absolute;left:0;top:-1rem;z-index:1;width:min(240px,28vw);padding:9px 9px 26px;background:#eee4d2;border:1px solid rgba(255,255,255,.42);box-shadow:0 22px 62px rgba(0,0,0,.55);transform:rotate(-6deg);overflow:hidden}
.review-postcard img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.review-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-left:clamp(120px,12vw,180px)}
.review-card{min-height:320px;padding:1.4rem 1.25rem 1.3rem;border:1px solid var(--line);background:linear-gradient(180deg, rgba(13,13,13,.82), rgba(8,8,8,.95));display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.review-card blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.85rem,2.8vw,3.2rem);line-height:.92;text-transform:uppercase}
.review-card cite{display:block;margin-top:1.2rem;color:var(--gold2);font-style:normal;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem}
.has-scroll-arrow{position:relative}
.section-arrow{position:absolute;left:50%;bottom:-18px;z-index:12;width:26px;height:48px;transform:translate(-50%,16px);opacity:0;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);pointer-events:none}
.section-arrow:before{content:"";position:absolute;left:50%;top:0;bottom:10px;width:1px;background:linear-gradient(180deg,rgba(216,173,85,.1),rgba(216,173,85,.72));transform:translateX(-50%)}
.section-arrow:after{content:"";position:absolute;left:50%;bottom:2px;width:9px;height:9px;border-right:1px solid rgba(216,173,85,.78);border-bottom:1px solid rgba(216,173,85,.78);transform:translateX(-50%) rotate(45deg)}
.section-arrow.in{opacity:1;transform:translate(-50%,0)}
.reveal,.left,.right,.review-card{transition:opacity 1.35s var(--ease), transform 1.35s var(--ease) !important}
.reveal{transform:translateY(54px)}.left{transform:translateX(-52px)}.right{transform:translateX(52px)}
.card{overflow:hidden}.card img,.story-photo img,.poster img,.review-postcard img,.video-slide img{will-change:transform}
.video-slide,.review-card,.card,.tour-row,.meaning-postcard{transition:transform .45s var(--ease), box-shadow .45s var(--ease)}
.video-slide:hover,.review-card:hover,.card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.32)}
@media(max-width:1050px){.video-slide{flex-basis:calc((100% - 1rem) / 2)}.review-postcard{width:min(210px,33vw);top:-.4rem}.review-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:7rem}.review-card:last-child{grid-column:1 / -1}}
@media(max-width:760px){.video-slider{grid-template-columns:1fr;gap:.85rem}.slider-nav{display:none}.video-slide{flex-basis:86%}.video-slide .vmeta h3{font-size:1.6rem}.review-postcard{position:relative;left:auto;top:auto;width:min(220px,72vw);margin:0 auto 1.2rem;transform:rotate(-4deg)}.review-cards{grid-template-columns:1fr;margin-left:0}.review-card{min-height:auto}.section-arrow{height:38px;bottom:-12px}}
@media(prefers-reduced-motion:reduce){.section-arrow,.video-slider-track{scroll-behavior:auto}}


/* =========================================================
   V1.9 — calmer premium journey, expanded film gallery,
   clean non-overlapping review layout
   ========================================================= */

/* The page now fades sections in and gently out as they pass through the viewport. */
.journey-ready .journey-section{
  opacity:.44;
  transform:translateY(12px);
  filter:saturate(.94);
  transition:opacity 1.15s var(--ease),transform 1.15s var(--ease),filter 1.15s var(--ease);
}
.journey-ready .journey-section.is-journey-active{
  opacity:1;
  transform:none;
  filter:none;
}
.journey-ready .hero.journey-section{transform:none}

/* Smaller, slower reveal distance: movement supports the page instead of taking it over. */
.reveal,.left,.right{
  transition:opacity 1.08s var(--ease),transform 1.08s var(--ease) !important;
}
.reveal{transform:translateY(24px) !important}
.left{transform:translateX(-28px) !important}
.right{transform:translateX(28px) !important}
.reveal.in,.left.in,.right.in{transform:none !important}
.card:hover,.video-slide:hover,.quote-card:hover{transform:translateY(-3px)}

/* Refined arrows between the chapters. */
.has-scroll-arrow{position:relative}
.section-arrow{
  position:absolute;left:50%;bottom:-15px;z-index:20;
  width:24px;height:42px;pointer-events:none;
  opacity:0;transform:translate(-50%,8px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.section-arrow::before{
  content:"";position:absolute;left:50%;top:0;bottom:9px;width:1px;
  background:linear-gradient(180deg,rgba(216,173,85,.08),rgba(216,173,85,.65));
  transform:translateX(-50%);
}
.section-arrow::after{
  content:"";position:absolute;left:50%;bottom:1px;width:8px;height:8px;
  border-right:1px solid rgba(216,173,85,.75);border-bottom:1px solid rgba(216,173,85,.75);
  transform:translateX(-50%) rotate(45deg);
}
.is-journey-active > .section-arrow,.hero.is-journey-active > .section-arrow{opacity:1;transform:translate(-50%,0)}

/* Compact sliding film gallery with a hint of the next item. */
.video-carousel-section .head{max-width:820px;margin-bottom:1.8rem}
.video-carousel-section .head .lead{margin-top:1rem}
.video-slider{display:block}
.video-slider-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}
.video-slider-count{font-family:var(--serif);font-size:1.05rem;color:var(--gold2);letter-spacing:.12em}
.video-slider-buttons{display:flex;gap:.55rem}
.slider-nav{
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(216,173,85,.34);
  background:rgba(9,9,9,.72);color:var(--paper);cursor:pointer;transition:.25s var(--ease)
}
.slider-nav:hover{border-color:var(--gold2);background:rgba(20,16,10,.88)}
.slider-nav:disabled{opacity:.28;cursor:default;transform:none}
.video-slider-window{overflow:hidden}
.video-slider-track{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  scroll-behavior:smooth;padding:.1rem 0 .55rem
}
.video-slider-track::-webkit-scrollbar{display:none}
.video-slide{
  position:relative;flex:0 0 clamp(270px,29vw,360px);min-height:305px;
  border:1px solid rgba(255,255,255,.12);overflow:hidden;background:#111;padding:0;
  color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)
}
.video-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.video-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.06) 72%)}
.video-slide:hover img{transform:scale(1.035)}
.video-slide .vmeta{position:absolute;inset:auto 0 0;z-index:2;padding:1.1rem 1.05rem 1rem}
.video-slide .vmeta span{color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.57rem}
.video-slide .vmeta h3{font-family:var(--serif);font-size:clamp(1.45rem,2.1vw,2.15rem);line-height:.96;text-transform:uppercase;margin:.2rem 0 0}
.small-play{width:52px;height:52px}
.small-play::before{left:22px;top:18px;border-left:11px solid white;border-block:8px solid transparent}
.video-social-rail{
  display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;
  margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)
}
.video-social-label{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;margin-right:.35rem}
.video-social-rail a{color:rgba(243,236,220,.72);text-decoration:none;font-size:.8rem;transition:color .25s ease}
.video-social-rail a:hover{color:var(--paper)}
.video-social-rail a span{color:var(--gold2)}

/* Reviews: no absolute positioning and no collisions. */
.reviews-section{background:#070606}
.reviews-section .head{max-width:840px;margin-bottom:2.2rem}
.review-layout{
  display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);
  gap:1.25rem;align-items:stretch
}
.review-photo-card{
  margin:0;padding:9px 9px 24px;background:#eee4d2;color:#15120d;
  border:1px solid rgba(255,255,255,.42);box-shadow:0 18px 48px rgba(0,0,0,.42);
  transform:rotate(-2.2deg);align-self:start
}
.review-photo-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.review-photo-card figcaption{
  padding:.65rem .25rem 0;text-transform:uppercase;letter-spacing:.12em;
  font-size:.56rem;text-align:center;color:#6f5a32
}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quote-card{
  min-height:300px;padding:1.35rem 1.2rem 1.2rem;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(15,15,15,.9),rgba(8,8,8,.98));
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)
}
.quote-card blockquote{
  margin:0;font-family:var(--serif);font-size:clamp(1.65rem,2.15vw,2.45rem);
  line-height:.96;text-transform:uppercase
}
.quote-card cite{
  display:block;margin-top:1.2rem;color:var(--gold2);font-style:normal;
  text-transform:uppercase;letter-spacing:.17em;font-size:.61rem
}

@media(max-width:1050px){
  .review-layout{grid-template-columns:180px minmax(0,1fr)}
  .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quote-card:last-child{grid-column:1 / -1;min-height:220px}
  .video-slide{flex-basis:clamp(270px,43vw,350px)}
}
@media(max-width:760px){
  .journey-ready .journey-section{opacity:.62;transform:translateY(8px)}
  .section-arrow{height:34px;bottom:-10px}
  .video-slide{flex-basis:82vw;min-height:290px}
  .video-social-rail{align-items:flex-start}
  .video-social-label{width:100%;margin-bottom:.15rem}
  .review-layout{grid-template-columns:1fr}
  .review-photo-card{width:min(210px,66vw);margin:0 auto 1rem;transform:rotate(-2deg)}
  .review-grid{grid-template-columns:1fr}
  .quote-card,.quote-card:last-child{min-height:auto;grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .journey-ready .journey-section{opacity:1;transform:none;filter:none}
  .video-slider-track{scroll-behavior:auto}
}


/* =========================================================
   V1.10 — Distinct homepage chapter backgrounds
   The colours remain very dark and premium, but each major
   chapter now has its own temperature and visual identity.
   ========================================================= */

/* Warm charcoal: commercial experiences */
.home-experiences-section{
  background:
    radial-gradient(circle at 12% 16%,rgba(216,173,85,.095),transparent 29rem),
    radial-gradient(circle at 88% 86%,rgba(108,65,22,.065),transparent 32rem),
    linear-gradient(135deg,#120e0a 0%,#0d0b09 48%,#090909 100%);
  border-block:1px solid rgba(216,173,85,.10);
}

/* Midnight blue-black: film and media */
.video-carousel-section{
  background:
    radial-gradient(circle at 88% 14%,rgba(68,104,145,.13),transparent 31rem),
    radial-gradient(circle at 8% 88%,rgba(36,55,78,.08),transparent 28rem),
    linear-gradient(135deg,#090e15 0%,#090b0f 56%,#080808 100%);
  border-block:1px solid rgba(112,143,177,.10);
}

/* Oxblood-black: prestigious quotes and reviews */
.reviews-section{
  background:
    radial-gradient(circle at 9% 18%,rgba(129,38,27,.18),transparent 30rem),
    radial-gradient(circle at 92% 90%,rgba(87,24,18,.09),transparent 30rem),
    linear-gradient(135deg,#150907 0%,#0d0707 52%,#080707 100%);
  border-block:1px solid rgba(151,63,47,.12);
}

/* Military green-black: Richard's service story */
.story-home-section{
  background:
    repeating-linear-gradient(135deg,rgba(232,222,178,.014) 0 1px,transparent 1px 14px),
    radial-gradient(circle at 84% 20%,rgba(102,119,76,.13),transparent 30rem),
    linear-gradient(135deg,#0c120d 0%,#090d0a 56%,#070908 100%);
  border-block:1px solid rgba(129,143,100,.11);
}

/* Burnished bronze-black: live theatre and tour dates */
.live-home-section{
  background:
    radial-gradient(circle at 15% 12%,rgba(190,111,36,.15),transparent 31rem),
    radial-gradient(circle at 88% 88%,rgba(103,52,19,.08),transparent 30rem),
    linear-gradient(135deg,#150e08 0%,#0e0a07 54%,#090807 100%);
  border-block:1px solid rgba(180,111,43,.11);
}

/* Give the mailing-list and final chapters a separate finish too. */
.news{
  background:
    radial-gradient(circle at 80% 30%,rgba(216,173,85,.10),transparent 27rem),
    linear-gradient(135deg,#17120a 0%,#0e0b07 58%,#090807 100%);
}
.final{
  background:
    radial-gradient(circle at 50% 35%,rgba(216,173,85,.075),transparent 30rem),
    linear-gradient(180deg,#090909 0%,#050505 100%);
}

/* Keep chapter content cleanly above all decorative backgrounds. */
.home-experiences-section > .container,
.video-carousel-section > .container,
.reviews-section > .container,
.story-home-section > .container,
.live-home-section > .container,
.news > .container,
.final > .container{
  position:relative;
  z-index:1;
}

/* Slightly different edge light at the start of each chapter. */
.home-experiences-section::before,
.video-carousel-section::before,
.reviews-section::before,
.story-home-section::before,
.live-home-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(240,207,131,.18),transparent);
}


/* =========================================================
   V1.11 — Centralised hero composition
   ========================================================= */
.hero-inner{
  width:min(1400px,100%);
  min-height:100svh;
  margin:auto;
  padding:6.75rem clamp(1rem,3vw,2rem) 4rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-copy{
  width:min(920px,90vw);
  max-width:none;
  justify-self:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.hero-logo{
  width:min(860px,72vw);
  max-height:none;
  object-fit:contain;
  object-position:center;
  margin:0 auto -1.5rem;
}
.hero-cta-panel{
  width:min(760px,100%);
  max-width:100%;
  margin:0 auto;
  align-items:center;
  text-align:center;
  padding:1.1rem 1.4rem 1.25rem;
}
.hero h1{
  width:100%;
  text-align:center;
}
.hero-copy .actions{
  width:100%;
  justify-content:center;
  align-items:center;
}

@media(max-width:1050px){
  .hero-inner{
    padding:6.5rem 1rem 4.25rem;
    justify-items:center;
  }
  .hero-copy{width:min(860px,92vw)}
  .hero-logo{width:min(790px,86vw);margin-bottom:-1rem}
  .hero-cta-panel{width:min(700px,100%)}
}

@media(max-width:760px){
  .hero-inner{
    min-height:100svh;
    padding:6rem .75rem 4.5rem;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .hero-copy{
    width:min(95vw,680px);
    align-items:center;
    text-align:center;
  }
  .hero-logo{
    width:min(94vw,680px);
    object-position:center;
    margin:0 auto -.35rem;
  }
  .hero-cta-panel{
    width:min(620px,100%);
    align-items:center;
    text-align:center;
    padding:.95rem .9rem 1rem;
  }
  .hero h1{text-align:center}
  .hero-copy .actions{justify-content:center}
}


/* =========================================================
   V1.12 — Hand-finished detail, card pips and textured chapters
   ========================================================= */

/* A second hairline inside the existing outer borders gives panels a
   print/frame finish instead of the default single-border web-card look. */
.card,
.video-slide,
.quote-card,
.review-photo-card,
.meaning-copy,
.hero-cta-panel,
.panel,
.bookd,
.service .media,
.award,
.story-photo,
.poster,
.media-grid .video,
.video,
.portrait{
  outline:1px solid rgba(240,207,131,.14);
  outline-offset:-7px;
}
.card:hover,
.video-slide:hover,
.quote-card:hover{
  outline-color:rgba(240,207,131,.25);
}
.btn{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.075);
}

/* Decorative layer lives inside each section, so textures and pips are
   clipped without interfering with the arrows between chapters. */
.textured-section{isolation:isolate}
.section-decor{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:.72;
  transition:opacity 1.15s var(--ease);
}
.journey-ready .journey-section:not(.is-journey-active) > .section-decor{opacity:.28}
.textured-section > .container,
.textured-section > .meaning-stage{
  position:relative;
  z-index:2;
}
.section-texture{
  position:absolute;
  inset:-12%;
  transform:translate3d(0,0,0) scale(1.10);
  will-change:transform;
  opacity:.58;
}

/* Warm brushed brass / letterpress texture. */
.texture-brass .section-texture{
  background:
    repeating-linear-gradient(118deg,rgba(240,207,131,.034) 0 1px,transparent 1px 14px),
    radial-gradient(circle at 18% 22%,rgba(216,173,85,.10),transparent 25rem),
    radial-gradient(circle at 85% 78%,rgba(115,69,24,.085),transparent 28rem);
  mix-blend-mode:screen;
}
/* A restrained film-grain dot field for the video chapter. */
.texture-film .section-texture{
  background:
    radial-gradient(circle,rgba(135,172,207,.055) 0 1px,transparent 1.3px) 0 0/24px 24px,
    repeating-linear-gradient(90deg,rgba(110,145,178,.018) 0 1px,transparent 1px 46px),
    radial-gradient(circle at 78% 18%,rgba(73,109,145,.11),transparent 28rem);
  mix-blend-mode:screen;
}
/* Fine vertical theatre-curtain bands, kept nearly black. */
.texture-oxblood .section-texture{
  background:
    repeating-linear-gradient(90deg,rgba(151,52,39,.036) 0 2px,transparent 2px 32px),
    repeating-linear-gradient(0deg,rgba(240,207,131,.012) 0 1px,transparent 1px 18px),
    radial-gradient(circle at 12% 24%,rgba(133,42,30,.12),transparent 27rem);
  mix-blend-mode:screen;
}
/* Military map/grid cues rather than a literal camouflage pattern. */
.texture-military .section-texture{
  background:
    linear-gradient(rgba(195,206,163,.025) 1px,transparent 1px) 0 0/54px 54px,
    linear-gradient(90deg,rgba(195,206,163,.025) 1px,transparent 1px) 0 0/54px 54px,
    repeating-linear-gradient(135deg,rgba(232,222,178,.022) 0 1px,transparent 1px 16px),
    radial-gradient(circle at 78% 24%,rgba(101,119,76,.13),transparent 29rem);
  mix-blend-mode:screen;
}
.texture-bronze .section-texture{
  background:
    repeating-linear-gradient(125deg,rgba(216,173,85,.03) 0 1px,transparent 1px 20px),
    radial-gradient(circle at 82% 18%,rgba(146,90,31,.12),transparent 26rem),
    radial-gradient(circle at 16% 82%,rgba(75,43,18,.10),transparent 30rem);
  mix-blend-mode:screen;
}
.texture-paper .section-texture{
  background:
    radial-gradient(circle,rgba(240,207,131,.032) 0 1px,transparent 1.1px) 0 0/18px 18px,
    repeating-linear-gradient(110deg,rgba(240,207,131,.018) 0 1px,transparent 1px 12px);
  mix-blend-mode:screen;
}
.texture-grid .section-texture{
  background:
    linear-gradient(rgba(216,173,85,.02) 1px,transparent 1px) 0 0/60px 60px,
    linear-gradient(90deg,rgba(216,173,85,.02) 1px,transparent 1px) 0 0/60px 60px,
    radial-gradient(circle at 20% 20%,rgba(216,173,85,.065),transparent 25rem);
  mix-blend-mode:screen;
}

/* Card-suit marks are intentionally sparse and low-contrast. */
.bg-pip{
  position:absolute;
  left:var(--pip-left);
  top:var(--pip-top);
  font-family:Georgia,'Times New Roman',serif;
  font-size:var(--pip-size);
  line-height:1;
  color:rgba(229,195,120,.11);
  opacity:.8;
  text-shadow:0 8px 24px rgba(0,0,0,.28);
  will-change:transform;
  transform:translate3d(0,0,0) rotate(var(--pip-rotation));
}
.bg-pip.red{color:rgba(137,42,34,.16)}
.bg-pip.outline{
  color:transparent;
  -webkit-text-stroke:1px rgba(229,195,120,.10);
  text-stroke:1px rgba(229,195,120,.10);
}

/* The chapter backgrounds now have a little more depth without becoming
   louder or more colourful. */
.home-experiences-section{
  background:
    radial-gradient(circle at 12% 16%,rgba(216,173,85,.12),transparent 29rem),
    radial-gradient(circle at 88% 86%,rgba(108,65,22,.085),transparent 32rem),
    linear-gradient(135deg,#151009 0%,#0e0b08 48%,#090909 100%);
}
.video-carousel-section{
  background:
    radial-gradient(circle at 88% 14%,rgba(68,104,145,.17),transparent 31rem),
    radial-gradient(circle at 8% 88%,rgba(36,55,78,.10),transparent 28rem),
    linear-gradient(135deg,#09101a 0%,#090c12 56%,#080808 100%);
}
.reviews-section{
  background:
    radial-gradient(circle at 9% 18%,rgba(129,38,27,.23),transparent 30rem),
    radial-gradient(circle at 92% 90%,rgba(87,24,18,.12),transparent 30rem),
    linear-gradient(135deg,#190a07 0%,#0f0707 52%,#080707 100%);
}
.story-home-section{
  background:
    radial-gradient(circle at 84% 20%,rgba(102,119,76,.17),transparent 30rem),
    linear-gradient(135deg,#0d150f 0%,#090f0b 56%,#070908 100%);
}
.live-home-section{
  background:
    radial-gradient(circle at 18% 16%,rgba(144,88,30,.16),transparent 28rem),
    linear-gradient(135deg,#160f08 0%,#0d0a07 55%,#080807 100%);
}

/* Direct headings can be longer than the old slogan copy. */
.home-experiences-section .head{max-width:1040px}
.home-experiences-section .head .lg{font-size:clamp(3rem,6.1vw,6.3rem)}
.video-carousel-section .head{max-width:1040px}
.reviews-section .head{max-width:900px}

@media(max-width:760px){
  .bg-pip{font-size:calc(var(--pip-size) * .72)}
  .bg-pip:nth-child(n+5){display:none}
  .section-texture{inset:-18%;opacity:.47}
  .home-experiences-section .head .lg{font-size:clamp(2.7rem,13vw,4.8rem)}
}
@media(prefers-reduced-motion:reduce){
  .section-texture,.bg-pip{transform:none!important}
}


/* =========================================================
   V1.13 — Full-width commercial and video chapters
   ========================================================= */

/* These two homepage chapters now use the full available viewport width,
   retaining only a controlled outer gutter rather than the global 1240px cap. */
.home-experiences-section,
.video-carousel-section{
  padding-left:clamp(1rem,2.35vw,2.75rem);
  padding-right:clamp(1rem,2.35vw,2.75rem);
}
.home-experiences-section > .container,
.video-carousel-section > .container{
  width:100%;
  max-width:none;
}

/* Let the introductory copy breathe with the wider composition, while keeping
   line lengths deliberate and readable. */
.home-experiences-section .head{
  max-width:min(1260px,78vw);
}
.video-carousel-section .head{
  max-width:min(1180px,76vw);
}

/* The experience grid now properly spans the chapter from gutter to gutter. */
.home-experiences-section .grid{
  width:100%;
  gap:clamp(.85rem,1.15vw,1.35rem);
}
.home-experiences-section .card{
  min-height:clamp(520px,34vw,660px);
}
.home-experiences-section .card-six{
  min-height:clamp(520px,32vw,620px);
}

/* Use the expanded film chapter to show more of the library at once. */
.video-carousel-section .video-slider,
.video-carousel-section .video-slider-window,
.video-carousel-section .video-slider-track,
.video-carousel-section .video-social-rail{
  width:100%;
}
.video-carousel-section .video-slide{
  flex-basis:clamp(310px,23.5vw,420px);
  min-height:clamp(320px,23vw,390px);
}

@media(max-width:1050px){
  .home-experiences-section .head,
  .video-carousel-section .head{
    max-width:900px;
  }
  .home-experiences-section .card,
  .home-experiences-section .card-six{
    min-height:500px;
  }
  .video-carousel-section .video-slide{
    flex-basis:clamp(285px,43vw,390px);
    min-height:320px;
  }
}

@media(max-width:760px){
  .home-experiences-section,
  .video-carousel-section{
    padding-left:1rem;
    padding-right:1rem;
  }
  .home-experiences-section .head,
  .video-carousel-section .head{
    max-width:100%;
  }
  .home-experiences-section .card,
  .home-experiences-section .card-six{
    min-height:430px;
  }
  .video-carousel-section .video-slide{
    flex-basis:84vw;
    min-height:290px;
  }
}


/* =========================================================
   V1.14 — Experiences page rebuild
   ========================================================= */
body.experiences-page{background:radial-gradient(circle at 18% 12%,rgba(140,92,25,.11),transparent 22rem),#080706}
.experiences-page .page-hero.experiences-landing{min-height:72svh;padding:12rem clamp(1rem,4vw,3rem) 5rem;background:
  radial-gradient(circle at 78% 30%,rgba(216,173,85,.08),transparent 24rem),
  linear-gradient(180deg,rgba(216,173,85,.05),transparent 30%),
  #080706;border-bottom:1px solid var(--line)}
.experiences-page .page-hero.experiences-landing .container{width:min(1420px,100%)}
.experiences-page .page-hero.experiences-landing p{max-width:900px}
.section-slim{padding:1.15rem clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line);background:rgba(9,8,7,.9);backdrop-filter:blur(12px);position:sticky;top:69px;z-index:50}
.exp-jump-inner{width:min(1420px,100%);display:flex;flex-wrap:wrap;gap:.8rem 1.1rem;align-items:center}
.jump-label{color:var(--gold2);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;margin-right:.35rem}
.exp-jump a{text-decoration:none;padding:.55rem .9rem;border:1px solid rgba(216,173,85,.2);color:rgba(243,236,220,.82);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;transition:.25s var(--ease)}
.exp-jump a:hover{border-color:var(--gold);color:var(--gold2);transform:translateY(-1px)}
.exp-chapter{position:relative}
.exp-banner{position:relative;min-height:62svh;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line)}
.exp-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.exp-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.5) 46%,rgba(5,5,5,.18) 70%),linear-gradient(0deg,rgba(5,5,5,.9),transparent 48%)}
.exp-banner-copy{position:relative;z-index:2;width:min(1420px,calc(100% - 2rem));margin:0 auto;padding:0 0 clamp(2.2rem,4vw,3.5rem)}
.exp-banner-copy h2{margin:0;max-width:900px}
.exp-body{padding-top:clamp(3.2rem,6vw,5rem);padding-bottom:clamp(4rem,7vw,6.8rem)}
.exp-layout,.two-column-cards,.exp-gallery,.exp-final .container{width:min(1420px,100%);margin:auto}
.exp-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(1.4rem,3vw,2rem);align-items:start}
.exp-layout.reverse{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)}
.exp-copy,.exp-side,.feature-card{border:1px solid var(--line);position:relative;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));box-shadow:0 22px 55px rgba(0,0,0,.16)}
.exp-copy:before,.exp-side:before,.feature-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.14);pointer-events:none}
.exp-copy{padding:clamp(1.8rem,3vw,2.7rem)}
.exp-copy .btn{margin-top:.6rem}
.exp-standfirst{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.75rem);line-height:1.02;text-transform:uppercase;color:var(--paper);margin:0 0 1rem;max-width:15ch}
.exp-copy p:not(.exp-standfirst){color:rgba(243,236,220,.76);max-width:74ch}
.exp-note{color:var(--gold2)!important}
.exp-side{padding:clamp(1.4rem,2.4vw,2rem)}
.exp-points{display:grid;gap:1rem}.exp-points > div{padding:0 0 1rem;border-bottom:1px solid rgba(216,173,85,.18)}.exp-points > div:last-child{padding-bottom:0;border-bottom:0}
.exp-points span{display:inline-block;color:var(--gold2);font-family:var(--serif);font-size:1.3rem;margin-bottom:.2rem}
.exp-points strong,.exp-highlight h3,.feature-card h3{display:block;font-family:var(--serif);text-transform:uppercase;font-size:clamp(1.6rem,2vw,2.4rem);line-height:.94;margin-bottom:.4rem}
.exp-points p,.exp-highlight p{margin:0;color:rgba(243,236,220,.7)}
.exp-highlight{padding:.25rem}.exp-highlight h3{margin-top:.2rem}
.exp-gallery{display:grid;gap:1rem;margin-top:1.5rem}
.exp-gallery .shot{position:relative;overflow:hidden;min-height:260px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.exp-gallery .shot:before{content:"";position:absolute;inset:9px;border:1px solid rgba(216,173,85,.12);z-index:2;pointer-events:none}
.exp-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
.exp-gallery .shot:hover img{transform:scale(1.045)}
.gallery-collage{grid-template-columns:1.25fr .85fr .9fr .9fr}.gallery-collage .wide{grid-column:1 / span 1;min-height:420px}.gallery-collage .tall{grid-row:1 / span 2;min-height:420px}.gallery-collage .shot:nth-child(3),.gallery-collage .shot:nth-child(4){min-height:200px}
.gallery-strip{grid-template-columns:repeat(4,1fr)}.gallery-strip .shot{min-height:310px}
.gallery-mosaic{grid-template-columns:1fr 1fr 1fr}.gallery-mosaic .tall{grid-row:1 / span 2;min-height:560px}.gallery-mosaic .wide{grid-column:2 / span 2;min-height:270px}.gallery-mosaic .shot:nth-child(2),.gallery-mosaic .shot:nth-child(4){min-height:270px}
.gallery-five{grid-template-columns:1.2fr .8fr .8fr .8fr .8fr}.gallery-five .wide{min-height:350px}
.two-column-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.feature-card{padding:clamp(1.8rem,3vw,2.7rem)}
.feature-card p{color:rgba(243,236,220,.76)}
.feature-card .btn{margin-top:.8rem}
.exp-final{background:linear-gradient(180deg,rgba(216,173,85,.04),transparent 55%),#090807}
.exp-final p{max-width:760px;margin:1.2rem auto 2rem;color:rgba(243,236,220,.74)}
.exp-final-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

.tone-bronze .exp-body{background:linear-gradient(180deg,rgba(130,90,30,.09),transparent 26%),#090807}
.tone-champagne .exp-body{background:linear-gradient(180deg,rgba(216,173,85,.08),transparent 28%),#0a0908}
.tone-plum .exp-body{background:linear-gradient(180deg,rgba(98,28,52,.12),transparent 30%),#090708}
.tone-ink .exp-body{background:linear-gradient(180deg,rgba(32,58,78,.09),transparent 28%),#07090a}
.tone-slate .exp-body{background:linear-gradient(180deg,rgba(71,80,99,.11),transparent 28%),#09090a}

.tone-bronze .exp-body,.tone-champagne .exp-body,.tone-plum .exp-body,.tone-ink .exp-body,.tone-slate .exp-body{position:relative;overflow:hidden}
.tone-bronze .exp-body:before,.tone-champagne .exp-body:before,.tone-plum .exp-body:before,.tone-ink .exp-body:before,.tone-slate .exp-body:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(135deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 14px)}
.tone-plum .exp-body:before{opacity:.12;background-image:linear-gradient(90deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 16px)}
.tone-ink .exp-body:before{opacity:.13;background-image:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1px);background-size:14px 14px}
.tone-slate .exp-body:before{opacity:.12;background-image:linear-gradient(0deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 14px),linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 18px)}

@media(max-width:1200px){
  .gallery-collage{grid-template-columns:1fr 1fr 1fr}.gallery-collage .wide{grid-column:1 / span 2}.gallery-collage .tall{grid-row:auto;min-height:320px}
  .gallery-five{grid-template-columns:repeat(3,1fr)}.gallery-five .wide{grid-column:1 / -1}
}
@media(max-width:980px){
  .exp-layout,.exp-layout.reverse,.two-column-cards{grid-template-columns:1fr}
  .section-slim{top:68px}
  .gallery-strip,.gallery-mosaic{grid-template-columns:repeat(2,1fr)}
  .gallery-mosaic .tall,.gallery-mosaic .wide{grid-column:auto;grid-row:auto;min-height:320px}
  .exp-banner{min-height:50svh}
}
@media(max-width:760px){
  .experiences-page .page-hero.experiences-landing{min-height:60svh;padding-top:8.8rem}
  .section-slim{padding:.9rem 1rem}
  .exp-jump-inner{gap:.55rem}
  .jump-label{width:100%;margin:0 0 .25rem}
  .exp-jump a{font-size:.68rem;padding:.5rem .72rem}
  .exp-banner{min-height:42svh}
  .exp-banner-copy{width:calc(100% - 2rem)}
  .exp-standfirst{max-width:none}
  .gallery-collage,.gallery-strip,.gallery-five,.gallery-mosaic{grid-template-columns:1fr}
  .gallery-collage .wide,.gallery-collage .tall,.gallery-mosaic .tall,.gallery-mosaic .wide,.gallery-five .wide{grid-column:auto;grid-row:auto;min-height:280px}
  .exp-gallery .shot{min-height:280px}
}


/* =========================================================
   V1.15 — Experiences refinement
   ========================================================= */
body.experiences-page{background:#080706}
.experiences-page .page-hero.experiences-landing{min-height:78svh;padding:12rem clamp(1rem,4vw,3rem) 5.75rem;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:
linear-gradient(90deg,rgba(8,7,6,.96) 0%,rgba(8,7,6,.9) 28%,rgba(8,7,6,.7) 54%,rgba(8,7,6,.92) 100%),
radial-gradient(circle at 18% 14%,rgba(216,173,85,.1),transparent 23rem),
url("https://static.wixstatic.com/media/a0440f_54ea5ba169b94bdc9b7978484f886946~mv2.jpeg") right center / cover no-repeat,
#080706}
.experiences-page .page-hero.experiences-landing:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 28%),radial-gradient(circle at 78% 36%,rgba(255,255,255,.08),transparent 24rem)}
.experiences-page .page-hero.experiences-landing .container{position:relative;z-index:2;width:min(1440px,100%)}
.experiences-page .page-hero.experiences-landing h1{max-width:11ch}
.experiences-page .hero-lead{max-width:54rem;color:rgba(243,236,220,.78);font-size:clamp(1.02rem,1.4vw,1.22rem)}
.section-slim{padding:1.05rem clamp(1rem,4vw,3rem);border-bottom:1px solid rgba(216,173,85,.16);background:rgba(8,8,8,.88);backdrop-filter:blur(14px);position:sticky;top:69px;z-index:50}
.exp-jump-inner{width:min(1440px,100%);display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem}
.jump-label{color:var(--gold2);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;margin-right:.25rem}
.exp-jump a{text-decoration:none;padding:.55rem .88rem;border:1px solid rgba(216,173,85,.18);color:rgba(243,236,220,.78);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;transition:.25s var(--ease);background:rgba(255,255,255,.015)}
.exp-jump a:hover{border-color:var(--gold);transform:translateY(-1px);color:var(--gold2)}

.exp-banner{position:relative;min-height:78svh;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid rgba(216,173,85,.18);isolation:isolate}
.exp-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.corporate-banner img{object-position:center 24%}
.wedding-banner img{object-position:center 28%}
.stage-banner img{object-position:center 18%}
.private-banner img{object-position:center 26%}
.presenting-banner img{object-position:center 22%}
.exp-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.6) 42%,rgba(5,5,5,.24) 70%),linear-gradient(0deg,rgba(5,5,5,.92),rgba(5,5,5,.2) 42%,rgba(5,5,5,.35) 100%)}
.exp-banner-copy{position:relative;z-index:2;width:min(1440px,calc(100% - 2rem));margin:0 auto;padding:0 0 clamp(2.8rem,5vw,4.2rem)}
.exp-banner-copy h2{margin:0;max-width:12ch}
.exp-banner-intro{margin:1rem 0 0;max-width:34rem;color:rgba(243,236,220,.82);font-size:clamp(1rem,1.35vw,1.16rem)}

.exp-body{padding-top:clamp(3.3rem,6vw,4.8rem);padding-bottom:clamp(4rem,7vw,6.2rem);position:relative;overflow:hidden}
.exp-layout,.two-column-cards,.exp-gallery,.exp-final .container{width:min(1440px,100%);margin:auto}
.exp-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.78fr);gap:clamp(1.25rem,2.4vw,1.8rem);align-items:start}
.exp-layout.reverse{grid-template-columns:minmax(320px,.78fr) minmax(0,1.1fr)}
.exp-copy,.exp-side,.feature-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));border:1px solid rgba(216,173,85,.15);box-shadow:0 18px 40px rgba(0,0,0,.14)}
.exp-copy:before,.exp-side:before,.feature-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.1);pointer-events:none}
.exp-copy{padding:clamp(1.55rem,2.4vw,2.15rem)}
.exp-side{padding:clamp(1.35rem,2.2vw,1.85rem)}
.feature-card{padding:clamp(1.55rem,2.4vw,2.15rem)}
.exp-standfirst{font-family:var(--serif);font-size:clamp(1.55rem,2vw,2.25rem);line-height:.98;color:var(--paper);text-transform:none;letter-spacing:-.025em;margin:0 0 1rem;max-width:20ch}
.exp-copy p:not(.exp-standfirst),.feature-card p,.exp-highlight p,.exp-points p{color:rgba(243,236,220,.72)}
.exp-copy p:not(.exp-standfirst){max-width:70ch}
.exp-note{color:var(--gold2)!important}
.exp-points{display:grid;gap:1rem}
.exp-points > div{padding:0 0 1rem;border-bottom:1px solid rgba(216,173,85,.16)}
.exp-points > div:last-child{padding-bottom:0;border-bottom:0}
.exp-points span{display:inline-block;margin-bottom:.25rem;color:var(--gold2);font-family:var(--serif);font-size:1.12rem}
.exp-points strong,.exp-highlight h3,.feature-card h3{display:block;font-family:var(--serif);text-transform:uppercase;letter-spacing:-.015em;font-size:clamp(1.35rem,1.65vw,1.85rem);line-height:.94;margin:.05rem 0 .5rem}
.exp-highlight{padding:.15rem}.exp-highlight h3{max-width:12ch}
.exp-copy .btn,.feature-card .btn{margin-top:.7rem}

.exp-gallery{display:grid;gap:1rem;margin-top:1.5rem}
.gallery-uniform{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.gallery-uniform .shot{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(216,173,85,.16);box-shadow:0 16px 34px rgba(0,0,0,.16)}
.gallery-uniform.five-up{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.gallery-uniform .shot:before{content:"";position:absolute;inset:9px;border:1px solid rgba(216,173,85,.1);z-index:2;pointer-events:none}
.gallery-uniform img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1s var(--ease)}
.gallery-uniform .shot:hover img{transform:scale(1.04)}

.two-column-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.exp-final{background:linear-gradient(180deg,rgba(216,173,85,.04),transparent 58%),#090807}
.exp-final p{max-width:760px;margin:1.2rem auto 2rem;color:rgba(243,236,220,.74)}
.exp-final-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

.tone-bronze .exp-body{background:linear-gradient(180deg,rgba(124,79,20,.08),transparent 24%),#090807}
.tone-champagne .exp-body{background:linear-gradient(180deg,rgba(216,173,85,.06),transparent 24%),#0a0908}
.tone-plum .exp-body{background:linear-gradient(180deg,rgba(89,27,55,.1),transparent 26%),#090708}
.tone-ink .exp-body{background:linear-gradient(180deg,rgba(28,44,56,.08),transparent 24%),#07090a}
.tone-slate .exp-body{background:linear-gradient(180deg,rgba(66,77,94,.08),transparent 24%),#09090a}
.tone-bronze .exp-body:before,.tone-champagne .exp-body:before,.tone-plum .exp-body:before,.tone-ink .exp-body:before,.tone-slate .exp-body:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(135deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 14px)}
.tone-champagne .exp-body:before{opacity:.09;background-image:linear-gradient(90deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 14px)}
.tone-plum .exp-body:before{opacity:.11;background-image:radial-gradient(circle at center,rgba(255,255,255,.06) 1px,transparent 1px);background-size:16px 16px}
.tone-ink .exp-body:before{opacity:.1;background-image:linear-gradient(0deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 14px),linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 16px)}
.tone-slate .exp-body:before{opacity:.08;background-image:radial-gradient(circle at center,rgba(255,255,255,.06) 1px,transparent 1px);background-size:18px 18px}

@media(max-width:1100px){
  .exp-layout,.exp-layout.reverse,.two-column-cards{grid-template-columns:1fr}
  .exp-banner{min-height:64svh}
  .exp-copy,.exp-side,.feature-card{padding:1.5rem}
}
@media(max-width:760px){
  .experiences-page .page-hero.experiences-landing{min-height:62svh;padding:8.7rem 1rem 4rem;background-position:62% center}
  .experiences-page .page-hero.experiences-landing h1{max-width:none}
  .section-slim{top:68px;padding:.85rem 1rem}
  .jump-label{width:100%;margin:0 0 .2rem}
  .exp-banner{min-height:52svh}
  .exp-banner-copy{width:calc(100% - 2rem);padding-bottom:2rem}
  .exp-banner-intro{max-width:100%;font-size:1rem}
  .gallery-uniform,.gallery-uniform.five-up{grid-template-columns:repeat(2,1fr)}
  .gallery-uniform .shot{aspect-ratio:16/9}
}
@media(max-width:560px){
  .gallery-uniform,.gallery-uniform.five-up{grid-template-columns:1fr}
  .exp-banner{min-height:46svh}
}


/* V1.16 gallery aspect-ratio refinement */
.gallery-uniform{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery-uniform.five-up{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.gallery-uniform .shot{aspect-ratio:16/9;background:#0b0b0b}
.gallery-uniform img{object-fit:cover;object-position:center}
@media(max-width:760px){.gallery-uniform,.gallery-uniform.five-up{grid-template-columns:repeat(2,1fr)}.gallery-uniform .shot{aspect-ratio:16/9}}
@media(max-width:560px){.gallery-uniform,.gallery-uniform.five-up{grid-template-columns:1fr}.gallery-uniform .shot{aspect-ratio:16/9}}


/* V1.17 gallery consistency + expandability */
.exp-gallery.gallery-uniform{display:flex;flex-wrap:nowrap;align-items:stretch;gap:1rem;overflow:hidden}
.gallery-uniform .shot{flex:1 1 0;min-width:0;aspect-ratio:16/9;cursor:zoom-in;transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease)}
.gallery-uniform .shot:hover{transform:translateY(-2px);border-color:rgba(216,173,85,.32);box-shadow:0 22px 40px rgba(0,0,0,.24)}
.gallery-uniform .shot img{object-fit:cover;object-position:center;}
.gallery-uniform.five-up .shot{flex:1 1 0}
.exp-gallery.gallery-uniform::-webkit-scrollbar{height:10px}
.exp-gallery.gallery-uniform::-webkit-scrollbar-thumb{background:rgba(216,173,85,.22);border-radius:999px}
.exp-gallery.gallery-uniform::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}

.image-lightbox{position:fixed;inset:0;background:rgba(4,4,4,.88);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;pointer-events:none;transition:opacity .25s var(--ease);z-index:300}
.image-lightbox.open{opacity:1;pointer-events:auto}
.image-lightbox-img{max-width:min(1300px,92vw);max-height:86vh;border:1px solid rgba(216,173,85,.25);box-shadow:0 24px 60px rgba(0,0,0,.42);background:#0b0b0b}
.image-lightbox-close{position:absolute;top:1rem;right:1rem;width:46px;height:46px;border-radius:999px;border:1px solid rgba(216,173,85,.25);background:rgba(10,10,10,.72);color:var(--paper);font-size:1.8rem;line-height:1;cursor:pointer}

@media (max-width:980px){
  .exp-gallery.gallery-uniform{overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x proximity}
  .gallery-uniform .shot{flex:0 0 min(72vw,420px);scroll-snap-align:start}
}
@media (max-width:560px){
  .gallery-uniform .shot{flex:0 0 84vw}
  .image-lightbox{padding:1rem}
  .image-lightbox-img{max-width:94vw;max-height:78vh}
}


/* =========================================================
   V1.19 — Premium LIVE page and show-specific date pages
   ========================================================= */
.live-page,.show-detail-page{background:#070707}
.live-wide-container{width:min(1680px,calc(100% - clamp(2rem,6vw,7rem)));margin:auto}

.live-hero{min-height:88svh;position:relative;display:grid;align-items:end;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.live-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 22%;z-index:-3;transform:scale(1.015)}
.live-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.76) 34%,rgba(4,4,4,.25) 68%,rgba(4,4,4,.16) 100%),linear-gradient(0deg,rgba(4,4,4,.93),transparent 48%,rgba(4,4,4,.24))}
.live-hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;background-image:linear-gradient(135deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 1px,transparent 1px,transparent 17px);pointer-events:none}
.live-hero-content{width:min(1500px,calc(100% - clamp(2rem,8vw,10rem)));margin:0 auto;padding:8rem 0 clamp(4rem,8vw,7rem)}
.live-hero-content h1{max-width:12ch}.live-hero-content>p:not(.eyebrow){max-width:660px;color:rgba(243,236,220,.78);font-size:clamp(1.04rem,1.5vw,1.22rem)}
.live-scroll-cue{position:absolute;left:50%;bottom:1.5rem;width:34px;height:52px;transform:translateX(-50%);border:1px solid rgba(216,173,85,.34);border-radius:999px}
.live-scroll-cue span:before{content:"";position:absolute;left:50%;top:12px;width:4px;height:4px;border-radius:50%;background:var(--gold2);transform:translateX(-50%);animation:liveScroll 1.9s ease-in-out infinite}
@keyframes liveScroll{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,21px)}}

.live-intro{background:linear-gradient(180deg,rgba(216,173,85,.04),transparent 45%),#090807}
.live-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,8rem);align-items:end}.live-intro-lead{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;color:var(--paper);margin:0 0 1rem}.live-intro-grid .right>p:not(.live-intro-lead){color:rgba(243,236,220,.7);max-width:750px}

.live-show-select{background:radial-gradient(circle at 50% 0,rgba(111,71,22,.11),transparent 28rem),#080706;overflow:hidden}
.live-show-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.live-show-card{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(216,173,85,.2);text-decoration:none;isolation:isolate;box-shadow:0 26px 60px rgba(0,0,0,.22)}
.live-show-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.16);z-index:3;pointer-events:none}
.live-show-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1s var(--ease);z-index:-2}.live-show-card:hover img{transform:scale(1.04)}
.live-show-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(3,3,3,.95),rgba(3,3,3,.08) 73%)}
.live-show-copy{position:absolute;inset:auto 0 0;padding:clamp(1.2rem,2.3vw,2rem)}.live-show-copy strong{display:block;font-family:var(--serif);font-size:clamp(2rem,3.4vw,4rem);line-height:.88;text-transform:uppercase}.live-show-desc{display:block;max-width:520px;margin:.65rem 0;color:rgba(243,236,220,.75)}.live-show-link{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;font-weight:700}

.live-reviews-section{background:linear-gradient(135deg,rgba(84,24,20,.13),transparent 45%),#090706}
.live-reviews-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:center}.live-reviews-grid>.left>p:not(.eyebrow){color:rgba(243,236,220,.68)}
.live-review-slider{border:1px solid rgba(216,173,85,.2);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005));padding:clamp(1.5rem,3vw,2.6rem);box-shadow:0 24px 60px rgba(0,0,0,.2);position:relative}.live-review-slider:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.11);pointer-events:none}
.live-review-track{position:relative;min-height:340px}.live-review-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}.live-review-slide.active{opacity:1;transform:none;pointer-events:auto}.live-stars{color:var(--gold2);letter-spacing:.18em;font-size:1rem;margin-bottom:1.3rem}.live-review-slide blockquote{font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);line-height:.94;text-transform:uppercase;margin:0}.live-review-slide cite{font-style:normal;color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;margin-top:1.3rem}.live-review-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:1.2rem}.live-review-prev,.live-review-next,.live-gallery-prev,.live-gallery-next{width:46px;height:46px;border-radius:50%;border:1px solid rgba(216,173,85,.28);background:rgba(8,8,8,.68);color:var(--paper);cursor:pointer}.live-review-dots{display:flex;justify-content:center;gap:.55rem}.live-review-dot{width:8px;height:8px;border:0;border-radius:50%;background:rgba(243,236,220,.22);padding:0;cursor:pointer}.live-review-dot.active{background:var(--gold2);box-shadow:0 0 0 4px rgba(216,173,85,.1)}

.live-gallery-section{background:linear-gradient(180deg,rgba(36,52,68,.08),transparent 38%),#07090a}.live-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.live-gallery-arrows{display:flex;gap:.7rem}.live-gallery-window{overflow:hidden}.live-gallery-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:.4rem}.live-gallery-track::-webkit-scrollbar{display:none}.live-gallery-item{position:relative;flex:0 0 min(500px,34vw);aspect-ratio:16/9;padding:0;border:1px solid rgba(216,173,85,.18);overflow:hidden;background:#0b0b0b;cursor:zoom-in;scroll-snap-align:start}.live-gallery-item:before{content:"";position:absolute;inset:9px;border:1px solid rgba(216,173,85,.11);z-index:2;pointer-events:none}.live-gallery-item img{width:100%;height:100%;object-fit:cover;transition:.9s var(--ease)}.live-gallery-item:hover img{transform:scale(1.04)}
.live-lightbox{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;padding:2rem;background:rgba(0,0,0,.9);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:.25s ease}.live-lightbox.open{opacity:1;pointer-events:auto}.live-lightbox-image{max-width:94vw;max-height:86vh;border:1px solid rgba(216,173,85,.28);box-shadow:0 30px 80px rgba(0,0,0,.55)}.live-lightbox-close{position:absolute;right:1.2rem;top:1.2rem;width:48px;height:48px;border-radius:50%;border:1px solid rgba(216,173,85,.28);background:#0b0b0b;color:white;font-size:1.6rem;cursor:pointer}
.live-news{background:linear-gradient(135deg,rgba(135,88,25,.17),transparent),#0b0906}

.show-detail-hero{min-height:76svh;position:relative;display:grid;align-items:end;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}.show-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.show-detail-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,4,4,.94),rgba(4,4,4,.62) 48%,rgba(4,4,4,.18)),linear-gradient(0deg,rgba(4,4,4,.9),transparent 48%)}.show-detail-content{width:min(1450px,calc(100% - clamp(2rem,8vw,9rem)));margin:0 auto;padding:9rem 0 clamp(3.5rem,7vw,6rem)}.show-detail-content h1{max-width:10ch}.show-detail-content>p:not(.eyebrow){max-width:720px;color:rgba(243,236,220,.8);font-size:clamp(1.05rem,1.5vw,1.25rem)}.live-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold2);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:700;margin-bottom:2rem}.live-back.inline{margin:0}.show-detail-intro{background:#090807}.show-detail-lead{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,3rem);line-height:1.03;color:var(--paper)!important}.show-expect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.show-expect-grid>div{padding:1.3rem;border:1px solid rgba(216,173,85,.18);background:rgba(255,255,255,.015)}.show-expect-grid span{color:var(--gold2);font-family:var(--serif);font-size:1.2rem}.show-expect-grid strong{display:block;font-family:var(--serif);font-size:1.5rem;text-transform:uppercase;margin:.35rem 0}.show-expect-grid p{margin:0;color:rgba(243,236,220,.68)}
.show-dates-section{background:linear-gradient(180deg,rgba(216,173,85,.05),transparent 25%),#070707}.show-dates-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.show-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.show-date-card{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;min-height:270px;padding:1.3rem;border:1px solid rgba(216,173,85,.2);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005));position:relative}.show-date-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(216,173,85,.1);pointer-events:none}.show-date-stamp{width:75px;text-align:center;border-right:1px solid rgba(216,173,85,.18);padding-right:1rem}.show-date-stamp span,.show-date-stamp small{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.show-date-stamp strong{display:block;font-family:var(--serif);font-size:3.2rem;line-height:.9;margin:.25rem 0}.show-date-info{min-width:0}.show-date-info .eyebrow{margin-bottom:.4rem}.show-date-info h3{font-family:var(--serif);font-size:clamp(1.5rem,2.1vw,2.3rem);line-height:.96;text-transform:uppercase;margin:0 0 .55rem}.show-date-full,.show-date-phone,.show-date-note{display:block;color:rgba(243,236,220,.67);font-size:.8rem;margin-top:.25rem}.show-date-phone{color:var(--gold2);text-decoration:none}.show-date-note{color:rgba(240,207,131,.8)}.show-date-action{grid-column:1 / -1;margin-top:auto;align-self:end}.show-book-btn{width:100%}.show-coming{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(216,173,85,.24);color:rgba(243,236,220,.55);text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.show-detail-note{text-align:center;background:#090807}.show-detail-note p{max-width:760px;margin:1.2rem auto 2rem;color:rgba(243,236,220,.7)}

@media(max-width:1150px){.live-show-grid{grid-template-columns:1fr 1fr}.live-show-card:last-child{grid-column:1 / -1}.live-reviews-grid{grid-template-columns:1fr}.show-date-grid{grid-template-columns:1fr 1fr}.show-expect-grid{grid-template-columns:1fr}.live-gallery-item{flex-basis:min(500px,55vw)}}
@media(max-width:760px){.live-wide-container{width:calc(100% - 2rem)}.live-hero{min-height:78svh}.live-hero-image{object-position:64% 18%}.live-hero-content{width:calc(100% - 2rem);padding:7rem 0 5rem}.live-intro-grid{grid-template-columns:1fr}.live-show-grid{grid-template-columns:1fr}.live-show-card:last-child{grid-column:auto}.live-show-card{aspect-ratio:16/10}.live-reviews-grid{grid-template-columns:1fr}.live-review-track{min-height:390px}.live-review-slide blockquote{font-size:clamp(2rem,10vw,3.2rem)}.live-gallery-head{align-items:flex-start;flex-direction:column}.live-gallery-item{flex-basis:84vw}.show-detail-hero{min-height:66svh}.show-detail-content{width:calc(100% - 2rem);padding:8rem 0 4rem}.show-dates-head{align-items:flex-start;flex-direction:column}.show-date-grid{grid-template-columns:1fr}.show-date-card{min-height:auto}.show-expect-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.live-scroll-cue span:before{animation:none}.live-review-slide,.live-gallery-track{transition:none;scroll-behavior:auto}}


/* =========================================================
   V1.20 — Live page hierarchy and show-page intro refinement
   ========================================================= */

/* Centred, quieter live statement */
.live-intro{padding-block:clamp(3.7rem,6vw,5.4rem);background:linear-gradient(180deg,rgba(216,173,85,.035),transparent 62%),#090807;text-align:center}
.live-intro-centred{max-width:1120px}
.live-centred-statement{font-family:var(--serif);font-size:clamp(1.8rem,2.9vw,2.8rem);line-height:1.08;text-wrap:balance;margin:0 auto 1.2rem;color:var(--paper);max-width:1000px}
.live-intro-note{max-width:760px;margin:0 auto;color:rgba(243,236,220,.68)}

/* Poster art remains clean; titles and details sit below it */
.live-show-grid{align-items:start;gap:clamp(1rem,2vw,1.45rem)}
.live-show-card{display:flex;flex-direction:column;aspect-ratio:auto;overflow:visible;border:0;background:transparent;box-shadow:none;text-decoration:none;isolation:auto}
.live-show-card:before{display:none}
.live-show-image-frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(216,173,85,.21);box-shadow:0 22px 50px rgba(0,0,0,.2)}
.live-show-image-frame:after{content:"";position:absolute;inset:9px;border:1px solid rgba(216,173,85,.12);pointer-events:none}
.live-show-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:auto;transition:.8s var(--ease)}
.live-show-card:hover img{transform:scale(1.025)}
.live-show-copy{position:static;display:block;padding:1rem .15rem 0}
.live-show-copy .eyebrow{margin:0 0 .35rem}
.live-show-copy strong{display:block;font-family:var(--serif);font-size:clamp(1.65rem,2.1vw,2.25rem);line-height:.96;text-transform:uppercase}
.live-show-desc{display:block;margin:.55rem 0 .7rem;color:rgba(243,236,220,.69);font-size:.92rem;line-height:1.55}
.live-show-link{display:block;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;font-weight:700}

/* Compact review chapter; all review content stays inside the framed panel */
.live-reviews-section{padding-block:clamp(3.2rem,5vw,4.7rem);background:linear-gradient(135deg,rgba(84,24,20,.1),transparent 48%),#090706}
.live-reviews-compact{display:grid;grid-template-columns:minmax(230px,.68fr) minmax(0,1.32fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center;max-width:1240px}
.live-reviews-heading h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);line-height:.98;text-transform:uppercase;margin:0 0 .75rem;max-width:10ch}
.live-reviews-heading>p:not(.eyebrow){color:rgba(243,236,220,.65);max-width:360px}
.live-review-slider{padding:1.15rem 1.3rem 1rem;overflow:hidden}
.live-review-track{min-height:190px}
.live-review-slide{padding:.15rem .2rem;justify-content:center}
.live-stars{font-size:.8rem;margin-bottom:.75rem}
.live-review-slide blockquote{font-size:clamp(1.45rem,2.15vw,2.25rem);line-height:1.08;text-transform:none;max-width:32ch}
.live-review-slide cite{margin-top:.85rem}
.live-review-controls{margin-top:.65rem}
.live-review-prev,.live-review-next{width:38px;height:38px}

/* A light, slimmer interlude before the dates on every show page */
.show-detail-intro{padding:clamp(2.8rem,4.5vw,4rem) clamp(1rem,4vw,3rem);background:
  linear-gradient(135deg,rgba(255,255,255,.16),transparent 44%),
  linear-gradient(180deg,#d8cbb4,#cdbb9d);color:#18130e;border-block:1px solid rgba(61,43,20,.22)}
.show-detail-intro-inner{width:min(1180px,100%);margin:auto;text-align:center}
.show-detail-intro .eyebrow{color:#77531f;margin-bottom:.8rem}
.show-detail-lead{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.16;color:#18130e!important;max-width:970px;margin:0 auto 1.6rem;text-wrap:balance}
.show-expect-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:1050px;margin:0 auto}
.show-expect-grid>div{padding:1rem 1.05rem;text-align:left;border:1px solid rgba(50,35,18,.18);background:rgba(255,255,255,.23)}
.show-expect-grid span{color:#77531f;font-size:1rem}
.show-expect-grid strong{font-size:1.15rem;color:#18130e;margin:.25rem 0 .35rem}
.show-expect-grid p{font-size:.86rem;line-height:1.5;color:rgba(24,19,14,.72);margin:0}

@media(max-width:1150px){
  .live-reviews-compact{grid-template-columns:1fr;gap:1.4rem}
  .live-reviews-heading{text-align:center}
  .live-reviews-heading h2,.live-reviews-heading>p:not(.eyebrow){max-width:none;margin-left:auto;margin-right:auto}
}
@media(max-width:760px){
  .live-centred-statement{font-size:clamp(1.55rem,7vw,2.2rem)}
  .live-show-card{aspect-ratio:auto}
  .live-review-track{min-height:245px}
  .live-review-slide blockquote{font-size:clamp(1.35rem,6.5vw,1.9rem)}
  .show-detail-intro{padding:2.6rem 1rem}
  .show-expect-grid{grid-template-columns:1fr}
}


/* =========================================================
   V1.21 — Compact split heroes for individual live-show pages
   ========================================================= */
.show-detail-hero.show-detail-split{
  min-height:auto;
  display:block;
  padding:clamp(7.5rem,9vw,9rem) clamp(1rem,4vw,3rem) clamp(3.2rem,5vw,5rem);
  background:
    radial-gradient(circle at 16% 24%,rgba(216,173,85,.08),transparent 22rem),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 38%),
    #080706;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.show-detail-shell{
  width:min(1500px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:clamp(2rem,4.5vw,5rem);
  align-items:center;
}
.show-detail-image-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#050505;
  border:1px solid rgba(216,173,85,.22);
  box-shadow:0 24px 62px rgba(0,0,0,.32);
}
.show-detail-image-frame:after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(216,173,85,.12);
  pointer-events:none;
}
.show-detail-image-frame img{
  position:static;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
.show-detail-split .show-detail-content{
  width:auto;
  margin:0;
  padding:0;
}
.show-detail-split .show-detail-content h1{
  max-width:10ch;
  margin:0 0 1rem;
  font-size:clamp(2.7rem,4.6vw,5.4rem);
  line-height:.9;
}
.show-detail-split .show-detail-content>p:not(.eyebrow){
  max-width:42rem;
  margin:0;
  color:rgba(243,236,220,.76);
  font-size:clamp(1rem,1.3vw,1.14rem);
  line-height:1.72;
}
.show-detail-split .live-back{margin-bottom:1.5rem}
.show-detail-actions{margin-top:1.6rem}
.show-detail-actions .btn{min-width:150px}

@media(max-width:980px){
  .show-detail-hero.show-detail-split{padding-top:7.6rem}
  .show-detail-shell{grid-template-columns:1fr;gap:2rem}
  .show-detail-image-frame{width:100%}
  .show-detail-split .show-detail-content{max-width:760px}
  .show-detail-split .show-detail-content h1{max-width:none}
}
@media(max-width:760px){
  .show-detail-hero.show-detail-split{padding:6.8rem 1rem 3rem}
  .show-detail-shell{gap:1.5rem}
  .show-detail-split .show-detail-content h1{font-size:clamp(2.7rem,12vw,4.2rem)}
  .show-detail-split .live-back{margin-bottom:1.1rem}
}


/* V1.22 — About page premium redesign */
.about-page .header.inner,.about-page .header.scrolled{background:rgba(6,6,6,.86)}
.about-page .page-hero.about-hero{
  min-height:82svh;
  padding:9.2rem clamp(1rem,4vw,3rem) 4.5rem;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 18% 22%, rgba(216,173,85,.14), transparent 28rem),
    linear-gradient(120deg, rgba(57,21,17,.82), rgba(8,8,8,.18) 44%, rgba(6,6,6,.94) 76%),
    linear-gradient(180deg, #0d0b09, #070707);
  overflow:hidden;
}
.about-page .page-hero.about-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg, rgba(4,4,4,.06) 0 2px, transparent 2px 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 28%),
    radial-gradient(circle at 72% 30%, rgba(216,173,85,.08), transparent 20rem);
  background-size:44px 100%,100% 100%,100% 100%;
  opacity:.75;
}
.about-page .page-hero.about-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode:screen;opacity:.08;
}
.about-hero-inner{width:min(1440px,100%);margin:auto;position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.98fr) minmax(320px,.82fr);gap:clamp(2rem,4vw,6rem);align-items:center}
.about-hero-image{position:relative;justify-self:start;max-width:780px;filter:drop-shadow(0 24px 50px rgba(0,0,0,.48))}
.about-hero-image img{width:100%;max-height:72svh;object-fit:contain;object-position:left bottom}
.about-hero-copy{justify-self:end;max-width:560px;padding:clamp(1.1rem,2.4vw,2rem);background:linear-gradient(180deg,rgba(12,10,8,.72),rgba(8,8,8,.46));border:1px solid rgba(216,173,85,.16);backdrop-filter:blur(6px);box-shadow:0 22px 48px rgba(0,0,0,.22)}
.about-hero-copy:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.1);pointer-events:none}
.about-hero-copy{position:relative}
.about-hero-copy .display{font-size:clamp(3.4rem,7vw,7rem);margin-bottom:1rem}
.about-hero-copy p{font-size:clamp(1.02rem,1.55vw,1.14rem);color:rgba(243,236,220,.78);max-width:46ch}
.about-hero-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}
.about-chip{display:inline-flex;align-items:center;min-height:38px;padding:.55rem .9rem;border:1px solid rgba(216,173,85,.18);background:rgba(8,8,8,.44);text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;color:var(--gold2)}
.about-intro-section{padding-top:5.4rem;padding-bottom:5.4rem;background:linear-gradient(180deg,rgba(48,20,16,.9),rgba(20,14,12,.92));overflow:hidden}
.about-intro-section .container{width:min(1120px,100%);position:relative;z-index:1}
.about-intro-wrap{border:1px solid rgba(216,173,85,.18);padding:clamp(1.4rem,3vw,2.1rem);background:linear-gradient(180deg,rgba(11,10,8,.32),rgba(11,10,8,.18));box-shadow:0 22px 56px rgba(0,0,0,.18)}
.about-intro-wrap:before{content:"";position:absolute;inset:12px;border:1px solid rgba(216,173,85,.1);pointer-events:none}
.about-intro-wrap{position:relative}
.about-intro-heading{max-width:860px;margin:0 auto 2rem;text-align:center}
.about-intro-heading h2{margin:.3rem 0 1rem}
.about-intro-grid{display:grid;gap:1rem}
.about-affirmation{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.4rem);line-height:1.08;text-align:center;margin:0;padding:1rem 1rem;border-top:1px solid rgba(216,173,85,.12);color:var(--paper)}
.about-affirmation:first-child{border-top:0;padding-top:.2rem}
.about-story-section{padding-top:6rem;padding-bottom:6rem;background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(12,12,11,.98))}
.about-story-head{text-align:center;max-width:920px;margin:0 auto clamp(2.5rem,5vw,4rem)}
.about-story-list{display:grid;gap:1.5rem}
.story-row{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(300px,1.1fr);gap:clamp(1.25rem,3vw,2rem);align-items:center;padding:clamp(1rem,2vw,1.35rem);border:1px solid rgba(216,173,85,.16);background:linear-gradient(180deg,rgba(13,12,11,.88),rgba(9,9,9,.72));box-shadow:0 18px 44px rgba(0,0,0,.16)}
.story-row:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.08);pointer-events:none}
.story-row{position:relative}
.story-row.reverse{grid-template-columns:minmax(300px,1.1fr) minmax(290px,.9fr)}
.story-row.reverse .story-media{order:2}
.story-media{position:relative;overflow:hidden;border:1px solid rgba(216,173,85,.18);background:#0a0a0a;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.story-media:after{content:"View image ↗";position:absolute;left:1rem;bottom:1rem;z-index:2;padding:.45rem .75rem;background:rgba(8,8,8,.74);border:1px solid rgba(216,173,85,.18);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);opacity:0;transform:translateY(8px);transition:.25s var(--ease)}
.story-media:hover:after{opacity:1;transform:none}
.story-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s var(--ease)}
.story-media:hover img{transform:scale(1.03)}
.story-copy{max-width:680px}
.story-copy h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2rem,3.3vw,3.25rem);line-height:.96;margin:.25rem 0 .85rem}
.story-copy p{margin:.8rem 0;color:rgba(243,236,220,.76);font-size:1.03rem}
.story-copy .eyebrow{margin-bottom:.6rem}
.story-callout{font-family:var(--serif);font-size:clamp(1.22rem,2vw,1.62rem);line-height:1.12;color:var(--paper);margin:0 0 1rem}
.about-charity-section{padding-top:5.8rem;padding-bottom:6.2rem;background:linear-gradient(180deg,rgba(31,16,13,.96),rgba(11,10,9,.98))}
.about-charity-shell{border:1px solid rgba(216,173,85,.16);padding:clamp(1.4rem,3vw,2rem);background:linear-gradient(180deg,rgba(14,12,11,.78),rgba(8,8,8,.72));position:relative;box-shadow:0 20px 46px rgba(0,0,0,.18)}
.about-charity-shell:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.08);pointer-events:none}
.about-charity-head{text-align:center;max-width:920px;margin:0 auto 2rem;position:relative;z-index:1}
.about-charity-head .display{margin-bottom:1rem}
.about-charity-head p{max-width:760px;margin:0 auto;color:rgba(243,236,220,.76);font-size:1.03rem}
.logo-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;position:relative;z-index:1}
.logo-card{display:flex;align-items:center;justify-content:center;min-height:126px;padding:1rem;border:1px solid rgba(216,173,85,.16);background:rgba(7,7,7,.58);text-decoration:none;transition:transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease)}
.logo-card:hover{transform:translateY(-2px);border-color:rgba(216,173,85,.34);background:rgba(11,10,9,.78)}
.logo-card span{display:block;width:100%;height:70px;background-position:center;background-repeat:no-repeat;background-size:contain;filter:brightness(.98) saturate(.96)}
.about-cta-section{padding-top:4.8rem;padding-bottom:5.4rem;background:linear-gradient(180deg,rgba(8,8,8,.98),rgba(6,6,6,.98))}
.about-cta-box{max-width:820px;margin:auto;text-align:center;border:1px solid rgba(216,173,85,.16);padding:clamp(1.5rem,3vw,2rem);background:linear-gradient(180deg,rgba(12,11,10,.76),rgba(8,8,8,.66));position:relative}
.about-cta-box:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.08);pointer-events:none}
.about-cta-box p{max-width:620px;margin:1rem auto 0;color:rgba(243,236,220,.74)}
.about-cta-actions{display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap;margin-top:1.5rem}
.about-page .section-decor.texture-about-brass .section-texture,
.about-page .about-intro-section .section-texture{background:
  linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 100%),
  linear-gradient(180deg, rgba(255,255,255,.04), transparent 34%),
  radial-gradient(circle at 18% 18%, rgba(216,173,85,.12), transparent 22rem),
  radial-gradient(circle at 76% 70%, rgba(110,31,25,.18), transparent 20rem);
  background-size:52px 100%,100% 100%,100% 100%,100% 100%;
}
.about-page .about-story-section .section-texture{background:
  linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 100%),
  linear-gradient(180deg, rgba(255,255,255,.02) 0 1px, transparent 1px 100%),
  radial-gradient(circle at 74% 22%, rgba(216,173,85,.09), transparent 18rem);
  background-size:44px 100%,100% 44px,100% 100%;
}
.about-page .about-charity-section .section-texture{background:
  linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 100%),
  linear-gradient(180deg, rgba(255,255,255,.03), transparent 30%),
  radial-gradient(circle at 24% 22%, rgba(110,31,25,.22), transparent 18rem),
  radial-gradient(circle at 82% 74%, rgba(216,173,85,.08), transparent 20rem);
  background-size:48px 100%,100% 100%,100% 100%,100% 100%;
}
@media(max-width:1120px){
  .about-hero-inner{grid-template-columns:1fr;gap:1.25rem}
  .about-hero-image{max-width:680px;justify-self:center}
  .about-hero-copy{justify-self:center;max-width:760px}
  .story-row,.story-row.reverse{grid-template-columns:1fr}
  .story-row.reverse .story-media{order:0}
  .logo-row{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .about-page .page-hero.about-hero{padding-top:7.8rem;padding-bottom:3rem}
  .about-hero-image img{max-height:48svh}
  .about-hero-copy .display{font-size:clamp(2.8rem,14vw,4.7rem)}
  .about-affirmation{font-size:clamp(1.3rem,8vw,1.9rem);text-align:left}
  .about-intro-heading,.about-story-head,.about-charity-head,.about-cta-box{text-align:left}
  .about-charity-head p,.about-cta-box p{margin-left:0}
  .logo-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .logo-row{grid-template-columns:1fr}
  .about-hero-meta{gap:.45rem}
  .about-chip{width:100%;justify-content:center}
}


/* V1.23 — About page refinement */
.about-page .page-hero.about-hero{
  min-height: clamp(600px, 76svh, 920px);
  padding: 8.75rem clamp(1rem,3.2vw,2.5rem) 4.25rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(170,76,36,.28), transparent 26rem),
    radial-gradient(circle at 72% 24%, rgba(216,173,85,.08), transparent 24rem),
    linear-gradient(90deg, rgba(27,12,10,.92) 0%, rgba(10,10,10,.84) 46%, rgba(7,7,7,.94) 100%);
}
.about-hero-inner{
  width:min(1600px, 100%);
  min-height: clamp(500px, 62svh, 760px);
  margin:auto;
  display:block;
  position:relative;
}
.about-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  max-width:none;
  filter: drop-shadow(0 26px 48px rgba(0,0,0,.44));
}
.about-hero-image img{
  width:min(1200px, 78vw);
  max-width:none;
  max-height:100%;
  height:100%;
  object-fit:contain;
  object-position:left bottom;
}
.about-hero-copy{
  position:relative;
  z-index:1;
  margin-left:auto;
  margin-right:clamp(.25rem, 1.8vw, 1.5rem);
  width:min(100%, 560px);
  max-width:560px;
  padding:clamp(1rem,2vw,1.5rem);
  background:linear-gradient(180deg, rgba(10,9,8,.54), rgba(10,9,8,.36));
  border:1px solid rgba(216,173,85,.16);
  backdrop-filter: blur(4px);
  box-shadow:0 24px 50px rgba(0,0,0,.16);
}
.about-hero-copy:before{inset:8px;border-color:rgba(216,173,85,.08)}
.about-hero-copy .eyebrow{margin-bottom:.75rem}
.about-hero-copy .display{
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  line-height: .92;
  max-width: 8.4ch;
  margin-bottom: .85rem;
  word-break: normal;
}
.about-hero-copy p{
  font-size: clamp(.99rem, 1.18vw, 1.1rem);
  line-height: 1.65;
  max-width: 34ch;
}
.about-hero-meta{gap:.55rem;margin-top:1.1rem}
.about-chip{min-height:36px;padding:.5rem .8rem;font-size:.58rem;letter-spacing:.15em;background:rgba(7,7,7,.34)}

.about-intro-section{padding-top:4.8rem;padding-bottom:4.8rem}
.about-intro-section .container{width:min(1320px,100%)}
.about-intro-wrap{padding:clamp(1.3rem,2.4vw,1.8rem);background:linear-gradient(180deg, rgba(17,11,10,.22), rgba(17,11,10,.12));}
.about-intro-wrap:before{inset:14px}
.about-intro-heading{max-width:980px;margin:0 auto 1.5rem}
.about-intro-heading .display.md{font-size:clamp(2.3rem,4.2vw,4.35rem);line-height:.98;margin-bottom:.7rem}
.about-intro-grid{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}
.about-affirmation{
  font-size:clamp(1.18rem,1.65vw,1.72rem);
  line-height:1.18;
  text-align:left;
  padding:1.35rem 1.5rem;
  border-top:1px solid rgba(216,173,85,.1);
}
.about-affirmation:nth-child(2n){border-left:1px solid rgba(216,173,85,.1)}
.about-affirmation:first-child,
.about-affirmation:nth-child(2){border-top:0}

@media (max-width: 1120px){
  .about-page .page-hero.about-hero{padding-top:7.9rem;padding-bottom:3.75rem}
  .about-hero-inner{min-height:auto;display:grid;grid-template-columns:1fr;gap:1.4rem}
  .about-hero-image{position:relative;min-height:380px;justify-content:center;align-items:flex-end}
  .about-hero-image img{width:min(860px, 100%);height:auto;max-height:62svh;object-position:center bottom}
  .about-hero-copy{margin:0 auto;max-width:760px;width:min(100%,760px)}
  .about-hero-copy .display{max-width:none}
}

@media (max-width: 900px){
  .about-intro-grid{grid-template-columns:1fr}
  .about-affirmation:nth-child(2n){border-left:0}
  .about-affirmation:nth-child(2){border-top:1px solid rgba(216,173,85,.1)}
}

@media (max-width: 760px){
  .about-page .page-hero.about-hero{padding-top:7.4rem;padding-bottom:3rem}
  .about-hero-image{min-height:280px}
  .about-hero-copy{padding:1rem}
  .about-hero-copy .display{font-size:clamp(2.5rem,12vw,4.2rem);line-height:.94}
  .about-hero-copy p{max-width:none}
  .about-affirmation{font-size:clamp(1.08rem,5vw,1.32rem);padding:1.1rem 1rem}
  .about-intro-heading{margin-bottom:1rem}
  .about-intro-heading .display.md{font-size:clamp(2rem,9vw,3rem)}
}


/* V1.24 — About hero full-screen banner + conversational introduction */
.about-page .page-hero.about-hero{
  position:relative;
  min-height:88svh;
  padding:0;
  display:block;
  overflow:hidden;
  background:#080706;
  border-bottom:1px solid rgba(216,173,85,.16);
}
.about-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}
.about-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(4,4,4,.08) 0%,rgba(4,4,4,.05) 44%,rgba(4,4,4,.38) 64%,rgba(4,4,4,.76) 100%),
    linear-gradient(0deg,rgba(4,4,4,.5),transparent 34%,rgba(4,4,4,.08));
  pointer-events:none;
}
.about-hero-inner{
  position:relative;
  z-index:2;
  width:min(1580px,100%);
  min-height:88svh;
  margin:auto;
  padding:8.5rem clamp(1rem,4vw,3rem) 4rem;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.about-hero-copy{
  width:min(560px,42vw);
  max-width:560px;
  margin:0;
  padding:clamp(1.15rem,2vw,1.65rem);
  background:linear-gradient(180deg,rgba(8,7,6,.48),rgba(8,7,6,.3));
  border:1px solid rgba(216,173,85,.18);
  backdrop-filter:blur(4px);
  box-shadow:0 26px 58px rgba(0,0,0,.2);
}
.about-hero-copy:before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(216,173,85,.08);
  pointer-events:none;
}
.about-hero-copy .display{
  max-width:8.6ch;
  margin:0 0 .9rem;
  font-size:clamp(2.9rem,4.8vw,5.1rem);
  line-height:.91;
}
.about-hero-copy p{
  max-width:36ch;
  margin:.8rem 0 0;
  font-size:clamp(.98rem,1.2vw,1.08rem);
  line-height:1.62;
  color:rgba(243,236,220,.82);
}
.about-hero-meta{gap:.5rem;margin-top:1.15rem}
.about-chip{
  min-height:34px;
  padding:.45rem .72rem;
  background:rgba(5,5,5,.28);
  font-size:.56rem;
  letter-spacing:.14em;
}

.about-intro-section{
  padding-top:clamp(4rem,7vw,6.5rem);
  padding-bottom:clamp(4rem,7vw,6.5rem);
  background:
    linear-gradient(180deg,rgba(61,25,18,.92),rgba(24,15,13,.96)),
    #1a100e;
}
.about-intro-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 100%),
    radial-gradient(circle at 18% 26%,rgba(216,173,85,.08),transparent 22rem),
    radial-gradient(circle at 82% 72%,rgba(110,31,25,.16),transparent 20rem);
  background-size:48px 100%,100% 100%,100% 100%;
  opacity:.8;
}
.about-conversation{
  position:relative;
  z-index:1;
  width:min(1320px,100%);
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:clamp(2rem,5vw,6rem);
  align-items:center;
}
.about-conversation-heading{
  padding-right:clamp(0rem,2vw,2rem);
  border-right:1px solid rgba(216,173,85,.16);
}
.about-conversation-heading .display{
  font-size:clamp(2.55rem,4.5vw,4.9rem);
  line-height:.96;
  margin:.2rem 0 0;
}
.about-conversation-copy{
  max-width:760px;
}
.about-conversation-copy p{
  margin:0 0 1.2rem;
  color:rgba(243,236,220,.76);
  font-size:clamp(1rem,1.25vw,1.12rem);
  line-height:1.75;
}
.about-conversation-copy p:last-child{margin-bottom:0}
.about-conversation-copy .conversation-lead{
  font-family:var(--serif);
  color:var(--paper);
  font-size:clamp(1.45rem,2.2vw,2.05rem);
  line-height:1.18;
}

@media(max-width:1100px){
  .about-page .page-hero.about-hero{min-height:780px}
  .about-hero-inner{min-height:780px;align-items:flex-end;padding-bottom:3rem}
  .about-hero-bg{object-position:38% center}
  .about-hero-shade{background:linear-gradient(0deg,rgba(4,4,4,.84) 0%,rgba(4,4,4,.48) 42%,rgba(4,4,4,.08) 72%)}
  .about-hero-copy{width:min(720px,94vw);max-width:720px;margin:0 auto}
  .about-hero-copy .display{max-width:none}
  .about-conversation{grid-template-columns:1fr;gap:1.6rem}
  .about-conversation-heading{border-right:0;border-bottom:1px solid rgba(216,173,85,.16);padding:0 0 1.4rem}
}
@media(max-width:760px){
  .about-page .page-hero.about-hero{min-height:720px}
  .about-hero-inner{min-height:720px;padding:7rem 1rem 2rem}
  .about-hero-bg{object-position:32% center}
  .about-hero-copy{padding:1rem}
  .about-hero-copy .display{font-size:clamp(2.6rem,12vw,4.15rem);line-height:.93}
  .about-hero-copy p{max-width:none;font-size:.96rem}
  .about-hero-meta{display:none}
  .about-conversation-heading .display{font-size:clamp(2.2rem,10vw,3.4rem)}
  .about-conversation-copy .conversation-lead{font-size:clamp(1.25rem,6.2vw,1.65rem)}
}


/* =========================================================
   V1.26 — BGT Journey rebuild
   ========================================================= */
.bgt-page{background:#070707}
.bgt-wide-container{width:min(1480px,100%)}
.bgt-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid rgba(216,173,85,.18);background:#080706}
.bgt-hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 34%}
.bgt-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.92),rgba(4,4,4,.58) 42%,rgba(4,4,4,.18) 72%),linear-gradient(0deg,rgba(4,4,4,.9),transparent 56%,rgba(4,4,4,.2));z-index:1}
.bgt-hero-inner{position:relative;z-index:2;width:min(1480px,calc(100% - 2rem));margin:0 auto;padding:9rem 0 clamp(3.5rem,7vw,6rem);max-width:1480px}
.bgt-hero-inner .display{max-width:10ch;font-size:clamp(4rem,8vw,8rem)}
.bgt-hero-inner>p:not(.eyebrow){max-width:660px;color:rgba(243,236,220,.8);font-size:clamp(1.02rem,1.5vw,1.22rem)}
.bgt-hero-actions,.bgt-final-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.bgt-hero-actions button{cursor:pointer}
.bgt-section-heading{max-width:940px;margin-bottom:clamp(2rem,4vw,3.5rem)}
.bgt-section-heading>p:last-child,.bgt-after-heading>p:last-child{max-width:780px;color:rgba(243,236,220,.72)}
.bgt-featured-video-section{background:linear-gradient(180deg,rgba(30,45,70,.16),transparent 34%),#08090b}
.bgt-featured-videos{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.bgt-video-card{border:1px solid rgba(216,173,85,.18);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));padding:10px;position:relative}
.bgt-video-card:before{content:"";position:absolute;inset:19px;border:1px solid rgba(216,173,85,.08);pointer-events:none;z-index:3}
.bgt-video-image{position:relative;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;overflow:hidden;cursor:pointer}
.bgt-video-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bgt-video-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.48),rgba(0,0,0,.04))}
.bgt-video-image:hover img{transform:scale(1.025)}
.bgt-video-copy{padding:1rem .45rem .45rem}
.bgt-video-copy>span,.bgt-mini-video>div>span{color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:.61rem}
.bgt-video-copy h3,.bgt-mini-video h3{font-family:var(--serif);text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem);line-height:.94;margin:.25rem 0 .45rem}
.bgt-video-copy p{margin:0;color:rgba(243,236,220,.68)}
.bgt-origin-section{background:linear-gradient(180deg,rgba(108,35,29,.15),transparent 30%),#0b0808}
.bgt-origin-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(2rem,5vw,5.5rem);align-items:center}
.bgt-origin-copy .display{font-size:clamp(3rem,5.4vw,5.7rem)}
.bgt-origin-copy>p:not(.eyebrow){color:rgba(243,236,220,.74);max-width:680px}
.bgt-origin-copy .bgt-lead{font-family:var(--serif);font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1.08;color:var(--paper);max-width:19ch}
.bgt-origin-images{position:relative;min-height:590px}
.bgt-story-image{position:absolute;padding:7px 7px 22px;border:1px solid rgba(255,255,255,.34);background:#eee3d0;box-shadow:0 24px 62px rgba(0,0,0,.48);cursor:zoom-in;overflow:hidden}
.bgt-story-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bgt-story-image:hover img{transform:scale(1.025)}
.bgt-story-image-large{left:0;top:0;width:75%;aspect-ratio:4/3;transform:rotate(-3deg)}
.bgt-story-image-small{right:0;bottom:0;width:49%;aspect-ratio:4/3;transform:rotate(4deg)}
.bgt-after-section{background:linear-gradient(180deg,rgba(145,95,30,.12),transparent 28%),#0a0907}
.bgt-after-heading{text-align:center;max-width:980px;margin:0 auto clamp(2.5rem,5vw,4rem)}
.bgt-after-heading>p:last-child{margin-left:auto;margin-right:auto}
.bgt-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.bgt-after-card{position:relative;padding:clamp(1.5rem,2.6vw,2.1rem);border:1px solid rgba(216,173,85,.18);background:linear-gradient(180deg,rgba(15,13,10,.78),rgba(8,8,8,.68));box-shadow:0 18px 44px rgba(0,0,0,.15)}
.bgt-after-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.08);pointer-events:none}
.bgt-after-year{color:var(--gold2);font-family:var(--serif);font-size:1.3rem}
.bgt-after-card h3{font-family:var(--serif);text-transform:uppercase;font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:.95;margin:.55rem 0 1rem}
.bgt-after-card p{color:rgba(243,236,220,.7)}
.bgt-royal-section{background:linear-gradient(180deg,rgba(83,27,45,.13),transparent 30%),#090708}
.bgt-royal-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.bgt-royal-row button{position:relative;padding:0;border:1px solid rgba(216,173,85,.17);background:#090909;aspect-ratio:16/10;overflow:hidden;cursor:zoom-in;text-align:left}
.bgt-royal-row img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.bgt-royal-row button:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 52%)}
.bgt-royal-row button:hover img{transform:scale(1.03)}
.bgt-royal-row span{position:absolute;left:1rem;bottom:.9rem;z-index:2;color:var(--paper);font-family:var(--serif);font-size:1.55rem;text-transform:uppercase}
.bgt-video-rail-section{background:linear-gradient(180deg,rgba(30,49,73,.12),transparent 32%),#07090b}
.bgt-gallery-section{background:linear-gradient(180deg,rgba(109,65,23,.12),transparent 30%),#090807}
.bgt-rail-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.6rem}
.bgt-rail-top>div:first-child{max-width:900px}.bgt-rail-top p:last-child{color:rgba(243,236,220,.7)}
.bgt-rail-controls{display:flex;gap:.6rem;flex:0 0 auto}
.bgt-rail-controls button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(216,173,85,.26);background:rgba(8,8,8,.62);color:var(--paper);cursor:pointer}
.bgt-video-rail,.bgt-image-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.35rem;scroll-behavior:smooth}
.bgt-video-rail::-webkit-scrollbar,.bgt-image-rail::-webkit-scrollbar{display:none}
.bgt-mini-video{flex:0 0 min(360px,72vw);scroll-snap-align:start;border:1px solid rgba(216,173,85,.16);background:rgba(8,8,8,.62);padding:8px}
.bgt-mini-video>button{position:relative;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;overflow:hidden;cursor:pointer}
.bgt-mini-video img{width:100%;height:100%;object-fit:cover}
.bgt-mini-video>div{padding:.8rem .35rem .3rem}.bgt-mini-video h3{font-size:1.7rem;margin-top:.2rem}
.bgt-play-small{width:54px;height:54px}.bgt-play-small:before{left:23px;top:19px;border-left-width:11px;border-block-width:8px}
.bgt-image-rail button{flex:0 0 min(340px,72vw);aspect-ratio:16/10;padding:0;border:1px solid rgba(216,173,85,.16);background:#080808;overflow:hidden;cursor:zoom-in;scroll-snap-align:start}
.bgt-image-rail img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.bgt-image-rail button:hover img{transform:scale(1.03)}
.bgt-final-section{text-align:center;background:linear-gradient(180deg,rgba(216,173,85,.05),transparent 55%),#080706}
.bgt-final-section .container{max-width:900px}.bgt-final-section p{max-width:650px;margin:1rem auto 0;color:rgba(243,236,220,.72)}
.bgt-final-actions{justify-content:center}
.bgt-lightbox{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;padding:2rem;background:rgba(3,3,3,.92);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
.bgt-lightbox.open{opacity:1;pointer-events:auto}
.bgt-lightbox-image{max-width:min(1400px,93vw);max-height:88vh;border:1px solid rgba(216,173,85,.24);box-shadow:0 26px 70px rgba(0,0,0,.48);background:#090909}
.bgt-lightbox-close{position:absolute;right:1.2rem;top:1.2rem;width:46px;height:46px;border-radius:50%;border:1px solid rgba(216,173,85,.25);background:#0a0a0a;color:white;font-size:1.65rem;cursor:pointer}
@media(max-width:1050px){.bgt-origin-grid{grid-template-columns:1fr}.bgt-origin-images{min-height:540px;max-width:820px;width:100%;margin:auto}.bgt-after-grid{grid-template-columns:1fr 1fr}.bgt-after-card:last-child{grid-column:1/-1}.bgt-hero-bg{object-position:center 30%}}
@media(max-width:760px){.bgt-hero{min-height:740px}.bgt-hero-bg{object-position:58% center}.bgt-hero-shade{background:linear-gradient(0deg,rgba(4,4,4,.95),rgba(4,4,4,.28) 65%,rgba(4,4,4,.1))}.bgt-hero-inner{padding:7rem 1rem 3rem;width:100%;align-self:end}.bgt-hero-inner .display{font-size:clamp(3.2rem,15vw,5.2rem)}.bgt-hero-actions .btn{width:100%}.bgt-featured-videos,.bgt-after-grid,.bgt-royal-row{grid-template-columns:1fr}.bgt-after-card:last-child{grid-column:auto}.bgt-origin-images{min-height:410px}.bgt-story-image-large{width:82%}.bgt-story-image-small{width:56%}.bgt-rail-top{align-items:flex-start}.bgt-rail-top .display{font-size:clamp(2.5rem,10vw,4.2rem)}.bgt-royal-row button{aspect-ratio:16/10}}
@media(max-width:520px){.bgt-origin-images{min-height:340px}.bgt-story-image{padding:5px 5px 17px}.bgt-mini-video{flex-basis:86vw}.bgt-image-rail button{flex-basis:86vw}}


/* V1.27 — BGT hero image and small supplied BGT mark */
.bgt-mini-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  margin:0 0 .8rem;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.42));
}
@media(max-width:760px){
  .bgt-mini-logo{margin-bottom:.65rem}
}


@media(max-width:1280px){.links{gap:clamp(.55rem,1.1vw,1rem)}.links a{font-size:.66rem}}

/* =========================================================
   V1.33 — Full mobile optimisation and horizontal stability
   ========================================================= */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  overscroll-behavior-x:none;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  overscroll-behavior-x:none;
}
main,.header,.footer{max-width:100%;overflow-x:clip}
img,video,iframe,svg{max-width:100%}
.container,.live-wide-container,.bgt-wide-container,.show-detail-shell,.about-hero-inner,.exp-jump-inner{min-width:0;max-width:100%}

@supports not (overflow:clip){
  html,body,main,.header,.footer{overflow-x:hidden}
}

@media(max-width:820px){
  /* Prevent lateral page movement and turn sideways entrance animations into
     calmer vertical reveals on touch devices. */
  html,body{overflow-x:clip;overscroll-behavior-inline:none}
  body{position:relative}
  main>section,.section,.page-hero,.exp-chapter,.show-detail-hero,.live-hero,.bgt-hero{max-width:100%;overflow-x:clip}
  .textured-section{overflow:hidden}
  .section-decor{inset:0;overflow:hidden;contain:paint;clip-path:inset(0)}
  .section-texture{
    inset-block:-7%;
    inset-inline:0;
    width:100%;
    transform:translate3d(0,0,0) scaleY(1.08)!important;
    will-change:auto;
  }
  .bg-pip{
    transform:rotate(var(--pip-rotation))!important;
    will-change:auto;
  }
  .left,.right,.reveal{
    transform:translateY(18px)!important;
  }
  .left.in,.right.in,.reveal.in{transform:none!important}
  .journey-ready .journey-section{transform:translateY(5px);filter:none}
  .journey-ready .journey-section.is-journey-active{transform:none}

  .container,.live-wide-container,.bgt-wide-container,.show-detail-shell{
    width:100%;
    min-width:0;
  }
  .section{padding-inline:1rem}
  .display,h1,h2,h3,p,a,strong,span{max-width:100%}
  .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.3}
  .detail a,.foot a{overflow-wrap:anywhere;word-break:break-word}

  /* Mobile navigation remains entirely inside the viewport. */
  .links{
    inset:68px 1rem auto!important;
    width:calc(100% - 2rem);
    max-width:calc(100% - 2rem);
    max-height:calc(100dvh - 84px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
  }

  /* Contained horizontal galleries can still use their arrow controls, but
     vertical swipes over them continue to move the page naturally. */
  .video-slider-track,.live-gallery-track,.bgt-video-rail,.bgt-image-rail{
    max-width:100%;
    overscroll-behavior-inline:contain;
    touch-action:pan-y pinch-zoom;
  }

  /* ABOUT — keep Richard's face, which sits on the left of the source image,
     firmly in the mobile crop. */
  .about-page .page-hero.about-hero{
    min-height:760px;
  }
  .about-hero-bg{
    object-position:8% center!important;
    transform:none!important;
  }
  .about-hero-shade{
    background:
      linear-gradient(0deg,rgba(4,4,4,.93) 0%,rgba(4,4,4,.54) 39%,rgba(4,4,4,.07) 72%),
      linear-gradient(90deg,rgba(4,4,4,.02),rgba(4,4,4,.12));
  }
  .about-hero-inner{
    min-height:760px;
    padding:6.2rem 1rem 1.35rem;
    align-items:flex-end;
  }
  .about-hero-copy{
    width:100%;
    max-width:none;
    margin:0;
    padding:.95rem;
    background:linear-gradient(180deg,rgba(7,7,7,.62),rgba(7,7,7,.48));
  }
  .about-hero-copy .display{
    font-size:clamp(2.45rem,11.5vw,3.9rem);
    line-height:.94;
  }
  .about-hero-copy p{font-size:.92rem;line-height:1.55}

  /* LIVE — place the complete content group at the foot of the hero so more
     of Richard remains visible above it. */
  .live-hero{
    min-height:780px;
    align-items:end;
  }
  .live-hero-image{
    object-position:64% 12%;
    transform:none;
  }
  .live-hero-overlay{
    background:
      linear-gradient(0deg,rgba(4,4,4,.97) 0%,rgba(4,4,4,.72) 34%,rgba(4,4,4,.17) 63%,rgba(4,4,4,.04) 100%),
      linear-gradient(90deg,rgba(4,4,4,.18),rgba(4,4,4,.03));
  }
  .live-hero-content{
    width:calc(100% - 2rem);
    padding:0 0 1.25rem;
    align-self:end;
  }
  .live-hero-content h1{
    max-width:9ch;
    margin-bottom:.7rem;
    font-size:clamp(2.75rem,12.5vw,4rem);
    line-height:.9;
  }
  .live-hero-content>p:not(.eyebrow){font-size:.92rem;line-height:1.5;margin:.55rem 0 1rem}
  .live-hero-content .actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
  .live-hero-content .actions .btn{min-height:46px;padding:.7rem .55rem;font-size:.58rem;letter-spacing:.105em}
  .live-scroll-cue{display:none}

  /* EXPERIENCES LANDING — lower, more compact copy so the hero photograph is
     the first thing visitors see. */
  .experiences-page .page-hero.experiences-landing{
    min-height:760px;
    padding:0 1rem 1.35rem;
    display:grid;
    align-items:end;
    background:
      linear-gradient(0deg,rgba(8,7,6,.97) 0%,rgba(8,7,6,.68) 34%,rgba(8,7,6,.16) 66%,rgba(8,7,6,.04) 100%),
      radial-gradient(circle at 18% 14%,rgba(216,173,85,.07),transparent 20rem),
      url("https://static.wixstatic.com/media/a0440f_54ea5ba169b94bdc9b7978484f886946~mv2.jpeg") 62% center / cover no-repeat,
      #080706;
  }
  .experiences-page .page-hero.experiences-landing:before{opacity:.3}
  .experiences-page .page-hero.experiences-landing .container{width:100%}
  .experiences-page .page-hero.experiences-landing h1{
    max-width:10ch;
    margin-bottom:.7rem;
    font-size:clamp(2.8rem,12vw,4rem);
    line-height:.91;
  }
  .experiences-page .hero-lead{font-size:.91rem;line-height:1.52;margin:0;max-width:38rem}

  /* Exactly two compact, evenly centred rows in the sticky Explore selector. */
  .experiences-page .section-slim{
    top:67px;
    padding:.55rem .65rem;
  }
  .experiences-page .exp-jump-inner{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:.38rem;
    width:100%;
  }
  .experiences-page .jump-label{display:none}
  .experiences-page .exp-jump a{
    min-height:40px;
    padding:.45rem .22rem;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:.52rem;
    line-height:1.25;
    letter-spacing:.075em;
  }
  .experiences-page .exp-jump a:nth-of-type(1),
  .experiences-page .exp-jump a:nth-of-type(2),
  .experiences-page .exp-jump a:nth-of-type(3){grid-column:span 2}
  .experiences-page .exp-jump a:nth-of-type(4){grid-column:2 / span 2}
  .experiences-page .exp-jump a:nth-of-type(5){grid-column:4 / span 2}

  .exp-banner{min-height:540px}
  .exp-banner-copy{width:calc(100% - 2rem);padding-bottom:1.25rem}
  .exp-banner-copy h2{font-size:clamp(2.7rem,11.5vw,4rem);line-height:.91}
  .exp-banner-intro{font-size:.92rem;line-height:1.5;margin-top:.65rem}
  .exp-copy,.exp-side,.feature-card{min-width:0;padding:1.15rem}
  .exp-standfirst{font-size:clamp(1.35rem,6vw,1.8rem);max-width:none}

  /* Mobile experience galleries become a stable two-column grid. This removes
     the black horizontal gap and decorative vertical lines beneath Private
     Events while retaining expandable 16:9 images. */
  .exp-gallery.gallery-uniform,
  .exp-gallery.gallery-uniform.five-up{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.65rem!important;
    overflow:visible!important;
    padding:0!important;
    margin-top:.85rem;
  }
  .exp-gallery.gallery-uniform .shot{
    width:auto!important;
    min-width:0!important;
    flex:none!important;
    aspect-ratio:16/9;
    margin:0;
  }
  .exp-gallery.gallery-uniform .shot:before{display:none}
  #private .exp-body:before{display:none!important}
  #private .exp-gallery{margin-top:.7rem}
  #private .exp-gallery .shot:last-child{grid-column:1 / -1}

  /* BGT — the performance photograph is now a clean 16:9 image first, with
     all hero text placed below it rather than covering Richard. */
  .bgt-hero{
    min-height:0;
    display:block;
    padding-top:68px;
    background:#080706;
    overflow:hidden;
  }
  .bgt-hero-bg{
    position:relative;
    inset:auto;
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
    object-position:center 28%;
  }
  .bgt-hero-shade{
    top:68px;
    bottom:auto;
    height:calc(100vw * .5625);
    background:linear-gradient(0deg,rgba(4,4,4,.26),transparent 46%);
    pointer-events:none;
  }
  .bgt-hero-inner{
    width:100%;
    max-width:none;
    margin:0;
    padding:1.25rem 1rem 2.1rem;
    background:
      linear-gradient(180deg,rgba(31,18,14,.46),rgba(8,7,6,.98) 34%),
      #080706;
  }
  .bgt-mini-logo{margin-bottom:.5rem}
  .bgt-hero-inner .display{
    max-width:10ch;
    font-size:clamp(2.65rem,12.5vw,4rem);
    line-height:.91;
  }
  .bgt-hero-inner>p:not(.eyebrow){font-size:.92rem;line-height:1.55}
  .bgt-hero-actions{gap:.55rem;margin-top:1rem}
  .bgt-hero-actions .btn{width:100%;min-height:46px;padding:.7rem .75rem;font-size:.59rem}

  /* CONTACT — keep every word and address within the handset margins. */
  .page-contact .page-hero{
    min-height:auto;
    padding:7rem 1rem 3.2rem;
  }
  .page-contact .page-hero .container{width:100%;min-width:0}
  .page-contact .page-hero .display.xl{
    width:100%;
    max-width:100%;
    font-size:clamp(2.55rem,12.5vw,3.9rem);
    line-height:.92;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
  }
  .page-contact .page-hero .display .gold{display:block}
  .page-contact .page-hero p{font-size:.95rem;line-height:1.55}
  .page-contact .contact,.page-contact .panel,.page-contact .bookd{width:100%;min-width:0;max-width:100%}
  .page-contact .panel h2{font-size:clamp(1.9rem,9vw,2.8rem)}
  .page-contact .detail a{display:block;max-width:100%;font-size:1rem;overflow-wrap:anywhere}
  .page-contact .bookd-head{padding:1rem}
  .page-contact .bookd-head img{width:min(170px,70vw)}
  .page-contact .bookd iframe{display:block;width:100%;max-width:100%;min-height:900px}

  /* Show detail/date pages and footer long strings also stay inside margins. */
  .show-detail-split .show-detail-content h1,.show-date-info h3{overflow-wrap:anywhere}
  .show-date-card{min-width:0}
  .footer{padding-inline:1rem}
}

@media(max-width:480px){
  .live-hero-content .actions{grid-template-columns:1fr}
  .experiences-page .exp-jump a{font-size:.49rem}
  .exp-gallery.gallery-uniform,
  .exp-gallery.gallery-uniform.five-up{gap:.5rem!important}
  .page-contact .page-hero .display.xl{font-size:clamp(2.35rem,12vw,3.35rem)}
}

/* Keep the endlessly moving homepage ticker out of the document's scrollable
   width. It is painted inside a fixed-height clipped strip. */
.highlight-ticker{
  position:relative;
  height:48px;
  padding:0;
  overflow:hidden !important;
  contain:layout paint size;
}
.highlight-ticker-track{
  position:absolute;
  left:0;
  top:0;
  height:48px;
  align-items:center;
}
.ticker-group{height:48px}
@media(max-width:760px){
  .highlight-ticker,
  .highlight-ticker-track,
  .ticker-group{height:42px}
}

/* V1.33.1 — mobile fit corrections found during viewport validation */
@media(max-width:820px){
  .page-home .hero-inner{
    width:100%!important;
    max-width:100%!important;
    padding-inline:1rem!important;
  }
  .page-home .hero-copy,.page-home .hero-cta-panel{width:100%;max-width:100%}
  .page-home .display.lg{font-size:clamp(2.55rem,11.5vw,3.65rem);line-height:.91}
  .page-home .display.md{font-size:clamp(2.35rem,10.5vw,3.35rem);line-height:.93}
  .page-home .meaning-stage{overflow:hidden}
  .page-home .meaning-card-1{left:2%;width:44vw}
  .page-home .meaning-card-2{left:51%;width:42vw}
  .page-home .meaning-card-3{left:4%;width:43vw}
  .page-home .meaning-card-4{left:52%;width:44vw}

  .live-hero-content h1{font-size:clamp(2.6rem,10.8vw,3.5rem)}
  .live-hero-content .actions{grid-template-columns:1fr 1fr!important}

  .exp-gallery.gallery-uniform .shot,
  .exp-gallery.gallery-uniform.five-up .shot{
    min-height:0!important;
    height:auto!important;
  }
  .exp-gallery.gallery-uniform img{min-width:0!important}

  .bgt-origin-grid,.bgt-origin-copy,.bgt-origin-images{width:100%;min-width:0;max-width:100%}
  .bgt-origin-copy .display{font-size:clamp(2.45rem,10.5vw,3.45rem);overflow-wrap:anywhere}
  .bgt-origin-copy .bgt-lead{max-width:100%}
  .bgt-origin-images{overflow:hidden}
  .bgt-story-image-large{left:1%;width:80%;transform:rotate(-2deg)}
  .bgt-story-image-small{right:1%;width:54%;transform:rotate(2deg)}
  .bgt-hero-inner .display{font-size:clamp(2.45rem,10.8vw,3.45rem)}
}
@media(max-width:480px){
  .live-hero-content .actions{grid-template-columns:1fr 1fr!important}
  .live-hero-content .actions .btn{font-size:.52rem;letter-spacing:.075em;padding-inline:.35rem}
}
@media(max-width:820px){
  .experiences-page .exp-banner img{transform:none!important}
}

/* =========================================================
   V1.34 — reliable full-screen mobile navigation
   ========================================================= */
.header,
.header .nav{
  overflow:visible!important;
}

.menu:before,
.menu:after,
.menu span{
  transition:transform .28s var(--ease),opacity .2s ease,background-color .2s ease;
  transform-origin:center;
}

.mobile-nav-overlay{display:none}

@media(max-width:1050px){
  .header{z-index:2100}

  /* Keep the semantic desktop navigation hidden on mobile. JavaScript clones
     it into a body-level overlay, avoiding clipping and stacking problems. */
  .links,
  .links.open{
    display:none!important;
  }

  .menu{
    display:block;
    position:relative;
    z-index:2102;
    flex:0 0 46px;
    margin-left:auto;
    touch-action:manipulation;
  }

  .mobile-nav-overlay{
    position:fixed;
    inset:0;
    z-index:2000;
    display:block;
    width:100%;
    height:100dvh;
    min-height:100svh;
    padding:clamp(5.8rem,14vh,7.5rem) 1rem 1.25rem;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:
      radial-gradient(circle at 82% 12%,rgba(216,173,85,.12),transparent 22rem),
      radial-gradient(circle at 12% 86%,rgba(110,31,25,.18),transparent 24rem),
      linear-gradient(180deg,rgba(7,7,7,.985),rgba(9,8,7,.995));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s var(--ease),visibility .3s var(--ease);
  }

  .mobile-nav-overlay:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.17;
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 100%),
      linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 100%);
    background-size:42px 100%,100% 42px;
  }

  .mobile-nav-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .mobile-nav-overlay__panel{
    position:relative;
    z-index:1;
    width:min(100%,560px);
    min-height:calc(100dvh - clamp(7rem,18vh,9rem));
    margin:0 auto;
    display:flex;
    flex-direction:column;
    padding:1.25rem;
    border:1px solid rgba(216,173,85,.2);
    background:linear-gradient(180deg,rgba(12,11,10,.74),rgba(7,7,7,.66));
    box-shadow:0 26px 70px rgba(0,0,0,.38);
    transform:translateY(-14px);
    opacity:0;
    transition:transform .38s var(--ease),opacity .3s var(--ease);
  }

  .mobile-nav-overlay__panel:before{
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(216,173,85,.08);
    pointer-events:none;
  }

  .mobile-nav-overlay.is-open .mobile-nav-overlay__panel{
    transform:none;
    opacity:1;
  }

  .mobile-nav-overlay__label{
    position:relative;
    z-index:1;
    margin:0 0 .9rem;
    color:var(--gold2);
    font-size:.62rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
  }

  .mobile-nav-overlay__nav{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }

  .mobile-nav-overlay__link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    width:100%;
    padding:.8rem .2rem;
    border-bottom:1px solid rgba(216,173,85,.13);
    color:rgba(243,236,220,.92);
    font-family:var(--serif);
    font-size:clamp(1.55rem,7vw,2.15rem);
    line-height:1;
    letter-spacing:.01em;
    text-decoration:none;
    text-transform:uppercase;
    opacity:0;
    transform:translateY(10px);
    transition:color .2s ease,opacity .36s var(--ease),transform .36s var(--ease);
    transition-delay:calc(var(--menu-index,0) * 45ms + 80ms);
  }

  .mobile-nav-overlay.is-open .mobile-nav-overlay__link{
    opacity:1;
    transform:none;
  }

  .mobile-nav-overlay__link:after{
    content:"→";
    color:rgba(216,173,85,.56);
    font-family:var(--sans);
    font-size:.8rem;
    transform:translateX(-5px);
    transition:transform .2s ease,color .2s ease;
  }

  .mobile-nav-overlay__link:hover,
  .mobile-nav-overlay__link:focus-visible,
  .mobile-nav-overlay__link[aria-current="page"]{
    color:var(--gold2);
  }

  .mobile-nav-overlay__link:hover:after,
  .mobile-nav-overlay__link:focus-visible:after{
    color:var(--gold2);
    transform:none;
  }

  .mobile-nav-overlay__footer{
    position:relative;
    z-index:1;
    margin-top:auto;
    padding-top:1.25rem;
  }

  .mobile-nav-overlay__booking{width:100%}

  body.mobile-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  body.mobile-menu-open .header{
    z-index:2100;
    background:rgba(6,6,6,.92);
    backdrop-filter:blur(16px);
    border-bottom-color:rgba(216,173,85,.18);
  }

  body.mobile-menu-open .menu{
    z-index:2102;
    background:#0b0b0b;
    border-color:rgba(216,173,85,.42);
  }
}

@media(max-width:420px){
  .mobile-nav-overlay{padding-left:.75rem;padding-right:.75rem}
  .mobile-nav-overlay__panel{padding:1rem}
  .mobile-nav-overlay__link{min-height:54px;font-size:clamp(1.38rem,7vw,1.8rem)}
}

@media(min-width:1051px){
  body.mobile-menu-open{overflow:auto!important}
  .mobile-nav-overlay{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .mobile-nav-overlay,
  .mobile-nav-overlay__panel,
  .mobile-nav-overlay__link{transition:none!important}
}


/* =========================================================
   V1.35 — Live hero, contact embed and About focal-point repair
   ========================================================= */

/* LIVE — use the newly supplied hero consistently at every viewport. */
.page-live .live-hero-image{
  object-position:50% 24%!important;
  transform:scale(1.01)!important;
}

/* CONTACT — the CRM form must never depend on a reveal class to be visible. */
.page-contact .bookd.bookd-visible{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:visible!important;
  background:#0e0d0b;
}
.page-contact .bookd-status{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:.72rem 1rem;
  border-bottom:1px solid rgba(216,173,85,.14);
  background:rgba(216,173,85,.045);
  color:rgba(243,236,220,.68);
  font-size:.76rem;
  letter-spacing:.04em;
}
.page-contact .bookd-status.is-loaded{display:none}
.page-contact .bookd-status.is-delayed{
  color:var(--gold2);
  background:rgba(216,173,85,.075);
}
.page-contact .bookd-frame{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:1120px!important;
  min-height:1120px!important;
  border:0!important;
  background:#fff;
  opacity:1!important;
  visibility:visible!important;
}
.page-contact .bookd-fallback{
  margin:0;
  padding:.9rem 1rem 1rem;
  border-top:1px solid rgba(216,173,85,.14);
  background:#0e0d0b;
  color:rgba(243,236,220,.62);
  font-size:.78rem;
  line-height:1.5;
}
.page-contact .bookd-fallback a{
  color:var(--gold2);
  text-decoration:none;
  overflow-wrap:anywhere;
}
.page-contact .bookd-fallback a:hover{text-decoration:underline}

/* ABOUT — enlarge the left-hand artwork while anchoring it to the left. This
   moves Richard's face towards the middle without allowing it to be cropped
   away on narrower screens. */
.page-about .about-hero-bg{
  inset:0 auto 0 0!important;
  width:118%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:left center!important;
  transform:none!important;
}
.page-about .about-hero-shade{
  background:
    linear-gradient(90deg,rgba(4,4,4,.035) 0%,rgba(4,4,4,.02) 42%,rgba(4,4,4,.3) 62%,rgba(4,4,4,.79) 100%),
    linear-gradient(0deg,rgba(4,4,4,.52),transparent 36%,rgba(4,4,4,.06));
}

@media(max-width:1100px){
  .page-about .about-hero-bg{
    width:138%!important;
    object-position:left center!important;
  }
  .page-live .live-hero-image{
    object-position:52% 18%!important;
    transform:none!important;
  }
}

@media(max-width:820px){
  .page-live .live-hero-image{
    object-position:52% 14%!important;
    transform:none!important;
  }
  .page-about .about-hero-bg{
    width:158%!important;
    object-position:left 44%!important;
  }
  .page-contact .bookd-frame{
    height:1320px!important;
    min-height:1320px!important;
  }
}

@media(max-width:480px){
  .page-about .about-hero-bg{width:170%!important}
  .page-contact .bookd-frame{
    height:1420px!important;
    min-height:1420px!important;
  }
}


/* =========================================================
   V1.36 — About hero swap and Bookd trim
   ========================================================= */

/* About: the replacement photograph is a normal full-width hero rather than
   the oversized left-anchored artwork used in V1.35. */
.page-about .about-hero-bg{
  inset:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}

/* Contact: remove the long empty white tail underneath Bookd's send button.
   The iframe remains independently scrollable if Bookd adds fields later. */
.page-contact .bookd.bookd-visible{
  overflow:hidden!important;
}
.page-contact .bookd-frame{
  height:920px!important;
  min-height:920px!important;
  max-height:920px!important;
}

@media(max-width:1100px){
  .page-about .about-hero-bg{object-position:48% center!important}
}

@media(max-width:820px){
  .page-about .about-hero-bg{
    width:100%!important;
    object-position:center center!important;
  }
  .page-contact .bookd-frame{
    height:970px!important;
    min-height:970px!important;
    max-height:970px!important;
  }
}

@media(max-width:480px){
  .page-about .about-hero-bg{
    width:100%!important;
    object-position:center center!important;
  }
  .page-contact .bookd-frame{
    height:1000px!important;
    min-height:1000px!important;
    max-height:1000px!important;
  }
}


/* =========================================================
   V1.37 — About hero copy moved to the left
   ========================================================= */
.page-about .about-hero-inner{
  justify-content:flex-start!important;
}
.page-about .about-hero-copy{
  margin-left:clamp(.5rem,2.5vw,2.5rem)!important;
  margin-right:auto!important;
}
.page-about .about-hero-shade{
  background:
    linear-gradient(90deg,
      rgba(4,4,4,.82) 0%,
      rgba(4,4,4,.58) 26%,
      rgba(4,4,4,.18) 53%,
      rgba(4,4,4,.035) 100%),
    linear-gradient(0deg,rgba(4,4,4,.52),transparent 36%,rgba(4,4,4,.06))!important;
}

@media(max-width:1100px){
  .page-about .about-hero-inner{
    justify-content:flex-start!important;
  }
  .page-about .about-hero-copy{
    margin-left:0!important;
    margin-right:auto!important;
  }
  .page-about .about-hero-shade{
    background:
      linear-gradient(0deg,rgba(4,4,4,.88) 0%,rgba(4,4,4,.52) 42%,rgba(4,4,4,.08) 72%),
      linear-gradient(90deg,rgba(4,4,4,.42),rgba(4,4,4,.04) 72%)!important;
  }
}

@media(max-width:820px){
  .page-about .about-hero-copy{
    width:100%!important;
    margin:0!important;
  }
}


/* =========================================================
   V1.38 — requested mobile hero composition refinements
   ========================================================= */
@media(max-width:820px){
  /* HOME — centre both photographic layers and move the complete Richard
     Jones brand/CTA composition slightly lower without changing desktop. */
  .page-home .hero .layer.bg,
  .page-home .hero .layer.person{
    object-position:50% center!important;
    transform:none!important;
  }
  .page-home .hero-inner{
    padding-top:6.6rem!important;
    padding-bottom:2rem!important;
  }
  .page-home .hero-copy{
    translate:0 clamp(24px,4.5vh,42px);
  }
  .page-home .hero-logo{
    object-position:center!important;
  }

  /* ABOUT — the replacement hero photograph has Richard performing on the
     right. Bias the mobile crop towards that side while retaining the copy
     panel at the foot of the hero. */
  .page-about .about-hero-bg{
    object-position:78% center!important;
  }
  .page-about .about-hero-shade{
    background:
      linear-gradient(0deg,rgba(4,4,4,.91) 0%,rgba(4,4,4,.54) 41%,rgba(4,4,4,.07) 73%),
      linear-gradient(90deg,rgba(4,4,4,.08),rgba(4,4,4,.015) 70%)!important;
  }

  /* EXPERIENCES — hold the opening copy at the very bottom of a slightly
     taller image so Richard's face remains clear above it. */
  .page-experiences .page-hero.experiences-landing{
    min-height:820px!important;
    padding-bottom:.55rem!important;
    background-position:62% 38%!important;
  }
  .page-experiences .page-hero.experiences-landing .container{
    translate:0 6px;
  }
  .page-experiences .page-hero.experiences-landing h1{
    font-size:clamp(2.55rem,10.8vw,3.55rem)!important;
  }
  .page-experiences .page-hero.experiences-landing .hero-lead{
    max-width:34rem;
  }

  /* WEDDINGS — show the left-hand side of the supplied photograph so the
     bride remains in the mobile composition. */
  .page-experiences .wedding-banner img{
    object-position:12% center!important;
  }

  /* BGT — the image remains a clean 16:9 panel first. Remove the small BGT
     logo on mobile and centre all hero copy beneath the photograph. */
  .page-bgt-journey .bgt-mini-logo{
    display:none!important;
  }
  .page-bgt-journey .bgt-hero-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .page-bgt-journey .bgt-hero-inner .eyebrow,
  .page-bgt-journey .bgt-hero-inner .display,
  .page-bgt-journey .bgt-hero-inner>p:not(.eyebrow){
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .page-bgt-journey .bgt-hero-inner .display{
    max-width:10.5ch;
  }
  .page-bgt-journey .bgt-hero-actions{
    width:min(100%,34rem);
    margin-left:auto;
    margin-right:auto;
    justify-content:center;
  }
}

@media(max-width:480px){
  .page-home .hero-copy{
    translate:0 22px;
  }
  .page-about .about-hero-bg{
    object-position:84% center!important;
  }
  .page-experiences .page-hero.experiences-landing{
    min-height:790px!important;
    padding-bottom:.35rem!important;
  }
  .page-experiences .wedding-banner img{
    object-position:8% center!important;
  }
}


/* =========================================================
   V1.39 — Experiences mobile hero copy pinned to the bottom
   ========================================================= */
@media(max-width:820px){
  .page-experiences .page-hero.experiences-landing{
    display:grid!important;
    align-items:end!important;
    padding:0 1rem .3rem!important;
  }
  .page-experiences .page-hero.experiences-landing .container{
    width:100%!important;
    margin:0 auto!important;
    align-self:end!important;
    translate:0 0!important;
  }
}

@media(max-width:480px){
  .page-experiences .page-hero.experiences-landing{
    padding-bottom:.18rem!important;
  }
}


/* =========================================================
   V1.40 — Client amendments, hidden wedding/journal routes
   ========================================================= */
/* Site-wide social icon treatment */
.social-icon{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;flex:0 0 auto}.social-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.social-icon svg .fill{fill:currentColor;stroke:none}.video-social-rail a,.footer-social-link{display:inline-flex!important;align-items:center;gap:.45rem}.video-social-rail a{white-space:nowrap}

/* Desktop homepage hero: slightly smaller mark, aligned centrally over Richard */
@media(min-width:1020px){
  .page-home .hero-inner{position:relative;display:block;max-width:none;width:100%;padding:0;min-height:100svh}
  .page-home .hero-copy{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(590px,42vw);max-width:590px;text-align:center;display:flex;flex-direction:column;align-items:center;background:none}
  .page-home .hero-logo{width:min(500px,34vw);max-height:300px;margin:0 auto .8rem;object-position:center}
  .page-home .hero-cta-panel{align-items:center;width:auto}
}

/* Magic With Meaning: all photographs visible, native ratios, copy below */
.meaning-v40-section{min-height:auto!important;padding-block:clamp(4rem,7vw,7rem)!important;overflow:hidden}
.meaning-v40{width:min(1500px,100%);position:relative;z-index:2}
.meaning-v40-head{text-align:center;margin-bottom:2rem}.meaning-v40-title{font-size:clamp(3.2rem,6vw,6.2rem);line-height:.9}
.meaning-v40-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.2vw,1rem);align-items:center}
.meaning-v40-card{margin:0;min-width:0;border:1px solid rgba(216,173,85,.18);background:#070707;padding:7px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.meaning-v40-card img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;object-position:center}
.meaning-v40-copy{text-align:center;max-width:820px;margin:2.1rem auto 0}.meaning-v40-copy .statement{font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.08;margin:0 0 .7rem}.meaning-v40-copy .lead{max-width:720px;margin:0 auto 1.2rem}

/* Reviews — larger photograph, show the entire supplied source without crop */
.review-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(1.2rem,2.8vw,2.2rem);align-items:stretch}
.review-photo-card{width:100%;max-width:none;transform:none;display:flex;flex-direction:column;justify-content:center;background:#080808}
.review-photo-card img{width:100%;height:auto!important;aspect-ratio:auto!important;max-height:520px;object-fit:contain!important;object-position:center;transform:none!important}

/* Corporate actions */
.exp-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:.9rem}.exp-actions .btn{margin-top:0!important}

/* Bookd logo above embedded form */
.page-contact .bookd-head-centered{display:flex;justify-content:center!important;align-items:center!important;text-align:center;width:100%}.page-contact .bookd-head-centered img{margin-inline:auto!important;object-position:center!important}

/* Gallery swipe affordance and full-image treatment */
.video-slider-track,.live-gallery-track,.bgt-video-rail,.bgt-image-rail,.exp-gallery.gallery-uniform,.wedding-gallery-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(216,173,85,.55) rgba(255,255,255,.05)}
.video-slider-track::-webkit-scrollbar,.live-gallery-track::-webkit-scrollbar,.bgt-video-rail::-webkit-scrollbar,.bgt-image-rail::-webkit-scrollbar,.exp-gallery.gallery-uniform::-webkit-scrollbar,.wedding-gallery-scroll::-webkit-scrollbar{height:7px;display:block!important}.video-slider-track::-webkit-scrollbar-thumb,.live-gallery-track::-webkit-scrollbar-thumb,.bgt-video-rail::-webkit-scrollbar-thumb,.bgt-image-rail::-webkit-scrollbar-thumb,.exp-gallery.gallery-uniform::-webkit-scrollbar-thumb,.wedding-gallery-scroll::-webkit-scrollbar-thumb{background:rgba(216,173,85,.55);border-radius:999px}.live-gallery-item img{object-fit:contain!important;object-position:center!important;background:#050505;transform:none!important}.live-gallery-item:hover img{transform:none!important}

/* Hidden wedding landing */
.wedding-private-hero{position:relative;min-height:76svh;display:flex;align-items:flex-end;overflow:hidden;background:#070707}.wedding-private-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}.wedding-private-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.18),rgba(5,5,5,.58) 58%,rgba(5,5,5,.8)),linear-gradient(0deg,rgba(5,5,5,.9),transparent 48%)}.wedding-private-copy{position:relative;z-index:2;width:min(680px,calc(100% - 2rem));margin:0 6vw 5vw auto;padding:1.25rem;background:rgba(7,7,7,.58);border:1px solid rgba(216,173,85,.18);backdrop-filter:blur(6px)}.wedding-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.wedding-package{border:1px solid rgba(216,173,85,.18);padding:1.4rem;background:rgba(255,255,255,.015)}.wedding-package>span{color:var(--gold2);font-family:var(--serif);font-size:1.2rem}.wedding-package h3{font-family:var(--serif);font-size:1.7rem;text-transform:uppercase;line-height:1;margin:.4rem 0 .6rem}.wedding-package p{color:rgba(243,236,220,.72)}.wedding-gallery-scroll{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.wedding-gallery-scroll figure{margin:0;border:1px solid rgba(216,173,85,.16);background:#050505}.wedding-gallery-scroll img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
/* Hidden Journal */
.page-journal{min-height:100vh;background:radial-gradient(circle at 30% 10%,rgba(110,31,25,.2),transparent 26rem),#070707;color:var(--paper);font-family:var(--sans)}.journal-hidden-header{padding:1rem 4vw;border-bottom:1px solid var(--line)}.journal-hidden-header img{width:180px}.journal-shell{width:min(920px,calc(100% - 2rem));margin:0 auto;padding:clamp(6rem,12vw,10rem) 0}.journal-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}.journal-card{border:1px solid var(--line);padding:1rem;text-decoration:none}.journal-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.journal-card h2{font-family:var(--serif);font-size:2rem;line-height:1;margin:.8rem 0}.journal-article{width:min(880px,calc(100% - 2rem));margin:auto;padding:clamp(4rem,8vw,7rem) 0}.journal-article img.journal-featured{width:100%;height:auto;max-height:620px;object-fit:contain;background:#050505;margin:1.5rem 0}.journal-article-body{font-size:1.02rem;line-height:1.8;color:rgba(243,236,220,.8)}.journal-article-body h2,.journal-article-body h3{font-family:var(--serif);color:var(--paper)}

@media(max-width:760px){
  /* Footer logo centred */
  .footer .foot-grid>:first-child{text-align:center}.footer .foot-logo{margin-left:auto!important;margin-right:auto!important}.footer .foot-grid>:first-child>a{overflow-wrap:anywhere}
  /* Home tour CTA centred */
  .page-home .live-home-section .tour-feature>.right>div:last-child{text-align:center!important}.page-home .live-home-section .tour-feature>.right>div:last-child .btn{margin-inline:auto}
  /* Home media galleries: genuine horizontal swipe */
  .page-home .video-slider-window{overflow:visible}.page-home .video-slider-track{overflow-x:auto!important;padding-bottom:.75rem}.page-home .video-slide{flex:0 0 86vw!important}
  .meaning-v40-gallery{display:flex;overflow-x:auto;gap:.8rem;padding:0 .1rem .75rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.meaning-v40-card{flex:0 0 84vw;scroll-snap-align:center;display:grid;place-items:center}.meaning-v40-card img{max-height:none;width:100%;height:auto;object-fit:contain}.meaning-v40-head{text-align:center}.meaning-v40-copy{margin-top:1.35rem;padding-inline:.25rem}.meaning-v40-title{font-size:clamp(3rem,14vw,4.4rem)}
  /* review photograph stays full / larger */
  .review-layout{grid-template-columns:1fr}.review-photo-card{width:100%!important;max-width:100%!important;margin:0 0 1rem!important}.review-photo-card img{max-height:none!important;width:100%!important;object-fit:contain!important}
  /* Experience galleries become swipe rails */
  .page-experiences .exp-gallery.gallery-uniform{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:.75rem;padding-bottom:.7rem}.page-experiences .gallery-uniform .shot{flex:0 0 84vw!important;min-width:84vw!important;aspect-ratio:16/9!important;scroll-snap-align:center}.page-experiences .gallery-uniform .shot img{object-fit:contain!important;background:#050505}
  .page-experiences .exp-jump-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.55rem!important;text-align:center}.page-experiences .exp-jump .jump-label{grid-column:1/-1}.page-experiences .exp-jump a{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0!important}
  /* Live image gallery visible thumb scroll, 16:9 full frame */
  .page-live .live-gallery-window{overflow:visible!important}.page-live .live-gallery-track{overflow-x:auto!important;padding-bottom:.75rem}.page-live .live-gallery-item{flex:0 0 84vw!important;aspect-ratio:16/9!important}.page-live .live-gallery-item img{object-fit:contain!important}
  /* Book Richard: no oversized introductory banner on mobile */
  .page-contact main>.page-hero{display:none!important}.page-contact main>.section{padding-top:6rem!important}
  .page-contact .bookd-head-centered img{width:min(190px,60vw)!important;margin-inline:auto!important}
  /* Wedding page gallery */
  .wedding-private-hero{min-height:72svh}.wedding-private-copy{margin:auto 1rem 1.25rem;width:calc(100% - 2rem)}.wedding-package-grid{grid-template-columns:1fr}.wedding-gallery-scroll{display:flex;overflow-x:auto;gap:.75rem;padding-bottom:.7rem}.wedding-gallery-scroll figure{flex:0 0 84vw;scroll-snap-align:center}.wedding-gallery-scroll img{object-fit:contain;background:#050505}
  .journal-card-grid{grid-template-columns:1fr}
}


/* =========================================================
   V1.41 — desktop placement, compact reviews, wedding depth
   ========================================================= */

/* DESKTOP ONLY: position the homepage identity directly over Richard. */
@media (min-width:1061px){
  .page-home .hero-copy{
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
  }

  /* Fill the sixth experience-grid space with a direct booking route. */
  .home-contact-card{
    grid-column:span 6;
    min-height:clamp(520px,32vw,620px);
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:clamp(1.5rem,3vw,2.5rem);
    text-decoration:none;
    color:var(--paper);
    border:1px solid rgba(216,173,85,.2);
    background:
      radial-gradient(circle at 76% 20%,rgba(216,173,85,.12),transparent 18rem),
      linear-gradient(145deg,#0d0b09,#070707 64%);
    isolation:isolate;
  }
  .home-contact-card:before{
    content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.09);pointer-events:none
  }
  .home-contact-card:after{
    content:"RJ";position:absolute;right:-.02em;top:-.14em;font-family:var(--serif);font-size:clamp(11rem,18vw,20rem);line-height:1;color:rgba(216,173,85,.035);z-index:-1
  }
  .home-contact-card .num{position:absolute;top:1.6rem;left:1.7rem}
  .home-contact-card-copy{position:relative;z-index:2;max-width:640px}
  .home-contact-card h3{font-family:var(--serif);font-size:clamp(2.25rem,3.5vw,4.25rem);line-height:.92;text-transform:uppercase;margin:.45rem 0 .8rem}
  .home-contact-card h3 span{color:var(--gold2)}
  .home-contact-card p:not(.eyebrow){max-width:520px;color:rgba(243,236,220,.7);line-height:1.6}
  .home-contact-card-action{display:inline-block;margin-top:1.25rem;color:var(--gold2);text-transform:uppercase;letter-spacing:.14em;font-size:.67rem}
  .home-contact-card:hover{border-color:rgba(216,173,85,.5);background:radial-gradient(circle at 76% 20%,rgba(216,173,85,.17),transparent 18rem),linear-gradient(145deg,#120e0a,#070707 64%)}

  /* Reviews: larger uncropped photograph, quieter compact quote stack. */
  .reviews-section{padding-block:clamp(4rem,6vw,6rem)}
  .reviews-section .head{margin-bottom:1.25rem;max-width:720px}
  .reviews-section .head .display.lg{font-size:clamp(3rem,4.8vw,5rem)}
  .review-layout{grid-template-columns:minmax(390px,.95fr) minmax(420px,1.05fr);gap:clamp(1rem,2vw,1.65rem);align-items:start}
  .review-photo-card{align-self:start;padding:8px 8px 20px}
  .review-photo-card img{max-height:590px!important}
  .review-grid{grid-template-columns:1fr!important;gap:.75rem;align-self:center}
  .quote-card,.quote-card:last-child{grid-column:auto!important;min-height:0!important;padding:1rem 1.15rem .95rem}
  .quote-card blockquote{font-size:clamp(1.35rem,1.55vw,1.72rem);line-height:1.04;text-transform:none;max-width:34ch}
  .quote-card cite{margin-top:.8rem;font-size:.56rem}
}

@media(max-width:1060px){.home-contact-card{display:none!important}}

/* Magic With Meaning: four equal 16:9 frames, preserving the complete photo. */
.meaning-v40-gallery{align-items:stretch}
.meaning-v40-card{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}
.meaning-v40-card img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#050505}

/* Footer social links: consistent icon size, spacing and alignment. */
.footer .foot:last-child{align-content:start}
.footer .footer-social-link{
  width:min(230px,100%);
  min-height:38px;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr);
  gap:.7rem!important;
  align-items:center;
  margin:.32rem 0!important;
  padding:.25rem .35rem .25rem 0;
  color:rgba(243,236,220,.7);
  border-bottom:1px solid rgba(216,173,85,.075);
}
.footer .footer-social-link .social-icon{
  width:28px;height:28px;padding:6px;border:1px solid rgba(216,173,85,.22);border-radius:50%;color:var(--gold2);background:rgba(216,173,85,.025)
}
.footer .footer-social-link .social-icon svg{width:100%;height:100%}
.footer .footer-social-link:hover{color:var(--paper);border-bottom-color:rgba(216,173,85,.24)}
.footer .footer-social-link:hover .social-icon{background:var(--gold);border-color:var(--gold);color:#070707}

/* Direct-share Wedding landing — richer copy and premium flow. */
.wedding-conversation{background:linear-gradient(135deg,rgba(80,30,22,.16),transparent 45%),#0a0807}
.wedding-conversation-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,6rem);align-items:start}
.wedding-conversation-heading{padding-right:clamp(0rem,3vw,2.5rem);border-right:1px solid rgba(216,173,85,.15)}
.wedding-conversation-heading .display{margin:.45rem 0 0}
.wedding-conversation-copy{max-width:820px;display:grid;gap:1rem}
.wedding-conversation-copy p{margin:0;color:rgba(243,236,220,.73);line-height:1.72}
.wedding-lead{font-family:var(--serif)!important;color:var(--paper)!important;font-size:clamp(1.35rem,2vw,1.8rem)!important;line-height:1.2!important}
.wedding-package{display:flex;flex-direction:column}
.wedding-package-note{margin-top:auto!important;padding-top:1rem;color:var(--gold2)!important;font-size:.72rem!important;text-transform:uppercase;letter-spacing:.08em;line-height:1.55}
.wedding-timeline-section{background:#080808}
.wedding-timeline-head{max-width:920px;margin-bottom:2rem}
.wedding-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(216,173,85,.16);border-bottom:1px solid rgba(216,173,85,.16)}
.wedding-timeline-item{padding:1.6rem 1.35rem;border-left:1px solid rgba(216,173,85,.13)}
.wedding-timeline-item:first-child{border-left:0}
.wedding-timeline-item>span{color:var(--gold2);font-family:var(--serif);font-size:1.1rem}
.wedding-timeline-item h3{font-family:var(--serif);font-size:clamp(1.35rem,1.7vw,1.85rem);line-height:1;text-transform:uppercase;margin:.65rem 0 .7rem}
.wedding-timeline-item p{margin:0;color:rgba(243,236,220,.68);line-height:1.58}
.wedding-hosting-section{background:linear-gradient(180deg,rgba(216,173,85,.045),transparent 34%),#0d0a08}
.wedding-hosting-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.2rem,4vw,4rem);align-items:center}
.wedding-hosting-image{margin:0;border:1px solid rgba(216,173,85,.18);padding:8px;background:#070707;box-shadow:0 22px 55px rgba(0,0,0,.28)}
.wedding-hosting-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#050505}
.wedding-hosting-copy{max-width:720px}
.wedding-hosting-copy p:not(.eyebrow){color:rgba(243,236,220,.72);line-height:1.7}
.wedding-gallery-head{max-width:900px;margin-bottom:1.45rem}
.wedding-gallery-scroll figure{cursor:zoom-in;position:relative;overflow:hidden}
.wedding-gallery-scroll figure:after{content:"View larger";position:absolute;right:.75rem;bottom:.75rem;padding:.45rem .65rem;background:rgba(5,5,5,.75);border:1px solid rgba(216,173,85,.18);color:var(--gold2);font-size:.56rem;text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateY(5px);transition:.25s var(--ease);pointer-events:none}
.wedding-gallery-scroll figure:hover:after{opacity:1;transform:none}
.wedding-private-proof{background:linear-gradient(135deg,rgba(89,27,55,.08),transparent 44%),#090807}
.wedding-proof-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,6rem);align-items:center;border:1px solid rgba(216,173,85,.16);padding:clamp(1.5rem,3vw,2.5rem);position:relative}
.wedding-proof-grid:before{content:"";position:absolute;inset:10px;border:1px solid rgba(216,173,85,.07);pointer-events:none}
.wedding-proof-grid>div{position:relative;z-index:1}
.wedding-proof-grid p{color:rgba(243,236,220,.72);line-height:1.68}

@media(max-width:900px){
  .wedding-conversation-grid,.wedding-hosting-grid,.wedding-proof-grid{grid-template-columns:1fr;gap:1.5rem}
  .wedding-conversation-heading{border-right:0;border-bottom:1px solid rgba(216,173,85,.15);padding:0 0 1.2rem}
  .wedding-timeline{grid-template-columns:1fr 1fr}
  .wedding-timeline-item:nth-child(3){border-left:0;border-top:1px solid rgba(216,173,85,.13)}
  .wedding-timeline-item:nth-child(4){border-top:1px solid rgba(216,173,85,.13)}
}
@media(max-width:560px){
  .wedding-timeline{grid-template-columns:1fr}
  .wedding-timeline-item,.wedding-timeline-item:nth-child(3),.wedding-timeline-item:nth-child(4){border-left:0;border-top:1px solid rgba(216,173,85,.13)}
  .wedding-timeline-item:first-child{border-top:0}
  .footer .footer-social-link{width:100%}
}

/* =========================================================
   V1.42 — Wedding visual rebuild + homepage mobile/desktop hero alignment
   ========================================================= */

/* HOMEPAGE — desktop only: keep the identity in the true centre and move
   Richard's transparent portrait layer under that same centre line. The
   separate `translate` property composes safely with the existing parallax
   transform used by JavaScript. */
@media (min-width:1061px){
  .page-home .hero .layer.person{
    translate:clamp(-110px,-5vw,-58px) 0;
  }
}

/* HOMEPAGE — mobile becomes a clean 16:9 visual followed by the identity and
   actions. Nothing sits over Richard, so the complete image can be seen. */
@media (max-width:820px){
  .page-home .hero{
    min-height:0!important;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    padding-top:72px;
    overflow:hidden;
    background:#070707;
  }
  .page-home .hero .layer.bg{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    width:100%!important;
    height:56.25vw!important;
    flex:0 0 56.25vw;
    object-fit:contain!important;
    object-position:center!important;
    animation:none!important;
    transform:none!important;
  }
  .page-home .hero .layer.person{
    position:absolute!important;
    inset:72px 0 auto 0!important;
    z-index:2!important;
    width:100%!important;
    height:56.25vw!important;
    object-fit:contain!important;
    object-position:center!important;
    animation:none!important;
    transform:none!important;
    translate:none!important;
    pointer-events:none;
  }
  .page-home .hero .shade,
  .page-home .hero .grain{display:none!important}
  .page-home .hero-inner{
    position:relative!important;
    z-index:4;
    width:100%!important;
    min-height:0!important;
    padding:1.35rem 1rem 2.35rem!important;
    display:block!important;
    text-align:center!important;
    background:linear-gradient(180deg,#0b0a09,#070707);
  }
  .page-home .hero-copy{
    width:min(100%,520px)!important;
    max-width:520px!important;
    margin:0 auto!important;
    padding:0!important;
    background:none!important;
    translate:none!important;
    align-items:center!important;
  }
  .page-home .hero-logo{
    width:min(270px,72vw)!important;
    max-height:145px!important;
    margin:0 auto .7rem!important;
    object-position:center!important;
  }
  .page-home .hero h1{
    max-width:34rem;
    margin:.15rem auto 1rem!important;
    font-size:clamp(.62rem,2.7vw,.75rem)!important;
    line-height:1.55;
    letter-spacing:.13em!important;
    text-align:center;
  }
  .page-home .hero .actions{
    justify-content:center!important;
    gap:.6rem;
  }
  .page-home .hero .actions .btn{
    min-height:44px;
    padding:.72rem 1rem;
  }
}

/* WEDDINGS — photography is now part of the page narrative rather than a
   gallery saved for the bottom. */
.page-weddings-hidden .wedding-photo{
  margin:0;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(216,173,85,.2);
  background:#070707;
  box-shadow:0 24px 58px rgba(0,0,0,.24);
  cursor:zoom-in;
}
.page-weddings-hidden .wedding-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .7s var(--ease);
}
.page-weddings-hidden .wedding-photo:hover img{transform:scale(1.025)}

.wedding-story-section{padding-block:clamp(4.5rem,7vw,7rem)}
.wedding-light-section{
  background:
    radial-gradient(circle at 15% 10%,rgba(216,173,85,.14),transparent 22rem),
    #eee5d4;
  color:#17130e;
}
.wedding-light-section .eyebrow{color:#8b6426}
.wedding-light-section .lead,
.wedding-light-section p{color:rgba(23,19,14,.74)}
.wedding-light-section .wedding-lead{color:#17130e!important}
.wedding-light-section .gold{
  background:linear-gradient(110deg,#684716,#aa7929 38%,#785018 68%,#b78433);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.wedding-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.wedding-story-photo{aspect-ratio:16/10;padding:7px;background:#f7efe0!important}
.wedding-story-photo img{border:1px solid rgba(90,64,25,.12)}
.wedding-story-copy{max-width:700px}
.wedding-story-copy .display{font-size:clamp(2.7rem,4.6vw,5rem);margin-bottom:1.3rem}
.wedding-story-copy p:not(.eyebrow){line-height:1.68}

.wedding-formats-section{
  background:
    radial-gradient(circle at 82% 8%,rgba(110,31,25,.16),transparent 28rem),
    #090807;
  padding-block:clamp(4.5rem,7vw,7rem);
}
.wedding-private-head{max-width:900px;margin-bottom:clamp(2rem,4vw,3.5rem)}
.wedding-format-list{display:grid;gap:clamp(1.25rem,2.4vw,2rem)}
.wedding-format-row{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);
  min-height:360px;
  border:1px solid rgba(216,173,85,.16);
  background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  overflow:hidden;
}
.wedding-format-row-reverse .wedding-format-photo{order:2}
.wedding-format-row-reverse .wedding-format-copy{order:1}
.wedding-format-photo{border:0!important;box-shadow:none!important;min-height:360px}
.wedding-format-copy{
  padding:clamp(1.55rem,3vw,3rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
.wedding-format-number{
  position:absolute;
  right:clamp(1rem,2vw,1.8rem);
  top:clamp(.8rem,1.6vw,1.4rem);
  color:rgba(216,173,85,.16);
  font-family:var(--serif);
  font-size:clamp(3.8rem,6vw,6.5rem);
  line-height:.8;
}
.wedding-format-copy .eyebrow{margin-bottom:.5rem}
.wedding-format-copy h3{
  max-width:15ch;
  margin:.15rem 0 .8rem;
  font-family:var(--serif);
  font-size:clamp(2rem,3.3vw,3.7rem);
  line-height:.93;
  text-transform:uppercase;
}
.wedding-format-copy>p:not(.eyebrow):not(.wedding-package-note){
  max-width:620px;
  margin:.2rem 0;
  color:rgba(243,236,220,.72);
  line-height:1.68;
}

.wedding-timeline-section{background:#eee5d4!important;padding-block:clamp(4.5rem,7vw,7rem)}
.wedding-timeline-section .eyebrow{color:#8b6426}
.wedding-timeline-section .display{color:#17130e}
.wedding-timeline-section .lead{color:rgba(23,19,14,.7)}
.wedding-timeline-section .gold{
  background:linear-gradient(110deg,#684716,#aa7929 38%,#785018 68%,#b78433);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.wedding-timeline-section .wedding-timeline{
  border-color:rgba(93,67,29,.24);
  background:rgba(255,255,255,.26);
}
.wedding-timeline-section .wedding-timeline-item{border-color:rgba(93,67,29,.2)}
.wedding-timeline-section .wedding-timeline-item>span{color:#8b6426}
.wedding-timeline-section .wedding-timeline-item h3{color:#17130e}
.wedding-timeline-section .wedding-timeline-item p{color:rgba(23,19,14,.68)}

.wedding-hosting-section{
  background:
    radial-gradient(circle at 78% 16%,rgba(216,173,85,.08),transparent 24rem),
    linear-gradient(145deg,#120d0a,#080706 62%);
  padding-block:clamp(4.5rem,7vw,7rem);
}
.wedding-hosting-image{aspect-ratio:16/11!important;padding:7px!important}
.wedding-hosting-image img{max-height:none!important;object-fit:cover!important}

.wedding-private-proof{
  background:linear-gradient(135deg,rgba(89,27,55,.13),transparent 44%),#0b0908;
  padding-block:clamp(4.5rem,7vw,7rem);
}
.wedding-proof-visual{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  align-items:stretch;
  border:1px solid rgba(216,173,85,.17);
  background:rgba(255,255,255,.012);
  overflow:hidden;
}
.wedding-proof-copy{
  padding:clamp(1.7rem,4vw,3.6rem);
  align-self:center;
}
.wedding-proof-copy .display{font-size:clamp(2.7rem,4.6vw,5rem);margin-bottom:1rem}
.wedding-proof-copy p{color:rgba(243,236,220,.72);line-height:1.65}
.wedding-proof-photo{border:0!important;box-shadow:none!important;min-height:430px}

/* Wedding mobile: lighter, shorter, image-led, and easier to scan. */
@media(max-width:820px){
  .page-weddings-hidden .section{padding:3.5rem 1rem}
  .page-weddings-hidden .display.md{font-size:clamp(2.35rem,10.5vw,3.55rem);line-height:.94}

  .wedding-private-hero{
    min-height:0!important;
    display:block!important;
    padding-top:72px;
    overflow:hidden;
    background:#090807;
  }
  .wedding-private-hero>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9;
    object-fit:contain!important;
    object-position:center!important;
    background:#050505;
  }
  .wedding-private-overlay{display:none!important}
  .wedding-private-copy{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:1.35rem 1rem 2rem!important;
    border:0!important;
    background:linear-gradient(180deg,#100d0b,#080706)!important;
    backdrop-filter:none!important;
    text-align:left;
  }
  .wedding-private-copy .display.lg{
    font-size:clamp(2.55rem,12vw,4rem)!important;
    line-height:.92;
    max-width:10ch;
  }
  .wedding-private-copy>p:not(.eyebrow){
    font-size:.98rem;
    line-height:1.6;
    max-width:38rem;
  }
  .wedding-private-copy .btn{width:100%;margin-top:.35rem}

  .wedding-story-grid,
  .wedding-hosting-grid,
  .wedding-proof-visual{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .wedding-story-photo{
    aspect-ratio:16/9;
    padding:5px;
    margin-bottom:1.5rem!important;
  }
  .wedding-story-copy .display{font-size:clamp(2.35rem,10.5vw,3.55rem)}
  .wedding-story-copy p:not(.eyebrow){font-size:.96rem;line-height:1.62}
  .wedding-lead{font-size:clamp(1.25rem,5.8vw,1.55rem)!important}

  .wedding-private-head{margin-bottom:1.6rem}
  .wedding-private-head .lead{font-size:.96rem;line-height:1.6}
  .wedding-format-list{gap:1rem}
  .wedding-format-row,
  .wedding-format-row-reverse{
    display:flex!important;
    flex-direction:column;
    min-height:0;
  }
  .wedding-format-row-reverse .wedding-format-photo,
  .wedding-format-row-reverse .wedding-format-copy{order:initial!important}
  .wedding-format-photo{
    min-height:0!important;
    width:100%;
    aspect-ratio:16/9;
  }
  .wedding-format-copy{padding:1.3rem 1.1rem 1.45rem}
  .wedding-format-number{font-size:4rem;right:.8rem;top:.8rem}
  .wedding-format-copy h3{
    max-width:17ch;
    font-size:clamp(1.85rem,8.5vw,2.7rem);
    margin:.1rem 0 .65rem;
  }
  .wedding-format-copy>p:not(.eyebrow):not(.wedding-package-note){font-size:.94rem;line-height:1.6}
  .wedding-package-note{padding-top:.8rem!important;font-size:.64rem!important}

  .wedding-timeline-head{margin-bottom:1.25rem}
  .wedding-timeline{grid-template-columns:1fr!important;border:1px solid rgba(93,67,29,.22)!important}
  .wedding-timeline-item,
  .wedding-timeline-item:nth-child(3),
  .wedding-timeline-item:nth-child(4){
    padding:1.25rem 1.1rem!important;
    border-left:0!important;
    border-top:1px solid rgba(93,67,29,.18)!important;
  }
  .wedding-timeline-item:first-child{border-top:0!important}
  .wedding-timeline-item h3{font-size:1.7rem;margin:.4rem 0 .45rem}
  .wedding-timeline-item p{font-size:.92rem;line-height:1.55}

  .wedding-hosting-image{
    aspect-ratio:16/9!important;
    margin-bottom:1.5rem!important;
  }
  .wedding-hosting-copy p:not(.eyebrow){font-size:.95rem;line-height:1.62}
  .wedding-hosting-copy .btn{width:100%}

  .wedding-proof-copy{padding:1.45rem 1.1rem 1.6rem;order:2}
  .wedding-proof-copy .display{font-size:clamp(2.35rem,10.5vw,3.55rem)}
  .wedding-proof-copy p{font-size:.95rem;line-height:1.6}
  .wedding-proof-copy .btn{width:100%}
  .wedding-proof-photo{
    min-height:0!important;
    aspect-ratio:16/9;
    order:1;
  }
}


/* =========================================================
   V1.43 — revert homepage mobile hero + true desktop portrait centring
   ========================================================= */

/* DESKTOP HOMEPAGE — Richard himself must sit on the same centre line as
   the centred logo, strapline and buttons. Nudge the transparent portrait
   layer slightly right of the default centre to compensate for the source
   PNG framing. */
@media (min-width:1061px){
  .page-home .hero .layer.person{
    translate:clamp(20px,1.5vw,36px)!important;
  }
}

/* HOMEPAGE MOBILE — restore the pre-V1.42 overlay hero treatment. Keep the
   original single-hero composition rather than the separated image-first
   layout. */
@media (max-width:820px){
  .page-home .hero{
    min-height:100svh!important;
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
    display:grid!important;
    align-items:center!important;
    padding-top:0!important;
    background:#050505!important;
  }
  .page-home .hero .layer.bg,
  .page-home .hero .layer.person{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    animation:none!important;
  }
  .page-home .hero .layer.bg{
    z-index:-4!important;
    object-position:50% center!important;
    transform:none!important;
  }
  .page-home .hero .layer.person{
    z-index:-3!important;
    object-position:50% center!important;
    transform:none!important;
    translate:none!important;
  }
  .page-home .hero .shade{
    display:block!important;
    background:linear-gradient(0deg,rgba(3,3,3,.95),rgba(3,3,3,.18) 60%)!important;
  }
  .page-home .hero .grain{display:block!important}
  .page-home .hero-inner{
    position:relative!important;
    z-index:2!important;
    width:min(1400px,100%)!important;
    min-height:100svh!important;
    margin:auto!important;
    padding:6.6rem .75rem 2rem!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    background:none!important;
  }
  .page-home .hero-copy{
    width:min(95vw,680px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
    background:none!important;
    translate:0 clamp(24px,4.5vh,42px)!important;
    align-items:center!important;
    text-align:center!important;
  }
  .page-home .hero-logo{
    width:min(94vw,680px)!important;
    max-height:340px!important;
    object-position:center!important;
    margin:0 auto -.35rem!important;
  }
  .page-home .hero-cta-panel{
    width:min(620px,100%)!important;
    max-width:100%!important;
    padding:.95rem .9rem 1rem!important;
    align-items:center!important;
    text-align:center!important;
  }
  .page-home .hero h1{
    margin:0 0 .9rem!important;
    font-size:.64rem!important;
    letter-spacing:.15em!important;
    text-align:center!important;
  }
  .page-home .hero .actions{
    width:100%!important;
    justify-content:center!important;
    gap:.7rem!important;
  }
  .page-home .hero .actions .btn{
    min-height:48px!important;
    padding:.82rem 1rem!important;
    font-size:.67rem!important;
    flex:1 1 170px;
  }
}

@media (max-width:480px){
  .page-home .hero-copy{
    translate:0 22px!important;
  }
}


/* =========================================================
   V1.45 — wedding brochure CTAs, updated portrait + client reviews
   ========================================================= */
.wedding-hero-actions,
.wedding-proof-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
  margin-top:.45rem;
}
.wedding-hero-actions .btn,
.wedding-proof-actions .btn{margin-top:0}

.hosting-client-review-quote{
  margin:1.35rem 0 1.4rem;
  padding:1.1rem 1.15rem 1rem;
  border-left:2px solid var(--gold);
  border-block:1px solid rgba(216,173,85,.14);
  background:rgba(216,173,85,.045);
}
.hosting-client-review-quote p{
  margin:0!important;
  color:rgba(243,236,220,.88)!important;
  font-family:var(--serif);
  font-size:clamp(1.15rem,1.55vw,1.45rem)!important;
  line-height:1.28!important;
}
.hosting-client-review-quote cite{
  display:block;
  margin-top:.8rem;
  color:var(--gold2);
  font-family:var(--sans);
  font-style:normal;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.5;
  text-transform:uppercase;
}

.exp-client-review{
  margin-top:clamp(2.2rem,4vw,3.6rem);
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
  padding:clamp(1.5rem,3vw,2.4rem);
  border:1px solid rgba(216,173,85,.22);
  background:
    radial-gradient(circle at 90% 10%,rgba(216,173,85,.08),transparent 18rem),
    rgba(7,7,7,.55);
  position:relative;
  overflow:hidden;
}
.exp-client-review:before{
  content:"“";
  position:absolute;
  right:.2rem;
  top:-.55rem;
  font-family:var(--serif);
  font-size:9rem;
  line-height:1;
  color:rgba(216,173,85,.08);
  pointer-events:none;
}
.exp-client-review blockquote{
  position:relative;
  z-index:1;
  max-width:1050px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.45rem,2.4vw,2.35rem);
  line-height:1.08;
  color:var(--paper);
}
.exp-client-review cite{
  position:relative;
  z-index:1;
  display:block;
  margin-top:1rem;
  color:var(--gold2);
  font-style:normal;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

@media(max-width:820px){
  .wedding-hero-actions,
  .wedding-proof-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .wedding-hero-actions .btn,
  .wedding-proof-actions .btn{width:100%}
  .hosting-client-review-quote{padding:1rem .95rem}
  .hosting-client-review-quote p{font-size:1.12rem!important}
  .exp-client-review{padding:1.35rem 1.1rem}
  .exp-client-review blockquote{font-size:clamp(1.35rem,6.4vw,1.85rem)}
}


/* =========================================================
   V1.46 — weddings image swap + top story face crop fix
   ========================================================= */

/* WEDDINGS — first close-up-magic panel now uses the requested replacement
   image. The opening light-section photograph is biased upward so Richard
   face remains fully visible inside the framed crop. */
.page-weddings-hidden .wedding-story-photo img{
  object-position:center 22%!important;
}
@media(max-width:820px){
  .page-weddings-hidden .wedding-story-photo img{
    object-position:center 18%!important;
  }
}


/* =========================================================
   V1.48 — About journey centring + full Newsquest testimonial
   ========================================================= */

/* ABOUT — keep the Journey introduction on the true centre line at every
   viewport size. Earlier mobile rules deliberately left-aligned this block;
   this override makes the eyebrow, heading and supporting copy all centre. */
.page-about .about-story-head,
.about-page .about-story-head{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.page-about .about-story-head .eyebrow,
.page-about .about-story-head .display,
.page-about .about-story-head .lead,
.about-page .about-story-head .eyebrow,
.about-page .about-story-head .display,
.about-page .about-story-head .lead{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.page-about .about-story-head .lead,
.about-page .about-story-head .lead{
  max-width:880px!important;
}

/* EXPERIENCES — prominent client testimonial for Hosting & Speaking. */
.hosting-client-review-quote{
  margin:1.65rem 0 1.45rem;
  padding:1.35rem 1.45rem;
  border-left:3px solid var(--gold);
  border-top:1px solid rgba(216,173,85,.18);
  border-right:1px solid rgba(216,173,85,.12);
  border-bottom:1px solid rgba(216,173,85,.12);
  background:rgba(216,173,85,.045);
}
.hosting-client-review-quote:before{
  content:"Client words";
  display:block;
  margin-bottom:.75rem;
  color:var(--gold2);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hosting-client-review-quote p{
  margin:0!important;
  color:rgba(243,236,220,.86)!important;
  font-family:var(--serif);
  font-size:clamp(1.15rem,1.45vw,1.45rem)!important;
  line-height:1.36!important;
}
.hosting-client-review-quote cite{
  display:block;
  margin-top:1rem;
  color:var(--gold2);
  font-size:.68rem;
  font-style:normal;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.5;
  text-transform:uppercase;
}
@media(max-width:820px){
  .hosting-client-review-quote{padding:1.15rem 1rem;margin:1.35rem 0}
  .hosting-client-review-quote p{font-size:1.08rem!important}
}
