/* ═══════════════════════════════════════════════════════════════
   Maison South — application shell
   Shared surface styling for /route/, /listings/, /account/.
   Tokens and component language are taken from the entry surface so
   every screen reads as one product, not a set of pages.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --moon:#C9E3EC;
  --moon-dim:#8EB4C1;
  --pale:#93C4B0;
  --ivory:#F2EDE5;
  --text:#D8E1E1;
  --muted:#93A5A9;
  --dim:#68797E;
  --line:rgba(160,200,210,.14);
  --line-2:rgba(160,200,210,.075);
  --title:"Marcellus","Iowan Old Style",Palatino,Georgia,serif;
  --serif:"Cormorant Garamond","Iowan Old Style",Palatino,Georgia,serif;
  --sans:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;padding:0 0 66px;
  background:
    radial-gradient(120% 66% at 50% -8%, #09191F 0%, rgba(9,25,31,0) 58%),
    linear-gradient(180deg,#050C10 0%,#050A0C 40%,#04080A 100%);
  color:var(--text);font-family:var(--sans);font-weight:400;
  font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
::selection{background:rgba(201,227,236,.22)}
button{font:inherit;color:inherit;background:none;border:0;margin:0;cursor:pointer}
:focus-visible{outline:1px solid var(--moon);outline-offset:3px}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.eyebrow{font-family:var(--title);font-size:10px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--moon-dim)}
.fig,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;font-weight:400}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:10px;z-index:80;padding:8px 12px;background:#071115;border:1px solid var(--line);color:var(--ivory)}

/* ───────── top rail + section navigation ───────── */
.rail{
  position:relative;z-index:30;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;
  padding:13px 20px;border-bottom:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(4,8,10,.92),rgba(4,8,10,.4));
}
.mark{font-family:var(--title);font-size:15.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--ivory);white-space:nowrap;text-decoration:none}
.mark span{color:var(--moon-dim)}
.rail .tag{
  font-family:var(--title);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--moon-dim);
  border:1px solid var(--line);border-radius:2px;padding:4px 8px 3px;white-space:nowrap;
}
.rail .who{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--muted);white-space:nowrap}
.rail .who b{font-weight:500;color:#CFDEE2}
.avatar{
  width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(150deg,#153440,#09181E);border:1px solid rgba(201,227,236,.24);
  display:grid;place-items:center;font-family:var(--title);font-size:11px;color:var(--moon);letter-spacing:.04em;
}
.nav{
  position:relative;z-index:29;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(6,14,18,.94),rgba(4,9,11,.9));
}
.nav ul{
  max-width:1180px;margin:0 auto;padding:0 20px;list-style:none;
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
}
.nav ul::-webkit-scrollbar{display:none}
.nav a{
  display:flex;align-items:center;gap:8px;min-height:44px;padding:11px 18px 10px;
  text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;
  font-family:var(--title);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(178,199,205,.72);transition:color .25s,border-color .25s,background .25s;
}
.nav a:first-child{padding-left:0}
.nav a .ix{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--dim)}
.nav a:hover{color:#EAF4F7;background:rgba(201,227,236,.04)}
.nav a[aria-current="page"]{color:#F0F7F8;border-bottom-color:var(--moon)}
.nav a[aria-current="page"] .ix{color:var(--moon)}

/* ───────── page head ───────── */
/* A surface that opens with a breadcrumb does not also need the section's own
   top padding — otherwise the two stack into dead space under the nav. */
.phead{padding:clamp(22px,2.6vw,34px) 0 0}
section:first-of-type > .wrap > .phead:first-child{padding-top:0}
main > section:first-of-type{padding-top:clamp(24px,2.8vw,38px)}
.phead .crumb{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.phead .crumb a{color:var(--moon-dim);text-decoration:none}
.phead .crumb a:hover{color:#EAF4F7;text-decoration:underline;text-underline-offset:3px}
section{padding:clamp(30px,4.4vw,60px) 0 0}
.shead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px 16px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.shead .num{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.18em;color:var(--moon-dim)}
.shead h1,.shead h2{margin:0;font-family:var(--title);font-weight:400;font-size:clamp(22px,2.6vw,32px);letter-spacing:.02em;color:var(--ivory);line-height:1.1}
.shead .smeta{text-align:right;font-size:10.5px;line-height:1.6;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.shead .smeta b{display:block;font-weight:400;color:var(--muted)}
.sub{margin:18px 0 26px;font-size:14px;color:var(--muted);max-width:66ch;text-wrap:pretty}
.sub em{color:rgba(147,196,176,.95);font-style:normal}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(22px,3.2vw,46px);align-items:start}

/* ───────── route surface ───────── */
.stop{border-bottom:1px solid var(--line-2)}
.stop-hd{
  display:grid;grid-template-columns:66px 26px minmax(0,1fr) auto;gap:2px 14px;align-items:center;
  width:100%;text-align:left;padding:14px 2px;transition:background .25s;min-height:44px;
}
.stop-hd:hover{background:rgba(201,227,236,.04)}
.stop.is-open .stop-hd{background:rgba(201,227,236,.055)}
.stop-time{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--moon);white-space:nowrap;font-variant-numeric:tabular-nums}
.stop-time .ap{font-size:9px;letter-spacing:.1em;margin-left:2px;color:var(--moon-dim)}
.stop-num{
  font-family:var(--mono);font-size:10px;letter-spacing:.04em;
  color:var(--dim);border:1px solid var(--line);border-radius:50%;width:26px;height:26px;
  display:grid;place-items:center;transition:all .3s;
}
.stop.is-open .stop-num{color:#061012;background:var(--moon);border-color:var(--moon)}
.stop.is-hold .stop-num{border-style:dashed}
.stop-main{min-width:0}
.stop-name{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.01em;color:var(--ivory);line-height:1.18;display:block}
.stop-meta{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}
.stop-right{text-align:right;white-space:nowrap}
.stop-price{display:block;font-family:var(--mono);font-size:13px;color:rgba(147,196,176,.95);font-variant-numeric:tabular-nums}
.stop-dur{display:block;font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:4px;font-variant-numeric:tabular-nums}
.stop-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1)}
.stop.is-open .stop-body{grid-template-rows:1fr}
.stop-body>.sbin{overflow:hidden}
.stop-in{padding:0 2px 18px 106px}
.note-k{display:block;font-family:var(--title);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--moon-dim);margin-bottom:7px}
.stop-in p{margin:0;font-size:13.5px;line-height:1.62;color:rgba(208,223,228,.9);max-width:62ch;text-wrap:pretty}
.stop-kv{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.stop-kv div{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.stop-kv b{display:block;font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:0;color:#DCE8EB;margin-top:4px;text-transform:none}
.stop-in .deep{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--moon);text-decoration:none;border-bottom:1px solid rgba(201,227,236,.4);padding-bottom:2px}
.stop-in .deep:hover{color:#EAF4F7;border-bottom-color:#EAF4F7}
.leg{display:flex;align-items:center;gap:12px;padding:9px 0 9px 106px}
.leg .ln{flex:1 1 auto;height:1px;background:repeating-linear-gradient(90deg,rgba(201,227,236,.3) 0 2px,transparent 2px 6px)}
.leg .lt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}
.readout{margin-top:22px;border:1px solid var(--line);border-radius:3px;display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(170deg,rgba(12,32,31,.42),rgba(5,11,14,.5))}
.readout div{padding:13px 14px;border-left:1px solid var(--line-2)}
.readout div:first-child{border-left:0}
.readout .k{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.readout .v{display:block;font-family:var(--mono);font-size:clamp(12.5px,1.12vw,15px);font-weight:400;color:#E4EEF0;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
.rt-map{position:sticky;top:20px}
.rt-map svg{display:block;width:100%;height:auto;overflow:visible}
.wp-lead{stroke:rgba(201,227,236,.4);stroke-width:.7;fill:none;transition:stroke .3s}
.wp-c{fill:#061014;stroke:rgba(201,227,236,.6);stroke-width:1.1;transition:all .3s}
.wp-n{font-family:"JetBrains Mono",monospace;font-size:10px;fill:rgba(201,227,236,.82);text-anchor:middle;transition:fill .3s}
.wp-l{font-family:"Marcellus",serif;font-size:12px;letter-spacing:.18em;fill:rgba(200,219,224,.78);transition:fill .3s}
.wp-p{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.08em;fill:rgba(120,145,152,.92)}
.wp.on .wp-c{fill:var(--moon);stroke:var(--moon)}
.wp.on .wp-n{fill:#05121A}
.wp.on .wp-l{fill:#F0F7F8}
.wp.on .wp-lead{stroke:rgba(201,227,236,.85)}
.map-cap{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}
.map-cap .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--moon-dim)}
.map-cap p{margin:7px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted);text-wrap:pretty}

/* ───────── cards (black book) ───────── */
.bb-bar{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-bottom:18px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.chip{font-family:var(--title);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);transition:all .25s;min-height:30px}
.chip:hover{border-color:rgba(201,227,236,.4);color:#DCE8EB}
.chip[aria-pressed="true"]{background:rgba(201,227,236,.12);border-color:rgba(201,227,236,.42);color:#F0F7F8}
.bb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.card{
  position:relative;border:1px solid var(--line);border-radius:2px;padding:15px 16px 14px;
  background:linear-gradient(168deg,rgba(15,36,40,.5),rgba(5,11,14,.55));
  transition:border-color .3s,transform .3s,background .3s;
}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(201,227,236,.5),rgba(147,196,176,.16))}
.card:hover{border-color:rgba(201,227,236,.34);transform:translateY(-2px);background:linear-gradient(168deg,rgba(18,44,48,.58),rgba(6,13,16,.6))}
.card[hidden]{display:none}
.card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.card-tab{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--dim);border:1px solid var(--line);padding:2px 6px 1px;border-radius:1px}
.card-seal{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--title);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(147,196,176,.92);white-space:nowrap}
.card-seal::before{content:"";width:4px;height:4px;border-radius:50%;background:rgba(147,196,176,.9);box-shadow:0 0 0 3px rgba(147,196,176,.14);flex:0 0 auto}
.card-name{margin:0;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.01em;color:var(--ivory);line-height:1.18}
.card-trade{margin:5px 0 0;font-family:var(--title);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--moon-dim)}
.card-note{margin:11px 0 0;font-size:12.5px;line-height:1.56;color:rgba(203,219,224,.82);text-wrap:pretty}
.card-foot{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--dim)}
.bb-foot{margin-top:16px;padding:13px 15px;border:1px dashed rgba(201,227,236,.2);border-radius:3px;display:flex;gap:8px 24px;flex-wrap:wrap;justify-content:space-between;font-size:11.5px;color:rgba(160,186,194,.84);text-wrap:pretty}
.bb-foot b{color:#DCE8EB;font-weight:500}
.bb-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--dim);white-space:nowrap}

/* ───────── the property book ───────── */
.book-bar{
  display:flex;align-items:baseline;gap:10px 22px;flex-wrap:wrap;
  margin:0 0 18px;padding:12px 15px;border:1px solid var(--line);border-radius:3px;
  background:linear-gradient(170deg,rgba(12,32,31,.36),rgba(5,11,14,.5));
}
.book-bar .bk{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.book-bar .bv{display:block;margin-top:5px;font-family:var(--mono);font-size:13.5px;color:#E4EEF0;font-variant-numeric:tabular-nums}
.book-bar .bsort{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--moon-dim)}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.pcard{
  position:relative;display:block;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:2px;padding:16px 17px 14px;
  background:linear-gradient(168deg,rgba(15,36,40,.5),rgba(5,11,14,.55));
  transition:border-color .3s,transform .3s,background .3s;
}
.pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(201,227,236,.5),rgba(147,196,176,.16))}
.pcard:hover{border-color:rgba(201,227,236,.34);transform:translateY(-2px);background:linear-gradient(168deg,rgba(18,44,48,.58),rgba(6,13,16,.6))}
.pcard-top{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.pcard-mls{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--dim);border:1px solid var(--line);padding:2px 6px 1px;border-radius:1px}
.pcard-status{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--title);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(147,196,176,.92);white-space:nowrap}
.pcard-status::before{content:"";width:4px;height:4px;border-radius:50%;background:rgba(147,196,176,.9);box-shadow:0 0 0 3px rgba(147,196,176,.14);flex:0 0 auto}
.pcard-addr{margin:0;font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:.01em;color:var(--ivory);line-height:1.16}
.pcard-sub{margin:6px 0 0;font-family:var(--title);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--moon-dim)}
.pcard-price{margin:13px 0 0;font-family:var(--mono);font-size:19px;color:rgba(147,196,176,.95);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.pcard-facts{margin:9px 0 0;display:flex;flex-wrap:wrap;gap:3px 16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(188,206,210,.84);font-variant-numeric:tabular-nums}
.pcard-foot{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--dim)}
.pcard-foot .open{color:var(--moon)}

.pcard-concept{position:relative;margin:0 0 10px;border-radius:2px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/9;background:#0b1416}
.pcard-concept img{width:100%;height:100%;object-fit:cover;display:block}
.pcard-concept figcaption,.prop-concept figcaption{display:block;margin:6px 0 0;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,241,234,.72);line-height:1.4}
.pcard-concept{aspect-ratio:auto}.pcard-concept img{aspect-ratio:16/9}
.prop-concept{margin:0 0 18px;max-width:100%}
.prop-concept img{width:100%;height:auto;display:block;border-radius:2px;border:1px solid var(--line-2);background:#0b1416}
.pcard-map{position:relative;margin:0 0 12px;border-radius:2px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/9;background:#0b1416}
.pcard-map img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) brightness(.88)}
.pcard-map-pin{position:absolute;width:11px;height:11px;margin-left:-5.5px;margin-top:-11px;border-radius:50% 50% 50% 0;background:rgba(224,92,74,.95);border:1.5px solid rgba(6,13,16,.9);transform:rotate(-45deg);box-shadow:0 0 0 3px rgba(224,92,74,.18)}
.pcard-map-label{position:absolute;left:8px;bottom:7px;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,241,234,.92);background:rgba(6,13,16,.62);padding:3px 7px 2px;border-radius:1px}

.prop-map{position:relative;margin:0 0 14px;border-radius:2px;overflow:hidden;border:1px solid var(--line-2);max-width:512px;aspect-ratio:1/1;background:#0b1416}
.prop-map img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) brightness(.88)}
.prop-map-pin{position:absolute;width:16px;height:16px;margin-left:-8px;margin-top:-16px;border-radius:50% 50% 50% 0;background:rgba(224,92,74,.95);border:2px solid rgba(6,13,16,.9);transform:rotate(-45deg);box-shadow:0 0 0 4px rgba(224,92,74,.18)}

/* ───────── one property in full ───────── */
.prop-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 26px;align-items:end;padding-bottom:16px;border-bottom:1px solid var(--line)}
.prop-head .pk{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--moon-dim)}
.prop-head h1{margin:8px 0 0;font-family:var(--title);font-weight:400;font-size:clamp(26px,3.6vw,44px);letter-spacing:.02em;color:var(--ivory);line-height:1.06}
.prop-head .psub{margin:9px 0 0;font-family:var(--title);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.prop-head .pprice{text-align:right;white-space:nowrap}
.prop-head .pprice b{display:block;font-family:var(--mono);font-weight:400;font-size:clamp(22px,2.6vw,30px);color:rgba(147,196,176,.95);font-variant-numeric:tabular-nums}
.prop-head .pprice span{display:block;margin-top:5px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.specs{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-top:0;border-radius:0 0 3px 3px;background:linear-gradient(170deg,rgba(12,32,31,.36),rgba(5,11,14,.5))}
.specs div{padding:15px 16px;border-left:1px solid var(--line-2);border-top:1px solid var(--line-2)}
.specs div:nth-child(4n+1){border-left:0}
.specs dt{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.specs dd{margin:7px 0 0;font-family:var(--mono);font-size:16px;color:#E4EEF0;font-variant-numeric:tabular-nums}
.specs dd small{display:block;margin-top:4px;font-family:var(--sans);font-size:10px;letter-spacing:.04em;color:var(--dim)}
.panel{margin-top:26px;border:1px solid var(--line);border-radius:3px;background:linear-gradient(170deg,rgba(10,28,34,.44),rgba(4,9,12,.55))}
.panel h2{margin:0;padding:12px 16px;font-family:var(--title);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--moon-dim);border-bottom:1px solid var(--line-2)}
.panel .pbody{padding:15px 16px}
.panel p{margin:0 0 10px;font-size:13px;line-height:1.6;color:rgba(203,219,224,.86);max-width:74ch;text-wrap:pretty}
.panel p:last-child{margin-bottom:0}
.kvrow{display:grid;grid-template-columns:200px minmax(0,1fr);border-top:1px solid var(--line-2)}
.kvrow:first-child{border-top:0}
.kvrow .k{padding:11px 16px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);border-right:1px solid var(--line-2);background:rgba(201,227,236,.025)}
.kvrow .v{padding:11px 16px;font-size:12.5px;line-height:1.55;color:rgba(206,221,226,.9);text-wrap:pretty}
.kvrow .v .fig{color:#E4EEF0}
.standing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.standing div{padding:15px 16px;border-left:1px solid var(--line-2)}
.standing div:first-child{border-left:0}
.standing .k{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.standing .v{display:block;margin-top:7px;font-family:var(--mono);font-size:15px;color:#E4EEF0;font-variant-numeric:tabular-nums}
.standing .n{display:block;margin-top:5px;font-size:10.5px;line-height:1.45;color:var(--muted)}
.prevnext{display:flex;gap:10px 18px;flex-wrap:wrap;justify-content:space-between;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.prevnext a{display:block;max-width:44ch;text-decoration:none}
.prevnext .d{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.prevnext .t{display:block;margin-top:5px;font-family:var(--serif);font-size:17px;color:var(--ivory)}
.prevnext a:hover .t{color:var(--moon)}
.prevnext .nx{text-align:right;margin-left:auto}

/* ───────── surface index (entry page) ───────── */
.surfaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.surface{
  position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:2px;padding:17px 18px 15px;min-height:172px;
  background:linear-gradient(168deg,rgba(15,36,40,.5),rgba(5,11,14,.55));
  transition:border-color .3s,transform .3s,background .3s;
}
.surface::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(201,227,236,.5),rgba(147,196,176,.16))}
.surface:hover{border-color:rgba(201,227,236,.34);transform:translateY(-2px);background:linear-gradient(168deg,rgba(18,44,48,.58),rgba(6,13,16,.6))}
.surface .sx{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--dim)}
.surface h3{margin:10px 0 0;font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ivory);line-height:1.14}
.surface p{margin:9px 0 0;font-size:12.5px;line-height:1.56;color:rgba(203,219,224,.82);text-wrap:pretty}
.surface .go{margin-top:auto;padding-top:13px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--moon)}

/* ───────── arcs (account surface) ───────── */
.arcwrap{border:1px solid var(--line);border-radius:3px;background:linear-gradient(170deg,rgba(10,28,34,.5),rgba(4,9,12,.58));padding:clamp(16px,2.2vw,28px) clamp(12px,2vw,24px) 15px}
.arcwrap svg{display:block;width:100%;height:auto;overflow:visible}
.arc{fill:none;stroke:var(--moon);opacity:.44;transition:opacity .22s,stroke .22s;cursor:pointer}
.arcG.on .arc{opacity:1;stroke:#EAF5F8}
.arcG.off .arc{opacity:.13}
.arc-hit{fill:none;stroke:rgba(0,0,0,0);stroke-width:26;cursor:pointer}
.arc-dot{fill:var(--moon);opacity:.8;transition:opacity .22s}
.arcG.on .arc-dot{opacity:1}
.arcG.off .arc-dot{opacity:.2}
.arc-city{font-family:"Marcellus",serif;font-size:11px;letter-spacing:.2em;fill:rgba(206,224,229,.88);cursor:pointer;transition:fill .22s}
.arcG.on .arc-city{fill:#F2EDE5}
.arcG.off .arc-city{fill:rgba(150,172,178,.42)}
.arc-st{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;fill:rgba(126,152,159,.95);transition:fill .22s}
.arcG.off .arc-st{fill:rgba(104,121,126,.4)}
.arc-base{stroke:rgba(201,227,236,.22);stroke-width:1}
.arc-here{font-family:"Marcellus",serif;font-size:11px;letter-spacing:.2em;fill:var(--pale)}
.arc-dest{fill:var(--pale)}
.arc-dest-c{fill:none;stroke:var(--pale);stroke-width:1}
.arc-read{margin-top:16px;padding-top:13px;border-top:1px solid var(--line-2);display:flex;gap:8px 24px;flex-wrap:wrap;align-items:baseline;justify-content:space-between}
.arc-read .rd{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--moon);min-height:1.5em}
.arc-read .lg{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);text-align:right}
.firstparty{margin-top:16px;font-size:12px;line-height:1.6;color:rgba(158,183,191,.82);text-wrap:pretty;max-width:74ch}
.firstparty b{color:rgba(147,196,176,.95);font-weight:500}

/* ───────── colophon ───────── */
footer{padding:clamp(40px,5vw,72px) 0 30px}
.tblock{border:1px solid var(--line);border-radius:3px;overflow:hidden}
.tb{display:grid;grid-template-columns:180px minmax(0,1fr);border-top:1px solid var(--line-2)}
.tb:first-child{border-top:0}
.tb .k{padding:11px 14px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);border-right:1px solid var(--line-2);background:rgba(201,227,236,.025)}
.tb .v{padding:11px 14px;font-size:12px;line-height:1.55;color:rgba(206,221,226,.9);text-wrap:pretty}
.tb.strong .v{font-family:var(--title);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}
.fgrid{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:baseline;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-2)}
.fgrid .m{font-family:var(--title);letter-spacing:.34em;text-transform:uppercase;font-size:12.5px;color:var(--ivory)}
.fgrid .x{font-size:11px;color:var(--dim)}
.fgrid a{color:var(--muted);text-decoration:none;font-size:11px}
.fgrid a:hover{color:#EAF4F7;text-decoration:underline;text-underline-offset:3px}
.plate{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-wrap:wrap;justify-content:center;gap:1px 9px;
  padding:9px 14px;background:#040709;box-shadow:0 -14px 26px rgba(4,7,9,.92);
  border-top:1px solid rgba(201,227,236,.12);font-size:9.5px;letter-spacing:.08em;
  color:rgba(150,176,184,.82);text-align:center;line-height:1.55;
}
.plate span{white-space:nowrap}
.plate .sep{color:rgba(150,176,184,.38)}

@media (max-width:1000px){
  .split{grid-template-columns:minmax(0,1fr)}
  .rt-map{position:static}
  .specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specs div:nth-child(4n+1){border-left:1px solid var(--line-2)}
  .specs div:nth-child(2n+1){border-left:0}
}
@media (max-width:700px){
  body{font-size:14.5px}
  .rail{padding:11px 16px;gap:8px}
  .mark{font-size:13px;letter-spacing:.26em}
  .rail .tag{font-size:8px;letter-spacing:.14em;padding:3px 6px 2px}
  .rail .who .nm{display:none}
  /* Four surfaces, four visible items. Scrolling the nav hid III and IV
     behind the right edge with no affordance to find them. */
  .nav ul{padding:0 10px;flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}
  .nav a{padding:10px 10px 9px;font-size:9px;letter-spacing:.1em;gap:5px;min-height:40px}
  .nav a:first-child{padding-left:10px}
  /* The disclosure plate is the site's standing honesty statement; it must
     read in full on a phone, not run off both edges. */
  .plate{padding:8px 12px;gap:1px 7px;font-size:9px;line-height:1.5;text-align:center}
  .plate span{white-space:normal}
  .plate .sep{display:none}
  body{padding-bottom:96px}
  .shead{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .shead .smeta{grid-column:1/-1;text-align:left}
  .stop-hd{grid-template-columns:62px 24px minmax(0,1fr);row-gap:5px}
  .stop-num{width:24px;height:24px}
  .stop-right{grid-column:3;text-align:left;margin-top:2px}
  .stop-price{display:inline-block}
  .stop-dur{display:inline-block;margin:0 0 0 14px}
  .stop-in{padding-left:0;padding-right:0}
  .leg{padding-left:0}
  .readout{grid-template-columns:1fr 1fr}
  .readout div:nth-child(3),.readout div:nth-child(4){border-top:1px solid var(--line-2)}
  .readout div:nth-child(3){border-left:0}
  .bb-grid,.book-grid{grid-template-columns:minmax(0,1fr)}
  .chips{margin-left:0;width:100%}
  .tb,.kvrow{grid-template-columns:minmax(0,1fr)}
  .tb .k,.kvrow .k{border-right:0;border-bottom:1px solid var(--line-2)}
  .prop-head{grid-template-columns:minmax(0,1fr)}
  .prop-head .pprice{text-align:left}
  .specs{grid-template-columns:minmax(0,1fr)}
  .specs div{border-left:0}
  .standing{grid-template-columns:minmax(0,1fr)}
  .standing div{border-left:0;border-top:1px solid var(--line-2)}
  .standing div:first-child{border-top:0}
  .book-bar .bsort{margin-left:0;width:100%}
  .prevnext .nx{text-align:left;margin-left:0}
  .wp-l{font-size:14px;letter-spacing:.08em}
  .wp-p{font-size:11.5px}
  .wp-n{font-size:14px}
  .wp-c{stroke-width:1.6}
  .wp-lead{stroke-width:1.1}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms !important;animation-duration:.01ms !important}}
