:root{--yellow:#ffe500;--ink:#111;--muted:#656565}*{box-sizing:border-box}body{margin:0;background:#f4f3ef;color:var(--ink);font-family:Arial,Helvetica,sans-serif}header{background:#111;color:white;display:flex;align-items:center;gap:24px;padding:24px 5vw}.brand{font-size:30px;font-weight:900;text-decoration:none;color:white;letter-spacing:-1.5px}.brand span{color:var(--yellow)}.portal-label{font-size:11px;letter-spacing:2px}header button{margin-left:auto;color:white;border-color:#555;background:none}main{max-width:1380px;margin:auto;padding:64px 5vw}h1{font-size:clamp(42px,6.5vw,88px);letter-spacing:-4px;line-height:1.04;margin:16px 0 26px;font-weight:900}mark{background:var(--yellow);padding:0 4px}h2{font-size:28px;letter-spacing:-1px}h3{font-size:23px;letter-spacing:-.6px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px}.intro{font-size:20px;line-height:1.6;max-width:630px;color:#444}.login-card{background:white;max-width:540px;padding:30px;margin-top:36px;border:1px solid #ddd;box-shadow:6px 6px 0 #111}.login-card h2{margin-top:0}label{display:block;font-size:14px;font-weight:bold;margin:20px 0 10px}input,select{font:inherit;padding:14px;border:1px solid #aaa;background:white;border-radius:0;min-width:0}input{width:100%}button{font:inherit;font-weight:bold;cursor:pointer;padding:14px 20px;border:1px solid #111;border-radius:0}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--yellow);color:#111}.login-card .primary{width:100%;display:flex;justify-content:space-between;margin-top:16px}.fine{font-size:12px;color:var(--muted);line-height:1.5}#message{font-weight:bold;margin-top:24px;line-height:1.5}.campaign-list{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.campaign-list button{background:white}.campaign-list button.selected{background:#111;color:var(--yellow)}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:2px solid #111;margin-top:40px;padding-top:20px}.detail-title h2{font-size:42px;margin:10px 0}.badge{font-size:13px;background:#e7e7de;padding:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 36px}.stats article{background:white;padding:24px;border:1px solid #ddd}.stats strong{display:block;font-size:36px;letter-spacing:-1px}.stats span{display:block;margin-top:8px;color:var(--muted);font-size:14px}.workspace{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}.map{height:350px;background:#e4e4db;display:grid;place-items:center;border:1px solid #ccc}.location-row{padding:14px 0;border-bottom:1px solid #ddd}.photo-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.photo-heading select{font-size:13px;padding:10px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery button{padding:0;background:white;border:1px solid #ddd;text-align:left}.gallery img{width:100%;height:200px;object-fit:cover;display:block}.gallery span{display:block;font-size:12px;padding:12px;overflow-wrap:anywhere}.empty{padding:28px;background:white;line-height:1.6;color:var(--muted);grid-column:1/-1}.invite-card{background:#111;color:white;padding:30px;margin-top:36px}.inline{display:flex;gap:12px}.invite-card input{max-width:600px}.invitation{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #444}.invitation button{background:none;color:white;border-color:#666;font-size:12px}.invitation span{overflow-wrap:anywhere}footer{padding:30px 5vw;border-top:1px solid #ccc;font-size:16px;font-weight:bold;line-height:1.8}footer a{color:inherit}dialog{padding:0;border:0;max-width:95vw;background:#111}dialog::backdrop{background:#000c}dialog img{max-width:90vw;max-height:85vh;display:block}#close-photo{position:absolute;top:8px;right:8px;background:var(--yellow)}[hidden]{display:none!important}:focus-visible{outline:3px solid #e49e00;outline-offset:4px}@media(max-width:760px){header{padding:20px}.portal-label{font-size:9px}main{padding:36px 20px}h1{letter-spacing:-2px}.intro{font-size:17px}.workspace{grid-template-columns:1fr}.stats{gap:8px}.stats article{padding:14px 10px}.stats strong{font-size:23px}.stats span{font-size:11px}.detail-title{align-items:flex-start;flex-direction:column}.inline{flex-direction:column}.gallery img{height:160px}.login-card{padding:24px}.invitation{gap:10px}footer{font-size:14px}}

#lightbox{width:94vw;max-width:1200px;color:white;padding:48px 12px 12px}#lightbox .slide-stage{height:70vh;display:flex;align-items:center;justify-content:center}#lightbox img{max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-y}#lightbox .slide-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px}#lightbox .slide-controls button{background:var(--yellow);color:#111;min-width:48px}#slide-caption{text-align:center;overflow-wrap:anywhere;margin:12px 0 0;font-size:14px}#close-photo{z-index:1}@media(max-width:760px){#lightbox .slide-stage{height:60vh}#lightbox .slide-controls{gap:8px}#lightbox .slide-controls button{padding:12px}}

.media-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.media-videos video{width:100%;max-height:500px;background:#111}.media-videos p{overflow-wrap:anywhere}#pro-section,#video-section{margin-top:36px}

.map-photo-preview{width:210px;color:#111}.map-photo-preview strong{display:block;margin-bottom:10px}.map-photo-preview button{width:100%;padding:0;background:white;border:0}.map-photo-preview img{width:100%;height:145px;object-fit:cover;display:block}.map-photo-preview span{display:block;padding:10px;background:var(--yellow)}
