/* Palace edition. Artwork frames live content; all channel data stays editable. */
.royal-tv{--royal-serif:'Cormorant Garamond',Georgia,serif;--palace-ivory:#f2e6cd;--palace-gold:#e1bf7d;background:#0b070f}
.royal-tv .royal-scenery{object-fit:fill}
.royal-tv .royal-corner-caption{display:none}
.royal-tv .tv-header{left:8%;right:8%;top:1%;height:21%}
.royal-tv .brand{left:23%;width:54%;top:7.5vh;height:12vh;gap:.3vh}
.royal-tv .royal-brand-logo{height:80%;filter:drop-shadow(0 3px 2px #000) drop-shadow(0 0 16px #d4a13e22)}
.royal-tv .royal-brand-tagline{font-size:clamp(12px,1.4vw,34px);color:#e5d4b6}
.royal-tv .clock{top:1.5vh;right:5%;padding:0;background:none;text-shadow:0 2px 10px #000}
.royal-tv #clockTime{font-size:clamp(18px,1.9vw,46px)}
.royal-tv #clockDate{font-family:var(--sans);font-size:clamp(8px,.65vw,16px);margin-top:.4vh;letter-spacing:.12em}
.royal-tv .stage{left:12%;right:12%;top:23%;bottom:15%}
.royal-tv .scene{gap:4%;transform:none}
.royal-tv .scene:before{display:none}
.royal-tv .scene h2{color:#f0d299;text-shadow:0 2px 10px #000;font-size:clamp(30px,3.8vw,92px);letter-spacing:.005em;font-weight:500;line-height:1.08}
.royal-tv .scene p{color:var(--palace-ivory)}
.royal-tv .practitioners-heading{margin:0;height:14%;flex-shrink:0}
.royal-tv .practitioners-heading h2{font-size:clamp(30px,3.7vw,88px);margin:0 0 .7vh}
.royal-tv .practitioners-heading p{font-family:var(--sans);font-size:clamp(10px,.88vw,21px);color:#cdbb9c;line-height:1.4}
.royal-tv .practitioner-grid{gap:1%;height:84%;flex:1;padding:0}
.royal-tv .practitioner-card,.royal-tv .agenda-item{position:relative;isolation:isolate;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;padding:0}
.royal-tv .practitioner-card:after,.royal-tv .agenda-item:after{content:'';position:absolute;inset:12% 10% 6%;background:linear-gradient(180deg,#241126,#0b070e 70%);border-radius:50% 50% 0 0;z-index:-1;pointer-events:none}
.royal-tv .royal-gilding{display:block;position:absolute;inset:0;z-index:4;pointer-events:none}
.royal-tv .royal-gilding img{display:block;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 4px 5px #0008)}
.royal-tv .avatar{position:absolute;top:15%;left:15%;width:70%;height:40%;max-width:none;margin:0;border:0;border-radius:50% 50% 5px 5px;box-shadow:none;aspect-ratio:auto;background:#150b1d}
.royal-tv .practitioner-card h3{position:absolute;top:57%;left:13%;width:74%;margin:0;font-family:var(--royal-serif);font-size:clamp(24px,2.65vw,64px);line-height:1;color:#f4d396}
.royal-tv .practitioner-card .royal-divider{position:absolute;top:64%;left:22%;width:56%;margin:0;font-size:1vw;opacity:.75}
.royal-tv .practitioner-card p{position:absolute;top:69%;left:16%;width:68%;max-width:none;font-family:var(--sans);font-size:clamp(10px,.88vw,22px);line-height:1.4;margin:0;color:#e4d8c4}
.royal-tv .availability{position:absolute;bottom:9%;left:15%;width:70%;min-height:0;padding:.65vh .2vw;font-family:var(--sans);font-size:clamp(7px,.65vw,16px);line-height:1.2;border-radius:0;border:0;border-top:1px solid #b5955255;background:none!important;box-shadow:none!important;color:#d2b6e5;text-transform:uppercase;letter-spacing:.025em;gap:.4vw}
.royal-tv .availability:before{height:.4vw;width:.4vw;min-width:4px;min-height:4px}
.royal-tv .availability-note{position:absolute;bottom:5.8%;left:16%;width:68%;margin:0;font-size:clamp(7px,.6vw,14px);line-height:1.15;color:#cdbb9c}
.royal-tv .agenda{gap:1vh}
.royal-tv .agenda h2{font-size:clamp(32px,3.8vw,92px);font-variant:normal;letter-spacing:0;line-height:1.05}
.royal-tv .agenda>.scene-copy{height:12%;display:flex;justify-content:center;align-items:center}
.royal-tv .agenda-list{height:86%;flex:1;display:grid;grid-template-columns:repeat(var(--agenda-count,3),minmax(0,1fr));width:calc(var(--agenda-count,3) * 30%);max-width:100%;align-self:center;gap:2%;padding-bottom:2vh}
.royal-tv .agenda-item>.royal-illustration{position:absolute;top:15%;left:14%;width:72%;height:40%;min-height:0;margin:0;border:0;border-radius:50% 50% 0 0;box-shadow:none}
.royal-tv .agenda-item>div:last-child{position:absolute;left:13%;width:74%;top:57%;bottom:9%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.6vh}
.royal-tv .agenda-item h3{font-family:var(--royal-serif);font-weight:500;font-size:clamp(21px,1.85vw,45px);font-variant:normal;line-height:1.05;min-height:0;align-self:center;margin:0;letter-spacing:0;color:#f4d396}
.royal-tv .agenda-item p{font-family:var(--sans);font-size:clamp(10px,.9vw,22px);line-height:1.4;color:#e5d5b8;margin:0}
.royal-tv .date-square{display:none}
.royal-tv .agenda-footnote{font-family:var(--sans);font-size:clamp(8px,.65vw,16px);letter-spacing:.06em;color:#c3ae88;bottom:-.8vh;line-height:1.3}
.royal-tv .royal-website{bottom:7.4%;height:6%;left:25%;width:50%;padding:0 1vw;border:0;border-top:1px solid #ab7b3666;border-bottom:1px solid #ab7b3666;border-radius:0;background:linear-gradient(90deg,transparent,#110b13 25%,#110b13 75%,transparent);box-shadow:none}
.royal-tv .royal-website small{font-family:var(--sans);font-size:clamp(7px,.6vw,15px);letter-spacing:.28em;margin-bottom:.2vh;color:#c3a678}
.royal-tv .royal-website strong{font-family:var(--royal-serif);font-size:clamp(22px,2.4vw,58px);color:#edd19b;line-height:1}
.royal-tv .royal-website:before,.royal-tv .royal-website:after{content:'✦';position:absolute;color:#b98c45;top:50%;transform:translateY(-50%);font-size:1vw}
.royal-tv .royal-website:before{left:0}.royal-tv .royal-website:after{right:0}
.royal-tv .slide-navigation{bottom:14%;opacity:.28}
.royal-tv .music-ribbon{height:5.8%;padding:.5vh 10%;background:#0b070ff5;border-top:1px solid #ad84422e;gap:1vw}
.royal-tv .now-art{height:90%;border-color:#91713d}
.royal-tv #ribbonTitle{font-size:clamp(15px,1.4vw,34px);font-family:var(--royal-serif)}
.royal-tv .ribbon-track .eyebrow{font-size:clamp(6px,.48vw,12px)}
.royal-tv #ribbonArtist{font-size:clamp(6px,.47vw,11px)}
.royal-tv .ribbon-visual{width:25%;max-height:100%}.royal-tv .ribbon-visual canvas{height:2.2vh}
.royal-tv #moodLabel{font-size:clamp(11px,1.2vw,28px)}
.royal-tv .royal-services{bottom:0;height:5.8%;border-bottom:0;border-top:1px solid #ad84422e;background:#0b070ff5}
.royal-tv .royal-services>span{font-size:clamp(11px,1vw,25px);min-width:13%;letter-spacing:.08em}.royal-tv .royal-services i{font-size:clamp(16px,1.5vw,36px)}
.royal-tv[data-royal-scene=welcome] .stage{left:18%;right:18%;top:23%;bottom:22%}
.royal-tv .royal-hero-logo{max-height:29vh;margin:0 0 4vh}
.royal-tv .welcome h1{font-size:clamp(29px,3.2vw,77px);font-weight:500}
.royal-tv .welcome p{font-size:clamp(15px,1.6vw,38px);line-height:1.4;color:#d9c7a9}
.royal-tv .welcome .fine-rule{margin:2.5vh auto;width:50%}
.royal-tv[data-royal-scene=music] .stage{left:19%;right:19%;top:23%;bottom:17%}
.royal-tv .music-scene{grid-template-columns:46% 50%;grid-template-rows:16% 80%;gap:4%;align-items:center}
.royal-tv .royal-music-heading{border:0;padding:0}
.royal-tv .royal-music-heading h1{font-size:clamp(38px,4.5vw,108px);line-height:.95;font-variant:normal}
.royal-tv .royal-music-heading>span{font-family:var(--sans);font-size:clamp(8px,.65vw,16px);letter-spacing:.3em}
.royal-tv .royal-music-heading:after{display:none}
.royal-tv .music-cover-frame{width:auto;max-width:100%;height:100%;aspect-ratio:2/3;justify-self:center;background:none;border:0;box-shadow:none;padding:0}
.royal-tv .music-cover-frame>img{position:absolute;left:14%;top:15%;width:72%;height:77%;border-radius:50% 50% 0 0;object-fit:cover}
.royal-tv .music-cover-frame .royal-gilding{inset:0}
.royal-tv .music-scene>.scene-copy{background:none;padding:0;border:0;border-radius:0}
.royal-tv .music-scene h2{font-size:clamp(32px,3.3vw,79px);line-height:1.05;margin-bottom:1vh}
.royal-tv .music-scene .album-title{font-family:var(--royal-serif);font-style:italic;font-size:clamp(21px,2vw,48px);color:#c8b38e;margin-bottom:3vh}
.royal-tv .royal-spectrum{height:7vh;margin:2vh 0}
.royal-tv[data-royal-scene=music] .royal-website{bottom:7.4%}
.royal-tv[data-royal-scene=music] .slide-navigation{bottom:14%}
.royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene){grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:0 2%}
.royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene)>.scene-copy{background:none;padding:0;border:0;border-radius:0}
.royal-tv .scene-art{height:100%;background:none;border:0;border-radius:0;padding:0;overflow:visible}
.royal-tv .scene-art>.royal-illustration{inset:15% 14% 8%;border-radius:50% 50% 0 0;opacity:1}
.royal-tv .scene-art>.altar-photo,.royal-tv .scene-art>.custom-video{position:absolute;top:15%;left:14%;width:72%;height:77%;max-height:none;object-fit:cover;border-radius:50% 50% 0 0}
.royal-tv .event-seal{width:72%;height:77%;position:absolute;top:15%;left:14%;margin:0;background:radial-gradient(ellipse at 50% 35%,#381d3b,#0c0711 75%);border-radius:50% 50% 0 0}
.royal-tv .event-seal:before,.royal-tv .event-seal:after{display:none}
.royal-tv .event .scene-copy h2{font-size:clamp(30px,3.6vw,86px)}
.royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene) .scene-copy p{font-size:clamp(12px,1.15vw,28px);line-height:1.55;color:#dfd2bd;margin-bottom:1.5vh}
.royal-tv .qr-box{height:clamp(65px,6.4vw,150px);width:clamp(65px,6.4vw,150px)}
.royal-tv .qr-copy strong{font-size:clamp(18px,1.6vw,38px)}
.royal-tv .qr-copy span{font-size:clamp(7px,.6vw,14px)}
.royal-tv .transport{bottom:.5%;background:#100a13f5;border:1px solid #8d6b3b;backdrop-filter:none}
.royal-tv .audio-prompt{bottom:.5%;border-color:#8d6b3b;background:#100a13f5}
.royal-tv .audio-prompt button{background:#d6b575;color:#201225}
@media(min-aspect-ratio:17/10){
 .royal-tv .stage{left:16%;right:16%}
 .royal-tv .practitioner-grid{gap:2%}
 .royal-tv .agenda-list{width:calc(var(--agenda-count,3) * 27%)}
 .royal-tv .avatar{height:42%}
 .royal-tv .practitioner-card p{font-size:.82vw}
}
@media(max-aspect-ratio:4/5){
 .royal-tv .royal-scenery{object-fit:cover;opacity:.65}
 .royal-tv .tv-header{left:5%;right:5%;top:1%;height:17%}
 .royal-tv .brand{top:5vh;left:6%;width:88%;height:10vh}
 .royal-tv .royal-brand-tagline{font-size:12px}
 .royal-tv .clock{top:15vh;right:0}.royal-tv #clockTime{font-size:16px}.royal-tv #clockDate{font-size:8px}
 .royal-tv .stage{left:6%;right:6%;top:21%;bottom:16%}
 .royal-tv .practitioners-heading{height:13%}.royal-tv .practitioners-heading h2{font-size:28px}.royal-tv .practitioners-heading p{font-size:8px}
 .royal-tv .practitioner-grid{grid-template-columns:1fr 1fr;gap:8px;height:86%}
 .royal-tv .avatar{height:40%;left:22%;width:56%;top:15%}
 .royal-tv .practitioner-card h3{font-size:22px;top:56%}
 .royal-tv .practitioner-card p{font-size:8px;line-height:1.2;top:68%}
 .royal-tv .practitioner-card .royal-divider{top:63%;font-size:8px}
 .royal-tv .availability{font-size:6px;bottom:9%;padding:4px 0}
 .royal-tv .availability-note{font-size:6px}
 .royal-tv .agenda h2{font-size:29px;white-space:normal}
 .royal-tv .agenda-list{width:100%;grid-template-columns:repeat(var(--agenda-count,3),1fr);grid-template-rows:1fr}
 .royal-tv .agenda-item h3{font-size:18px}.royal-tv .agenda-item p{font-size:9px}.royal-tv .agenda-footnote{font-size:6px}
 .royal-tv .royal-website{left:10%;width:80%;bottom:7.4%;height:6%}.royal-tv .royal-website strong{font-size:24px}.royal-tv .royal-website small{font-size:6px}
 .royal-tv .slide-navigation{bottom:14%}
 .royal-tv[data-royal-scene=welcome] .stage{left:10%;right:10%;top:26%;bottom:25%}.royal-tv .welcome h1{font-size:29px}.royal-tv .welcome p{font-size:17px}
 .royal-tv[data-royal-scene=music] .stage{left:10%;right:10%;top:22%;bottom:17%}
 .royal-tv .music-scene{display:grid;grid-template-columns:1fr;grid-template-rows:10% 48% 34%;gap:4%}
 .royal-tv .royal-music-heading{grid-row:1;grid-column:1}.royal-tv .royal-music-heading h1{font-size:34px}
 .royal-tv .music-cover-frame{grid-row:2;grid-column:1;height:100%;width:60%;justify-self:center}
 .royal-tv .music-scene>.scene-copy{grid-row:3;grid-column:1;text-align:center;width:100%}
 .royal-tv .music-scene h2{font-size:29px}.royal-tv .music-scene .album-title{font-size:20px;margin-bottom:8px}
 .royal-tv .royal-spectrum{height:30px;margin:4px 0}.royal-tv .royal-progress{margin:10px 0 4px}
 .royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene){gap:3%;grid-template-columns:1fr;grid-template-rows:48% 49%}
 .royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene)>.scene-copy{grid-row:2}
 .royal-tv .scene-art{grid-row:1;width:65%;justify-self:center}
 .royal-tv .scene h2,.royal-tv .event .scene-copy h2{font-size:28px}
 .royal-tv .scene:not(.welcome):not(.agenda):not(.practitioners-scene):not(.music-scene) .scene-copy p{font-size:11px}
 .royal-tv .qr-callout{margin-top:8px}.royal-tv .qr-box{height:50px;width:50px}.royal-tv .qr-copy strong{font-size:18px}
 .royal-tv .royal-services>span{font-size:8px;padding:0 6px;width:auto;min-width:0}.royal-tv .royal-services i{display:none}
}
/* Final distance-readability adjustments from live display review. */
@media(min-aspect-ratio:4/5){
 .royal-tv .brand{top:6.8vh;height:14vh}
 .royal-tv .clock{top:8.8vh;right:10%}
 .royal-tv .practitioners-heading p{font-size:clamp(11px,1vw,24px)}
 .royal-tv .practitioner-card p{font-size:clamp(12px,1vw,24px);line-height:1.35;top:68%}
 .royal-tv .availability{font-size:clamp(10px,.83vw,20px);line-height:1.3;padding:.7vh 0}
 .royal-tv .agenda-item p{font-size:clamp(12px,1.08vw,26px);line-height:1.4}
 .royal-tv [data-person=alain] .royal-listing-photo{width:300%;left:-181%;top:-45%}
}
.royal-tv .royal-backdrop:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 5% 83%,#f4b24410,transparent 13%),radial-gradient(ellipse at 95% 83%,#f4b24410,transparent 13%);animation:palace-candlelight 9s ease-in-out infinite alternate}
@keyframes palace-candlelight{from{opacity:.25}to{opacity:.85}}
[data-motion=off] .royal-backdrop:after{animation:none}
@media(prefers-reduced-motion:reduce){.royal-backdrop:after{animation:none!important}}
