*{box-sizing:border-box;margin:0}body{font:16px/1.6 -apple-system,"Helvetica Neue",Inter,Arial,sans-serif;color:#141414;background:#f6f5f2}
img{display:block;max-width:100%;height:auto}.k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#8a857c;margin-bottom:.8rem}
.hero{position:relative;height:92svh;min-height:480px;overflow:hidden;background:#111}.hero>img{width:100%;height:100%;object-fit:cover;opacity:.85}
.hero-t{position:absolute;left:0;right:0;bottom:0;padding:2rem 1.25rem 2.5rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}.hero-t .k{color:#ddd}
h1{font-weight:300;font-size:clamp(2.6rem,9vw,6.5rem);letter-spacing:-.03em;line-height:1}.hero-t p:last-child{max-width:34rem;margin-top:1rem;font-size:1.05rem;opacity:.9}
main{max-width:1200px;margin:auto;padding:0 1.25rem}section{padding:4.5rem 0;border-bottom:1px solid #e2dfd8}
h2{font-weight:400;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.02em;margin-bottom:1.6rem}.intro p:not(.k){max-width:42rem;font-size:1.15rem;color:#444}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}@media(min-width:800px){.grid{grid-template-columns:repeat(3,1fr);gap:1rem}}
figure a{display:block;aspect-ratio:4/3;overflow:hidden;background:#ddd}figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s}figure a:hover img{transform:scale(1.04)}
figcaption{font-size:.8rem;color:#777;padding:.4rem 0 .8rem}
.feat ul{list-style:none;padding:0;display:grid;gap:1.5rem}@media(min-width:800px){.feat ul{grid-template-columns:repeat(3,1fr)}}
.feat li{border-top:1px solid #141414;padding-top:1rem;color:#555}.feat b{display:block;color:#141414;font-weight:500;margin-bottom:.3rem}
footer{text-align:center;padding:3rem 1rem;font-size:.85rem;color:#8a857c}
#lb{position:fixed;inset:0;background:rgba(10,10,10,.96);display:flex;align-items:center;justify-content:center;z-index:9}#lb[hidden]{display:none}
#lb img{max-width:94vw;max-height:84vh;object-fit:contain}#lb p{position:absolute;bottom:1rem;color:#bbb;font-size:.85rem}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:1rem}.x{top:0;right:0}.p{left:0}.n{right:0}
html{scroll-behavior:smooth}section{scroll-margin-top:3rem}
.nav{position:sticky;top:0;z-index:5;display:flex;gap:1.2rem;overflow-x:auto;white-space:nowrap;padding:.8rem 1.25rem;background:rgba(246,245,242,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e2dfd8;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.nav a{color:#141414;text-decoration:none}.nav a:hover{color:#8a857c}
.lede{max-width:42rem;font-size:1.1rem;color:#444;margin-bottom:1.6rem}
.route{width:100%;max-width:600px;height:auto;margin:0 0 1.2rem;font:12px sans-serif;letter-spacing:.12em;text-transform:uppercase;fill:#141414}
.steps{list-style:none;padding:0;counter-reset:s}.steps li{counter-increment:s}.steps figcaption::before{content:counter(s,decimal-leading-zero) "  ";color:#141414;font-weight:500}
