/* The complete progression drawer uses the requested, locally hosted family. */
@font-face { font-family: Montserrat; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/Montserrat-Variable.ttf') format('truetype'); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] {
  --at-serif: Montserrat, sans-serif;
  --san-body: clamp(15px, .85vw, 20px);
  --san-label: clamp(12px, .65vw, 15px);
  --san-control: clamp(15px, .8vw, 19px);
  font-family: Montserrat, sans-serif;
}
.sanctuary #sanctuary-drawer[data-category="heroMastery"] * { font-family: Montserrat, sans-serif !important; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] :is(h2,h3,h4) { font-weight: 600; letter-spacing: -.015em; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] .sanctuary-modal-identity strong { font-size: clamp(22px,1.4vw,32px); font-weight: 500; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap :is(.journey-nav-hero>span,.journey-nav small,.journey-nav-foot,.journey-discover small,.hm-mission-kicker,.hm-mission-state) { font-size: var(--san-label); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .journey-section-heading h2 { font-weight:500; font-size:clamp(27px,1.85vw,42px); line-height:1.3; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .journey-nav-hero>strong { font-weight:500; font-size:clamp(23px,1.45vw,32px); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .journey-section-heading p { font-size:var(--san-body); }

/* Memoria keeps its open, editorial composition with a readable information rail. */
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-journal { align-self:center; width:100%; max-width:720px; padding-left:clamp(22px,1.8vw,44px); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-eyebrow { font-size:12px; line-height:1.6; font-weight:600; letter-spacing:.12em; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-collection-heading { display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:18px;margin-bottom:24px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-collection-total { grid-area:1 / 2 / 3 / 3;margin:0; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-collection-total>strong { font-size:44px; font-weight:400; letter-spacing:-.07em; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-collection-total>span { font-size:15px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-collection-total small { font-size:14px; letter-spacing:0; font-weight:400; color:#b0c5ca; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-seals { margin:12px 0 0; gap:14px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-inspector-top { gap:18px; margin-bottom:12px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-inspector-art { width:68px;height:68px;flex-basis:68px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-sanctuary:not(.is-inspecting) .memory-inspector,
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-sanctuary.is-inspecting .hm-relic-info { display:none; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-item-state { font-size:13px; font-weight:500; margin-top:7px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-inspector h3 { font:600 clamp(24px,1.4vw,32px)/1.35 Montserrat,sans-serif; letter-spacing:-.02em; margin:0 0 20px; text-wrap:balance; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-bond { display:flex;flex-wrap:wrap;align-items:center;gap:6px 15px;padding-top:12px; border-color:#b3c7cc2e; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-bond>span { font-size:11px; letter-spacing:.1em; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-bond strong { font-size:15px; font-weight:500; line-height:1.5; color:#d6c9aa; margin:0; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-bond p { display:none; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth { font-size:14px; line-height:1.5; margin-top:20px; padding-top:20px; border-color:#b3c7cc2e; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth-line { display:flex; justify-content:flex-start; gap:clamp(28px,3vw,80px); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth-line>div { display:flex; flex-direction:column; gap:5px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth-line span { font-size:14px; color:#a5bec5; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth-line strong { color:#f0e4c8; font-size:26px; font-weight:500; font-variant-numeric:tabular-nums; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-growth-line strong small { color:#9bb2ba; font-size:14px; font-weight:400; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-stat-bond { position:relative; gap:6px; padding:15px 0 15px 18px; margin:20px 0; border-left:2px solid color-mix(in srgb,var(--memory-accent) 65%,#b5cdcb); background:linear-gradient(90deg,#a8dfce0b,transparent 85%); }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-stat-bond>span { color:#b0ddd1; font-size:14px; font-weight:500; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-stat-bond>strong { color:#f3e4be; font-size:28px; font-weight:600; letter-spacing:-.02em; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-stat-bond>strong small { font-size:21px; font-weight:400; color:#a4d6c9; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-stat-bond>small { font-size:13px; color:#a9bdc3; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-unlock-band { font-size:13px; color:#abc0c7; margin:0 0 18px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-unlock-band>span { display:block; margin-bottom:8px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-unlock-band>div { display:flex; flex-wrap:wrap; gap:10px 22px; color:#b7b3a5; font-size:14px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-unlock-band .is-met { color:#a1d8c6; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost { margin:0 0 16px; padding-top:16px; border-top:1px solid #abc7cb26; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost>span { color:#a7bdc5; font-size:13px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost>div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-height:48px; margin-top:5px; color:#e9d9b4; font-size:16px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost img { width:43px; height:43px; object-fit:contain; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost strong { font-size:17px; font-weight:600; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost small { font-size:13px; color:#abc1c5; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-development-cost i { font-style:normal; color:#76999e; padding:0 8px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-develop { min-height:54px; padding:15px 20px; font-size:15px; font-weight:600; letter-spacing:.02em; background:linear-gradient(110deg,#e6d8b4,#b2ccba); border-color:#eadcb78f; box-shadow:0 7px 28px #0b191d30; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-action-note { font-size:14px; line-height:1.6; margin-top:12px; color:#bfd0d2; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap :is(.memory-return,.memory-refresh) { font-size:13px; padding-block:12px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-preview-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding-top:12px; margin-top:12px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-preview-button { font-size:13px; min-height:46px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-preview-controls>p { font-size:13px; line-height:1.7; max-width:none; margin:4px 0 0; flex-basis:100%; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-preview-controls>p:empty { display:none; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap :is(.memory-orbit-hint,.memory-heart-caption strong) { font-size:13px; line-height:1.5; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-info .hm-relic-name { font-size:clamp(24px,1.35vw,32px); font-weight:500; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-info :is(.hm-relic-progress-label,.hm-relic-locked-msg,.hm-relic-hint,.hm-relic-charm-row) { font-size:15px; line-height:1.7; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-stat-row { font-size:16px; padding-block:14px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-stat-value { font-size:20px; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-keepsake-bonus { font-size:12px; line-height:1.6; }
.sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-upgrade-btn { min-height:50px; font-size:15px; }
.journey-relic-vfx { background:transparent; mask-image:radial-gradient(ellipse closest-side,#000 72%,transparent 99%); }
@container sanctuary-panel (max-width:75rem) {
 .sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-box.memory-sanctuary { grid-template-columns:minmax(0,1fr) minmax(320px,.95fr); align-items:start; gap:24px; }
 .sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-journal { padding-left:22px; }
}
@container sanctuary-panel (max-width:46rem) {
 .sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .hm-relic-box.memory-sanctuary { grid-template-columns:minmax(0,1fr); }
 .sanctuary #sanctuary-drawer[data-category="heroMastery"] #hm-wrap .memory-journal { max-width:600px; padding:16px 0 16px 20px; margin:0 auto; width:calc(100% - 24px); }
}
