:root {
  --navy: #071d33;
  --blue: #0d3153;
  --steel: #68809a;
  --ice: #eef3f6;
  --ink: #101820;
  --muted: #5d6872;
  --line: #d8dfe4;
  --white: #ffffff;
  --accent: #9fb6c9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.site-header {
  height: 88px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(24px, 5vw, 76px); background: #fff;
  position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(7,29,51,.08);
}
.brand { width: 232px; height: 82px; overflow: hidden; display: flex; align-items: center; background:#fff; }
.brand img { width: 100%; height: 100%; object-fit: contain; filter:contrast(1.12) brightness(1.04); }
.nav { display: flex; align-items: center; gap: clamp(18px, 2.1vw, 36px); font-size: 13px; font-weight: 700; color: #33414d; }
.nav > a:not(.nav-cta) { position: relative; padding: 10px 0; }
.nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:4px; width:0; height:2px; background:var(--navy); transition:.25s; }
.nav > a:hover::after { width: 100%; }
.nav-cta { background: var(--navy); color:#fff; padding: 14px 20px; }
.menu-button { display:none; background:none; border:0; }

.hero { min-height: calc(100vh - 88px); position: relative; display:flex; align-items:center; color:#fff; overflow:hidden; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(4,18,31,.93) 0%, rgba(4,18,31,.70) 48%, rgba(4,18,31,.16) 78%, rgba(4,18,31,.08) 100%); }
.hero-content { position:relative; z-index:2; width:min(760px, 80%); margin-left:clamp(24px,8vw,122px); padding-bottom:95px; }
.eyebrow { margin:0 0 22px; text-transform:uppercase; letter-spacing:.22em; font-size:11px; font-weight:800; color:var(--blue); }
.eyebrow.light { color:#becdda; }
.hero h1 { font-size:clamp(46px,6.2vw,92px); line-height:.98; letter-spacing:-.05em; margin:0; font-weight:750; }
.hero h1 span { color:#cad7e1; }
.hero-copy { max-width:620px; font-size:clamp(17px,1.45vw,21px); line-height:1.65; color:#e1e8ed; margin:28px 0 34px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { min-height:52px; display:inline-flex; justify-content:center; align-items:center; padding:0 24px; border:1px solid transparent; font-weight:800; font-size:13px; cursor:pointer; transition:.2s; }
.button.primary { color:#fff; background:#174b74; border-color:#174b74; }
.button.primary:hover { background:#226391; transform:translateY(-2px); }
.button.ghost { color:#fff; border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.06); }
.button.ghost:hover { background:#fff; color:var(--navy); }
.hero-proof { position:absolute; z-index:3; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,1fr); width:min(780px,64vw); background:#fff; color:var(--ink); }
.hero-proof div { padding:22px 26px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:5px; }
.hero-proof strong { font-size:13px; color:var(--navy); }
.hero-proof span { font-size:11px; color:var(--muted); }

.section { padding:clamp(76px,9vw,138px) clamp(24px,8vw,122px); }
.intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:start; }
h2 { margin:0; color:var(--navy); font-size:clamp(40px,5vw,70px); line-height:1.02; letter-spacing:-.045em; }
.intro-copy { max-width:680px; }
.intro-copy p { color:var(--muted); font-size:16px; line-height:1.8; }
.intro-copy .lead { margin-top:0; color:var(--ink); font-size:23px; line-height:1.5; }
.story-heading { position:sticky; top:130px; }
.intro-copy blockquote { margin:38px 0 0; padding:5px 0 5px 28px; border-left:3px solid var(--blue); color:var(--navy); font-size:22px; line-height:1.55; font-weight:700; }
.signature { margin-top:34px; border-top:1px solid var(--line); padding-top:25px; color:var(--navy); font-weight:900; letter-spacing:.22em; font-size:16px; }
.signature span { display:block; margin-top:10px; color:var(--muted); font-size:13px; letter-spacing:.04em; font-weight:500; }

.services { background:var(--navy); color:#fff; }
.section-heading { max-width:760px; }
.section-heading h2 { color:#fff; }
.section-heading > p:last-child { color:#b9c6d0; font-size:17px; line-height:1.65; max-width:620px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border-top:1px solid rgba(255,255,255,.2); }
.service-card { padding:40px 38px 15px 0; margin-right:38px; border-right:1px solid rgba(255,255,255,.18); min-height:310px; }
.service-card:last-child { border-right:0; }
.service-card > span { color:#7891a5; font-weight:800; font-size:12px; }
.service-card h3 { margin:50px 0 18px; font-size:24px; letter-spacing:-.02em; }
.service-card p { color:#b9c6d0; line-height:1.7; font-size:14px; min-height:72px; }
.service-card a { display:inline-block; margin-top:25px; font-size:13px; font-weight:800; }
.service-card a b { margin-left:8px; }

.fleet { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:center; }
.fleet-copy p:not(.eyebrow) { color:var(--muted); line-height:1.75; font-size:16px; margin:28px 0; }
.fleet-copy ul { list-style:none; padding:0; margin:34px 0; border-top:1px solid var(--line); }
.fleet-copy li { padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:700; }
.fleet-copy li span { color:#32729e; margin-right:10px; }
.text-link { color:var(--navy); font-weight:800; font-size:13px; }
.text-link b { margin-left:10px; }
.fleet-gallery { height:620px; position:relative; }
.fleet-main { position:absolute; left:0; top:0; width:76%; height:68%; object-fit:cover; }
.fleet-tall { position:absolute; right:0; bottom:0; width:43%; height:57%; object-fit:cover; border:10px solid white; }
.fleet-caption { position:absolute; left:0; bottom:54px; width:46%; background:var(--navy); color:#fff; padding:22px; display:flex; flex-direction:column; gap:5px; }
.fleet-caption span { font-size:10px; text-transform:uppercase; letter-spacing:.15em; color:#aebdca; }
.fleet-caption strong { font-size:14px; }

.video-section { background:#071d33; color:#fff; display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; align-items:center; }
.video-heading h2 { color:#fff; }
.video-heading > p:last-child { color:#b9c6d0; line-height:1.7; font-size:16px; max-width:470px; }
.video-frame { position:relative; border:1px solid rgba(255,255,255,.2); padding:12px; background:#0c2a43; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.video-frame::before { content:""; position:absolute; width:70px; height:3px; background:#9fb6c9; top:-1px; left:12px; }
.video-frame video { width:100%; max-height:650px; display:block; background:#02080d; object-fit:contain; }

.process { background:var(--ice); }
.section-heading.dark h2 { color:var(--navy); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); margin-top:65px; border-top:1px solid #bfcbd3; }
.steps article { padding:30px 28px 0 0; margin-right:28px; border-right:1px solid #bfcbd3; min-height:220px; }
.steps article:last-child { border:0; }
.steps span { color:#648197; font-size:12px; font-weight:800; }
.steps h3 { color:var(--navy); font-size:18px; margin:36px 0 12px; }
.steps p { color:var(--muted); line-height:1.6; font-size:13px; }

.quote { display:grid; grid-template-columns:.75fr 1.25fr; gap:7vw; background:linear-gradient(135deg,#071d33,#0c3455); color:#fff; }
.quote h2 { color:#fff; }
.quote-intro > p:not(.eyebrow) { color:#c1cdd6; line-height:1.7; }
.contact-mini { margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.18); display:flex; flex-direction:column; gap:8px; }
.contact-mini span { font-size:11px; color:#9db0bf; text-transform:uppercase; letter-spacing:.12em; }
.contact-mini strong { font-size:15px; }
form { background:#fff; color:var(--ink); padding:38px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
label { display:flex; flex-direction:column; gap:9px; color:#40505d; font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
input, textarea { width:100%; border:0; border-bottom:1px solid #cbd3d9; padding:10px 2px 12px; outline:none; color:var(--ink); text-transform:none; letter-spacing:0; font-weight:400; background:#fff; }
input:focus, textarea:focus { border-color:var(--blue); }
textarea { resize:vertical; }
.full { grid-column:1/-1; }
form small { color:#71808c; text-align:center; }

.contact { text-align:center; }
.contact h2 { max-width:800px; margin:0 auto 65px; }
.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; }
.contact-grid > * { padding:30px 24px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:12px; }
.contact-grid > *:last-child { border:0; }
.contact-grid span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.contact-grid strong { color:var(--navy); font-size:14px; line-height:1.5; }

footer { background:#061625; color:#fff; padding:58px clamp(24px,8vw,122px) 25px; }
.footer-brand > strong { display:block; font-size:54px; line-height:1; letter-spacing:-.08em; color:#fff; }
.footer-brand > span { display:block; margin-top:8px; color:#d5e0e8; font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:800; }
.footer-brand p { color:#a9b7c2; margin:14px 0 35px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.footer-links { display:flex; gap:30px; border-top:1px solid rgba(255,255,255,.12); padding:25px 0; font-size:13px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:24px; display:flex; justify-content:space-between; color:#8193a1; font-size:11px; }
.whatsapp-float { position:fixed; z-index:60; right:22px; bottom:22px; width:54px; height:54px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; font-size:12px; font-weight:900; box-shadow:0 8px 25px rgba(0,0,0,.25); }

@media (max-width: 900px) {
  .site-header { height:74px; padding:0 20px; }
  .brand { width:170px; height:66px; }
  .menu-button { display:flex; flex-direction:column; gap:7px; padding:12px; }
  .menu-button span { display:block; width:25px; height:2px; background:var(--navy); }
  .nav { display:none; position:absolute; top:74px; left:0; right:0; background:#fff; padding:24px; flex-direction:column; align-items:stretch; box-shadow:0 18px 30px rgba(0,0,0,.12); }
  .nav.open { display:flex; }
  .hero { min-height:820px; align-items:flex-start; padding-top:125px; }
  .hero-image { object-position:62% center; }
  .hero-shade { background:linear-gradient(180deg,rgba(4,18,31,.92) 0%,rgba(4,18,31,.64) 70%,rgba(4,18,31,.75) 100%); }
  .hero-content { width:auto; margin:0 24px; padding:0; }
  .hero-proof { width:100%; grid-template-columns:1fr; }
  .hero-proof div { padding:13px 24px; }
  .hero-proof div:nth-child(2) { display:none; }
  .section { padding:75px 24px; }
  .intro, .fleet, .quote, .video-section { grid-template-columns:1fr; gap:50px; }
  .story-heading { position:static; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); padding:30px 0; margin:0; }
  .service-card h3 { margin:24px 0 12px; }
  .service-card p { min-height:0; }
  .fleet-gallery { height:500px; }
  .steps { grid-template-columns:1fr 1fr; }
  .steps article:nth-child(2) { border-right:0; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .contact-grid > *:nth-child(2) { border-right:0; }
  .contact-grid > *:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}

@media (max-width: 560px) {
  .hero { min-height:760px; }
  .hero h1 { font-size:45px; }
  .hero-copy { font-size:16px; }
  .hero-actions .button { width:100%; }
  .intro-copy .lead { font-size:19px; }
  .intro-copy blockquote { font-size:19px; padding-left:20px; }
  .fleet-gallery { height:420px; }
  .fleet-main { width:88%; height:62%; }
  .fleet-tall { width:52%; height:54%; }
  .fleet-caption { width:66%; bottom:28px; }
  .steps { grid-template-columns:1fr; }
  .steps article { border-right:0; border-bottom:1px solid #bfcbd3; min-height:auto; padding:25px 0; margin:0; }
  form { padding:25px 20px; grid-template-columns:1fr; }
  form > * { grid-column:1/-1; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-grid > * { border-right:0; border-bottom:1px solid var(--line); }
  .desktop-break { display:none; }
  .footer-links { flex-wrap:wrap; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
