/* Executive Marine Service — generated by make_repo.py */
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:800; font-display:swap; src:url('/assets/fonts/barlow-condensed-800.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow Semi Condensed'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/barlow-semi-condensed-500.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow Semi Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('/assets/fonts/barlow-semi-condensed-600.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow Semi Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/barlow-semi-condensed-700.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/barlow-400.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/barlow-500.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Barlow'; font-style:normal; font-weight:600; font-display:swap; src:url('/assets/fonts/barlow-600.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ===== Executive Marine design system (from the Marine Mechanic poster) =====
   Colors: black #111111, International Orange #FF4F00, white, text gray #2C2C2C, rule gray #EEEEEE.
   Type (brand guide): Barlow Condensed ExtraBold caps for headlines, Barlow Semi Condensed SemiBold for subheads/labels, Barlow for body.
   Rhythm: dark hero and header, white content sections, dark fleet, red-orange call-to-action band. */
:root { --ems-ink:#111111; --ems-ink2:#1a1a1a; --ems-white:#ffffff; --ems-red:#FF4F00; --ems-red-dk:#d94300;
        --ems-text:#2c2c2c; --ems-gray:#878787; --ems-rule:#eeeeee;
        --ems-line:rgba(255,255,255,.14); --ems-muted:rgba(255,255,255,.74); }

/* Theme chrome on these pages: no page title bar, full-width content, no theme footer */
body:has(.ems-site) { background:var(--ems-ink); }
body:has(.ems-site) .hero-section, body:has(.ems-site) #footer { display:none !important; }
body:has(.ems-site) .ct-container-full { padding:0 !important; max-width:none; }
body:has(.ems-site) .entry-content > .ems-site { width:100% !important; max-width:none !important; margin:0 !important; }

/* Logo: the E-with-wave mark + EXECUTIVE MARINE in spaced capitals (drawn in HTML so it stays sharp) */
.em-logo { display:block; height:34px; width:auto; }

/* Header: black bar, logo, condensed uppercase nav, call button */
body:has(.ems-site) #header [data-row] { background:var(--ems-ink) !important; border-bottom:1px solid var(--ems-line); }
body:has(.ems-site) #header .site-logo-container img, body:has(.ems-site) #offcanvas .site-logo-container img { display:none !important; }
body:has(.ems-site) #header [data-id="search"] { display:none !important; }
body:has(.ems-site) #header .ct-menu-link { color:#fff !important; font-family:'Barlow Semi Condensed', sans-serif !important;
  font-weight:600 !important; font-size:15px !important; text-transform:uppercase; letter-spacing:.06em; }
body:has(.ems-site) #header .ct-menu-link:hover, body:has(.ems-site) #header .current-menu-item > .ct-menu-link { color:var(--ems-red) !important; }
body:has(.ems-site) #header [data-id="menu"] { --theme-link-hover-color:var(--ems-red); --theme-link-active-color:var(--ems-red); }
body:has(.ems-site) [data-device="desktop"] [data-id="menu"] { --menu-items-spacing:26px; --menu-items-gap:0px; }
body:has(.ems-site) #header .sub-menu { background:var(--ems-ink2) !important; border-top:2px solid var(--ems-red); }
body:has(.ems-site) #header .ct-header-trigger { --theme-icon-color:#fff; color:#fff; }
body:has(.ems-site) #header .ct-header-trigger svg, body:has(.ems-site) #header .ct-header-trigger rect { fill:#fff !important; }
body:has(.ems-site) #offcanvas .ct-panel-inner { background:var(--ems-ink) !important; }
body:has(.ems-site) #offcanvas .ct-menu-link { color:#fff !important; font-family:'Barlow Semi Condensed', sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.1em; }
body:has(.ems-site) [data-device="mobile"] .em-logo { font-size:20px; } body:has(.ems-site) [data-device="mobile"] .em-logo-t b { letter-spacing:.09em; }
.ems-call { display:inline-flex; align-items:center; gap:9px; margin-left:24px; padding:11px 18px; background:var(--ems-red); color:#fff !important;
  font:600 17px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.02em; text-decoration:none !important; white-space:nowrap; transition:background .2s; }
.ems-call:hover { background:var(--ems-red-dk); }
.ems-call svg { width:16px; height:16px; flex:none; }
.ems-call .s { display:none; }
[data-device="mobile"] .ems-call { margin:0 12px 0 0; padding:10px 14px; font-size:16px; }
[data-device="mobile"] .ems-call .n { display:none; } [data-device="mobile"] .ems-call .s { display:inline; }

/* Phones: a call bar pinned to the bottom of the screen */
.ems-callbar { display:none; }
@media (max-width:860px) {
  .ems-callbar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9999; align-items:center; justify-content:center; gap:10px;
    padding:13px 16px calc(13px + env(safe-area-inset-bottom, 0px)); background:var(--ems-red); color:#fff !important;
    font:600 19px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.02em; text-decoration:none !important; box-shadow:0 -6px 24px rgba(0,0,0,.35); }
  .ems-callbar svg { width:18px; height:18px; }
  .ems-callbar small { font:500 11px/1 'Barlow', sans-serif; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }
  .ems-site { padding-bottom:calc(56px + env(safe-area-inset-bottom, 0px)); }
}

/* Base */
.ems-site, .ems-site * { box-sizing:border-box; }
.ems-site { font-family:'Barlow', Arial, sans-serif; color:#fff; background:var(--ems-ink); -webkit-font-smoothing:antialiased; }
.ems-site img { display:block; max-width:100%; }
.ems-site a { color:inherit; text-decoration:none; }
.ems-site h1, .ems-site h2, .ems-site h3, .ems-site h4, .ems-site p, .ems-site ul { margin:0; padding:0; color:inherit; }
.ems-site ul { list-style:none; }
.ems-site em { font-style:italic; }
.ems-site section[id] { scroll-margin-top:84px; }
.ems-wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
.ems-center { text-align:center; }

.ems-eyebrow { display:inline-flex; align-items:center; gap:14px; font:600 14px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ems-red); margin-bottom:16px; }
.ems-eyebrow::before { content:''; width:32px; height:2px; background:var(--ems-red); }
.ems-display { font:800 clamp(2.4rem, 4.6vw, 3.75rem)/1 'Barlow Condensed', sans-serif; text-transform:uppercase; letter-spacing:0; text-wrap:balance; }
.ems-display em { font-style:normal; color:var(--ems-red); }
.ems-site .ems-lede { font-size:1.06rem; line-height:1.7; color:var(--ems-muted); max-width:640px; margin:20px auto 0; }
.ems-icon { display:inline-block; width:40px; height:40px; color:#fff; overflow:visible; }

.ems-btn { display:inline-flex; align-items:center; gap:10px; padding:14px 28px; font:600 16px/1 'Barlow Semi Condensed', sans-serif;
  letter-spacing:.06em; text-transform:uppercase; border:2px solid var(--ems-red); transition:background .2s, color .2s; }
.ems-btn-solid { background:var(--ems-red); color:#fff !important; }
.ems-btn-solid:hover { background:var(--ems-red-dk); border-color:var(--ems-red-dk); }
.ems-btn-line { color:#fff !important; }
.ems-btn-line:hover { background:var(--ems-red); color:#fff !important; }
.ems-link { border-bottom:1px solid var(--ems-red); color:#fff !important; }

/* Sections: dark by default, white for reading, red-orange for the call to action */
.ems-sec { padding:104px 0; position:relative; }
.ems-sec.alt { background:var(--ems-ink2); }
.ems-sec.light { background:#fff; color:var(--ems-text); }
.ems-sec.light .ems-display { color:var(--ems-ink); }
.ems-sec.light .ems-lede { color:#555; }
.ems-sec.light .ems-icon { color:var(--ems-red); }
.ems-sec.light .ems-btn-line { color:var(--ems-ink) !important; }
.ems-sec.light .ems-btn-line:hover { color:#fff !important; }
.ems-sec.cta { background:var(--ems-red); color:var(--ems-ink); }
.ems-sec.cta .ems-eyebrow { color:var(--ems-ink); } .ems-sec.cta .ems-eyebrow::before { background:var(--ems-ink); }
.ems-sec.cta .ems-lede { color:rgba(17,17,17,.82); }
.ems-sec.cta .ems-display em { color:#fff; }

/* Split sections: intro column beside cards or a photo */
.ems-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.45fr); gap:64px; align-items:start; }
.ems-split.about { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; }
.ems-split-intro .ems-display { margin-bottom:4px; }
.ems-site .ems-split-intro .ems-lede { margin:18px 0 0; max-width:none; }
.ems-split-intro .ems-btn { margin-top:28px; }
.ems-btn svg { width:16px; height:16px; }
.ems-split-photo { width:100%; height:auto; margin-top:36px; aspect-ratio:4 / 3; object-fit:cover; }
.ems-split-photo.tall { margin-top:0; aspect-ratio:4 / 5; }
.ems-svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ems-svc-card { background:#f5f5f4; border-top:3px solid var(--ems-red); padding:30px 28px 32px; }
.ems-svc-card .ems-icon { color:var(--ems-red); width:52px; height:52px; }
.ems-svc-card h3 { font:600 24px/1.15 'Barlow Semi Condensed', sans-serif; color:var(--ems-ink); margin:16px 0 10px; }
.ems-svc-card p { font-size:15.5px; line-height:1.6; color:#555; }
.ems-facts { display:grid; gap:16px; margin-top:30px !important; }
.ems-facts li { display:flex; align-items:center; gap:16px; padding:16px 18px; background:#f5f5f4; border-left:3px solid var(--ems-red); }
.ems-facts .ems-icon { color:var(--ems-red); flex:none; width:34px; height:34px; }
.ems-facts strong { display:block; font:600 20px/1.2 'Barlow Semi Condensed', sans-serif; color:var(--ems-ink); }
.ems-facts span { font-size:15px; color:#555; line-height:1.45; }

/* Mirrored blocks around a center rail (same composition as the hero) */
.ems-duo { display:grid; grid-template-columns:1fr 140px 1fr; row-gap:56px; margin-top:64px; }
.ems-duo .rail { grid-column:2; grid-row:1 / span 9; position:relative; }
.ems-duo .rail::before { content:''; position:absolute; left:50%; top:0; bottom:0; border-left:2px dashed rgba(255,79,0,.45); }
.ems-duo .L { grid-column:1; text-align:right; }
.ems-duo .R { grid-column:3; text-align:left; }
.ems-item h3 { font:600 25px/1.15 'Barlow Semi Condensed', sans-serif; letter-spacing:0; margin:14px 0 10px; color:var(--ems-ink); }
.ems-item p { font-size:16px; line-height:1.6; color:#555; max-width:380px; }
.ems-duo .L p { margin-left:auto; }

/* Hero (shared by every page): 1280x800 stage on the center axis, scaled by script */
.ems-hero { --s:1; --ar:4 / 3; position:relative; overflow:hidden; background:#0a0a0a; width:100%; aspect-ratio:var(--ar); min-height:560px; max-height:135svh; }
.ems-hero .bg { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.ems-hero .tint { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom,
  rgba(0,0,0,.62) 0%, rgba(0,0,0,.5) 14%, rgba(0,0,0,.4) 26%, rgba(0,0,0,.18) 40%, rgba(0,0,0,.14) 50%,
  rgba(0,0,0,.3) 62%, rgba(0,0,0,.58) 74%, rgba(0,0,0,.76) 88%, rgba(17,17,17,1) 100%); }
.ems-hero .stage { position:absolute; left:50%; top:50%; width:1280px; height:800px; margin:-400px 0 0 -640px; transform:scale(var(--s)); }
.ems-hero .eyebrow { position:absolute; left:0; top:52px; width:1280px; margin:0; font:600 14px/1 'Barlow Semi Condensed', sans-serif;
  letter-spacing:.16em; text-indent:.16em; text-align:center; text-transform:uppercase; color:var(--ems-red); text-shadow:0 1px 3px rgba(0,0,0,.45); }
.ems-hero .headline { position:absolute; left:0; top:84px; width:1280px; margin:0; font:800 92px/88px 'Barlow Condensed', sans-serif; text-transform:uppercase;
  text-align:center; letter-spacing:-.01em; color:#fff; text-shadow:0 15px 36px rgba(0,0,0,.5); }
.ems-hero .headline span { display:block; white-space:nowrap; }
.ems-hero .headline em { font-style:normal; color:var(--ems-red); }
.ems-hero .headline.xl { font-size:150px; line-height:150px; top:120px; letter-spacing:-.015em; }
.ems-hero .sub { position:absolute; left:0; top:298px; width:1280px; text-align:center; font:500 17px/1 'Barlow Semi Condensed', sans-serif;
  letter-spacing:.12em; text-indent:.12em; text-transform:uppercase; color:var(--ems-muted); }
.ems-hero .feature { position:absolute; top:0; height:800px; }
.ems-hero .f-left { right:748.5px; text-align:right; }
.ems-hero .f-right { left:748.5px; text-align:left; }
.ems-hero .feature .ems-icon { position:absolute; width:40px; height:40px; top:546px; color:#fff; }
.ems-hero .f-left .ems-icon { right:0; } .ems-hero .f-right .ems-icon { left:0; }
.ems-hero .feature h2 { position:absolute; top:604px; margin:0; white-space:nowrap; font:600 24px/26px 'Barlow Semi Condensed', sans-serif;
  letter-spacing:0; color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.4); }
.ems-hero .f-left h2 { right:0; } .ems-hero .f-right h2 { left:0; }
.ems-hero .feature p { position:absolute; top:664px; margin:0; white-space:nowrap; font:400 14px/19px 'Barlow', sans-serif;
  color:rgba(255,255,255,.9); text-shadow:0 1px 3px rgba(0,0,0,.45); }
.ems-hero .f-left p { right:12px; } .ems-hero .f-right p { left:12px; }
.ems-hero .feature h2 span, .ems-hero .feature p span { display:block; white-space:nowrap; }
.ems-hero .feature p span:last-child { margin-top:.5em; }

@media (prefers-reduced-motion:no-preference) {
  .ems-hero .eyebrow { animation:emsRise .55s cubic-bezier(.33,.9,.35,1) .15s both; }
  .ems-hero .headline span, .ems-hero .sub { animation:emsLine .9s cubic-bezier(.16,1,.3,1) both; }
  .ems-hero .headline span:nth-child(1) { animation-delay:.28s; } .ems-hero .headline span:nth-child(2) { animation-delay:.37s; }
  .ems-hero .headline span:nth-child(3) { animation-delay:.46s; } .ems-hero .headline span:nth-child(4) { animation-delay:.55s; }
  .ems-hero .sub { animation-delay:.5s; }
  .ems-hero .f-left { animation:emsBlockL .75s cubic-bezier(.16,1,.3,1) .82s both; }
  .ems-hero .f-right { animation:emsBlockR .75s cubic-bezier(.16,1,.3,1) .9s both; }
}
@keyframes emsRise { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes emsLine { 0% { opacity:0; transform:translateY(.26em); clip-path:inset(100% -30% 0% -30%); } 35% { opacity:1; }
  90% { clip-path:inset(0% -30% -100% -30%); } 100% { opacity:1; transform:none; clip-path:inset(-80% -30% -100% -30%); } }
@keyframes emsBlockL { from { opacity:0; transform:translate(-12px,8px); } to { opacity:1; transform:none; } }
@keyframes emsBlockR { from { opacity:0; transform:translate(12px,8px); } to { opacity:1; transform:none; } }

/* Fleet cards */
.ems-fleet { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:64px; }
.ems-card { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:#000; }
.ems-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ems-card:hover img { transform:scale(1.03); }
.ems-card .over { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:30px;
  background:linear-gradient(to top, rgba(10,10,10,.92) 0%, rgba(10,10,10,.45) 45%, rgba(10,10,10,0) 75%); }
.ems-card small { font:600 13px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ems-red); }
.ems-card h3 { font:600 44px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:-.01em; margin:8px 0 6px; }
.ems-card p { color:var(--ems-muted); font-size:14px; }
.ems-card .go { margin-top:14px; font:600 14px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.ems-card .go span { border-bottom:2px solid var(--ems-red); padding-bottom:3px; }
.ems-fleet.small { grid-template-columns:repeat(3, 1fr); }
.ems-fleet.small .ems-card { aspect-ratio:4/3; } .ems-fleet.small h3 { font-size:34px; } .ems-fleet.small .over { padding:22px; }

/* Specs (white section) */
.ems-specs { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:64px; text-align:left; }
.ems-spec { border:1px solid #e6e6e6; padding:26px 26px 18px; background:#fff; }
.ems-spec h3 { font:600 14px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ems-red); margin-bottom:12px; }
.ems-spec li { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-top:1px solid var(--ems-rule); font-size:15px; line-height:1.45; }
.ems-spec li:first-child { border-top:none; }
.ems-spec li span { color:#666; white-space:nowrap; }
.ems-spec li strong { font-weight:500; text-align:right; color:var(--ems-ink); }
.ems-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:44px; }

/* Contact (red-orange band, like the poster's "Apply" block) */
.ems-contact { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:56px; }
.ems-contact a { display:block; padding:30px 20px; border:2px solid rgba(17,17,17,.22); text-align:center; color:var(--ems-ink) !important; transition:border-color .2s, background .2s; }
.ems-contact a:hover { border-color:var(--ems-ink); background:rgba(255,255,255,.08); }
.ems-contact .ems-icon { color:var(--ems-ink); width:40px; height:40px; }
.ems-contact small { display:block; margin:14px 0 8px; font:600 13px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ems-ink); opacity:.75; }
.ems-contact span { font:600 24px/1.2 'Barlow Semi Condensed', sans-serif; letter-spacing:0; }

/* Footer */
.ems-foot { background:#0b0b0b; border-top:1px solid var(--ems-line); padding:70px 0 34px; }
.ems-foot .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
.ems-foot .em-logo { height:36px; margin-bottom:22px; }
.ems-foot p { color:var(--ems-muted); font-size:14px; line-height:1.7; max-width:320px; }
.ems-foot h4 { font:600 13px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--ems-red); margin:0 0 16px; }
.ems-foot li { margin-bottom:10px; font-size:14px; } .ems-foot li a { color:var(--ems-muted) !important; } .ems-foot li a:hover { color:#fff !important; }
.ems-foot .base { display:flex; justify-content:space-between; gap:16px; margin-top:54px; padding-top:24px; border-top:1px solid var(--ems-line);
  font:500 12px/1.4 'Barlow', sans-serif; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.45); }

/* Tablet & phone */
@media (max-width:1024px) { .ems-specs { grid-template-columns:1fr 1fr; } .ems-fleet.small { grid-template-columns:1fr 1fr; } }
@media (max-width:609px), (max-aspect-ratio:1/1) {
  .ems-hero { aspect-ratio:auto; max-height:none; min-height:0; display:grid; grid-template-columns:100%; background:var(--ems-ink); padding:0 0 34px; }
  .ems-hero .tint { display:none; }
  .ems-hero .stage { display:contents; }
  .ems-hero .bg { position:static; grid-row:4; width:100%; height:auto; object-fit:contain; margin:26px 0 30px; }
  .ems-hero .eyebrow, .ems-hero .headline, .ems-hero .sub, .ems-hero .feature, .ems-hero .feature h2, .ems-hero .feature p,
  .ems-hero .feature .ems-icon { position:static; width:auto; height:auto; }
  .ems-hero .eyebrow, .ems-hero .headline, .ems-hero .sub, .ems-hero .feature { padding:0 22px; }
  .ems-hero .eyebrow { grid-row:1; margin-top:34px; font-size:13px; line-height:1.5; margin-bottom:14px; text-wrap:balance; }
  .ems-hero .headline { grid-row:2; font-size:clamp(34px, 10.6vw, 72px); line-height:1.02; text-shadow:none; }
  .ems-hero .headline.xl { font-size:clamp(54px, 19vw, 120px); line-height:1; }
  .ems-hero .sub { grid-row:3; margin-top:12px; font-size:15px; }
  .ems-hero .f-left { grid-row:5; margin-bottom:28px; } .ems-hero .f-right { grid-row:6; }
  .ems-hero .feature .ems-icon { display:block; width:36px; height:36px; margin-bottom:10px; }
  .ems-hero .f-left .ems-icon { margin-left:auto; } .ems-hero .f-right .ems-icon { margin-right:auto; }
  .ems-hero .feature h2 { font-size:22px; line-height:1.12; margin-bottom:8px; white-space:normal; text-shadow:none; }
  .ems-hero .feature p { font-size:15px; line-height:1.5; max-width:420px; white-space:normal; text-shadow:none; }
  .ems-hero .feature h2 span, .ems-hero .feature p span { white-space:normal; }
  .ems-hero .feature p span { display:inline; } .ems-hero .feature p span:last-child { display:block; }
  .ems-hero .f-left p { margin-left:auto; } .ems-hero .f-right p { margin-right:auto; }
}
@media (max-width:960px) {
  .ems-split, .ems-split.about { grid-template-columns:1fr; gap:40px; }
  .ems-split-photo.tall { aspect-ratio:4 / 3; }
}
@media (max-width:860px) {
  .ems-sec { padding:72px 0; }
  .ems-duo { grid-template-columns:1fr 48px 1fr; column-gap:0; }
  .ems-fleet, .ems-contact { grid-template-columns:1fr; }
  .ems-foot .cols { grid-template-columns:1fr 1fr; } .ems-foot .cols > :first-child { grid-column:1 / -1; }
}
@media (max-width:609px) {
  .ems-eyebrow { font-size:13px; } .ems-eyebrow::before { width:24px; }
  .ems-duo { grid-template-columns:1fr 28px 1fr; row-gap:36px; }
  .ems-item h3 { font-size:20px; } .ems-item p { font-size:14px; }
  .ems-specs, .ems-fleet.small, .ems-svc-grid { grid-template-columns:1fr; }
  .ems-svc-card { padding:24px 22px 26px; } .ems-svc-card h3 { font-size:22px; }
  .ems-card h3 { font-size:38px; } .ems-card .over { padding:22px; }
  .ems-contact span { font-size:23px; }
  .ems-foot .cols { grid-template-columns:1fr; } .ems-foot .base { flex-direction:column; }
}

/* Page chrome */
html { scroll-behavior:smooth; }
body { margin:0; background:#111111; color:#fff; }
[hidden] { display:none !important; }
.skip { position:absolute; left:-9999px; top:0; z-index:100; background:#FF4F00; color:#fff; padding:10px 14px; font:600 15px/1 'Barlow', sans-serif; }
.skip:focus { left:12px; top:12px; }
.bar { position:sticky; top:0; z-index:50; background:#111111; border-bottom:1px solid rgba(255,255,255,.14); }
.bar .in { max-width:1200px; margin:0 auto; padding:0 24px; height:72px; display:flex; align-items:center; gap:20px; }
.bar .logo { display:block; text-decoration:none; }
.bar .main-nav { display:flex; gap:28px; margin-left:auto; }
.bar .main-nav a, .menu a { color:#fff; text-decoration:none; font:600 15px/1 'Barlow Semi Condensed', system-ui, sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.bar .main-nav a:hover, .menu a:hover { color:#FF4F00; }
.bar .ems-call { margin-left:8px; }
.bar button { display:none; background:none; border:0; padding:10px; margin-right:-10px; cursor:pointer; color:#fff; }
.bar a:focus-visible, .bar button:focus-visible, .menu a:focus-visible, .ems-site a:focus-visible { outline:2px solid #FF4F00; outline-offset:3px; }
.menu { background:#1a1a1a; border-top:1px solid rgba(255,255,255,.14); padding:8px 24px 18px; display:grid; }
.menu a { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:18px; }
.menu .sub { padding-left:16px; font-size:16px; color:rgba(255,255,255,.72); }
.ems-site section[id], #top { scroll-margin-top:72px; }
main.ems-site { padding-bottom:0; }

/* Page views: the fleet page and each vessel are sections of this page, shown only when they are the URL
   target (#fleet-overview, #fulla ...). While one is open, the homepage sections around it are hidden. */
.page-view:not(:target) { display:none; }
main:has(> .page-view:target) > :not(.page-view:target) { display:none; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* Fleet page */
.fleet-head { background:#111111; padding:64px 0 56px; border-bottom:3px solid #FF4F00; }
.fleet-head .ems-site, .fleet-head { color:#fff; }
.fleet-home { display:block; width:max-content; margin-bottom:28px; color:rgba(255,255,255,.75) !important; font:600 14px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
.fleet-home:hover { color:#FF4F00 !important; }
.fleet-head .ems-lede { margin:18px 0 0 !important; max-width:680px; }
.fleet-body { padding-top:64px; }
.ems-table-wrap { overflow-x:auto; border:1px solid #e6e6e6; }
.ems-compare { width:100%; min-width:720px; border-collapse:collapse; font-size:15px; color:#2c2c2c; }
.ems-compare th, .ems-compare td { padding:15px 18px; text-align:left; border-bottom:1px solid #eeeeee; white-space:nowrap; }
.ems-compare thead th { background:#111111; color:#fff; font:600 13px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.ems-compare tbody tr:nth-child(even) { background:#fafaf9; }
.ems-compare tbody th a { font:600 20px/1 'Barlow Semi Condensed', sans-serif; color:#111111; text-decoration:none; border-bottom:2px solid #FF4F00; }
.ems-compare td:last-child { white-space:normal; min-width:200px; }
.ems-vrows { display:grid; gap:64px; margin-top:72px; }
.ems-vrow { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center; }
.ems-vrow.flip .ems-vrow-photo { order:2; }
.ems-vrow-photo { display:block; overflow:hidden; background:#000; }
.ems-vrow-photo img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; transition:transform .5s ease; }
.ems-vrow-photo:hover img { transform:scale(1.03); }
.ems-vrow-text h3 { font:600 52px/1 'Barlow Semi Condensed', sans-serif; color:#111111; letter-spacing:-.01em; margin:2px 0 14px; }
.ems-vrow-text p { font-size:16px; line-height:1.65; color:#555; max-width:520px; }
.ems-vstats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0 26px !important; }
.ems-vstats li { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#f5f5f4; font:600 17px/1.2 'Barlow Semi Condensed', sans-serif; color:#111111; }
.ems-vstats .ems-icon { color:#FF4F00; width:28px; height:28px; flex:none; }
.ems-vrow-actions { display:flex; flex-wrap:wrap; gap:12px; }
.fleet-body .ems-btn-line { color:#111111 !important; }
.fleet-body .ems-btn-line:hover { color:#fff !important; }
.fleet-cta { background:#FF4F00; padding:44px 0; }
.fleet-cta .ems-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.fleet-cta p { font:800 clamp(30px,3.8vw,46px)/1 'Barlow Condensed', sans-serif; text-transform:uppercase; color:#111111; margin:0; }
.ems-btn-dark { background:#111111; border-color:#111111; color:#fff !important; }
.ems-btn-dark:hover { background:#000; }
.ems-btn svg { width:16px; height:16px; }
.vessel-page { position:relative; border-top:3px solid #FF4F00; }
.vessel-back { position:absolute; z-index:5; top:18px; left:24px; padding:9px 14px; background:rgba(17,17,17,.72); color:#fff !important;
  font:600 14px/1 'Barlow Semi Condensed', sans-serif; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; border:1px solid rgba(255,255,255,.3); }
.vessel-back:hover { background:#FF4F00; border-color:#FF4F00; }
a[href^="mailto:"] span { overflow-wrap:anywhere; }   /* long email address on narrow phones */
.ems-contact a[href^="mailto:"] span { font-size:20px; }

@media (max-width:860px) {
  .bar .main-nav { display:none; } .bar button { display:block; } .bar .in { height:64px; gap:12px; }
  .bar .em-logo { height:24px; }
  .bar .ems-call { margin-left:auto; padding:10px 14px; font-size:16px; } .bar .ems-call .n { display:none; } .bar .ems-call .s { display:inline; }
  .vessel-back { top:12px; left:16px; font-size:13px; }
  .fleet-head { padding:44px 0 40px; }
  .ems-vrow, .ems-vrow.flip { grid-template-columns:1fr; gap:24px; }
  .ems-vrow.flip .ems-vrow-photo { order:0; }
  .ems-vrow-text h3 { font-size:42px; }
  .ems-vrows { gap:52px; margin-top:52px; }
}

/* former inline styles */
[data-s="s1"] { object-position:center 12%; }
[data-s="s2"] { object-position:center 55%; }
[data-s="s3"] { object-position:center 50%; }
[data-s="s4"] { object-position:center 40%; }
