/* home.css — page-specific styles for home.html (loaded after style.css) */

/* ── HOME VARIABLES (supplement / override style.css tokens) ── */
:root {
  --cream:  #0A0A0A;
  --cream2: #141414;
  --cream3: #4a4a4a;
  --ink:    #FFFFFF;
  --ink2:   #E0DDD8;
  --ink3:   rgba(255,255,255,0.70);
}

/* Override body bg for home page */
body { background:var(--cream); cursor:none; }

/* ── SIDE DOTS ── */
.sdots { position:fixed; right:22px; top:50%; transform:translateY(-50%); z-index:90; display:flex; flex-direction:column; gap:12px; }
.sdot {
  width:7px; height:7px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.35);
  background:transparent; cursor:pointer; transition:all .3s; display:block;
}
.sdot.active { background:var(--red); border-color:var(--red); transform:scale(1.3); }

/* ── HOME HERO ── */
.hero { padding-top:62px; }
.hero-img {
  position:relative; width:100%; height:72vh; overflow:hidden;
  /* Fallback gradient — shows when hero-home.jpg is missing */
  background: linear-gradient(160deg, #07070f 0%, #0e0a14 30%, #140812 55%, #0a0706 100%);
}
.hero-img img { width:100%; height:100%; object-fit:cover; object-position:center 35%; display:block; }
.hero-img::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(10,10,10,0) 20%, rgba(10,10,10,0.55) 65%, var(--cream) 100%),
    linear-gradient(to right, rgba(10,10,10,0.80) 0%, transparent 55%);
}
.hero-overlay { position:absolute; inset:0; z-index:2; display:flex; align-items:flex-end; padding:0 48px 52px; }
.hero-words { max-width:540px; }
.hero-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.hero-dash { width:28px; height:1px; background:var(--red); }
.hero-etxt { font-family:'Barlow Condensed',sans-serif; font-size:9.5px; font-weight:500; letter-spacing:3px; text-transform:uppercase; color:var(--ink3); }
h1 { font-family:'Libre Baskerville',serif; font-size:clamp(60px,8vw,110px); line-height:.88; font-weight:700; color:var(--ink); letter-spacing:-1px; }
h1 em { font-style:italic; color:var(--red); }
h1 .ol { -webkit-text-stroke:1.5px var(--ink); color:transparent; }
.hero-rule { width:48px; height:3px; background:linear-gradient(90deg,var(--red),transparent); margin:22px 0; }
.hero-tagline { font-family:'Libre Baskerville',serif; font-size:clamp(16px,2vw,22px); font-style:italic; color:var(--ink2); line-height:1.4; }

/* ── HERO LOWER ── */
.hero-lower { padding:52px 48px; }
.hero-lower-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.hero-desc { font-size:14px; line-height:1.85; color:var(--ink3); margin-bottom:28px; }
.btns { display:flex; gap:12px; flex-wrap:wrap; }
.btn-dark {
  background:var(--ink); color:var(--cream); border:none;
  padding:14px 32px; font-family:'Barlow Condensed',sans-serif;
  font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase;
  cursor:pointer; transition:background .3s, box-shadow .3s;
  box-shadow:0 2px 12px rgba(255,255,255,0.15);
}
.btn-dark:hover { background:var(--red); box-shadow:0 4px 20px rgba(196,30,58,0.50); }
.btn-ghost { background:rgba(255,255,255,0.08); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:0.5px solid rgba(255,255,255,0.30); color:var(--ink); padding:13px 32px; font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:background .25s,border-color .25s,color .25s; }
.btn-ghost:hover { background:rgba(255,255,255,0.14); border-color:var(--red); color:var(--red); }

/* HERO STATS — glass ── */
.stats { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.stat {
  padding:20px 24px;
  background: rgba(255,255,255,0.05);
  backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-top:0.5px solid rgba(255,255,255,0.12);
  border-left:0.5px solid rgba(255,255,255,0.08);
  border-right:0.5px solid rgba(0,0,0,0.12);
  border-bottom:0.5px solid rgba(0,0,0,0.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);
  display:flex; align-items:center; gap:12px;
  transition:background .3s;
}
.stat:hover { background:rgba(255,255,255,0.09); }
.stat-bar { width:2px; height:28px; background:var(--red); flex-shrink:0; }
.stat-n { font-family:'Barlow Condensed',sans-serif; font-size:26px; font-weight:700; line-height:1; color:var(--ink); }
.stat-n b { color:var(--red); }
.stat-l { font-size:8.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink3); margin-top:2px; }

/* ── DIVIDERS ── */
.div-red { height:2px; background:linear-gradient(to right, var(--red), transparent); }
.div-line { height:1px; background:rgba(255,255,255,0.07); }

/* ── HOME SECTIONS ── */
.sec { padding:100px 48px; }
.sec.bg2 { background:var(--cream2); }
.sec.dark { background:var(--ink); }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.eye-n { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:600; letter-spacing:2px; color:var(--red); }
.eye-dash { width:16px; height:1px; background:var(--cream3); }
.eye-txt { font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--ink3); }
.eye-txt.lt { color:rgba(240,237,232,0.35); }
h2 { font-family:'Libre Baskerville',serif; font-size:clamp(32px,4.5vw,56px); font-weight:700; line-height:1.08; color:var(--ink); }
h2 em { font-style:italic; font-weight:400; color:var(--ink2); }
h2.lt { color:#FFFFFF; }
h2.lt em { color:rgba(240,237,232,0.4); }
.body-txt { font-size:14px; line-height:1.88; color:var(--ink3); margin-top:16px; }
.body-txt.lt { color:#FFFFFF; }

/* ── VISION ── */
.two-col { display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:start; }
.sticky-col { position:sticky; top:80px; }
.v-item {
  padding:26px 0; border-bottom:1px solid rgba(255,255,255,0.07);
  display:grid; grid-template-columns:40px 1fr; gap:14px;
  transition:padding-left .25s, background .25s;
}
.v-item:first-child { border-top:1px solid rgba(255,255,255,0.07); }
.v-item:hover { padding-left:10px; }
.v-item:hover .vi-n { color:var(--red); }
.vi-n { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; letter-spacing:1px; color:var(--cream3); transition:color .25s; padding-top:1px; }
.vi-t { font-family:'Barlow Condensed',sans-serif; font-size:16px; font-weight:700; letter-spacing:.3px; color:var(--ink); margin-bottom:5px; }
.vi-b { font-size:12.5px; line-height:1.76; color:var(--ink3); }

/* ── IMAGE BAND ── */
.imgband { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3px; height:420px; }
.imgcell {
  position:relative; overflow:hidden;
  background: linear-gradient(135deg, #0c0c14 0%, #14100a 100%);
}
.imgcell img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s ease; }
.imgcell:hover img { transform:scale(1.05); }
.imgcell::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,10,10,0.75) 0%,transparent 50%); transition:opacity .4s; }
.imgcell:hover::after { opacity:.2; }
.imgcell-cap { position:absolute; bottom:14px; left:18px; font-family:'Barlow Condensed',sans-serif; font-size:9px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(240,237,232,0.55); display:flex; align-items:center; gap:8px; z-index:1; }
.imgcell-cap::before { content:''; width:10px; height:1px; background:var(--red); }

/* ── NETWORK ── */
.net-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.mapbox {
  background: rgba(255,255,255,0.05);
  backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-top:0.5px solid rgba(255,255,255,0.14);
  border-left:0.5px solid rgba(255,255,255,0.09);
  border-right:0.5px solid rgba(0,0,0,0.15);
  border-bottom:0.5px solid rgba(0,0,0,0.15);
  padding:40px; position:relative;
  box-shadow:0 12px 40px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12);
}
.mapbox::before { content:'ROUTE NETWORK — PHASE 1'; position:absolute; top:-9px; left:20px; font-family:'Barlow Condensed',sans-serif; font-size:8px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#fff; background:var(--red); padding:2px 10px; }
.rdot { animation:rp 2.5s ease-in-out infinite; }
@keyframes rp { 0%,100%{r:5;opacity:1} 50%{r:8;opacity:.5} }
.rline { stroke-dasharray:5 9; animation:rd 3s linear infinite; }
@keyframes rd { from{stroke-dashoffset:0} to{stroke-dashoffset:-56} }
.routelist { margin-top:28px; }
.rrow { display:flex; align-items:center; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.05); cursor:default; transition:padding-left .2s; }
.rrow:hover { padding-left:8px; }
.rrow:hover .rcode { color:var(--red); }
.rcode { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; color:var(--cream3); width:44px; flex-shrink:0; transition:color .2s; }
.rname { font-size:13px; color:var(--ink); flex:1; }
.rphase { font-family:'Barlow Condensed',sans-serif; font-size:8px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink3); border:0.5px solid rgba(255,255,255,0.12); padding:2px 6px; }

/* ── IMPACT ── */
.impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:48px; background:rgba(255,255,255,0.06); }
.icard {
  padding:44px 32px;
  background: rgba(255,255,255,0.04);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  position:relative; overflow:hidden; cursor:default;
  transition:background .3s;
}
.icard:hover { background:rgba(255,255,255,0.08); }
.icard::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--red); transform:scaleX(0); transition:transform .4s; transform-origin:left; }
.icard:hover::before { transform:scaleX(1); }
.icard-n { font-family:'Libre Baskerville',serif; font-size:54px; font-style:italic; font-weight:700; color:rgba(196,30,58,0.10); line-height:1; margin-bottom:14px; }
.icard-t { font-family:'Barlow Condensed',sans-serif; font-size:17px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.icard-b { font-size:12.5px; line-height:1.76; color:var(--ink3); }

/* ── FLEET ── */
.fleet-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.fleet-imgs { position:relative; padding-bottom:28px; padding-right:28px; }
.fleet-main { width:100%; aspect-ratio:16/10; overflow:hidden; border:0.5px solid rgba(255,255,255,0.12); box-shadow:0 16px 48px rgba(0,0,0,0.5); background:linear-gradient(135deg,#0e0e18 0%,#181010 100%); }
.fleet-main img { width:100%; height:100%; object-fit:cover; display:block; }
.fleet-accent { position:absolute; bottom:0; right:0; width:50%; aspect-ratio:4/3; overflow:hidden; border:2px solid rgba(255,255,255,0.12); box-shadow:0 12px 32px rgba(0,0,0,0.55); background:linear-gradient(135deg,#14100e 0%,#0e0e16 100%); }
.fleet-accent img { width:100%; height:100%; object-fit:cover; display:block; }
.fpts { margin-top:28px; }
.fpt { display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid rgba(255,255,255,0.05); }
.fpt:first-child { border-top:1px solid rgba(255,255,255,0.05); }
.fpt-n { font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:700; color:var(--red); flex-shrink:0; width:22px; padding-top:1px; }
.fpt-t { font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700; color:var(--ink); margin-bottom:3px; }
.fpt-b { font-size:12px; line-height:1.7; color:var(--ink3); }

/* ── INVESTORS ── */
.inv-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.inv-list { margin-top:28px; }
.inv-li { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:13px; color:#FFFFFF; cursor:default; transition:padding-left .2s; }
.inv-li:hover { padding-left:8px; }
.inv-dot { width:4px; height:4px; border-radius:50%; background:var(--red); flex-shrink:0; }
.cbox {
  margin-top:28px; padding:40px;
  background: rgba(255,255,255,0.06);
  backdrop-filter:blur(24px) saturate(180%); -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-top:0.5px solid rgba(255,255,255,0.16);
  border-left:0.5px solid rgba(255,255,255,0.09);
  border-right:0.5px solid rgba(0,0,0,0.15);
  border-bottom:0.5px solid rgba(0,0,0,0.15);
  box-shadow:0 8px 32px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.12);
  position:relative;
}
.cbox::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--red),transparent); }
.cbox-lbl { font-family:'Barlow Condensed',sans-serif; font-size:9px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:rgba(220,60,80,0.9); margin-bottom:12px; }
.cbox-email { font-family:'Libre Baskerville',serif; font-size:20px; font-style:italic; color:#FFFFFF; margin-bottom:6px; }
.cbox-email a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(196,30,58,0.3); }
.cbox-email a:hover { border-color:var(--red); }
.cbox-social { font-size:10px; letter-spacing:1px; color:rgba(255,255,255,0.45); margin-top:8px; }
.btn-red { background:var(--red); color:var(--cream); border:none; padding:12px 24px; margin-top:18px; display:inline-block; font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; cursor:pointer; transition:background .3s,box-shadow .3s; box-shadow:0 2px 12px rgba(196,30,58,0.30); }
.btn-red:hover { background:#9e1830; box-shadow:0 4px 20px rgba(196,30,58,0.50); }

/* ── FOUNDER ── */
.founder-grid { display:grid; grid-template-columns:1fr 2fr; gap:72px; align-items:start; }
.founder-vis { position:sticky; top:80px; }
.founder-img { width:50%; aspect-ratio:3/4; overflow:hidden; border:0.5px solid rgba(255,255,255,0.12); margin-bottom:18px; background:linear-gradient(180deg,#141418 0%,#0e0c10 100%); }
.founder-img img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(0.88) contrast(1.08); }
.founder-name { font-family:'Libre Baskerville',serif; font-size:clamp(24px,3vw,36px); font-weight:700; color:var(--ink); line-height:1; margin-bottom:5px; }
.founder-role { font-family:'Barlow Condensed',sans-serif; font-size:9.5px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--red); }
.founder-quote { font-family:'Libre Baskerville',serif; font-size:clamp(16px,1.8vw,21px); font-style:italic; color:var(--ink2); line-height:1.5; border-left:2.5px solid var(--red); padding-left:20px; margin-bottom:26px; }
.founder-p { font-size:14px; line-height:1.88; color:var(--ink3); margin-bottom:14px; }

/* ── FOOTER OVERRIDE for home ── */
footer { background:rgba(4,4,6,0.99); }
.ft-col a { color:rgba(255,255,255,0.50); }
.fw-brand .fs { color:rgba(255,255,255,0.28); }

/* ── ANIMATIONS ── */
.anim { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s ease; }
.anim.show, .anim.on { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} .d4{transition-delay:.4s}

/* ── CONTACT FORM ── */
.cform { display:flex; flex-direction:column; gap:16px; }
.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cform-field { display:flex; flex-direction:column; gap:6px; }
.cform-label { font-family:'Barlow Condensed',sans-serif; font-size:9.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(247,244,239,0.75); }
.req { color:var(--red); }
.cform-input {
  background:rgba(255,255,255,0.07); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:0.5px solid rgba(255,255,255,0.12); color:#fff; padding:12px 14px;
  font-family:'Barlow',sans-serif; font-size:13px; font-weight:300;
  outline:none; transition:border-color .25s,background .25s; width:100%;
  border-radius:0; -webkit-appearance:none;
}
.cform-input::placeholder { color:rgba(240,237,232,0.30); }
.cform-input:focus { border-color:rgba(196,30,58,0.55); background:rgba(255,255,255,0.10); box-shadow:0 0 0 2.5px rgba(196,30,58,0.18); }
.cform-textarea { resize:vertical; min-height:100px; font-family:'Barlow',sans-serif; }
.cform-footer { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:4px; }
.cform-btn { margin-top:0; cursor:pointer; }
.cform-note { font-size:10px; letter-spacing:1px; color:rgba(247,244,239,0.40); }
.cform-success { display:none; background:rgba(196,30,58,0.10); border:0.5px solid rgba(196,30,58,0.30); color:rgba(240,237,232,0.8); padding:12px 16px; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ RESPONSIVE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1100px) {
  .two-col, .net-grid, .fleet-grid, .inv-grid, .founder-grid { grid-template-columns:1fr; gap:40px; }
  .sticky-col, .founder-vis { position:static; }
  .fleet-accent { display:none; }
  .fleet-imgs { padding:0; }
  .founder-img { aspect-ratio:16/9; }
  .sdots { display:none; }
}
@media(max-width:768px) {
  .hero { padding-top:56px; }
  .hero-img { height:55vw; min-height:220px; }
  .hero-overlay { padding:0 20px 28px; }
  h1 { font-size:clamp(40px,12vw,68px); }
  .hero-rule { margin:14px 0; }
  .hero-tagline { font-size:15px; }
  .hero-lower { padding:28px 20px 52px; }
  .hero-lower-grid { grid-template-columns:1fr; gap:24px; }
  .sec { padding:60px 20px; }
  h2 { font-size:clamp(26px,7.5vw,42px); }
  .imgband { grid-template-columns:1fr; height:auto; }
  .imgcell { height:54vw; min-height:200px; }
  .imgcell:nth-child(2), .imgcell:nth-child(3) { display:none; }
  .impact-grid { grid-template-columns:1fr; background:transparent; gap:2px; }
}
@media(max-width:480px) {
  .stats { grid-template-columns:1fr 1fr; }
  .btns { flex-direction:column; }
  .btn-dark, .btn-ghost { width:100%; text-align:center; }
  .cform-row { grid-template-columns:1fr; }
  .cform-footer { flex-direction:column; align-items:flex-start; gap:12px; }
}
