@font-face{font-family:Barlow;src:url('assets/barlow-condensed-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--ink:#102f36;--orange:#ff713b;--paper:#f2f5f4;--muted:#52666a;--line:#cdd7d7;--body:Manrope,Arial,sans-serif;--display:Barlow,'Arial Narrow',sans-serif;--gutter:clamp(24px,5.2vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ff713b;outline-offset:6px}::selection{background:var(--orange);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:.98;letter-spacing:-.015em}h2{font-size:clamp(62px,7vw,108px)}p{max-width:64ch}button{border:0;background:none;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.section-wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1800px;margin-inline:auto}.skip-link{position:fixed;z-index:50;left:20px;top:14px;padding:12px 20px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid transparent;transition:border-color .2s}.header.is-scrolled{border-color:var(--line)}.brand{display:flex;align-items:center;gap:13px;line-height:1;flex-shrink:0}.brand-name{font-family:var(--display);font-size:49px;letter-spacing:-2px;font-weight:600}.brand-period{color:var(--orange)}.brand-sub{font-size:10px;font-weight:800;letter-spacing:.16em;padding-top:7px}.navigation{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:650}.navigation>a:not(.nav-contact){position:relative;padding-block:15px}.navigation>a:not(.nav-contact)::after{content:'';height:2px;background:var(--ink);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.navigation>a:hover::after{transform:scaleX(1)}.nav-contact{border:1px solid #a9b9bb;border-radius:2px;padding:13px 23px;transition:background .2s,color .2s}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}
.hero{position:relative;color:white;isolation:isolate;min-height:700px;height:calc(100svh - 94px);max-height:950px;background:var(--ink);overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media img{object-position:center 53%;filter:saturate(.6);animation:arrive 1.3s ease-out both}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,32,41,.82) 0%,rgba(7,32,41,.43) 49%,rgba(7,32,41,.12) 100%),linear-gradient(0deg,rgba(7,32,41,.77),transparent 40%)}.hero-content{padding:49px var(--gutter) 155px;position:relative;max-width:1800px;margin:auto}.hero-location{font-size:13px;display:flex;align-items:center;gap:11px;letter-spacing:.01em}.location-mark{width:8px;height:8px;background:var(--orange)}.hero-since{margin-left:26px;opacity:.78}.hero h1{font-size:clamp(95px,10.8vw,164px);line-height:.91;letter-spacing:-.018em;margin-top:47px;max-width:12ch}.hero-description{font-size:17px;max-width:390px;line-height:1.7;margin-top:31px;color:#ecf0f1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;font-weight:800;padding:18px 22px;min-height:59px;border-radius:2px}.button-orange{background:var(--orange);color:var(--ink);margin-top:29px;transition:background .2s}.button-orange:hover{background:#ff946b}.button-square{height:10px;width:10px;border:2px solid currentColor}.hero-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);border-top:1px solid #ffffff40;display:flex;align-items:center;justify-content:space-between;padding:23px 0 27px;gap:20px}.hero-bottom>p{font-size:13px;line-height:1.55;color:#e0e7e8}.hero-explore{display:flex;align-items:center;gap:23px;font-size:13px}.scroll-line{display:block;width:1px;height:25px;background:#ffffff70;position:relative}.scroll-line::after{content:'';position:absolute;bottom:0;width:6px;height:6px;border-right:1px solid white;border-bottom:1px solid white;transform:translateX(-3px) rotate(45deg)}.photo-note{font-size:11px;color:white;text-decoration:underline;text-underline-offset:4px;opacity:.78;min-height:44px;padding:8px 0}.photo-note:hover{opacity:1}
.services{padding-top:90px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:65px}.section-label{font-size:14px;display:flex;align-items:center;gap:13px;font-weight:700}.section-label::before{content:'';height:8px;width:8px;background:var(--orange);flex-shrink:0}.section-heading>p{font-size:14px;line-height:1.65;width:300px;color:var(--muted)}.service-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:11%}.service-intro>p{max-width:350px;color:var(--muted);margin-top:30px;font-size:16px}.text-link{font-size:14px;font-weight:750;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:29px}.text-link:hover{color:#9c3b17}.service{border-top:1px solid var(--line)}.service summary{list-style:none;cursor:pointer;font-family:var(--display);font-size:41px;line-height:1.2;display:flex;align-items:center;justify-content:space-between;padding:26px 0;gap:22px}.service summary::-webkit-details-marker{display:none}.expand-icon{width:29px;height:29px;position:relative;flex-shrink:0}.expand-icon::before,.expand-icon::after{content:'';position:absolute;background:var(--ink);width:16px;height:1.5px;top:14px;left:6px;transition:transform .2s}.expand-icon::after{transform:rotate(90deg)}details[open] .expand-icon::after{transform:rotate(0)}.service-body{padding:0 55px 30px 0}.service-body p{font-size:15px;color:var(--muted);max-width:460px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.service-tags span{font-size:12px;border:1px solid var(--line);padding:4px 10px;border-radius:3px}
.projects{background:var(--ink);color:var(--paper);padding:83px 0 94px}.projects .section-heading>p{color:#b7c8ca}.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.projects-heading>p{font-size:16px;color:#b7c8ca;width:300px;margin-bottom:6px}.project-item{display:grid;grid-template-columns:1fr 2fr 1fr;gap:28px;border-top:1px solid #ffffff30;padding:35px 0 38px;transition:background .2s}.project-item:last-child{border-bottom:1px solid #ffffff30}.project-meta{display:flex;flex-direction:column;gap:7px;font-size:13px}.project-meta span+span{color:#a2bbbf}.project-type{font-size:13px;color:#b7c8ca;display:block;margin-bottom:16px}.project-name h3{font-size:clamp(38px,4vw,62px);line-height:1.04}.project-action{align-self:center;justify-self:end;min-width:145px}.project-action>p{font-size:12px;color:#b7c8ca;margin-bottom:17px}.project-button{border:1px solid #789095;display:flex;width:145px;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;border-radius:2px;transition:color .2s,background .2s,border-color .2s}.project-button span{font-size:24px;line-height:1}.project-button:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:110px;padding-bottom:110px}.about-photo{position:relative;aspect-ratio:4/4.6;isolation:isolate;overflow:hidden;background:#54737a}.about-photo img{filter:saturate(.6);object-position:center}.about-photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102f36d9);z-index:0;pointer-events:none}.photo-caption{position:absolute;left:30px;right:30px;bottom:56px;font-family:var(--display);font-size:31px;color:white;line-height:1.1;z-index:1;max-width:11ch}.about-photo .photo-note{position:absolute;bottom:13px;left:30px;z-index:1}.about-content .section-label{margin-bottom:32px}.about-content h2{font-size:clamp(64px,6.1vw,93px);margin-bottom:30px}.about-content>p{font-size:15px;color:var(--muted);max-width:470px;margin-bottom:16px}.about-facts{display:flex;gap:50px;margin-top:33px;padding-top:27px;border-top:1px solid var(--line)}.about-facts b{display:block;font-family:var(--display);font-weight:600;font-size:42px;line-height:1.15}.about-facts span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.contact{background:var(--orange);padding:70px 0 72px}.contact .section-label::before{background:var(--ink)}.contact .section-heading{margin-bottom:56px}.contact .section-heading>p{color:var(--ink)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-size:clamp(82px,9vw,138px);line-height:.92}.contact-details{padding-top:10px}.contact-intro{font-size:17px;margin-bottom:29px}.contact-row{border-top:1px solid #102f3650;position:relative;padding:20px 42px 22px 0}.contact-row>span{display:block;font-size:12px;margin-bottom:5px}.contact-phone{font-size:33px;font-weight:650;letter-spacing:-1px;line-height:1.2}.contact-email{font-size:clamp(16px,1.6vw,24px);font-weight:650;letter-spacing:-.035em}.contact-row>a:hover{text-decoration:underline;text-underline-offset:5px}.copy-button{position:absolute;right:0;top:34px;width:36px;height:40px;display:grid;place-items:center;border:1px solid #102f3650;border-radius:2px;transition:background .2s}.copy-button:hover{background:#ffffff40}.copy-icon{width:12px;height:14px;border:1.5px solid currentColor;position:relative}.copy-icon:before{content:'';width:10px;height:12px;position:absolute;left:-5px;top:-5px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor}.contact-address{border-top:1px solid #102f3650;padding-top:19px}.contact-address>span{font-size:12px}.contact-address p{font-size:17px;font-weight:600;margin-top:5px}.copy-status{font-size:13px;min-height:24px;margin-top:14px;font-weight:650}.contact a:focus-visible,.contact button:focus-visible{outline-color:var(--ink)}
.footer{padding-top:40px;padding-bottom:24px}.footer-top{display:flex;justify-content:space-between;gap:32px;align-items:center;padding-bottom:35px}.footer-top>p{font-size:13px;color:var(--muted)}.back-top{display:flex;align-items:center;gap:24px;font-size:13px}.back-top span{font-size:25px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer-demo{font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:8px 0}
.dialog{color:var(--ink);background:var(--paper);border:0;max-width:670px;width:calc(100% - 40px);max-height:85svh;padding:65px 48px 45px;overflow-y:auto;box-shadow:0 20px 90px #0005}.dialog::backdrop{background:#06242dbc;backdrop-filter:blur(6px)}.dialog[open]{animation:dialog-in .22s ease-out}.dialog-close{display:flex;align-items:center;gap:18px;position:absolute;right:24px;top:14px;font-size:12px;min-height:40px}.dialog-close span{font-size:29px}.dialog-kicker{font-size:13px;color:var(--muted);display:block;margin-bottom:20px}.dialog h2{font-size:62px;line-height:1;margin-bottom:25px}.dialog-lead{font-size:18px;line-height:1.6;margin-bottom:25px}.dialog>p:not(.dialog-lead){font-size:14px;color:var(--muted);margin-top:20px}.dialog dl{font-size:13px;border-top:1px solid var(--line);margin:22px 0}.dialog dl>div{padding:13px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40% 60%;gap:10px}.dialog dt{color:var(--muted)}.dialog dd{margin:0;font-weight:650}.demo-dialog h3{font-size:26px;margin-top:26px;margin-bottom:10px}.demo-dialog #photo-credits p{font-size:13px;color:var(--muted)}.demo-dialog #photo-credits a{text-decoration:underline;text-underline-offset:3px}.demo-dialog .privacy-note{border-top:1px solid var(--line);padding-top:20px}
@keyframes arrive{from{transform:scale(1.025)}to{transform:scale(1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.hero-content{padding-left:84px}.hero-bottom{left:max(84px,calc((100vw - 1632px)/2));right:max(84px,calc((100vw - 1632px)/2))}}
@media(max-width:1050px){.navigation{gap:24px}.hero{min-height:710px}.hero-content{padding-top:45px}.hero h1{font-size:120px;margin-top:48px}.hero-media img{object-position:58% center}.hero-description{max-width:340px}.section-heading{margin-bottom:45px}.service-layout{gap:7%;grid-template-columns:.9fr 1.1fr}.service summary{font-size:36px}.project-item{grid-template-columns:.7fr 1.6fr .8fr}.about{gap:6%}.about-facts{gap:26px}.contact-layout{gap:6%}.contact-phone{font-size:29px}.contact-email{font-size:17px}}
@media(max-width:720px){html{scroll-padding-top:76px}.header{height:76px}.brand-name{font-size:43px}.brand-sub{font-size:9px;letter-spacing:.12em}.menu-toggle{display:flex;align-items:center;gap:14px;font-size:12px;min-height:44px;padding:8px 0 8px 12px}.menu-icon{display:flex;flex-direction:column;gap:6px;width:23px}.menu-icon i{height:1px;background:var(--ink);width:23px;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);border-bottom:1px solid var(--line);padding:15px var(--gutter) 28px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #102f3620}.navigation.is-open{display:flex}.navigation>a:not(.nav-contact){font-family:var(--display);font-size:32px;border-bottom:1px solid var(--line);padding-block:15px}.navigation>a:not(.nav-contact)::after{display:none}.navigation .nav-contact{margin-top:20px;text-align:center}.hero{height:calc(100svh - 76px);min-height:700px;max-height:850px}.hero-content{padding-top:32px;padding-bottom:150px}.hero-location{font-size:11px;gap:8px}.hero-since{margin-left:auto}.hero h1{font-size:clamp(77px,16vw,113px);line-height:.94;margin-top:51px;max-width:10ch}.hero-description{font-size:15px;max-width:320px;margin-top:26px}.hero-media img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#08222ccb,#08222c35),linear-gradient(0deg,#08222cf0,transparent 60%)}.button{padding:16px 19px;min-height:56px;gap:34px}.button-orange{margin-top:26px}.hero-bottom{padding:20px 0 18px;align-items:center}.hero-bottom>p{font-size:11px}.hero-explore{font-size:11px;gap:14px}.hero-bottom>.photo-note{position:absolute;right:0;bottom:79px;font-size:10px;min-height:32px}.services{padding-top:56px;padding-bottom:58px}.section-heading{margin-bottom:36px}.section-heading>p{width:180px;font-size:11px}.section-label{font-size:12px;gap:8px}.section-label::before{width:6px;height:6px}h2{font-size:69px}.service-layout{grid-template-columns:1fr;gap:39px}.service-intro>p{font-size:15px;margin-top:24px;max-width:390px}.service-intro .text-link{margin-top:22px}.service summary{padding:22px 0;font-size:37px}.service-body{padding-right:26px}.service-body p{font-size:14px}.service-tags span{font-size:11px}.projects{padding:54px 0 59px}.projects-heading{display:block;margin-bottom:36px}.projects-heading h2{font-size:65px}.projects-heading>p{margin-top:25px;font-size:14px;max-width:100%}.project-item{grid-template-columns:1fr;gap:20px;padding:26px 0}.project-meta{flex-direction:row;justify-content:space-between;font-size:11px}.project-name h3{font-size:45px}.project-type{font-size:12px;margin-bottom:12px}.project-action{justify-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:20px}.project-action>p{margin:0;font-size:11px}.project-button{width:117px;padding:8px 13px;font-size:12px;min-height:44px}.about{grid-template-columns:1fr;padding-top:56px;padding-bottom:60px;gap:39px}.about-photo{aspect-ratio:1.12}.about-photo img{object-position:center 40%}.photo-caption{font-size:30px;left:24px}.about-photo .photo-note{left:24px}.about-content .section-label{margin-bottom:24px}.about-content h2{font-size:69px;margin-bottom:24px}.about-facts{gap:45px}.contact{padding:48px 0 40px}.contact .section-heading{margin-bottom:40px}.contact .section-heading>p{max-width:155px;text-align:right}.contact-layout{grid-template-columns:1fr;gap:35px}.contact h2{font-size:91px;line-height:.91}.contact-intro{font-size:15px;margin-bottom:26px}.contact-phone{font-size:31px}.contact-email{font-size:clamp(15px,4.6vw,22px)}.contact-row{padding-top:18px;padding-bottom:20px}.contact-details{padding-top:0}.copy-status{margin-top:12px}.footer{padding-top:27px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:25px}.footer-top>p{order:3;width:100%;font-size:12px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:10px;position:relative;padding-right:45px}.footer-demo{font-size:10px;text-align:left}.footer-bottom>span:last-child{position:absolute;right:0;top:25px}.back-top{font-size:11px;gap:15px}.dialog{padding:65px 25px 30px;width:calc(100% - 28px)}.dialog h2{font-size:49px}.dialog-lead{font-size:16px}.dialog dl>div{grid-template-columns:1fr;gap:4px}.dialog .text-link{font-size:12px}.dialog-close{right:18px}.dialog>p:not(.dialog-lead){font-size:13px}}
@media(max-width:360px){.hero h1{font-size:70px}.brand{gap:8px}.brand-sub{font-size:8px}.hero-description{max-width:270px}.contact-email{font-size:14px}.contact-phone{font-size:27px}.section-heading>p{width:147px}.section-label{font-size:11px}.about-facts{gap:30px}.projects-heading h2{font-size:59px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.header,.hero-bottom,.menu-toggle,.photo-note,.project-button,.copy-button,.footer-demo,.back-top{display:none!important}.hero{height:auto;min-height:0}.hero-content{padding:40px}.hero h1{font-size:80px}.hero-media{opacity:.2}.section-wrap{padding:35px}.services,.projects,.about,.contact{break-inside:avoid}.dialog{display:none}.project-item{grid-template-columns:1fr 2fr 1fr}.about{grid-template-columns:1fr 1fr}.about-photo{max-height:350px}.contact-layout{grid-template-columns:1fr 1fr}.contact h2{font-size:70px}}

/* The transport branch shares the site's type and palette. */
.hero-branch {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-color: #ffffff65;
  text-underline-offset: 7px;
}
.hero-branch:hover { text-decoration-color: var(--orange); }
.service-list > .service:last-child { border-bottom: 1px solid var(--line); }
.transport {
  padding-top: 72px;
  padding-bottom: 72px;
  background: #e3ebe9;
}
.transport-heading {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  align-items: end;
  gap: 7%;
  margin-bottom: 40px;
}
.transport-heading h2 { font-size: clamp(60px, 6.4vw, 97px); }
.transport-intro { max-width: 375px; padding-bottom: 5px; }
.transport-intro p { font-size: 16px; color: var(--muted); }
.button-dark {
  background: var(--ink);
  color: white;
  margin-top: 26px;
  transition: background .2s;
}
.button-dark:hover { background: #24505a; }
.transport-photo {
  height: clamp(300px, 33vw, 510px);
  position: relative;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--ink);
}
.transport-photo img { object-position: center 58%; filter: saturate(.75); }
.transport-photo::after {
  content: '';
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(transparent, #08222ce6);
  pointer-events: none;
}
.transport-photo figcaption {
  position: absolute;
  bottom: 30px;
  left: 30px;
  font-family: var(--display);
  font-size: 34px;
  line-height: 1.1;
  color: white;
  z-index: 1;
}
.transport-photo .photo-note {
  position: absolute;
  bottom: 20px;
  right: 30px;
  z-index: 1;
}
.transport-brief {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  gap: 30px;
  padding-top: 32px;
}
.transport-brief > p { font-size: 14px; color: var(--muted); }
.transport-brief > div { border-left: 1px solid #b9cac7; padding-left: 23px; }
.transport-brief h3 { font-size: 29px; margin-bottom: 10px; }
.transport-brief > div > p { font-size: 13px; color: var(--muted); }
@media (min-width: 721px) and (max-width: 1050px) {
  .navigation { gap: 20px; font-size: 13px; }
  .nav-contact { padding-inline: 15px; }
  .transport-heading { grid-template-columns: 1.2fr 1fr; gap: 5%; }
  .transport-heading h2 { font-size: 66px; }
  .transport-brief { gap: 18px; }
  .transport-brief > div { padding-left: 15px; }
}
@media (max-width: 720px) {
  .hero-branch { font-size: 12px; }
  .transport { padding-top: 52px; padding-bottom: 48px; }
  .transport .section-heading { display: block; margin-bottom: 29px; }
  .transport .section-heading > p { display: none; }
  .transport-heading { grid-template-columns: 1fr; gap: 28px; margin-bottom: 31px; }
  .transport-heading h2 { font-size: clamp(53px, 10.5vw, 72px); }
  .transport-intro { max-width: 400px; padding: 0; }
  .transport-photo { height: 330px; }
  .transport-photo img { object-position: center; }
  .transport-photo figcaption { left: 22px; right: 22px; bottom: 60px; font-size: 30px; }
  .transport-photo .photo-note { left: 22px; right: auto; bottom: 17px; }
  .transport-brief { grid-template-columns: 1fr; gap: 0; padding-top: 25px; }
  .transport-brief > p { margin-bottom: 23px; }
  .transport-brief > p > br { display: none; }
  .transport-brief > div { border-left: 0; border-top: 1px solid #b9cac7; padding: 18px 0; display: grid; grid-template-columns: 100px 1fr; align-items: center; gap: 12px; }
  .transport-brief h3 { margin: 0; font-size: 27px; }
  .transport-brief > div > p { font-size: 13px; }
}
@media (max-width: 360px) {
  .hero-bottom { gap: 16px; }
  .hero-branch { font-size: 11px; }
  .transport-heading h2 { font-size: 48px; }
}
@media print {
  .transport { break-inside: avoid; }
  .transport-photo { height: 250px; }
  .transport-brief { grid-template-columns: repeat(4, 1fr); }
}

.transport-fleet {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 8%;
  margin-top: 44px;
  padding-bottom: 42px;
  border-bottom: 1px solid #b9cac7;
}
.fleet-heading > h3 { font-size: 66px; margin-top: 20px; }
.fleet-description { color: var(--muted); font-size: 14px; margin-top: 14px; }
.fleet-types > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid #b9cac7;
}
.fleet-types > div:first-child { padding-top: 0; }
.fleet-types > div:last-child { padding-bottom: 0; border: 0; }
.fleet-types h3 { font-size: 32px; line-height: 1.1; }
.fleet-types p { font-size: 14px; color: var(--muted); }
@media (max-width: 720px) {
  .transport-fleet { grid-template-columns: 1fr; gap: 32px; margin-top: 31px; padding-bottom: 32px; }
  .fleet-heading > h3 { font-size: 58px; }
  .fleet-description { font-size: 14px; }
  .fleet-types > div { grid-template-columns: 1fr 1.1fr; gap: 20px; padding: 19px 0; }
  .fleet-types h3 { font-size: 28px; }
  .fleet-types p { font-size: 13px; }
}

.transport-credit { font-size: 11px; line-height: 1.65; color: var(--muted); max-width: 100%; margin-top: 13px; }
.transport-credit a { text-decoration: underline; text-underline-offset: 3px; }

/* Non-modal project details remain readable without JavaScript. */
.dialog[open]:not(:modal) { position: static; margin: 40px auto; max-height: none; box-shadow: none; border: 1px solid var(--line); }
.error-page { padding-block: 70px; max-width: 960px; }
.error-page h1 { font-size: clamp(48px, 8vw, 86px); margin-block: 30px; }
.error-page .button-orange { margin-top: 24px; }

/* Clear, optional privacy information without a consent wall. */
.legal-links { display: flex; flex-wrap: wrap; gap: 6px 24px; padding-top: 20px; font-size: 13px; }
.legal-links a, .legal-links button { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; padding: 0; }
.legal-links [hidden], .privacy-notice[hidden] { display: none !important; }
.privacy-notice { position: fixed; z-index: 30; left: 24px; bottom: 24px; width: min(420px, calc(100% - 48px)); padding: 22px; color: var(--ink); background: var(--paper); border: 1px solid #a9b9bb; box-shadow: 0 8px 36px #102f3630; border-radius: 4px; }
.privacy-notice h2 { font: 750 17px/1.4 var(--body); letter-spacing: 0; margin-bottom: 10px; }
.privacy-notice p { font-size: 13px; line-height: 1.6; }
.privacy-actions { display: flex; align-items: center; gap: 22px; margin-top: 15px; }
.privacy-actions button { min-height: 44px; padding: 10px 17px; background: var(--ink); color: white; font-weight: 700; border-radius: 2px; }
.privacy-actions a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
.privacy-actions button:focus-visible { outline-color: var(--orange); outline-offset: 3px; }
.legal-home { padding: 12px 0; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.legal-header { gap: 20px; }
.legal-page { max-width: 1050px; padding-top: 60px; padding-bottom: 55px; }
.legal-page h1 { font-size: clamp(44px, 7vw, 74px); margin-block: 24px; }
.legal-page h2 { font-size: clamp(30px, 4vw, 42px); margin-top: 38px; margin-bottom: 16px; }
.legal-page p, .legal-page li { max-width: 76ch; margin-bottom: 16px; }
.legal-page a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page code { overflow-wrap: anywhere; }
.legal-date { font-size: 13px; color: var(--muted); }
@media (max-width: 720px) {
  .privacy-notice { left: 16px; bottom: 16px; width: calc(100% - 32px); padding: 18px; }
  .privacy-notice-open { padding-bottom: 280px; }
  .legal-header { flex-wrap: wrap; height: auto; min-height: 76px; padding-block: 14px; gap: 8px 20px; }
  .legal-page { padding-top: 35px; }
}
@media print { .privacy-notice, [data-privacy-open] { display: none !important; } }

.fleet-photo { margin: 25px 0 0; background: var(--ink); }
.fleet-photo img { height: auto; width: 100%; }
.fleet-photo figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  color: white;
}
.fleet-photo figcaption > span { font-size: 14px; font-weight: 650; }
.fleet-photo .photo-note { flex-shrink: 0; font-size: 10px; }
.fleet-types { align-self: center; }
@media (max-width: 360px) {
  .fleet-photo figcaption { flex-wrap: wrap; gap: 0; }
  .fleet-photo .photo-note { padding: 0; min-height: 32px; }
}

/* Direct contact, without loading any WhatsApp widget or third-party script. */
.whatsapp-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 54px; padding: 14px 18px; margin: 0 0 22px; border: 1px solid #075e54; border-radius: 2px; background: #075e54; color: #fff; font-size: 15px; line-height: 1.4; font-weight: 800; text-align: center; transition: background .2s; }
.whatsapp-button:hover { background: #064b43; }
.whatsapp-button svg { flex: 0 0 24px; }
.whatsapp-button:focus-visible { outline-offset: 4px; }
