/* Hallmark — Prison Planet / Survival Cycle — prison-orbit / topdown-bunker-grid */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@600;700;800&family=Noto+Sans+SC:wght@400;500;700;800&display=swap');
:root{--bg:#0c1118;--surface:#131d28;--ink:#eff6f5;--muted:#a7b5b5;--line:rgba(239,246,245,.18);--accent:#6ee7d2;--hot:#ff715f;--blue:#72a9ff;--display:Manrope,'Noto Sans SC',sans-serif;--body:'Noto Sans SC',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.75}body[data-theme="poolside-shift"]{--bg:#f4efe1;--surface:#fff9ee;--ink:#172a33;--muted:#617071;--line:rgba(23,42,51,.2);--accent:#f0764c;--hot:#f2b94b;--blue:#4b9ca0}body[data-theme="cyan-research-log"]{--bg:#07111e;--surface:#0c2133;--ink:#d7f5ff;--muted:#7fa5b7;--line:rgba(150,220,255,.2);--accent:#41e6ff;--hot:#e57bff;--blue:#4f86ff}body[data-theme="prison-orbit"]{--bg:#101010;--surface:#1b1b1b;--ink:#ededed;--muted:#969696;--line:rgba(255,255,255,.2);--accent:#e8df55;--hot:#e4524c;--blue:#7893a3}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.topbar{width:min(1180px,calc(100% - 42px));margin:22px auto 0;display:flex;align-items:center;gap:22px;position:relative;z-index:4}.mark{display:flex;align-items:center;gap:10px;font:800 14px var(--display);letter-spacing:.02em}.signal{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);font:11px var(--mono)}nav{display:flex;justify-content:center;gap:3px;flex:1}nav a{padding:8px 13px;color:var(--muted);font-size:13px;border-bottom:2px solid transparent}nav a.is-current,nav a:hover{color:var(--ink);border-color:var(--accent)}.button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);font-weight:800;font-size:13px;transition:.2s ease}.primary{background:var(--accent);color:#07111e;border-color:var(--accent)}.quiet:hover{border-color:var(--accent);color:var(--accent)}.button:hover{transform:translateY(-2px)}.nav-toggle{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);padding:7px 10px}main{width:min(1180px,calc(100% - 42px));margin:auto}.eyebrow{font:500 11px var(--mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin:0 0 18px}h1,h2,h3{font-family:var(--display);line-height:1.06;letter-spacing:-.04em;margin:0 0 20px}h1{font-size:clamp(46px,7vw,90px)}h1 em{font-size:.42em;display:block;color:var(--accent);font-style:normal;letter-spacing:.02em;margin-top:13px}h2{font-size:clamp(29px,4.3vw,58px)}h3{font-size:20px}p{color:var(--muted);margin:0 0 18px}.hero{min-height:720px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:7vw;padding:80px 0 100px}.hero-copy{max-width:625px}.lede{font-size:18px;max-width:580px;margin:28px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.hero-tags{display:flex;gap:15px;flex-wrap:wrap;font:10px var(--mono);color:var(--muted)}.hero-art{position:relative;background:var(--surface);border:1px solid var(--line);padding:13px;transform:rotate(-1.3deg);box-shadow:14px 14px 0 color-mix(in srgb,var(--accent) 22%,transparent);overflow:hidden}.hero-art img{width:100%;position:relative;z-index:1}.generated{position:absolute;inset:0;background:url('../images/laststandapocalypse-hallmark-atmosphere.png') center/cover;opacity:.24;mix-blend-mode:screen}.stamp{position:absolute;right:16px;top:16px;background:var(--hot);color:#fff;padding:7px 9px;font:10px var(--mono);font-style:normal;z-index:2}.briefing{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:110px 0}.briefing>div{max-width:650px}.briefing dl{margin:0;border-top:1px solid var(--line)}.briefing dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}dt{font:11px var(--mono);color:var(--muted)}dd{margin:0;font-weight:700;text-align:right}.loop{padding:100px 0 125px}.loop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}.loop-grid article{min-height:220px;border:1px solid var(--line);padding:24px;background:var(--surface)}.loop-grid span,.feature-grid b{font:11px var(--mono);color:var(--accent)}.features{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;padding:100px 0 125px;background:var(--surface)}.features>div{width:min(1180px,calc(100% - 42px));margin:0 auto}.features>.feature-grid{width:auto;margin:0 0 0 -1vw;display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature-grid article{border:1px solid var(--line);padding:24px;min-height:190px}.feature-grid p{font-size:14px}.reel{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;padding:125px 0}.reel-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:end}.reel-grid img{padding:8px;border:1px solid var(--line);background:var(--surface);width:100%;object-fit:cover}.reel-grid img:first-child{transform:rotate(1.5deg)}.reel-grid img:last-child{transform:rotate(-2deg);margin-bottom:40px}.text-link{color:var(--accent);font-weight:800;display:inline-block;margin-top:10px}.download-panel{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:60px 8vw;background:var(--accent);color:#06111a;margin-bottom:110px}.download-panel h2,.download-panel p,.download-panel .eyebrow{color:#06111a}.download-panel .primary{background:#06111a;color:var(--accent);border-color:#06111a}.compact{margin-bottom:110px}.faq{padding:0 0 110px}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:34px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{font-weight:800;cursor:pointer}.faq details p{font-size:14px;margin-top:12px}.close{border-top:1px solid var(--line);padding:90px 0 145px}.page-head{padding:115px 0 65px;max-width:820px}.page-head h1{font-size:clamp(46px,7vw,82px)}.gallery-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:110px}.gallery-item{border:1px solid var(--line);background:var(--surface);padding:8px;cursor:pointer}.gallery-item:nth-child(2){transform:rotate(-1deg)}.gallery-item:nth-child(4){transform:rotate(1.2deg)}.gallery-item img{width:100%;aspect-ratio:16/9;object-fit:cover}.download-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;padding-bottom:105px}.download-card{padding:36px;background:var(--surface);border:1px solid var(--line)}.download-card .text-link{display:block;margin-top:22px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-top:1px solid var(--line);padding:16px 10px}th{font:11px var(--mono);color:var(--muted);width:34%}.steps{padding-bottom:125px}.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;padding:0;margin-top:35px;counter-reset:step}.steps li{border-top:2px solid var(--accent);padding:18px;counter-increment:step}.steps li:before{content:'0' counter(step);display:block;font:11px var(--mono);color:var(--accent);margin-bottom:25px}.steps b,.steps span{display:block}.steps span{font-size:14px;color:var(--muted);margin-top:8px}.guide-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding-bottom:100px}.guide-intro>div{max-width:650px}.guide-intro ol{margin:0;padding:24px 24px 24px 50px;background:var(--surface);border:1px solid var(--line)}.article-index{border-top:1px solid var(--line);padding:80px 0 120px}.article-index>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;margin-top:24px}.article-index a{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}.article-index a:hover{color:var(--accent)}.article-index a span{color:var(--accent);font:10px var(--mono);margin-right:12px}.article-page{max-width:810px;padding:105px 0 40px}.article-page h1{font-size:clamp(42px,6vw,76px)}.article-lede{font-size:19px;color:var(--ink);margin:30px 0 48px}.article-copy{font-size:16px}.article-copy p{color:var(--ink);opacity:.84}.article-copy ol{padding:20px 20px 20px 42px;background:var(--surface);border-left:3px solid var(--accent)}.callout{display:grid;gap:8px;padding:23px;margin:35px 0;background:var(--surface);border:1px solid var(--line)}.callout a{color:var(--accent);font-weight:800}.article-next{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:25px 0 105px}.article-next span{width:100%;font:10px var(--mono);color:var(--accent)}.article-next a:hover{color:var(--accent)}.footer{border-top:1px solid var(--line);padding:70px max(21px,calc((100vw - 1180px)/2)) 24px;display:grid;grid-template-columns:1.3fr .7fr;gap:45px;background:var(--surface)}.footer h2{font-size:34px;max-width:620px}.footer-nav{display:grid;gap:8px;align-content:start;color:var(--muted);font-size:14px}.footer-nav a:hover{color:var(--accent)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font:10px var(--mono);color:var(--muted)}.lightbox{border:0;padding:0;background:transparent;max-width:min(92vw,1000px)}.lightbox::backdrop{background:rgba(0,0,0,.86)}.lightbox img{max-height:80vh;width:auto}.lightbox button{position:absolute;right:-42px;top:-16px;background:#fff;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer}
body[data-theme="immersive-room"] .hero{grid-template-columns:.9fr 1.1fr}body[data-theme="immersive-room"] .hero-art{box-shadow:14px 14px 0 rgba(110,231,210,.24)}body[data-theme="poolside-shift"] .hero-art{transform:rotate(1.6deg);box-shadow:14px 14px 0 rgba(240,118,76,.18)}body[data-theme="poolside-shift"] .features{background:#dcece6}body[data-theme="cyan-research-log"] .hero-art{transform:rotate(0);box-shadow:0 0 50px rgba(65,230,255,.2)}body[data-theme="cyan-research-log"] .loop-grid article{background:linear-gradient(135deg,#0c2133,#081725)}body[data-theme="prison-orbit"] .hero-art{transform:rotate(0);box-shadow:14px 14px 0 rgba(228,82,76,.22)}body[data-theme="prison-orbit"] .loop-grid{grid-template-columns:1fr 1fr 1fr}body[data-theme="prison-orbit"] .loop-grid article{min-height:250px;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 7px,#222 8px,#222 9px)}
@media(max-width:760px){.topbar{width:calc(100% - 28px)}nav,.topbar>.primary{display:none}.nav-toggle{display:block;margin-left:auto}.topbar nav.is-open{display:flex;position:absolute;top:52px;left:0;right:0;background:var(--bg);border:1px solid var(--line);padding:10px;flex-direction:column}main{width:calc(100% - 28px)}.hero{display:block;min-height:0;padding:75px 0}.hero-art{margin-top:45px}.briefing,.features,.reel,.download-grid,.guide-intro{grid-template-columns:1fr;gap:40px;padding:80px 0}.features>.feature-grid{width:100%;margin:0;grid-template-columns:1fr}.loop{padding:80px 0 100px}.loop-grid,.faq-grid,.gallery-board,.steps ol,.article-index>div{grid-template-columns:1fr}.download-panel{display:block;padding:45px 25px;margin-bottom:75px}.download-panel .button{margin-top:18px}.page-head{padding:75px 0 45px}.article-index{padding:65px 0 85px}.article-page{padding:75px 0 35px}.footer{grid-template-columns:1fr;padding:55px 14px 20px;gap:30px}.footer-bottom{display:grid}.lightbox button{right:0;top:-42px}}

/* Preserve each source image's native aspect ratio; cards crop only through their own frame. */
img{height:auto!important;aspect-ratio:auto!important}
