/* WOHA Luminaire V6: gala light, kinetic foil, editorial elegance.
   Intentional progressive enhancement: the base V5 layout works without JavaScript. */
:root{--luxe-amber:#edd19d;--luxe-pale:#fff4da;--luxe-shadow:#3c1e2b;--luxe-wine:#240b1c;--luxe-burnished:#b88d54}
::selection{background:#d9ba82;color:#25111b}
:where(a,button,select,input,textarea):focus-visible{outline:2px solid #f4c982;outline-offset:4px}
.luxe-scroll-track{position:fixed;z-index:101;top:0;left:0;right:0;height:3px;pointer-events:none;background:#181016}
#luxeScrollProgress{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#95643b,#fff5d8,#e6b36a,#fff2c8);box-shadow:0 0 22px #ffdca2a0;will-change:transform}
[dir="rtl"] #luxeScrollProgress{transform-origin:right}
.royal-header{transition:background .45s ease,box-shadow .45s ease,border-color .45s ease}
.royal-header.luxe-scrolled{background:rgba(17,8,15,.97);box-shadow:0 16px 60px rgba(0,0,0,.4);border-bottom:1px solid rgba(239,199,123,.38)}
.royal-header .official-woha-logo{transition:filter .4s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.royal-header .logo:hover .official-woha-logo{transform:scale(1.035);filter:drop-shadow(0 0 24px rgba(255,211,139,.48))}
/* Main cinematic panorama and glamorous gold optics */
.hero-royale{background:#110710;box-shadow:inset 0 -2px #dab06a;overflow:hidden}
.hero-photo{will-change:transform;filter:saturate(.99) contrast(1.12)}
.hero-overlay{background:linear-gradient(90deg,rgba(8,2,9,.91) 0%,rgba(13,4,15,.73) 38%,rgba(10,2,12,.12) 85%),linear-gradient(0deg,rgba(14,4,15,.92),transparent 35%),linear-gradient(180deg,rgba(21,7,22,.3),transparent 40%)}
.hero-texture{border:1px solid rgba(246,199,116,.37);box-shadow:inset 0 0 95px rgba(39,10,31,.12)}
.hero-texture::before,.hero-texture::after{color:#ffe7ae;text-shadow:0 0 12px #ecba68}
.hero-royale::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse 36% 55% at 89% 20%,rgba(251,193,108,.15),transparent 75%),radial-gradient(ellipse 50% 85% at 57% 100%,rgba(197,96,95,.095),transparent 80%);mix-blend-mode:screen}
.luxe-starfield{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;opacity:.9}
.luxe-hero-rays{position:absolute;inset:-26% -15% -30% 40%;z-index:0;pointer-events:none;background:conic-gradient(from 190deg at 83% 2%,transparent 0deg,rgba(255,203,108,.075) 7deg,transparent 13deg,rgba(255,238,189,.08) 23deg,transparent 29deg,rgba(255,206,140,.05) 39deg,transparent 45deg);filter:blur(9px);transform-origin:80% 2%;animation:luxe-rays 24s ease-in-out infinite alternate}
.luxe-orbit{position:absolute;z-index:1;pointer-events:none;border:1px solid rgba(244,200,129,.23);border-radius:50%;right:7.6%;top:8%;width:clamp(240px,25vw,410px);aspect-ratio:1;box-shadow:0 0 0 26px rgba(239,192,118,.018),inset 0 0 27px rgba(239,192,118,.06)}
.luxe-orbit::before,.luxe-orbit::after{content:"";position:absolute;inset:17px;border:1px dashed rgba(251,212,135,.15);border-radius:50%}
.luxe-orbit::after{inset:43px;border-style:solid;border-color:rgba(251,220,162,.18)}
.luxe-orbit-one{animation:luxe-orbit 56s linear infinite}.luxe-orbit-two{width:clamp(275px,31vw,500px);right:4%;top:1%;border-color:rgba(245,207,159,.09);animation:luxe-orbit-reverse 78s linear infinite}
.luxe-diamond{position:absolute;z-index:2;color:#ffedbd;text-shadow:0 0 30px #ffd38a;font-size:28px;pointer-events:none;animation:luxe-twinkle 4s ease-in-out infinite}
.luxe-diamond-one{right:11.6%;top:24%}.luxe-diamond-two{right:30%;top:67%;animation-delay:1.3s;font-size:22px}
.hero-crest{border-color:rgba(247,212,152,.5);color:rgba(255,229,183,.35);box-shadow:0 0 0 12px rgba(250,210,130,.05),0 0 65px rgba(252,203,119,.17);backdrop-filter:blur(2px)}
.hero-crest span{animation:luxe-crest 8s ease-in-out infinite}
.hero-inner{z-index:4}
.hero-copy{position:relative;z-index:3}
.hero-eyebrow{color:#ffe2a6;text-shadow:0 0 24px rgba(254,203,130,.35)}
.hero-hairline{width:116px;position:relative;overflow:hidden;background:linear-gradient(90deg,#ecc27b 0%,rgba(236,194,123,.18) 86%,transparent)}
.hero-hairline span{display:block;height:1px;width:36%;background:#fff6d9;box-shadow:0 0 12px #ffe3a0;animation:luxe-hairline 4s ease-in-out infinite}
.hero-copy h1{letter-spacing:-.035em;text-shadow:0 5px 50px rgba(0,0,0,.55),0 0 100px rgba(253,205,129,.07)}
.hero-copy h1 em{font-style:italic;background:linear-gradient(112deg,#bb8851 5%,#fff4ce 33%,#d6a55b 59%,#fff0c4 85%,#a76c3d);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:250% 100%;animation:luxe-letterfoil 12s linear infinite;text-shadow:none;filter:drop-shadow(0 5px 22px rgba(250,187,86,.18))}
.hero-copy>p{color:#f9ecdb;text-shadow:0 1px 16px rgba(0,0,0,.52)}
.hero-base{border-top:1px solid rgba(239,198,126,.19);padding-top:16px}
.hero-scroll span{display:inline-block;animation:luxe-scroll-down 2.6s ease-in-out infinite}
/* Premium interactive foil buttons; shimmer passes through without covering label */
.gold-btn,.header-cta,.outline-btn,.g-filter,.royal-form button[type=submit]{position:relative;isolation:isolate;overflow:hidden;transition:transform .38s cubic-bezier(.2,.75,.2,1),box-shadow .38s ease,border-color .3s ease,background .3s ease,filter .3s ease}
.gold-btn,.header-cta{background:linear-gradient(115deg,#ae7741 0%,#d9b579 27%,#fff1c6 48%,#cc9959 76%,#ae7741 100%);background-size:170% 100%;color:#24121c;box-shadow:inset 0 1px rgba(255,251,229,.85),0 8px 28px rgba(147,83,40,.26),0 0 0 1px rgba(245,205,133,.2);animation:luxe-button-breathe 6s ease-in-out infinite}
.gold-btn::before,.header-cta::before,.outline-btn::before,.g-filter::before{content:"";position:absolute;pointer-events:none;z-index:-1;left:-120%;top:-120%;height:340%;width:55%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 9%,rgba(255,255,255,.75) 50%,rgba(255,255,255,.06) 90%,transparent);transform:skewX(-22deg);animation:luxe-button-sweep 7s ease-in-out infinite}
.header-cta::before{animation-delay:2.5s}.outline-btn::before{animation-delay:3.5s}
.gold-btn::after,.header-cta::after{content:"✦";position:absolute;right:8px;top:0;font-size:11px;color:#fff9e0;filter:drop-shadow(0 0 8px #fff0c0);animation:luxe-twinkle 3s ease-in-out infinite;pointer-events:none}
.gold-btn:hover,.header-cta:hover,.outline-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(198,144,74,.34),0 0 29px rgba(255,213,145,.31),inset 0 1px rgba(255,255,255,.52);filter:saturate(1.07)}
.gold-btn:active,.header-cta:active,.outline-btn:active{transform:translateY(0) scale(.99)}
.outline-btn{border-color:rgba(255,224,171,.62);background:rgba(40,17,31,.38);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,223,164,.09)}
.arrow-link:hover{color:#b57b38;text-shadow:0 0 15px rgba(238,180,90,.2)}
/* Luxurious section rhythm and editorials */
.section{position:relative}
.heading>.eyebrow::before{content:"";width:19px;height:1px;background:currentColor;display:inline-block;box-shadow:0 0 8px rgba(234,174,85,.55)}
.heading h2{letter-spacing:-.045em;text-wrap:balance}
.section.cream,.section.parchment{background-image:radial-gradient(circle at 95% 8%,rgba(210,167,91,.09),transparent 26%),radial-gradient(circle at 5% 90%,rgba(153,105,81,.055),transparent 30%)}
.pillars-block{background:radial-gradient(ellipse at 50% -10%,#6a3a4a 0%,transparent 49%),radial-gradient(ellipse at 100% 90%,rgba(167,115,58,.12),transparent 49%),#130b16}
.pillar-showcase{box-shadow:0 0 65px rgba(212,154,91,.075)}
.pillar-card{overflow:hidden}
.pillar-card::before{content:"";position:absolute;pointer-events:none;inset:0;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,30%),rgba(249,213,144,.20),transparent 62%);opacity:0;transition:opacity .5s}
.pillar-card::after{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#ffefbc,transparent);transform:scaleX(0);transition:transform .45s}
.pillar-card:hover::before{opacity:1}.pillar-card:hover::after{transform:scaleX(1)}.pillar-card:hover .pillar-shape{color:#ffe0a1;text-shadow:0 0 24px rgba(253,222,163,.5)}
.city-panel{border:1px solid rgba(215,172,101,.48);box-shadow:0 14px 50px rgba(19,5,15,.14);transition:box-shadow .65s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.city-panel::after{content:"";inset:10px;position:absolute;border:1px solid rgba(254,223,167,.42);pointer-events:none;z-index:2;transform:scale(1);transition:transform .6s ease,border-color .6s ease}
.city-panel:hover{box-shadow:0 25px 66px rgba(70,27,39,.27),0 0 32px rgba(226,177,98,.18)}
.city-panel:hover::after{transform:scale(.98);border-color:rgba(254,225,159,.8)}
.city-panel-body{z-index:3}.city-panel-body h3{filter:drop-shadow(0 2px 14px #0008)}
.honoree-tile,.real-portrait,.original-shot{transition:transform .58s cubic-bezier(.2,.8,.2,1),box-shadow .58s ease,border-color .58s ease}
.honoree-tile:hover,.real-portrait:hover{transform:translateY(-9px);box-shadow:0 24px 55px rgba(84,41,38,.22);border-color:#d8a667}
.real-portrait::after{content:"";position:absolute;inset:8px;border:1px solid rgba(222,179,100,.45);pointer-events:none;opacity:0;transition:opacity .45s}
.real-portrait{position:relative}.real-portrait:hover::after{opacity:1}
.real-portrait:hover .real-portrait-frame img{transform:scale(1.09)}
.original-shot::after{content:"";position:absolute;inset:9px;border:1px solid rgba(251,217,152,.5);opacity:0;transition:opacity .5s;pointer-events:none}.original-shot:hover::after{opacity:1}
.closing-call{position:relative;isolation:isolate;overflow:hidden;background-image:radial-gradient(circle at 50% 50%,rgba(82,39,51,.35),rgba(14,4,17,.91)),url('../images/hero-royale.webp')}
.closing-call::before{content:"";position:absolute;inset:-80% -40%;z-index:-1;pointer-events:none;background:conic-gradient(from 10deg,transparent 0deg,rgba(248,206,142,.07) 14deg,transparent 23deg,rgba(251,215,155,.045) 31deg,transparent 40deg);animation:luxe-orbit 85s linear infinite}
.closing-call h2{text-shadow:0 2px 28px rgba(0,0,0,.6)}
.page-hero{overflow:hidden}.page-hero::after{content:"";pointer-events:none;position:absolute;z-index:0;inset:10px;border:1px solid rgba(250,205,145,.33);box-shadow:inset 0 0 55px rgba(222,166,90,.07)}
.page-hero-inner{z-index:2}.page-hero-image{animation:kenburns 30s ease-in-out infinite alternate}.page-hero-kicker{text-shadow:0 0 15px rgba(255,224,171,.34)}
.page-hero-inner h1{background:linear-gradient(108deg,#fff6e9 11%,#fff1d8 50%,#d1a66e 92%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 6px 20px rgba(0,0,0,.45))}
.royal-footer{position:relative;border-top:1px solid #d6a96b;box-shadow:0 -6px 35px rgba(213,163,93,.1)}
.royal-footer::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#ffdea5 40%,#d59d5d 60%,transparent);box-shadow:0 0 23px #ffc98377}
.motion-control{position:fixed;z-index:65;bottom:21px;right:21px;display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid rgba(243,197,121,.54);background:rgba(23,10,19,.88);color:#f7e7c9;font:600 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(15px);box-shadow:0 7px 30px rgba(0,0,0,.25);cursor:pointer;transition:background .3s,border-color .3s,transform .3s}
.motion-control:hover{background:#49302d;border-color:#ffe0a9;transform:translateY(-2px)}.motion-icon{font-size:18px;color:#f5d397}
/* Staggered entrance, only active after the visibility observer has initialized */
@media(prefers-reduced-motion:no-preference){.motion-ready [data-luxe-reveal]{opacity:0;filter:blur(5px);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),filter 1.1s ease;transition-delay:var(--stagger,0ms)}.motion-ready [data-luxe-reveal].luxe-in{opacity:1;filter:blur(0)}
.hero-copy .hero-eyebrow{animation:luxe-entry .9s both .05s}.hero-copy .hero-hairline{animation:luxe-entry .9s both .22s}.hero-copy h1{animation:luxe-entry 1.3s cubic-bezier(.2,.8,.2,1) both .34s}.hero-copy>p{animation:luxe-entry 1s both .7s}.hero-copy .hero-buttons{animation:luxe-entry .9s both 1s}}
@keyframes luxe-entry{from{opacity:0;transform:translateY(25px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes luxe-rays{from{transform:rotate(-7deg);opacity:.5}to{transform:rotate(7deg);opacity:1}}
@keyframes luxe-orbit{to{transform:rotate(360deg)}}
@keyframes luxe-orbit-reverse{to{transform:rotate(-360deg)}}
@keyframes luxe-twinkle{0%,100%{opacity:.2;transform:scale(.72) rotate(-15deg)}40%,55%{opacity:1;transform:scale(1.23) rotate(9deg)}}
@keyframes luxe-crest{50%{text-shadow:0 0 35px #ffe9baaa;color:rgba(255,229,183,.52)}}
@keyframes luxe-hairline{0%{transform:translateX(-150%)}70%,100%{transform:translateX(320%)}}
@keyframes luxe-letterfoil{0%{background-position:0% 50%}100%{background-position:250% 50%}}
@keyframes luxe-button-sweep{0%,13%{left:-115%}37%,100%{left:175%}}
@keyframes luxe-button-breathe{0%,100%{box-shadow:inset 0 1px rgba(255,251,229,.85),0 8px 28px rgba(147,83,40,.26),0 0 0 1px rgba(245,205,133,.2)}50%{box-shadow:inset 0 1px rgba(255,251,229,.85),0 10px 33px rgba(147,83,40,.36),0 0 27px rgba(232,180,101,.22)}}
@keyframes luxe-scroll-down{0%,100%{transform:translateY(-3px)}60%{transform:translateY(6px)}}
/* Pause is a real preference, not only a decorative toggle */
body.luxe-paused *,body.luxe-paused *::before,body.luxe-paused *::after{animation-play-state:paused!important;transition-duration:.01ms!important}
@media(max-width:1050px){.luxe-orbit{right:4%;opacity:.55}.luxe-orbit-two{right:0}.luxe-hero-rays{opacity:.65}}
@media(max-width:730px){.hero-royale{min-height:710px}.hero-texture{inset:8px}.luxe-orbit,.luxe-hero-rays{opacity:.25}.luxe-orbit-one{width:210px;right:-70px;top:14%}.luxe-orbit-two{width:255px;right:-90px;top:10%}.luxe-diamond-two{display:none}.hero-copy h1 em{background-size:260% 100%}.motion-control{right:11px;bottom:11px;padding:8px 10px;font-size:9px}.motion-control-copy{display:none}.city-panel::after{inset:8px}.hero-copy{padding-bottom:35px}.hero-crest{opacity:.6}}
[dir=rtl] .luxe-diamond-one{left:11.6%;right:auto}[dir=rtl] .luxe-orbit-one{left:7.6%;right:auto}[dir=rtl] .luxe-orbit-two{left:4%;right:auto}[dir=rtl] .motion-control{left:21px;right:auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.luxe-starfield{display:none}.motion-control{display:none}.hero-photo{transform:none!important}.motion-ready [data-luxe-reveal]{opacity:1!important;filter:none!important}}
/* Pausing should never strand the entrance copy halfway across the frame. */
body.luxe-paused .hero-copy .hero-eyebrow,body.luxe-paused .hero-copy .hero-hairline,body.luxe-paused .hero-copy h1,body.luxe-paused .hero-copy>p,body.luxe-paused .hero-copy .hero-buttons{opacity:1!important;filter:none!important;transform:none!important}
body.luxe-paused [data-luxe-reveal]{opacity:1!important;filter:none!important}
