*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080909;color:#f6f4eb;font-family:Tahoma,Arial,sans-serif;--accent:#d2ed8c;--panel:#141714;--muted:#9b9e96}a{color:inherit;text-decoration:none}header,main,footer{position:relative;z-index:1}header{max-width:1400px;margin:auto;min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 5%;border-bottom:1px solid #ffffff24}.brand{font-size:28px;font-weight:bold}.brand span{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:8px}nav{display:flex;gap:8px}nav a{font-size:13px;padding:13px 18px;border-radius:5px;color:#a5aaa1}nav a[aria-current=page]{background:var(--accent);color:#101710}nav a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.edition{font-size:11px;color:var(--muted)}.edition b{color:var(--accent);font-size:23px;margin-right:15px}main{max-width:1260px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;padding:70px 0 65px}.eyebrow{font-size:11px;color:var(--accent);letter-spacing:1px;display:flex;align-items:center;gap:10px}.eyebrow>span:first-child:empty{height:6px;width:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(38px,4.3vw,66px);line-height:1.35;letter-spacing:-2px;margin:24px 0 18px;max-width:650px}.subtitle{font-size:19px;color:var(--accent);line-height:1.9}.description{font-size:14px;color:#b4b8b0;line-height:2;max-width:490px}.cta{display:inline-flex;gap:55px;align-items:center;border-bottom:1px solid var(--accent);padding:18px 0 12px;margin-top:20px;color:var(--accent);font-size:14px}.cta span{font-size:24px}.portrait{padding:12px;border:1px solid #ffffff28;transform:rotate(-3deg)}.portrait-inner{background:linear-gradient(145deg,#29312a,#121512);height:390px;position:relative;overflow:hidden}.portrait svg{height:100%;width:100%;fill:#87967a;opacity:.19}.portrait-label{position:absolute;bottom:26px;right:26px}.portrait-label span{font-size:35px;display:block;font-weight:bold}.portrait-label small{color:#b8c2af;font-size:11px;display:block;margin-top:8px}.corner{position:absolute;top:20px;left:20px;font-size:9px;letter-spacing:2px;color:#bbc5af}#gallery{border-top:1px solid #ffffff24;padding-top:35px;scroll-margin-top:25px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}h2{font-size:28px;margin:13px 0 0}h2 span{font-size:12px;color:var(--muted);font-weight:normal}.gallery-note{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{margin:0}.image-box{height:250px;background:var(--panel);border:1px solid #ffffff18;position:relative;overflow:hidden;display:grid;place-items:center}.placeholder{text-align:center;color:#7e8b73}.placeholder svg{width:60px;height:60px;fill:none;stroke:currentColor;stroke-width:1}.placeholder p{font-size:11px}.image-box img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:14px;right:14px;color:#c8d1bf;font-size:10px}.upload{position:absolute;bottom:12px;left:12px;cursor:pointer;font-family:inherit;background:#080c0dcc;color:#e9eee3;border:1px solid #ffffff45;padding:9px 12px;font-size:11px;border-radius:3px}.upload:hover{background:var(--accent);color:#111}figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:12px}figcaption span{color:var(--muted);font-size:10px}.hint,#status{font-size:11px;color:var(--muted);line-height:1.8}.next{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff24;margin-top:45px;padding:32px 0}.next span{font-size:12px;color:var(--muted)}.next a{font-size:19px;color:var(--accent)}footer{border-top:1px solid #ffffff24;padding:25px 5%;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.flag{display:none}body[data-page=king]{--accent:#f6ddd2;--panel:#10241de6;background:#06140f}body[data-page=king] .flag{display:grid;place-items:center;position:fixed;inset:0;background:linear-gradient(#ce1126 0 33.33%,#fff 33.33% 66.66%,#000 66.66%);opacity:.38}.flag span{color:#007a3d;font-size:clamp(80px,17vw,230px);letter-spacing:25px;white-space:nowrap}body[data-page=king] .hero,body[data-page=king] #gallery{background:#101010b5;padding-left:25px;padding-right:25px}body[data-page=blue]{background:#061c42;--accent:#66bdff;--panel:#0a2c59;--muted:#8da9cd}body[data-page=blue] header{background:#082951}body[data-page=blue] .portrait-inner{background:linear-gradient(135deg,#105496,#071c37)}body[data-page=blue] .portrait svg{fill:#6bbaff}body[data-page=blue] .placeholder{color:#80b2e1}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:760px){header{flex-wrap:wrap;padding:20px 6%}.edition{display:none}nav{width:100%;overflow:auto}nav a{white-space:nowrap;font-size:11px;padding:12px}.hero{grid-template-columns:1fr;gap:40px;padding:40px 0}.portrait{max-width:400px;width:90%;margin:0 auto}.portrait-inner{height:300px}.grid{grid-template-columns:1fr}.image-box{height:290px}h1{font-size:42px}.next{gap:20px}.next a{font-size:16px}footer{flex-direction:column;line-height:1.7}.gallery-note{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact blue gallery layout on page three. */
body[data-page=blue]{background:#070b57;color:#fff;--accent:#fff;--panel:#11176b;--muted:#b4b9ed;font-family:Arial,Tahoma,sans-serif}
body[data-page=blue] header{max-width:1200px;padding:14px 18px 0;min-height:0;background:#070b57;display:flex;flex-wrap:wrap;gap:16px;border-bottom:3px solid #3c48cd}
body[data-page=blue] .brand{font-size:42px;font-weight:900;color:#fff;letter-spacing:-2px;text-shadow:2px 2px #394ce2}
body[data-page=blue] .brand span{font-size:10px;letter-spacing:0;text-shadow:none;color:#b4b9ed}
body[data-page=blue] .edition{margin-right:auto;color:#b4b9ed}
body[data-page=blue] header nav{order:3;width:100%;gap:3px;background:#151e83;padding:5px}
body[data-page=blue] nav a{border-radius:0;background:#2638a5;color:#fff;padding:10px 22px;font-weight:bold;font-size:14px;border:1px solid #5262c7}
body[data-page=blue] nav a[aria-current=page]{background:#e5e7fa;color:#111750;border-color:#fff}
body[data-page=blue] main{max-width:1200px;padding:0 18px}
body[data-page=blue] .hero{display:block;padding:22px 0 18px}
body[data-page=blue] .hero .eyebrow,body[data-page=blue] .portrait,body[data-page=blue] .cta{display:none}
body[data-page=blue] h1{font-size:30px;letter-spacing:0;margin:0 0 9px;line-height:1.4;max-width:none}
body[data-page=blue] .subtitle{font-size:16px;font-weight:bold;margin:6px 0;color:#c4ccff}
body[data-page=blue] .description{max-width:900px;font-size:14px;line-height:1.8;color:#d1d5f6;margin:6px 0}
body[data-page=blue] #gallery{padding-top:0;border:0}
body[data-page=blue] .section-head{background:#2638a5;border-top:1px solid #7180ed;border-bottom:1px solid #7180ed;padding:9px 12px;margin-bottom:15px}
body[data-page=blue] .section-head .eyebrow{display:none}
body[data-page=blue] h2{font-size:18px;margin:0}
body[data-page=blue] .gallery-note{color:#e3e6ff}
body[data-page=blue] .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body[data-page=blue] .image-box{height:auto;aspect-ratio:16/10;border:1px solid #4c59bd;background:#10166a}
body[data-page=blue] .placeholder{color:#9da9ee}
body[data-page=blue] .badge{background:#050735cc;padding:3px 5px;top:6px;right:6px;color:#fff}
body[data-page=blue] .upload{border-radius:0;background:#283ba8;border:1px solid #8190ef;color:#fff;bottom:8px;left:8px}
body[data-page=blue] .upload:hover{background:#4059d4}
body[data-page=blue] figcaption{margin-top:8px;display:block;color:#b8caff;font-size:15px;font-weight:bold}
body[data-page=blue] figcaption span{display:block;margin-top:5px;font-size:11px;font-weight:normal}
body[data-page=blue] .next{margin-top:25px;padding:18px 0;border-color:#3c48a1}
body[data-page=blue] .next a{font-size:16px;color:#bacbff}
body[data-page=blue] footer{max-width:1200px;margin:20px auto 0;padding:18px;border-color:#3c48a1}
@media(max-width:760px){body[data-page=blue] header{gap:12px}body[data-page=blue] .brand{font-size:34px}body[data-page=blue] nav a{font-size:11px;padding:10px 9px}body[data-page=blue] .grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page=blue] h1{font-size:26px}body[data-page=blue] .upload{font-size:10px;padding:6px}body[data-page=blue] .placeholder svg{width:36px;height:36px}body[data-page=blue] .placeholder p{margin:4px 0 30px}}
@media(max-width:400px){body[data-page=blue] .grid{grid-template-columns:1fr}}

.video-section{margin-top:40px}.video-card video{width:100%;aspect-ratio:16/10;background:#000;object-fit:contain}.video-placeholder{aspect-ratio:16/10;display:grid;place-items:center;background:var(--panel);border:1px solid #ffffff24;color:var(--muted);font-size:14px}.video-card [hidden],.placeholder[hidden]{display:none!important}

/* User supplied hero photographs; preserve the full photograph. */
.portrait{transform:none;padding:8px}.portrait-inner{height:auto;min-height:0;background:#111}.hero-photo{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}.image-box img{object-fit:contain;background:#080909}.video-section[hidden]{display:none!important}

.description{white-space:pre-line}

.hero-photo,#photos .image-box img{cursor:zoom-in}
.hero-photo:focus-visible,#photos .image-box img:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.photo-viewer{position:fixed;inset:0;width:96vw;max-width:1400px;height:94dvh;max-height:94dvh;margin:auto;padding:16px;border:1px solid #555;background:#0a0a0a;color:white;border-radius:8px;overflow:hidden}
.photo-viewer::backdrop{background:#000e}
.viewer-toolbar{height:44px;display:flex;align-items:center;justify-content:space-between;direction:ltr}
.photo-viewer button{background:#292929;color:white;border:1px solid #666;border-radius:5px;font:28px Arial;min-width:44px;min-height:44px;cursor:pointer}
.photo-viewer button:hover{background:#444}.photo-viewer button:disabled{opacity:.3;cursor:default}
.viewer-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center;height:calc(100% - 88px);direction:ltr}
.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain}
.viewer-caption{text-align:center;font-size:13px;margin:12px 0}
@media(max-width:600px){.photo-viewer{padding:8px;width:100vw;height:96dvh;max-height:96dvh}.viewer-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:3px}.viewer-stage button{min-width:34px;font-size:20px}}
