@font-face{font-family:'Caslon';src:url('fonts/caslon-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex';src:url('fonts/plex-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Plex';src:url('fonts/plex-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex';src:url('fonts/plex-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'PlexMono';src:url('fonts/plexmono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'PlexMono';src:url('fonts/plexmono-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{
  --serif:'Caslon',Georgia,serif; --sans:'Plex',-apple-system,sans-serif; --mono:'PlexMono',ui-monospace,monospace;
  --ground:#141210; --band:#1A1815; --ink:#EDE7DB; --ink2:#A9A196; --faint:#6E675E;
  --seal:#C4472C; --sealsoft:rgba(196,71,44,.34); --onseal:#FBF6EE;
  --rule:rgba(237,231,219,.11); --ruleStrong:rgba(237,231,219,.26); --tick:rgba(237,231,219,.42);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 64px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.2vw,76px);line-height:1.09;letter-spacing:-.014em}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.9vw,45px);line-height:1.18;letter-spacing:-.01em}
h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.28}
p{color:var(--ink2)}
.lede{font-size:18px;line-height:1.8;color:var(--ink2)}
.label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--seal)}
.mk{position:relative;white-space:nowrap;color:var(--ink)}
.mk:after{content:'';position:absolute;left:0;right:0;bottom:.04em;height:2px;background:var(--seal)}
.tick-mono{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--faint)}
nav{display:flex;justify-content:space-between;align-items:baseline;padding:26px 64px;border-bottom:1px solid var(--rule)}
.wordmark{font-family:var(--serif);font-size:19px;letter-spacing:.02em;text-decoration:none}
.nav-links{display:flex;gap:34px}
.nav-links a{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);text-decoration:none;transition:color .25s var(--ease)}
.nav-links a:hover,.nav-links a.on{color:var(--seal)}
.ref{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--faint);text-transform:uppercase}
.hero{padding:88px 0 76px}
.hero-grid{display:grid;grid-template-columns:1.42fr 1fr;gap:72px;align-items:end}
.hero h1{max-width:14ch}
.hero .label{margin-bottom:26px;display:block}
.hero .lede{max-width:44ch}
.btn{display:inline-block;background:var(--seal);color:var(--onseal);border:1px solid var(--seal);padding:14px 32px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;margin-top:30px;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease)}
.btn:hover{background:transparent;color:var(--seal)}
.link{font-family:var(--mono);color:var(--seal);text-decoration:none;border-bottom:1px solid var(--sealsoft);padding-bottom:2px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;transition:border-color .25s var(--ease)}
.link:hover{border-color:var(--seal)}
.ledger{border-top:1px solid var(--ruleStrong);display:flex;position:relative}
.stop{position:relative;padding:20px 20px 0 0;flex:1}
.stop:before{content:'';position:absolute;top:0;left:0;width:1px;height:11px;background:var(--tick);transition:background 1.1s ease}
.stop.now:before{height:19px;width:2px}
.stop .city{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
.stop.now .city{color:var(--seal)}
.stop .yr{font-family:var(--mono);font-size:9.5px;color:var(--faint);margin-top:5px;letter-spacing:.08em}
.stop .role{font-family:var(--serif);font-size:17px;line-height:1.4;color:var(--ink2);margin-top:11px;max-width:20ch}
.ledger.six .stop{padding-right:16px}
.ledger.six .stop .role{font-size:15.5px;line-height:1.42;max-width:19ch}
.ledger.six .stop .city{font-size:9.5px;letter-spacing:.15em}
.who{display:grid;grid-template-columns:1.02fr 1fr;gap:64px;align-items:end;padding:92px 0}
.who-img{position:relative;line-height:0}
.who-img:after{content:'';position:absolute;inset:0;border:1px solid var(--sealsoft);pointer-events:none;transform:translate(16px,16px)}
.who-txt h2{font-size:40px}
.who-txt p{margin-top:18px;font-size:16.5px;line-height:1.8}
.who-txt .label{margin-bottom:18px;display:block}
.who-txt .link{display:inline-block;margin-top:24px}
section{padding:88px 0}
.sec-head{margin-bottom:46px}
.sec-head .label{margin-bottom:20px;display:block}
.sec-head h2{max-width:23ch}
.gaps{border-top:1px solid var(--ruleStrong);display:flex;margin-top:8px}
.gap{position:relative;padding:20px 32px 0 0}
.gap:before{content:'';position:absolute;top:0;left:0;width:1px;height:11px;background:var(--tick)}
.gap:nth-child(1){flex:1.18} .gap:nth-child(2){flex:.90}
.gap:nth-child(3){flex:1.30} .gap:nth-child(4){flex:.86;padding-right:0}
.gap .gn{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--seal);margin-bottom:13px}
.gap h3{font-size:21px;margin-bottom:9px;line-height:1.28}
.gap p{font-size:14.5px;line-height:1.68}
.frieze{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 0}
.frieze .inner{display:flex;align-items:baseline;gap:30px;flex-wrap:wrap}
.frieze .label{color:var(--faint);flex-shrink:0}
.frieze .row{display:flex;flex-wrap:wrap}
.frieze .row span{font-family:var(--serif);font-size:17px;color:var(--ink2);padding:0 18px;border-right:1px solid var(--rule);transition:color .3s var(--ease)}
.frieze .row span:first-child{padding-left:0}
.frieze .row span:last-child{border-right:none}
.frieze .row span:hover{color:var(--ink)}
.band{background:var(--band);border-top:1px solid var(--rule);padding:92px 0}
.band .inner{max-width:1160px;margin:0 auto;padding:0 64px}
.band p{font-family:var(--serif);font-size:clamp(28px,3.6vw,42px);line-height:1.32;max-width:20ch;color:var(--ink)}
.band .attr{margin-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
footer{border-top:1px solid var(--rule);padding:44px 0 60px}
footer .inner{max-width:1160px;margin:0 auto;padding:0 64px;display:flex;justify-content:space-between;align-items:baseline;gap:30px;flex-wrap:wrap}
footer .fname{font-family:var(--serif);font-size:18px}
footer .frole{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:6px}
footer .fsoc{display:flex;gap:22px}
footer .fsoc a{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);text-decoration:none;transition:color .25s var(--ease)}
footer .fsoc a:hover{color:var(--seal)}
footer .copy{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--faint)}
.phead{padding:80px 0 8px}
.phead .label{display:block;margin-bottom:24px}
.phead h1{max-width:17ch}
.phead .lede{max-width:56ch;margin-top:26px}
.stack{border-top:1px solid var(--ruleStrong)}
.item{display:grid;grid-template-columns:64px 1fr 200px;gap:34px;padding:30px 0;border-bottom:1px solid var(--rule);align-items:start}
.item .n{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--seal);padding-top:7px}
.item h3{margin-bottom:9px}
.item p{font-size:15.5px;line-height:1.72}
.item .meta{text-align:right;padding-top:5px}
.item .meta .t{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.item .meta .price{font-family:var(--serif);font-size:21px;color:var(--ink);margin-top:7px}
.item.norail{grid-template-columns:64px 1fr}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.duo p{font-size:16.5px;line-height:1.8;margin-bottom:14px}
.caps{display:flex;border-top:1px solid var(--ruleStrong);margin-top:10px}
.cap{position:relative;flex:1;padding:20px 26px 0 0}
.cap:before{content:'';position:absolute;top:0;left:0;width:1px;height:11px;background:var(--tick)}
.cap .k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--seal)}
.cap h3{font-size:19px;margin:11px 0 7px}
.cap p{font-size:14.5px;line-height:1.66}
.press{border-top:1px solid var(--ruleStrong)}
.prow{display:grid;grid-template-columns:64px 1fr 190px;gap:30px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.prow .n{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--seal)}
.prow h3{font-size:20px;margin-bottom:6px}
.prow p{font-size:14.5px}
.prow .src{text-align:right;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);line-height:1.9}
.form{max-width:720px}
.field{border-top:1px solid var(--rule);padding:26px 0}
.field:first-of-type{border-top:1px solid var(--ruleStrong)}
.field label{display:block;font-family:var(--serif);font-size:22px;color:var(--ink);margin-bottom:7px}
.field .hint{font-size:14.5px;color:var(--ink2);margin-bottom:16px;max-width:60ch}
.field input,.field textarea{width:100%;background:var(--band);color:var(--ink);border:1px solid var(--rule);padding:13px 15px;font-family:var(--sans);font-size:15.5px;font-weight:300}
.field textarea{min-height:104px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sealsoft)}
.opts{display:flex;flex-wrap:wrap;gap:9px}
.opts label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);padding:10px 15px;cursor:pointer;color:var(--ink2);margin:0;transition:border-color .2s var(--ease),color .2s var(--ease)}
.opts input{display:none}
.opts input:checked + span{color:var(--seal)}
.opts label:hover{border-color:var(--sealsoft);color:var(--ink)}
.hp{position:absolute;left:-9999px}
@media(max-width:900px){
  .wrap,nav,.band .inner,footer .inner{padding-left:26px;padding-right:26px}
  .hero-grid,.who{grid-template-columns:1fr;gap:32px;align-items:start}
  .gaps,.ledger,.caps{flex-direction:column;border-top:none}
  .gap,.stop,.cap{padding:18px 0 0;border-top:1px solid var(--ruleStrong);margin-bottom:6px;flex:1!important}
  .ledger.six .stop .role{font-size:17px;max-width:none}
  .item,.prow{grid-template-columns:1fr;gap:10px}
  .item .meta,.prow .src{text-align:left}
  .duo{grid-template-columns:1fr;gap:26px}
  section{padding:64px 0}
}
