:root{--paper:#f5f4ed;--ink:#243431;--muted:#5f6b65;--green:#388927;--blue:#075788;--warm:#966243;--line:#dce1d7;--dark:#14333c;--teal:#236a69}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #bd803d;outline-offset:6px}::selection{background:#cee0c7}.wrap{max-width:1216px;margin:auto;padding-left:40px;padding-right:40px}.header{background:rgba(245,244,237,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-wrap{max-width:1216px;margin:auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.brand img{width:48px;height:48px;object-fit:contain}.wordmark{display:inline-flex;line-height:1.1;letter-spacing:-.06em;font-size:31px;font-weight:800}.wordmark>span:first-child{color:var(--green)}.wordmark>span:last-child{color:var(--blue)}nav{display:flex;align-items:center;gap:30px}nav a{font-size:14px;text-decoration:none;font-weight:600}nav a:hover{color:var(--teal)}.nav-contact{border:1px solid #b5c3b5;border-radius:50px;padding:9px 18px}.nav-contact span{margin-left:10px}.skip{position:fixed;top:-100px;left:16px;z-index:30;background:white;padding:12px}.skip:focus{top:12px}.hero{padding-top:76px;padding-bottom:84px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:700;color:var(--teal);margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,7.3vw,88px);font-weight:500;letter-spacing:-.065em;line-height:1.04;margin-bottom:28px}.dot{color:var(--green)}.hero-lead{max-width:625px;font-size:21px;line-height:1.6;color:var(--muted);margin-bottom:44px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choice{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;padding:30px;text-decoration:none;background:#fffef9;transition:transform .2s,box-shadow .2s}.choice:hover{transform:translateY(-4px);box-shadow:0 12px 30px #14333c0d}.choice-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.mini-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}.arrow{font-size:25px;color:var(--teal)}.personal-brand{display:flex;align-items:center;gap:14px;margin-bottom:25px}.personal-brand img{width:58px;height:58px;object-fit:contain}.personal-brand .wordmark{font-size:37px}.choice h2{font-size:23px;font-weight:500;letter-spacing:-.03em;margin-bottom:10px}.choice p{color:var(--muted);max-width:375px;margin-bottom:22px}.choice-link{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.technical-choice{background:#edf2ed}.logo-panel{background:white;border-radius:9px;padding:10px;margin-bottom:15px}.logo-panel img{display:block;width:100%}.activities{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:14px;line-height:1.7;margin-bottom:22px}.personal-section{background:#eceee4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:88px 0}.section-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.section-intro h2,.engineering-intro h2,.process-section h2,.contact-section h2{font-size:clamp(32px,4vw,47px);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin-bottom:25px}.section-intro>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:13px 22px;border-radius:50px;font-size:13px;font-weight:700;text-decoration:none;line-height:1.5}.warm{background:var(--warm);color:white}.teal{background:var(--teal);color:white}.light{background:#eff5eb;color:var(--dark)}.button:hover{filter:brightness(1.08)}.service{display:flex;gap:25px;padding:28px 0;border-top:1px solid #c7d0c2}.service-number{font-size:11px;letter-spacing:.09em;color:var(--teal);font-weight:700;flex-shrink:0}.service h3{font-size:24px;font-weight:500;letter-spacing:-.025em;margin-bottom:13px}.service p{font-size:15px;color:var(--muted);margin-bottom:0}.care-note{font-size:12px;color:var(--muted);margin:15px 0 0}.engineering-section{background:var(--dark);color:#f6f7ef;padding:86px 0}.engineering-section .eyebrow{color:#a9c7b5}.engineering-intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin-bottom:48px}.engineering-intro p:not(.eyebrow){color:#c2d2d1;max-width:500px;margin-bottom:0}.full-logo{background:white;border-radius:12px;padding:18px}.full-logo img{display:block}.engineering-services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.engineering-services article{padding:27px 24px 24px;border:1px solid #3b575b;border-radius:14px;background:#ffffff04;display:flex;flex-direction:column}.engineering-services .service-number{color:#a9c7b5;margin-bottom:25px}.engineering-services h3{font-size:26px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin-bottom:22px;min-height:63px}.engineering-services p{font-size:14px;color:#c2d2d1;margin-bottom:24px}.engineering-services ul{list-style:none;padding:20px 0 0;margin:auto 0 0;border-top:1px solid #3b575b;font-size:12px;color:#d9e4de}.engineering-services li{position:relative;padding-left:15px;margin-bottom:10px}.engineering-services li:before{content:'•';position:absolute;left:0;color:#a9c7b5}.project-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:38px}.project-strip p{margin:0;font-size:15px;max-width:500px}.process-section{padding-top:82px;padding-bottom:82px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:42px}.steps article{border-top:1px solid #b7c8b6;padding-top:20px}.steps span{font-size:12px;color:var(--teal)}.steps h3{font-size:23px;font-weight:500;letter-spacing:-.025em;margin:15px 0 10px}.steps p{font-size:14px;color:var(--muted);margin-bottom:0}.contact-section{background:#e9eee8;padding:76px 0 45px;border-top:1px solid var(--line)}.contact-section h2{margin-bottom:15px}.contact-lead{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.contact-card{border:1px solid #ccd5ca;background:#fafbf6;border-radius:16px;padding:30px;display:flex;align-items:flex-start;flex-direction:column}.contact-card .personal-brand{margin-bottom:20px;height:48px}.contact-card .personal-brand img{width:44px;height:44px}.contact-card .wordmark{font-size:29px}.contact-brand{font-size:23px;font-weight:700;letter-spacing:-.025em;color:var(--blue);margin-bottom:20px;height:48px;display:flex;align-items:center}.contact-card h3{font-size:19px;font-weight:500;margin-bottom:4px}.contact-card>p:not(.contact-brand){font-size:14px;color:var(--muted);margin-bottom:18px}.contact-detail{font-size:15px;text-decoration:none;margin-bottom:9px;overflow-wrap:anywhere}.contact-detail:hover{text-decoration:underline}.contact-detail span{margin-left:8px}.contact-card .button{margin-top:22px}.location{font-size:12px;color:var(--muted);margin:27px 0 0}.footer{display:flex;justify-content:space-between;gap:30px;padding-top:34px;padding-bottom:34px}.footer .brand img{width:38px;height:38px}.footer .wordmark{font-size:25px}.footer p{font-size:12px;color:var(--muted);margin:10px 0 0}.publisher{text-align:right}.publisher p{margin-top:0;margin-bottom:7px}@media(max-width:950px){nav{gap:18px}.section-layout{gap:40px}.engineering-intro{gap:30px}.engineering-services{gap:12px}.engineering-services article{padding:23px 18px}.engineering-services h3{font-size:23px}.wrap,.nav-wrap{padding-left:28px;padding-right:28px}}@media(max-width:700px){html{scroll-padding-top:120px}.wrap{padding-left:22px;padding-right:22px}.nav-wrap{padding:14px 22px;flex-wrap:wrap;gap:13px}.brand img{width:36px;height:36px}.wordmark{font-size:26px}nav{width:100%;justify-content:space-between;gap:8px}nav a{font-size:12px}.nav-contact{padding:5px 10px}.nav-contact span{margin-left:4px}.hero{padding-top:43px;padding-bottom:48px}h1{font-size:clamp(43px,11vw,68px)}.hero-lead{font-size:18px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:17px}.choices,.section-layout,.engineering-intro,.engineering-services,.steps,.contact-grid{grid-template-columns:1fr}.choices{gap:16px}.choice{padding:24px}.choice h2{font-size:21px}.personal-brand .wordmark{font-size:32px}.personal-section,.engineering-section{padding:53px 0}.section-layout{gap:32px}.service{gap:17px;padding:23px 0}.engineering-intro{gap:30px;margin-bottom:28px}.full-logo{padding:12px}.engineering-services{gap:16px}.engineering-services h3{min-height:0;font-size:25px}.engineering-services h3 br{display:none}.engineering-services h3 br:after{content:' '}.engineering-services article{padding:25px}.project-strip{align-items:flex-start;flex-direction:column;gap:20px}.process-section{padding-top:53px;padding-bottom:53px}.steps{gap:27px;margin-top:28px}.contact-section{padding:53px 0 35px}.contact-card{padding:24px}.contact-brand{font-size:21px}.footer{flex-direction:column;gap:20px;padding-top:25px;padding-bottom:25px}.publisher{text-align:left}.contact-detail{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.choice{transition:none}.choice:hover{transform:none}}

.nav-wrap{gap:20px}.language-switch{display:flex;gap:4px;flex-shrink:0}.language-switch a{padding:5px 7px;font-size:11px;letter-spacing:.04em;text-decoration:none;border-radius:5px;line-height:1.5}.language-switch a[aria-current=page]{background:var(--teal);color:white}.language-switch a:hover{background:#dce5d9}.language-switch a[aria-current=page]:hover{background:var(--teal)}@media(min-width:701px) and (max-width:1000px){.nav-wrap{flex-wrap:wrap}.nav-wrap nav{order:3;width:100%;justify-content:center}.language-switch{margin-left:auto}}@media(max-width:700px){.nav-wrap nav{order:3}.language-switch{margin-left:auto}.header nav a{font-size:11px}.header nav{gap:6px}}

/* Approved Micheline experience, isolated from Engineering styling. */
.micheline-section{padding:0;border-top:1px solid var(--line);background:#faf8f3}.micheline-section iframe{display:block;width:100%;height:2400px;border:0;background:#faf8f3}

/* Informatics first, with railway support as a complementary activity. */
.railway-support{margin-top:26px;padding:23px 0 0;border-top:1px solid #3b575b;max-width:900px}.railway-support h3{font-size:18px;font-weight:500;line-height:1.4;margin-bottom:9px}.railway-support p{font-size:14px;color:#c2d2d1;margin-bottom:0}.contact-brand{height:auto;min-height:48px;line-height:1.35;overflow-wrap:anywhere}

/* Official Engineering logo in the contact section. */
.contact-card .contact-brand{height:auto;min-height:48px;width:100%;margin-bottom:20px}
.contact-engineering-logo{display:block;width:100%;max-width:320px;height:auto;object-fit:contain}
