*{box-sizing:border-box}
body{margin:0;-webkit-font-smoothing:antialiased;background:#2b2b2b;color:#111;font:15px/1.45 "Helvetica Neue",Arial,sans-serif}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
a:focus-visible{outline:3px solid #111;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 12px;font-weight:700}
.skip:focus{left:12px;top:12px}

.box{max-width:760px;margin:24px auto;background:#efefef;border:1px solid #000;padding:18px}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;background:#000;color:#fff;padding:10px 14px;margin:-18px -18px 18px;text-transform:uppercase;letter-spacing:.06em}
.top a{text-decoration:none}
.top a:focus-visible{outline-color:#fff}
.brand{font-weight:700}
.top nav{display:flex;flex-wrap:wrap;gap:0 14px}
.top nav a{padding:4px 0}
.top nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}

h1{font-size:clamp(28px,6vw,44px);line-height:1.05;margin:0 0 6px;text-transform:uppercase;letter-spacing:-.02em}
.sub{margin:0 0 18px}
.title{border:2px solid #000;padding:14px;margin-bottom:18px;background:#fff}
.title h2{margin:0 0 6px;font-size:24px;line-height:1.1;text-transform:uppercase}
.title p{margin:0 0 10px;max-width:62ch}
.art{margin:0 0 12px;border:1px solid #000}
.shots{display:grid;gap:8px;margin:12px 0}
.shots img{width:100%;border:1px solid #000;image-rendering:pixelated}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
figure{margin:0}
figure img{width:100%;border:1px solid #000}
.thumb{display:block}
figure img.px{image-rendering:pixelated}
figure img.alpha{background:conic-gradient(#b4c0c4 25%,#c9d3d6 0 50%,#b4c0c4 0 75%,#c9d3d6 0) 0 0/16px 16px}
figcaption{font-size:13px;margin-top:4px}
.file{display:block;font-size:12px;color:#444;overflow-wrap:anywhere}

.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:1px solid #000;border-left:1px solid #000;font-size:13px;margin:0}
.spec div{min-width:0;padding:6px 8px;border-right:1px solid #000;border-bottom:1px solid #000}
.spec dt{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.08em;color:#4a4a4a}
.spec dd{margin:0;overflow-wrap:anywhere}

.rules{margin:0}
.rules div{padding:10px 0;border-top:1px solid #000}
.rules div:first-child{border-top:0;padding-top:0}
.rules dt{font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.rules dd{margin:2px 0 0;max-width:62ch}

.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.btn{display:inline-block;background:#000;color:#fff;padding:8px 14px;text-decoration:none;font-weight:700;text-transform:uppercase;font-size:12px}
.btn:focus-visible{outline:3px solid #000;outline-offset:3px}
button.btn{border:0;font-family:inherit;line-height:inherit;cursor:pointer}
.notice{width:min(320px,calc(100vw - 32px));margin:auto;padding:16px;border:2px solid #000;background:#fff;color:#111}
.notice::backdrop{background:rgba(0,0,0,.6)}
.notice p{margin:0 0 12px;font-weight:700}
.legal{font-size:11px;color:#444;border-top:1px solid #000;padding-top:8px;margin:8px 0 0}
.spec+.legal{margin-top:8px}
.foot{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;margin-top:14px}

@media(max-width:560px){
 .box{margin:0;border-width:0 0 1px}
}
@media(max-width:480px){
 .gallery{grid-template-columns:1fr}
}
