/* Underground Network Canada — all styles. Safe to edit colours here. */
:root{--paper:#F6F3EC;--ink:#141310;--body:#38342B;--muted:#6E6757;--faint:#8A8271;--rule:#E1DAC9;--accent:#A33F26;--footer:#EFEADF;}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Source Serif 4',Georgia,serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
a{color:var(--accent)}
a:hover{color:var(--ink)}
::selection{background:#E8DFCB}
.wrap{max-width:1080px;margin:0 auto;padding-left:22px;padding-right:22px}
.wrap.narrow{max-width:760px}
.wrap.mid{max-width:900px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.header-inner{padding-top:14px;padding-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.logo{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:10px;font-family:Archivo,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.logo-a{font-weight:800;font-size:15px}
.logo-b{font-weight:500;font-size:13px;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav-link{font-family:Archivo,sans-serif;font-size:13px;letter-spacing:.04em;text-decoration:none;color:var(--ink);padding:8px 10px}
.nav-link:hover,.nav-link.is-current{color:var(--accent)}
.btn{font-family:Archivo,sans-serif;font-weight:600;font-size:16px;text-decoration:none;color:var(--paper);background:var(--ink);padding:18px 28px;min-height:44px;display:inline-flex;align-items:center}
.btn:hover{background:var(--accent);color:var(--paper)}
.btn-sm{font-size:13px;padding:11px 16px;margin-left:8px;letter-spacing:.04em}
.btn-invert{background:var(--paper);color:var(--ink);margin-top:44px}
.btn.mt{margin-top:44px}
.btn-ghost{font-family:Archivo,sans-serif;font-size:16px;text-decoration:none;color:var(--ink);padding:18px 6px;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid #C9BFA8}
.btn-ghost:hover{color:var(--accent);border-bottom-color:var(--accent)}
.eyebrow{font-family:Archivo,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin:0 0 22px}
.display{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(42px,8.5vw,92px);line-height:.94;letter-spacing:-.025em;margin:0;max-width:14ch;text-wrap:balance}
.display-sm{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(34px,6.5vw,66px);line-height:.99;letter-spacing:-.025em;margin:0;max-width:20ch;text-wrap:balance}
.hero{padding-top:72px;padding-bottom:64px}
.lede{font-size:clamp(18px,2.3vw,22px);line-height:1.55;max-width:52ch;margin:30px 0 0;color:var(--body)}
.lede.light{color:#E4DDCC}
.body{font-size:18px;line-height:1.6;color:var(--body);margin:16px 0 0;max-width:52ch}
.body.wide{max-width:56ch;margin-bottom:28px}
.muted-light{font-size:17px;line-height:1.6;max-width:56ch;margin:20px 0 34px;color:#B7AF9C}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;align-items:center}
.rule-top{border-top:1px solid var(--rule)}
.pad-top{padding-top:28px}
.pad-y{padding-top:40px;padding-bottom:40px}
.pad-bottom{padding-bottom:80px}
.page-head{padding-top:72px}
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:0}
.door{padding:48px 34px;border-right:1px solid var(--rule)}
.door:first-child{padding-left:0}
.door:last-child{border-right:0;padding-right:0}
.door h2{font-family:Archivo,sans-serif;font-weight:700;font-size:26px;letter-spacing:-.01em;margin:0 0 16px}
.door p{font-size:17px;line-height:1.6;color:var(--body);margin:0 0 14px}
.door ul{margin:0 0 24px;padding-left:18px;font-size:17px;line-height:1.75;color:var(--body)}
.link-caps{font-family:Archivo,sans-serif;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--accent);display:inline-flex;min-height:44px;align-items:center}
.link-caps:hover{color:var(--ink)}
.dark{background:var(--ink);color:var(--paper)}
.dark .wrap{padding-top:78px;padding-bottom:78px}
.dark .eyebrow{color:var(--faint)}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.tag{font-family:Archivo,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border:1px solid #3B372E;padding:10px 15px;color:#E4DDCC}
.pull{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(20px,3vw,28px);line-height:1.3;margin:34px 0 0;color:#E8A27F;max-width:24ch}
.section-label{font-family:Archivo,sans-serif;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 24px}
.section-label.accent{color:var(--accent);letter-spacing:.06em;margin:0}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px}
.grid-cards h3{font-family:Archivo,sans-serif;font-weight:700;font-size:22px;margin:0 0 10px}
.grid-cards p{font-size:17px;line-height:1.6;color:var(--body);margin:0}
.grid-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.grid-cells.plain{list-style:none;margin:0;padding:0}
.cell{background:var(--paper);padding:20px 18px;font-size:17px}
.booking-section{padding-bottom:80px}
.booking{border:1px solid var(--rule);background:#FFFCF5}
.booking-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--rule)}
.booking-bar .section-label{margin:0}
.booking-frame{width:100%;height:660px;border:0;display:block}
.fineprint{font-size:14px;line-height:1.6;color:var(--muted);margin:16px 0 0;max-width:60ch}
.placeholder-note{font-family:Archivo,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:14px 0 0}
.pathway{list-style:none;margin:0;padding:0}
.pathway li{display:flex;align-items:baseline;gap:20px;padding:18px 0;border-bottom:1px solid var(--rule)}
.pathway .num{font-family:Archivo,sans-serif;font-size:12px;letter-spacing:.12em;color:#B3AA96;min-width:28px}
.pathway .step{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(22px,4vw,38px);letter-spacing:-.015em;text-transform:uppercase}
.res-list{border-top:1px solid var(--rule)}
.res{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:28px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.res:hover{color:var(--accent)}
.res-title{display:block;font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(22px,3.4vw,30px);letter-spacing:-.015em;margin-bottom:8px}
.res-blurb{display:block;font-size:17px;line-height:1.6;color:#5C564A;max-width:56ch}
.arrow{font-family:Archivo,sans-serif;font-size:22px}
.site-footer{border-top:1px solid var(--rule);background:var(--footer)}
.footer-inner{padding-top:44px;padding-bottom:44px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}
.footer-name{font-family:Archivo,sans-serif;font-weight:800;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.footer-tag{font-size:16px;color:#5C564A;margin:0}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.footer-nav a{font-family:Archivo,sans-serif;font-size:14px;text-decoration:none;color:var(--ink)}
.footer-nav a:hover{color:var(--accent)}
@media (max-width:760px){
  .door{padding:36px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .door:last-child{border-bottom:0}
  .hero{padding-top:48px}
  .dark .wrap{padding-top:56px;padding-bottom:56px}
}
