:root {
    color-scheme: light;
    --home-navy: #092d41;
    --home-ink: #183341;
    --home-muted: #526875;
    --home-line: #dbe4e9;
    --home-accent: #ffb22e;
    --home-green: #086c62;
    font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 1.5rem; }
body.home { margin: 0; color: var(--home-ink); background: #fff; font-size: 1rem; line-height: 1.65; }
.home a { color: inherit; text-underline-offset: .25em; }
.home img { max-width: 100%; display: block; }
.home h1, .home h2, .home h3, .home p, .home figure { margin: 0; }
.home h1, .home h2, .home h3 { text-wrap: balance; }
.home a:focus-visible, .home summary:focus-visible { outline: 3px solid #078473; outline-offset: 5px; }
.home-hero a:focus-visible, .home-footer a:focus-visible { outline-color: var(--home-accent); }
.home-container { width: min(1240px, calc(100% - 5rem)); margin-inline: auto; }
.home-skip { position: absolute; top: .5rem; left: 1rem; transform: translateY(-180%); z-index: 10; background: white; color: var(--home-navy); padding: .75rem 1rem; }
.home-skip:focus { transform: none; }
.home-header { background: #fff; border-bottom: 1px solid var(--home-line); }
.home-header-inner { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding-block: 1rem; }
.home-brand { display: inline-flex; align-items: center; gap: 1rem; text-decoration: none; flex-shrink: 0; }
.home-brand img { width: 142px; height: auto; }
.home-brand span { border-left: 1px solid #c7d7df; padding-left: 1rem; font-size: .875rem; font-weight: 750; letter-spacing: .12em; }
.home-nav, .home-access { display: flex; align-items: center; gap: 1.5rem; }
.home-nav a, .home-login { font-size: .875rem; text-decoration: none; font-weight: 600; }
.home-nav a:hover, .home-login:hover { color: var(--home-green); text-decoration: underline; }
.home-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: .85rem 1.5rem; border: 1px solid var(--home-accent); border-radius: 5px; background: var(--home-accent); color: var(--home-navy) !important; font-size: 1rem; font-weight: 750; text-decoration: none; transition: background-color .15s; }
.home-button:hover { background: #ffc45b; border-color: #ffc45b; }
.home-button-small { min-height: 44px; padding: .6rem 1rem; font-size: .875rem; }
.home-hero { display: grid; grid-template-columns: 1fr 1fr; background: var(--home-navy); color: white; }
.home-hero-copy { padding: clamp(3.5rem, 6vw, 6rem) 3.5rem clamp(3.5rem, 6vw, 6rem) max(2.5rem, calc((100vw - 1240px) / 2)); }
.home-eyebrow { font-size: .875rem; font-weight: 750; letter-spacing: .09em; line-height: 1.5; color: var(--home-green); }
.home-hero .home-eyebrow { color: #f8c775; margin-bottom: 1.5rem; }
.home-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.4rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 650; max-width: 12ch; }
.home-hero h1 span { color: var(--home-accent); }
.home-lead { margin-top: 1.75rem !important; font-size: 1.15rem; line-height: 1.65; max-width: 31rem; color: #e5edf1; }
.home-hero-detail { max-width: 30rem; color: #b3c8d3; margin-top: 1rem !important; }
.home-actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.home-hero .home-actions { margin-top: 2.25rem; }
.home-text-link { font-size: 1rem; text-decoration: none; font-weight: 600; }
.home-text-link span { margin-left: .4rem; color: var(--home-accent); }
.home-text-link:hover { text-decoration: underline; }
.home-hero-image { position: relative; min-width: 0; overflow: hidden; min-height: 500px; background: #28596e; }
.home-hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% center; }
.home-hero-image::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #06283aca); pointer-events: none; }
.home-hero-image figcaption { position: absolute; bottom: 2rem; left: 2.5rem; right: 2.5rem; z-index: 1; font-size: 1rem; font-weight: 550; color: #fff; }
.home-modes { border-bottom: 1px solid var(--home-line); background: #f6f9fa; }
.home-modes-inner { display: flex; align-items: center; gap: 3.5rem; padding-block: 1.6rem; }
.home-modes p { font-size: .875rem; color: var(--home-muted); line-height: 1.5; flex-shrink: 0; }
.home-modes strong { color: var(--home-ink); font-weight: 700; }
.home-modes ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 1; padding: 0; margin: 0; list-style: none; }
.home-modes li { border-left: 1px solid #cbd8de; padding: .65rem 1.5rem; font-size: 1.1rem; font-weight: 650; }
.home-section { padding-block: 6rem; }
.home h2 { font-size: clamp(2rem, 3.1vw, 2.9rem); line-height: 1.17; letter-spacing: -.035em; font-weight: 650; }
.home h3 { font-size: 1.2rem; line-height: 1.35; font-weight: 650; letter-spacing: -.015em; }
.home-section-intro .home-eyebrow, .home-section-heading .home-eyebrow, .home-conditions .home-eyebrow, .home-start .home-eyebrow { margin-bottom: 1rem; }
.home-section-intro > p:not(.home-eyebrow) { max-width: 29rem; color: var(--home-muted); margin-top: 1.5rem; }
.home-inline-link { display: inline-block; color: var(--home-green) !important; font-weight: 700; text-decoration: none; }
.home-inline-link:hover { text-decoration: underline; }
.home-section-intro .home-inline-link { margin-top: 1.75rem; }
.home-operations { display: grid; grid-template-columns: .85fr 1.15fr; gap: 6rem; }
.home-features { list-style: none; margin: 0; padding: 0; }
.home-features li { display: flex; gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--home-line); }
.home-features li:first-child { padding-top: .5rem; border-top: 0; }
.home-feature-number { color: var(--home-green); font-size: .875rem; font-weight: 700; line-height: 1.8rem; }
.home-features p { color: var(--home-muted); margin-top: .65rem; }
.home-conditions { background: var(--home-navy); color: #fff; }
.home-conditions-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; padding-block: 5rem; }
.home-conditions .home-eyebrow { color: #f8c775; }
.home-conditions h2 + p { margin-top: 1.5rem; color: #c4d5df; }
.home-cargo-types { display: flex; flex-wrap: wrap; gap: .65rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.home-cargo-types li { border: 1px solid #507082; border-radius: 4px; padding: .45rem .8rem; font-size: .875rem; }
.home-condition-details { border-left: 1px solid #3c5d70; padding-left: 3rem; display: grid; gap: 1.75rem; }
.home-condition-details h3 { color: #fff; }
.home-condition-details p { margin-top: .65rem; color: #c4d5df; }
.home-section-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 5rem; align-items: end; margin-bottom: 3rem; }
.home-section-heading > p { color: var(--home-muted); }
.home-ecosystem { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--home-line); }
.home-ecosystem article { padding: 2.25rem 2rem; }
.home-ecosystem article + article { border-left: 1px solid var(--home-line); }
.home-ecosystem .home-ecosystem-focus { background: #eff7f5; border-top: 3px solid var(--home-green); padding-top: calc(2.25rem - 3px); }
.home-product { font-size: .875rem; letter-spacing: .14em; font-weight: 800; color: var(--home-green); margin-bottom: 1.3rem !important; }
.home-ecosystem h3 { margin-bottom: 1rem; }
.home-ecosystem article > p:last-child { color: var(--home-muted); }
.home-integration-note { font-size: .875rem; color: var(--home-muted); margin-top: 1.25rem !important; }
.home-team { background: #f4f7f9; border-block: 1px solid var(--home-line); }
.home-team-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6rem; padding-block: 5rem; }
.home-questions details { border-bottom: 1px solid #cddce3; padding: 1.25rem 0; }
.home-questions details:first-child { padding-top: 0; }
.home-questions summary { cursor: pointer; font-weight: 650; padding: .4rem 0; font-size: 1.1rem; }
.home-questions summary:hover { color: var(--home-green); }
.home-questions details p { margin-top: .85rem; color: var(--home-muted); }
.home-start { display: flex; justify-content: space-between; align-items: center; gap: 3rem; padding-block: 5rem; }
.home-start h2 { max-width: 19ch; }
.home-start h2 + p { color: var(--home-muted); margin-top: 1rem; }
.home-start .home-actions { flex-shrink: 0; }
.home-footer { background: #072638; color: #d2e0e8; }
.home-footer-inner { padding-block: 2.5rem; display: flex; justify-content: space-between; gap: 3rem; }
.home-footer-name { text-decoration: none; font-size: 1.1rem; color: white !important; white-space: nowrap; }
.home-footer-name strong { color: var(--home-accent); font-weight: 550; }
.home-footer p { margin-top: .5rem; font-size: .875rem; color: #adc3d0; }
.home-footer nav { display: flex; gap: .65rem 1.5rem; flex-wrap: wrap; align-content: center; justify-content: flex-end; }
.home-footer nav a { font-size: .875rem; text-decoration: none; }
.home-footer nav a:hover { text-decoration: underline; color: white; }

@media (min-width: 1600px) { .home-hero { grid-template-columns: minmax(0, calc(50% - 30px)) minmax(0, 1fr); } }
@media (max-width: 1180px) {
    .home-header-inner { gap: 1rem; }
    .home-nav { order: 3; width: 100%; justify-content: center; border-top: 1px solid var(--home-line); padding-top: .75rem; }
    .home-header-inner { padding-bottom: .75rem; }
    .home-operations, .home-conditions-inner, .home-team-inner { gap: 3rem; }
    .home-hero-copy { padding-right: 2.5rem; }
    .home-modes-inner { gap: 2rem; }
    .home-modes li { padding-inline: 1rem; }
    .home-section-heading { gap: 3rem; }
    .home-start { flex-wrap: wrap; }
    .home-start .home-actions { flex-shrink: 1; }
}
@media (max-width: 800px) {
    .home-container { width: calc(100% - 3rem); }
    .home-hero { grid-template-columns: 1fr; }
    .home-hero-copy { padding: 3.5rem 1.5rem; }
    .home-hero h1 { max-width: 16ch; font-size: clamp(2.75rem, 8vw, 4.3rem); }
    .home-hero-image { min-height: 300px; }
    .home-hero-image img { object-position: center 67%; }
    .home-hero-image figcaption { left: 1.5rem; bottom: 1.5rem; }
    .home-modes-inner { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
    .home-modes p br { display: none; }
    .home-modes p strong { margin-left: .3rem; }
    .home-modes ul { width: 100%; }
    .home-modes li { padding: .35rem .75rem; font-size: .95rem; }
    .home-modes li:first-child { padding-left: 0; border-left: 0; }
    .home-section { padding-block: 4rem; }
    .home-operations, .home-conditions-inner, .home-team-inner, .home-section-heading { grid-template-columns: 1fr; gap: 2.5rem; }
    .home-condition-details { padding: 2rem 0 0; border-left: 0; border-top: 1px solid #3c5d70; }
    .home-conditions-inner, .home-team-inner { padding-block: 3.5rem; }
    .home-ecosystem { grid-template-columns: 1fr; }
    .home-ecosystem article { padding: 1.75rem; }
    .home-ecosystem article + article { border-left: 0; border-top: 1px solid var(--home-line); }
    .home-ecosystem .home-ecosystem-focus { padding-top: calc(1.75rem - 3px); border-top: 3px solid var(--home-green); }
    .home-section-heading { margin-bottom: 2rem; }
    .home-start { padding-block: 3.5rem; gap: 2rem; }
    .home-footer-inner { flex-direction: column; gap: 1.75rem; }
    .home-footer nav { justify-content: flex-start; }
}
@media (max-width: 520px) {
    .home-header-inner { gap: 1rem; }
    .home-brand img { width: 124px; }
    .home-brand { gap: .7rem; }
    .home-brand span { padding-left: .7rem; }
    .home-access { width: 100%; justify-content: space-between; gap: 1rem; }
    .home-nav { justify-content: flex-start; flex-wrap: wrap; gap: .5rem 1.25rem; }
    .home-modes ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 0; }
    .home-modes li:nth-child(3) { border-left: 0; padding-left: 0; }
    .home-hero-image { min-height: 250px; }
    .home-actions { gap: 1.25rem; }
    .home-feature-number { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .home * { transition: none; } }
@media print {
    .home-header, .home-footer, .home-actions, .home-skip { display: none; }
    .home-container { width: 100%; }
    .home-hero, .home-conditions, .home-team { background: white; color: black; }
    .home-hero-copy { padding: 1rem; }
    .home-hero p, .home-hero h1 span, .home-conditions p, .home-conditions h3 { color: black; }
    .home-section, .home-conditions-inner, .home-team-inner, .home-start { padding-block: 2rem; }
    .home-hero-image { display: none; }
    .home-hero, .home-operations, .home-conditions-inner, .home-team-inner { display: block; }
}
