@font-face{font-family:FallbackSerif;src:local('Georgia');font-display:swap}
:root{--paper:#fffafa;--navy:#000080;--slate:#6d8196;--blue:#add8e6;--ink:#40566e;--line:#d0dae4;--serif:FallbackSerif,Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;border-radius:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--navy);outline-offset:5px}.wrap{width:min(1390px,86%);margin-inline:auto}.header{min-height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:inline-flex;align-items:center;gap:15px;line-height:1}.brand span{font-size:29px;letter-spacing:-1.2px;font-weight:700}.brand img{object-fit:contain}.header nav{display:flex;align-items:center;gap:42px;color:var(--ink);font-size:14px;letter-spacing:.03em}.header nav>a:not(.button):hover{color:var(--navy);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--navy);color:white;border:1px solid var(--navy);padding:13px 24px;font-size:14px;letter-spacing:.025em;transition:background .2s,color .2s}.button:hover{background:#202061}.button span{font-size:24px;line-height:1}.button.outline{background:transparent;color:var(--navy);padding:9px 20px}.button.outline:hover{background:#eaf0f4}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:center;padding:90px 70px 75px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.27em;font-weight:500;margin:0 0 23px;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(38px,3.65vw,60px);margin-bottom:24px}h2{font-size:clamp(32px,3vw,46px);margin-bottom:24px}h3{font-size:23px;margin:0}.intro{color:var(--ink);font-size:16px;margin-bottom:30px;line-height:1.85}.mosaic{position:relative;display:grid;grid-template-columns:2fr .82fr;grid-template-rows:1fr 1fr;gap:9px;aspect-ratio:1.65}.photo{background-image:linear-gradient(#8ab1d123,#6d819612),url('assets/transport.png');background-size:200% 200%;filter:saturate(.65);background-repeat:no-repeat;aspect-ratio:1.775}.photo-1{background-position:0 0}.photo-2{background-position:100% 0}.photo-3{background-position:0 100%}.photo-4{background-position:100% 100%}.hero-photo{grid-row:1/3;aspect-ratio:auto;background-size:auto,355% 200%;background-position:center,left top}.logo-tile{display:grid;place-items:center;background:#c8e0e9}.logo-tile img{width:45%;height:auto}.detail-photo{aspect-ratio:auto;background-size:auto,400% 200%;background-position:center,right top}.arrow-tile{position:absolute;bottom:0;left:0;width:70px;height:70px;background:var(--navy);color:white;border-top:7px solid var(--paper);border-right:7px solid var(--paper);display:grid;place-items:center;font-size:36px;font-weight:200}.section{padding-block:48px 62px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:8px}.section-heading>p{color:var(--slate);font-size:14px;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{border:1px solid var(--line);transition:border-color .2s,transform .2s}.card:hover{border-color:var(--navy);transform:translateY(-4px)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 17px 8px}.card-title span{font-size:24px}.card p{color:var(--ink);font-size:12px;margin:0;padding:0 17px 20px}.image-note{font-size:11px;color:var(--slate);margin:10px 0 0}.mission{border:0;padding-top:20px}.mission-frame{border:1px solid #9caec1;padding:18px;display:grid;grid-template-columns:.85fr 1.3fr;gap:0}.mission-aside{background:#d7e9ef;padding:48px;display:flex;flex-direction:column;align-items:start;overflow:hidden}.mission-aside .year{font-family:var(--serif);font-size:clamp(48px,4.9vw,76px);line-height:1.05;letter-spacing:-.04em;margin:12px 0 22px}.mission-aside>p:not(.year){color:var(--ink)}.route-art{width:100%;min-height:110px;flex:1;display:flex;align-items:center;gap:18px}.route-art span{height:1px;background:#7f9fb4;width:75%;position:relative}.route-art span:before{content:'';width:7px;height:7px;border:1px solid var(--navy);background:#d7e9ef;position:absolute;top:-4px;left:0}.small{font-size:10px;letter-spacing:.22em;margin-bottom:0}.mission-copy{padding:36px 45px}.mission-copy>p:not(.eyebrow){font-size:15px;color:var(--ink);line-height:1.85}.text-link{font-size:14px;display:inline-block;margin-top:15px;border-bottom:1px solid var(--slate);padding-bottom:7px}.contact{border:0;padding-top:15px;padding-bottom:70px}.contact-frame{border:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.3fr}.contact-copy{background:#e5eff3;padding:50px 44px;display:flex;align-items:start;flex-direction:column}.contact-copy h2{font-size:clamp(38px,3.3vw,53px)}.contact-copy>p:not(.eyebrow){color:var(--ink);font-size:15px;max-width:290px}.email{font-size:15px;border-bottom:1px solid #9caec1;overflow-wrap:anywhere;margin-top:15px;padding-bottom:5px}.contact-foot{display:flex;align-items:center;gap:22px;font-size:12px;color:var(--ink);margin-top:auto;padding-top:60px}.contact-form{padding:40px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;letter-spacing:.02em;margin-bottom:20px;color:var(--ink)}label small{font-size:11px;color:var(--slate)}label>span{color:var(--navy)}input,textarea,select{display:block;width:100%;color:var(--navy);background:transparent;border:0;border-bottom:1px solid #aebcca;padding:10px 0;font-size:14px;min-height:44px}textarea{resize:vertical;min-height:105px}input::placeholder,textarea::placeholder{color:#75869a;opacity:1}.form-note{font-size:11px;color:var(--ink);line-height:1.7;margin-bottom:18px}.privacy-link{border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit}.submit{width:100%;margin-top:10px}.submit:disabled{opacity:.6;cursor:wait}#form-status{font-size:13px;line-height:1.5;color:var(--ink);margin:10px 0;overflow-wrap:anywhere}#form-status.error{color:#963929}#form-status.success{color:#265c44}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{border-top:1px solid var(--line);padding-block:28px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--ink)}.footer p{margin:0}.footer-brand span{font-size:19px}.footer>a:last-child{font-size:22px}dialog{border:1px solid #9caec1;background:var(--paper);color:var(--ink);padding:32px;max-width:650px;width:calc(100% - 32px);max-height:85vh;font-size:14px}dialog::backdrop{background:#14274488}.dialog-head{display:flex;justify-content:space-between;gap:20px}.dialog-head h2{font-size:29px;color:var(--navy)}.dialog-head button{border:0;background:transparent;font-size:28px;align-self:start;color:var(--navy)}.pending{padding:15px;background:#e7eef3}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}
@media(min-width:1700px){.hero{padding-block:105px}}@media(max-width:1150px){.hero{padding:65px 15px;gap:40px}.header nav{gap:22px}.brand span{font-size:25px}.card-title{padding:13px 12px 8px}h3{font-size:20px}.card p{padding-inline:12px}.mission-aside{padding:32px}.mission-copy{padding:28px}.contact-copy{padding:35px 28px}.contact-form{padding:30px}.form-row{gap:14px}}
@media(max-width:800px){.wrap{width:90%}.header{min-height:85px;position:relative}.header .brand span{font-size:24px}.header .brand img{width:32px;height:32px}.menu-toggle{display:flex;gap:16px;align-items:center;background:transparent;border:1px solid var(--line);padding:7px 11px;font-size:13px;color:var(--navy)}.header nav{display:none;position:absolute;top:84px;right:0;left:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:25px;border:1px solid var(--line);z-index:5}.header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:35px;padding:47px 0}.hero h1 br{display:none}.hero h1{max-width:480px}.hero .intro{font-size:15px}.hero .eyebrow{font-size:10px}.mosaic{width:100%;max-width:570px;justify-self:center}.cards{grid-template-columns:1fr 1fr;gap:18px}.section{padding-block:36px}.mission-frame,.contact-frame{grid-template-columns:1fr}.mission-aside{min-height:250px;position:relative;padding:30px}.mission-aside .year{font-size:51px}.mission-aside .year br{display:none}.route-art{position:absolute;right:30px;bottom:35px;width:100px;min-height:0}.mission-aside .small{margin-top:15px}.mission-copy{padding:35px 14px 20px}.contact-copy{padding:32px}.contact-foot{padding-top:25px;margin-top:0}.contact-copy h2 br{display:none}.contact-copy h2{max-width:300px}.contact-copy>p:not(.eyebrow){max-width:440px}.footer{flex-wrap:wrap}.footer p{display:none}.contact-form{padding:28px}.section-heading>p{font-size:12px}}
@media(max-width:440px){.cards{gap:12px}.card-title h3{font-size:18px}.card-title{gap:4px;padding:12px 9px 8px}.card-title span{font-size:19px}.card p{font-size:11px;padding:0 9px 14px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:22px}.section-heading>p{display:none}h1{font-size:39px}.mission-copy h2{font-size:31px}.mission-copy h2 br{display:none}.eyebrow{letter-spacing:.2em}.footer{gap:15px}.email{font-size:13px}.arrow-tile{width:54px;height:54px;font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep the van centered inside the narrow hero crop. */
.hero-photo{background-position:center,14% top}

.mission-frame>* , .contact-frame>* , .hero>*{min-width:0}select{min-width:0}.text-link{max-width:100%}
@media(max-width:800px){.mission-frame,.contact-frame,.hero{grid-template-columns:minmax(0,1fr)}}

/* Shared vector icons: identical geometry on desktop and mobile. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;overflow:visible;pointer-events:none}.arrow-tile>.ui-icon{width:.78em;height:.78em}.menu-toggle .ui-icon{width:16px;height:16px}
