/* access.html page styles */
.smp{position:relative}
.smp::before{content:"Sample";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;color:#fff;opacity:.75;font-size:clamp(22px,4vw,40px);font-weight:700;letter-spacing:.2em;text-shadow:0 2px 14px rgba(0,0,0,.7);pointer-events:none;white-space:nowrap}

nav a{color:var(--sub);transition:.3s}nav a:hover{color:var(--gold-t)}nav a.on{color:var(--gold-t)}

.page-hero{text-align:center;padding:100px 0 60px;background-image:linear-gradient(rgba(13,15,20,.6),rgba(13,15,20,.82)),url(../images/hero.png);background-size:100% auto;background-position:center;background-repeat:no-repeat;border-bottom:1px solid var(--line)}
.page-hero .eyebrow{font-family:'Fraunces',serif;color:var(--gold-t);font-size:15px;letter-spacing:.24em}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,56px);font-weight:500;margin:14px 0 20px}
.page-hero .lead{color:var(--sub);font-size:15px;line-height:2}
.intro-copy{max-width:900px;margin:0 auto}
.intro-copy p{color:var(--sub);font-size:15.5px;line-height:2.15;margin-bottom:22px}
.intro-copy p:last-child{margin-bottom:0}

section{padding:60px 0}
.hd{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:40px}
.hd .ki{font-family:'Fraunces',serif;color:var(--gold-t);font-size:15px}
.hd h2{font-family:'Fraunces',serif;font-size:clamp(26px,4vw,40px);font-weight:500;margin-top:8px}

/* info + map */
.access{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:stretch}
.info{border:1px solid var(--line);border-radius:14px;padding:36px;background:var(--panel)}
.info .store{font-family:'Fraunces',serif;font-size:22px;margin-bottom:8px}
.info .store-sub{color:var(--sub);font-size:13.5px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.info .row{padding:16px 0;border-bottom:1px solid var(--line)}
.info .row:last-child{border-bottom:none;padding-bottom:0}
.info .row .k{color:var(--gold-t);font-family:'Fraunces',serif;font-size:14px;letter-spacing:.06em;margin-bottom:6px}
.info .row p{color:var(--text);font-size:14.5px}
.info .row p.sub{color:var(--sub);font-size:13px}
.map{border-radius:14px;border:1px solid var(--line);min-height:380px;height:100%;width:100%;display:block;filter:grayscale(.2) contrast(1.05)}

/* visual gallery */
.viz{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.viz-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}
.viz-img{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative}
.viz-b{padding:20px}
.viz-b h3{font-family:'Fraunces',serif;font-size:18px;font-weight:500;margin-bottom:8px}
.viz-b p{color:var(--sub);font-size:13px;line-height:1.7}

/* routes */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.route{border:1px solid var(--line);border-radius:14px;padding:32px;background:var(--panel)}
.route h3{font-size:16px;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.route h3 .ic{font-size:20px}
.route h3 .walk{color:var(--gold-t);font-family:'Fraunces',serif;font-size:13px;margin-left:auto}
.step{border-left:2px solid var(--gold);background:rgba(88,28,135,.1);padding:11px 16px;margin-bottom:10px;font-size:14px;color:var(--sub);border-radius:0 6px 6px 0}
.step:last-child{margin-bottom:0}
.step b{color:var(--gold-t);font-family:'Fraunces',serif;margin-right:10px}

.center{text-align:center;margin-top:46px}
.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold-t);padding:15px 44px;font-size:13px;letter-spacing:.16em;transition:.3s}.btn:hover{background:var(--gold);color:var(--bg)}

.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:48px}

@media(max-width:880px){
  nav,.langs{display:none}.burger{display:flex}
  .access,.viz,.routes,.fg{grid-template-columns:1fr}
  .map{min-height:300px}
  section{padding:48px 0}
}
@media(max-width:560px){.viz{grid-template-columns:1fr}}
