/* Royal Theatre 1.3 — immersive customer display. Control-room styles remain separate. */
.royal-tv{position:relative;isolation:isolate;display:block;width:100%;height:100vh;height:100dvh;min-height:360px;padding:0;overflow:hidden;background:#0b0710;--royal-gold:#efc777;--royal-pale:#ffe6ad;--royal-serif:Georgia,'Times New Roman',serif}
.royal-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.royal-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.royal-sky{position:absolute;inset:0;opacity:.9}.royal-sky svg{width:100%;height:100%;filter:drop-shadow(0 0 4px #f6b64344)}
.royal-haze{position:absolute;inset:20% 5% 2%;background:radial-gradient(ellipse at 17% 75%,#9e37c128,transparent 45%),radial-gradient(ellipse at 88% 35%,#a441b523,transparent 50%);filter:blur(25px);animation:royal-drift 27s ease-in-out infinite alternate}
.royal-tv .atmosphere,.royal-tv>.frame{display:none}.royal-tv .tv-header{position:absolute;left:4.5%;right:4.5%;top:2.7%;height:14.5%;display:flex;align-items:flex-start;justify-content:center;padding:0;border:0;background:none;z-index:3}
.royal-tv .brand{position:absolute;left:29%;width:42%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1vh;min-width:0}
.royal-brand-logo{height:78%;width:100%;object-fit:contain;filter:drop-shadow(0 2px 1px #ffe4a34d) drop-shadow(0 0 14px #c0882855)}
.royal-brand-tagline{font-family:var(--royal-serif);font-style:italic;font-size:clamp(11px,1.3vw,30px);color:#f8dca0;white-space:nowrap}
.royal-corner-caption{position:absolute;left:0;top:0;max-width:23%;display:flex;flex-direction:column;align-items:center;gap:1vh;color:#f6d58f;font-family:var(--royal-serif);letter-spacing:.19em;text-align:center;line-height:1.6}
.royal-corner-caption>span{font-size:clamp(11px,1.65vw,35px)}.royal-corner-caption>strong{font-size:clamp(8px,.95vw,21px);font-weight:400}.royal-corner-caption>i{font-size:21px;font-style:normal;display:block;width:100%;border-bottom:1px solid #c6a25655}
.royal-tv .header-middle{display:none}.royal-tv .clock{position:absolute;right:0;top:0;text-align:right;color:#ffe1a0;min-width:0}.royal-tv #clockTime{font-family:var(--royal-serif);font-size:clamp(22px,3vw,67px);line-height:1.2}.royal-tv #clockDate{font-family:var(--royal-serif);font-size:clamp(8px,.95vw,22px);letter-spacing:.17em;color:#ebcf96;margin-top:1vh}
.royal-moons{position:absolute;top:7%;left:29%;width:42%;height:10%;display:flex;align-items:center;justify-content:space-around;opacity:0;transition:opacity 1s;color:#edcb8b;font-size:clamp(24px,4vw,95px);filter:drop-shadow(0 0 10px #bb8b3144)}
.royal-full-moon{font-size:1.2em;color:#ffe3a0}
.royal-tv[data-royal-scene=welcome] .royal-moons{opacity:.92}.royal-tv[data-royal-scene=welcome] .brand{opacity:0}
.royal-tv .stage{position:absolute;left:15.4%;right:15.4%;top:20%;bottom:23%;margin:0;z-index:2;overflow:visible}
.royal-tv .scene{padding:0;gap:4%;color:#f6e4c1;align-items:center;isolation:isolate;transition:opacity 1.1s ease,transform 1.1s ease;transform:translateY(8px)}
.royal-tv .scene.active{transform:translateY(0)}
.royal-tv .scene:before{content:'';position:absolute;inset:-1% -3%;border-radius:40%;background:radial-gradient(ellipse,#0c070f55,transparent 75%);z-index:-1;pointer-events:none}
.royal-tv .scene h1,.royal-tv .scene h2,.royal-tv .scene h3{font-family:var(--royal-serif);font-weight:400;letter-spacing:-.025em;color:#f4d38f;text-shadow:0 2px 2px #4c2d10,0 4px 17px #000b}
.royal-tv .scene h2{font-size:clamp(29px,4.4vw,100px);line-height:1.09;margin-bottom:2vh}
.royal-tv .scene p{font-size:clamp(12px,1.23vw,28px);line-height:1.6;color:#eadbc5;max-width:none}
.royal-tv .scene .eyebrow{font-family:var(--royal-serif);font-size:clamp(9px,.95vw,21px);letter-spacing:.2em;color:#e8c686}
.royal-tv .fine-rule{background:linear-gradient(90deg,transparent,#f0c776,transparent);height:1px;width:90%;margin:2.4vh 0;position:relative}
.royal-tv .fine-rule:after{content:'❦';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(15px,1.6vw,38px);color:#f7d89b;background:#0d0811;padding:0 .5em}
.royal-tv[data-royal-scene=welcome] .stage{left:15%;right:15%;top:24%;bottom:27%}
.royal-tv .welcome{display:flex;flex-direction:column;justify-content:center;text-align:center}.royal-tv .welcome .scene-copy{width:100%;padding:0}.royal-tv .welcome-art{display:none}
.royal-hero-logo{width:100%;height:auto;max-height:29vh;object-fit:contain;filter:drop-shadow(0 3px 2px #ffc97955) drop-shadow(0 0 24px #d1942444);margin:0 auto 4vh}
.royal-tv .welcome .eyebrow{display:none}.royal-tv .welcome h1{font-size:clamp(25px,3vw,70px);font-style:italic;line-height:1.25;white-space:nowrap;margin:0 0 2vh}
.royal-tv .welcome h1 em{display:inline;color:#ffdda2;font-weight:400;margin-left:.25em}.royal-tv .welcome .fine-rule{width:55%;margin:2.5vh auto}
.royal-tv .welcome p{font-family:var(--royal-serif);font-size:clamp(12px,1.5vw,31px);max-width:38em;margin:2.5vh auto 0}.royal-tv .welcome .pillars{display:none}
.royal-tv .royal-website{position:absolute;bottom:11%;left:28%;width:44%;height:9%;z-index:4;display:flex;align-items:center;justify-content:center;gap:3.5vw;padding:.8vh 2vw;text-decoration:none;color:#ffe1a1;background:linear-gradient(110deg,#170e1677,#0a0708ed,#170e1677);border:1.6px solid #efc576;border-radius:3.5vh;box-shadow:inset 0 0 0 3px #0e090b,inset 0 0 0 4px #c79c5140,0 -1px 11px #f0c06933,0 8px 30px #0008;text-align:center}
.royal-website small{display:block;font-family:var(--royal-serif);font-size:clamp(8px,.83vw,20px);letter-spacing:.22em;color:#f1cf8d;margin-bottom:.5vh;white-space:nowrap}
.royal-website strong{font-family:var(--royal-serif);font-size:clamp(20px,2.35vw,53px);font-weight:400;white-space:nowrap;letter-spacing:.01em;text-shadow:0 1px 6px #efb85033}.royal-website>span{font-family:var(--royal-serif);font-size:clamp(19px,2.4vw,57px);color:#dbac56}
.royal-tv .slide-navigation{position:absolute;left:41%;right:41%;bottom:21%;height:1.6%;margin:0;padding:0;justify-content:center;z-index:4;opacity:.48}.royal-tv #sectionLabel,.royal-tv #slideCount{display:none}.royal-tv #slideDots{gap:6px}.royal-tv #slideDots button{height:4px;width:4px;padding:0}.royal-tv .ticker{display:none}
.royal-tv .music-ribbon{position:absolute;bottom:0;left:0;right:0;height:8.6%;z-index:5;margin:0;padding:1vh 7%;border:0;border-top:1px solid #d9ab6555;background:linear-gradient(180deg,#090509be,#170a23df);gap:2vw}
.royal-tv .now-art{height:95%;width:auto;aspect-ratio:1;border:1px solid #d9b873}
.royal-tv .ribbon-track .eyebrow{font-size:clamp(7px,.67vw,15px);color:#e8c78c;letter-spacing:.2em}.royal-tv #ribbonTitle{font-family:var(--royal-serif);font-size:clamp(19px,1.75vw,40px);line-height:1.15}.royal-tv #ribbonArtist{font-size:clamp(8px,.67vw,16px)}
.royal-tv .ribbon-visual{width:28%;margin-left:auto}.royal-tv .mood{max-width:25%;text-align:right;font-family:var(--royal-serif)}.royal-tv .mood .eyebrow{font-size:clamp(7px,.6vw,14px)}.royal-tv #moodLabel{font-size:clamp(13px,1.4vw,31px)}
.royal-services{position:absolute;left:0;right:0;bottom:1.3%;height:7.8%;border-top:1px solid #e2b268bb;border-bottom:1px solid #e2b26888;background:#100713b0;z-index:5;display:none;align-items:center;justify-content:center;gap:0;color:#edcf94}
.royal-services>span{display:flex;align-items:center;justify-content:center;gap:1.2vw;min-width:15%;padding:0 1.6vw;border-right:1px solid #8c6f4066;font-family:var(--royal-serif);font-variant:small-caps;font-size:clamp(12px,1.23vw,28px);letter-spacing:.12em}.royal-services>span:last-child{border:0}.royal-services i{font-size:clamp(18px,2.6vw,58px);font-style:normal;color:#e2b765}
.royal-tv[data-royal-scene=welcome] .royal-services{display:flex}.royal-tv[data-royal-scene=welcome] .music-ribbon,.royal-tv[data-royal-scene=music] .music-ribbon{visibility:hidden}.royal-tv[data-royal-scene=music] .royal-website{bottom:5%}.royal-tv[data-royal-scene=music] .slide-navigation{bottom:15.5%}.royal-tv[data-royal-scene=music] .stage{bottom:18%}
.royal-gilding{position:absolute;inset:0;pointer-events:none;z-index:3}.royal-gilding svg{width:100%;height:100%;fill:none;stroke:#d5aa60;stroke-width:.36;filter:drop-shadow(0 0 2px #ffd99c44)}
.royal-divider{display:flex;align-items:center;justify-content:center;gap:8%;width:100%;margin:1vh 0;color:#efcb7f;font-size:clamp(12px,1.1vw,26px)}.royal-divider i{display:block;height:1px;width:34%;background:linear-gradient(90deg,transparent,#be8f45)}.royal-divider i:last-child{transform:rotate(180deg)}
.royal-tv .practitioners-scene{display:flex;flex-direction:column;gap:1vh}.royal-tv .practitioners-heading{display:block;margin:0 0 1.8vh;width:100%;text-align:center}.royal-tv .practitioners-heading .eyebrow{display:none}.royal-tv .practitioners-heading h2{font-size:clamp(30px,4.4vw,100px);line-height:1.1;margin:0 0 1vh}.royal-tv .practitioners-heading p{font-family:var(--royal-serif);font-size:clamp(10px,.95vw,22px);text-align:center;max-width:none;margin:0}.royal-tv .practitioners-heading br{display:none}
.royal-tv .practitioner-grid{width:100%;height:auto;flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1vw;padding:0}
.royal-tv .practitioner-card{padding:8% 7% 9%;border:0;background:linear-gradient(145deg,#201016b0,#090706e8 63%,#26141c85);border-radius:14% 14% 8% 8%;justify-content:flex-start;align-items:center;text-align:center;overflow:visible;min-height:0}
.royal-tv .practitioner-card:before{display:none}.royal-tv .avatar{height:46%;width:84%;border:1px solid #f4cb79;border-radius:50% 50% 44% 44%;margin:0 auto 1.5vh;flex-shrink:0;overflow:hidden;box-shadow:0 0 0 3px #181012,0 0 0 4px #8c672c;aspect-ratio:1;background:radial-gradient(ellipse,#583354,#0d0811);color:#d7b469}
.royal-tv .avatar img{width:100%;height:100%;border-radius:0;object-fit:contain}.royal-tv .avatar img:not(.royal-listing-photo){object-fit:cover}.royal-tv .practitioner-card h3{font-size:clamp(22px,2.45vw,58px);margin:0;line-height:1.07}
.royal-tv .practitioner-card p{font-family:var(--royal-serif);font-size:clamp(11px,1.02vw,24px);line-height:1.36;margin:0 0 1vh;min-height:0;max-width:16em}
.royal-tv .availability{width:100%;margin-top:auto;justify-content:center;gap:5%;min-height:4.7vh;padding:.8vh .35vw;border:1px solid #a66bbb;border-radius:2vh;box-shadow:inset 0 0 10px #b145c42b,0 0 8px #bb46d433;color:#e4b9f4;font-family:var(--royal-serif);font-size:clamp(8px,.8vw,19px);letter-spacing:0;text-align:center}
.royal-tv .availability.available{border-color:#abd581;color:#d6f2b0;box-shadow:inset 0 0 10px #87cf5a33,0 0 9px #83e25744}.royal-tv .availability.appointment,.royal-tv .availability.busy{color:#f4d69b;border-color:#d9ac5e;box-shadow:inset 0 0 10px #dcb45328,0 0 8px #f0b95322}.royal-tv .availability.off,.royal-tv .availability.away{border-color:#8f7575;color:#d3bebc;box-shadow:none}.royal-tv .availability:before{width:clamp(4px,.7vw,15px);height:clamp(4px,.7vw,15px);flex-shrink:0}.royal-tv .availability-note{font-size:clamp(8px,.67vw,15px);margin:.5vh 0 0;line-height:1.25}
.royal-tv .agenda{display:flex;flex-direction:column;gap:2.3vh}.royal-tv .agenda>.scene-copy{flex:0 0 auto;width:100%;text-align:center;padding:0}.royal-tv .agenda .scene-copy>.eyebrow,.royal-tv .agenda .scene-copy>p,.royal-tv .agenda .scene-copy>.qr-callout{display:none}
.royal-tv .agenda h2{font-size:clamp(27px,4.1vw,94px);line-height:1.05;margin:0;font-variant:small-caps;white-space:nowrap;letter-spacing:-.045em}
.royal-tv .agenda-list{height:auto;flex:1;min-height:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1vw;padding:0 0 2.5vh;position:relative}
.royal-tv .agenda-item{position:relative;margin:0;padding:5% 7% 7%;display:flex;flex-direction:column;gap:1.1vh;background:linear-gradient(150deg,#301728b0,#0b080ce8 65%);border:0;border-radius:6%;text-align:center;min-width:0;min-height:0}
.royal-illustration{background-image:var(--royal-illustrations);background-repeat:no-repeat;background-size:400% 100%;background-position:0 0;position:relative}
.royal-illustration.art-lotus{background-position:33.333% 0}.royal-illustration.art-owl{background-position:66.666% 0}.royal-illustration.art-book{background-position:100% 0}
.agenda-item>.royal-illustration{width:100%;height:44%;min-height:5vh;border:1px solid #9d763a;border-radius:48% 48% 3% 3%;flex-shrink:0;box-shadow:0 0 12px #000;order:0}
.royal-tv .agenda-item>div:last-child{order:1}.royal-tv .agenda-item h3{font-size:clamp(16px,1.75vw,40px);font-variant:small-caps;line-height:1.12;min-height:2.25em;margin:0 0 1vh;letter-spacing:-.015em}.royal-tv .agenda-item p{font-family:var(--royal-serif);font-size:clamp(9px,.86vw,20px);line-height:1.45;margin:0;color:#f4dfb5}
.royal-tv .date-square{order:2;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5em;margin-top:auto;min-width:0;width:100%;border:0;border-top:1px solid #c69b5366;padding:.8vh 0 0}.royal-tv .date-square b{font-size:clamp(18px,1.6vw,37px);line-height:1}.royal-tv .date-square small{font-family:var(--royal-serif);font-size:clamp(9px,.9vw,21px)}.royal-tv .agenda-footnote{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--royal-serif);font-size:clamp(9px,.86vw,20px);line-height:1.4;color:#d6bd8a;margin:0}
.royal-tv .event .scene-copy{padding-right:2%}.royal-tv .event .event-date{font-family:var(--royal-serif);font-size:clamp(13px,1.5vw,33px);line-height:1.45;color:#f0cb87;margin:1.5vh 0}
.royal-tv .scene-art{position:relative;height:91%;width:100%;padding:5%;overflow:hidden;border-radius:8%;display:flex;align-items:center;justify-content:center;background:#120a1470}
.royal-tv .scene-art>.royal-illustration{position:absolute;inset:6%;border-radius:7%;opacity:.85}.royal-tv .event-art:has(.royal-illustration) .event-seal{display:none}.royal-tv .scene-art:has(.royal-illustration)>.event-seal{display:none}.royal-tv .altar-photo{border:0;max-height:100%;width:100%;object-fit:contain;box-shadow:none}
.royal-tv .event-seal{background:radial-gradient(ellipse,#7136573a,#180c1730);border:0;box-shadow:none;height:90%;max-height:none}.royal-tv .event-seal:before,.royal-tv .event-seal:after{border-color:#c3944555}.royal-tv .seal-symbol{color:#ecc076;font-size:clamp(80px,13vw,300px);text-shadow:0 0 30px #dcae4544}.royal-tv .seal-note{font-family:var(--royal-serif);color:#f5d498;font-size:clamp(16px,1.65vw,38px)}
.royal-tv .qr-callout{gap:1.2vw;margin-top:2.3vh}.royal-tv .qr-box{width:clamp(70px,6.8vw,155px);height:clamp(70px,6.8vw,155px);padding:7px;border:1px solid #dab975;box-shadow:0 0 0 4px #0a070c,0 0 0 5px #a37c3f66;background:#fff}.royal-tv .qr-copy strong{font-family:var(--royal-serif);font-size:clamp(16px,1.65vw,36px);color:#f1d59c}.royal-tv .qr-copy span{font-size:clamp(8px,.69vw,16px);line-height:1.4}
.royal-tv .music-scene{display:grid;grid-template-columns:45% 51%;grid-template-rows:27% 69%;gap:4%;padding:0;align-items:center}
.royal-music-heading{grid-column:1/-1;grid-row:1;text-align:center;align-self:start;padding:0 0 1vh;position:relative;border-bottom:1px solid #c19a5144}
.royal-tv .royal-music-heading h1{font-size:clamp(39px,5.35vw,121px);line-height:1.1;font-variant:small-caps;margin:0 0 .7vh;letter-spacing:-.04em;background:linear-gradient(180deg,#ffebad 10%,#bd7f32 47%,#ffe6a4 62%,#dcaf60 92%);color:transparent;-webkit-background-clip:text;background-clip:text;text-shadow:none;filter:drop-shadow(0 2px 1px #5a300d) drop-shadow(0 0 15px #dca64122)}
.royal-music-heading>span{font-family:var(--royal-serif);font-size:clamp(10px,1.16vw,27px);letter-spacing:.36em;color:#edcf9a}.royal-music-heading:after{content:'❦';position:absolute;bottom:-.6em;left:50%;transform:translateX(-50%);background:#0b0710;color:#eac47e;padding:0 .7em;font-size:clamp(16px,1.7vw,40px)}
.royal-tv .music-cover-frame{grid-column:1;grid-row:2;position:relative;width:auto;height:100%;aspect-ratio:1;max-width:100%;padding:3%;border:1px solid #dcad54;background:#160d1577;box-shadow:0 0 0 3px #473014,0 0 0 4px #d8b06a,0 10px 35px #0008}
.royal-tv .music-cover-frame:before{display:none}.royal-tv .music-cover-frame img{width:100%;height:100%;object-fit:cover}.royal-tv .music-cover-frame .royal-gilding{inset:-1.4%;z-index:3}.royal-tv .music-cover-frame .royal-gilding svg{stroke-width:.65}
.royal-tv .music-scene>.scene-copy{grid-column:2;grid-row:2;padding:0;align-self:center;min-width:0}.royal-tv .music-scene .scene-copy>.eyebrow,.royal-tv .music-scene .scene-copy>p,.royal-tv .music-scene .micro,.royal-tv .music-scene .sound-lines,.royal-tv .music-scene .fine-rule{display:none}
.royal-tv .music-scene h2{font-size:clamp(27px,3.2vw,73px);margin:0 0 1.4vh;line-height:1.12}.royal-tv .music-scene .album-title{font-family:var(--royal-serif);font-size:clamp(18px,1.95vw,44px);color:#edcf9b;margin:0 0 3vh;font-style:normal}
.royal-player{width:100%;padding:1vh 0 0;border-top:1px solid #b9904d88}.royal-progress{position:relative;height:.7vh;min-height:4px;margin:2vh 0 1vh;border-radius:8px;background:#71513188}.royal-progress>i{position:relative;display:block;height:100%;width:0;background:linear-gradient(90deg,#e9b45d,#ffe6a1);border-radius:8px;box-shadow:0 0 12px #ffe39955}.royal-progress>i:after{content:'';position:absolute;right:-5px;top:50%;transform:translateY(-50%);height:clamp(8px,.75vw,18px);width:clamp(8px,.75vw,18px);border-radius:50%;background:#ffefbd;box-shadow:0 0 14px #ffcf6a}
.royal-times{display:flex;justify-content:space-between;font-family:var(--royal-serif);color:#e7cc98;font-size:clamp(11px,1.1vw,25px)}.royal-spectrum{width:100%;height:8.5vh;margin:1vh 0;filter:drop-shadow(0 0 3px #ffe39944)}
.royal-player-controls{display:flex;justify-content:center;align-items:center;gap:2vw}.royal-player-controls button{padding:0;border:0;color:#efd59b;font-size:clamp(19px,1.8vw,42px);background:none;min-width:30px;min-height:30px}.royal-player-controls .royal-toggle{border:1px solid #f0d390;width:5.3vh;height:5.3vh;min-width:35px;min-height:35px;border-radius:50%;box-shadow:0 0 10px #dcab3522}.royal-player-controls .royal-resume{font-family:var(--royal-serif);font-size:clamp(11px,1vw,23px);text-decoration:underline;text-underline-offset:4px}
.royal-butterfly{position:absolute;display:flex;align-items:center;justify-content:center;width:5.3%;aspect-ratio:1.3;filter:drop-shadow(0 0 8px #ffc95888);animation:royal-flight 23s ease-in-out infinite;will-change:transform}
.royal-wing{width:48%;height:100%;transform-origin:100% 55%;animation:royal-flap 3.8s ease-in-out infinite}.royal-wing.right{transform-origin:0% 55%;animation-name:royal-flap-right}.royal-wing.right svg{transform:scaleX(-1)}.royal-wing svg{width:100%;height:100%}.royal-wing .foil{fill:#efb9413b;stroke:#ffdb7c;stroke-width:1.2}.royal-wing .veins{fill:none;stroke:#ffc966;stroke-width:.65}.royal-butterfly>i{height:42%;width:2.4%;border-radius:100%;background:#ffdf95;box-shadow:0 0 5px #ffd467}
.butterfly-0{left:17%;top:22%;animation-delay:-5s}.butterfly-1{right:13%;top:20%;width:4.5%;animation-delay:-17s}.butterfly-2{left:9%;top:65%;width:3.1%;animation-delay:-11s}.butterfly-3{right:11%;top:68%;width:3.5%;animation-delay:-8s}.butterfly-4{left:29%;top:3%;width:2.4%;opacity:.7;animation-delay:-20s}
.royal-candle-glow{position:absolute;width:2%;height:8%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#fff4b238 10%,#ffb9402e 35%,transparent 70%);filter:blur(3px);mix-blend-mode:screen;animation:royal-candle 3.5s ease-in-out infinite alternate}
.royal-tv .transport{z-index:30;position:absolute;bottom:1%;background:#100818ef;backdrop-filter:blur(10px);border-color:#d0a05566;max-width:94%;left:50%;transform:translateX(-50%);padding:9px;gap:6px;box-shadow:0 5px 30px #0008}.royal-tv .transport button{font-size:12px}.royal-tv .audio-prompt{bottom:1%;left:auto;right:3%;z-index:31;padding:7px 12px;background:#190c20f5;border:1px solid #ba8d49;box-shadow:0 5px 20px #0008}.royal-tv .audio-prompt span{font-size:10px}
@keyframes royal-flight{0%,100%{transform:translate(0,0) rotate(-11deg)}32%{transform:translate(21px,-28px) rotate(12deg)}68%{transform:translate(-14px,18px) rotate(-4deg)}}
@keyframes royal-flap{0%,100%{transform:perspective(180px) rotateY(10deg)}50%{transform:perspective(180px) rotateY(65deg)}}
@keyframes royal-flap-right{0%,100%{transform:perspective(180px) rotateY(-10deg)}50%{transform:perspective(180px) rotateY(-65deg)}}
@keyframes royal-drift{from{transform:translate(-2%,1%);opacity:.7}to{transform:translate(2%,-1%);opacity:1}}
@keyframes royal-candle{0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(.8,.94)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.05,1.03)}70%{opacity:.78;transform:translate(-50%,-50%) scale(.95,1.1)}}
[data-motion=off] .royal-backdrop *{animation:none!important}[data-motion=subtle] .royal-wing{animation-duration:4.9s}
@media(prefers-reduced-motion:reduce){.royal-backdrop *{animation:none!important}.royal-tv .scene{transition:opacity .3s!important;transform:none!important}}
@media(max-aspect-ratio:4/5){
 .royal-tv{min-height:730px}.royal-tv .tv-header{top:2%;height:12%;left:5%;right:5%}.royal-tv .brand{left:12%;width:76%;height:85%;top:0}.royal-brand-tagline{font-size:10px}.royal-corner-caption{display:none}.royal-tv .clock{top:90%;right:0;display:flex;gap:10px;align-items:center}.royal-tv #clockTime{font-size:17px}.royal-tv #clockDate{font-size:7px;margin:0}.royal-scenery{opacity:.7}.royal-tv .stage{left:7%;right:7%;top:20%;bottom:23%}.royal-tv .scene h2{font-size:31px}.royal-tv .scene p{font-size:12px}.royal-tv .scene .eyebrow{font-size:7px}.royal-tv .scene-art{height:100%;padding:8%}
 .royal-tv[data-royal-scene=welcome] .stage{left:6%;right:6%;top:23%;bottom:28%}.royal-tv .royal-hero-logo{max-height:none;margin-bottom:4vh;width:100%}.royal-tv .welcome h1{font-size:28px;white-space:normal}.royal-tv .welcome h1 em{display:block;margin:.3em 0 0}.royal-tv .welcome p{font-size:14px;max-width:22em}.royal-tv .royal-moons{left:15%;width:70%;top:12%;font-size:31px}.royal-tv .royal-website{left:10%;width:80%;height:8%;bottom:12%;gap:13px;padding:5px 10px}.royal-website small{font-size:7px;letter-spacing:.1em}.royal-website strong{font-size:clamp(17px,5vw,27px)}.royal-website>span{font-size:23px}.royal-tv .slide-navigation{bottom:21%;left:15%;right:15%}.royal-services{height:9%;bottom:1%;display:none;flex-wrap:wrap;padding:8px 12px}.royal-services>span{width:33.333%;font-size:10px;gap:8px;padding:0 4px}.royal-services i{font-size:19px}
 .royal-tv .practitioners-heading{margin-bottom:8px}.royal-tv .practitioners-heading h2{font-size:29px;margin-bottom:8px}.royal-tv .practitioners-heading p{font-size:9px;line-height:1.4}.royal-tv .practitioner-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.royal-tv .practitioner-card{padding:9px 13px;min-height:0}.royal-tv .avatar{height:40%;max-width:70px;margin-bottom:6px}.royal-tv .practitioner-card h3{font-size:21px}.royal-tv .royal-divider{margin:3px 0;font-size:10px}.royal-tv .practitioner-card p{font-size:9px;line-height:1.25;margin-bottom:5px}.royal-tv .availability{font-size:7px;padding:5px 2px;min-height:25px;gap:3px;border-radius:10px}.royal-tv .availability-note{font-size:7px}
 .royal-tv .agenda{gap:15px}.royal-tv .agenda h2{font-size:29px;white-space:normal}.royal-tv .agenda-list{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding-bottom:19px}.royal-tv .agenda-item{padding:8px 12px;gap:4px}.royal-tv .agenda-item>.royal-illustration{height:40%;border-radius:40% 40% 3% 3%}.royal-tv .agenda-item h3{font-size:17px;line-height:1.05;min-height:0;margin-bottom:5px}.royal-tv .agenda-item p{font-size:8px;line-height:1.25}.royal-tv .date-square{padding:3px 0 0;gap:5px}.royal-tv .date-square b{font-size:18px}.royal-tv .date-square small{font-size:8px}.royal-tv .agenda-footnote{font-size:8px;bottom:0}
 .royal-tv[data-royal-scene=music] .stage{top:19%;bottom:19%;left:10%;right:10%}.royal-tv .music-scene{display:flex;flex-direction:column;gap:2vh}.royal-music-heading{flex:0 0 auto;width:100%}.royal-tv .royal-music-heading h1{font-size:36px;margin-bottom:5px}.royal-music-heading>span{font-size:9px;letter-spacing:.2em}.royal-tv .music-cover-frame{flex:0 0 36%;height:36%;width:auto;max-width:80%;padding:6px}.royal-tv .music-scene>.scene-copy{width:100%;text-align:center}.royal-tv .music-scene h2{font-size:27px;margin-bottom:6px}.royal-tv .music-scene .album-title{font-size:17px;margin:0 0 8px}.royal-player{padding:0}.royal-progress{margin:12px 0 5px}.royal-times{font-size:11px}.royal-spectrum{height:40px;margin:2px 0}.royal-player-controls{gap:20px}.royal-player-controls .royal-toggle{height:32px;width:32px}.royal-player-controls .royal-resume{font-size:11px}.royal-tv[data-royal-scene=music] .royal-website{bottom:7%}.royal-tv[data-royal-scene=music] .slide-navigation{bottom:16%}
 .royal-tv .music-ribbon{padding:10px 6%;height:10.5%;gap:12px}.royal-tv .mood{display:none}.royal-tv .ribbon-visual{display:none}.royal-tv #ribbonTitle{font-size:21px}.royal-tv .ribbon-track .eyebrow{font-size:8px}.royal-tv #ribbonArtist{font-size:8px}.royal-tv .transport{width:96%;max-width:96%;padding:5px;gap:3px;flex-wrap:wrap}.royal-tv .transport button{font-size:10px;padding:6px}.royal-tv #modeIndicator{font-size:8px}.royal-tv .audio-prompt{right:3%;bottom:1%;padding:4px 7px}.royal-tv .audio-prompt span{display:none}.royal-tv .audio-prompt button{font-size:10px;padding:8px}.royal-tv .qr-box{height:64px;width:64px}.royal-tv .qr-copy strong{font-size:17px}.royal-tv .qr-copy span{font-size:7px}.royal-tv .qr-callout{gap:12px}.royal-tv .event .event-date{font-size:13px}.royal-butterfly{width:9%}.royal-tv .event .scene-copy h2{font-size:30px}.royal-tv .event-seal .seal-note{font-size:18px}.royal-tv .scene-art>.royal-illustration{inset:8%}
}
@media(max-height:500px) and (min-aspect-ratio:4/5){
 .royal-tv{min-height:320px}.royal-tv .brand{width:34%;left:33%}.royal-brand-tagline{font-size:8px}.royal-tv .scene h2{font-size:28px}.royal-tv .scene p{font-size:10px;line-height:1.35}.royal-tv .scene .eyebrow{font-size:6px}.royal-tv .welcome h1{font-size:22px}.royal-tv .welcome p{font-size:10px}.royal-tv .royal-website{height:9%;width:50%;left:25%}.royal-website small{font-size:5px}.royal-website strong{font-size:18px}.royal-tv .agenda h2{font-size:29px}.royal-tv .agenda-item h3{font-size:14px}.royal-tv .agenda-item p{font-size:7px}.royal-tv .agenda-footnote{font-size:6px}.royal-tv .date-square small{font-size:6px}.royal-tv .date-square b{font-size:15px}.royal-tv .practitioners-heading h2{font-size:27px}.royal-tv .practitioners-heading p{font-size:7px}.royal-tv .practitioner-card h3{font-size:18px}.royal-tv .practitioner-card p{font-size:7px}.royal-tv .availability{font-size:6px;min-height:17px}.royal-tv .availability-note{font-size:6px}.royal-tv .royal-music-heading h1{font-size:36px}.royal-music-heading>span{font-size:8px}.royal-tv .music-scene h2{font-size:25px}.royal-tv .music-scene .album-title{font-size:16px;margin-bottom:13px}.royal-player-controls .royal-toggle{min-height:25px;min-width:25px}.royal-player-controls .royal-resume{font-size:8px}.royal-times{font-size:9px}.royal-tv .qr-box{width:48px;height:48px;padding:4px}.royal-tv .qr-copy strong{font-size:14px}.royal-tv .qr-copy span{font-size:6px}.royal-tv .event .event-date{font-size:10px}.royal-tv .transport button{padding:5px 7px;font-size:10px}.royal-services>span{font-size:10px}.royal-services i{font-size:18px}.royal-tv #ribbonTitle{font-size:17px}.royal-tv .audio-prompt{padding:3px 6px}.royal-tv .audio-prompt button{font-size:9px;padding:5px}.royal-tv .audio-prompt span{display:none}
}

/* Final readability pass. */
.royal-tv #ribbonTitle{color:#f7ddb0}.royal-tv #ribbonArtist{color:#cdb791}.royal-tv .mood .eyebrow{color:#d8b878}.royal-tv #moodLabel{color:#eed7af}
.royal-wing .foil{fill:#eabe5e8c;stroke:#ffe29b}.royal-wing .veins{stroke:#6a461c}

.royal-moons{top:0;left:17%;width:66%;height:24%;filter:none;mix-blend-mode:screen;mask-image:linear-gradient(180deg,#000 78%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent)}.royal-moons img{width:100%;height:100%;object-fit:fill}
@media(max-aspect-ratio:4/5){.royal-tv .royal-moons{top:7%;left:5%;width:90%;height:16%}}

.royal-moons{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.royal-moons img{mask-image:linear-gradient(180deg,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent)}
.royal-tv .audio-prompt,.royal-tv .audio-prompt button{color:#ffe2a3}.royal-tv .fine-rule:after{content:'✧'}
