@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--bg:#0c0e10;--panel:#15191d;--text:#f5f1e9;--muted:#b8b6b0;--gold:#d4b783}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1240px;margin:auto;padding:0 28px}header{position:sticky;top:0;z-index:10;background:rgba(12,14,16,.95);border-bottom:1px solid #ffffff20;backdrop-filter:blur(14px)}nav{min-height:84px;display:flex;align-items:center;gap:32px;justify-content:space-between}.brand{font-family:'Playfair Display',Georgia,serif;font-size:24px;letter-spacing:.09em}.brand span{color:var(--gold)}.links{display:flex;gap:26px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.links a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border:1px solid var(--gold);background:var(--gold);color:#101112;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.15em}.btn.outline{background:transparent;color:var(--text)}.btn:hover{filter:brightness(1.14)}.hero{min-height:690px;position:relative;display:flex;align-items:end;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0e10 0%,#0c0e10cc 35%,#0c0e1020 90%),linear-gradient(0deg,#0c0e10 0%,transparent 45%),url('images/hero.png') center 29%/cover no-repeat}.hero .wrap{position:relative;width:100%;padding-top:110px;padding-bottom:110px}.eyebrow{font-size:12px;letter-spacing:.27em;text-transform:uppercase;color:var(--gold);font-weight:700}h1,h2,h3,p{margin-top:0}h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(54px,7vw,112px);line-height:1.04;letter-spacing:-.035em;max-width:790px;margin:20px 0}h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.5vw,64px);font-weight:400;line-height:1.13;margin:14px 0 25px}h3{font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:400}.lead{font-size:19px;line-height:1.7;color:#e3e0db;max-width:610px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.section{padding:105px 0}.section.alt{background:#14171a}.section-head{max-width:780px;margin-bottom:42px}.section p{color:var(--muted);line-height:1.85}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#1c2024;overflow:hidden}.card img{width:100%;height:320px;object-fit:cover}.card .copy{padding:28px}.card .copy p{min-height:76px}.small-link{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split img{width:100%;max-height:620px;object-fit:cover}.feature{background:#090909;overflow:hidden}.feature .split{gap:60px}.feature img{max-height:680px;object-fit:contain}.strip{border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28;padding:28px 0;text-align:center;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);font-size:12px}.pagehero{padding:110px 0 80px;background:linear-gradient(120deg,#171b20,#090b0d)}.pagehero h1{font-size:clamp(52px,6vw,90px)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery img{width:100%;height:520px;object-fit:cover}.contactbox{padding:45px;background:#1b1e22}.contactbox input,.contactbox textarea,.contactbox select{width:100%;background:#0e1114;color:white;border:1px solid #555;padding:15px;font:inherit;margin:8px 0 17px}.contactbox label{font-size:13px;color:#ddd}.contactbox textarea{min-height:125px}.foot{padding:60px 0 28px;border-top:1px solid #ffffff20}.foot .cols{display:flex;justify-content:space-between;gap:24px}.foot small{display:block;margin-top:50px;color:#8c8b89} @media(max-width:800px){nav{min-height:70px;flex-wrap:wrap;padding:14px 0}.links{width:100%;justify-content:space-between;gap:10px;font-size:10px}.links .btn{display:none}.hero{min-height:650px}.hero:before{background:linear-gradient(0deg,#0c0e10 3%,#0c0e10a0 50%,#0c0e1040 100%),url('images/hero.png') 57% center/cover no-repeat}.hero .wrap{padding-bottom:60px}.section{padding:70px 0}.split,.cards,.gallery{grid-template-columns:1fr}.gallery img{height:auto}.card img{height:270px}.foot .cols{display:block}.feature .split img{max-height:450px}.lead{font-size:17px}}
/* Theatrical redesign — real supplied photography, no generated portraits */
:root{--bg:#070707;--panel:#14100d;--gold:#e4bd67;--text:#fff7e9;--muted:#d3c8b8}body{background:#070707}header{background:#080808f5;border-bottom:1px solid #d6ab5c55}.brand{font-size:25px;letter-spacing:.12em}.brand span{font-style:italic;font-weight:400;color:#f5d998}.btn{background:linear-gradient(125deg,#ad7c31,#f8df9d 48%,#bc8735);border-color:#e5c377;color:#160e04;box-shadow:0 0 26px #d4a65228;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 0 34px #f3cc7055}.btn.outline{background:#080808c9;border-color:#f4d79d;color:#fff}.hero{min-height:750px}.hero:before{background:linear-gradient(90deg,#050505 0%,#050505ed 26%,#05050590 51%,#05050500 100%),linear-gradient(0deg,#060606 0%,transparent 28%),url('images/hero.png') 78% 30%/auto 120% no-repeat;background-color:#080808}.hero .wrap{padding-top:125px;padding-bottom:135px}.hero h1{font-size:clamp(57px,7vw,104px);max-width:800px;text-shadow:0 4px 25px #000}.hero h1 em{font-style:normal;color:#f5d993}.eyebrow{color:#e7c87f}.strip{background:linear-gradient(90deg,#130d06,#2d1c0a,#130d06);color:#f6da97;border-color:#bd9444}.section-head h2,.feature h2{color:#f5d994}.card{background:#130f0b;border:1px solid #cda65955}.card img{filter:none}.card .copy{background:linear-gradient(#1c1510,#0e0b09)}.small-link{color:#f4d389}.feature{background:radial-gradient(circle at 80% 40%,#2d1b0c,#060606 65%)}.pagehero{background:radial-gradient(circle at 85% 5%,#5d3813,#090807 55%)}.contactbox{background:#17120c;border:1px solid #b9914a66}.foot{background:#080706;border-color:#c9a65a44}
@media(max-width:800px){.hero{min-height:730px}.hero:before{background:linear-gradient(0deg,#050505 2%,#050505d9 30%,#05050585 65%,#05050555 100%),url('images/hero.png') 62% top/auto 78% no-repeat;background-color:#070707}.hero .wrap{padding-top:330px;padding-bottom:55px}.hero h1{font-size:clamp(48px,11vw,72px)}.links{flex-wrap:wrap;justify-content:center}.links a{font-size:10px}.brand{font-size:20px}}

@media(min-width:800px){.cards:has(.card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}}

.review{border-left:3px solid #c9a76b;padding:20px 24px;margin:24px 0;background:#171719;color:#f2e9dc;font-size:1.2rem;line-height:1.65}.review footer{font-size:.85rem;color:#d7ba85;margin-top:14px}.review a{color:#d7ba85}
/* Photo-safe responsive layout: preserve original faces and headroom. */
.hero:before{background:linear-gradient(90deg,#050505 0%,#050505ed 29%,#0505056a 58%,transparent 100%),linear-gradient(0deg,#060606 0%,transparent 25%),url('images/hero.png') right top / auto 100% no-repeat;background-color:#070707}
.card img{height:340px;object-fit:contain;object-position:center top;background:#0d0b09}
.gallery img{height:auto;max-height:680px;object-fit:contain;object-position:center top;background:#0d0b09}
.split img{object-fit:contain;object-position:center top}
@media(max-width:800px){.hero{min-height:760px}.hero:before{background:linear-gradient(0deg,#050505 0%,#050505ec 25%,#05050555 54%,transparent 85%),url('images/hero.png') center top / auto 62% no-repeat;background-color:#070707}.hero .wrap{padding-top:350px;padding-bottom:52px}.card img{height:auto;max-height:450px;width:100%;object-fit:contain}.gallery img{max-height:600px}}
@media(min-width:801px) and (max-width:1100px){.hero:before{background-position:right top;background-size:auto 90%}}

.pagehero h1 em{font-style:normal;color:#f4d389}.links a[aria-current='page']{color:#f4d389}.foot .cols>div:last-child{display:flex;gap:14px;flex-wrap:wrap;align-items:start}@media(max-width:800px){.links{gap:9px}.links a{font-size:9px}}

.instagram-link{white-space:nowrap;color:#dfc18b!important}

.video-frame{position:relative;width:100%;aspect-ratio:16/9;margin:26px 0;background:#000;border:1px solid #80683c;border-radius:12px;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width:900px){.links{flex-wrap:wrap}}

/* Genuine performer photos and genuine YouTube video thumbnail */
.showreel-cover{display:block;position:relative;aspect-ratio:16/9;background:#101010;overflow:hidden;border:1px solid #927744;border-radius:12px}
.showreel-cover>img{display:block;width:100%;height:100%;object-fit:contain;background:#101010}
.showreel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:rgba(10,10,10,.85);color:#efd18a;border:2px solid #d8b875;font-size:30px;box-shadow:0 6px 25px #0008}
.showreel-cover:hover .showreel-play{background:#6d5529;color:white}
.cards .card img.media-original-photo{width:100%;height:240px;object-fit:contain;object-position:center;background:#101010}
@media(max-width:650px){.showreel-play{width:58px;height:58px;font-size:23px}.cards .card img.media-original-photo{height:auto;max-height:320px;object-fit:contain}}


/* Homepage portrait: preserve the uploaded photograph and keep Duncan's head in frame. */
.hero:before{background:linear-gradient(90deg,#050505 0%,#050505ed 28%,#0505058a 54%,#05050518 100%),linear-gradient(0deg,#050505 0%,transparent 35%),url('images/homepage-portrait.webp') 82% 30% / auto 105% no-repeat;background-color:#070707}
@media(max-width:800px){
 .hero{min-height:780px}
 .hero:before{background:linear-gradient(0deg,#050505 0%,#050505fa 26%,#050505c0 40%,#05050508 72%),url('images/homepage-portrait.webp') center 0 / auto 470px no-repeat;background-color:#070707}
 .hero .wrap{padding-top:420px;padding-bottom:54px}
 .hero h1{font-size:clamp(43px,10vw,64px)}
}
@media(max-width:420px){.hero:before{background-size:auto 420px}.hero .wrap{padding-top:385px}}

/* Live entertainment card: keep Duncan’s head visible at all sizes */
.card img[src="images/live-entertainment-original.webp"]{object-fit:contain;object-position:center top;background:#090909}

/* Dedicated show pages */
.show-feature .split{align-items:center}.show-feature .split>div p{max-width:630px}.show-feature .split>img{width:100%;height:auto;max-height:760px;object-fit:contain;object-position:center top;border:1px solid #cda65955}.show-feature.alt{background:radial-gradient(circle at 85% 35%,#2d1b0c,#10100f 70%)}@media(max-width:800px){.show-feature .split{gap:30px}.show-feature .split>img{max-height:none;width:100%}}

/* Shows page: artwork first, then copy, at every screen size */
.shows-pagehero{padding:48px 0 28px}.shows-pagehero h1{font-size:clamp(42px,5vw,68px);margin:12px 0}.shows-pagehero .lead{max-width:850px;margin-bottom:0}
.show-feature{padding:32px 0 82px}.show-stack{display:flex;flex-direction:column;align-items:center;gap:34px}.show-stack>img{display:block;width:auto;max-width:min(100%,850px);height:auto;max-height:none;object-fit:contain;border:1px solid #cda65955}.show-stack>div{width:100%;max-width:850px}.show-stack>div p{max-width:850px}.show-stack h2{color:#f5d994}
@media(max-width:800px){.shows-pagehero{padding:28px 0 16px}.shows-pagehero .lead{font-size:15px}.show-feature{padding:18px 0 58px}.show-stack{gap:25px}.show-stack>img{max-width:100%}}

/* Premium compact landing page — original photograph, no AI facial alterations */
.luxury-home{background:#080807;color:#fff7e9;min-height:100svh}.lux-header{position:relative;z-index:50;background:#080807;border-bottom:1px solid #c7a36445}.lux-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.lux-header .brand{font-size:clamp(20px,2.3vw,29px);white-space:nowrap}.lux-contact{font-size:11px;letter-spacing:.22em;color:#eac984;margin-left:auto}.lux-menu-button{border:1px solid #b7955d8c;background:#14100c;color:#e7c27d;width:44px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.lux-menu-button span{height:1px;width:20px;background:#edcf8d}.lux-menu[hidden]{display:none!important}.lux-menu{position:absolute;right:max(20px,calc((100vw - 1184px)/2));top:calc(100% - 1px);width:min(360px,calc(100vw - 40px));display:grid;background:#100d09;border:1px solid #a9874d;box-shadow:0 20px 80px #000d;padding:16px;z-index:100}.lux-menu a{display:block;padding:13px 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #ad8e5430}.lux-menu a:hover{color:#f1d38e;background:#292014}.lux-landing{position:relative;min-height:calc(100svh - 126px);display:flex;align-items:center;isolation:isolate;overflow:hidden}.lux-photo{position:absolute;inset:0 0 0 47%;background:#171717 url('images/homepage-portrait.webp') center 13%/cover no-repeat;z-index:-2}.lux-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080807 0%,#080807 22%,#080807e8 41%,#08080752 66%,#0808071a 100%),linear-gradient(0deg,#080807 0%,transparent 25%)}.lux-content{width:100%;padding-top:66px;padding-bottom:60px}.lux-eyebrow{color:#e7c580;letter-spacing:.25em;font-size:11px;font-weight:600}.lux-eyebrow b{font-weight:400;margin:0 5px}.lux-content h1{font-size:clamp(58px,7.2vw,112px);margin:20px 0 0;max-width:760px;line-height:1.02}.lux-content h1 em{color:#eecb86;font-style:italic}.lux-tagline{font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,3.5vw,48px);margin:8px 0 20px;color:#f4e5c9}.lux-intro{font-size:clamp(14px,1.35vw,18px);line-height:1.8;max-width:510px;color:#e7dfd1}.lux-intro strong{font-weight:500;color:#f1d28f}.lux-cta{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:26px 0 44px}.lux-cta .btn{font-size:11px;min-height:50px}.lux-text-link{font-size:11px;letter-spacing:.15em;color:#f4d69a;border-bottom:1px solid #bb985e;padding-bottom:6px}.lux-text-link span{padding-left:8px}.lux-explore-label{font-size:10px;color:#e7c580;letter-spacing:.28em;margin-bottom:14px}.lux-explore-label span{color:#a99982}.lux-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:840px}.lux-tiles a{min-height:79px;padding:15px 15px;display:flex;align-items:center;gap:12px;background:#0e0b08df;border:1px solid #ad874d7a;font-size:11px;letter-spacing:.13em;transition:background .2s,border-color .2s}.lux-tiles a:hover{background:#302213;border-color:#eacb83}.tile-num{font-size:10px;color:#9e865e;align-self:flex-start}.tile-arrow{margin-left:auto;color:#e7c580;font-size:16px}.lux-bottom{min-height:48px;border-top:1px solid #b4935a52;background:#090806;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(28px,calc((100vw - 1184px)/2));font-size:10px;letter-spacing:.22em;color:#d5b779}.lux-bottom a{white-space:nowrap}
@media(max-width:800px){.lux-nav{min-height:66px}.lux-contact{display:none}.lux-landing{display:block;min-height:0}.lux-photo{inset:0 0 auto 0;height:clamp(285px,72vw,480px);background-position:center 8%;background-size:auto 100%}.lux-vignette{background:linear-gradient(0deg,#080807 0%,#080807 19%,#080807b5 39%,transparent 66%)}.lux-content{padding-top:clamp(280px,73vw,480px);padding-bottom:28px}.lux-eyebrow{font-size:9px;line-height:1.8;letter-spacing:.15em}.lux-content h1{font-size:clamp(45px,10vw,70px);margin:10px 0 0}.lux-tagline{font-size:clamp(26px,6.5vw,39px);margin:4px 0 13px}.lux-intro{font-size:14px;line-height:1.65}.lux-cta{gap:16px;margin:22px 0 32px}.lux-cta .btn{width:100%}.lux-text-link{margin:0 auto}.lux-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lux-tiles a{min-height:82px;padding:12px 9px;font-size:10px;letter-spacing:.07em;gap:5px}.tile-num{font-size:9px}.tile-arrow{font-size:13px}.lux-bottom{padding:13px 20px;font-size:9px;letter-spacing:.1em}.lux-header .brand{font-size:21px}}
@media(max-width:360px){.lux-tiles a{font-size:9px}.lux-content h1{font-size:43px}.lux-bottom{font-size:8px}}

/* Premium photographic navigation tiles */
.lux-tiles .photo-tile{position:relative;isolation:isolate;overflow:hidden;min-height:142px;align-items:flex-end;background:#17120e;border:1px solid #b69761a0;padding:16px;text-shadow:0 2px 10px #000;transition:transform .25s,border-color .25s;box-shadow:inset 0 0 0 1px #0005}
.lux-tiles .photo-tile::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center 25%;background-size:cover;filter:grayscale(35%);transition:transform .35s,filter .35s}
.lux-tiles .photo-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080705f2 0%,#080705a8 37%,#08070524 100%)}
.lux-tiles .photo-tile:hover{border-color:#f0d496;transform:translateY(-2px);background:#17120e}
.lux-tiles .photo-tile:hover::before{transform:scale(1.04);filter:grayscale(10%)}
.lux-tiles .photo-tile>span:nth-child(2){font-weight:600;color:#f5e2bb;line-height:1.35}
.lux-tiles .tile-shows::before{background-image:url('images/sinatra-poster.png')}
.lux-tiles .tile-live::before{background-image:url('images/live-entertainment-original.webp')}
.lux-tiles .tile-media::before{background-image:url('images/duncan-showreel-artwork.jpg')}
.lux-tiles .tile-weddings::before{background-image:url('images/wedding.jpg')}
.lux-tiles .tile-hosting::before{background-image:url('images/editorial.jpg')}
.lux-tiles .tile-waiters::before{background-image:url('images/celebration.jpg')}
@media(max-width:800px){.lux-tiles .photo-tile{min-height:128px;padding:11px;gap:6px}.lux-tiles .photo-tile::before{background-position:center 22%}}

/* Photo tile repair: real image elements, explicit stacking above tile backgrounds. */
.lux-tiles .photo-tile{position:relative;isolation:isolate;background:#17120e!important;overflow:hidden;z-index:0}
.lux-tiles .photo-tile::before{content:none!important}
.lux-tiles .photo-tile::after{z-index:1!important;pointer-events:none}
.lux-tiles .photo-tile .tile-image{display:block!important;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:grayscale(25%);z-index:0;opacity:1;transition:transform .35s}
.lux-tiles .photo-tile>span{position:relative;z-index:2}
.lux-tiles .photo-tile:hover .tile-image{transform:scale(1.04)}
.lux-tiles .tile-shows .tile-image{object-position:center 30%}
.lux-tiles .tile-live .tile-image{object-position:center 18%}
.lux-tiles .tile-media .tile-image{object-position:center 20%}

/* Understated TV appearance credit; typographic treatment, not broadcaster's official logo */
.voice-credit{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:22px auto 20px;color:#c8ae79;opacity:.88;text-align:center}
.voice-credit-prefix{font-size:10px;letter-spacing:.2em;font-weight:500}
.voice-credit-mark{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.08em;color:#e8e1d5;border-left:1px solid rgba(210,178,114,.45);padding-left:12px;white-space:nowrap}
.voice-credit-mark strong{font-size:17px;font-weight:800;letter-spacing:-.04em;color:#e8e1d5}
.voice-credit-mark small{font-size:9px;vertical-align:top;margin-left:3px}
@media(max-width:500px){.voice-credit{gap:7px;margin:15px auto 16px}.voice-credit-prefix{font-size:9px}.voice-credit-mark{font-size:11px;padding-left:9px}.voice-credit-mark strong{font-size:15px}}

/* Original The Voice UK artwork, recoloured to match the luxury gold palette. */
.voice-credit-logo{display:block;width:106px;height:auto;max-height:88px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(212,169,88,.13))}
@media(max-width:500px){.voice-credit-logo{width:85px;max-height:72px}}

/* Full-photo luxury tiles: show every original face and every piece of poster text. */
.lux-tiles .photo-tile{min-height:232px!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:14px 12px!important;background:#0a0908!important;gap:7px!important}
.lux-tiles .photo-tile .tile-image{inset:7px 7px 58px!important;width:calc(100% - 14px)!important;height:calc(100% - 65px)!important;object-fit:contain!important;object-position:center center!important;filter:none!important;transform:none!important}
.lux-tiles .photo-tile:hover .tile-image{transform:none!important}
.lux-tiles .photo-tile::after{background:linear-gradient(0deg,#080705 0%,#080705 24%,transparent 40%)!important}
.lux-tiles .photo-tile>span{position:relative!important;z-index:2!important}
.lux-tiles .photo-tile .tile-num{position:absolute!important;top:10px;left:11px;background:#0b0908c9;padding:3px 5px;color:#e5c98b!important}
.lux-tiles .photo-tile .tile-arrow{align-self:flex-end}
@media(max-width:800px){.lux-tiles .photo-tile{min-height:205px!important;padding:12px 9px!important}.lux-tiles .photo-tile .tile-image{inset:5px 5px 55px!important;width:calc(100% - 10px)!important;height:calc(100% - 60px)!important}}

/* Uniform photo cards: identical image areas and label bars on all screens. */
.lux-tiles{align-items:stretch;grid-auto-rows:280px!important}
.lux-tiles .photo-tile{height:280px!important;min-height:0!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:auto 1fr auto!important;grid-template-rows:1fr 56px!important;align-items:center!important;gap:0!important;padding:0 12px!important;background:#0b0908!important}
.lux-tiles .photo-tile .tile-image{position:absolute!important;top:8px!important;left:8px!important;right:8px!important;bottom:auto!important;width:calc(100% - 16px)!important;height:calc(100% - 72px)!important;object-fit:contain!important;object-position:center center!important;filter:none!important}
.lux-tiles .photo-tile::after{content:none!important}
.lux-tiles .photo-tile .tile-num{top:12px!important;left:12px!important}
.lux-tiles .photo-tile>span:not(.tile-num):not(.tile-arrow){grid-column:1 / 3!important;grid-row:2!important;align-self:center!important;font-size:11px!important;line-height:1.35!important;letter-spacing:.06em!important}
.lux-tiles .photo-tile .tile-arrow{grid-column:3!important;grid-row:2!important;align-self:center!important;margin-left:8px!important}
@media(max-width:800px){.lux-tiles{grid-auto-rows:235px!important}.lux-tiles .photo-tile{height:235px!important;padding:0 9px!important}.lux-tiles .photo-tile .tile-image{top:6px!important;left:6px!important;width:calc(100% - 12px)!important;height:calc(100% - 65px)!important}.lux-tiles .photo-tile>span:not(.tile-num):not(.tile-arrow){font-size:10px!important}}

/* Equal-size photo panels: originals letterboxed, never cropped */
.lux-tiles .photo-tile .tile-image{object-fit:fill!important;object-position:center!important;filter:none!important;top:6px!important;left:6px!important;width:calc(100% - 12px)!important;height:calc(100% - 68px)!important;bottom:auto!important}
.lux-tiles .photo-tile{overflow:hidden!important}

/* Cinematic showreel movement behind original homepage portrait */
.lux-landing{isolation:isolate}
.cinematic-video{position:absolute;inset:0 0 0 47%;width:53%;height:100%;object-fit:cover;z-index:-3;filter:grayscale(1) brightness(.6);pointer-events:none}
.lux-photo{background-color:transparent;opacity:.76}
@media(max-width:700px){.cinematic-video{inset:0 0 0 25%;width:75%}.lux-photo{opacity:.7}}
@media(prefers-reduced-motion:reduce){.cinematic-video{display:none}.lux-photo{opacity:1}}

/* Singing Waiters: silent cinematic header footage */
.waiter-video-hero{position:relative;isolation:isolate;overflow:hidden;min-height:470px;display:flex;align-items:center;background:#0b0907}
.waiter-header-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;filter:brightness(.68)}
.waiter-video-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 70%)}
.waiter-video-hero>.wrap{width:100%;position:relative}
@media(max-width:700px){.waiter-video-hero{min-height:450px}.waiter-video-hero::before{background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.35))}}
@media(prefers-reduced-motion:reduce){.waiter-header-video{display:none}}

/* Unified six square homepage cards, without number badges */
.lux-tiles{grid-auto-rows:auto!important;align-items:stretch!important}
.lux-tiles .photo-tile{aspect-ratio:1 / 1!important;height:auto!important;min-height:0!important;width:100%!important}
.lux-tiles .photo-tile .tile-num{display:none!important}
@media(max-width:800px){.lux-tiles{grid-auto-rows:auto!important}.lux-tiles .photo-tile{height:auto!important;min-height:0!important;aspect-ratio:1 / 1!important}}
/* Static homepage portrait; no moving video */
.luxury-home .cinematic-video{display:none!important}

/* Consistent edge-to-edge image treatment across all six square tiles.
   Cover crops without distortion; originals remain untouched. */
.lux-tiles .photo-tile .tile-image{
  position:absolute!important;
  inset:0!important;
  top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
  transform:none!important;
}
.lux-tiles .photo-tile:hover .tile-image{transform:scale(1.035)!important}

/* Legible, consistent captions in a dedicated lower band. */
.lux-tiles .photo-tile{grid-template-rows:1fr 64px!important;padding:0 14px!important}
.lux-tiles .photo-tile::after{content:""!important;display:block!important;position:absolute!important;inset:auto 0 0!important;height:68px!important;background:rgba(8,7,7,.92)!important;z-index:1!important;pointer-events:none!important}
.lux-tiles .photo-tile>span:not(.tile-arrow){color:#fff2d6!important;font-size:clamp(10px,1.15vw,14px)!important;font-weight:700!important;letter-spacing:.055em!important;line-height:1.25!important;text-shadow:0 1px 2px #000!important}
.lux-tiles .photo-tile .tile-arrow{color:#f3d18b!important;font-size:19px!important}
@media(max-width:800px){.lux-tiles .photo-tile{grid-template-rows:1fr 60px!important;padding:0 10px!important}.lux-tiles .photo-tile::after{height:64px!important}.lux-tiles .photo-tile>span:not(.tile-arrow){font-size:10px!important;letter-spacing:.02em!important}}

/* Larger photographic crop with slimmer, bottom-aligned captions. */
.lux-tiles .photo-tile .tile-image{transform:scale(1.075)!important;transform-origin:center center!important}
.lux-tiles .photo-tile:hover .tile-image{transform:scale(1.095)!important}
.lux-tiles .photo-tile{grid-template-rows:1fr 43px!important;padding:0 12px 3px!important;align-items:end!important}
.lux-tiles .photo-tile::after{height:48px!important;background:linear-gradient(to top,rgba(8,7,7,.95),rgba(8,7,7,.86))!important}
.lux-tiles .photo-tile>span:not(.tile-arrow),.lux-tiles .photo-tile .tile-arrow{align-self:end!important;margin-bottom:9px!important}
@media(max-width:800px){.lux-tiles .photo-tile{grid-template-rows:1fr 40px!important;padding:0 9px 2px!important}.lux-tiles .photo-tile::after{height:45px!important}.lux-tiles .photo-tile>span:not(.tile-arrow),.lux-tiles .photo-tile .tile-arrow{margin-bottom:8px!important}}

/* Flexible entertainment packages */
.packages-section{background:radial-gradient(ellipse at 85% 10%,rgba(159,111,51,.14),transparent 48%),linear-gradient(135deg,#080807,#17120e 55%,#080807);border-top:1px solid rgba(207,165,101,.22);border-bottom:1px solid rgba(207,165,101,.22)}
.packages-intro{text-align:center;max-width:780px;margin:0 auto 42px}.packages-intro .eyebrow{color:#caa36d;letter-spacing:.28em}.packages-intro h2{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.3rem);font-weight:400;letter-spacing:.065em;line-height:1.15;color:#f5eadb;text-transform:uppercase;margin:14px 0 22px}.packages-intro h2 em{color:#d5aa72;font-style:normal}.packages-intro p{max-width:610px;margin:auto;color:#e2d9cd;line-height:1.7}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.package-option{display:flex;align-items:center;gap:22px;padding:22px;background:linear-gradient(120deg,rgba(30,25,21,.95),rgba(10,10,10,.94));border:1px solid rgba(208,165,103,.35);border-radius:12px;min-height:200px;box-shadow:0 12px 35px rgba(0,0,0,.22)}.package-photo{width:142px;height:142px;flex:0 0 142px;border:2px solid #c69a5c;border-radius:50%;padding:4px;box-shadow:0 0 24px rgba(211,156,80,.19)}.package-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.package-detail{min-width:0}.package-number{font-size:.68rem;letter-spacing:.22em;color:#d5aa72}.package-detail h3{font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;letter-spacing:.065em;text-transform:uppercase;color:#fff4e7;margin:10px 0}.package-detail p{color:#e0d5c9;line-height:1.55;margin:0}.packages-action{text-align:center;margin-top:35px}@media(max-width:760px){.package-grid{grid-template-columns:1fr}.package-option{gap:16px;padding:16px;min-height:145px}.package-photo{width:108px;height:108px;flex-basis:108px}.package-detail h3{font-size:1.24rem}.packages-intro{margin-bottom:28px}}@media(max-width:380px){.package-photo{width:88px;height:88px;flex-basis:88px}.package-option{gap:12px;padding:12px}.package-detail h3{font-size:1.05rem}.package-number{font-size:.59rem}}

/* Keep the three package portraits centered within their circular frames. */
.package-photo{box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1/1}
.package-photo img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:50% 50%;border-radius:50%;flex-shrink:0}
/* Keep the pianist option's portrait fully framed within its circular thumbnail. */
.package-option:nth-child(2) .package-photo img { object-position: 50% 18%; }

/* Equal visual billing for both signature productions */
.show-feature .show-stack{width:min(100% - 36px,850px);margin-inline:auto;gap:32px}
.show-feature .show-stack>img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;background:#0c0e10;border:1px solid #cda65966;box-sizing:border-box}
.show-feature .show-stack>div{width:100%;max-width:850px}
.show-feature .show-stack h2{font-size:clamp(34px,4.5vw,62px);line-height:1.08;min-height:2.2em}
.show-feature .show-stack .btn{margin-top:14px}
@media(max-width:800px){.show-feature .show-stack{width:min(100% - 24px,850px)}.show-feature .show-stack h2{min-height:0}}

/* Showreels & Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.gallery-photo{display:block;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(205,170,100,.4);background:#161719;border-radius:3px}.gallery-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s ease}.gallery-photo:hover img{transform:scale(1.045)}.gallery-lightbox[hidden]{display:none!important}.gallery-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px 18px 30px}.gallery-lightbox img{max-width:95vw;max-height:76vh;object-fit:contain}.gallery-lightbox p{color:#e4d3b2;text-align:center}.gallery-close{position:absolute;top:14px;right:24px;background:transparent;border:0;color:#fff;font-size:42px;cursor:pointer}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Gallery: preserve the entire original image and all faces, no destructive cropping */
.gallery-grid {align-items:stretch;}
.gallery-photo {display:flex;align-items:center;justify-content:center;background:#090909;overflow:hidden;}
.gallery-photo img {width:100%;height:100%;object-fit:contain !important;object-position:center center !important;}
.gallery-lightbox img {object-fit:contain !important;object-position:center center !important;}

/* Mac / desktop layout correction: keep headline clear of supporting copy. */
@media (min-width:801px) {
  .lux-landing { align-items:flex-start; overflow:visible; }
  .lux-content { position:relative; z-index:1; padding-top:clamp(45px,5vw,82px); padding-bottom:64px; }
  .lux-content h1 { font-size:clamp(48px,5.2vw,82px); line-height:1.13; max-width:min(660px,56vw); overflow-wrap:normal; margin:20px 0 14px; }
  .lux-tagline { clear:both; margin:0 0 20px; line-height:1.25; }
  .lux-eyebrow,.lux-intro,.voice-credit,.lux-cta { position:relative; }
  .lux-tiles { margin-top:12px; }
}
@media (min-width:801px) and (max-width:1150px) {
  .lux-content h1 { font-size:clamp(47px,5.1vw,65px); max-width:58vw; }
  .lux-tagline { font-size:clamp(27px,3vw,36px); }
}

/* Authentic original portrait: original RGB pixels are unchanged; only its background is transparent. */
.lux-landing{isolation:isolate;background:#080706}
.theatre-stage{position:absolute;inset:0;z-index:-4;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#080605 0%,#15100b 63%,#3a2615 88%,#110d09 100%)}
.stage-lights{position:absolute;inset:0;background:
radial-gradient(ellipse 9% 5% at 52% 1%,#fff0c4 0%,#f6bb62 32%,transparent 80%),
radial-gradient(ellipse 8% 5% at 78% 1%,#fff1bf 0%,#f5b65e 35%,transparent 80%),
radial-gradient(ellipse 7% 5% at 95% 2%,#fff1c4 0%,#f9be6c 35%,transparent 80%),
linear-gradient(110deg,transparent 13%,rgba(255,194,92,.12) 28%,transparent 42%),
linear-gradient(72deg,transparent 54%,rgba(255,202,116,.23) 71%,transparent 88%),
linear-gradient(90deg,transparent 0%,rgba(238,173,84,.15) 52%,transparent 70%);
filter:drop-shadow(0 0 20px #b87c37)}
.stage-lights:before,.stage-lights:after{content:"";position:absolute;top:0;height:100%;width:65%;background:linear-gradient(90deg,transparent,rgba(255,204,119,.13),rgba(255,223,151,.24),rgba(255,204,119,.13),transparent);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);filter:blur(10px)}
.stage-lights:before{left:8%;transform:rotate(-17deg);transform-origin:50% 0}
.stage-lights:after{right:-12%;transform:rotate(18deg);transform-origin:50% 0}
.stage-haze{position:absolute;inset:10% -35%;opacity:.7;filter:blur(42px);background:radial-gradient(ellipse 25% 20% at 22% 58%,rgba(255,193,104,.32),transparent),radial-gradient(ellipse 31% 19% at 65% 74%,rgba(249,184,97,.27),transparent),radial-gradient(ellipse 25% 20% at 86% 45%,rgba(228,172,105,.23),transparent);animation:stageHazeFloat 19s ease-in-out infinite alternate}
.haze-two{opacity:.42;animation-duration:27s;animation-direction:alternate-reverse;transform:scale(1.15)}
@keyframes stageHazeFloat{from{translate:-9% 2%;opacity:.32}to{translate:10% -4%;opacity:.82}}
.lux-photo{background:transparent url('images/duncan-original-cutout.png') center 13%/contain no-repeat!important;opacity:1!important;filter:none!important;animation:none!important;z-index:-2!important}
.cinematic-video{display:none!important}
.lux-vignette{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#080807 0%,#080807 22%,#080807e8 41%,#08080766 62%,transparent 83%),linear-gradient(0deg,#080807 0%,transparent 25%)}
@media(max-width:800px){.lux-photo{background-position:center 8%!important;background-size:auto 100%!important}.stage-lights{background-size:100% 100%}}
@media(prefers-reduced-motion:reduce){.stage-haze{animation:none}}

/* Homepage reference artwork — exact supplied image, never recoloured or animated. */
.lux-landing{position:relative;isolation:isolate;background:#090705}
.theatre-stage{z-index:-3;background:#090705}
.stage-lights{display:none!important}
.lux-photo{position:absolute;inset:0;z-index:-2!important;background-image:url('images/homepage-stage-reference.png')!important;background-position:center top!important;background-size:cover!important;background-repeat:no-repeat!important;filter:none!important;opacity:1!important;animation:none!important}
.stage-haze{z-index:1;inset:0 -30%;pointer-events:none;filter:blur(36px);mix-blend-mode:screen;opacity:.34;background:radial-gradient(ellipse 22% 10% at 20% 69%,rgba(231,179,106,.24),transparent 80%),radial-gradient(ellipse 25% 13% at 66% 77%,rgba(233,176,98,.19),transparent 80%),radial-gradient(ellipse 17% 12% at 84% 54%,rgba(238,189,127,.15),transparent 80%);animation:stageReferenceMist 24s ease-in-out infinite alternate}
.stage-haze.haze-two{opacity:.23;animation-duration:32s;animation-delay:-12s}
@keyframes stageReferenceMist{0%{transform:translate3d(-8%,2%,0);opacity:.18}50%{opacity:.38}100%{transform:translate3d(8%,-3%,0);opacity:.22}}
.lux-vignette{z-index:-1!important;background:linear-gradient(0deg,rgba(6,5,4,.96) 0%,rgba(6,5,4,.72) 12%,transparent 42%),linear-gradient(90deg,rgba(5,4,3,.55),transparent 62%)}
@media(max-width:800px){.lux-photo{background-position:55% top!important;background-size: auto 580px!important}.lux-landing{background:#090705}.lux-vignette{background:linear-gradient(0deg,#080706 0%,rgba(8,7,6,.96) 19%,transparent 65%)}}
@media(prefers-reduced-motion:reduce){.stage-haze{animation:none!important}}
/* Exact approved stage image, unchanged: no tint or animated layers over portrait. */
.lux-photo{background-image:url('images/homepage-stage-reference.png')!important;background-position:center top!important;background-size:contain!important;background-color:#080604!important}
.theatre-stage,.stage-haze,.stage-lights{display:none!important}
@media(max-width:800px){.lux-photo{background-size:100% auto!important;background-position:center top!important}}
/* Approved static homepage photograph: no animation, no alteration */
.lux-photo{background-image:url('images/homepage-stage-reference.png')!important;background-size:contain!important;background-position:center top!important;background-repeat:no-repeat!important;filter:none!important;animation:none!important}
.theatre-stage,.stage-haze,.stage-lights{display:none!important}

/* Homepage finishing touches */
.lux-tiles{margin-top:34px!important}
@media(max-width:800px){.lux-tiles{margin-top:24px!important}}
.prestige-section{position:relative;background:#0b0908;color:#f4eee3;padding:70px 20px 82px;text-align:center;border-top:1px solid rgba(210,170,95,.24)}
.prestige-section .wrap{max-width:1160px;margin:auto}
.prestige-kicker{font-size:11px;letter-spacing:.3em;color:#cba76a;font-weight:700;margin:0 0 14px}
.prestige-section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(27px,3.6vw,45px);margin:0 0 14px;color:#f2dfb9}
.prestige-intro{color:#b9afa1;font-size:14px;margin:0 0 35px}
.prestige-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.prestige-grid span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:95px;padding:16px 10px;border:1px solid rgba(207,164,94,.27);background:rgba(255,255,255,.025);color:#e7c990;font-family:Georgia,serif;font-size:clamp(14px,1.4vw,18px);line-height:1.4}
.prestige-grid small{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.02em;color:#b8a996;margin-top:3px}
@media(max-width:850px){.prestige-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prestige-section{padding:48px 14px 58px}.prestige-grid span{min-height:82px}}
/* Understated client and venue credits */
.prestige-section{padding:30px 20px 38px;border-top:1px solid rgba(210,170,95,.10);background:#0b0908}
.prestige-section .wrap{max-width:1000px}
.prestige-kicker{font-size:9px;letter-spacing:.24em;color:#9c8564;margin-bottom:7px;font-weight:500}
.prestige-section h2{font-family:Georgia,serif;font-size:clamp(17px,2vw,23px);color:#c7b79c;margin:0 0 8px}
.prestige-intro{font-size:11px;color:#857d72;margin:0 0 18px}
.prestige-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 24px}
.prestige-grid span{display:inline-flex;flex-direction:row;gap:4px;min-height:0;padding:2px 0;border:0;background:none;font-family:Arial,sans-serif;font-size:12px;font-weight:400;color:#b7a995;line-height:1.5}
.prestige-grid small{font-size:10px;color:#82796e;margin:0}
@media(max-width:850px){.prestige-section{padding:25px 18px 32px}.prestige-grid{gap:7px 15px}.prestige-grid span{font-size:11px}.prestige-grid small{font-size:9px}}

/* Refined homepage introduction, after entertainment tiles */
.about-home{background:#080808;color:#e8e3d9;padding:68px 20px 58px;text-align:center;}
.about-home-inner{max-width:780px;margin:0 auto;}
.about-home-rule{width:66px;height:1px;background:#ad8c52;margin:0 auto 28px;}
.about-home-kicker{font-size:10px;letter-spacing:.28em;color:#bda06e;margin:0 0 12px;}
.about-home h2{font-family:Georgia,serif;font-size:clamp(28px,4vw,43px);font-weight:400;line-height:1.2;margin:0 0 19px;color:#f4eee4;}
.about-home h2 em{font-weight:400;color:#c6a46c;}
.about-home p:not(.about-home-kicker):not(.about-home-roles){font-size:clamp(14px,1.65vw,16px);line-height:1.85;margin:0 auto 14px;max-width:690px;}
.about-home .about-home-lead{font-family:Georgia,serif;font-style:italic;font-size:clamp(17px,2vw,21px)!important;color:#d7bd90;margin-bottom:22px!important;}
.about-home strong{font-weight:600;color:#d7bd90;}
.about-home-roles{color:#bfa16d;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:2;margin:28px auto 0;}
.about-home-roles span{padding:0 6px;color:#7f6a48;}
@media(max-width:600px){.about-home{padding:48px 18px 44px}.about-home-roles{font-size:10px;letter-spacing:.04em}}

/* Direct booking contact options */
.direct-contact{padding:24px 20px;background:linear-gradient(145deg,#17130f,#0c0e10);border:1px solid rgba(204,167,99,.55);text-align:center;margin-bottom:14px}.direct-phone{display:block;color:#e9cf9d;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:.06em;font-weight:600;text-decoration:none;margin:12px 0 6px}.direct-email{display:block;color:#f3eadb;overflow-wrap:anywhere;text-decoration:none;font-size:.92rem}.direct-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:21px}.direct-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b8985b;color:#f4e6cd;padding:11px 13px;text-decoration:none;font-size:.7rem;letter-spacing:.08em;transition:background .2s}.direct-actions a:hover{background:#b8985b;color:#111}.contactbox select{width:100%;min-height:45px;background:#151515;color:#f4e6cd;border:1px solid #6c5b43;padding:10px;font:inherit}@media(max-width:520px){.direct-actions a{flex:1 1 100%}}

/* Branded WhatsApp contact action */
.direct-actions a.whatsapp-gold{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #c7a56a;color:#e7c78b;background:linear-gradient(145deg,rgba(191,151,82,.17),rgba(24,21,17,.3));text-decoration:none;transition:background .2s ease,transform .2s ease}
.direct-actions a.whatsapp-gold:hover,.direct-actions a.whatsapp-gold:focus-visible{background:rgba(199,165,106,.26);transform:translateY(-1px)}
.wa-gold-icon{width:22px;height:22px;flex:none;display:inline-block;color:#e1bd7a}

/* Elegant responsive contact page */
.lux-contact-layout{max-width:900px;margin:auto}.lux-contact-layout .contactbox{max-width:100%;background:transparent;border:0;padding:0}.lux-contact-panel{background:radial-gradient(ellipse at 50% 20%,#191714 0%,#0b0b0b 75%);border:1px solid #29221a;border-radius:20px;padding:clamp(25px,5vw,65px) clamp(14px,5vw,45px);text-align:center;color:#f4ede3;margin-bottom:36px}.lux-contact-rule{width:min(65%,340px);height:1px;background:#c4a16a;margin:0 auto 32px}.lux-contact-rule.short{width:110px;margin:26px auto}.lux-location{font-family:Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.35;color:#f3e8d7;margin:0}.lux-location span{font-size:.85em}.lux-intro{font-size:clamp(.95rem,2vw,1.13rem);line-height:1.8;max-width:650px;margin:0 auto 35px;color:#d8d0c6}.lux-contact-icons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,3vw,35px)}.lux-contact-icons a{display:flex;flex-direction:column;align-items:center;gap:13px;color:#f5ead8;text-decoration:none;font-family:Georgia,serif;letter-spacing:.11em;font-size:clamp(.68rem,1.7vw,1rem);line-height:1.4}.lux-icon-circle{width:clamp(68px,13vw,125px);aspect-ratio:1;border:1.5px solid #caa365;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#221c15,#090909);box-shadow:0 0 16px #caa36518;transition:transform .2s,box-shadow .2s}.lux-icon-circle svg{width:45%;height:45%;fill:none;stroke:#dcb677;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.lux-contact-icons a:hover .lux-icon-circle,.lux-contact-icons a:focus-visible .lux-icon-circle{transform:translateY(-3px);box-shadow:0 0 18px #caa36555}@media(max-width:420px){.lux-contact-panel{padding:30px 10px}.lux-contact-icons{gap:4px}.lux-contact-icons a{letter-spacing:.035em;font-size:.68rem}.lux-icon-circle{width:65px}}

/* Wedding-only champagne and ivory treatment; other pages unchanged */
body.wedding-soft{--gold:#ae8954;--text:#342c27;--muted:#655c54;background:#f5f0e8;color:#342c27}
.wedding-soft .pagehero{background:radial-gradient(circle at 88% 8%,#f0ddc9 0%,transparent 50%),linear-gradient(130deg,#fffaf3,#e9dfd3);border-bottom:1px solid #c7ad8e70}
.wedding-soft .pagehero h1{color:#3c302a}
.wedding-soft .pagehero .lead{color:#62564c}
.wedding-soft .eyebrow{color:#a17c4a}
.wedding-soft .section{background:#f9f5ef}
.wedding-soft .section.alt{background:#eee5da}
.wedding-soft .section h2,.wedding-soft .section-head h2{color:#4b3b32}
.wedding-soft .section p{color:#62584f}
.wedding-soft .split img,.wedding-soft .gallery img{border:1px solid #cdb99e;box-shadow:0 18px 48px #67503a18}
.wedding-soft .btn{background:linear-gradient(120deg,#aa8556,#e8d3a9 50%,#b18c5b);border-color:#b28f60;color:#2a2018}
.wedding-soft .foot{background:#100d0b;color:#fff7e9}
.wedding-soft .foot p{color:#d3c8b8}
@media(max-width:800px){.wedding-soft .pagehero{padding:65px 0 48px}.wedding-soft .section{padding:62px 0}.wedding-soft .pagehero h1{font-size:clamp(42px,11vw,64px)}}

/* Big Band: show complete head and prevent cropping on mobile */
.package-option:nth-child(3) .package-photo img{object-fit:contain!important;object-position:center center!important;background:#100c0a;}

/* MC & Host: preserve original portrait proportions, including full head */
.lux-tiles .tile-hosting::before{background-image:url('images/mc-host-original.jpg')}
.lux-tiles .tile-hosting .tile-image{object-fit:contain!important;transform:none!important;object-position:center center!important}
.lux-tiles .tile-hosting:hover .tile-image{transform:none!important}

/* October 2026: robust desktop typography and collision prevention */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip}
body{max-width:100%;overflow-x:clip}
img,video{max-width:100%}
@media(min-width:801px){
 .lux-landing{min-height:0!important;align-items:stretch!important;overflow:hidden!important}
 .lux-content{position:relative!important;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-top:clamp(50px,5vw,88px)!important;padding-bottom:clamp(48px,5vw,85px)!important}
 .lux-content h1{position:relative!important;display:block!important;float:none!important;clear:both!important;width:min(100%,690px)!important;max-width:min(690px,58vw)!important;height:auto!important;min-height:0!important;font-size:clamp(46px,4.6vw,76px)!important;line-height:1.17!important;letter-spacing:normal;overflow-wrap:break-word!important;margin:18px 0 18px!important}
 .lux-tagline{position:relative!important;display:block!important;float:none!important;clear:both!important;width:auto!important;max-width:min(690px,60vw)!important;margin:0 0 18px!important;line-height:1.3!important;font-size:clamp(25px,2.7vw,42px)!important}
 .lux-intro{position:relative!important;max-width:min(510px,55vw)!important;margin-top:0!important;line-height:1.7!important}
 .lux-cta{position:relative!important;margin:24px 0 30px!important}
 .lux-tiles{width:min(840px,100%)!important;max-width:100%!important;margin-top:20px!important}
}
@media(min-width:801px) and (max-width:1100px){
 .lux-content h1{max-width:60vw!important;font-size:clamp(42px,4.7vw,55px)!important}
 .lux-tagline{max-width:60vw!important;font-size:clamp(24px,2.8vw,32px)!important}
 .lux-tiles{width:min(720px,100%)!important}
}
@media(max-width:800px){
 .lux-content h1{height:auto!important;min-height:0!important;line-height:1.17!important;overflow-wrap:break-word!important}
 .lux-tagline{position:relative!important;line-height:1.3!important;clear:both!important}
 .lux-content{height:auto!important;min-height:0!important}
}

/* Mac homepage: keep every headline, credit and navigation tile OFF the portrait. */
@media (min-width:801px) {
 .lux-landing{min-height:820px!important;display:block!important;overflow:hidden!important}
 .lux-photo{inset:0 0 0 46%!important;background-position:center center!important;background-size:contain!important;background-color:transparent!important}
 .lux-vignette{background:linear-gradient(90deg,#090705 0%,#090705 43%,transparent 55%)!important;pointer-events:none}
 .lux-content{width:100%!important;max-width:1240px!important;margin:0 auto!important;padding:54px 28px 60px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
 .lux-content > *{box-sizing:border-box;max-width:42%!important;width:42%!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
 .lux-content h1{font-size:clamp(43px,4vw,67px)!important;max-width:42%!important;width:42%!important;line-height:1.12!important}
 .lux-tagline{font-size:clamp(24px,2.3vw,34px)!important}
 .lux-intro{font-size:clamp(13px,1.15vw,16px)!important}
 .voice-credit{justify-content:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
 .voice-credit-prefix{font-size:9px!important;letter-spacing:.11em!important}
 .voice-credit-logo{width:76px!important;max-height:65px!important}
 .lux-cta{justify-content:flex-start!important;gap:12px!important}
 .lux-tiles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .lux-tiles a{min-width:0!important;font-size:10px!important;letter-spacing:.04em!important;padding:10px!important}
}
@media (min-width:801px) and (max-width:1050px){
 .lux-content > *{width:43%!important;max-width:43%!important}
 .lux-content h1{width:43%!important;max-width:43%!important;font-size:clamp(37px,4vw,48px)!important}
 .lux-photo{inset:0 0 0 47%!important}
 .lux-tiles a{font-size:9px!important}
}

/* October 2026: consistent card heights and clean, isolated label strips. */
.lux-tiles{align-items:stretch!important;grid-auto-rows:auto!important;gap:10px!important}
.lux-tiles .photo-tile{position:relative!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 22px!important;grid-template-rows:minmax(0,1fr) 56px!important;align-items:stretch!important;overflow:hidden!important;padding:0 11px!important;gap:0!important;box-sizing:border-box!important}
.lux-tiles .photo-tile .tile-image{position:absolute!important;inset:0!important;width:100%!important;height:calc(100% - 56px)!important;object-fit:cover!important;object-position:center 30%!important;transform:none!important}
.lux-tiles .photo-tile:hover .tile-image{transform:none!important}
.lux-tiles .photo-tile::after{content:""!important;display:block!important;position:absolute!important;inset:auto 0 0!important;height:56px!important;background:#0b0908!important;z-index:1!important}
.lux-tiles .photo-tile>span:not(.tile-arrow){position:relative!important;grid-column:1!important;grid-row:2!important;align-self:center!important;margin:0!important;min-width:0!important;font-size:clamp(10px,1vw,12px)!important;line-height:1.3!important;letter-spacing:.025em!important;overflow-wrap:normal!important;text-shadow:none!important;z-index:3!important}
.lux-tiles .photo-tile .tile-arrow{position:relative!important;grid-column:2!important;grid-row:2!important;align-self:center!important;justify-self:end!important;margin:0!important;z-index:3!important}
@media(max-width:800px){.lux-tiles .photo-tile{grid-template-rows:minmax(0,1fr) 52px!important;padding:0 8px!important}.lux-tiles .photo-tile .tile-image{height:calc(100% - 52px)!important}.lux-tiles .photo-tile::after{height:52px!important}.lux-tiles .photo-tile>span:not(.tile-arrow){font-size:10px!important}}

/* Align the last row of service cards with the bottom of the stage portrait. */
@media (min-width:801px) {
  .lux-landing { min-height:0!important; height:auto!important; }
  .lux-content { padding-bottom:0!important; }
  .lux-tiles { margin-bottom:0!important; padding-bottom:0!important; }
  .lux-photo { inset:0 0 0 46%!important; background-position:center bottom!important; background-size:auto 100%!important; }
  .lux-vignette { inset:0!important; }
}
@media (min-width:801px) and (max-width:1050px) {
  .lux-photo { inset:0 0 0 47%!important; }
}
/* Final desktop portrait: show the ENTIRE original composite, including name and shoes. */
@media (min-width:801px){
 .lux-landing{overflow:hidden!important;min-height:900px!important}
 .lux-photo{inset:0 0 0 43%!important;background-image:url('images/homepage-stage-reference.png')!important;background-size:contain!important;background-position:right bottom!important;background-repeat:no-repeat!important;background-color:transparent!important}
 .lux-vignette{background:linear-gradient(90deg,#090705 0%,#090705 32%,rgba(9,7,5,.83) 39%,transparent 46%)!important}
 .lux-content{padding-bottom:42px!important}
 .lux-content > *{width:39%!important;max-width:39%!important}
 .lux-content h1{width:39%!important;max-width:39%!important}
 .lux-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (min-width:801px) and (max-width:1100px){
 .lux-photo{inset:0 0 0 41%!important}
 .lux-content > *, .lux-content h1{width:40%!important;max-width:40%!important}
}

/* Refined unified footer, mobile-first and no awkward link wrapping */
.refined-footer{background:#080808!important;color:#f5efe5!important;padding:48px 0 25px!important;border-top:1px solid #6e5b374d}
.refined-footer>.wrap{max-width:1080px;margin:auto;padding-left:20px;padding-right:20px}
.refined-footer .footer-identity{text-align:center;margin:0 auto 28px}
.refined-footer .footer-identity .brand{font-family:Georgia,serif;font-size:clamp(25px,5.5vw,43px);letter-spacing:.08em;line-height:1.25;white-space:nowrap}
.refined-footer .footer-identity .brand span{color:#d8b76c;font-style:italic}
.refined-footer .footer-identity p{margin:12px auto 0;max-width:540px;font-size:clamp(12px,2.7vw,15px);line-height:1.5;color:#cfc6b6}
.refined-footer .footer-navigation{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:20px;max-width:570px;margin:0 auto;padding:24px 0!important;border-top:1px solid #6e5b37;border-bottom:1px solid #6e5b37;min-height:0!important;background:none!important}
.refined-footer .footer-navigation a{display:block;text-align:center;color:#f5efe5;text-decoration:none;font-size:clamp(11px,2.9vw,16px);line-height:1.4;white-space:nowrap;letter-spacing:0}
.refined-footer .footer-actions{display:flex;justify-content:center;align-items:center;gap:36px;margin-top:23px}
.refined-footer .footer-actions a{color:#d8b76c;text-decoration:none;font-size:14px;white-space:nowrap}
.refined-footer small{display:block;text-align:center;margin-top:30px!important;color:#aaa39a;font-size:11px}
@media(min-width:750px){.refined-footer .footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px;gap:24px}.refined-footer .footer-navigation a{font-size:15px}}
@media(max-width:360px){.refined-footer>.wrap{padding-left:12px;padding-right:12px}.refined-footer .footer-navigation{column-gap:6px}.refined-footer .footer-navigation a{font-size:10.5px}}

/* Homepage portrait alignment: anchor artwork to the top of its stage area. */
@media (min-width:801px) {
  .lux-photo { background-position:right top!important; background-size:auto 100%!important; }
}
@media (max-width:800px) {
  .lux-photo { background-position:center top!important; }
}

/* Single final desktop positioning rule: maintain full image and prevent sideways drift. */
@media(min-width:801px){.lux-photo{inset:0 0 0 43%!important;transform:none!important;background-image:url('images/homepage-stage-reference.png')!important;background-size:contain!important;background-position:right top!important;background-repeat:no-repeat!important;}}
@media(min-width:801px) and (max-width:1100px){.lux-photo{inset:0 0 0 41%!important;}}
