/* Cinematic homepage only. Builder overrides remain at the end of this sheet. */
.pre-home {
 --home-bg:#080a0b; --home-panel:#111516; --home-text:#f4f3ef; --home-muted:#c1c7c8;
 --home-red:#ec3445; --home-line:#343b3c; --home-width:2200px; --home-gutter:56px;
 --home-space:64px; --home-title-size:5.5rem; --home-heading-size:2.75rem;
 --home-header-height:var(--pre-home-shell-header,0px); --home-ease:cubic-bezier(.2,.65,.3,1);
 position:relative; isolation:isolate; overflow:clip; background:var(--home-bg); color:var(--home-text);
 direction:rtl; text-align:start; font:17px/1.8 "Cairo",sans-serif; letter-spacing:0;
}
.pre-home *, .pre-home *::before, .pre-home *::after { box-sizing:border-box; }
.pre-home :is(h1,h2,h3,p,ul) { margin:0; padding:0; }
.pre-home :is(h1,h2,h3,p,a,button,input,select,summary,small,span,time,bdi,strong) { font-family:"Cairo",sans-serif; letter-spacing:0; }
.pre-home :is(h1,h2,h3) { color:var(--home-text); font-weight:800; line-height:1.5; overflow-wrap:anywhere; }
.pre-home h1 { font-size:clamp(2rem,var(--home-title-size),6.5rem); line-height:1.25; }
.pre-home h2 { font-size:clamp(1.5rem,var(--home-heading-size),3.5rem); }
.pre-home h3 { font-size:1.25rem; font-weight:700; }
.pre-home a { color:inherit; text-decoration:none; }
.pre-home :is(p,a,strong) { overflow-wrap:anywhere; }
.pre-home a:hover { color:#fff; }
.pre-home em { color:var(--home-red); font-style:normal; }
.pre-home :is(button,input,select) { font:inherit; }
.pre-home button { cursor:pointer; }
.pre-home :is(a,button,input,select,summary,[tabindex]):focus-visible { outline:2px solid #f2ca80; outline-offset:4px; }
.pre-home [id] { scroll-margin-block-start:calc(var(--home-header-height) + 24px); }
.pre-home [hidden] { display:none !important; }
.pre-home img { display:block; max-width:100%; height:auto; }
.pre-home .dashicons { font-family:dashicons; font-size:24px; width:26px; height:26px; line-height:26px; flex-shrink:0; }
.pre-home .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.pre-home-shell { width:calc(100% - var(--home-gutter)*2); max-width:var(--home-width); margin-inline:auto; position:relative; z-index:1; }
.pre-home-band { padding-block:var(--home-space); border-block-end:1px solid var(--home-line); }
.pre-home-scene { position:relative; isolation:isolate; overflow:hidden; background:var(--home-bg); }
.pre-home .pre-home-art { position:absolute; inset:0; display:block; z-index:-2; pointer-events:none; }
.pre-home .pre-home-art img { width:100%; height:100%; object-fit:cover; }
.pre-home-scene::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#080a0b30,#080a0bd6),linear-gradient(0deg,#080a0b,transparent 45%); }
.pre-home-eyebrow { color:#cbd3d4; font-size:1.05rem; font-weight:600; margin-block-end:14px !important; }
.pre-home-section-heading { display:flex; align-items:end; gap:24px; margin-block-end:32px; }
.pre-home-section-heading > div:first-child { flex:1; min-width:0; }
.pre-home-section-heading p:not(.pre-home-eyebrow) { color:var(--home-muted); margin-block-start:10px; }
.pre-home-section-heading h2::after { content:""; display:block; width:52px; height:2px; margin:14px auto 0; background:var(--home-red); box-shadow:0 0 14px color-mix(in srgb,var(--home-red) 45%,transparent); }
.pre-home-cta { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }
.pre-home-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:54px; max-width:100%; padding:12px 28px; border:1px solid #849092; border-radius:3px; color:#fff; background:#080b0cba; font-weight:700; font-size:clamp(1rem,1.125rem,1.25rem); line-height:1.6; text-align:center; transition:background .25s,border-color .25s,box-shadow .25s,transform .25s; }
.pre-home-button-primary { background:#8c1523; border-color:var(--home-red); box-shadow:0 0 22px #db20372e,inset 0 0 18px #eb344521; }
.pre-home-button:hover { background:#b21d2b; border-color:#ff7a86; box-shadow:0 0 26px #d3263440; transform:translateY(-2px); }
.pre-home-icon-button { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid #697376; border-radius:2px; color:#fff; background:#0a0d0ec4; flex-shrink:0; transition:border-color .25s,background .25s; }
.pre-home-icon-button:hover { border-color:var(--home-red); background:#39151b; }
.pre-home-icon-button:disabled { opacity:.35; cursor:default; }
.pre-home-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-block-start:24px; border-block-end:1px solid var(--home-red); font-weight:600; }
.pre-home-hero { display:flex; align-items:center; min-height:calc(100svh - 92px); padding-block:max(150px,calc(var(--home-header-height) + 56px)) 120px; border-block-end:1px solid var(--home-red); }
.pre-home-hero::after { background:linear-gradient(0deg,#080a0b 0%,transparent 35%,#06090938 80%,#02040565),linear-gradient(90deg,#0000 10%,#02050645 35%,#050708c7 62%,#04070892); }
.pre-home .pre-home-hero-art { transform:scale(1.025); animation:pre-home-drift 32s ease-in-out infinite alternate; }
.pre-home-hero-art img { object-position:center; }
.pre-home-hero-foreground { position:absolute; inset:10% auto 0 0; width:59%; z-index:-1; pointer-events:none; mask-image:linear-gradient(90deg,#000 55%,transparent 100%),linear-gradient(0deg,transparent,#000 15%); mask-composite:intersect; }
.pre-home-hero-foreground img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.pre-home-hero-content { padding-inline-end:38%; }
.pre-home-hero-content h1 { max-width:900px; margin-inline:auto; text-shadow:0 4px 24px #000b; }
.pre-home-hero-content :is(h1,h2) bdi { display:block; }
.pre-home-hero-subtitle { font-size:clamp(1.125rem,1.35rem,1.5rem); color:#e7ecec; max-width:48ch; margin:24px auto 30px !important; }
.pre-home-hero-bottom { position:absolute; inset:auto 0 24px; display:flex; justify-content:space-between; align-items:end; gap:16px; }
.pre-home-side-note { color:#b9c2c6; font-size:.875rem; line-height:1.8; border-inline-start:2px solid var(--home-red); padding-inline-start:16px; }
.pre-home-film { position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.3; background:linear-gradient(120deg,transparent 30%,#bc193018 60%,transparent 80%); box-shadow:inset 0 0 120px #0009; }
.pre-home-film::after { content:""; position:absolute; inset:0; opacity:.12; background:repeating-linear-gradient(115deg,#ccd4ce 0 1px,transparent 1px 4px); mix-blend-mode:soft-light; }
.pre-home-atmosphere { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; opacity:.24; }
.pre-home-atmosphere::before { content:""; position:absolute; inset:10% -30%; background:linear-gradient(170deg,transparent 30%,#a2b1b84d 46%,transparent 58%,#d0233321 70%,transparent 82%); animation:pre-home-fog 32s ease-in-out infinite alternate; }
.pre-home.is-ready:not(.is-reduced) .pre-home-hero-content > * { animation:pre-home-enter 1.2s var(--home-ease) both; }
.pre-home.is-ready:not(.is-reduced) .pre-home-hero-content :is(h1,h2) { animation-delay:.1s; }
.pre-home.is-ready:not(.is-reduced) .pre-home-hero-subtitle { animation-delay:.2s; }
.pre-home-stats { border-block-end:1px solid color-mix(in srgb,var(--home-red) 60%,#080a0b); background:linear-gradient(100deg,#151b1c,#0a0b0c 45%,#181214); padding-block:26px; }
.pre-home-stats-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.pre-home-stat { display:flex; align-items:center; justify-content:center; gap:18px; padding:8px 16px; border-inline-end:1px solid color-mix(in srgb,var(--home-red) 40%,transparent); }
.pre-home-stat:last-child { border:0; }
.pre-home-stat > .dashicons { font-size:38px; width:40px; height:40px; line-height:40px; color:#c2cbce; }
.pre-home-number { display:inline-block; color:var(--home-red); font-size:2.75rem; font-weight:800; line-height:1.3; font-variant-numeric:tabular-nums; min-width:2ch; }
.pre-home-stat-label { display:block; font-size:1rem; color:#cbd1d2; }
.pre-home-rail { display:flex; overflow-x:auto; gap:22px; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#8b3a43 #171b1c; padding:6px 6px 22px; margin-inline:-6px; }
.pre-home-rail > * { flex:0 0 auto; scroll-snap-align:start; min-width:0; }
.pre-home-rail-controls { display:flex; gap:8px; }
.pre-home-timeline { background:linear-gradient(170deg,#182123,#0a0e10 60%); }
.pre-home-timeline-rail { mask-image:none; }
.pre-home-era { width:calc((100% - 110px)/6); min-width:190px; position:relative; text-align:start; }
.pre-home-era-image { aspect-ratio:16/11; overflow:hidden; background:#182225; position:relative; }
.pre-home-era-image::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -35px 40px -28px #000; pointer-events:none; }
.pre-home-era-image img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--home-ease); }
.pre-home-era-point { display:block; height:1px; background:#556365; margin-block:20px; position:relative; }
.pre-home-era-point::before { content:""; position:absolute; inset-inline-start:0; top:-3px; width:7px; height:7px; background:var(--home-red); box-shadow:0 0 12px var(--home-red); }
.pre-home-era time { display:block; color:var(--home-red); font-weight:800; font-size:1.55rem; }
.pre-home-era p { color:var(--home-muted); font-size:1rem; margin-block-start:8px; }
.pre-home-timeline-progress { height:2px; background:#3b4547; margin-block-start:16px; }
.pre-home-timeline-progress span { display:block; height:2px; background:var(--home-red); transform-origin:right; transform:scaleX(var(--rail-progress,1)); transition:transform .25s linear; }
.pre-home-showcase { border-block:1px solid color-mix(in srgb,var(--home-red) 55%,transparent); }
.pre-home-showcase .pre-home-art img { object-position:30% center; }
.pre-home-showcase::after { background:linear-gradient(90deg,#080a0b00 8%,#080a0b26 28%,#080a0be0 72%),linear-gradient(0deg,#080a0b,transparent 42%); }
.pre-home-showcase-inner { min-height:670px; display:flex; flex-direction:column; justify-content:end; padding-block:110px 38px; }
.pre-home-showcase-copy { width:46%; max-width:820px; margin-block-end:80px; }
.pre-home-showcase-copy > p:not(.pre-home-eyebrow) { color:#d1d9da; margin-block:20px 26px; max-width:56ch; font-size:1.08rem; }
.pre-home-game-stats { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-block-start:1px solid #ffffff35; padding-block-start:28px; background:linear-gradient(0deg,#080a0b88,transparent); }
.pre-home-game-stats a { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 12px; min-height:86px; border-inline-end:1px solid #73363e; padding:4px 10px; }
.pre-home-game-stats a:last-child { border:0; }
.pre-home-game-stats .pre-home-number { color:#edf0ed; font-size:2rem; }
.pre-home-game-stats a > span:last-child { font-size:1rem; width:100%; text-align:center; }
.pre-home-showcase-reverse .pre-home-showcase-copy { margin-inline-start:auto; }
.pre-home-showcase-reverse::after { transform:scaleX(-1); }
.pre-home-inside { background:linear-gradient(120deg,#0d1717,#101315 55%,#160e13); }
.pre-home-inside-backdrop { position:absolute; inset:0; z-index:-1; opacity:.16; pointer-events:none; }
.pre-home-inside-backdrop img { width:100%; height:100%; object-fit:cover; }
.pre-home-section-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; overflow:visible; }
.pre-home-section-tile { --tile-accent:var(--home-red); position:relative; width:100%; min-height:270px; aspect-ratio:4/3; overflow:hidden; background:#172023; border-block-end:2px solid #677579; }
.pre-home-section-tile > img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.pre-home-section-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#020607ed,transparent 82%); }
.pre-home-section-tile::before { content:""; position:absolute; z-index:2; inset:auto 0 0; height:2px; background:var(--tile-accent); transform:scaleX(0); transform-origin:right; transition:transform .5s; }
.pre-home-tile-copy { position:absolute; z-index:1; inset:auto 22px 24px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; line-height:1.6; }
.pre-home-tile-copy strong { font-size:1.3rem; }
.pre-home-tile-count { color:#e0e5df; font-size:1.1rem; }
.pre-home-tile-overview { --tile-accent:#d9cab1; }
.pre-home-tile-documents { --tile-accent:#d0b77f; }
.pre-home-tile-weapons { --tile-accent:#a3c1c1; }
.pre-home-tile-items { --tile-accent:#90b68a; }
.pre-home-tile-treasures { --tile-accent:#e0bf78; }
.pre-home-section-tile:is(:hover,:focus-visible)::before { transform:scaleX(1); }
.pre-home-section-tile:is(:hover,:focus-visible) { border-color:var(--tile-accent); }
.pre-home-game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.pre-home-game-card { min-width:0; border-block-end:1px solid #51343a; padding-block-end:20px; }
.pre-home-game-card h3 { margin-block:16px; }
.pre-home-game-card p { color:var(--home-muted); }
.pre-home-characters { background:linear-gradient(110deg,#0c1416,#161316 60%,#080b0c); }
.pre-home-character { position:relative; width:calc((100% - 66px)/4); min-width:275px; aspect-ratio:3/4.4; overflow:hidden; border-block-end:2px solid #5c6a6d; }
.pre-home-character::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#020606fa,transparent 70%); pointer-events:none; }
.pre-home-character-image { position:absolute; inset:0; background:#101a1d; }
.pre-home-character-image img { height:100%; width:100%; object-fit:cover; object-position:center top; transition:transform 1s var(--home-ease); }
.pre-home-character-copy { position:relative; z-index:1; margin-block-start:auto; padding:26px; height:100%; display:flex; flex-direction:column; justify-content:end; }
.pre-home-character-copy::before { content:""; width:36px; height:2px; background:var(--home-red); box-shadow:0 0 16px color-mix(in srgb,var(--home-red) 65%,transparent); margin-block-end:18px; transition:width .4s; }
.pre-home-character h3 { font-size:clamp(1.5rem,1.75rem,2rem); }
.pre-home-character p { color:#d0d9da; font-size:1.125rem; margin-block-start:8px; }
.pre-home-character:is(:hover,:focus-visible) .pre-home-character-copy::before { width:72px; }
.pre-home-archive { border-block-end:1px solid #766552; }
.pre-home-archive::after { background:linear-gradient(90deg,#080a0b55,#080a0bba 45%,#080a0bea); }
.pre-home-archive-inner { display:grid; grid-template-columns:4fr 5fr; align-items:center; gap:64px; padding-block:80px; min-height:650px; }
.pre-home-archive-count { display:flex; align-items:center; gap:20px; margin-block:30px; }
.pre-home-archive-count .pre-home-number { color:#e0c999; font-size:4rem; }
.pre-home-archive-count > .dashicons { font-size:40px; width:44px; height:44px; line-height:44px; }
.pre-home-archive-copy > p { color:#cad1d2; }
.pre-home-archive-copy .pre-home-cta { justify-content:start; }
.pre-home-dossiers { position:relative; display:flex; align-items:center; min-width:0; padding:28px 12px; }
.pre-home-archive-stamp { position:absolute; z-index:3; inset:0 10% auto auto; padding:4px 24px; border:3px double #cc5148; color:#ec9386; font-size:1.75rem; font-weight:800; transform:rotate(-12deg); pointer-events:none; }
.pre-home-dossier { position:relative; flex:1 1 0; min-width:0; padding:12px; border:1px solid #938c7e; background:#c3beb0; color:#141916 !important; box-shadow:0 15px 28px #0009; transition:transform .5s; }
.pre-home-dossier:nth-of-type(1) { rotate:6deg; translate:0 22px; }
.pre-home-dossier:nth-of-type(2) { rotate:-7deg; translate:0 -6px; z-index:1; margin-inline:-20px; }
.pre-home-dossier img { aspect-ratio:3/4.3; object-fit:cover; width:100%; filter:saturate(.72); }
.pre-home-dossier > span { display:block; padding:14px 4px; font-size:1.05rem; font-weight:700; }
.pre-home-dossier::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 35%,#c4e0e436 50%,transparent 65%); transform:translateY(-100%); animation:pre-home-scan 12s linear infinite; opacity:.4; }
.pre-home-split { display:flex; border-block:1px solid #78313c; }
.pre-home-split-side { flex:1 1 50%; min-width:0; transition:flex-grow .7s var(--home-ease); }
.pre-home-split-side + .pre-home-split-side { border-inline-start:1px solid #697579; }
.pre-home-split-copy { position:relative; padding:110px 56px 70px; min-height:560px; max-width:1000px; margin-inline:auto; display:flex; flex-direction:column; align-items:start; justify-content:end; }
.pre-home-split-copy p { color:#d4d9d9; max-width:40ch; font-size:1.1rem; }
.pre-home-split-copy > .pre-home-number { display:block; margin-block:26px; font-size:3.5rem; }
.pre-home-split-enemies::after { background:linear-gradient(90deg,#12090c20,#13080caa),linear-gradient(0deg,#1a060ce8,transparent 85%); }
.pre-home-split-weapons::after { background:linear-gradient(110deg,#14202644,#03090aaa),linear-gradient(0deg,#071518e8,transparent 85%); }
.pre-home-split-weapons .pre-home-number { color:#b8d1d3; }
.pre-home-split-weapons .pre-home-button { border-color:#a5b8be; }
.pre-home-search::after { background:linear-gradient(180deg,#080a0b40,#080a0bce),linear-gradient(90deg,#080a0b90,transparent 35%,#080a0b99); }
.pre-home-search-inner { padding-block:110px; text-align:center; min-height:510px; display:flex; flex-direction:column; justify-content:center; }
.pre-home-search-inner > div > p { color:#cad2d5; margin-block-start:16px; }
.pre-home .pre-home-search-form { display:flex; align-items:center; width:100%; max-width:1160px; margin:36px auto 20px; padding:10px; border:1px solid #929fa2; border-radius:4px; background:#111a1deb; min-height:78px; transition:border-color .3s,box-shadow .3s; }
.pre-home-search-form:focus-within { border-color:var(--home-red); box-shadow:0 0 36px color-mix(in srgb,var(--home-red) 30%,transparent); }
.pre-home .pre-home-search-form input { width:100%; min-width:0; margin:0; padding:12px 20px; height:54px; border:0; background:transparent; color:#fff; font-size:1.16rem; box-shadow:none; }
.pre-home-search-form input::placeholder { color:#bbc5c7; opacity:1; }
.pre-home .pre-home-search-form select { border:0; border-inline-start:1px solid #596467; padding:10px; background:#131d20; color:#f4f3ef; min-height:48px; max-width:180px; font-size:1rem; }
.pre-home-search-form .pre-home-icon-button { border:0; background:transparent; }
.pre-home-suggestions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.pre-home-suggestions a { display:inline-flex; align-items:center; min-height:44px; border-block-end:1px solid #667579; padding:6px 16px; font-size:1rem; }
.pre-home-results { text-align:start; margin:38px auto 0; width:100%; max-width:1160px; }
.pre-home-results ul { list-style:none; }
.pre-home-results li { margin:0; border-block-end:1px solid #555c5e; }
.pre-home-results li a { display:flex; align-items:center; gap:18px; min-height:100px; padding-block:16px; }
.pre-home-results li a > span:not(.dashicons) { min-width:0; flex:1; overflow-wrap:anywhere; }
.pre-home-results li img { width:72px; height:72px; object-fit:cover; flex-shrink:0; }
.pre-home-results small { display:block; color:#c2cbce; font-size:1rem; }
.pre-home-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px; margin-block-start:26px; }
.pre-home-footer { border-block-start:1px solid #576468; }
.pre-home-footer::after { background:linear-gradient(0deg,#080a0bfa,#080a0b55); }
.pre-home-footer-inner { text-align:center; padding-block:64px 24px; }
.pre-home .pre-home-footer-logo { width:auto; height:72px; max-width:160px; object-fit:contain; margin:0 auto 20px; }
.pre-home-footer h2 bdi { display:block; }
.pre-home-footer p { color:#c8d0d3; max-width:60ch; margin:16px auto 24px; font-size:1rem; }
.pre-home-footer-end { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-block-start:36px; padding-block-start:24px; border-block-start:1px solid #7775; color:#b6c0c3; font-size:.95rem; }
.pre-home-footer-end p { margin:0; font-size:inherit; }
.pre-home-empty { color:#c0c7c8; padding-block:24px; }
.pre-home.is-ready:not(.is-reduced) [data-home-reveal] { opacity:0; transform:translateY(20px); transition:opacity .7s var(--home-ease),transform .7s var(--home-ease); }
.pre-home.is-ready:not(.is-reduced) [data-home-reveal].is-visible { opacity:1; transform:none; }
.pre-home.is-paused *, .pre-home.is-paused *::before, .pre-home.is-paused *::after { animation-play-state:paused !important; }
.pre-home.is-reduced *, .pre-home.is-reduced *::before, .pre-home.is-reduced *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
.pre-home.is-reduced [data-home-reveal] { opacity:1; transform:none; }
.pre-home:not(.is-ready) *, .pre-home:not(.is-ready) *::before, .pre-home:not(.is-ready) *::after { animation:none !important; }
@keyframes pre-home-drift { to { transform:scale(1.07) translateX(.6%); } }
@keyframes pre-home-fog { to { transform:translate(-8%,5%); opacity:.65; } }
@keyframes pre-home-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes pre-home-scan { 50%,100% { transform:translateY(100%); } }
@media (hover:hover) and (pointer:fine) {
 .pre-home-era:hover img, .pre-home-character:hover img, .pre-home-section-tile:hover > img { transform:scale(1.055); }
 .pre-home-character:hover { border-color:var(--home-red); }
 .pre-home-split-side:hover { flex-grow:1.18; }
}
@media (min-width:1921px) {
 .pre-home { --home-title-size:6.25rem; --home-heading-size:3.25rem; --home-space:80px; --home-gutter:80px; }
 .pre-home-showcase-inner { min-height:820px; }
 .pre-home-section-tile { min-height:330px; }
}
@media (max-width:1366px) and (min-width:1101px) {
 .pre-home { --home-title-size:4.5rem; --home-gutter:40px; }
 .pre-home-tile-copy { inset-inline:16px; gap:8px; }
 .pre-home-tile-copy strong { font-size:1.15rem; }
}
@media (max-width:1100px) {
 .pre-home { --home-gutter:30px; --home-space:54px; --home-title-size:4.25rem; --home-heading-size:2.4rem; }
 .pre-home-hero { min-height:calc(100svh - 96px); padding-block:max(180px,calc(var(--home-header-height) + 80px)) 100px; }
 .pre-home-hero-content { padding-inline-end:0; }
 .pre-home-hero-foreground { display:none; }
 .pre-home-hero::after { background:linear-gradient(0deg,#080a0b 0%,#080a0b70 40%,#080a0b33),linear-gradient(90deg,#080a0b20,#080a0b80); }
 .pre-home-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:24px; }
 .pre-home-stat:nth-child(3) { border-inline-end:0; }
 .pre-home-era { width:42%; min-width:265px; }
 .pre-home-showcase-inner { min-height:640px; }
 .pre-home-showcase-copy { width:62%; margin-block-end:54px; }
 .pre-home-game-stats { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:16px; }
 .pre-home-game-stats a:nth-child(4) { border-inline-end:0; }
 .pre-home-section-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pre-home-section-tile { min-height:250px; }
 .pre-home-character { width:42%; min-width:275px; }
 .pre-home-archive-inner { gap:28px; padding-block:64px; }
 .pre-home-archive-count .pre-home-number { font-size:3rem; }
 .pre-home-dossier { padding:8px; }
 .pre-home-dossier > span { font-size:1rem; }
 .pre-home-split { display:block; }
 .pre-home-split-side + .pre-home-split-side { border-inline-start:0; border-block-start:1px solid #5b6368; }
 .pre-home-split-copy { min-height:440px; max-width:none; padding:80px var(--home-gutter) 54px; }
 .pre-home-search-inner { padding-block:84px; }
}
@media (max-width:820px) {
 .pre-home-archive-inner { grid-template-columns:minmax(0,1fr); gap:40px; }
 .pre-home-dossiers { max-width:680px; width:100%; margin-inline:auto; }
 .pre-home-dossier img { aspect-ratio:3/4; }
}
@media (max-width:600px) {
 .pre-home { --home-gutter:20px; --home-space:42px; --home-title-size:3.125rem; --home-heading-size:1.9rem; font-size:16px; }
 .pre-home-hero { min-height:calc(100svh - 48px); padding-block:max(290px,calc(var(--home-header-height) + 230px)) 92px; align-items:end; }
 .pre-home .pre-home-hero-art { height:72%; animation:none; transform:none; }
 .pre-home .pre-home-hero-art img { object-fit:contain; object-position:center top; }
 .pre-home-hero::after { background:linear-gradient(0deg,#080a0b 4%,#080a0bdb 32%,#080a0b0a 80%); }
 .pre-home-hero.has-mobile-art .pre-home-art { height:100%; }
 .pre-home-hero.has-mobile-art .pre-home-art img { object-fit:cover; object-position:center top; }
 .pre-home-hero-content > .pre-home-eyebrow { font-size:1rem; margin-block-end:12px !important; }
 .pre-home-hero-subtitle { font-size:1.125rem; margin-block:18px 24px !important; }
 .pre-home-cta { gap:12px; max-width:420px; margin-inline:auto; }
 .pre-home-button { padding:12px 20px; font-size:1rem; min-height:50px; }
 .pre-home-hero .pre-home-cta { flex-direction:column; align-items:stretch; }
 .pre-home-hero-bottom { inset-block-end:18px; }
 .pre-home-side-note { font-size:.8rem; max-width:75%; }
 .pre-home-film::after { display:none; }
 .pre-home-stats { padding-block:22px; }
 .pre-home-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 0; }
 .pre-home-stat { justify-content:start; gap:12px; padding:4px 12px; }
 .pre-home-stat:nth-child(3) { border-inline-end:1px solid #73343e; }
 .pre-home-stat:nth-child(2n) { border-inline-end:0; }
 .pre-home-stat > .dashicons { font-size:30px; width:32px; }
 .pre-home-number { font-size:2.2rem; }
 .pre-home-stat-label { font-size:1rem; }
 .pre-home-section-heading { gap:12px; align-items:center; margin-block-end:26px; flex-wrap:wrap; }
 .pre-home-section-heading > div:first-child { flex-basis:100%; }
 .pre-home-section-heading .pre-home-rail-controls { margin-inline:auto; }
 .pre-home-rail-controls .pre-home-icon-button { width:50px; height:50px; }
 .pre-home-era { width:86%; min-width:0; }
 .pre-home-era time { font-size:1.4rem; }
 .pre-home-showcase-inner { min-height:620px; padding-block:260px 28px; }
 .pre-home-showcase .pre-home-art { height:55%; }
 .pre-home-showcase .pre-home-art img { object-fit:contain; object-position:center top; }
 .pre-home-showcase::after { background:linear-gradient(0deg,#080a0b 24%,#080a0be6 48%,transparent 86%); transform:none; }
 .pre-home-showcase-copy { width:100%; max-width:none; margin-block-end:28px; }
 .pre-home-showcase-copy > p:not(.pre-home-eyebrow) { font-size:1rem; }
 .pre-home-game-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 0; padding-block-start:22px; }
 .pre-home-game-stats a { min-height:76px; gap:4px 8px; padding:4px 6px; }
 .pre-home-game-stats a:nth-child(4) { border-inline-end:1px solid #73343e; }
 .pre-home-game-stats a:nth-child(3n) { border-inline-end:0; }
 .pre-home-game-stats .pre-home-number { font-size:1.55rem; }
 .pre-home-game-stats .dashicons { font-size:22px; width:22px; }
 .pre-home-game-stats a > span:last-child { font-size:.95rem; }
 .pre-home-section-rail { display:flex; overflow-x:auto; }
 .pre-home-section-tile { width:86%; min-height:320px; aspect-ratio:4/5; }
 .pre-home-character { width:86%; min-width:0; aspect-ratio:3/4.3; }
 .pre-home-character h3 { font-size:1.5rem; }
 .pre-home-character-copy { padding:24px; }
 .pre-home-game-grid { grid-template-columns:minmax(0,1fr); }
 .pre-home-archive-inner { padding-block:48px; gap:32px; }
 .pre-home-dossiers { gap:16px; overflow-x:auto; padding-block:38px 20px; scroll-snap-type:x mandatory; }
 .pre-home-dossier { flex:0 0 80%; transform:none !important; rotate:none; translate:none; margin:0 !important; scroll-snap-align:start; }
 .pre-home-dossier img { aspect-ratio:4/4.5; }
 .pre-home-archive-stamp { inset-block-start:0; font-size:1.3rem; }
 .pre-home-split-copy { padding-block:130px 48px; min-height:460px; }
 .pre-home-search-inner { padding-block:72px; min-height:440px; }
 .pre-home .pre-home-search-form { flex-wrap:wrap; padding:8px; margin-block:28px 18px; }
 .pre-home .pre-home-search-form input { flex-basis:100%; font-size:1rem; padding:12px; border-block-end:1px solid #596467; height:58px; }
 .pre-home .pre-home-search-form select { flex:1; max-width:none; border:0; }
 .pre-home-footer-inner { padding-block:52px 24px; }
 .pre-home-footer-end { flex-direction:column; align-items:center; }
}
@media (prefers-reduced-motion:reduce) {
 .pre-home *, .pre-home *::before, .pre-home *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 .pre-home [data-home-reveal] { opacity:1 !important; transform:none !important; }
}

/* Neutral fallbacks preserve each section's identity without borrowed hero imagery. */
.pre-home-era-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; height:100%; color:#b8c4c3; font-size:2rem; font-weight:700; background:repeating-linear-gradient(125deg,#ffffff03 0 1px,transparent 1px 14px),linear-gradient(150deg,#283431,#0b1011); }
.pre-home-era-placeholder .dashicons { width:48px; height:48px; font-size:44px; line-height:48px; }
.pre-home-era:nth-child(even) .pre-home-era-placeholder { background:repeating-linear-gradient(55deg,#ffffff04 0 1px,transparent 1px 18px),linear-gradient(135deg,#242129,#101011); }
.pre-home-era p:empty { display:none; }
.pre-home :is(.pre-home-search,.pre-home-timeline) h2 bdi { display:inline-block; max-width:100%; }
.pre-home-era h3 { font-size:clamp(1.1rem,1.25rem,1.5rem); }
.pre-home-rail-controls .pre-home-icon-button { width:52px; height:52px; }
.pre-home-tile-symbol { position:absolute; inset:0; display:grid; place-items:center; color:var(--tile-accent); background:repeating-linear-gradient(120deg,#ffffff04 0 1px,transparent 1px 20px),linear-gradient(145deg,color-mix(in srgb,var(--tile-accent) 16%,#0d1011),#090c0d); }
.pre-home-tile-symbol .dashicons { width:80px; height:80px; font-size:76px; line-height:80px; opacity:.55; }
.pre-home-tile-achievement { --tile-accent:#e4c98a; }
.pre-home-tile-characters { --tile-accent:#b7c2d1; }
.pre-home-tile-enemies { --tile-accent:#d26271; }
.pre-home-tile-weapons .pre-home-tile-symbol { background:repeating-linear-gradient(0deg,#a0b8bc09 0 1px,transparent 1px 26px),linear-gradient(120deg,#223033,#080b0d); }
.pre-home-tile-documents .pre-home-tile-symbol { background:repeating-linear-gradient(0deg,#c1b38c0c 0 1px,transparent 1px 18px),linear-gradient(145deg,#25251f,#0d1010); }
.pre-home-tile-items .pre-home-tile-symbol { background:linear-gradient(135deg,#203b2d,#0a1110); }
.pre-home-archive { background:repeating-linear-gradient(0deg,#d3c9a10a 0 1px,transparent 1px 22px),linear-gradient(120deg,#232920,#0a0e0d); }
.pre-home-archive-stamp { letter-spacing:0; border-color:#bd6962; color:#f0a79c; }
.pre-home-split-enemies { background:repeating-linear-gradient(133deg,#96303a13 0 2px,transparent 2px 31px),linear-gradient(145deg,#310e17,#100b0d); }
.pre-home-split-weapons { background:repeating-linear-gradient(0deg,#c3d9db0a 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,#c3d9db0a 0 1px,transparent 1px 28px),linear-gradient(120deg,#263238,#0b1012); }
.pre-home-split-weapons .pre-home-button:hover { background:#253c41; border-color:#d4e7e8; box-shadow:0 0 20px #7cabb529; }
.pre-home-split-enemies .pre-home-button { border-color:#b55465; }
.pre-home-search { background:linear-gradient(130deg,#172420,#0a0f11 65%); }
.pre-home-results .pre-home-result-type { color:#ead4aa; font-weight:700; margin-block-end:4px; }
.pre-home-results li bdi { font-weight:700; font-size:1.125rem; }
.pre-home-footer { background:repeating-linear-gradient(125deg,#c6d4cd03 0 1px,transparent 1px 18px),linear-gradient(165deg,#17231d,#080c0b); }
.pre-home .pre-home-hero-logo { width:80px; height:80px; object-fit:contain; margin:0 auto 20px; }
.pre-home-footer h2::before { content:""; display:block; width:64px; height:3px; margin:0 auto 20px; background:linear-gradient(90deg,var(--home-red) 0 42%,transparent 42% 55%,#becac5 55%); }
.pre-home-section-heading h2::after { width:64px; background:linear-gradient(90deg,var(--home-red) 0 70%,transparent 70% 82%,#becac5 82%); }
@media (min-width:1101px) {
 .pre-home-section-rail { grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:minmax(230px,auto); }
 .pre-home-section-tile { grid-column:span 2; min-height:230px; aspect-ratio:auto; }
 .pre-home-section-tile:nth-child(8n+1), .pre-home-section-tile:nth-child(8n+2) { grid-column:span 3; min-height:310px; }
 .pre-home-section-tile > img { position:absolute; inset:0; }
}
@media (min-width:1921px) {
 .pre-home-era { min-width:250px; }
 .pre-home-section-rail { grid-auto-rows:minmax(300px,auto); }
 .pre-home-section-tile:nth-child(8n+1), .pre-home-section-tile:nth-child(8n+2) { min-height:400px; }
}
@media (max-width:600px) {
 .pre-home-rail-controls .pre-home-icon-button { width:50px; height:50px; }
 .pre-home-tile-copy { inset-inline:18px; gap:10px; }
 .pre-home-tile-copy strong { font-size:1.25rem; }
 .pre-home .pre-home-hero-logo { width:64px; height:64px; }
}

/* Game slider: all rules stay inside Hero. Static and non-Hero components retain their styles. */
.pre-home-hero-slider { display:grid; grid-template-rows:1fr auto auto; gap:32px; padding-block:max(112px,calc(var(--home-header-height) + 28px)) 24px; touch-action:pan-y pinch-zoom; background:linear-gradient(125deg,#18231f,#080a0b 65%); }
.pre-home-hero-slider .pre-home-hero-content { padding-inline-end:0; max-width:900px; }
.pre-home-hero-slider .pre-home-hero-content h1 { font-size:clamp(2rem,calc(var(--home-title-size) * .7),5rem); }
.pre-home-hero-slider .pre-home-hero-subtitle { font-size:1.125rem; margin-block:14px 20px !important; }
.pre-home-hero-slider .pre-home-eyebrow { margin-block-end:10px !important; }
.pre-home-hero-slider .pre-home-hero-content > .pre-home-cta { gap:10px; }
.pre-home-hero-slider .pre-home-hero-content > .pre-home-cta .pre-home-button { min-height:44px; padding:8px 18px; font-size:1rem; }
.pre-home .pre-home-hero-slider .pre-home-slide-art { opacity:0; visibility:hidden; transition:opacity var(--hero-fade,1200ms) ease,visibility 0s var(--hero-fade,1200ms); transform:none; }
.pre-home .pre-home-hero-slider .pre-home-slide-art.is-active { opacity:1; visibility:visible; transition-delay:0s; }
.pre-home-hero-slider .pre-home-slide-art img { animation:pre-home-slide-depth 8s ease-out both; animation-play-state:paused; }
.pre-home-hero-slider.is-hero-running .pre-home-slide-art.is-active img { animation-play-state:running; }
.pre-home .pre-home-hero-slider .pre-home-slide-art:not(.is-active) img { animation:none; }
.pre-home-hero-games { display:grid; max-width:1240px; padding:16px; background:#090e12c9; border:1px solid #566e797d; border-radius:8px; box-shadow:0 12px 32px #0004,inset 0 1px 12px #c4e2f20c; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.pre-home-hero-game { grid-area:1/1; display:grid; grid-template-columns:auto minmax(0,1fr) 240px; grid-template-areas:"action copy thumb"; align-items:center; gap:28px; min-width:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity var(--hero-fade,1200ms) ease,transform var(--hero-fade,1200ms) ease,visibility 0s var(--hero-fade,1200ms); }
.pre-home-hero-game.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }
.pre-home-hero-thumb { grid-area:thumb; min-width:0; aspect-ratio:16/7; overflow:hidden; border-radius:4px; }
.pre-home-hero-thumb:empty { visibility:hidden; }
.pre-home-hero-thumb img { width:100%; height:100%; object-fit:cover; }
.pre-home-hero-game-copy { grid-area:copy; min-width:0; text-align:start; }
.pre-home-component-hero .pre-home-hero-game h2 { font-size:clamp(1.25rem,var(--hero-game-size,1.65rem),2rem); line-height:1.45; text-align:start; }
.pre-home-hero-game-copy > p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; max-height:3.6em; overflow:hidden; color:#dce2df; font-size:1rem; line-height:1.8; margin-block-start:6px; }
.pre-home-hero-game > .pre-home-button { grid-area:action; min-height:48px; padding:10px 22px; font-size:1rem; }
.pre-home-hero-slider .pre-home-hero-bottom { position:relative; inset:auto; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.pre-home-hero-controls { display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap; max-width:100%; }
.pre-home-hero-indicators { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
.pre-home-hero-indicator { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:inherit; }
.pre-home-hero-indicator > span { position:relative; display:block; width:22px; height:3px; background:#a3b0b477; overflow:hidden; }
.pre-home-hero-indicator[aria-current] > span { background:#c2cbcf; }
.pre-home-hero-indicator[aria-current] > span::after { content:""; display:block; position:absolute; inset:0; background:var(--home-red); transform-origin:right; }
.is-hero-running .pre-home-hero-indicator[aria-current] > span::after { animation:pre-home-slide-progress var(--hero-dwell,7000ms) linear both; }
.pre-home-component-hero.is-hero-motion-off { --component-parallax:0px !important; }
.pre-home-component-hero.is-hero-motion-off .pre-home-atmosphere::before,
.pre-home-component-hero.is-hero-motion-off .pre-home-particles i,
.pre-home-component-hero.is-hero-motion-off .pre-home-film { animation-play-state:paused !important; }
.pre-home-component-hero.is-hero-motion-off .pre-home-slide-art { transform:none !important; }
.pre-home-component-hero.pre-home-has-parallax { --component-parallax:0px !important; }
.pre-home-component-hero.pre-home-has-parallax .pre-home-art,
.pre-home-component-hero.pre-home-has-parallax .pre-home-hero-foreground { transform:none !important; }
.pre-home-hero-slider[data-hero-transition="instant"] :is(.pre-home-slide-art,.pre-home-hero-game),
.pre-home.is-reduced .pre-home-hero-slider :is(.pre-home-slide-art,.pre-home-hero-game) { transition:none; transform:none; }
@keyframes pre-home-slide-depth { from { transform:scale(1.025); } to { transform:scale(1.065); } }
@keyframes pre-home-slide-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media (min-width:1921px) {
 .pre-home-hero-slider { --hero-game-size:2rem; }
}
@media (max-width:1100px) {
 .pre-home-hero-slider { padding-block:max(120px,calc(var(--home-header-height) + 30px)) 24px; --hero-game-size:1.6rem; }
 .pre-home-hero-slider .pre-home-hero-content { padding-inline-end:0; }
 .pre-home-hero-slider .pre-home-hero-game { grid-template-columns:auto minmax(0,1fr) 180px; gap:18px; }
 .pre-home-hero-slider .pre-home-hero-bottom { justify-content:center; }
 .pre-home-hero-slider .pre-home-side-note { max-width:100%; }
}
@media (max-width:900px) {
 .pre-home-hero-slider .pre-home-hero-game { grid-template-columns:minmax(0,1fr) 144px; grid-template-areas:"copy thumb" "action thumb"; gap:12px 20px; }
 .pre-home-hero-game > .pre-home-button { justify-self:start; }
 .pre-home-hero-thumb { aspect-ratio:4/3; }
}
@media (max-width:600px) {
 .pre-home-hero-slider { --hero-game-size:1.4rem; padding-block:max(160px,calc(var(--home-header-height) + 72px)) 14px; gap:24px; }
 .pre-home .pre-home-hero-slider .pre-home-slide-art { height:60%; }
 .pre-home-hero-slider .pre-home-slide-art img { object-fit:contain; object-position:center top; }
 .pre-home .pre-home-hero-slider .pre-home-slide-art.has-mobile-art { height:100%; }
 .pre-home-hero-slider .pre-home-slide-art.has-mobile-art img { object-fit:cover; }
 .pre-home-hero-slider .pre-home-hero-content > .pre-home-cta { flex-direction:row; }
 .pre-home-hero-slider .pre-home-hero-content > .pre-home-cta .pre-home-button { flex:1 1 135px; gap:8px; padding-inline:8px; font-size:.9rem; }
 .pre-home-hero-slider .pre-home-hero-subtitle { font-size:1rem; }
 .pre-home-hero-games { padding:14px; }
 .pre-home-hero-slider .pre-home-hero-game { grid-template-columns:minmax(0,1fr) 88px; grid-template-areas:"copy thumb" "action action"; gap:14px 12px; }
 .pre-home-component-hero .pre-home-hero-game h2 { font-size:1.125rem; }
 .pre-home-hero-game-copy > p { font-size:.875rem; }
 .pre-home-hero-game > .pre-home-button { justify-self:stretch; width:100%; }
 .pre-home-hero-slider .pre-home-hero-controls { gap:0; }
 .pre-home-hero-controls .pre-home-icon-button { width:44px; height:44px; }
 .pre-home-hero-slider .pre-home-hero-bottom { gap:6px; }
 .pre-home-hero-slider .pre-home-hero-bottom > .pre-home-side-note { flex-basis:100%; text-align:center; border:0; padding:0; }
 .pre-home-hero-slider .pre-home-hero-logo { width:48px; height:48px; margin-block-end:12px; }
}
@media (max-width:380px) {
 .pre-home-hero-slider .pre-home-hero-game { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "action"; }
 .pre-home-hero-thumb { display:none; }
}

/* Builder options only affect component descendants, never the theme header/footer. */
.pre-home.main-content { float: none; width: 100%; max-width: none; padding: 0; margin: 0; --home-header-height: var(--pre-home-shell-header,0px); }
.pre-home-component { position: relative; isolation: isolate; --component-overlay: 1; --component-speed: 1; --component-drift: 12px; }
.pre-home-component .pre-home-cta:empty { display: none; }
.pre-home-component:not(.pre-home-accent-red) .pre-home-button:hover { border-color: var(--home-red); background: #1b2122; box-shadow: 0 0 18px color-mix(in srgb,var(--home-red) 22%,transparent); }
.pre-home-component .pre-home-dossiers:has(.pre-home-dossier:nth-child(5)) { overflow-x: auto; gap: 16px; }
.pre-home-component .pre-home-dossiers:has(.pre-home-dossier:nth-child(5)) .pre-home-dossier { flex: 0 0 38%; transform: none; rotate: none; translate: none; margin-inline: 0; }
.pre-home-component .pre-home-cta { margin-block-start: 18px; }
.pre-home-component .pre-home-hero-content > .pre-home-cta { margin-block-start: 0; }
.pre-home-component .pre-home-section-heading { text-align: var(--component-align,center); }
.pre-home-component :is(.pre-home-hero-content,.pre-home-showcase-copy,.pre-home-archive-copy,.pre-home-split-copy,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-content) { text-align: var(--component-align,inherit); }
.pre-home-component .pre-home-hero-content { text-align: var(--component-align,center); }
.pre-home-component h2 { font-size: clamp(1.25rem,var(--home-heading-size),3.5rem); }
.pre-home-component .pre-home-scene::after { opacity: var(--component-overlay); }
.pre-home-component.pre-home-overlay-solid .pre-home-scene::after { background: #080a0bd9; }
.pre-home-component.pre-home-overlay-none .pre-home-scene::after { display: none; }
.pre-home-component.pre-home-accent-gold { --home-red: #dfbd77; }
.pre-home-component.pre-home-accent-ice { --home-red: #adccd0; }
.pre-home-component.pre-home-accent-green { --home-red: #9bc48d; }
.pre-home-component .pre-home-button-primary { border-color: var(--home-red); }
.pre-home-component:not(.pre-home-accent-red) .pre-home-button-primary { background: #101516; color: var(--home-red); box-shadow: 0 0 18px color-mix(in srgb,var(--home-red) 18%,transparent); }
.pre-home-component:not(.pre-home-accent-red) :is(.pre-home-number,.pre-home-era time) { color: var(--home-red); }
.pre-home-component:not(.pre-home-accent-red) :is(.pre-home-showcase,.pre-home-stats,.pre-home-hero,.pre-home-split) { border-color: color-mix(in srgb,var(--home-red) 55%,transparent); }
.pre-home-component.pre-home-width-narrow { --home-width: 1040px; }
.pre-home-component.pre-home-width-wide { --home-width: 2560px; }
.pre-home-component.pre-home-height-compact > :is(section,.pre-home-spacer) { min-height: 180px; }
.pre-home-component.pre-home-height-medium > :is(section,.pre-home-spacer) { min-height: 420px; }
.pre-home-component.pre-home-height-tall > :is(section,.pre-home-spacer) { min-height: min(780px,90svh); }
.pre-home-component:not(.pre-home-height-default) :is(.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-split-copy) { min-height: inherit; }
.pre-home-component:not(.pre-home-height-default) .pre-home-hero { padding-block: max(calc(var(--home-header-height) + 32px),var(--home-space)) 90px; }
.pre-home-component .pre-home-background-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; pointer-events: none; }
.pre-home-component .pre-home-background-video:not(.is-playing) { visibility: hidden; }
.pre-home-component .pre-home-stats { isolation: isolate; }
.pre-home-component .pre-home-content { text-align: var(--component-align,center); }
.pre-home-component .pre-home-prose { max-width: 80ch; margin-inline: auto; white-space: normal; overflow-wrap: anywhere; line-height: 2; margin-block: 24px; }
.pre-home-component .pre-home-content-image { display: block; width: 100%; }
.pre-home-component .pre-home-content-image img { width: 100%; max-height: 720px; object-fit: contain; }
.pre-home-component .pre-home-content-video { display: block; width: 100%; max-height: 720px; aspect-ratio: 16/9; margin-inline: auto; background: #080a0b; }
.pre-home-component .pre-home-spacer { padding-block: var(--home-space); }
.pre-home-component .pre-home-spacer hr { margin: 0 auto; width: calc(100% - var(--home-gutter)*2); max-width: var(--home-width); border: 0; border-block-start: 1px solid var(--home-red); }
.pre-home-component .pre-home-showcase-copy .pre-home-cta { justify-content: start; }
.pre-home-component .pre-home-particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 2; }
.pre-home-component .pre-home-particles i { position: absolute; width: 1px; height: 5px; background: #d88873; opacity: .4; left: 12%; bottom: -10px; animation: pre-home-embers calc(18s * var(--component-speed)) linear infinite; }
.pre-home-component .pre-home-particles i:nth-child(2) { left: 28%; animation-delay: -3s; }
.pre-home-component .pre-home-particles i:nth-child(3) { left: 43%; animation-delay: -11s; }
.pre-home-component .pre-home-particles i:nth-child(4) { left: 67%; animation-delay: -5s; }
.pre-home-component .pre-home-particles i:nth-child(5) { left: 81%; animation-delay: -8s; }
.pre-home-component .pre-home-particles i:nth-child(6) { left: 94%; animation-delay: -15s; }
.pre-home-component.pre-home-speed-slow { --component-speed: 1.6; }
.pre-home-component.pre-home-speed-fast { --component-speed: .7; }
.pre-home-component.pre-home-intensity-medium { --component-drift: 20px; }
.pre-home-component.pre-home-intensity-high { --component-drift: 28px; }
.pre-home-component .pre-home-hero-art { animation-duration: calc(26s * var(--component-speed)); }
.pre-home.is-ready:not(.is-reduced) .pre-home-component [data-home-reveal] { transition-duration: calc(.7s * var(--component-speed)); }
.pre-home.is-ready:not(.is-reduced) .pre-home-component [data-home-reveal]:not(.is-visible) { transform: translateY(var(--component-drift)); }
.pre-home-component .pre-home-atmosphere::before { animation-duration: calc(32s * var(--component-speed)); }
.pre-home-component.pre-home-intensity-low .pre-home-atmosphere { opacity: .16; }
.pre-home-component.pre-home-intensity-high .pre-home-atmosphere { opacity: .32; }
.pre-home-component.pre-home-has-parallax .pre-home-art { transform: translateY(var(--component-parallax,0px)) scale(1.06); animation: none; }
.pre-home-component.pre-home-has-parallax .pre-home-hero-foreground { transform: translateY(calc(var(--component-parallax,0px) * -.5)); }
.pre-home-component.pre-home-reveal-fade [data-home-reveal] { transform: none !important; }
.pre-home-component.pre-home-reveal-none [data-home-reveal],
.pre-home-component.pre-home-no-animation [data-home-reveal] { opacity: 1 !important; transform: none !important; }
.pre-home-component.pre-home-no-animation *, .pre-home-component.pre-home-no-animation *::before, .pre-home-component.pre-home-no-animation *::after { animation: none !important; transition: none !important; transform: none; }
.pre-home-component.pre-home-no-animation .pre-home-particles { display: none; }
.pre-home-component.pre-home-no-glow *, .pre-home-component.pre-home-no-glow *::before, .pre-home-component.pre-home-no-glow *::after { box-shadow: none !important; text-shadow: none !important; }
.pre-home.is-reduced .pre-home-particles, .pre-home:not(.is-ready) .pre-home-particles { display: none; }
.pre-home.is-reduced .pre-home-component.pre-home-has-parallax .pre-home-art { transform: none; }
.pre-home.is-reduced .pre-home-hero-foreground, .pre-home-no-animation .pre-home-hero-foreground { transform: none !important; }
@keyframes pre-home-embers { to { transform: translate(-40px,-600px); opacity: 0; } }

@media (min-width:1101px) {
	.pre-home-hide-desktop { display: none !important; }
	.pre-home-component.pre-home-desktop-type-compact { --home-title-size: 3rem; --home-heading-size: 1.75rem; }
	.pre-home-component.pre-home-desktop-type-large { --home-title-size: 6.25rem; --home-heading-size: 3.25rem; }
	.pre-home-component.pre-home-desktop-space-compact { --home-space: 36px; }
	.pre-home-component.pre-home-desktop-space-compact :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-desktop-space-regular { --home-space: 64px; }
	.pre-home-component.pre-home-desktop-space-regular :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-desktop-space-roomy { --home-space: 88px; }
	.pre-home-component.pre-home-desktop-space-roomy :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-desktop-align-start { --component-align: start; }
	.pre-home-component.pre-home-desktop-align-start .pre-home-cta { justify-content: flex-start; }
	.pre-home-component.pre-home-desktop-align-center { --component-align: center; }
	.pre-home-component.pre-home-desktop-align-center .pre-home-cta { justify-content: center; }
	.pre-home-component.pre-home-desktop-align-end { --component-align: end; }
	.pre-home-component.pre-home-desktop-align-end .pre-home-cta { justify-content: flex-end; }
	.pre-home-component.pre-home-desktop-position-center :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center; }
	.pre-home-component.pre-home-desktop-position-top :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center top; }
	.pre-home-component.pre-home-desktop-position-bottom :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center bottom; }
	.pre-home-component.pre-home-desktop-position-left :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: left center; }
	.pre-home-component.pre-home-desktop-position-right :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: right center; }
	.pre-home-component.pre-home-desktop-size-cover :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: cover; }
	.pre-home-component.pre-home-desktop-size-contain :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: contain; }
}

@media (min-width:601px) and (max-width:1100px) {
	.pre-home-hide-tablet { display: none !important; }
	.pre-home-component.pre-home-tablet-type-compact { --home-title-size: 2.75rem; --home-heading-size: 1.5rem; }
	.pre-home-component.pre-home-tablet-type-large { --home-title-size: 4.75rem; --home-heading-size: 2.75rem; }
	.pre-home-component.pre-home-tablet-space-compact { --home-space: 36px; }
	.pre-home-component.pre-home-tablet-space-compact :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-tablet-space-regular { --home-space: 64px; }
	.pre-home-component.pre-home-tablet-space-regular :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-tablet-space-roomy { --home-space: 88px; }
	.pre-home-component.pre-home-tablet-space-roomy :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-tablet-align-start { --component-align: start; }
	.pre-home-component.pre-home-tablet-align-start .pre-home-cta { justify-content: flex-start; }
	.pre-home-component.pre-home-tablet-align-center { --component-align: center; }
	.pre-home-component.pre-home-tablet-align-center .pre-home-cta { justify-content: center; }
	.pre-home-component.pre-home-tablet-align-end { --component-align: end; }
	.pre-home-component.pre-home-tablet-align-end .pre-home-cta { justify-content: flex-end; }
	.pre-home-component.pre-home-tablet-position-center :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center; }
	.pre-home-component.pre-home-tablet-position-top :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center top; }
	.pre-home-component.pre-home-tablet-position-bottom :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center bottom; }
	.pre-home-component.pre-home-tablet-position-left :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: left center; }
	.pre-home-component.pre-home-tablet-position-right :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: right center; }
	.pre-home-component.pre-home-tablet-size-cover :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: cover; }
	.pre-home-component.pre-home-tablet-size-contain :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: contain; }
}

@media (max-width:600px) {
	.pre-home-hide-mobile { display: none !important; }
	.pre-home-component.pre-home-mobile-type-compact { --home-title-size: 2rem; --home-heading-size: 1.4rem; }
	.pre-home-component.pre-home-mobile-type-large { --home-title-size: 3.5rem; --home-heading-size: 2.25rem; }
	.pre-home-component.pre-home-mobile-space-compact { --home-space: 24px; }
	.pre-home-component.pre-home-mobile-space-compact :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-mobile-space-regular { --home-space: 40px; }
	.pre-home-component.pre-home-mobile-space-regular :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-mobile-space-roomy { --home-space: 56px; }
	.pre-home-component.pre-home-mobile-space-roomy :is(.pre-home-band,.pre-home-showcase-inner,.pre-home-archive-inner,.pre-home-search-inner,.pre-home-footer-inner,.pre-home-split-copy,.pre-home-stats) { padding-block: var(--home-space); }
	.pre-home-component.pre-home-mobile-align-start { --component-align: start; }
	.pre-home-component.pre-home-mobile-align-start .pre-home-cta { justify-content: flex-start; }
	.pre-home-component.pre-home-mobile-align-center { --component-align: center; }
	.pre-home-component.pre-home-mobile-align-center .pre-home-cta { justify-content: center; }
	.pre-home-component.pre-home-mobile-align-end { --component-align: end; }
	.pre-home-component.pre-home-mobile-align-end .pre-home-cta { justify-content: flex-end; }
	.pre-home-component.pre-home-mobile-position-center :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center; }
	.pre-home-component.pre-home-mobile-position-top :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center top; }
	.pre-home-component.pre-home-mobile-position-bottom :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: center bottom; }
	.pre-home-component.pre-home-mobile-position-left :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: left center; }
	.pre-home-component.pre-home-mobile-position-right :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-position: right center; }
	.pre-home-component.pre-home-mobile-size-cover :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: cover; }
	.pre-home-component.pre-home-mobile-size-contain :is(.pre-home-art img,.pre-home-background-video,.pre-home-content-image img) { object-fit: contain; }
}

@media (max-width:600px) {
	.pre-home-component.pre-home-has-parallax .pre-home-art { transform: none; }
	.pre-home-component .pre-home-particles { display: none; }
	.pre-home-component.pre-home-height-tall > :is(section,.pre-home-spacer) { min-height: min(620px,85svh); }
	.pre-home-component .pre-home-content-image img { max-height: 540px; }
}
@media (prefers-reduced-motion:reduce) {
	.pre-home-component .pre-home-particles { display: none; }
	.pre-home-component.pre-home-has-parallax .pre-home-art { transform: none; }
}

/* Native search filters share the library's dark palette across all sections. */
.pre-home select{color-scheme:dark}
.pre-home select :is(option,optgroup){background-color:#131d20;color:#f4f3ef}
.pre-home select option:checked{background-color:#711d2e;color:#fff}
.pre-home select option:disabled{color:#acb8c6}
