:root{--gold:#ae9260;--gold-hover:#9a7f4f;--gold-deep:#7d6535;--gold-tint:#f3eee2;--ink:#1a1a1a}*{box-sizing:border-box;margin:0;padding:0}#__next,body,html{height:100%}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#f7f7f7}.site-shell{display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh}.brand-bar{flex:0 0 auto;justify-content:space-between;gap:12px 24px;padding:calc(8px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) 8px calc(20px + env(safe-area-inset-left, 0px));background:#fff;border-bottom:3px solid var(--gold);position:relative;z-index:20}.brand-bar,.brand-logos{display:flex;align-items:center}.brand-logos{gap:16px;min-width:0;text-decoration:none}.brand-logos img{display:block;width:auto}.logo-homefront{height:40px}.logo-southern{height:38px}.logo-divider{width:1px;height:30px;background:#d9d2c3}.brand-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px 10px;font-size:13px;font-weight:600;color:var(--ink)}.brand-links a{color:var(--gold-deep);text-decoration:none}.brand-links a:hover{text-decoration:underline}.brand-links .dot{color:#bbb}.touch-only{display:none}@media (hover:none) and (pointer:coarse){.touch-only{display:inline}.no-touch{display:none}}@media (max-width:640px){.brand-bar{flex-direction:column;align-items:stretch;gap:6px;padding:calc(10px + env(safe-area-inset-top, 0px)) calc(12px + env(safe-area-inset-right, 0px)) 8px calc(12px + env(safe-area-inset-left, 0px))}.brand-logos{justify-content:center;gap:14px}.logo-homefront{height:38px}.logo-southern{height:36px}.logo-divider{height:28px}.brand-links{justify-content:center;font-size:12px;gap:4px 16px;padding-top:6px;border-top:1px solid #eee}.brand-links .dot{display:none}}.map-page{position:relative;width:100%;flex:1 1;min-height:0}.map-page.locked .mapboxgl-canvas-container{filter:blur(6px);pointer-events:none}.gate-overlay{position:absolute;inset:0;background:hsla(0,0%,8%,.55);display:flex;justify-content:center;z-index:10;padding:16px;overflow-y:auto}.gate-card{background:#fff;border-radius:14px;border-top:4px solid var(--gold);padding:26px 32px 22px;width:100%;max-width:420px;margin:auto;box-shadow:0 12px 40px rgba(0,0,0,.25)}.gate-brand{text-align:center;margin-bottom:18px}.gate-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);margin-bottom:10px}.gate-names{font-family:Dancing Script,cursive;font-size:24px;font-weight:600;line-height:1.15}.gate-firm{margin-top:8px;font-size:10.5px;letter-spacing:.16em;line-height:1.7;text-transform:uppercase;color:#444}.gate-card h1{font-size:19px;margin-bottom:6px;text-align:center}.gate-card p.sub{color:#666;font-size:13.5px;margin-bottom:20px;text-align:center}.gate-card label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;margin-top:14px}.gate-card input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px}.gate-card input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}.gate-card button{width:100%;margin-top:22px;padding:12px;border:none;border-radius:8px;background:var(--gold);color:var(--ink);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}.gate-card button:hover:not(:disabled){background:var(--gold-hover)}.gate-card button:disabled{opacity:.6;cursor:default}.gate-card .error{color:#c0392b;font-size:13px;margin-top:10px}.gate-card .toggle-link{display:inline-block;margin-top:16px;font-size:13px;color:var(--gold-deep);cursor:pointer;text-decoration:underline;background:none;border:none;padding:0}.gate-card .toggle-link:hover:not(:disabled){background:none;color:var(--ink)}.gate-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin-top:20px;padding-top:14px;border-top:1px solid #eee;font-size:12px}.gate-contact a{color:var(--gold-deep);text-decoration:none;font-weight:500}.gate-contact a:hover{text-decoration:underline}@media (max-width:480px){.gate-card{padding:20px 18px 16px}.gate-photo{width:72px;height:72px}.gate-names{font-size:21px}}.video-popup{max-width:280px}.video-popup .thumb{width:100%;border-radius:6px;margin-bottom:8px}.video-popup h3{font-size:14px;margin-bottom:4px}.video-popup a{font-size:13px;font-weight:600;color:var(--gold-deep)}.video-popup-list{max-width:280px;max-height:320px;overflow-y:auto}.video-popup-list .count{font-size:12px;color:#666;margin:0 0 8px}.video-popup-item{display:flex;gap:8px;padding:8px 0;border-top:1px solid #eee}.video-popup-item:first-child{border-top:none;padding-top:0}.video-popup-item .thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;flex-shrink:0}.video-popup-item .meta{min-width:0}.video-popup-item .meta h4{font-size:13px;margin:0 0 4px}.video-popup-item .meta a{font-size:12px;font-weight:600;color:var(--gold-deep)}.video-popup .no-video,.video-popup-item .meta .no-video{font-size:12px;color:#999;font-style:italic}.admin-page{display:flex;width:100vw;height:100vh}.admin-sidebar{width:320px;flex-shrink:0;padding:24px 20px;overflow-y:auto;background:#fff;border-right:1px solid #eee}.admin-sidebar h1{font-size:18px;margin-bottom:6px}.admin-sidebar p.sub{color:#666;font-size:13px;margin-bottom:16px}.admin-sidebar p.hint{color:var(--gold-deep);font-size:13px;margin:10px 0}.admin-sidebar>button{width:100%;padding:10px 12px;border:1px solid var(--gold-deep);border-radius:8px;background:#fff;color:var(--gold-deep);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.admin-sidebar>button.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.admin-new-pin-form{margin-top:14px;padding:12px;background:#f7f7f7;border-radius:8px}.admin-new-pin-form label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.admin-new-pin-form input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:10px}.admin-new-pin-form button{width:100%;padding:9px;border:none;border-radius:6px;background:var(--gold);color:var(--ink);font-family:inherit;font-weight:600;cursor:pointer}.admin-map{flex:1 1}.admin-pin-list{list-style:none;margin-top:18px}.admin-pin-list li{padding:10px 0;border-top:1px solid #eee}.pin-row{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:6px}.pin-row .caption{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.03em;background:var(--gold-tint);color:var(--gold-deep);padding:2px 6px;border-radius:10px;flex-shrink:0}.pin-actions{display:flex;gap:8px}.pin-actions button{font-family:inherit;font-size:12px;color:var(--gold-deep);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.admin-pin-marker{width:20px;height:20px;border-radius:50%;background:var(--gold);border:2px solid var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.4);cursor:-webkit-grab;cursor:grab}.admin-pin-marker.manual{background:#999}.admin-pin-marker.overridden{background:#2ecc71}