:root{--ink:#182945;--muted:#5f6c80;--paper:#f4eee4;--card:#fffdf8;--line:#d8cdbd;--coral:#e76f51;--navy:#162844;--cream:#fff8ed}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Apple SD Gothic Neo",sans-serif}
main{max-width:1180px;margin:auto;padding:28px 4vw 72px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.eyebrow{margin:0 0 10px;color:var(--coral);font-size:.72rem;font-weight:800;letter-spacing:.14em}
h1{max-width:850px;margin:0;color:var(--navy);font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:1.06;word-break:keep-all}
.lede{max-width:730px;margin:14px 0 0;color:var(--muted);line-height:1.65;word-break:keep-all}
button{font:inherit}
.small-button,.secondary{border:1px solid var(--navy);background:transparent;color:var(--navy);font-weight:800;cursor:pointer;padding:10px 14px}
.small-button{border:0;text-decoration:underline;white-space:nowrap;padding:8px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.badge{padding:7px 10px;border:1px solid var(--line);background:var(--card);font-size:.8rem;font-weight:800}
.badge strong{color:var(--coral);margin-right:5px}
.notice{margin:0 0 25px;border-left:4px solid var(--coral);background:#fff8ee;padding:13px 15px;color:var(--muted);line-height:1.55}
.pages{display:grid;gap:30px}
.page-section{scroll-margin-top:20px}
.page-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin:0 0 10px}
.page-heading h2{margin:0;color:var(--navy);font-size:1.15rem;word-break:keep-all}
.page-heading span{color:var(--muted);font-size:.78rem;white-space:nowrap}
.page{position:relative;width:min(100%,794px);margin:auto;aspect-ratio:210/297;background:#fff;box-shadow:0 12px 28px #392a1b1c;overflow:hidden}
.page-art{position:absolute;inset:0;margin:0}
.page-art img{display:block;width:100%;height:100%;object-fit:cover}
.panel-grid{position:absolute;inset:2.1% 2%;display:grid;gap:1.15%;z-index:1}
.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,1fr);grid-template-areas:"wide wide" "middle-a middle-b" "bottom-a bottom-b"}
.story-grid .panel:nth-child(1){grid-area:wide}.story-grid .panel:nth-child(2){grid-area:middle-a}.story-grid .panel:nth-child(3){grid-area:middle-b}.story-grid .panel:nth-child(4){grid-area:bottom-a}.story-grid .panel:nth-child(5){grid-area:bottom-b}
.matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,1fr)}
.panel{position:relative;min-width:0;min-height:0}
.has-art-override{overflow:hidden;background:#122746}.panel-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}.ray-diagram{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.incident-ray,.reflected-ray{fill:none;stroke-width:1.8;stroke-linecap:round;filter:drop-shadow(0 1px 1px #00142a)}.incident-ray{stroke:#ffd166}.reflected-ray{stroke:#fff}
.cut-number{position:absolute;left:2.5%;top:2.5%;z-index:2;display:grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;background:#fffdf8e8;color:var(--navy);font-size:clamp(.56rem,1.1vw,.78rem);font-weight:900;box-shadow:0 1px 5px #1829452b}
.panel-copy{position:absolute;left:3%;right:3%;bottom:1.9%;z-index:2;padding:5px 7px 4px;border:1px solid #d7cbbbe8;border-radius:4px;background:#fff8edf2;color:var(--ink);font-size:clamp(.55rem,1.15vw,.76rem);line-height:1.35;word-break:keep-all;text-shadow:0 1px #fff}
.panel-copy:empty{display:none}
.panel-copy p{margin:0}.panel-copy p+p{margin-top:2px;color:#44536b;font-size:.92em}
.page-warning{position:absolute;left:5%;right:5%;bottom:.7%;z-index:3;margin:0;padding:.25rem .5rem;border:1px solid #b99d7e;border-radius:4px;background:#fff8ed;color:#182945;text-align:center;font-size:clamp(.5rem,1.2vw,.78rem);font-weight:800;line-height:1.25;word-break:keep-all}
.scale-note{margin:10px 0 0;text-align:center;color:var(--muted);font-size:.75rem}
.review-gate{margin:38px 0 0;border-top:2px solid var(--navy);padding-top:22px}
.review-gate h2{margin:0 0 8px;color:var(--navy);font-size:1.3rem}
.review-gate p{margin:0;color:var(--muted);line-height:1.55}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.primary{border:1px solid var(--coral);background:var(--coral);color:#fff;font-weight:800;cursor:pointer;padding:11px 15px}
.gi-pulse{animation:gi-pulse 2.4s ease-in-out infinite;box-shadow:0 0 0 0 #e76f5166}
@keyframes gi-pulse{0%,100%{box-shadow:0 0 0 0 #e76f5144}50%{box-shadow:0 0 0 5px #e76f5100}}
.contact{margin:38px 0 0;border-top:1px solid var(--line);padding-top:24px}
.contact h2{margin:0 0 5px;color:var(--navy);font-size:1.3rem}.contact>p{margin:0 0 15px;color:var(--muted);font-size:.85rem}
.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.contact-card{display:block;padding:8px;border:1px solid var(--line);background:var(--card);color:var(--navy);text-decoration:none;font-weight:800;font-size:.78rem}
.contact-card img{display:block;width:100%;aspect-ratio:210/297;object-fit:cover;margin-bottom:7px}
.downloads{margin:38px 0 0;border-top:1px solid var(--line);padding-top:24px}.downloads h2{margin:0 0 5px;color:var(--navy);font-size:1.3rem}.downloads>p{margin:0 0 15px;color:var(--muted);font-size:.85rem}.download-group{margin-top:18px}.download-group h3{margin:0 0 8px;color:var(--navy);font-size:.95rem}.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.pack-grid{grid-template-columns:minmax(0,300px)}.download-card{display:flex;min-height:58px;align-items:center;justify-content:center;padding:10px;border:1px solid var(--coral);background:var(--cream);color:var(--navy);font-size:.78rem;font-weight:800;line-height:1.35;text-align:center;text-decoration:none;word-break:keep-all}
footer{display:flex;justify-content:space-between;gap:16px;margin-top:32px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:.76rem}
dialog{max-width:440px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:22px}dialog::backdrop{background:#17243d99}
dialog h2{margin-top:0;color:var(--navy)}
@media(max-width:720px){main{padding:22px 14px 48px}.topbar{display:block}.small-button{padding-left:0;margin-top:10px}.page-heading{display:block}.page-heading span{display:block;margin-top:4px}.panel-copy{font-size:clamp(.52rem,2.35vw,.72rem);line-height:1.3;padding:4px 5px}.cut-number{font-size:.58rem}.contact-grid,.download-grid,.pack-grid{grid-template-columns:1fr}.download-card{min-height:62px;white-space:normal;overflow-wrap:anywhere}footer{display:block}footer span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gi-pulse{animation:none}}
@media print{body{background:#fff}main{max-width:none;padding:0}.topbar,.badges,.notice,.review-gate,.contact,.downloads,footer{display:none}.pages{display:block}.page-section{break-after:page}.page-heading{display:none}.page{width:210mm;height:297mm;box-shadow:none}.panel-copy{font-size:9pt}.page-warning{font-size:8pt}.scale-note{display:none}}
