@font-face{font-family:'Merriweather';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/Merriweather-Light.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:italic;font-weight:300;font-display:swap;src:url('assets/fonts/Merriweather-LightItalic.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Merriweather-Regular.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/Merriweather-Italic.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/Merriweather-Bold.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:italic;font-weight:700;font-display:swap;src:url('assets/fonts/Merriweather-BoldItalic.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:normal;font-weight:900;font-display:swap;src:url('assets/fonts/Merriweather-Black.ttf') format('truetype')}

@font-face{font-family:'Merriweather';font-style:italic;font-weight:900;font-display:swap;src:url('assets/fonts/Merriweather-BlackItalic.ttf') format('truetype')}

:root{--ink:#172124;--muted:#637074;--accent:#fa512e;--line:#dce1e2;--paper:#fff;--soft:#f3f5f5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:'Merriweather',Georgia,serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:100}
.skip:focus{top:10px}
header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:white;position:relative;z-index:5}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex-shrink:0}
.brand img{width:148px;height:auto;display:block}
.brand span{font-size:10px;letter-spacing:2px;font-weight:700}
nav{display:flex;gap:30px;font-size:14px;font-weight:600}
.nav-right{display:flex;gap:28px;align-items:center}
.languages{display:flex;gap:7px;align-items:center;font-size:13px}
.languages button{border:0;background:none;padding:6px 3px;color:#6e7679;cursor:pointer;font-size:14px}
.languages button[aria-pressed=true]{color:var(--ink);font-weight:800}
.languages span{color:#b5bcbe}
.nav-cta{border:1px solid var(--ink);padding:12px 20px;font-size:14px;font-weight:700}
nav a:hover,.email-text:hover{color:var(--accent)}
.hero{position:relative;min-height:690px;height:calc(100svh - 98px);max-height:900px;color:white;overflow:hidden}
.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo{object-position:50% 55%;transform:scaleX(-1)}
.hero-shade{background:linear-gradient(90deg,rgba(0,21,34,.76) 0%,rgba(0,21,34,.49) 42%,rgba(0,21,34,0) 77%),linear-gradient(0deg,rgba(0,17,25,.4),transparent 25%)}
.hero-content{position:relative;padding:75px 6% 110px;max-width:920px}
.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;margin:0 0 30px;color:#566469}
.eyebrow.light{color:#f4f6f6}
.hero h1{font-size:clamp(54px,5.9vw,86px);font-weight:500;letter-spacing:-3.8px;line-height:1.05;margin:0 0 28px}
em{font-style:normal;color:var(--accent)}
.hero-copy{max-width:405px;font-size:18px;line-height:1.6;color:#e4e9ec;margin-bottom:30px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:17px 24px;font-size:15px;font-weight:700;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button span{font-size:22px;line-height:1}
.accent{background:var(--accent);color:#fff}
.accent:hover{background:#e6401d}
.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.3px}
.hero-bottom a{font-size:14px;letter-spacing:0}
.principles{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff;padding:27px 5%;font-size:14px;text-align:center}
.principles span+span{border-left:1px solid #4a5355}
.section{padding:105px 6%}
.about{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:start;border-bottom:1px solid var(--line)}
.about-copy{padding-top:44px}
.about-copy p{color:var(--muted);margin:0 0 22px}
.about-copy .lead{font-size:20px;line-height:1.65;color:var(--ink)}
.about-copy .about-signature{color:var(--accent);font-size:19px;font-style:italic;margin-top:34px}
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start}
h2{font-size:clamp(34px,3.5vw,51px);font-weight:500;line-height:1.16;letter-spacing:-1.8px;margin:0}
h2 span{color:#879194}
.intro-copy{padding-top:44px}
.intro-copy p{color:var(--muted);margin:0 0 20px}
.intro-copy .lead{font-size:21px;color:var(--ink);line-height:1.6}
.support{background:var(--soft)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:58px}
.section-heading>p{color:var(--muted);margin:0;font-size:16px}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cdd4d6}
.services article{padding:32px 32px 25px 0;border-bottom:1px solid #cdd4d6}
.services article:nth-child(3n+2),.services article:nth-child(3n+3){padding-left:34px;border-left:1px solid #cdd4d6}
.service-number{font-size:13px;color:var(--accent);font-weight:700;display:block;margin-bottom:35px}
h3{font-size:22px;letter-spacing:-.6px;font-weight:500;line-height:1.3;margin:0 0 15px}
.services p,.steps p{color:var(--muted);max-width:335px;line-height:1.7;margin:0}
.model{background:var(--ink);color:white;display:grid;grid-template-columns:1.1fr 1fr;gap:9%}
.model-heading>p:last-child{max-width:360px;margin-top:30px;color:#b5c0c3;font-size:18px}
.model h2{font-size:clamp(34px,3.7vw,54px)}
.model-details article{border-top:1px solid #495256;padding:25px 0 16px}
.model-details article:first-child{border-top:0;padding-top:0}
.model-details strong{font-size:21px;font-weight:500}
.model-details p{color:#b5c0c3;margin:12px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:62px}
.steps article{border-top:1px solid var(--line);padding-top:25px}
.steps span{display:block;color:var(--accent);font-size:36px;margin-bottom:28px;font-weight:400;letter-spacing:-1px}
.steps h3{font-size:21px}
.faq{padding-top:70px;padding-bottom:80px;background:var(--soft);display:grid;grid-template-columns:1fr 1.35fr;gap:8%}
.faq h2{font-size:38px}
.faq details{border-bottom:1px solid #cdd4d6;padding:22px 0}
.faq details:first-child{padding-top:0}
.faq summary{cursor:pointer;list-style:none;font-size:18px;display:flex;justify-content:space-between;gap:25px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font-size:23px;color:var(--accent);line-height:1.3}
.faq details[open] summary:after{content:'−'}
.faq details p{color:var(--muted);margin-bottom:0}
.contact{background:var(--accent);color:var(--ink)}
.contact .eyebrow{color:var(--ink)}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:start}
.contact h2{font-size:clamp(42px,4.7vw,70px);letter-spacing:-2.8px}
.contact h2 span{color:#fff}
.contact-card>p{font-size:20px;margin:0 0 24px;max-width:390px}
.dark{background:var(--ink);color:white;min-width:250px}
.email-text{display:block;margin-top:18px;font-size:18px;text-decoration:underline;text-underline-offset:4px}
.email-text:hover{color:#fff}
.person{border-top:1px solid rgba(0,0,0,.25);margin-top:30px;padding-top:25px;display:flex;flex-direction:column;line-height:1.6}
.person strong{font-size:17px}
.person span{font-size:14px;margin-bottom:8px}
footer{padding:48px 6%;display:flex;justify-content:space-between;align-items:center;gap:28px;font-size:14px}
footer .brand img{width:135px}
footer p{color:var(--muted)}
footer>p:nth-last-child(2){color:var(--ink);font-size:18px}

@media(min-width:1600px){header,.section,footer{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}
.hero-content{margin-left:calc((100% - 1440px)/2);padding-left:0}
}

@media(max-width:1200px){.nav-cta{display:none}
}

@media(max-width:1050px){nav{gap:18px}
.nav-right{gap:18px}
.nav-cta{display:none}
.hero-content{padding-top:85px}
.hero h1{font-size:68px}
.intro,.model{gap:5%}
.section{padding:80px 5%}
.section-heading>p{max-width:270px}
.services article{padding-right:20px}
.services article:nth-child(3n+2),.services article:nth-child(3n+3){padding-left:22px}
.steps{gap:22px}
.steps h3{font-size:19px}
footer>p:nth-last-child(2){display:none}
}

@media(max-width:700px){header{height:85px;padding:0 6%;gap:15px}
header .brand img{width:123px}
.brand span{font-size:9px;letter-spacing:1.5px}
nav{display:none}
.hero{min-height:690px;height:calc(100svh - 85px);max-height:850px}
.hero-photo{object-position:67% center}
.hero-shade{background:linear-gradient(90deg,rgba(0,20,32,.81),rgba(0,20,32,.35)),linear-gradient(0deg,rgba(0,20,32,.4),transparent)}
.hero-content{padding:65px 7% 110px}
.hero h1{font-size:clamp(45px,10.5vw,68px);letter-spacing:-2px;line-height:1.08}
.eyebrow{font-size:11px;letter-spacing:1.3px;margin-bottom:24px}
.hero-copy{font-size:17px;max-width:300px}
.hero-bottom{left:7%;right:7%;bottom:25px}
.hero-bottom span{font-size:10px;max-width:160px}
.hero-bottom a{font-size:12px}
.button{font-size:14px;padding:16px 20px;gap:22px}
.principles{grid-template-columns:1fr 1fr;gap:22px 0;padding:26px 5%;font-size:12px}
.principles span:nth-child(3){border-left:0}
.section{padding:65px 7%}
.about{grid-template-columns:1fr;gap:32px}
.about-copy{padding-top:0}
.about-copy .lead{font-size:19px}
.intro,.model,.faq,.contact-grid{grid-template-columns:1fr;gap:32px}
.intro-copy{padding-top:0}
.intro-copy .lead{font-size:19px}
h2{font-size:36px;letter-spacing:-1.4px}
.section-heading{display:block;margin-bottom:36px}
.section-heading>p{margin-top:24px;max-width:none}
.services{grid-template-columns:1fr 1fr}
.services article,.services article:nth-child(3n+2),.services article:nth-child(3n+3){padding:24px 16px 24px 0;border-left:0}
.services article:nth-child(even){padding-left:20px;border-left:1px solid #cdd4d6}
.services h3{font-size:20px}
.services p{font-size:15px}
.service-number{margin-bottom:25px}
.model h2{font-size:37px}
.model-details strong{font-size:20px}
.steps{grid-template-columns:1fr 1fr;margin-top:36px;gap:35px 25px}
.steps span{font-size:30px;margin-bottom:18px}
.steps h3{font-size:20px}
.steps p{font-size:15px}
.faq h2{font-size:34px}
.faq summary{font-size:17px}
.contact h2{font-size:43px;letter-spacing:-1.7px}
.contact-card>p{font-size:18px}
footer{padding:35px 7%;display:grid;grid-template-columns:1fr 1fr;gap:25px}
footer p{font-size:12px;margin:0}
footer>a:last-child{font-size:13px}
.contact-card{padding-top:12px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
}


/* Fleet typography standard: supplied Merriweather family. */
h1,h2,h3,.hero h1,.model h2,.contact h2,.faq h2{font-weight:300;letter-spacing:-.035em;line-height:1.23}
.hero h1{font-size:clamp(44px,5vw,72px)}
h2{font-size:clamp(30px,3vw,44px)}
h3{font-size:20px}
.hero-copy{font-size:17px}
.hero-content{max-width:980px}
.brand span{letter-spacing:1px}
.eyebrow{line-height:1.8}
nav{gap:22px}
.model-details strong{font-weight:400}
.services p,.steps p{line-height:1.8}
.contact h2{font-size:clamp(36px,4vw,58px)}

@media(max-width:1050px){header{gap:18px}
nav{font-size:13px;gap:16px}
.hero h1{font-size:58px}
}

@media(max-width:700px){.hero h1{font-size:clamp(35px,8.7vw,54px)}
.hero-content{padding-top:55px}
.hero-copy{font-size:16px}
.hero .eyebrow{font-size:10px}
h2,.model h2,.faq h2{font-size:31px}
.contact h2{font-size:36px}
.services h3,.steps h3{font-size:19px}
.principles{font-size:11px}
.hero .button{font-size:12px;gap:15px}
.hero{min-height:720px}
.brand span{font-size:8px}
.hero-bottom span{font-size:9px}
}

@media(max-width:380px){.services,.steps{grid-template-columns:1fr}
.services article:nth-child(n){border-left:0;padding-left:0}
.contact h2{font-size:31px}
}
