/* V7: shared readable type scale and a compact, product-led homepage. */
:root { --body-copy:16px; --small-copy:13px; --section-space:88px; }
.section { padding-block:var(--section-space); }
.eyebrow { font-size:11px; }
.section-lead { font-size:var(--body-copy); color:#536b79; }
.button { font-size:15px; min-height:50px; }
.hero { min-height:0; }
.hero-photo { opacity:.46; background-position:center; }
.hero-shade { background:linear-gradient(90deg,#071e31f5 0%,#071e31d9 45%,#071e3170 100%); }
.hero-layout { position:relative; display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; padding-block:170px 88px; }
.hero .hero-content { padding:0; width:auto; margin:0; }
.hero h1 { max-width:none; font-size:clamp(38px,4.1vw,60px); letter-spacing:-2.5px; line-height:1.28; }
.hero h1 em { color:var(--teal); font-style:normal; }
.hero .hero-description { font-size:16px; line-height:1.9; color:#d0dfe5; margin-top:28px; }
.hero-actions { margin-top:30px; gap:12px; }
.hero-domain-note { font-size:12px; margin-top:25px; color:#b6cad3; }
.hero-product { margin:0; min-width:0; border:1px solid #ffffff35; border-radius:18px; padding:23px; background:#102f41e8; box-shadow:0 30px 65px #0003; transform:rotate(-2deg); }
.hero-product-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#b6d2df; font-size:9px; letter-spacing:1px; margin-bottom:24px; }
.hero-product-heading>span:first-child { display:flex; align-items:center; gap:9px; color:white; font-size:18px; font-weight:600; letter-spacing:0; }
.hero-product>img { width:100%; height:auto; border-radius:8px; }
.hero-product figcaption { display:flex; align-items:flex-start; gap:16px; padding-top:24px; }
.hero-product-number { color:var(--teal); font-size:12px; padding-top:4px; }
.hero-product figcaption strong { font-size:19px; font-weight:600; }
.hero-product figcaption p { color:#bdd1dc; font-size:14px; line-height:1.7; margin-top:7px; }
.hero-product figcaption a { margin-left:auto; border:1px solid #ffffff45; border-radius:50%; min-width:44px; min-height:44px; display:grid; place-items:center; font-size:22px; }
.ai-feature-copy h4 { font-size:27px; }
.ai-feature-copy>p { font-size:16px; color:#4e6878; }
.ai-feature-tags span { font-size:12px; }
.ai-feature-link { font-size:15px; min-height:44px; }
.ai-feature-path { font-size:12px; flex-wrap:wrap; }
.ai-feature-screen img { height:auto; }
.solution-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.directory-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:28px 24px; border:1px solid #d8e5e7; background:white; border-radius:12px; transition:background .2s,border-color .2s; }
.directory-card:hover { background:#edf7f4; border-color:#4b9c91; }
.directory-top { display:flex; justify-content:space-between; align-items:center; color:#607d87; font-size:12px; }
.directory-top img { border-radius:10px; }
.directory-card h3 { margin:28px 0 14px; font-size:22px; letter-spacing:-.7px; line-height:1.5; }
.directory-card p { color:#546d7c; font-size:15px; line-height:1.8; margin-bottom:24px; }
.directory-products { display:block; margin-top:auto; padding-top:18px; padding-right:18px; border-top:1px solid #dfebea; color:#186d65; font-size:13px; }
.directory-arrow { position:absolute; right:20px; bottom:25px; color:#08786f; }
.case-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.case-card { padding:25px; }
.case-card h3,.case-card .case-multi { font-size:21px; }
.case-card h3 span { font-size:18px; }
.case-card p { font-size:15px; color:#526b7b; }
.case-card p strong { display:block; font-weight:600; color:var(--ink); margin-bottom:8px; }
.case-card a { font-size:13px; min-height:44px; }
.case-category { font-size:12px; }
.technology-story>p:not(.eyebrow),.tech-row p,.tech-ai-capability p { font-size:15px; color:#bfd0da; }
.tech-footnote,.inhouse { font-size:13px; }
.process-grid article p { font-size:15px; }
.step-output { font-size:12px; }
.contact-description { font-size:16px; margin-top:20px; color:#315b60; }
.contact-email { font-size:13px; color:#315b60; margin-top:10px; }
.contact-actions { flex-shrink:0; }
.category-description,.category-product-copy>p,.detail-description { font-size:16px; color:#526b7a; }
.category-product-features p,.detail-features p { font-size:15px; color:#526b7a; }
.category-product-visual figcaption,.category-hero-visual figcaption,.detail-visual figcaption,.gallery-figure figcaption { font-size:13px; }
.category-product-actions .button,.category-consult,.category-jump-links a,.gallery-controls button { font-size:14px; min-height:44px; }
.screen-expand { display:block; margin:20px 0 12px auto; border:1px solid #bacfd3; border-radius:6px; padding:11px 17px; background:white; color:#155b60; font-size:14px; min-height:44px; }
.screen-dialog { width:94vw; max-width:1500px; max-height:92dvh; border:0; border-radius:12px; padding:20px; color:var(--ink); }
.screen-dialog::backdrop { background:#041725cf; }
.screen-dialog form { display:flex; justify-content:flex-end; margin-bottom:16px; }
.screen-close { border:1px solid #bacfd3; border-radius:6px; background:white; padding:9px 18px; min-height:44px; }
.screen-dialog-scroll { overflow:auto; max-height:70dvh; }
.screen-dialog-scroll img { width:100%; min-width:900px; max-width:none; height:auto; }
.screen-dialog-caption { margin-top:12px; font-size:14px; }
.footer-solutions strong { font-size:14px; }.footer-solutions span { font-size:12px; }
@media(max-width:1200px) {
 .hero-layout { gap:35px; }.solution-directory,.case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hero h1 { font-size:44px; }.hero-product { padding:18px; }
 .hero-product-heading>span:last-child { display:none; }
}
@media(max-width:1000px) {
 .hero-layout { padding-block:135px 65px; grid-template-columns:1fr; gap:42px; }
 .hero h1 { font-size:54px; }.hero-product { width:100%; max-width:640px; transform:none; }
 .contact-inner { gap:32px; }
}
@media(max-width:680px) {
 :root { --section-space:56px; }
 .container { width:calc(100% - 40px); }
 .hero-layout { padding-block:122px 40px; gap:34px; }
 .hero h1 { font-size:clamp(34px,9vw,48px); letter-spacing:-1.8px; line-height:1.32; }
 .hero .eyebrow { font-size:10px; letter-spacing:1px; margin-bottom:22px; }
 .hero .hero-description { font-size:15px; line-height:1.85; margin-top:23px; }
 .hero-description br { display:none!important; }
 .hero-actions { gap:10px; margin-top:24px; }
 .hero-actions .button { font-size:14px; min-height:50px; padding:12px 16px; gap:14px; }
 .hero-domain-note { font-size:11px; margin-top:20px; }
 .hero-product { padding:15px; border-radius:12px; }
 .hero-product-heading { margin-bottom:14px; }.hero-product-heading>span:first-child { font-size:16px; }
 .hero-product figcaption { padding-top:16px; gap:10px; }.hero-product figcaption strong { font-size:16px; }
 .hero-product figcaption p { font-size:13px; }.hero-product-number { display:none; }
 .section-heading { margin-bottom:28px; }.section-heading h2 { font-size:28px; line-height:1.45; }
 .section-lead { font-size:15px; line-height:1.85; }.section-lead br { display:none; }
 .eyebrow,.eyebrow span:not(.tiny-line) { font-size:10px; }
 .ai-feature { padding:23px 20px 0; }.ai-feature-copy h4 { font-size:23px; line-height:1.5; }
 .ai-feature-copy>p { font-size:15px; }.ai-feature-copy>p br { display:none; }
 .ai-feature-tags span { font-size:11px; }.ai-feature-link { font-size:14px; }
 .ai-feature-path { font-size:11px; gap:7px; line-height:1.8; padding-block:16px; }
 .ai-pill,.feature-sequence { font-size:9px; }.ai-feature-screen { margin-top:20px; }
 .solution-directory { grid-template-columns:1fr; gap:12px; }
 .directory-card { padding:22px; }.directory-top img { width:34px; height:34px; }
 .directory-card h3 { margin:15px 0 8px; font-size:22px; }
 .directory-card p { margin-bottom:17px; }.directory-products { padding-top:13px; }
 .case-grid { grid-template-columns:1fr; gap:14px; }.case-card { padding:23px; }
 .case-card h3,.case-card .case-multi { font-size:22px; }.case-card h3 span { font-size:20px; }
 .case-card p { font-size:15px; }.case-card a { font-size:14px; }
 .technology-story>p:not(.eyebrow),.tech-row p,.tech-ai-capability p { font-size:15px; }
 .technology-story>p br,.tech-row p br,.tech-ai-capability p br { display:none; }
 .tech-ai-capability h3,.tech-row h3 { font-size:18px; }.tech-footnote,.inhouse { font-size:12px; }
 .process-grid { grid-template-columns:1fr; gap:20px; }.process-grid article { padding:20px 0; border-bottom:1px solid #dce6e8; }
 .process-grid article h3 { font-size:20px; }.process-grid article p { font-size:15px; }.step-output { font-size:12px; }
 .contact-inner { display:block; }.contact-actions { margin-top:28px; }.contact-description { font-size:15px; }
 .contact-description br { display:none; }.contact-actions .button { font-size:15px; }.contact-phone { font-size:15px; }
 .category-description,.category-product-copy>p,.detail-description,.category-product-features p,.detail-features p { font-size:15px; }
 .category-description,.detail-description { line-height:1.85; }
 .category-product-features { grid-template-columns:1fr; }.category-product-features h4 { font-size:17px; }
 .category-product-actions .button,.category-consult,.category-jump-links a,.gallery-controls button { font-size:14px; }
 .category-breadcrumb,.detail-breadcrumb,.category-audience,.detail-audience { font-size:12px; }
 .category-switcher a { font-size:13px; }.category-product-tags span { font-size:12px; }
 .category-product-visual figcaption,.category-hero-visual figcaption,.detail-visual figcaption,.gallery-figure figcaption { font-size:12px; }
 .detail-actions .button { font-size:14px; }.detail-features h3 { font-size:18px; }
 .footer-solutions strong { font-size:13px; }.footer-solutions span { font-size:12px; }
 .mobile-solutions-list strong { font-size:16px; }.mobile-solutions-list small { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .directory-card { transition:none; } }
.ai-feature-equipment .ai-feature-copy>p { color:#bfd3df; }
/* V8: projected wireframe vessel with an exposed propulsion system. */
.hero:has(.vessel-analysis) .hero-photo { opacity:.15; }
.hero:has(.vessel-analysis) .hero-layout { grid-template-columns:.88fr 1.25fr; gap:24px; padding-block:156px 72px; }
.vessel-analysis { margin:0; min-width:0; position:relative; }
.vessel-topline { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 12px 16px; border-bottom:1px solid #86c4d22b; color:#a3ccd5; font-size:10px; letter-spacing:1.5px; }
.vessel-topline>span:first-child { display:flex; align-items:center; gap:10px; }
.concept-badge { font-size:9px; border:1px solid #94cbd438; border-radius:3px; padding:4px 7px; letter-spacing:1px; }
.vessel-stage { position:relative; margin-inline:-28px; }
.vessel-svg { display:block; width:100%; height:auto; overflow:visible; }
.grid-line { fill:none; stroke:#488695; stroke-width:.65; opacity:.22; }
.hull-line { fill:none; stroke:#7cbed2; stroke-width:.8; opacity:.46; }
.hull-edge { fill:none; stroke:#9cdae8; stroke-width:1.3; opacity:.8; }
.deck-line { fill:none; stroke:#68a8bd; stroke-width:.7; opacity:.35; }
.bridge,.deck-box { fill:#0d2d4055; stroke:#8dc9dc; stroke-width:.85; }
.bridge.top { fill:#4d8b9d20; }.bridge-window { fill:none; stroke:#92d9e8; stroke-width:2; opacity:.7; }
.deck-box { fill:#2860730d; stroke-opacity:.4; }
.engine-base { fill:#174e52; stroke:#6cddc3; stroke-width:1; }
.engine-block { fill:#207b70; stroke:#91fbe0; stroke-width:1; }.engine-block.front { fill:#0e4d4f; }
.engine-cylinder { fill:#38ad94; stroke:#a7ffe6; stroke-width:1; }.engine-cylinder.front { fill:#186957; }.engine-cylinder.top { fill:#75e8bb; }
.engine-cap { fill:#b2ffda; stroke:#d2ffed; stroke-width:.6; }.engine-cap.front { fill:#3ca987; }
.engine-pipe { fill:none; stroke:#a0ffe0; stroke-width:3; stroke-linejoin:round; }.engine-shaft { fill:none; stroke:#65cbb5; stroke-width:3; }
.analysis-connectors { fill:#a3ffe2; stroke:#66dec7; stroke-width:1; }
.analysis-connectors path { fill:none; stroke-dasharray:3 5; opacity:.8; }
.engine-pulse { fill:none; transform-box:fill-box; transform-origin:center; animation:engine-pulse 3s ease-out infinite; }
.vessel-labels { fill:#70a6b8; font:8px sans-serif; letter-spacing:1.8px; }
.scan-plane { animation:vessel-scan 7s ease-in-out infinite; }
.analysis-panel { position:absolute; border:1px solid #77cbce50; background:linear-gradient(125deg,#153b4bef,#092534ed); border-radius:8px; padding:14px 16px; box-shadow:0 12px 25px #0002; }
.analysis-panel-top { top:5%; right:1%; width:190px; }.analysis-panel-bottom { bottom:8%; left:3%; width:195px; }
.analysis-kicker { display:block; color:#87bbc7; font-size:8px; letter-spacing:1.1px; }
.analysis-panel strong { display:block; font-size:15px; font-weight:500; color:#e3f8fa; margin-top:7px; }
.analysis-metric { margin-top:13px; display:flex; align-items:center; justify-content:space-between; color:#91c2c7; font-size:11px; }
.metric-bars { display:flex; align-items:center; height:14px; gap:3px; }.metric-bars i { width:3px; height:9px; background:#72dfc0; animation:metric-bar 1.4s ease-in-out infinite alternate; }.metric-bars i:nth-child(3n) { height:15px; animation-delay:-.8s; }.metric-bars i:nth-child(2n) { height:5px; animation-delay:-.4s; }
.signal-wave { width:100%; display:block; margin-top:9px; }.wave-baseline { stroke:#5e989c44; fill:none; }.wave-path { fill:none; stroke:#7cf1d1; stroke-width:1.3; stroke-dasharray:340; animation:signal-draw 4s linear infinite; }
.analysis-tags { display:flex; gap:7px; margin-top:12px; }.analysis-tags span { font-size:10px; color:#a3d7d5; border:1px solid #609c9f4d; padding:2px 6px; border-radius:3px; }
.analysis-progress { height:3px; background:#315c635c; margin-top:16px; overflow:hidden; }.analysis-progress span { display:block; height:100%; width:45%; background:linear-gradient(90deg,transparent,#6de5c9); animation:analysis-progress 4s ease-in-out infinite; }
.vessel-caption { border-top:1px solid #86c4d22b; padding:20px 12px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.vessel-caption-label { color:#6bb9b6; font-size:9px; letter-spacing:1.4px; }.vessel-caption p { font-size:19px; line-height:1.6; color:#bcd3dc; margin-top:8px; }.vessel-caption strong { color:#e7fffc; font-weight:500; }
.vessel-motion { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid #75b1bd50; border-radius:50%; color:#a3d9dc; background:#153645; }
.vessel-note { font-size:10px; color:#8daebc; padding:12px 12px 0; }
.vessel-analysis.is-paused * { animation-play-state:paused!important; }
@keyframes vessel-scan { 0%,100% { transform:translate(-140px,-36px);opacity:0; } 15%,85% {opacity:1;} 90% {transform:translate(120px,32px);opacity:0;} }
@keyframes engine-pulse { 0% { transform:scale(.65);opacity:1; } 100% { transform:scale(1.8);opacity:0; } }
@keyframes signal-draw { 0% {stroke-dashoffset:340;} 60%,100% {stroke-dashoffset:0;} }
@keyframes metric-bar { to {transform:scaleY(.4);opacity:.5;} }
@keyframes analysis-progress { from {transform:translateX(-100%);} to {transform:translateX(320%);} }
@media(max-width:1200px) { .hero:has(.vessel-analysis) .hero-layout { gap:18px;grid-template-columns:.9fr 1.15fr; }.analysis-panel { padding:11px; }.analysis-panel-top {width:155px;}.analysis-panel-bottom {width:170px;} .analysis-panel strong {font-size:13px;} }
@media(max-width:1000px) { .hero:has(.vessel-analysis) .hero-layout {grid-template-columns:1fr;padding-block:135px 55px;gap:45px;}.vessel-analysis {width:100%;max-width:720px;}.analysis-panel-top {width:190px;}.analysis-panel-bottom {width:195px;} }
@media(max-width:680px) { .hero:has(.vessel-analysis) .hero-layout {padding-block:122px 35px;gap:36px;}.vessel-stage {margin:0 -10px;padding-top:74px;padding-bottom:72px;}.vessel-topline {font-size:8px;letter-spacing:.8px;padding-inline:0;}.concept-badge {font-size:7px;}.analysis-panel-top {top:12px;right:0;width:145px;}.analysis-panel-bottom {bottom:0;left:0;width:172px;}.analysis-panel strong {font-size:13px;}.analysis-kicker {font-size:7px;}.analysis-metric {font-size:10px;margin-top:7px;}.analysis-panel {padding:10px 12px;}.signal-wave {height:24px;margin-top:3px;}.vessel-caption {margin-top:20px;padding:18px 0 0;}.vessel-caption p {font-size:17px;}.vessel-note {padding-inline:0;font-size:10px;}.vessel-labels {font-size:10px;}.vessel-svg {transform:scale(1.05);} }
@media(prefers-reduced-motion:reduce) { .vessel-analysis * {animation:none!important;}.scan-plane {display:none;}.vessel-motion {display:none;} }
/* Container bays stay transparent around the exposed machinery. */
.container-box { fill:#20465625; stroke:#8ecbde; stroke-width:.9; stroke-linejoin:round; }
.container-box.top { fill:#6ab7c025; stroke:#a1d9e6; }
.container-box.front { fill:#12354535; }
.container-rib { fill:none; stroke:#75b7cb; stroke-width:.65; opacity:.55; }
/* Marine slow-speed main engine: crankcase, tall frames, exhaust receiver and turbo. */
.engine-crankcase { fill:#185c58; stroke:#8bdac1; stroke-width:.8; }
.engine-crankcase.top { fill:#328c78; }
.engine-access { fill:#103f42; stroke:#71bba9; stroke-width:.65; }
.engine-frame { fill:#3c9c83; stroke:#a7ead1; stroke-width:.7; }
.engine-frame.front { fill:#215e54; }.engine-frame.top { fill:#80cdb0; }
.engine-head { fill:#99daba; stroke:#dbffe7; stroke-width:.7; }.engine-head.front {fill:#458a71;}
.engine-valve {fill:#658e86;stroke:#c6e1d2;stroke-width:.7;}
.engine-exhaust { fill:#667f81; stroke:#c3d8d6; stroke-width:.8; }.engine-exhaust.top {fill:#9bb4ad;}
.exhaust-branch {fill:none;stroke:#b0cfc4;stroke-width:4;stroke-linejoin:round;}
.fuel-line {fill:none;stroke:#d9f8d3;stroke-width:.8;}
.service-rail {fill:none;stroke:#9eecc9;stroke-width:.8;}
.turbo-housing {fill:#688e87;stroke:#c4e5d7;stroke-width:1;}
.turbo-core {fill:#153c43;stroke:#b8d8ce;stroke-width:1.2;}
.turbo-ring {fill:none;stroke:#adccbf;stroke-width:.8;}
.engine-flywheel {fill:#456e68;stroke:#b4e7ce;stroke-width:1.2;}
/* Proportional machinery within a larger vessel silhouette. */
.hero:has(.vessel-analysis) .hero-layout { grid-template-columns:.8fr 1.35fr; gap:22px; }
.vessel-svg { transform:scale(1.12); transform-origin:50% 54%; }
@media(max-width:1200px) { .hero:has(.vessel-analysis) .hero-layout {grid-template-columns:.85fr 1.3fr;} }
@media(max-width:1000px) { .hero:has(.vessel-analysis) .hero-layout {grid-template-columns:1fr;} }
@media(max-width:680px) { .vessel-svg {transform:scale(1.06);} }
/* Restore the original vessel presentation; machinery sits below the aft deckhouse. */
.hero:has(.vessel-analysis) .hero-layout {grid-template-columns:.88fr 1.25fr;gap:24px;}
.vessel-svg {transform:none;}
@media(max-width:1200px) {.hero:has(.vessel-analysis) .hero-layout {grid-template-columns:.9fr 1.15fr;gap:18px;}}
@media(max-width:1000px) {.hero:has(.vessel-analysis) .hero-layout {grid-template-columns:1fr;gap:45px;}}
@media(max-width:680px) {.hero:has(.vessel-analysis) .hero-layout {gap:36px;}.vessel-svg {transform:scale(1.05);}}
@media(min-width:1001px) {
 .category-product-features:has(>div:nth-child(6)),.detail-features:has(>article:nth-child(6)) {grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Two synchronized AI stories share a stable stage and playback control. */
.ai-scenes {display:grid;}
.ai-scene {grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility .7s;}
.ai-scene.is-active {opacity:1;visibility:visible;pointer-events:auto;}
.seagrid-stage {display:flex;align-items:center;}
.seagrid-stage svg {width:100%;height:auto;overflow:visible;}
.scene-controls {display:flex;gap:5px;letter-spacing:0;}
.scene-controls button {border:1px solid #5bb6be40;border-radius:4px;background:transparent;color:#90b7c5;font-size:10px;padding:7px 9px;cursor:pointer;}
.scene-controls button[aria-pressed=true] {color:#71e7d7;border-color:#68decc88;background:#163f4b;}
.scene-controls button:focus-visible {outline:2px solid #71e7d7;outline-offset:3px;}
.seagrid-stage text {fill:#d5edf1;font-family:inherit;font-size:15px;}
.seagrid-stage .sg-small {font-size:10px;fill:#84b6c4;letter-spacing:.4px;}
.seagrid-stage .sg-step {font-size:9px;fill:#7eb8c5;letter-spacing:1.2px;}
.seagrid-stage .sg-source {font-size:9px;fill:#69dece;}
.seagrid-stage .sg-core-title {font-size:20px;fill:#8ef4e1;font-weight:600;}
.knowledge-documents rect,.knowledge-results rect {fill:#103342;stroke:#5498a680;}
.knowledge-documents path,.knowledge-results path {fill:none;stroke:#7dc8ce;stroke-width:1;}
.knowledge-results .drawing-match {fill:#60e8cf22;stroke:#69e3d0;}
.knowledge-flow {animation:knowledge-flow 5s linear infinite;}
.knowledge-pulse {transform-origin:375px 266px;animation:knowledge-pulse 4s ease-in-out infinite;}
.draft-cursor {animation:knowledge-cursor 1s steps(2) infinite;}
@keyframes knowledge-flow {to {stroke-dashoffset:-110;}}
@keyframes knowledge-pulse {50% {transform:scale(1.12);opacity:.3;}}
@keyframes knowledge-cursor {50% {opacity:0;}}
@media(max-width:680px) {.scene-controls button {font-size:9px;padding:6px;}.seagrid-stage {margin-inline:-12px;} .ai-scenes {min-height:350px;} .vessel-topline {gap:8px;} }
@media(prefers-reduced-motion:reduce) {.ai-scene {transition:none;}}

.seagrid-stage .sg-agent-title {font-size:15px;}
.vessel-topline {flex-wrap:wrap;row-gap:12px;}
@media(max-width:680px) {.vessel-topline .scene-controls {flex-wrap:wrap;} .scene-controls button {white-space:normal;} }

.scene-controls {flex-wrap:wrap;}
.crew-stage .knowledge-documents g rect {stroke:none;fill:inherit;}
.crew-chart {stroke:#6ce6d2!important;stroke-width:2!important;stroke-dasharray:320;animation:crew-chart 5s ease-in-out infinite;}
.crew-live {animation:knowledge-cursor 2s ease-in-out infinite;}
@keyframes crew-chart {0% {stroke-dashoffset:320;} 70%,100% {stroke-dashoffset:0;}}
/* Keep scene navigation stationary regardless of the active title length. */
.vessel-topline {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;justify-content:normal;}
.vessel-topline > span {display:flex;align-items:center;gap:10px;min-height:28px;line-height:1.6;}
.vessel-topline > span .signal-dot {flex-shrink:0;}
.vessel-topline .scene-controls {display:grid;grid-template-columns:.7fr 1.3fr 1.8fr;gap:6px;width:100%;}
.vessel-topline .scene-controls button {min-width:0;min-height:42px;height:100%;padding:8px 7px;line-height:1.4;text-align:center;white-space:normal;}
@media(max-width:680px) {
 .vessel-topline > span {min-height:32px;}
 .vessel-topline .scene-controls {grid-template-columns:.7fr 1.3fr 1.8fr;gap:4px;}
 .vessel-topline .scene-controls button {min-height:56px;font-size:9px;padding:7px 4px;}
}

/* Detailed transparent vessel artwork with live diagnostic overlays. */
.vessel-svg-detailed { mix-blend-mode:lighten; }
.predictive-telemetry path { stroke:#8affdf; stroke-width:1.2; stroke-dasharray:3 6; animation:knowledge-flow 5s linear infinite; }
@media(max-width:680px) { .vessel-svg-detailed {transform:none;} }

/* Engine telemetry: vibration, power trend and six-cylinder pressure. */
.engine-condition-card {width:210px;padding:13px 15px;}
.engine-chart {margin-top:12px;}
.engine-chart + .engine-chart {border-top:1px solid #75b1bd26;padding-top:9px;margin-top:8px;}
.engine-chart-label {display:flex;justify-content:space-between;color:#a6cbd1;font-size:10px;}
.engine-chart-label small {font-size:9px;color:#6c9da9;}
.engine-chart svg {display:block;width:100%;height:auto;margin-top:5px;}
.engine-chart .signal-wave {height:26px;}
.power-chart {height:30px!important;}
.chart-grid {fill:none;stroke:#70aab52c;stroke-width:.7;}
.power-area {fill:#63e4d714;}
.power-line {fill:none;stroke:#63e4d7;stroke-width:1.5;stroke-linejoin:round;}
.cylinder-bars rect {fill:#63dcca;transform-box:fill-box;transform-origin:bottom;animation:cylinder-pressure 3s ease-in-out infinite alternate;}
.cylinder-bars rect:nth-child(2n) {animation-delay:-1.2s;fill:#83dedb;}
.cylinder-bars rect:nth-child(3n) {animation-delay:-2s;}
.cylinder-labels {fill:#91b8c3;font:9px sans-serif;text-anchor:middle;}
@keyframes cylinder-pressure {from{transform:scaleY(.86);}to{transform:scaleY(1);}}
@media(max-width:680px) {
 #predictive-scene {padding-top:205px;}
 .engine-condition-card {top:10px;right:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;padding:12px;}
 .engine-condition-card>.analysis-kicker,.engine-condition-card>strong {grid-column:1/-1;}
 .engine-condition-card .engine-chart {margin-top:10px;padding:0;border:0;min-width:0;}
 .engine-condition-card .engine-chart-label {font-size:9px;}
 .engine-condition-card .engine-chart-label small {display:none;}
}

/* Diagnostic evidence with a highlighted anomaly interval. */
.diagnostic-card {width:230px;padding:13px 15px;bottom:0;}
.diagnostic-status {display:flex;align-items:center;gap:6px;margin-top:12px;color:#f3bc73;font-size:11px;}
.diagnostic-status small {margin-left:auto;color:#7da5b0;font-size:8px;}
.diagnostic-alert-dot {width:5px;height:5px;border-radius:50%;background:#f3bc73;box-shadow:0 0 8px #f3bc7366;}
.anomaly-chart {display:block;width:100%;height:auto;margin-top:7px;}
.diagnostic-evidence {border-top:1px solid #75b1bd26;padding-top:8px;margin-top:3px;}
.diagnostic-evidence>span {font-size:9px;color:#78b3bf;}
.diagnostic-evidence p {margin:4px 0 0;font-size:10px;line-height:1.5;color:#c6dce2;}
.anomaly-halo {animation:anomaly-emphasis 2s ease-in-out infinite;}
@keyframes anomaly-emphasis {50%{opacity:.25;}}
@media(max-width:680px) {.diagnostic-card {width:210px;} #predictive-scene {padding-bottom:160px;}}
/* KO ↔ EN language switcher in the header (desktop only). */
.lang-switch{display:flex;gap:2px;font-size:12px;font-weight:600;letter-spacing:.06em}.lang-switch a{padding:6px 8px;border-radius:4px;color:#9fb8c6}.lang-switch a[aria-current]{color:#fff}.lang-switch a:hover{color:var(--teal)}@media(max-width:1000px){.lang-switch{display:none}}

.home-product-section {background:#f3f8f9;}
.home-product-section#home-remote {background:#fff;}
.home-solution-heading {max-width:850px;margin-bottom:40px;}
.home-solution-heading h2 {font-size:clamp(30px,3vw,44px);letter-spacing:-1.5px;margin:18px 0;}
.home-solution-heading>p:last-child {font-size:16px;line-height:1.9;color:#526b7a;}
.home-solution-products {display:grid;gap:28px;}
.home-product-card {display:grid;grid-template-columns:1fr 1.1fr;gap:42px;align-items:center;padding:36px;border:1px solid #d5e3e7;border-radius:16px;background:#fff;}
.home-product-name {display:flex;align-items:center;gap:14px;}
.home-product-name h3 {font-size:24px;}
.home-product-copy h4 {font-size:24px;line-height:1.5;margin:20px 0 14px;}
.home-product-copy>p {font-size:15px;line-height:1.85;color:#526b7a;}
.home-product-copy .ai-feature-link {color:#007b78;display:inline-flex;margin-top:20px;gap:20px;}
.home-product-image {margin:0;min-width:0;}
.home-product-image img {display:block;width:100%;height:auto;border:1px solid #d5e3e7;border-radius:8px;}
.home-product-image figcaption {font-size:12px;color:#668494;margin-top:12px;text-align:center;}
@media(max-width:760px){.home-product-card{grid-template-columns:1fr;padding:22px;gap:24px;}.home-product-copy h4{font-size:21px;}}

/* Reserve the customer logo band within the initial desktop viewport. */
@media (min-width:1001px) and (min-height:620px) {
 .hero:has(.vessel-analysis) {height:calc(100svh - 112px);min-height:0;}
 .hero:has(.vessel-analysis) .hero-layout {height:100%;padding-block:100px 16px;grid-template-columns:1fr 1.2fr;gap:24px;}
 .hero .vessel-analysis {width:min(56vw,760px);justify-self:end;zoom:var(--hero-graphic-scale, .65);}
 .hero h1 {font-size:clamp(34px,min(4vw,5.8vh),58px);}
 .hero .hero-content .eyebrow {margin-bottom:18px;}
 .hero .hero-description {font-size:14px;line-height:1.8;margin-top:20px;}
 .hero .hero-actions {margin-top:20px;}
 .hero .hero-domain-note {margin-top:16px;}
 .hero + .client-marquee-section {height:112px;box-sizing:border-box;padding-block:14px;display:flex;align-items:center;}
}

/* Give the customer introduction the same visual weight as the logo band. */
.client-marquee-section .container.client-marquee-shell {grid-template-columns:205px minmax(0,1fr);gap:28px;}
.client-marquee-section #clients-heading {font-size:16px;font-weight:600;line-height:1.55;letter-spacing:-.4px;color:#18394c;}
.client-marquee-section #clients-heading strong {display:inline-block;margin-top:3px;font-size:20px;font-weight:750;color:#007b78;}
@media(max-width:680px) {
 .client-marquee-section #clients-heading {font-size:14px;}
 .client-marquee-section #clients-heading strong {font-size:16px;margin-top:0;padding-left:5px;}
}

.seagrid-stage .sg-result-copy {font-size:15px;}
