/* =====================================================================
   v2 additions: access gate, presenter, PDF download, interactive plan
   ===================================================================== */
/* ---------- gate ---------- */
.gate{display:none;position:fixed;inset:0;z-index:3000;background:var(--green-900);color:var(--beige-50);align-items:center;justify-content:center;padding:24px;overflow:auto}
html.locked .gate{display:flex}
html.locked body{overflow:hidden}
html.locked .curtain,html.locked .progress{display:none}
.gate-bg{position:absolute;inset:0;background:url(../images/scenes/green-texture.jpg) center/cover;opacity:.95}
.gate-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(800px 600px at 50% 40%,rgba(201,154,114,.14),transparent 65%),radial-gradient(1200px 900px at 50% 120%,rgba(14,36,26,.9),transparent 60%)}
.gate-frame{position:absolute;inset:clamp(10px,2.5vw,36px);border:1px solid rgba(201,154,114,.28);pointer-events:none}
.gate-card{position:relative;width:min(560px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;animation:gateIn 1.2s var(--ease) both}
@keyframes gateIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.gate-logos{display:flex;align-items:center;gap:28px;margin-bottom:34px}
.gate-logos .s{height:clamp(80px,9vw,118px)}
.gate-logos .o{height:clamp(66px,7.5vw,98px)}
.gate-logos .sep{width:1px;height:76px;background:rgba(201,154,114,.45)}
.gate-kicker{display:flex;align-items:center;gap:14px;color:var(--copper-soft);font-weight:700;font-size:15px}
.gate-kicker .latin{font-size:11px;letter-spacing:5px;color:var(--beige-300);font-weight:500}
.gate-kicker i{width:5px;height:5px;border-radius:50%;background:var(--copper)}
.gate-card h1{font-size:clamp(34px,4.6vw,58px);line-height:1.15;font-weight:800;margin-top:16px}
.gate-rule{width:90px;height:2px;background:var(--copper);margin:24px 0 18px}
.gate-by{font-size:clamp(18px,1.6vw,22px);color:var(--beige-200);font-weight:500}
.gate-field{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:34px;text-align:right}
.gate-field span{font-size:14px;color:var(--beige-300);font-weight:500}
.gate-field input{width:100%;padding:16px 20px;border-radius:12px;border:1px solid rgba(251,248,242,.25);background:rgba(251,248,242,.08);color:var(--beige-50);font:inherit;font-size:18px;letter-spacing:2px;direction:ltr;text-align:center;outline:none;transition:border-color .3s,background .3s,box-shadow .3s}
.gate-field input:focus{border-color:var(--copper-soft);background:rgba(251,248,242,.12);box-shadow:0 0 0 4px rgba(201,154,114,.18)}
.gate-card .btn{margin-top:18px;width:100%;justify-content:center;border:0;cursor:pointer;font-family:inherit}
.gate-err{min-height:24px;margin-top:12px;color:#F2B8A0;font-size:15px}
.gate-card.shake{animation:shake .5s}
@keyframes shake{20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}
html.unlocking .gate{animation:gateOut .7s var(--ease-io) forwards}
@keyframes gateOut{to{opacity:0;transform:scale(1.04)}}

/* ---------- presenter + downloads ---------- */
.hero-copy .presenter{margin-top:28px;font-size:17px;color:var(--copper-soft);font-weight:700;display:flex;align-items:center;gap:12px}
.presenter::before{content:"";width:28px;height:1px;background:var(--copper)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.hero-actions .loc{margin-top:0}
.btn.dl{gap:10px;padding:13px 22px;font-size:16px}
.btn.dl svg{flex:none}
.site-head nav a.nav-dl{display:inline-flex;align-items:center;gap:8px;background:var(--copper);color:var(--beige-50);margin-inline-start:8px}
.site-head nav a.nav-dl:hover{background:#8E5A2E}

/* ---------- tiles: tenant line ---------- */
.tile{aspect-ratio:auto;min-height:104px;padding:10px 6px}
.tile .tc{font-size:11.5px;line-height:1.3;text-align:center;opacity:.85;margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}

/* ---------- brand cards ---------- */
.bcard .mono{font-size:clamp(18px,1.6vw,24px);font-weight:800;color:var(--green-700);text-align:center;line-height:1.25;padding:0 10px}
.bcard .owner{display:block;font-size:13px;color:var(--muted);font-weight:500;margin-top:2px}
.bcard h4{line-height:1.3}

/* ---------- interactive plan ---------- */
.pfilter{display:inline-flex;gap:6px;background:var(--beige-50);border:1px solid var(--rule);border-radius:999px;padding:5px}
.pfilter button{border:0;background:none;font:inherit;font-size:15px;font-weight:700;color:var(--ink-2);padding:9px 16px;border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center;transition:background .3s,color .3s}
.pfilter button b{font-size:13px;opacity:.7}
.pfilter button.on{background:var(--green-800);color:var(--beige-50)}
.iplan{display:grid;grid-template-columns:1fr 340px;gap:clamp(18px,2.4vw,36px);margin-top:40px;align-items:start}
.pmap{position:relative;border-radius:10px;overflow:hidden;background:var(--beige-100);box-shadow:0 40px 80px -60px rgba(15,46,34,.6);border:1px solid rgba(15,46,34,.06)}
.pmap>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform:none!important}
.hs{position:absolute;padding:0;border:0;cursor:pointer;border-radius:3px;background:rgba(42,77,59,.10);box-shadow:inset 0 0 0 1.5px rgba(42,77,59,.35);transition:background .35s var(--ease),box-shadow .35s var(--ease),opacity .35s;z-index:2}
.hs.avail{background:rgba(160,104,56,.22);box-shadow:inset 0 0 0 2px rgba(160,104,56,.85);animation:hot 2.4s ease-in-out infinite}
.pmap.focus .hs{opacity:.45}
.pmap.focus .hs.on{opacity:1}
.hs:hover,.hs.on{background:rgba(30,58,45,.42);box-shadow:inset 0 0 0 2.5px var(--green-800),0 10px 24px -10px rgba(15,46,34,.6);z-index:3}
.hs.avail:hover,.hs.avail.on{background:rgba(160,104,56,.5);box-shadow:inset 0 0 0 2.5px var(--copper),0 10px 24px -10px rgba(160,104,56,.7)}
.hs.pinned{outline:2px dashed var(--copper);outline-offset:3px}
.hs.dim{opacity:.12!important;pointer-events:none;animation:none}
.hs:focus-visible{outline:3px solid var(--copper);outline-offset:2px}
.ptip{position:absolute;top:0;left:0;z-index:5;pointer-events:none;min-width:150px;max-width:220px;background:rgba(14,36,26,.94);color:var(--beige-50);backdrop-filter:blur(8px);border:1px solid rgba(201,154,114,.35);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .25s;box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.ptip.show{opacity:1}
.ptip b{font-size:18px;font-weight:800;color:var(--copper-soft)}
.ptip span{font-size:15px;font-weight:700;line-height:1.35}
.ptip em{font-style:normal;font-size:13px;color:var(--beige-300)}
.ppanel{position:sticky;top:96px;background:var(--beige-50);border:1px solid rgba(15,46,34,.07);border-radius:12px;padding:26px;min-height:360px;box-shadow:0 40px 70px -60px rgba(15,46,34,.5)}
.pp-empty{text-align:center;color:var(--ink-2);padding:24px 0}
.pp-icon{width:64px;height:64px;border-radius:50%;border:1px solid var(--copper);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.pp-empty h4{font-size:20px;font-weight:800}
.pp-empty p{font-size:15px;color:var(--muted);margin-top:4px}
.pp-legend{display:flex;justify-content:center;gap:18px;margin-top:22px;font-size:14px;font-weight:700}
.pp-legend span{display:flex;align-items:center;gap:8px}
.pp-legend i{width:16px;height:12px;border-radius:3px}
.pp-legend i.l{background:rgba(42,77,59,.25);box-shadow:inset 0 0 0 1.5px var(--green-700)}
.pp-legend i.a{background:rgba(160,104,56,.3);box-shadow:inset 0 0 0 1.5px var(--copper)}
.pp-card.pop{animation:pop .45s var(--ease)}
@keyframes pop{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.pp-top{display:flex;justify-content:space-between;align-items:center}
.pp-id{font-size:34px;font-weight:800;color:var(--ink)}
.pp-logo{height:130px;margin:18px 0;background:#fff;border-radius:10px;border:1px solid rgba(15,46,34,.06);display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.pp-logo img{max-height:100%;max-width:85%;mix-blend-mode:multiply}
.pp-logo span{font-size:22px;font-weight:800;color:var(--green-700);text-align:center;line-height:1.3}
.ppanel dl div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--rule)}
.ppanel dt{font-size:14px;color:var(--muted);font-weight:500;white-space:nowrap}
.ppanel dd{font-size:16px;font-weight:800;color:var(--ink);text-align:left}
@media (max-width:1100px){.iplan{grid-template-columns:1fr}.ppanel{position:relative;top:0;min-height:0}}
@media (max-width:720px){.ptip{display:none}.pfilter{width:100%;justify-content:space-between}.pfilter button{padding:8px 10px;font-size:14px}.site-head nav a.nav-dl{margin:6px 0 0}.gate-logos{gap:16px}}
@media (prefers-reduced-motion:reduce){.hs.avail{animation:none}}
