/* Queen’s Peace Palace: shared silhouette, two restrained treatments. */
.qpp-frame{position:relative;isolation:isolate;color:#b49766;min-width:0}
.qpp-frame-art{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
.qpp-frame-art path,.qpp-frame-art rect{vector-effect:non-scaling-stroke}
.qpp-frame-art .qpp-frame-engraving{stroke-width:.9;opacity:.8}
.qpp-frame-body{position:relative;z-index:1;min-width:0}
.dark-room .qpp-frame,.session-portrait .qpp-frame,.library-emblem .qpp-frame{color:var(--light-gold)}
.qpp-frame--portrait .qpp-frame-body{padding:0;aspect-ratio:3/4;overflow:hidden}
.qpp-frame--portrait .qpp-frame-body>img{width:100%;height:100%;aspect-ratio:auto;max-height:none;object-fit:cover;object-position:center;clip-path:var(--qpp-frame-clip);border-radius:0}
.hero-palace-portrait{position:relative}
.hero-palace-portrait figcaption{font:italic 18px/1.3 var(--serif);color:var(--muted);text-align:center;margin-top:13px}
.hero-visual{margin-top:0}.hero-visual .qpp-frame{margin:-8px -14px 0}
.hero-visual .qpp-frame--portrait .qpp-frame-body>img{object-position:center 46%}
.hero-sun{display:none}
.session-portrait{padding:0 16px 26px;background:var(--deep)}
.session-portrait>.qpp-frame{transform:translateY(-25px);margin-bottom:-25px}
.session-portrait .portrait-caption{padding-top:20px;font-size:22px}
.qpp-frame--invitation .qpp-frame-body{padding-top:132px;padding-bottom:82px;padding-left:16%;padding-right:16%}
.qpp-frame--invitation h2{font-size:40px}
.qpp-frame--library .qpp-frame-body{padding:70px 18% 65px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.library-emblem{border-radius:0;padding:15px 12px;min-height:350px}
.library-emblem .qpp-frame{min-height:320px}.library-emblem .qpp-frame .art{width:150px;height:150px;margin:-15px 0 0}
.library-emblem .qpp-frame p{font:italic 23px/1.15 var(--serif);text-align:center;margin-top:0}
/* Fragments retain the same arch geometry, with deliberate open edges. */
.qpp-frame-fragment{position:absolute;pointer-events:none;overflow:hidden;color:#b49766}
.qpp-frame-fragment .qpp-frame-art{width:100%;height:auto;aspect-ratio:3/4;position:absolute;inset:0 auto auto 0}
.qpp-frame-fragment--top .qpp-frame-outer,.qpp-frame-fragment--top .qpp-frame-detail{display:none}
.dark-room .qpp-frame-fragment{color:var(--light-gold)}
.inner-shelves .book-niche{position:relative;border:0;border-bottom:1px solid #b4976680;border-radius:0;background:transparent;padding:55px 30px 0;isolation:isolate}
.book-niche:before,.passage-door:before{display:none}
.workbook-frame{left:-12px;right:-12px;top:0;height:155px;z-index:0}
.inner-shelves .book-niche img{z-index:1;position:relative;box-shadow:7px 10px 18px #48452f20}
.passage-door{border:0;border-bottom:1px solid #d4af7c77;border-radius:0;background:transparent;padding:35px 15px 0;isolation:isolate}
.passage-frame{left:-10px;right:-10px;top:0;height:100px;z-index:0}
.passage-door>img{position:relative;z-index:1}
.passage:hover .passage-door{border-color:#d4af7c}.inner-shelves .product:hover .book-niche{border-color:#b49766}
/* A partial ornate doorway extends beyond the quote room’s left boundary. */
.signal{isolation:isolate}.signal-quote:before{display:none}
.signal-palace-edge{left:-8vw;top:-80px;bottom:-105px;width:49%;overflow:hidden;z-index:-1;opacity:.7}
.signal-palace-edge .qpp-frame-art{height:100%;width:100%;aspect-ratio:auto}
.signal-palace-edge .qpp-frame-outer{opacity:.35}
.signal-quote{padding-left:15px}.signal-quote blockquote{font-size:50px}
/* Roomy rectangular form/calendar surfaces borrow only the arch’s crown. */
.inquiry-frame{padding-top:90px;overflow:visible;border-color:#b4976666;outline-color:#b4976630}
.inquiry-frame:before,.inquiry-frame:after{display:none}
.inquiry-palace-top{top:-43px;left:22%;right:22%;height:115px;color:#b49766;z-index:0;background:var(--cream)}
.inquiry-palace-top .qpp-frame-art{height:350px;aspect-ratio:auto}
.inquiry-frame>h3,.inquiry-frame>form{position:relative;z-index:1}
.calendar-frame{position:relative;border-radius:0;overflow:visible;padding-top:100px}
.booking-palace-top{top:-40px;left:20%;right:20%;height:115px;z-index:0;background:var(--cream)}
.booking-palace-top .qpp-frame-art{height:350px;aspect-ratio:auto}
.calendar-frame>h3,.calendar-frame>p,.calendar-frame>.button,.calendar-frame>.text-link,#calendar-slot{position:relative;z-index:1}
.calendar-frame:has(iframe){border-radius:0;padding-top:100px}
.calendar-symbol{display:none}
@media(min-width:1500px){.qpp-frame--invitation .qpp-frame-body{padding-top:155px;padding-bottom:90px}.qpp-frame--invitation h2{font-size:43px}}
@media(max-width:1150px){.qpp-frame--invitation h2{font-size:37px}.inner-shelves .book-niche{padding-left:22px;padding-right:22px}.signal-quote blockquote{font-size:46px}}
@media(max-width:1000px){.qpp-frame--invitation .qpp-frame-body{padding-top:115px;padding-bottom:78px}.qpp-frame--invitation h2{font-size:35px}.session-portrait{padding-left:12px;padding-right:12px}.library-emblem{min-height:290px;padding:10px}.library-emblem .qpp-frame{min-height:270px}.qpp-frame--library .qpp-frame-body{padding-top:55px;padding-bottom:50px}.library-emblem .qpp-frame .art{width:125px;height:125px}.library-emblem .qpp-frame p{font-size:20px}.signal-palace-edge{left:-12vw;width:58%;opacity:.6}.signal-quote blockquote{font-size:41px}.inquiry-frame{padding-top:85px}.inquiry-palace-top,.booking-palace-top{left:17%;right:17%;height:105px}.inner-shelves .book-niche{padding:45px 18px 0}.passage-door{padding:30px 10px 0}}
@media(max-width:700px){.hero-visual{margin-left:22px;margin-right:22px;width:calc(100% - 44px)}.hero-visual .qpp-frame{margin:0 -10px}.hero-palace-portrait figcaption{font-size:17px;margin-top:10px}.hero-side{right:-30px;bottom:55px}.session-portrait{padding:0 10px 25px;width:89%}.session-portrait>.qpp-frame{transform:translateY(-22px);margin-bottom:-22px}.session-portrait .portrait-caption{font-size:22px;padding-left:9px;padding-right:9px;line-height:1.25}.qpp-frame--invitation .qpp-frame-body{padding-top:105px;padding-bottom:75px;padding-left:16%;padding-right:16%}.qpp-frame--invitation h2{font-size:35px}.qpp-frame--invitation .qpp-frame-body>p:not(.eyebrow){font-size:11px}.qpp-frame--invitation .form-note{font-size:9px}.qpp-frame--invitation .eyebrow{font-size:7px;letter-spacing:.16em}.qpp-frame--invitation .signup-form{margin-top:23px}.qpp-frame--invitation .signup-fields{gap:15px}.inner-shelves .book-niche{padding:35px 12px 0}.workbook-frame{left:-9px;right:-9px;height:95px}.passage-door{padding:23px 9px 0}.passage-frame{left:-7px;right:-7px;height:70px}.signal-palace-edge{left:-115px;top:20px;bottom:auto;width:calc(100% + 145px);height:360px;opacity:.7}.signal-quote{padding-left:20px;min-height:220px}.signal-quote blockquote{font-size:46px}.signal-content{padding-top:25px}.inquiry-frame{padding-top:82px}.inquiry-palace-top,.booking-palace-top{left:18%;right:18%;top:-35px;height:100px}.inquiry-palace-top .qpp-frame-art,.booking-palace-top .qpp-frame-art{height:310px}.calendar-frame{padding-top:90px}.inquiry{gap:65px}.booking{gap:60px}.calendar-frame:has(iframe){padding-top:90px}}
@media(max-width:380px){.qpp-frame--invitation h2{font-size:31px}.qpp-frame--invitation .qpp-frame-body{padding-top:95px;padding-bottom:75px}.qpp-frame--invitation .eyebrow{font-size:7px;letter-spacing:.11em}.qpp-frame--invitation .temple-frame-body>p:not(.eyebrow){font-size:10px}.inner-shelves .book-niche{padding:32px 9px 0}.signal-quote blockquote{font-size:41px}.signal-quote{padding-left:12px}.passage-door{padding:20px 7px 0}}
@media(prefers-reduced-motion:reduce){.session-portrait>.qpp-frame{transform:translateY(-25px)!important}.qpp-frame-art{animation:none!important}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.session-portrait>.qpp-frame{transform:translateY(-22px)!important}}
.qpp-frame-body{color:var(--ink)}
.dark-room .qpp-frame-body,.session-portrait .qpp-frame-body,.library-emblem .qpp-frame-body{color:var(--cream)}
.inquiry-frame,.calendar-frame{border-top:0;outline:none}
.inquiry-palace-top,.booking-palace-top{background:transparent;left:10%;right:10%}
.inquiry-palace-top .qpp-frame-art,.booking-palace-top .qpp-frame-art{height:auto;aspect-ratio:3/4}
