@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --navy-950:#0A1F33;
  --navy-800:#12314F;
  --blue-steel:#2C5C82;
  --gold:#D9A441;
  --gold-light:#F0C878;
  --paper:#F4F6F3;
  --ink:#16232E;
  --mist:#7C8B99;
  --hairline:rgba(22,35,46,0.12);
  --font-display:'Big Shoulders Display', sans-serif;
  --font-body:'IBM Plex Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
:focus-visible{outline:3px solid var(--gold); outline-offset:3px;}

/* ---------- Eyebrow ---------- */
.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:7px; height:7px;
  border-radius:50%;
  background:var(--gold);
  display:inline-block;
}
.eyebrow.dark{color:var(--blue-steel);}
.eyebrow.dark::before{background:var(--blue-steel);}

/* ---------- Nav ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(10,31,51,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.brand{
  font-family:var(--font-display);
  font-weight:700;
  font-size:22px;
  letter-spacing:0.02em;
  color:#fff;
  display:flex;
  align-items:center;
  gap:10px;
}
.brand .mark{
  height:34px; width:auto;
  flex-shrink:0;
  display:block;
}
.brand span.sub{
  display:block;
  font-family:var(--font-mono);
  font-weight:400;
  font-size:9.5px;
  letter-spacing:0.14em;
  color:var(--mist);
  text-transform:uppercase;
  margin-top:1px;
}
.nav-links{
  display:flex; gap:36px;
  font-size:14.5px; font-weight:500;
  color:rgba(255,255,255,0.82);
}
.nav-links a{transition:color .15s; position:relative;}
.nav-links a:hover{color:var(--gold-light);}
.nav-links a.active{color:var(--gold);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:14px;
  padding:11px 22px;
  border-radius:3px;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .15s, box-shadow .15s, background .15s, border-color .15s;
  white-space:nowrap;
}
.btn-gold{background:var(--gold); color:var(--navy-950);}
.btn-gold:hover{background:var(--gold-light); transform:translateY(-1px);}
.btn-outline{background:transparent; color:#fff; border-color:rgba(255,255,255,0.35);}
.btn-outline:hover{border-color:var(--gold); color:var(--gold-light);}
.btn-ink{background:var(--navy-950); color:#fff;}
.btn-ink:hover{background:var(--navy-800); transform:translateY(-1px);}
.btn-block{width:100%; justify-content:center;}
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:32px; height:32px;
  background:none; border:none; cursor:pointer;
  padding:0;
}
.nav-toggle span{
  display:block; width:100%; height:2px; background:#fff; border-radius:2px;
  transition:transform .2s, opacity .2s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  display:none;
  flex-direction:column;
  background:var(--navy-950);
  border-top:1px solid rgba(255,255,255,0.08);
  padding:8px 32px 24px;
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  color:rgba(255,255,255,0.85);
  font-size:16px; font-weight:500;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.mobile-menu a.active{color:var(--gold);}
.mobile-cta{display:flex; flex-direction:column; gap:12px; margin-top:18px;}

@media (max-width:860px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
}
@media (min-width:861px){
  .mobile-menu{display:none !important;}
}

/* ---------- Hero (home) ---------- */
.hero{background:var(--navy-950); color:#fff; padding:88px 0 100px; position:relative; overflow:hidden;}
.hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
.hero h1{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(48px, 6.4vw, 84px); line-height:0.96; letter-spacing:-0.01em;
  margin:18px 0 22px; text-transform:uppercase;
}
.hero h1 em{font-style:normal; color:var(--gold);}
.hero p.lede{font-size:17px; color:rgba(255,255,255,0.72); max-width:480px; margin-bottom:32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px;}
.trust-line{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12.5px; color:var(--mist); letter-spacing:0.02em;}
.trust-line .dash{width:26px; height:1px; background:var(--mist);}

/* ---------- Network graphic (signature element) ---------- */
.lane-map{position:relative; width:100%; aspect-ratio:1/1;}
.lane-map svg{width:100%; height:100%;}
.route-path{
  stroke:var(--gold); stroke-width:1.6; fill:none;
  stroke-dasharray:6 6; stroke-dashoffset:200;
  animation:dash 3.5s linear infinite; opacity:0.85;
}
@keyframes dash{to{stroke-dashoffset:0;}}
.stamp{font-family:var(--font-mono); font-size:10px; fill:var(--gold-light); letter-spacing:0.06em;}
.stamp-ring{fill:none; stroke:var(--gold); stroke-width:1.2; stroke-dasharray:3 3;}
.origin-dot{fill:var(--gold);}
.origin-label{font-family:var(--font-mono); font-size:10.5px; fill:#fff; letter-spacing:0.05em;}
@media (prefers-reduced-motion: reduce){ .route-path{animation:none; stroke-dashoffset:0;} }
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr; gap:40px;}
  .lane-map{max-width:360px; margin:0 auto;}
}

/* ---------- Section shared ---------- */
section{padding:96px 0;}
.section-head{max-width:600px; margin-bottom:56px;}
.section-head h2{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(32px,4vw,46px); text-transform:uppercase; letter-spacing:-0.01em;
  margin-top:14px; color:var(--navy-950);
}
.section-head p{color:var(--mist); font-size:15.5px; margin-top:12px;}
.section-head.on-dark h2{color:#fff;}
.section-head.on-dark p{color:rgba(255,255,255,0.55);}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{background:var(--navy-950); color:#fff; padding:72px 0 80px;}
.page-hero h1{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(38px,5.5vw,64px); text-transform:uppercase; line-height:1; margin:16px 0 18px;
}
.page-hero h1 em{font-style:normal; color:var(--gold);}
.page-hero p{font-size:16px; color:rgba(255,255,255,0.68); max-width:560px;}

/* ---------- Services grid ---------- */
.services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline);}
.services-grid.cols-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:560px){ .services-grid.cols-3{grid-template-columns:1fr;} }
.service-card{background:var(--paper); padding:34px 28px; position:relative; transition:background .18s;}
.service-card:hover{background:#fff;}
.service-card .num{font-family:var(--font-mono); font-size:12px; color:var(--gold); display:block; margin-bottom:22px;}
.service-card h3{font-family:var(--font-display); font-weight:700; font-size:22px; text-transform:uppercase; margin-bottom:12px; color:var(--navy-950);}
.service-card p{font-size:14px; color:var(--mist); line-height:1.6;}
@media (max-width:900px){ .services-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .services-grid{grid-template-columns:1fr;} }

/* ---------- Service detail rows (services page) ---------- */
.service-detail{border-top:1px solid var(--hairline);}
.service-row{display:grid; grid-template-columns:120px 1fr 1fr; gap:40px; padding:48px 0; border-bottom:1px solid var(--hairline); align-items:start;}
.service-row .tag{font-family:var(--font-mono); font-size:13px; color:var(--gold);}
.service-row h3{font-family:var(--font-display); font-weight:700; font-size:30px; text-transform:uppercase; color:var(--navy-950); margin-bottom:14px;}
.service-row .desc p{color:var(--mist); font-size:15px; line-height:1.65;}
.service-row .includes{font-size:13.5px;}
.service-row .includes .label{font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; color:var(--mist); text-transform:uppercase; margin-bottom:10px;}
.service-row .includes ul{list-style:none;}
.service-row .includes li{padding:7px 0; border-top:1px solid var(--hairline); color:var(--ink);}
.service-row .includes li:first-child{border-top:none;}
.service-row .includes li::before{content:"— "; color:var(--gold);}
@media (max-width:860px){ .service-row{grid-template-columns:1fr; gap:16px;} }

/* ---------- Global reach band ---------- */
.reach{background:var(--navy-950); color:#fff;}
.reach .wrap{display:grid; grid-template-columns:1fr 0.8fr; gap:56px; align-items:center;}
.reach-copy p{color:rgba(255,255,255,0.62); font-size:15.5px; max-width:460px; margin-top:14px;}
.reach-map{width:100%; max-width:340px; margin-left:auto;}
@media (max-width:860px){ .reach .wrap{grid-template-columns:1fr;} .reach-map{margin:0 auto;} }

/* ---------- Why us / values ---------- */
.why{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start;}
.why-copy p{color:var(--mist); font-size:15.5px; margin-bottom:20px; max-width:440px;}
.why-list{border-top:1px solid var(--hairline);}
.why-item{display:grid; grid-template-columns:70px 1fr; gap:20px; padding:24px 0; border-bottom:1px solid var(--hairline);}
.why-item .tag{font-family:var(--font-mono); font-size:11px; color:var(--gold); letter-spacing:0.06em; padding-top:4px;}
.why-item h4{font-family:var(--font-display); font-weight:700; font-size:20px; text-transform:uppercase; color:var(--navy-950); margin-bottom:6px;}
.why-item p{font-size:14px; color:var(--mist);}
@media (max-width:860px){ .why{grid-template-columns:1fr;} }

/* ---------- Process ---------- */
.process{background:#fff; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);}
.process-track{display:flex; justify-content:space-between; position:relative; margin-top:20px;}
.process-track::before{
  content:""; position:absolute; top:17px; left:0; right:0; height:1px;
  background-image:linear-gradient(to right, var(--hairline) 60%, transparent 0%);
  background-size:12px 1px; background-repeat:repeat-x;
}
.process-step{flex:1; padding-right:24px; position:relative; z-index:1;}
.process-step .dot{
  width:34px; height:34px; border-radius:50%; background:var(--paper);
  border:2px solid var(--gold); color:var(--navy-950);
  font-family:var(--font-mono); font-size:12px;
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.process-step h4{font-family:var(--font-display); font-weight:700; font-size:18px; text-transform:uppercase; margin-bottom:8px; color:var(--navy-950);}
.process-step p{font-size:13.5px; color:var(--mist); line-height:1.55;}
@media (max-width:900px){ .process-track{flex-direction:column; gap:28px;} .process-track::before{display:none;} }

/* ---------- Story / About ---------- */
.story{display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px;}
.story-label{font-family:var(--font-mono); font-size:12px; color:var(--gold); letter-spacing:0.08em;}
.story-copy p{color:var(--ink); font-size:16px; line-height:1.75; margin-bottom:20px; max-width:640px;}
.story-copy p.muted{color:var(--mist); font-size:14px;}
@media (max-width:860px){ .story{grid-template-columns:1fr; gap:24px;} }

.founders-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:20px;}
.founder-card{border:1px dashed var(--hairline); border-radius:6px; padding:28px; background:#fff;}
.founder-card .initial{
  width:52px; height:52px; border-radius:50%; background:var(--navy-950); color:var(--gold);
  font-family:var(--font-display); font-size:20px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.founder-card h4{font-family:var(--font-display); font-weight:700; font-size:20px; text-transform:uppercase; color:var(--navy-950);}
.founder-card .role{font-family:var(--font-mono); font-size:11px; color:var(--gold); letter-spacing:0.06em; margin:4px 0 12px;}
.founder-card p{font-size:14px; color:var(--mist); line-height:1.6;}
@media (max-width:640px){ .founders-grid{grid-template-columns:1fr;} }

/* ---------- CTA / contact card (shared) ---------- */
.cta{background:var(--gold); color:var(--navy-950);}
.cta .wrap{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
.cta h2{font-family:var(--font-display); font-weight:800; font-size:clamp(34px,4.4vw,52px); text-transform:uppercase; line-height:1.02;}
.cta p{margin-top:16px; font-size:15.5px; color:rgba(10,31,51,0.75); max-width:420px;}
.contact-card{background:var(--navy-950); color:#fff; border-radius:8px; padding:34px;}
.contact-card .row{display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.1);}
.contact-card .row:last-child{border-bottom:none;}
.contact-card .row .icon{
  width:36px; height:36px; border-radius:50%; background:rgba(217,164,65,0.15); color:var(--gold);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:14px; flex-shrink:0;
}
.contact-card .row .label{font-family:var(--font-mono); font-size:10.5px; color:var(--mist); letter-spacing:0.06em; text-transform:uppercase;}
.contact-card .row .value{font-size:15px; font-weight:500; margin-top:2px;}
@media (max-width:860px){ .cta .wrap{grid-template-columns:1fr;} }

/* ---------- Contact page form ---------- */
.contact-layout{display:grid; grid-template-columns:1.2fr 0.8fr; gap:56px; align-items:start;}
.form-panel{background:#fff; border:1px solid var(--hairline); border-radius:8px; padding:40px;}
.form-panel h3{font-family:var(--font-display); font-weight:700; font-size:24px; text-transform:uppercase; color:var(--navy-950); margin-bottom:6px;}
.form-panel .sub{color:var(--mist); font-size:14px; margin-bottom:28px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.form-field{display:flex; flex-direction:column; gap:7px; margin-bottom:20px;}
.form-field.full{grid-column:1 / -1;}
.form-field label{font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--mist);}
.form-field input, .form-field select, .form-field textarea{
  font-family:var(--font-body); font-size:14.5px; color:var(--ink);
  border:1px solid var(--hairline); border-radius:4px; padding:12px 14px; background:var(--paper);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none; border-color:var(--gold); background:#fff;
}
.form-field textarea{resize:vertical; min-height:110px;}
.form-note{font-size:12.5px; color:var(--mist); margin-top:6px;}
.info-panel{display:flex; flex-direction:column; gap:20px;}
.info-block{background:var(--navy-950); color:#fff; border-radius:8px; padding:28px;}
.info-block h4{font-family:var(--font-display); font-weight:700; font-size:18px; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
@media (max-width:900px){ .contact-layout{grid-template-columns:1fr;} .form-grid{grid-template-columns:1fr;} }

/* ---------- FAQ ---------- */
.faq-list{border-top:1px solid var(--hairline); max-width:800px;}
.faq-item{padding:26px 0; border-bottom:1px solid var(--hairline);}
.faq-item h4{font-family:var(--font-display); font-weight:700; font-size:19px; text-transform:uppercase; color:var(--navy-950); margin-bottom:8px;}
.faq-item p{font-size:14.5px; color:var(--mist); line-height:1.65;}

/* ---------- Shipment status guide ---------- */
.status-note{background:var(--paper); border:1px solid var(--hairline); border-radius:8px; padding:22px 26px; margin-top:32px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.status-note p{font-size:14px; color:var(--mist); max-width:520px;}
.status-note strong{color:var(--navy-950);}

/* ---------- Footer ---------- */
footer{background:var(--navy-950); color:rgba(255,255,255,0.55); padding:48px 0 28px;}
footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px;}
footer .f-brand{font-family:var(--font-display); font-size:20px; color:#fff; text-transform:uppercase;}
footer .f-links{display:flex; gap:28px; font-size:13.5px;}
footer .f-links a:hover{color:var(--gold-light);}
.footer-bottom{
  margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08);
  font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,0.35);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}

::selection{background:var(--gold); color:var(--navy-950);}
