:root{
  --hull:#05294B;
  --deep:#03203C;
  --hull-soft:#0C3A63;
  --chart:#E9E6DD;
  --paper:#F3F1EA;
  --boot:#A8412A;
  --boot-ink:#8C3220;
  --brass:#C9A462;
  --brass-lift:#DDBE85;
  --ink:#142A3D;
  --ink-soft:#4A5F72;
  --wash:rgba(233,230,221,.62);
  --hair:rgba(233,230,221,.20);
  --hair-ink:rgba(20,42,61,.16);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--chart);color:var(--ink);
  font-family:'Archivo','Archivo Narrow','Helvetica Neue','Segoe UI',Arial,sans-serif;
  font-size:17px;line-height:1.62;font-weight:400;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.08;font-stretch:112%;letter-spacing:-.012em}
p{margin:0}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.band{padding:92px 0}
.band--dark{background:var(--hull);color:var(--chart)}
.band--deep{background:var(--deep);color:var(--chart)}
.band--light{background:var(--chart);color:var(--ink)}
.band--paper{background:var(--paper);color:var(--ink)}
.lede{max-width:58ch;font-size:1.06rem;color:var(--ink-soft)}
.band--dark .lede,.band--deep .lede{color:var(--wash)}
.h-sec{font-size:clamp(1.7rem,3.4vw,2.45rem)}
.sec-head{margin-bottom:50px;max-width:70ch;display:grid;gap:16px}

/* masthead */
/* ---------- video banner (masthead + hero share one background) ---------- */
.banner{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--hull) url("../img/hero-poster.jpg") center/cover no-repeat;
}
.banner-media{position:absolute;inset:0;z-index:0}
/* Visible by default. The poster attribute covers the gap before the first
   frame, and stays put if the video cannot play at all — no JS required. */
.banner-video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
/* Left-weighted scrim keeps the type readable; the right stays open for the vessel.
   Second layer darkens top and bottom so the nav and the waterline hold their edges. */
.banner-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg,rgba(3,32,60,.95) 0%,rgba(3,32,60,.88) 32%,rgba(3,32,60,.62) 60%,rgba(3,32,60,.44) 100%),
    linear-gradient(to bottom,rgba(3,32,60,.78) 0%,rgba(3,32,60,.10) 20%,rgba(3,32,60,.10) 58%,rgba(5,41,75,.92) 100%);
}
.banner .mast,.banner .hero{position:relative;z-index:2;background:transparent}

.mast{background:var(--hull);color:var(--chart)}
.mast-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 28px;max-width:var(--maxw);margin:0 auto}
.mast-logo{display:flex;align-items:center;gap:16px;text-decoration:none}
.mast-mark{height:50px;width:auto;flex:0 0 auto}
.mast-word{height:31px;width:auto;flex:0 0 auto}
.mast-nav{display:flex;align-items:center;gap:28px;font-size:.94rem;font-weight:500}
.mast-nav a{text-decoration:none;color:var(--wash);padding:4px 0;border-bottom:1px solid transparent}
.mast-nav a:hover{color:var(--chart);border-bottom-color:var(--brass)}
.mast-nav a.mast-cta{color:var(--chart);border:1px solid rgba(201,164,98,.55);border-radius:2px;padding:9px 18px;font-weight:600}
.mast-nav a.mast-cta:hover{background:var(--brass-lift);color:var(--hull);border-color:var(--brass-lift)}
@media (max-width:880px){.mast-nav .hide-sm{display:none}.mast-mark{height:40px}.mast-word{height:25px}}
@media (max-width:430px){.mast-word{display:none}}

/* hero */
.hero{background:var(--hull);color:var(--chart);padding:80px 0 52px}
.banner .hero{padding:clamp(72px,11vh,130px) 0 clamp(96px,15vh,160px)}
.hero-inner{max-width:760px}
.banner .hero h1{text-shadow:0 2px 26px rgba(3,20,38,.55)}
.banner .hero-sub{text-shadow:0 1px 14px rgba(3,20,38,.6)}

.hero h1{
  font-size:clamp(2.3rem,5.6vw,4.3rem);font-stretch:118%;font-weight:700;
  line-height:.96;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 24px;
}
.hero h1 span{display:block}
.hero-sub{max-width:47ch;font-size:1.1rem;color:var(--wash)}
.hero-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-block;text-decoration:none;font:inherit;font-weight:600;font-size:.98rem;padding:14px 26px;border-radius:2px;border:1px solid transparent;cursor:pointer}
.btn--fill{background:var(--boot);color:#FBF6EF;border-color:var(--boot)}
.btn--fill:hover{background:#BC4A2F;border-color:#BC4A2F}
.btn--line{background:transparent;color:var(--chart);border-color:rgba(233,230,221,.42)}
.btn--line:hover{border-color:var(--brass);color:var(--brass-lift)}
.hero-note{margin-top:32px;font-size:.9rem;color:rgba(233,230,221,.5);max-width:42ch;border-top:1px solid var(--hair);padding-top:16px}

/* stores list panel */
.pcard{background:var(--deep);border:1px solid var(--hair);border-radius:3px;overflow:hidden}
.pcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--hair)}
.pcard-kicker{font-size:.82rem;color:rgba(233,230,221,.55);font-weight:500}
.pcard-ref{font-size:.82rem;color:var(--brass);font-weight:600;font-variant-numeric:tabular-nums}
.pcard-name{padding:18px 22px 0;font-size:1.26rem;font-stretch:110%;font-weight:600}
.pcard-tabs{display:flex;padding:0 22px 18px;margin-top:14px}
.pcard-tabs button{flex:1;background:transparent;border:1px solid var(--hair);border-right:0;color:rgba(233,230,221,.62);font:inherit;font-size:.86rem;font-weight:500;padding:9px 6px;cursor:pointer}
.pcard-tabs button:last-child{border-right:1px solid var(--hair)}
.pcard-tabs button[aria-selected="true"]{background:var(--hull-soft);color:var(--chart);border-color:var(--brass);position:relative;z-index:1}
.pcard-tabs button:hover{color:var(--chart)}
.plist{margin:0;padding:4px 22px 20px}
.prow{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(233,230,221,.09);font-size:.94rem}
.prow:last-child{border-bottom:0}
.prow dt{color:rgba(233,230,221,.72);font-weight:400}
.prow dd{margin:0;text-align:right;color:rgba(233,230,221,.5);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.pcard-foot{padding:15px 22px;background:rgba(201,164,98,.09);border-top:1px solid var(--hair);font-size:.88rem;color:var(--brass-lift)}
@media (max-width:920px){
  .banner .hero{padding:56px 0 76px}
  .banner-video{object-position:62% center}
  .banner-scrim{background:
    linear-gradient(180deg,rgba(3,32,60,.86) 0%,rgba(3,32,60,.70) 40%,rgba(3,32,60,.80) 75%,rgba(5,41,75,.95) 100%)}.hero-grid{grid-template-columns:1fr;gap:44px}.hero{padding:56px 0 48px}}

/* waterline */
.waterline{background:var(--hull);padding-top:6px;overflow:hidden}
.scale{display:flex;align-items:flex-end;height:34px;padding:0 28px;max-width:var(--maxw);margin:0 auto}
.tick{flex:0 0 46px;height:8px;border-left:1px solid rgba(201,164,98,.45);position:relative}
.tick--m{height:20px;border-left:1px solid rgba(201,164,98,.8)}
.tick--m::after{content:attr(data-m);position:absolute;left:5px;bottom:1px;font-size:9.5px;letter-spacing:.04em;color:rgba(201,164,98,.7);font-variant-numeric:tabular-nums}
.waterline-rule{height:7px;background:var(--boot);border-top:1px solid rgba(0,0,0,.18)}

/* supply lines */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px}
.svc{padding:20px 0;border-top:1px solid var(--hair-ink)}
.svc h3{font-size:1.02rem;font-stretch:106%;margin:0 0 7px;color:var(--boot-ink)}
.svc p{font-size:.93rem;color:var(--ink-soft);line-height:1.55}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr 1fr;gap:0 36px}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr}}
.band--light .ports{border-top-color:var(--hair-ink)}
.band--light .port-list li{color:var(--ink);border-color:rgba(20,42,61,.28)}
.line-eg{margin-top:14px;padding-top:14px;border-top:1px solid var(--hair-ink);font-size:.92rem;color:var(--ink-soft)}
.lines{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px}
.line{border-top:2px solid var(--hull);padding-top:22px}
.line h3{font-size:1.28rem;font-stretch:110%;margin-bottom:10px}
.line > p{font-size:.95rem;color:var(--ink-soft);margin-bottom:22px}
.line dl{margin:0}
.line dt{font-weight:600;font-size:.95rem;padding-top:14px;border-top:1px solid var(--hair-ink)}
.line dd{margin:3px 0 0;font-size:.91rem;color:var(--ink-soft);line-height:1.5}
@media (max-width:900px){.lines{grid-template-columns:1fr;gap:44px}}

/* victualling estimator */


/* ordering steps */
.legs{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--hull)}
.leg{padding:22px 26px 26px 0;border-right:1px solid var(--hair-ink);position:relative}
.leg:last-child{border-right:0}
.leg::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--chart);border:2px solid var(--hull)}
.leg--now::before{background:var(--boot);border-color:var(--boot)}
.leg-n{font-size:.8rem;font-weight:600;color:var(--boot-ink);font-variant-numeric:tabular-nums;margin-bottom:6px}
.leg h3{font-size:1.05rem;font-stretch:106%;margin-bottom:8px}
.leg p{font-size:.93rem;color:var(--ink-soft);line-height:1.52}
@media (max-width:900px){
  .legs{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--hull)}
  .leg{border-right:0;border-bottom:1px solid var(--hair-ink);padding:20px 16px 22px 22px}
  .leg::before{top:22px;left:-7px}
  .leg:last-child{border-bottom:0}
}

/* promises */
.prom-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.prom{padding:20px 0;border-top:1px solid var(--hair)}
.prom h3{font-size:1rem;font-stretch:106%;margin-bottom:7px;color:var(--brass-lift)}
.prom p{font-size:.93rem;color:var(--wash);line-height:1.55}
@media (max-width:760px){.prom-grid{grid-template-columns:1fr}}
.ports{margin-top:56px;padding-top:28px;border-top:1px solid var(--hair)}
.ports h3{font-size:1.05rem;margin-bottom:14px}
.port-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding:0;list-style:none}
.port-list li{border:1px solid rgba(201,164,98,.4);border-radius:2px;padding:7px 14px;font-size:.92rem;color:var(--chart)}

/* order form (light) */
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.field{margin-bottom:20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.frow--3{grid-template-columns:1fr 1fr 1fr}
.form-grid label{display:block;font-size:.9rem;font-weight:500;color:var(--ink-soft);margin-bottom:7px}
.form-grid input,.form-grid select,.form-grid textarea{
  width:100%;font:inherit;font-size:.98rem;color:var(--ink);background:#FFFDF8;
  border:1px solid rgba(20,42,61,.26);border-radius:2px;padding:12px 14px;
}
.form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--boot) 50%),linear-gradient(135deg,var(--boot) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:rgba(20,42,61,.38)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--boot);outline:none}
.form-grid textarea{resize:vertical;min-height:120px;line-height:1.55}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.checks label{display:inline-flex;align-items:center;gap:9px;margin:0;border:1px solid rgba(20,42,61,.26);border-radius:2px;padding:10px 15px;cursor:pointer;font-weight:500;color:var(--ink);background:#FFFDF8}
.checks input{width:auto;accent-color:var(--boot);margin:0}
.checks label:hover{border-color:var(--boot)}
.form-msg{margin-top:16px;font-size:.94rem;min-height:1.4em;color:var(--boot-ink);font-weight:500}
.side-note{border-left:2px solid var(--boot);padding-left:20px;font-size:.95rem;color:var(--ink-soft);margin-top:26px}
.side-note strong{color:var(--ink);font-weight:600}
.side-note + .side-note{margin-top:20px}
@media (max-width:900px){.form-grid{grid-template-columns:1fr;gap:40px}.frow,.frow--3{grid-template-columns:1fr;gap:0}}

/* footer */
.foot{background:var(--deep);color:var(--wash);padding:60px 0 36px;font-size:.94rem}
.foot-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:36px}
.foot-logo{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.foot-logo img{width:auto;display:block}
.foot-logo .fm{height:54px}
.foot-logo .fw{height:34px}
.foot h4{font-size:.9rem;font-stretch:104%;color:var(--chart);margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:4px 0}
.foot a{text-decoration:none;color:var(--wash)}
.foot a:hover{color:var(--brass-lift)}
.foot-base{margin-top:44px;padding-top:22px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.86rem;color:rgba(233,230,221,.45)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}

@media (max-width:620px){.band{padding:62px 0}.wrap{padding:0 20px}.scale{padding:0 20px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Turnstile captcha. Reserve the height so the form does not jump when it loads. */
.cf-field{min-height:0}
.cf-field:not(:empty) #cf-turnstile:not(:empty){margin-bottom:4px}
#cf-turnstile{display:inline-block}

/* spam honeypot: off-screen, never seen or tabbed into */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- language toggle ---------- */
.lang{display:inline-flex;border:1px solid rgba(233,230,221,.24);border-radius:2px;overflow:hidden;flex:0 0 auto}
.lang button{background:transparent;border:0;color:rgba(233,230,221,.62);font:inherit;font-size:.8rem;font-weight:600;padding:7px 11px;cursor:pointer;line-height:1.2}
.lang button+button{border-left:1px solid rgba(233,230,221,.24)}
.lang button:hover{color:var(--chart)}
.lang button[aria-pressed="true"]{background:var(--brass-lift);color:var(--hull)}

/* ---------- Korean ---------- */
html[lang="ko"]{word-break:keep-all}
html[lang="ko"] body{font-family:'Noto Sans KR','Archivo','Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.72}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3,html[lang="ko"] h4{font-stretch:100%;font-weight:700;letter-spacing:-.02em;line-height:1.32}
html[lang="ko"] .hero h1{text-transform:none;font-size:clamp(1.95rem,4.3vw,3.35rem);line-height:1.22;letter-spacing:-.03em}
html[lang="ko"] .h-sec{font-size:clamp(1.45rem,2.9vw,2.05rem)}
html[lang="ko"] p,html[lang="ko"] .lede,html[lang="ko"] li,html[lang="ko"] dd,html[lang="ko"] dt{line-height:1.75}
html[lang="ko"] .svc h3,html[lang="ko"] .prom h3,html[lang="ko"] .leg h3,html[lang="ko"] .line h3{line-height:1.4}
html[lang="ko"] .leg-n,html[lang="ko"] label,html[lang="ko"] .foot h4{letter-spacing:0}
@media (max-width:430px){.lang button{padding:6px 8px;font-size:.74rem}}
