
  :root{
    /* Maritime-corporate palette (from-scratch EMCS-styled; swap for real brand assets) */
    --navy:#0B2A43; --navy-2:#123A5A; --steel:#2E6E9E; --accent:#1C7FB8;
    --ink:#16242E; --muted:#5A6B77; --line:#E3E9ED; --bg:#F4F7F9; --card:#FFFFFF;
    --good:#1E7A4D; --warn:#B5542F;
    --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
  *{box-sizing:border-box}
  html,body{margin:0}
  body{background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.55}
  a{color:var(--accent);text-decoration:none}
  img{max-width:100%}

  /* ---- Header / nav ---- */
  .topbar{background:var(--navy);color:#CFE0EC;font-size:13px}
  .topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:6px 20px}
  header.site{background:#fff;border-bottom:1px solid var(--line)}
  header.site .wrap{display:flex;align-items:center;gap:18px;max-width:1080px;margin:0 auto;padding:16px 20px}
  .brand{display:flex;align-items:center;gap:12px;min-width:0}
  /* LOGO SLOT: drop EMCS's real logo here -> <img src="assets/emcs-logo.png" alt="EMCS International">
     Until then, a text wordmark stands in. */
  .logo-mark{width:46px;height:46px;border-radius:8px;background:linear-gradient(135deg,var(--navy),var(--steel));
    color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em;font-size:15px;flex:0 0 auto}
  .wordmark{display:flex;flex-direction:column;line-height:1.15}
  .wordmark b{font-size:19px;color:var(--navy);letter-spacing:.01em}
  .wordmark span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
  nav.main{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
  nav.main a{color:var(--navy);font-size:14px;font-weight:600}
  nav.main a.active{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:2px}

  /* ---- Hero ---- */
  .hero{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff}
  .hero .wrap{max-width:1080px;margin:0 auto;padding:40px 20px 46px}
  .hero .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#9FC2DA;font-weight:700}
  .hero h1{font-size:32px;margin:10px 0 8px;line-height:1.15}
  .hero p{max-width:720px;color:#D7E5EF;margin:0}

  /* ---- Layout ---- */
  main{max-width:1080px;margin:0 auto;padding:28px 20px 60px;display:grid;grid-template-columns:1fr 320px;gap:28px}
  @media(max-width:820px){main{grid-template-columns:1fr}}
  .card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-bottom:20px}
  .card h2{margin:0 0 10px;font-size:20px;color:var(--navy)}
  .card p{margin:0 0 12px;color:#2C3A44}
  .muted{color:var(--muted);font-size:14px}

  .notice{border-left:4px solid var(--accent);background:#EEF6FB}
  .notice h2{color:var(--accent)}
  .deadline{display:inline-block;background:#FBECE5;color:var(--warn);font-weight:700;border-radius:6px;padding:3px 9px;font-size:13px}

  .btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:none;
    font-weight:700;font-size:15px;padding:12px 20px;border-radius:8px;cursor:pointer;margin-top:4px}
  .btn:hover{background:#166a9c}

  aside .box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px}
  aside h3{margin:0 0 8px;font-size:15px;color:var(--navy)}
  aside ul{margin:0;padding-left:18px;font-size:14px;color:#2C3A44}
  aside li{margin:6px 0}

  footer.site{background:var(--navy);color:#AFC7D7;font-size:13px}
  footer.site .wrap{max-width:1080px;margin:0 auto;padding:22px 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

  /* ---- Chat overlay ---- */
  .overlay{position:fixed;inset:0;background:rgba(9,24,38,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
  .overlay.on{display:flex}
  .chat{width:100%;max-width:440px;height:min(640px,90vh);background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  .chat .head{background:var(--navy);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}
  .chat .head .dot{width:9px;height:9px;border-radius:50%;background:#49D17F;box-shadow:0 0 0 3px rgba(73,209,127,.25)}
  .chat .head b{font-size:15px}
  .chat .head small{display:block;color:#9FC2DA;font-size:12px;font-weight:400}
  .log{flex:1;overflow-y:auto;padding:16px;background:#F3F7FA;display:flex;flex-direction:column;gap:10px}
  .msg{max-width:84%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.45;white-space:pre-wrap}
  .msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
  .msg.me{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
  .typing{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;border-bottom-left-radius:4px;padding:12px 14px}
  .typing span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:#B7C4CD;animation:b 1.2s infinite}
  .typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}
  @keyframes b{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
  .inputrow{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}
  .inputrow input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:15px;font-family:var(--font)}
  .inputrow button{border:none;background:var(--accent);color:#fff;border-radius:10px;padding:0 16px;font-weight:700;cursor:pointer}
  .inputrow button:disabled{opacity:.5;cursor:default}

  /* ---- Confirmation (bland, NO reveal) ---- */
  .done{display:none;text-align:center;padding:40px 24px}
  .done.on{display:block}
  .done .tick{width:64px;height:64px;border-radius:50%;background:#E7F5EC;color:var(--good);display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 16px}
  .done h2{color:var(--navy);margin:0 0 8px}
  .done p{color:var(--muted);margin:0 auto;max-width:300px}

/* Shared top-level pages, matching the client's public visual identity. */
:root{--accent:#009fdf;--navy:#244873;--bg:#fff;--ink:#555;--muted:#6d7680;--line:#e1e7eb}
header.site .wrap{max-width:1180px;min-height:148px;padding:24px 20px;gap:32px}
.brand-logo{display:block;width:270px;height:auto;flex:none}.brand{min-width:220px}
nav.main{gap:24px;align-items:center;justify-content:flex-end}nav.main a{font-size:14px;color:#555;font-weight:600;white-space:nowrap}nav.main a.active{color:var(--accent)}
.hero{background:linear-gradient(90deg,rgba(0,30,54,.78),rgba(0,30,54,.35)),url('/assets/ship-banner.jpg') center/cover;color:white;border-bottom:1px solid var(--line)}.hero .wrap{max-width:1180px;padding:34px 20px}.hero .eyebrow,.hero p{color:#e0f3fc}.hero h1{font-size:34px;font-weight:500}
body[data-page="home"] .hero{background:linear-gradient(90deg,rgba(0,30,54,.68),rgba(0,30,54,.05)),url('/assets/ship-banner.jpg') center/cover;color:white}
body[data-page="home"] .hero .wrap{padding:100px 20px 66px}body[data-page="home"] .hero h1{max-width:550px;font-size:40px}body[data-page="home"] .hero p,body[data-page="home"] .hero .eyebrow{color:#e0f3fc}
main{max-width:1180px;grid-template-columns:minmax(0,1fr) 290px;gap:30px;padding-top:30px}.card{border-radius:4px;padding:25px}.card h2{font-weight:500;font-size:23px;color:var(--accent)}.card p{color:#60666d}.notice{border-left:4px solid var(--accent);background:#eef8fd}.notice h2{font-weight:650;font-size:22px}.btn{border-radius:3px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.service-card{border:1px solid var(--line);background:white}.service-card img{display:block;width:100%;height:170px;object-fit:cover}.service-card>div{padding:20px}.service-card h2{font-size:20px;font-weight:500;color:var(--accent);margin:0 0 10px}.service-card p{font-size:15px;line-height:1.6}.service-card a{font-size:14px;font-weight:600}.feature{scroll-margin-top:20px;display:flow-root}.feature img{float:right;width:190px;height:125px;object-fit:cover;margin:0 0 12px 20px}.timeline{padding:0;list-style:none}.timeline li{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.timeline strong{color:var(--accent);min-width:48px}.details{margin:20px 0}.details>div{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.details dt{font-weight:600}.details dd{margin:0;overflow-wrap:anywhere}address{font-style:normal;line-height:1.8}aside .box{border-radius:4px}footer.site{background:#e9edef;color:#626a70}footer.site .wrap{max-width:1180px;padding:35px 20px}.chat .head{background:#244873}.inputrow input{min-width:0}
@media(max-width:1000px){header.site .wrap{gap:20px;flex-wrap:wrap;justify-content:center;padding:20px}.brand{min-width:0}nav.main{margin-left:0;justify-content:center;gap:20px}main{grid-template-columns:minmax(0,1fr) 245px;gap:20px}}
@media(max-width:760px){main{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:28px}body[data-page="home"] .hero .wrap{padding:55px 20px}body[data-page="home"] .hero h1{font-size:32px}.brand-logo{width:240px}.service-card img{height:140px}.details>div{grid-template-columns:120px 1fr}}
@media(max-width:480px){nav.main{gap:12px 18px}nav.main a{font-size:13px}.service-grid{grid-template-columns:1fr}.feature img{float:none;width:100%;height:165px;margin:0 0 18px}.card{padding:20px}.details>div{display:block}.details dd{margin-top:5px}.btn{font-size:14px;padding:12px 14px}}
