:root{--paper:#FBFAF7;--ink:#1A1712;--mut:#8A8478;--rule:#E4E0D7;--red:#0071e3;--serif:'Fraunces',Georgia,serif}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--red);color:var(--paper)}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);max-width:1040px;margin:0 auto;padding:56px 36px 130px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
header{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:16px;border-bottom:1px solid var(--ink)}
header .name{font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
header .crumb{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mut);letter-spacing:.16em;text-transform:uppercase}
/* editorial display */
.kicker{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--red);letter-spacing:.26em;text-transform:uppercase;margin:72px 0 18px}
h1.display{font-family:var(--serif);font-weight:340;font-size:68px;line-height:1.02;letter-spacing:-.022em;max-width:14em;font-variation-settings:"opsz" 144}
h1.display em{font-style:italic;color:var(--red);letter-spacing:-.01em}
.standfirst{margin-top:24px;font-family:var(--serif);font-size:21px;line-height:1.52;color:#4A463E;max-width:30em;font-weight:300;text-wrap:balance}
/* stat strip */
.stats{display:flex;gap:0;margin-top:56px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.stats>div{flex:1;padding:22px 20px 18px;border-left:1px solid var(--rule);font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--mut);letter-spacing:.16em;text-transform:uppercase}
.stats>div:first-child{border-left:0;padding-left:0}
.stats b{display:block;font-family:var(--serif);font-size:42px;color:var(--ink);font-weight:340;margin-bottom:4px;letter-spacing:-.02em;font-variation-settings:"opsz" 144}
.stats .red b{color:var(--red)}
/* figures: one treatment everywhere */
figure{margin:0}
figure img{width:100%;display:block}
figcaption{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.14em;text-transform:uppercase;padding-top:12px;border-top:1px solid var(--rule);margin-top:12px}
figure.wide{margin:56px 0 8px}
figure.wide img{filter:saturate(.94) contrast(1.02)}
/* sections */
section{margin-top:88px}
.sec-label{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.sec-label .no{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--red);letter-spacing:.06em}
.sec-label h2{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.sec-label .line{flex:1;height:1px;background:var(--rule)}
/* index rows with plates */
.row{display:grid;grid-template-columns:44px 1fr 128px;gap:24px;align-items:center;padding:18px 8px;border-top:1px solid var(--rule);transition:background .25s ease}
.row:last-child{border-bottom:1px solid var(--rule)}
.row:hover{background:#F5F2EC}
.row .idx{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mut);letter-spacing:.04em}
.row .t1{font-family:var(--serif);font-size:22px;font-weight:480;letter-spacing:-.012em}
.row .t2{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.14em;margin-top:6px;text-transform:uppercase}
.row .t2 b{color:var(--red);font-weight:500}
.row img{width:128px;height:128px;object-fit:contain;display:block;background:transparent;transition:transform .3s ease}
.row:hover img{transform:translateY(-3px)}
.row.region{grid-template-columns:44px 1fr;padding:30px 0 10px;border-top:1px solid var(--ink)}
.row.region .t1{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase}
/* city: the piece */
.piece{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center;padding:48px 0;border-top:1px solid var(--ink)}
.piece img{width:360px;display:block}
.piece .lab{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--red);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.piece h3{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.015em;margin-bottom:16px;font-variation-settings:"opsz" 144}
.piece p{font-size:15px;line-height:1.7;color:#4A463E;max-width:32em}
/* city: saved places */
.place{display:grid;grid-template-columns:44px 200px 1fr;gap:24px;align-items:center;padding:15px 0;border-top:1px solid var(--rule)}
.place:last-child{border-bottom:1px solid var(--rule)}
.place .idx{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mut)}
.place img{width:200px;height:134px;object-fit:cover;display:block}
.place.noimg{grid-template-columns:44px 1fr}
.place .t1{font-family:var(--serif);font-size:18px;font-weight:480;letter-spacing:-.01em}
.place .t2{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.14em;margin-top:5px;text-transform:uppercase}
/* trip: plate centerpiece */
.platehero{text-align:center;margin:72px 0 8px}
.platehero img{width:460px;max-width:88%;display:inline-block}
.platehero .cap{margin-top:20px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.18em;text-transform:uppercase}
.platehero .cap b{color:var(--red);font-weight:500}
/* trip: field notes */
.day{display:grid;grid-template-columns:72px 1fr;gap:28px;padding:38px 0;border-top:1px solid var(--rule)}
.day:last-child{border-bottom:1px solid var(--rule)}
.day .dno{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--red);padding-top:7px;letter-spacing:.1em}
.day h3{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.012em;margin-bottom:14px}
.day p{font-size:15.5px;line-height:1.78;color:#33302A;max-width:36em}
.day p em{color:var(--red);font-style:normal;font-weight:500}
.day figure{margin-top:24px}
.note{margin-top:56px;padding-top:16px;border-top:1px solid var(--rule);font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.07em;line-height:1.85;text-transform:uppercase}
@media (max-width:640px){
 body{padding:40px 22px 90px}
 h1.display{font-size:42px}
 .standfirst{font-size:18px}
 .stats b{font-size:34px}
 .stats>div{padding:16px 12px 13px}
 section{margin-top:64px}
 .row{grid-template-columns:34px 1fr 96px;gap:16px;padding:15px 4px}
 .row img{width:96px;height:96px}
 .row .t1{font-size:19px}
 .piece{grid-template-columns:1fr}
 .piece img{width:300px}
 .platehero img{width:340px}
}

/* v2: one forced row geometry across the whole travel section */
.lrow{display:grid;grid-template-columns:44px minmax(0,1fr) 128px 20px;gap:24px;align-items:center;padding:18px 8px;border-top:1px solid var(--rule);min-height:172px}
section>.lrow:last-child,.lrow.last{border-bottom:1px solid var(--rule)}
a.lrow{text-decoration:none;color:inherit}
.lrow .idx{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mut);letter-spacing:.04em}
.lrow .t1{font-family:var(--serif);font-size:22px;font-weight:480;letter-spacing:-.012em;transition:color .2s ease}
.lrow .t2{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);letter-spacing:.14em;margin-top:6px;text-transform:uppercase;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lrow .t2 b{color:var(--red);font-weight:500}
.lrow .th{width:128px;height:128px}
.lrow .th img{width:128px;height:128px;object-fit:contain;display:block}
.lrow .th.cover img{object-fit:cover}
.lrow .arr{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mut);transition:color .2s ease,transform .2s ease}
a.lrow:hover{background:#F5F2EC}
a.lrow:hover .arr{color:var(--red);transform:translateX(3px)}
a.lrow:hover .t1{color:var(--red)}
@media (max-width:640px){
 .lrow{grid-template-columns:34px minmax(0,1fr) 88px 16px;gap:14px;padding:15px 4px;min-height:118px}
 .lrow .th,.lrow .th img{width:88px;height:88px}
 .lrow .t1{font-size:19px}
}
/* collection wall: forced-equal cells and captions */
.wall figure{display:flex;flex-direction:column;align-items:center}
.wall img{width:100%;max-width:230px;height:230px;object-fit:contain}
.wall figcaption{width:100%;min-height:34px;text-align:center}
@media (max-width:640px){.wall img{height:180px}}

.lrow.noth{grid-template-columns:44px minmax(0,1fr) 20px;min-height:0}
.lrow .tip{font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.55;color:var(--ink);opacity:.72;margin-top:8px;max-width:58ch}
@media (max-width:640px){.lrow.noth{grid-template-columns:34px minmax(0,1fr) 16px}}

.sm{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:5px 9px 4px;background:var(--paper)}
.wall a{position:relative;display:block}
.wall .sm{position:absolute;top:12px;left:12px;z-index:2}
h3 .sm{margin-left:12px;vertical-align:4px;display:inline-block}

.lsub{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);padding:30px 8px 12px}
section>.lsub:first-child{padding-top:14px}
