/* ============ LOCATION PAGE ============ */
.lhero{background:var(--navy);color:var(--cream);padding:clamp(96px,11vw,150px) 0 clamp(64px,7vw,96px);position:relative;overflow:hidden}
.lhero::before{content:"";position:absolute;width:640px;height:640px;right:-190px;top:-230px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,181,192,.34),transparent 66%);filter:blur(8px);pointer-events:none}
.lhero .wrap{position:relative}
.lhero .kicker{color:var(--teal-lt)}
.lhero .kicker::before{background:var(--teal-lt)}
.lhero h1{font-size:clamp(2.5rem,6.4vw,4.7rem);line-height:.94;letter-spacing:-.03em;font-weight:800;color:var(--cream);margin:.16em 0 0;max-width:15ch}
.lhero h1 em{font-style:normal;position:relative;color:var(--cream)}
.lhero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.14em;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;transition:transform .9s .35s var(--ease)}
.lhero.in h1 em::after{transform:scaleX(1)}
.lhero .lede{color:rgba(251,247,239,.8);max-width:48ch;margin-top:22px;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.62}
.lhero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.lhero .lgrid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(30px,4.4vw,72px);align-items:center}
.lhero figure{margin:0;position:relative;
  opacity:0;transform:translateY(26px) scale(.985);transition:opacity .9s .18s var(--ease),transform .9s .18s var(--ease)}
.lhero.in figure{opacity:1;transform:none}
.lhero figure img{display:block;width:100%;height:clamp(320px,40vw,480px);object-fit:cover;object-position:50% 46%;
  border-radius:var(--r-lg);box-shadow:var(--sh-3)}
.lhero figcaption{position:static;background:none;backdrop-filter:none;border:0;border-radius:0;
  box-shadow:none;color:var(--cream);padding:18px 4px 0}
.lhero figcaption b{display:block;font-size:1.02rem;letter-spacing:-.01em}
.lhero figcaption span{display:block;font-size:.85rem;color:rgba(251,247,239,.92);margin-top:3px}

/* ---- walk stats ---- */
.walks{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.7vw,22px);margin-top:clamp(34px,4vw,52px)}
.walkcard{background:var(--white);border:1px solid rgba(11,17,76,.09);border-radius:var(--r);padding:26px 24px 24px;
  box-shadow:var(--sh-1);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.walkcard:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.walkcard .big{font-size:clamp(2.1rem,3.3vw,2.85rem);font-weight:800;letter-spacing:-.035em;color:var(--navy);line-height:1}
.walkcard .big i{font-style:normal;font-size:.42em;font-weight:700;letter-spacing:0;margin-left:.28em;color:var(--teal-txt);text-transform:uppercase}
.walkcard h3{font-size:1.06rem;margin:12px 0 4px;letter-spacing:-.015em;color:var(--navy)}
.walkcard p{font-size:.9rem;color:#5A6478;margin:0;line-height:1.5}
.walknote{margin-top:22px;font-size:.83rem;color:#6B7690;max-width:62ch;line-height:1.6}

/* ---- map ---- */
.lmapwrap{margin-top:clamp(30px,3.6vw,46px);border-radius:var(--r-lg);overflow:hidden;background:var(--white);
  border:1px solid rgba(11,17,76,.09);box-shadow:var(--sh-2)}
.lmapwrap svg{display:block;width:100%;height:auto}
.lmapwrap .m-desk{display:block}.lmapwrap .m-mob{display:none}
.legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px;font-size:.83rem;color:#54607A}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;border-radius:50%;flex:none}
.legend i.a{background:var(--navy)}
.legend i.b{background:var(--white);border:2px solid var(--navy)}
.legend i.c{background:#C7EEF1}
.legend i.d{width:22px;height:0;border-radius:0;border-top:3px dashed var(--gold)}

/* ---- two buildings ---- */
.lbldgs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px);margin-top:clamp(32px,4vw,50px)}
.lbcard{background:var(--white);border:1px solid rgba(11,17,76,.09);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-1);display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.lbcard:hover{transform:translateY(-6px);box-shadow:var(--sh-3)}
.lbcard .ph{overflow:hidden;background:var(--slot)}
.lbcard .ph img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .8s var(--ease)}
.lbcard:hover .ph img{transform:scale(1.045)}
.lbcard .bd{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.lbcard .tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:.7rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--teal-txt);background:rgba(0,181,192,.1);
  border-radius:999px;padding:6px 12px}
.lbcard h3{font-size:clamp(1.25rem,1.9vw,1.6rem);letter-spacing:-.025em;margin:14px 0 2px;color:var(--navy)}
.lbcard address{font-style:normal;font-size:.95rem;color:#54607A;line-height:1.55}
.lbcard ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}
.lbcard li{display:flex;gap:10px;font-size:.92rem;color:#4A5568;line-height:1.45}
.lbcard li svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--teal)}

/* ---- getting around strip ---- */
.around{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(30px,3.6vw,44px)}
.acard{border-radius:var(--r);padding:26px 24px;background:rgba(251,247,239,.06);border:1px solid rgba(251,247,239,.14)}
.acard .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(91,231,255,.14);color:var(--teal-lt);margin-bottom:16px}
.acard .ic svg{width:21px;height:21px}
.acard h3{font-size:1.06rem;margin:0 0 6px;letter-spacing:-.015em;color:var(--cream)}
.acard p{margin:0;font-size:.9rem;line-height:1.55;color:rgba(251,247,239,.74)}

@media(max-width:980px){
  .lhero .lgrid{grid-template-columns:1fr;gap:34px}
  .walks{grid-template-columns:1fr;gap:12px}
  .walkcard{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 20px;padding:20px 22px}
  .walkcard .big{grid-row:1/3}
  .walkcard h3{margin:0}
  .lbldgs{grid-template-columns:1fr}
  .around{grid-template-columns:1fr}
  .lmapwrap .m-desk{display:none}.lmapwrap .m-mob{display:block}
}

/* navy-section headings must not be navy-on-navy */
.sec.navy .shead h2{color:var(--cream)}
.sec.navy .shead .kicker{color:var(--teal-lt)}
.sec.navy .shead .kicker::before{background:var(--teal-lt)}
