/* ============================================================
   JTB Freight — Cargo / Container Architecture
   Intermodal shipping container aesthetic with modular blocks
   ============================================================ */

:root {
  --container-blue: #1B4D7A;
  --container-blue-dark: #143A5E;
  --container-orange: #E8652A;
  --container-orange-dark: #C85020;
  --steel: #4A525A;
  --steel-light: #6B737A;
  --off-white: #F0EDE8;
  --off-white-dim: #D8D2C8;
  --dark: #23282D;
  --dark-surface: #1A1D20;
  --chassis: #15171A;
  --warning-yellow: #F5A623;
  --warning-yellow-dark: #D49018;
  --bolt: #3A3D42;
  --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-industrial: 'Impact', 'Arial Black', sans-serif;
  --max-w: 1040px;
  --gap: 1.25rem;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);font-size:0.95rem;line-height:1.6;
  color:var(--off-white);background:var(--chassis);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--container-orange);text-decoration:none;transition:color 0.15s}
a:hover{color:var(--warning-yellow)}

h1,h2,h3,h4{font-weight:800;color:var(--off-white);line-height:1.1;text-transform:uppercase;letter-spacing:0.01em}
h1{font-size:clamp(1.8rem,4vw,2.6rem)}
h2{font-size:clamp(1.4rem,2.5vw,1.8rem)}
h3{font-size:1.1rem}
h4{font-size:0.9rem}

/* --- Yard Nav --- */
.yard-nav{position:sticky;top:0;z-index:100;background:var(--dark);border-bottom:4px solid var(--container-orange)}
.yard-nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem;height:52px;display:flex;align-items:center;justify-content:space-between}
.yard-logo{display:flex;align-items:center;gap:0.5rem;font-weight:900;font-size:0.95rem;color:var(--off-white);text-transform:uppercase;letter-spacing:0.04em}
.yard-logo-mark{width:26px;height:26px;background:var(--container-orange);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:0.65rem;color:var(--off-white)}
.yard-nav-links{display:flex;gap:0;list-style:none;padding:0}
.yard-nav-links a{display:block;padding:0.3rem 0.8rem;font-size:0.82rem;font-weight:700;color:var(--steel-light);transition:all 0.15s;text-transform:uppercase;letter-spacing:0.04em}
.yard-nav-links a:hover,.yard-nav-links a.active{color:var(--warning-yellow)}
.yard-nav-cta a{background:var(--container-orange);color:var(--off-white)!important}
.yard-nav-cta a:hover{background:var(--container-orange-dark);color:var(--off-white)!important}
.yard-menu-btn{display:none;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--off-white);padding:0.3rem}

/* --- Main --- */
.yard-main{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}

/* --- Yard Hero --- */
.yard-hero{padding:4rem 0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.yard-hero-tag{display:inline-block;font-size:0.7rem;font-weight:900;text-transform:uppercase;letter-spacing:0.1em;color:var(--warning-yellow);margin-bottom:0.75rem;padding:0.25rem 0.6rem;border:2px solid var(--warning-yellow)}
.yard-hero-text h1{margin-bottom:0.75rem}
.yard-hero-text .yh-desc{color:var(--steel-light);font-size:0.95rem;line-height:1.6;margin-bottom:1.5rem}
.yard-container{background:var(--container-blue);padding:2.5rem 2rem;text-align:center;position:relative}
.yard-container::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--warning-yellow)}
.yard-container .yc-data{font-size:0.85rem;line-height:1.8;color:rgba(255,255,255,0.85)}
.yard-container .yc-data strong{color:var(--warning-yellow);font-size:1rem}

/* --- Container Stack --- */
.container-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin:2rem 0}
.container-stat{background:var(--dark-surface);padding:1.5rem 1rem;text-align:center;border-top:4px solid var(--container-orange);border-left:4px solid var(--container-orange)}
.cs-val{font-size:2rem;font-weight:900;color:var(--container-orange);line-height:1;margin-bottom:0.2rem}
.cs-tag{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--steel-light)}

/* --- Yard Section --- */
.yard-section{padding:3.5rem 0}
.yard-section+.yard-section{border-top:2px solid var(--bolt)}
.section-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:2rem}
.section-header .sh-code{font-weight:900;font-size:0.85rem;color:var(--warning-yellow);border:2px solid var(--warning-yellow);padding:0.15rem 0.5rem}
.section-header h2{margin-bottom:0}

/* --- Cargo Grid --- */
.cargo-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.cargo-box{background:var(--dark-surface);padding:1.75rem;border-left:5px solid var(--container-blue);transition:all 0.2s}
.cargo-box:hover{border-left-color:var(--container-orange)}
.cargo-box .cb-id{font-size:0.7rem;font-weight:700;color:var(--container-orange);margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:0.06em}
.cargo-box h4{font-size:0.95rem;margin-bottom:0.3rem}
.cargo-box p{font-size:0.85rem;color:var(--steel-light);line-height:1.5}

/* --- Route Row --- */
.route-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;padding:2.5rem 0}
.route-row+.route-row{border-top:1px solid var(--bolt)}
.route-row.reverse{direction:rtl}
.route-row.reverse .route-text{direction:ltr}
.route-text h3{margin-bottom:0.5rem;color:var(--container-orange)}
.route-text p{color:var(--steel-light);line-height:1.7;margin-bottom:0.8rem}
.route-list{list-style:none;padding:0}
.route-list li{padding:0.3rem 0;padding-left:1.2rem;position:relative;color:var(--steel-light);font-size:0.85rem}
.route-list li::before{content:'\25A0';position:absolute;left:0;top:0.35rem;font-size:0.5rem;color:var(--container-orange)}
.route-container{background:var(--container-blue);padding:2rem;text-align:center}
.route-container .rc-icon{font-size:2.5rem;margin-bottom:0.4rem}
.route-container h4{font-size:0.95rem;color:var(--warning-yellow)}

/* --- Process Dock --- */
.dock-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.dock-bay{text-align:center;padding:1.5rem 1rem;background:var(--dark-surface)}
.dock-bay .db-num{font-size:2rem;font-weight:900;color:var(--container-orange);line-height:1;margin-bottom:0.4rem}
.dock-bay h4{font-size:0.85rem;margin-bottom:0.2rem}
.dock-bay p{font-size:0.78rem;color:var(--steel-light);line-height:1.4}

/* --- Manifest Strip --- */
.manifest-strip{background:var(--dark-surface);border-left:6px solid var(--warning-yellow);padding:2rem 2.5rem;margin:2rem 0}
.manifest-strip blockquote{font-size:1rem;line-height:1.6;color:var(--steel-light);font-style:italic;max-width:600px}
.manifest-strip .ms-src{display:block;margin-top:0.75rem;font-weight:700;font-size:0.85rem;font-style:normal;color:var(--warning-yellow)}

/* --- Contact --- */
.contact-dock{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.contact-tag{background:var(--dark-surface);padding:1.25rem;margin-bottom:1rem;border-left:4px solid var(--container-orange)}
.contact-tag h4{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--steel-light);margin-bottom:0.15rem}
.contact-tag .ct-val{font-weight:700;font-size:0.9rem}
.contact-tag .ct-note{font-size:0.78rem;color:var(--steel-light);margin-top:0.1rem}
.contact-form-container{background:var(--dark-surface);padding:2rem;border-top:4px solid var(--container-orange)}
.contact-form-container h3{color:var(--container-orange);margin-bottom:1rem;text-transform:uppercase}
.form-f{margin-bottom:0.9rem}
.form-f label{display:block;font-weight:700;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--steel-light);margin-bottom:0.15rem}
.form-f input,.form-f textarea,.form-f select{
  width:100%;padding:0.6rem 0.7rem;font-size:0.88rem;border:2px solid var(--bolt);
  font-family:var(--font-body);background:var(--chassis);color:var(--off-white);transition:border-color 0.15s;
}
.form-f input:focus,.form-f textarea:focus,.form-f select:focus{outline:none;border-color:var(--container-orange)}
.form-f textarea{resize:vertical;min-height:100px}
.form-g{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem}

.btn{
  display:inline-flex;align-items:center;gap:0.4rem;padding:0.6rem 1.5rem;
  font-size:0.85rem;font-weight:800;cursor:pointer;font-family:var(--font-body);
  border:2px solid var(--container-orange);transition:all 0.15s;text-transform:uppercase;letter-spacing:0.04em;
}
.btn-orange{background:var(--container-orange);color:var(--off-white)}
.btn-orange:hover{background:var(--container-orange-dark);border-color:var(--container-orange-dark)}
.btn-outline{background:transparent;color:var(--container-orange)}
.btn-outline:hover{background:var(--container-orange);color:var(--off-white)}

/* --- Page Opening --- */
.page-open{padding:3rem 0 1.5rem}
.page-open .po-code{font-weight:900;font-size:0.7rem;color:var(--warning-yellow);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.5rem}
.page-open h1{margin-bottom:0.4rem}
.page-open .po-desc{color:var(--steel-light);max-width:520px;font-size:0.95rem;line-height:1.6}

/* --- Principles --- */
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.principle-box{background:var(--dark-surface);padding:1.25rem;border-top:4px solid var(--container-blue)}
.principle-box h4{font-size:0.85rem;color:var(--container-orange);margin-bottom:0.3rem}
.principle-box p{font-size:0.82rem;color:var(--steel-light);line-height:1.5}

/* --- Crew --- */
.crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.crew-card{text-align:center;padding:1.25rem 1rem;background:var(--dark-surface)}
.crew-badge{width:44px;height:44px;margin:0 auto 0.6rem;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.75rem;color:var(--off-white)}
.crew-badge.blue{background:var(--container-blue)}
.crew-badge.orange{background:var(--container-orange)}
.crew-badge.steel{background:var(--steel)}
.crew-badge.yellow{background:var(--warning-yellow-dark);color:var(--chassis)}
.crew-card h4{font-size:0.82rem;margin-bottom:0.05rem}
.crew-card .role{font-size:0.72rem;color:var(--steel-light)}

/* --- Legal --- */
.legal-prose{max-width:700px}
.legal-prose section{margin-bottom:2rem}
.legal-prose h2{font-size:1rem;margin-bottom:0.5rem;padding-bottom:0.25rem;border-bottom:2px solid var(--bolt);color:var(--container-orange);text-transform:uppercase;letter-spacing:0.03em}
.legal-prose h3{font-size:0.9rem;margin:1rem 0 0.4rem;color:var(--warning-yellow)}
.legal-prose p{line-height:1.7;color:var(--steel-light);margin-bottom:0.8rem}
.legal-prose ul,.legal-prose ol{margin-bottom:0.8rem;color:var(--steel-light);padding-left:1.5rem}
.legal-prose ul li,.legal-prose ol li{margin-bottom:0.3rem;line-height:1.5}
.legal-updated{padding:0.75rem 1rem;background:var(--dark-surface);border:2px solid var(--bolt);border-left:4px solid var(--container-orange);margin-bottom:1.5rem;font-size:0.82rem;color:var(--steel-light)}
.legal-toc{background:var(--dark-surface);border:2px solid var(--bolt);padding:1rem;margin-bottom:1.5rem}
.legal-toc h3{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;margin-top:0;margin-bottom:0.5rem;color:var(--steel-light)}
.legal-toc ol{padding-left:1.5rem;margin-bottom:0}
.legal-toc ol li{margin-bottom:0.2rem;font-size:0.85rem}

/* --- Footer --- */
.yard-footer{background:var(--dark);border-top:6px solid var(--container-orange);margin-top:4rem}
.yard-footer-grid{max-width:var(--max-w);margin:0 auto;padding:2.5rem 1.25rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem}
.yard-footer-brand h4{color:var(--warning-yellow);font-size:0.9rem;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:0.4rem}
.yard-footer-brand p{color:var(--steel-light);font-size:0.8rem;line-height:1.5}
.yard-footer-col h4{color:var(--steel-light);font-size:0.65rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.6rem}
.yard-footer-col ul{list-style:none;padding:0}
.yard-footer-col ul li{margin-bottom:0.3rem}
.yard-footer-col ul a{color:var(--steel-light);font-size:0.8rem;transition:color 0.15s}
.yard-footer-col ul a:hover{color:var(--warning-yellow)}
.yard-footer-bar{max-width:var(--max-w);margin:0 auto;padding:0.75rem 1.25rem;border-top:1px solid var(--bolt);display:flex;justify-content:space-between;font-size:0.72rem;color:var(--steel-light)}
.yard-footer-bar a{color:var(--steel-light)}
.yard-footer-bar a:hover{color:var(--warning-yellow)}

@media (max-width: 860px){
  .yard-nav-links{display:none;position:absolute;top:52px;left:0;right:0;background:var(--dark);flex-direction:column;padding:1rem;border-bottom:4px solid var(--container-orange)}
  .yard-nav-links.open{display:flex}
  .yard-menu-btn{display:block}
  .yard-nav-inner{position:relative}
  .yard-hero,.cargo-grid,.route-row,.contact-dock,.principles-grid,.crew-grid,.dock-row,.container-stack,.form-g{grid-template-columns:1fr}
  .route-row.reverse{direction:ltr}
  .yard-footer-grid{grid-template-columns:1fr;gap:1.5rem}
}
@media (max-width: 500px){.crew-grid{grid-template-columns:1fr 1fr}}
