/* Xcess Origins — Visual Atlas. The archive is a living design reference,
   not a catalogue of current playable game content. */
.atlas-page{background:#060c14;color:#e6ecf0;}
.atlas-page .site-header{background:linear-gradient(180deg,rgba(2,7,13,.95),rgba(5,12,20,.75));}
.atlas-page .site-nav .is-active{color:#f2dfb4;}
.atlas-page .site-nav .is-active::after{width:100%}
.atlas-page h1,.atlas-page h2,.atlas-page h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.atlas-page h1 em,.atlas-page h2 em{color:#e0be78;font-style:normal}
.atlas-page .eyebrow{color:#c9ae77}
.atlas-hero{position:relative;min-height:min(780px,100svh);isolation:isolate;overflow:hidden;border-bottom:1px solid rgba(214,186,120,.2);background:#030a10}
.atlas-hero-art{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#030810 1%,rgba(4,9,16,.96) 24%,rgba(5,11,17,.76) 53%,rgba(5,11,17,.44) 100%),linear-gradient(0deg,#050b12 0%,transparent 39%,rgba(2,6,13,.25) 100%),url("assets/atlas/realm-atlas.webp") center 45%/cover no-repeat;transform:scale(1.025)}
.atlas-hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 74% 22%,rgba(218,177,99,.18),transparent 38%),linear-gradient(90deg,rgba(9,26,42,.17) 1px,transparent 1px),linear-gradient(0deg,rgba(9,26,42,.17) 1px,transparent 1px);background-size:auto,85px 85px,85px 85px;opacity:.55}
.atlas-hero-content{position:relative;min-height:min(780px,100svh);padding-top:clamp(145px,15vh,190px);padding-bottom:140px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.atlas-hero .eyebrow{font-size:10px;letter-spacing:.21em}
.atlas-hero-index{display:block;align-self:flex-start;color:#84b3cc;font:10px/1.4 Arial,sans-serif;letter-spacing:.22em;margin:30px 0 8px}
.atlas-hero h1{max-width:990px;margin:0;font-size:clamp(56px,6.2vw,100px);letter-spacing:-.051em;line-height:1.06;text-wrap:balance;text-shadow:0 5px 45px rgba(0,0,0,.4)}
.atlas-hero-content>p:not(.eyebrow){max-width:670px;color:#b4c9d5;font-size:clamp(15px,1.32vw,19px);line-height:1.75;margin:30px 0 30px}
.atlas-hero-content>p strong{color:#f0d4a3;font-weight:500}
.atlas-hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.atlas-hero-stats{display:flex;align-items:stretch;gap:0;margin-top:45px;padding-top:23px;border-top:1px solid rgba(205,225,240,.23)}
.atlas-hero-stats>div{padding:0 31px;border-right:1px solid rgba(171,199,218,.19)}
.atlas-hero-stats>div:first-child{padding-left:0}
.atlas-hero-stats>div:last-child{border:0}
.atlas-hero-stats strong{display:block;font-size:clamp(29px,2.9vw,43px);line-height:1.1;font-weight:400;color:#efcf8c;font-family:Georgia,serif}
.atlas-hero-stats span{display:block;margin-top:8px;font:9px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#a2b5c0}
.atlas-hero-stamp{position:absolute;right:max(28px,calc((100% - 1440px)/2));bottom:25px;color:rgba(223,214,186,.62);font:10px Arial,sans-serif;letter-spacing:.19em}
.atlas-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,7vw,118px);padding-top:112px;padding-bottom:120px;border-bottom:1px solid rgba(158,188,207,.13)}
.atlas-intro h2{font-size:clamp(38px,3.6vw,61px);letter-spacing:-.03em;line-height:1.17;margin:20px 0 0;max-width:690px}
.atlas-intro>div:last-child{padding-top:7px}
.atlas-intro p:not(.eyebrow){color:#afc0cc;font-size:15px;line-height:1.83;margin:0 0 21px}
.atlas-intro strong{color:#f0d8a6;font-weight:500}
.atlas-collection{padding:105px 0 122px;background:linear-gradient(155deg,#081320,#050a12 62%)}
.atlas-collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:0 0 37px}
.atlas-collection-heading h2{margin:15px 0 0;font-size:clamp(45px,4.8vw,75px);letter-spacing:-.04em;line-height:1.08}
.atlas-collection-heading #atlas-count{color:#9cb4c4;letter-spacing:.14em;font-size:10px;white-space:nowrap;padding-bottom:9px}
.atlas-filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 25px;border-top:1px solid rgba(176,208,228,.22)}
.atlas-filter{appearance:none;min-height:44px;display:inline-flex;align-items:center;gap:11px;border:1px solid rgba(137,170,193,.22);border-radius:2px;padding:10px 15px;background:#07111d;color:#aec3d0;font:700 10px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.atlas-filter span{color:#7c9aae;font-size:10px}
.atlas-filter:hover{border-color:rgba(223,190,121,.55);color:#f1e0bd}
.atlas-filter.active{background:linear-gradient(120deg,rgba(147,111,58,.24),rgba(40,38,34,.4));border-color:rgba(232,195,119,.66);color:#f3dfb2}
.atlas-filter.active span{color:#e2c58c}
.atlas-filter:focus-visible,.atlas-image-action:focus-visible,.atlas-dialog button:focus-visible{outline:2px solid #9ad9fd;outline-offset:3px}
.atlas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:19px}
.atlas-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(143,179,203,.19);background:linear-gradient(150deg,rgba(12,27,42,.9),rgba(5,12,20,.96));transition:transform .25s,border-color .25s,box-shadow .25s}
.atlas-card:hover{transform:translateY(-3px);border-color:rgba(218,188,125,.47);box-shadow:0 20px 45px rgba(0,0,0,.26)}
.atlas-card[hidden]{display:none!important}
.atlas-card-feature{grid-column:span 2}
.atlas-image-action{position:relative;display:block;width:100%;aspect-ratio:1.48;overflow:hidden;padding:0;border:0;background:radial-gradient(circle at 50% 40%,#1b2e3a,#07121e 72%);cursor:zoom-in}
.atlas-card-feature .atlas-image-action{aspect-ratio:2.5}
.atlas-image-action img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:saturate(.81) brightness(.87);transition:filter .3s,transform .6s}
.atlas-image-action:hover img,.atlas-image-action:focus-visible img{transform:scale(1.035);filter:saturate(1) brightness(.96)}
.atlas-card[data-category="classes"] .atlas-image-action{aspect-ratio:1.15}
.atlas-card[data-category="classes"] .atlas-image-action img{object-fit:contain;object-position:center bottom;background:radial-gradient(circle at 50% 40%,#182938,#060d16 78%);padding:8px 22px 0}
.atlas-card[data-category="npcs"] .atlas-image-action img{object-fit:contain;background:radial-gradient(circle at 50% 43%,#1b2832,#060d16 75%)}
.atlas-card[data-category="sets"] .atlas-image-action img{object-fit:contain;background:#0a111a}
.atlas-image-cue{position:absolute;right:15px;bottom:14px;display:flex;align-items:center;gap:10px;padding:9px 11px;color:#f1d6a0;background:rgba(5,12,19,.88);border:1px solid rgba(234,197,118,.32);font:700 9px/1 Arial,sans-serif;letter-spacing:.15em}
.atlas-image-cue span{font-size:16px;line-height:0.9}
.atlas-card-body{padding:23px 24px 27px;flex:1}
.atlas-card-type{display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:.18em;color:#e0be7d}
.atlas-card-type>span{color:#8aa8bc}
.atlas-card-body h3{font-size:clamp(23px,2.15vw,32px);letter-spacing:-.025em;line-height:1.1;margin:14px 0 11px;color:#edf3f5}
.atlas-card-body p{color:#a4b9c9;font-size:13px;line-height:1.73;margin:0}
.atlas-catalogue-note{margin:32px 0 0;max-width:960px;padding-left:17px;border-left:2px solid rgba(223,188,116,.54);font-size:12px;line-height:1.8;color:#9bb2c1}
.atlas-next{min-height:385px;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:40px;padding-top:85px;padding-bottom:85px}
.atlas-next-mark{display:grid;place-items:center;width:76px;height:76px;color:#e3c27c;font:42px Georgia,serif;border:1px solid rgba(214,184,121,.37);transform:rotate(45deg)}
.atlas-next h2{margin:14px 0 12px;line-height:1.2;font-size:clamp(30px,3.1vw,48px)}
.atlas-next p:last-child{color:#9fb4c4;max-width:680px;line-height:1.75;font-size:13px}
.atlas-next>a{align-self:center;white-space:nowrap}
.atlas-dialog{max-width:min(1420px,96vw);max-height:94dvh;width:100%;padding:0;color:#edf2f7;border:1px solid rgba(227,193,126,.4);background:#070f1a;box-shadow:0 25px 100px #000;overflow:auto}
.atlas-dialog::backdrop{background:rgba(1,5,11,.9);backdrop-filter:blur(8px)}
.atlas-dialog-shell{padding:19px clamp(12px,2.7vw,35px) 21px}
.atlas-dialog-head,.atlas-dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.atlas-dialog-head{padding-bottom:14px;border-bottom:1px solid rgba(169,197,216,.19)}
.atlas-dialog-head>span{color:#d8b879;font:700 10px Arial,sans-serif;letter-spacing:.18em}
.atlas-dialog button{min-height:44px;padding:9px 14px;border:1px solid rgba(160,185,201,.24);background:#0a1927;color:#c5d9e6;font:700 11px Arial,sans-serif;letter-spacing:.1em;cursor:pointer}
.atlas-dialog button:hover{border-color:#ebce8e;color:#fff}
.atlas-dialog-head button span{color:#d9bc83;font-size:21px;line-height:0;vertical-align:middle;margin-left:5px}
.atlas-dialog figure{margin:16px 0 12px;text-align:center}
.atlas-dialog figure>img{display:block;max-width:100%;width:auto;height:auto;max-height:min(62dvh,840px);margin:auto;object-fit:contain;background:#0a1520}
.atlas-dialog figcaption{text-align:left;padding:20px 2px 10px}
.atlas-dialog figcaption h2{font-size:clamp(26px,3vw,43px);margin:0;color:#f0e3c2}
.atlas-dialog figcaption p{font-size:14px;color:#abc0cf;line-height:1.7;max-width:900px;margin:8px 0 0}
.atlas-dialog-nav{padding-top:15px;border-top:1px solid rgba(175,198,220,.15)}
.atlas-dialog-nav>span{color:#d0bd93;font:10px Arial,sans-serif;letter-spacing:.16em}
@media(max-width:1100px){
 .atlas-hero h1{font-size:clamp(55px,7vw,78px)}
 .atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .atlas-card-feature{grid-column:span 2}
 .atlas-next{grid-template-columns:55px 1fr;gap:24px}
 .atlas-next>a{grid-column:2;justify-self:start}
 .atlas-next-mark{width:55px;height:55px;font-size:32px}
}
@media(max-width:800px){
 .atlas-hero{min-height:700px}
 .atlas-hero-content{min-height:700px;padding-top:140px;padding-bottom:120px}
 .atlas-hero-art{background-position:center 45%;background-image:linear-gradient(90deg,rgba(3,8,16,.98),rgba(3,8,16,.72) 70%,rgba(3,8,16,.54)),url("assets/atlas/realm-atlas.webp")}
 .atlas-intro{grid-template-columns:1fr;gap:18px;padding-block:75px}
 .atlas-collection{padding:76px 0 85px}
}
@media(max-width:600px){
 .atlas-hero{min-height:690px}
 .atlas-hero-content{min-height:690px;padding-top:125px;padding-bottom:105px}
 .atlas-hero h1{font-size:clamp(43px,9vw,59px)}
 .atlas-hero-content>p:not(.eyebrow){font-size:14px}
 .atlas-hero-actions{align-items:stretch}
 .atlas-hero-actions a{justify-content:center;min-height:44px}
 .atlas-hero-stats{gap:0;margin-top:34px;width:100%}
 .atlas-hero-stats>div{padding-inline:12px;flex:1}
 .atlas-hero-stats>div:first-child{padding-left:0}
 .atlas-hero-stats span{font-size:8px;line-height:1.35}
 .atlas-hero-stamp{font-size:8px;left:5%;right:auto;bottom:19px}
 .atlas-intro h2{font-size:clamp(36px,7vw,47px)}
 .atlas-collection-heading{align-items:start;flex-direction:column;gap:8px}
 .atlas-collection-heading #atlas-count{padding:0}
 .atlas-filter-bar{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin;padding-bottom:17px}
 .atlas-filter{flex-shrink:0;padding-inline:12px}
 .atlas-grid{grid-template-columns:1fr}
 .atlas-card-feature{grid-column:span 1}
 .atlas-card-feature .atlas-image-action{aspect-ratio:1.45}
 .atlas-card[data-category="classes"] .atlas-image-action{aspect-ratio:1.36}
 .atlas-card-body{padding:20px 20px 24px}
 .atlas-next{grid-template-columns:1fr;padding-block:65px;gap:18px}
 .atlas-next-mark{display:none}
 .atlas-next>a{grid-column:1}
 .atlas-dialog{width:100%;max-width:100vw;max-height:100dvh;min-height:100dvh}
 .atlas-dialog-shell{padding:14px 12px}
 .atlas-dialog figure>img{max-height:60dvh}
 .atlas-dialog-head>span{font-size:8px}
 .atlas-dialog button{padding:9px 11px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .atlas-card,.atlas-image-action img,.atlas-filter{transition:none!important}
 .atlas-hero-art{transform:none}
}
