@charset "UTF-8";
/* Spacious memory viewer with a scrollable native-resolution mode. */
#memory-dialog{width:96vw;max-width:none;height:96svh;max-height:96svh;overflow:hidden}
#memory-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.viewer-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 16px}
.viewer-toolbar .close{margin:0}
.zoom{border:1px solid var(--line);background:var(--panel);padding:8px 16px;cursor:pointer;font-size:14px}
.image-stage{overflow:auto;min-height:0;background:#050a12;overscroll-behavior:contain}
.image-stage:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.image-stage #dialog-image{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;display:block;margin:auto}
.original-size .image-stage #dialog-image{width:auto;height:auto;max-width:none;max-height:none;margin:0}
#memory-dialog .dialog-copy{padding:14px 22px}
#memory-dialog .dialog-copy h2{font-size:24px}
#memory-dialog .dialog-copy p{font-size:14px;margin:6px 0 0}
/* Armory keepsakes and a single-column closing letter. */
.armory-pair{display:flex;align-items:center;justify-content:center;gap:32px;margin:12px auto 0;padding:28px 24px;width:fit-content;max-width:86%;background:#0d0912;border:1px solid #dcc99e26;border-radius:3px}
.armory-pair img{display:block;width:auto;max-width:100%;height:100px;object-fit:contain}
.armory-amp{font:italic 32px Georgia,serif;color:var(--gold)}
.section-heading h2.eyebrow{font-family:"Segoe UI",sans-serif;font-size:12px;line-height:1.7;letter-spacing:.19em;font-weight:500}
.rbg-memory .memory-image{height:auto;aspect-ratio:2300/1287}
.rbg-memory .memory-image img{object-fit:contain;filter:none}
.section.note{display:block}
.note .letter{max-width:620px;margin:0 auto}
.note h2{margin-bottom:30px}
.letter p.eyebrow{font-size:12px;color:var(--gold);line-height:1.7;margin-bottom:22px}
@media(max-width:700px){.armory-pair{gap:12px;padding:18px 12px;width:86%}.armory-pair img{width:calc((100% - 44px)/2);height:auto}.armory-amp{font-size:24px}.note h2{margin-bottom:26px}}
:root{color-scheme:dark;--bg:#0a111d;--panel:#111d2c;--text:#efece4;--muted:#acb5c3;--gold:#dcc99e;--line:#ffffff20}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.7 "Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.wordmark{font:26px Georgia,serif;letter-spacing:.12em}.wordmark span{font-style:italic;color:var(--gold);font-size:20px}nav{display:flex;gap:36px;font-size:14px}.header-note{font-size:13px;color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--bg);z-index:10}.skip:focus{top:10px}
.hero{position:relative;min-height:690px;height:calc(100svh - 88px);max-height:1000px;isolation:isolate;overflow:hidden}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:63% center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,24,.87),rgba(5,12,24,.45) 37%,transparent 73%),linear-gradient(0deg,var(--bg),transparent 27%);z-index:-2}.hero-copy{padding:clamp(80px,11vh,150px) 7% 130px;max-width:840px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;color:var(--gold);margin:0 0 22px;font-weight:500}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}h1{font-size:clamp(48px,5.2vw,82px);letter-spacing:-.045em;margin:0 0 30px;text-shadow:0 2px 22px #07101b66}.amp{font-style:italic;color:var(--gold);font-size:.84em}.dedication{font-size:17px;color:#e0e1e4;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid #dcc99e88;margin-top:25px;padding:8px 0;font-size:14px}.text-link span{font-size:22px}.hero-bottom{position:absolute;bottom:38px;left:7%;right:7%;display:flex;justify-content:space-between;color:#c2c8d2;font-size:13px;letter-spacing:.05em}
.section{max-width:1220px;margin:auto;padding:110px 46px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:clamp(36px,4vw,52px);letter-spacing:-.035em;margin:0}.section-heading>p{font-size:15px;color:var(--muted);margin:0 0 3px}.featured{border:1px solid var(--line)}.clip-empty{min-height:340px;background:radial-gradient(ellipse at 70% 40%,#1e2d41,transparent 65%),#101b2b;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.roman{position:absolute;right:7%;top:-80px;opacity:.035;font:520px Georgia,serif;line-height:1}.clip-empty .eyebrow{margin-bottom:15px}h3{font-size:48px;margin:0}.pending{color:var(--muted);font-size:14px;margin:18px 0 0}.clip-caption{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;font-size:13px;gap:20px}.draft-label{font-size:12px;color:var(--muted);letter-spacing:.02em}.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px}.memory{padding:0;background:transparent;border:0;cursor:pointer;text-align:left}.memory-image{height:270px;position:relative;overflow:hidden;background:var(--panel)}.memory-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .4s;filter:saturate(.65)}.memory:hover img{transform:scale(1.035);filter:saturate(1)}.cat-image img{object-position:center 40%}.expand{position:absolute;bottom:14px;right:14px;background:#08101de6;padding:8px 13px;font-size:12px}.expand span{margin-left:10px}.memory-caption{display:flex;gap:19px;padding-top:21px}.memory-number{color:var(--gold);font-size:12px;padding-top:6px}.memory-caption strong{font:25px Georgia,serif;display:block}.memory-caption small{font-size:13px;color:var(--muted);display:block;margin-top:7px}.archive-note{margin:45px 0 0;color:var(--muted);font-size:14px;text-align:center}.note{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:95px;padding-bottom:110px}.note h2{font-size:42px}.letter p{margin:0 0 22px;line-height:1.9;color:#cdd2db}.letter .note-signoff{font-family:Georgia,serif;font-style:italic;font-size:27px;color:var(--gold);margin-top:30px}footer{padding:32px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}footer>span:first-child{color:var(--gold)}
dialog{width:min(1080px,92vw);max-height:92svh;background:var(--bg);color:var(--text);padding:0;border:1px solid var(--line);overflow:auto}dialog::backdrop{background:#020713e8;backdrop-filter:blur(6px)}.close{display:block;margin:14px 18px 14px auto;border:1px solid var(--line);background:var(--panel);padding:8px 16px;cursor:pointer;font-size:14px}#dialog-image{display:block;max-width:100%;max-height:65svh;object-fit:contain;margin:auto}.dialog-copy{padding:25px 30px}.dialog-copy h2{font-size:30px}.dialog-copy p{font-size:16px;color:var(--muted)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero-copy{padding-top:16vh}}
@media(max-width:700px){header{height:72px;padding:0 6%}.header-note{display:none}nav{gap:20px;font-size:13px}.hero{height:810px;min-height:0;max-height:none}.hero-art{object-position:61% center}.hero-shade{background:linear-gradient(180deg,#07101bce,transparent 70%),linear-gradient(0deg,var(--bg),transparent 24%)}.hero-copy{padding:55px 7% 0}h1{font-size:clamp(42px,9.8vw,66px)}.dedication{font-size:15px}.hero-bottom{bottom:25px;font-size:12px}.section{padding:70px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.clip-empty{min-height:240px}.clip-caption{padding:15px;flex-wrap:wrap;gap:5px}.memory-grid{grid-template-columns:1fr;gap:34px;margin-top:30px}.memory-image{height:auto;aspect-ratio:1.65}.note{grid-template-columns:1fr;gap:30px}.note h2{font-size:36px}footer{flex-direction:column;gap:9px;padding:30px 7%}dialog{width:94vw}.dialog-copy{padding:22px}.dialog-copy h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.featured-video{display:block;width:100%;aspect-ratio:16/9;background:#050a12;object-fit:contain}
.drive-memory{margin-top:clamp(44px,6vw,72px)}
.drive-video{border:0}
.video-link{margin:14px 0 0;font-size:14px}
.video-link a{color:var(--gold);text-underline-offset:4px}

/* Full artwork, personal opening, then the two character names. */
.hero{display:block;height:auto;min-height:0;max-height:none}
.hero-art{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain}
.hero-shade{background:radial-gradient(ellipse at 12% 12%,rgba(5,12,24,.65),transparent 55%),linear-gradient(0deg,var(--bg),transparent 9%)}
.hero-copy{position:absolute;top:4vw;left:5%;margin:0;padding:0;width:31%;max-width:470px}
.hero-copy h1{font-size:clamp(34px,3.5vw,58px);margin:0 0 20px;line-height:1.12}
.hero-letter{font-size:clamp(15px,1.25vw,18px);line-height:1.65;color:var(--text);text-shadow:0 1px 8px #050912}
.hero-letter p{margin:0 0 16px}
.hero-letter .note-signoff{font:italic 26px Georgia,serif;color:var(--gold);margin:20px 0 0}
.character-pair{display:flex;align-items:center;justify-content:center;gap:42px;padding:38px 7% 55px;font-family:"Segoe UI",Arial,sans-serif;font-weight:700;line-height:1.1}
.nameplate{display:flex;align-items:center;gap:20px}
.alliance-crest{display:block;width:88px;height:112px;object-fit:contain;flex-shrink:0}
.nameplate-copy{display:block}
.character-name{display:block;font-size:clamp(32px,3.3vw,48px);color:#efece4}
.rogue-name{color:#fff468}
.character-title{display:block;font-size:18px;margin-top:7px;color:#f5f1eb;font-weight:700}
.nameplate-amp{display:block;margin:0;font:italic 30px/1 Georgia,serif;color:var(--gold)}
.memories.section{border-top:1px solid var(--line);padding-top:75px}
/* Keep each title close to its media, with more space between memories. */
.memories .section-heading{margin-bottom:24px}
.memories .section-heading .eyebrow{margin:0}
.memories .memory-grid{margin-top:clamp(44px,6vw,72px);row-gap:clamp(44px,6vw,72px)}
.memory-caption{padding:0;margin-bottom:24px}
.memory-number{padding:0;font-size:12px;line-height:1.7;letter-spacing:.19em;font-weight:500;text-transform:uppercase}
.memory-grid + .section-heading{margin-top:clamp(44px,6vw,72px)}
@media(max-width:1100px){
 .hero{display:flex;flex-direction:column}
 .hero-copy{position:relative;top:auto;left:auto;order:-1;width:86%;max-width:620px;padding:48px 0 30px;margin:0 auto}
 .hero-copy h1{font-size:clamp(36px,5vw,52px)}
 .hero-letter{font-size:16px}
 .hero-art{mask-image:linear-gradient(180deg,transparent,#000 10%,#000 93%,transparent)}
 .hero-shade{display:none}
}
@media(max-width:700px){
 .character-pair{gap:16px;padding:26px 7% 38px;flex-wrap:wrap}
 .alliance-crest{width:42px;height:56px}.nameplate{gap:8px}
 .character-name{font-size:26px}.character-title{font-size:13px;margin-top:4px}
 .nameplate-amp{font-size:22px}.memories.section{padding-top:45px}
}
@media(max-width:400px){.character-pair{flex-direction:column;gap:12px}.nameplate{width:210px}.alliance-crest{width:52px;height:66px}.character-name{font-size:32px}.character-title{font-size:15px}}
