@font-face{font-family:Source;src:url('assets/SourceSans3-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Source;src:url('assets/SourceSans3-SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--ink:#123c40;--paper:#f3f7f4;--accent:#fa9b7c;--mint:#d4e7df;--muted:#4c6567;--line:#c3d2cc;--white:#fff;scroll-behavior:smooth;scroll-padding-top:30px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 Source,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,summary,select{ -webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button{color:inherit}button,a,input,select,textarea,summary{outline-offset:6px} :focus-visible{outline:3px solid #bc4b28}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:white;z-index:10}.skip-link:focus{top:10px}.masthead{max-width:1480px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:24px;font-weight:600;line-height:1.1}.brand img{border-radius:12px}.brand-caption{display:block;font-size:13px;letter-spacing:.04em;font-weight:400;margin-top:5px}.header-contact{text-decoration:none;font-size:16px}.header-contact span{margin-left:22px;font-size:25px}.arrival{position:relative;max-width:1480px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;padding:64px 7% 0;overflow:hidden}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:600;margin:0 0 20px}.small-marker{display:inline-block;background:var(--accent);width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;margin-right:10px}.arrival h1{font-size:clamp(66px,8.4vw,124px);line-height:.92;letter-spacing:-.065em;font-weight:600;margin:34px 0 30px}.title-dot{color:#bd5136;font-size:.55em;margin-left:7px}.intro{font-size:23px;line-height:1.4;margin:0 0 32px}.text-link{font-size:16px;text-decoration:none;border-bottom:1px solid;padding-bottom:6px}.text-link span{margin-left:22px}.route-art{position:relative;min-height:450px;margin-top:5px}.arch{position:absolute;width:58%;height:325px;border-radius:180px 180px 0 0}.arch-back{right:0;top:15px;border:1px solid #a9bfb6;background:repeating-linear-gradient(90deg,transparent 0,transparent 15px,#d3dfd8 16px,#d3dfd8 17px);transform:rotate(12deg)}.arch-front{right:14%;top:55px;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:50px 32px 30px;transform:rotate(-5deg)}.arch-word{font-size:clamp(25px,3.2vw,47px);line-height:1.08;letter-spacing:-.025em}.arch-arrow{font-size:66px;line-height:1.1;color:var(--accent);align-self:flex-end}.route-drawing{position:absolute;inset:0;width:100%;height:100%;color:#568c80;pointer-events:none}.map-label{position:absolute;font-size:12px;background:var(--paper);padding:2px 8px}.label-start{bottom:17px;left:0}.label-end{top:18px;right:7%}.map-caption{position:absolute;right:0;bottom:0;font-size:12px;writing-mode:vertical-rl;letter-spacing:.07em}.arrival-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:55px;padding:19px 0 25px;font-size:13px;color:var(--muted)}.arrival-foot span span{margin-left:25px;font-size:20px}.guide-layout{max-width:1480px;margin:auto;padding:64px 7% 85px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:60px;border-top:1px solid var(--line)}.wayfinder{position:sticky;top:35px;align-self:start}.wayfinder .eyebrow{margin-bottom:28px}.wayfinder nav{position:relative;display:flex;flex-direction:column;gap:0}.wayfinder nav:before{content:'';position:absolute;top:24px;bottom:24px;left:9px;width:1px;background:#96afa4}.wayfinder nav a{display:flex;align-items:center;position:relative;gap:18px;padding:13px 0;text-decoration:none;color:var(--muted);font-size:17px}.nav-dot{width:19px;height:19px;border:1px solid #96afa4;background:var(--paper);border-radius:50%;flex-shrink:0}.wayfinder nav a.active{color:var(--ink);font-weight:600}.wayfinder nav a.active .nav-dot{background:var(--accent);border-color:var(--ink);box-shadow:inset 0 0 0 4px var(--paper)}.side-note{font-size:14px;color:var(--muted);line-height:1.5;margin-top:50px;padding-left:37px}.search-desk>label{font-size:25px;letter-spacing:-.02em}.search-field{display:flex;align-items:center;gap:13px;border-bottom:2px solid var(--ink);padding:12px 0;margin-top:9px}.search-field input{width:100%;min-width:0;background:none;border:0;color:var(--ink);font-size:17px;padding:8px 3px}.search-field input::placeholder{color:#597173;opacity:1}.search-hint{font-size:12px;white-space:nowrap;color:var(--muted)}.search-status{font-size:14px;margin:10px 0;min-height:22px;color:var(--muted)}.help-stop{padding-top:50px;scroll-margin-top:15px}.stop-heading{display:flex;gap:24px;padding-bottom:25px}.stop-symbol{flex-shrink:0;width:43px;height:47px;border:1px solid var(--ink);border-radius:24px 24px 0 0;text-align:center;background:var(--mint);font-size:29px;line-height:42px}.stop-heading .eyebrow{font-size:12px;margin:0 0 6px}.stop-heading h2{font-size:39px;font-weight:600;letter-spacing:-.04em;line-height:1.15;margin:0 0 13px}.stop-heading p:last-child{font-size:16px;line-height:1.5;color:var(--muted);margin:0;max-width:420px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:18px;font-weight:600}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;font-weight:400;flex-shrink:0}details[open] summary:after{content:'−'}summary:hover{color:#9f4026}.answer{font-size:17px;color:var(--muted);padding:0 40px 22px 0;max-width:650px}.answer p{margin:0 0 12px}.answer p:last-child{margin:0}.answer a{color:var(--ink)}.no-results{padding:50px 0}.no-results h2{font-size:32px;line-height:1.2}.text-button{background:none;border:0;border-bottom:1px solid;padding:5px 0}.contact{background:var(--ink);color:var(--paper);padding:75px max(7%,calc((100vw - 1270px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px;position:relative}.contact:before{content:'';position:absolute;left:7%;top:0;width:50px;height:8px;background:var(--accent)}.contact h2{font-size:clamp(45px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:28px 0}.contact-intro>p:not(.eyebrow){color:#c6dad4;font-size:19px}.email-address{font-size:clamp(19px,2.2vw,27px);display:block;margin-top:35px;text-decoration:none}.email-address span{color:var(--accent);margin-left:12px}.copy-email{background:none;color:#c6dad4;border:0;border-bottom:1px solid #6a8b85;padding:3px 0;margin-top:10px;font-size:14px}.copy-status{display:block;font-size:14px;color:var(--accent);min-height:24px}.contact-note{padding-top:9px}.contact-note label{font-size:15px;display:block;margin:0 0 10px}.contact-note select,.contact-note textarea{width:100%;color:var(--paper);background:#1c484b;border:1px solid #72918a;border-radius:0;padding:13px 14px;font-size:16px}.contact-note select{margin-bottom:25px}.contact-note textarea{resize:vertical;min-height:135px}.contact-note textarea::placeholder{color:#bdd0cb;opacity:1}.form-note,.mail-note{font-size:13px;color:#c6dad4;line-height:1.45}.form-note{margin:9px 0 24px}.send-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--accent);color:var(--ink);border:0;padding:15px 20px;font-weight:600;transition:background .2s}.send-button:hover{background:#ffc0a9}.send-button span{font-size:24px}.mail-note{margin:13px 0 0}footer{padding:35px 5%;max-width:1480px;margin:auto;display:flex;align-items:center;gap:30px;font-size:13px}footer p{color:var(--muted);flex:1}.footer-brand{font-size:23px;font-weight:600;text-decoration:none}footer nav{display:flex;gap:24px}footer>span{color:var(--muted)}
@media(min-width:1500px){.contact{padding-left:calc((100vw - 1270px)/2);padding-right:calc((100vw - 1270px)/2)}}
@media(max-width:1050px){.guide-layout{grid-template-columns:215px minmax(0,1fr);gap:35px;padding-left:5%;padding-right:5%}.contact{gap:55px;padding-left:5%;padding-right:5%}.search-hint{display:none}.arrival{padding-left:5%;padding-right:5%}.route-art{min-height:400px}.arch{height:290px}.label-start{bottom:0}.arrival h1{margin-top:30px}.arrival-foot{margin-top:35px}footer{gap:20px}footer p{display:none}footer nav{margin-left:auto}}
@media(max-width:720px){body{font-size:17px}.masthead{padding:20px 6%}.brand{font-size:22px}.header-contact{font-size:14px}.header-contact span{margin-left:7px}.arrival{padding:42px 6% 0;grid-template-columns:1fr}.arrival h1{font-size:clamp(68px,15vw,105px)}.intro{font-size:20px}.arrival-copy{position:relative;z-index:1}.route-art{margin-top:30px;min-height:310px;max-width:420px;width:100%;justify-self:end}.arch{height:240px;width:55%}.arch-back{right:8%;top:0}.arch-front{right:20%;top:25px;padding:35px 26px 20px}.arch-word{font-size:33px}.arch-arrow{font-size:46px}.label-end{right:9%;top:3px}.label-start{bottom:5px}.arrival-foot{font-size:11px;gap:15px;margin-top:28px}.arrival-foot>span:last-child{white-space:nowrap}.arrival-foot span span{margin-left:5px}.guide-layout{display:block;padding:30px 6% 50px}.wayfinder{position:static;margin-bottom:35px}.wayfinder .eyebrow{margin-bottom:12px}.wayfinder nav{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.wayfinder nav:before{display:none}.wayfinder nav a{font-size:14px;padding:8px 0;gap:10px}.nav-dot{width:14px;height:14px}.wayfinder nav a.active .nav-dot{box-shadow:inset 0 0 0 2px var(--paper)}.side-note{display:none}.search-desk>label{font-size:23px}.search-field input{font-size:16px}.help-stop{padding-top:35px}.stop-heading{gap:17px}.stop-heading h2{font-size:33px}.stop-heading p:last-child{font-size:15px}.stop-symbol{width:36px;height:41px;font-size:25px;line-height:36px}.stop-heading .eyebrow{font-size:11px}summary{font-size:17px;padding:18px 0}.answer{padding-right:18px;font-size:16px}.contact{display:block;padding:48px 6%}.contact h2{font-size:56px}.contact-note{margin-top:35px;border-top:1px solid #53746f;padding-top:30px}.email-address{font-size:26px}footer{padding:28px 6%;flex-wrap:wrap;gap:20px}.footer-brand{font-size:21px}footer>span{width:100%}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
