/* Immersive surfaces retain the established ink, brass and cinematic artwork. */
#spell-dust{position:fixed;inset:0;width:100vw;height:100dvh;z-index:10000;pointer-events:none;contain:strict}
.ritual-eyebrow{display:block;font:11px/1.7 Cinzel,serif;letter-spacing:.18em;color:var(--gold);margin-bottom:16px}
.admission-header,.admission-footer{z-index:3}.admission-backdrop{transition:opacity .8s,filter .8s}
.admission[data-ritual=letter] .admission-backdrop{opacity:.28;filter:blur(4px)}
.admission[data-ritual=welcome] .admission-backdrop{opacity:.45}
.admission-stage{animation-duration:.6s}.admission-stage[data-stage=letter]{padding-block:12px}
.acceptance-letter{width:min(690px,100%);padding:32px 46px 28px;background:radial-gradient(ellipse at 30% 10%,#f9efdb,transparent 80%),#e4d2b1;box-shadow:0 28px 90px #0007}
.acceptance-letter h2{font-size:25px}.acceptance-letter>p{margin:8px 0;font-size:15px}
.acceptance-letter label{display:flex;flex-direction:column;gap:6px;font:13px/1.6 system-ui;margin-top:16px}
.acceptance-letter input{min-height:48px;font-size:21px;width:100%}
.admission-personal{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px}
.admission-personal label{margin-top:12px}.admission-personal label>span{display:inline;color:#786447;font-size:11px}
.admission-personal input,.admission-personal select{font:16px/1.6 system-ui;min-height:48px;background:transparent;color:#3c3228;border:0;border-bottom:1px solid #a58b60;border-radius:0;padding:8px 0;width:100%}
.admission-personal label:last-child{position:relative}.admission-personal label>span{position:absolute;right:0;top:2px}
.admission .letter-bottom{margin-top:18px}.wax-seal{min-height:84px;min-width:84px}
.ritual-wand-art{width:100%;height:150px;object-fit:cover;object-position:center;display:block;margin:0 0 18px;mix-blend-mode:screen;border-radius:4px}
.wand-choice{overflow:hidden}.wand-choice.chosen .ritual-wand-art{filter:brightness(1.12)}
.admission-card{position:relative;width:min(530px,100%);padding:38px 36px 26px;margin:0 auto 26px;background:#101e2ae8;border:1px solid #a58b6070;text-align:center;overflow:hidden;outline:1px solid #a58b6033;outline-offset:-9px}
.admission-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--card-house)}
.passport-crest{display:block;font:42px/1 Cinzel,serif;color:var(--gold);margin:0 auto 20px}.admission-card .ritual-eyebrow{font-size:10px}
.admission-card h3{font:36px/1.4 var(--serif);letter-spacing:.08em;color:var(--text);overflow-wrap:anywhere}.admission-card>p{color:#b7c3cf;font-size:14px;margin-top:8px}
.passport-rule{height:1px;background:#ccb17a38;margin:23px 0}.admission-card dl{display:grid;gap:12px;text-align:left}.admission-card dl>div{display:grid;grid-template-columns:85px 1fr;gap:12px;font-size:13px}.admission-card dt{color:#94a3b4}.admission-card dd{margin:0;color:#e5d5b6}
.admission-card blockquote{margin:22px 0 0;font:17px/1.8 var(--serif);color:#ead7b3;overflow-wrap:anywhere}
.passport-seal{display:block;margin-top:25px;color:#91ad9c;font:10px/1.5 Cinzel,system-ui;letter-spacing:.12em}
.passport-dialog{max-width:600px;background:#0a1420}.passport-dialog .admission-card{margin-bottom:0}
[data-stage=welcome]>p{font-size:15px;margin-bottom:20px}.admission-stage[data-stage=welcome] h2{font-size:32px}
.wardrobe-layout{grid-template-columns:minmax(250px,.75fr) minmax(410px,1.4fr);align-items:start;gap:28px}
.wardrobe-portrait{height:650px;max-height:calc(100dvh - 130px);position:sticky;top:100px;background:#090f17}
.wardrobe-portrait>img{object-fit:cover;object-position:center top!important}
.wardrobe-portrait .portrait-vignette{background:linear-gradient(0deg,#07111df7 0%,#07111de8 20%,#07111d00 65%)}
.wardrobe-portrait .wizard-caption{left:22px;right:22px;bottom:24px}.wardrobe-portrait .wizard-caption h3{font-size:27px}
.equipped-visuals{display:flex;gap:10px;margin-top:16px}.equipped-visuals button{flex:1;min-width:0;max-width:170px;border:1px solid #bda67555;background:#0e1924;border-radius:5px;padding:0;overflow:hidden;color:#d9c39a;text-align:left}
.equipped-visuals img{display:block;width:100%;height:82px;object-fit:cover}.equipped-visuals span{display:block;font-size:11px;line-height:1.5;padding:7px 8px;white-space:normal}.equipped-items{display:none}
.wardrobe-hint{font-size:12px;color:#9aabba;margin:12px 0 0}.wardrobe-toolbar{gap:8px;justify-content:space-between}.wardrobe-toolbar button{flex:1;padding-inline:4px;font-size:15px}
.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:20px}
.gear-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:5px;background:#111c27;gap:0}
.gear-preview{display:block;position:relative;padding:0;width:100%;background:#080e16;text-align:left;border:0;color:#f0dfba;overflow:hidden}
.gear-card .gear-art{display:block;width:100%;height:245px;margin:0;border-radius:0;object-fit:cover;object-position:center 24%;transition:transform .35s ease,filter .35s}
.gear-preview>span{position:absolute;bottom:10px;left:10px;padding:5px 8px;font-size:10px;background:#0a1420eb;border:1px solid #c3a66655;border-radius:3px;pointer-events:none}
.gear-card.locked .gear-art{filter:saturate(.65) brightness(.75);opacity:1}.gear-card.equipped{border-color:#d5b67590}.gear-card.equipped .gear-preview>span{background:#d5b675;color:#18212a}
.gear-copy{padding:17px;flex:1;display:flex;flex-direction:column;min-width:0}.gear-copy small{display:block;font:9px/1.7 Cinzel,serif;letter-spacing:.07em;color:#a99570;margin-bottom:6px}
.gear-copy h3{font-size:17px;font-family:var(--serif)}.gear-copy p{font-size:12px;line-height:1.7;min-height:42px;margin:8px 0 16px;color:#a7b4c3}
.gear-card .button{margin-top:auto;font-size:13px;min-height:48px;padding:10px;width:100%}
.gear-inspector{width:min(940px,calc(100vw - 40px));max-width:none;padding:0;overflow:auto;position:fixed;background:#101a25}
.gear-inspector[open]{display:grid;grid-template-columns:1.05fr 1fr;align-items:center}
.gear-inspector>img{width:100%;height:min(650px,calc(100dvh - 100px));object-fit:contain;background:#080f18;display:block;align-self:stretch}
.inspector-close{position:absolute;right:12px;top:12px;z-index:2;background:#091522dd;border:1px solid #b39d7050;border-radius:50%}
.gear-detail-copy{padding:60px 32px 40px}.gear-detail-copy .ritual-eyebrow{font-size:10px}.gear-detail-copy h2{font:29px/1.5 var(--serif);margin-bottom:22px}.gear-detail-copy>p{font-size:15px;line-height:1.9;color:#b5c1ce}.gear-detail-copy .quiet-label{font-size:12px;color:var(--gold);margin:28px 0 16px}.gear-detail-copy>.button{width:100%;min-height:54px;white-space:normal}.gear-detail-copy .form-error:empty{display:none}
@media(hover:hover) and (pointer:fine){.gear-preview:hover .gear-art{transform:scale(1.035);filter:brightness(1.07)}.equipped-visuals button:hover{border-color:var(--gold)}}
@media(max-width:1100px){.wardrobe-layout{grid-template-columns:minmax(220px,.75fr) minmax(350px,1.3fr);gap:20px}.gear-card .gear-art{height:200px}.gear-copy{padding:13px}.gear-copy h3{font-size:16px}.gear-copy small{font-size:8px}.wardrobe-portrait{height:600px}.wardrobe-portrait .wizard-caption{left:17px;right:17px}.equipped-visuals img{height:65px}}
@media(max-width:900px){.wardrobe-layout{grid-template-columns:1fr}.wardrobe-portrait{position:relative;top:0;height:390px;max-height:none}.wardrobe-portrait>img{width:52%;object-position:center top!important}.wardrobe-portrait .portrait-vignette{background:linear-gradient(90deg,transparent 30%,#0a1420 55%)}.wardrobe-portrait .wizard-caption{left:53%;right:26px;bottom:auto;top:50%;transform:translateY(-50%)}.equipped-visuals img{height:88px}.gear-grid{gap:20px}.gear-card .gear-art{height:285px}.gear-copy{padding:20px}.gear-copy small{font-size:10px}.gear-copy h3{font-size:20px}.gear-copy p{font-size:14px;min-height:44px}.gear-card .button{font-size:15px}.wardrobe-toolbar{margin-top:14px}.wardrobe-hint{font-size:13px}}
@media(max-width:760px){.ritual-wand-art{height:115px;grid-row:1/4;margin:0;object-fit:cover}.wand-choice{grid-template-columns:115px minmax(0,1fr);padding:12px;gap:0 15px}.wand-choice>span{font-size:9px}.wand-choice strong{font-size:21px}.acceptance-letter{padding:27px}.acceptance-letter h2{font-size:22px}.admission-personal{grid-template-columns:85px minmax(0,1fr);gap:16px}.admission-card{padding:30px 25px 23px}.admission-card h3{font-size:30px}.admission-stage[data-stage=welcome] h2{font-size:28px}.admission-header>div{gap:4px}.admission .admission-header{padding-inline:16px}.admission-header>span{font-size:16px}.admission-header .text-button{font-size:12px}.gear-inspector[open]{display:block}.gear-inspector>img{height:330px;object-position:center 28%}.gear-detail-copy{padding:25px}.gear-detail-copy h2{font-size:26px;margin-bottom:15px}.gear-detail-copy .quiet-label{margin:18px 0 12px}.gear-detail-copy .ritual-eyebrow{margin-bottom:8px}.wardrobe-portrait{height:350px}.wardrobe-portrait .wizard-caption h3{font-size:23px}.wardrobe-portrait .wizard-caption{right:15px}.equipped-visuals{gap:7px}.equipped-visuals img{height:65px}.equipped-visuals span{font-size:10px;padding:6px}.gear-grid{gap:12px}.gear-card .gear-art{height:225px}.gear-copy{padding:14px}.gear-copy h3{font-size:17px}.gear-copy small{font-size:8px}.gear-copy p{font-size:12px}}
@media(max-width:480px){.admission-personal{grid-template-columns:1fr}.admission-personal label{margin-top:8px}.gear-card .gear-art{height:190px}.gear-copy h3{font-size:16px}.gear-copy{padding:12px}.gear-copy p{min-height:60px}.wardrobe-portrait{height:340px}.wardrobe-portrait .wizard-caption{left:49%;right:12px}.wardrobe-portrait>img{width:60%}.wardrobe-portrait .portrait-vignette{background:linear-gradient(90deg,transparent 20%,#0a1420 53%)}.equipped-visuals{flex-direction:column;margin-top:10px}.equipped-visuals button{display:flex;align-items:center;max-width:none;min-height:55px}.equipped-visuals img{width:55px;height:55px}.equipped-visuals span{flex:1}.admission-action{min-width:0;width:min(340px,100%)}.gear-inspector{width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.admission-backdrop,.gear-card .gear-art{transition:none}.admission-stage{animation:none}.gear-preview:hover .gear-art{transform:none}}

.gear-card[data-gear-slot=robe] .gear-art{object-position:center top}

.equipped-visuals button[data-inspect="owl-snow"] img,.equipped-visuals button[data-inspect="phoenix-gold"] img,.equipped-visuals button[data-inspect="cat-crookshanks"] img,.equipped-visuals button[data-inspect="hippogriff-buckbeak"] img{object-position:center top}
