*{box-sizing:border-box}
:root{--bg:#f5f1e8;--plate:#faf6ee;--ink:#1f1d18;--muted:#6a6353;--accent:#7a5d4c;--rule:#e0d8c8;
--font-voice:'Source Serif 4',Georgia,serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;--font-cn:'EB Garamond',serif;--prose:64ch}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-voice);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--accent);color:var(--bg);padding:8px 12px;border-radius:6px;z-index:50}
.kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--accent)}
.nav{position:sticky;top:0;z-index:20;display:flex;gap:24px;align-items:baseline;flex-wrap:wrap;padding:16px 6vw;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav__brand{font-weight:700;font-size:18px}
.nav__links{display:flex;gap:20px;margin-left:auto;font-size:14px;align-items:baseline;flex-wrap:wrap}.nav__links a{color:var(--muted)}.nav__links a:hover{color:var(--accent)}
.nav__langs{display:flex;gap:7px;font-family:var(--font-mono);font-size:11px}.nav__langs a.on{color:var(--accent);font-weight:600}
main{max-width:1180px;margin:0 auto;padding:0 6vw}
.masthead{padding:9vh 0 5vh;max-width:var(--prose)}
.masthead__h{font-size:clamp(34px,6vw,64px);line-height:1.04;font-weight:700;letter-spacing:-.015em;margin:.2em 0 .35em}
.masthead__sub{font-size:clamp(17px,2.2vw,21px);color:var(--muted);max-width:60ch}
.index{margin:4vh 0 7vh}
.index__h{font-size:clamp(22px,3vw,30px);font-weight:600;margin:0 0 1em;padding-bottom:.4em;border-bottom:1px solid var(--rule)}
.plates{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px}
.plate__img{display:block;aspect-ratio:4/5;background:var(--plate);border:1px solid var(--rule);border-radius:4px;overflow:hidden;position:relative}
.plate__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plate__cap{display:block;margin-top:10px;font-size:15px}.plate__cn{color:var(--muted);font-family:var(--font-cn)}
.plate:hover .plate__img{outline:2px solid var(--accent);outline-offset:2px}
.feature{padding-bottom:8vh}.hero{padding:5vh 0 2vh}
.hero__plate{margin:0 0 3vh;background:var(--plate);border:1px solid var(--rule);border-radius:6px;overflow:hidden}.hero__plate img{width:100%;height:auto}
.hero__cap{max-width:var(--prose)}
.hero__h{font-size:clamp(38px,7vw,74px);line-height:1.02;font-weight:700;letter-spacing:-.02em;margin:.18em 0 .12em}
.hero__cn{font-size:20px;color:var(--muted)}.hero__cn i{font-family:var(--font-cn)}
.hero__q{font-size:22px;margin:1em 0 .2em;max-width:54ch}
.hero__couplet{font-family:var(--font-cn);font-size:20px;color:var(--accent)}
.lede{max-width:var(--prose);margin:3vh 0 5vh}.dropcap{font-size:19px;line-height:1.75}
.dropcap::first-letter{float:left;font-size:3.4em;line-height:.82;font-weight:700;padding:.05em .12em 0 0;color:var(--accent)}
.block{margin:5vh 0;padding-top:4vh;border-top:1px solid var(--rule)}
.block__h{font-size:clamp(22px,3vw,30px);font-weight:600;margin:0 0 1.2em}
.teas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.tea__h{font-size:19px;margin:0 0 .4em}.tea__cn{color:var(--muted);font-family:var(--font-cn);font-weight:400}.tea__note{font-size:16px;line-height:1.6;margin:0}
.stops{list-style:none;margin:0;padding:0}
.stop{display:grid;grid-template-columns:140px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--rule)}
.stop__d{font-family:var(--font-mono);font-size:13px;color:var(--accent);padding-top:4px}
.stop__h{font-size:19px;margin:0 0 .3em}.stop__cn{color:var(--muted);font-family:var(--font-cn);font-weight:400;font-size:.85em}
.stop__t{font-size:15px;color:var(--accent);margin:0 0 .5em}.stop__desc{font-size:16px;margin:0}.stop__moon{font-size:14px;color:var(--muted);margin:.6em 0 0}
.prac{display:grid;max-width:var(--prose)}.prac__row{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--rule)}
.prac__row dt{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.prac__row dd{margin:0;font-size:16px}
.backnav{margin:6vh 0 0}.backnav a{color:var(--accent);font-size:15px}
.foot{max-width:1180px;margin:8vh auto 0;padding:5vh 6vw;border-top:1px solid var(--rule);color:var(--muted);font-size:14px}.foot__note{margin-top:.4em}
.roads{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.road{display:block;border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--plate)}
.road__img{display:block;aspect-ratio:16/9;background:var(--plate);position:relative;overflow:hidden}.road__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.road__cap{display:block;padding:16px 18px 20px}.road__h{font-size:23px;font-weight:700;display:block;margin:.3em 0 .1em}.road__cn{font-family:var(--font-cn);color:var(--muted)}.road__len{display:block;margin-top:.5em;font-size:14px;color:var(--muted)}
.road:hover{outline:2px solid var(--accent);outline-offset:2px}
.route__meta{max-width:var(--prose);font-size:17px}
.arcseq{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.arcstep a{display:block}.arcstep__n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--plate);font-family:var(--font-mono);font-size:13px;margin-bottom:8px}
.arcstep__img{aspect-ratio:4/5}.arcstep__cap{display:block;margin-top:10px;font-size:15px}.arcstep__tag{display:block;color:var(--muted);font-size:13px;margin-top:.3em}
.arcstep:hover .arcstep__img{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:640px){.stop{grid-template-columns:1fr;gap:6px}.prac__row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
