/* Royal Sanctuary 1.4 — complete local artwork, real Shopify portrait framing. */
.royal-moons,.royal-sky,.royal-candle-glow{display:none}
.royal-scenery{object-fit:fill}
.royal-tv .brand{top:5vh;height:12vh;left:27%;width:46%}
.royal-tv .royal-brand-logo{height:82%}
.royal-tv .royal-brand-tagline{font-size:clamp(10px,1.12vw,27px)}
.royal-tv .royal-corner-caption{background:#100713b0;padding:.5vh .5vw;border-radius:5px}
.royal-tv .clock{padding:.5vh .7vw;background:#100713b0;border-radius:5px}
.royal-tv .practitioner-card{padding:6% 6% 7%}
.royal-tv .avatar{position:relative;width:auto;max-width:95%;height:47%;aspect-ratio:1;border-radius:50%;flex-shrink:0;margin-bottom:1.2vh}
.royal-tv .avatar .royal-listing-photo{position:absolute;width:278%;height:auto;max-width:none;left:-164%;top:-39%;object-fit:initial}
.royal-tv [data-person=mimi] .royal-listing-photo{width:286%;left:-181%;top:-38%}
.royal-tv [data-person=benji] .royal-listing-photo{width:278%;left:-159%;top:-38%}
.royal-tv [data-person=aileen] .royal-listing-photo{width:217%;left:-106%;top:-15%}
.royal-tv .practitioner-card h3{font-size:clamp(20px,2.3vw,55px)}
.royal-tv .practitioner-card p{font-size:clamp(10px,.97vw,23px);line-height:1.3}
.royal-tv .royal-divider{margin:.7vh 0}
.royal-illustration{background-size:200% 200%;background-position:0 0}
.royal-illustration.art-lotus{background-position:100% 0}
.royal-illustration.art-owl{background-position:0 100%}
.royal-illustration.art-book{background-position:100% 100%}
.royal-tv .agenda-item{padding:5% 6% 6%;gap:.7vh}
.royal-tv .agenda-item h3{font-size:clamp(15px,1.65vw,39px);min-height:2.25em;margin-bottom:.7vh}
.royal-tv .agenda-item p{font-size:clamp(8px,.79vw,19px);line-height:1.35}
.royal-tv .royal-website{left:25%;width:50%;gap:2.5vw}
.royal-tv .royal-website strong{font-size:clamp(20px,2.35vw,55px)}
.royal-tv .royal-player-controls button:focus-visible{outline:3px solid #ffe5ab;outline-offset:4px}
.royal-tv .audio-prompt{z-index:30}
@media(max-aspect-ratio:4/5){
 .royal-scenery{object-fit:cover;opacity:.65}
 .royal-tv .brand{top:6vh;height:10vh;left:12%;width:76%}
 .royal-tv .royal-brand-tagline{font-size:10px}
 .royal-tv .practitioner-card{padding:9px 10px}
 .royal-tv .avatar{height:43%;width:auto;max-width:90px;margin-bottom:6px}
 .royal-tv .practitioner-card h3{font-size:21px}
 .royal-tv .practitioner-card p{font-size:9px}
 .royal-tv .royal-divider{margin:3px 0}
 .royal-tv .agenda-item{padding:8px 11px;gap:4px}
 .royal-tv .agenda-item h3{font-size:16px;min-height:0}
 .royal-tv .agenda-item p{font-size:8px}
 .royal-tv .royal-website{left:8%;width:84%;gap:12px}
 .royal-tv .royal-website strong{font-size:21px}
 .royal-tv .clock{background:transparent}
}
@media(max-height:500px) and (min-aspect-ratio:4/5){.royal-tv .avatar{height:42%}.royal-tv .practitioner-card h3{font-size:18px}.royal-tv .practitioner-card p{font-size:7px}.royal-tv .agenda-item h3{font-size:14px}.royal-tv .agenda-item p{font-size:7px}.royal-tv .royal-website strong{font-size:18px}}

/* Gallery finish — opaque panels and clear typography, with ornaments outside content. */
.royal-tv .royal-butterfly,.royal-tv .royal-gilding,.royal-tv .royal-haze{display:none}
.royal-tv .practitioner-card,.royal-tv .agenda-item{
 background:linear-gradient(160deg,#211127,#100b16 75%);
 border:1px solid #b69558;border-radius:14px;
 box-shadow:0 8px 24px #0006;overflow:hidden;
 padding:1.6vh 1.1vw;
}
.royal-tv .practitioner-card p,.royal-tv .agenda-item p{
 font-family:Arial,Helvetica,sans-serif;font-size:clamp(10px,1.02vw,24px);
 line-height:1.45;color:#e8dfeb;
}
.royal-tv .agenda-item h3{font-variant:normal;font-size:clamp(16px,1.7vw,40px);line-height:1.2;min-height:2.4em;margin:1vh 0}
.royal-tv .agenda-item>.royal-illustration{border-radius:8px;height:43%;box-shadow:none}
.royal-tv .date-square{padding-top:1.1vh;border-color:#b6955866;color:#f2d59e}
.royal-tv .practitioner-card h3{text-shadow:none;margin:.3vh 0}
.royal-tv .royal-divider{margin:.7vh 0;opacity:.6}
.royal-tv .availability{font-family:Arial,Helvetica,sans-serif;font-size:clamp(8px,.82vw,20px);line-height:1.3;min-height:4.4vh;border-radius:7px;background:#21122b;box-shadow:none;padding:.7vh .3vw}
.royal-tv .availability.available{background:#16251b;box-shadow:none}
.royal-tv .availability.appointment,.royal-tv .availability.busy{background:#2b2217;box-shadow:none}
.royal-tv .royal-website{background:#120c19;border-radius:14px;border:1px solid #b69558;box-shadow:0 6px 24px #0005}
.royal-tv .royal-website>span{display:none}
.royal-tv .music-ribbon,.royal-tv .royal-services{background:#120c19}
.royal-tv .music-cover-frame{background:#120c19;border:1px solid #b69558;box-shadow:0 8px 24px #0006;padding:2%;border-radius:8px}
.royal-tv .music-scene>.scene-copy{background:#120c19;padding:2vh 1.5vw;border:1px solid #b6955866;border-radius:12px}
.royal-tv .scene-art{background:#120c19;border:1px solid #b69558;border-radius:12px}
.royal-tv .event>.scene-copy{background:#120c19;padding:2vh 1.5vw;border:1px solid #b6955866;border-radius:12px}
.royal-tv .event .scene-copy h2{font-size:clamp(27px,3.3vw,76px)}
.royal-tv .event .scene-copy p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(12px,1.12vw,27px);line-height:1.5}
.royal-tv .scene h3{text-shadow:none}
@media(max-aspect-ratio:4/5){
 .royal-tv .practitioner-card,.royal-tv .agenda-item{padding:8px 10px;border-radius:8px}
 .royal-tv .practitioner-card p,.royal-tv .agenda-item p{font-size:9px;line-height:1.3}
 .royal-tv .agenda-item h3{font-size:16px;min-height:0;margin:4px 0}
 .royal-tv .availability{font-size:7px;min-height:24px}
 .royal-tv .event .scene-copy h2{font-size:25px}
}
