/* =====================================================
   Apex Silo Systems — Custom Styles
   Signature motif: the "rivet line" — a bolted seam divider
   echoing corrugated sidewall sheets + structural stiffeners.
   ===================================================== */

:root{
  --navy:#082A59;
  --navydark:#071430;
  --orange:#F38821;
  --steel:#9B9FA6;
  --slate:#5B646F;
  --offwhite:#FCFCFC;
}

html{ scroll-behavior:smooth; }
body{ overflow-x:hidden; }

h1,h2,h3,h4{ font-family:'Space Grotesk',sans-serif; color:var(--navy); letter-spacing:-0.01em; }

/* ---------- Nav ---------- */
.nav-link{ color:var(--navy); position:relative; padding-bottom:6px; opacity:.75; transition:opacity .2s; }
.nav-link:hover{ opacity:1; }
.nav-active{ opacity:1; }
.nav-active::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--orange); }

#site-header.scrolled{ box-shadow:0 2px 24px rgba(7,20,48,.08); }

.footer-link{ color:rgba(252,252,252,.65); transition:color .2s; }
.footer-link:hover{ color:var(--orange); }
.footer-icon{
  width:32px; height:32px; border-radius:2px; border:1px solid rgba(252,252,252,.25);
  display:flex; align-items:center; justify-content:center; font-size:11px; font-family:'IBM Plex Mono',monospace;
  color:rgba(252,252,252,.7); text-transform:uppercase; transition:all .2s;
}
.footer-icon:hover{ border-color:var(--orange); color:var(--orange); }

/* ---------- Buttons ---------- */
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--orange); color:var(--navydark); font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:13px; letter-spacing:.03em; text-transform:uppercase;
  padding:12px 22px; border-radius:2px; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow:0 6px 18px rgba(243,136,33,.28);
}
.btn-primary:hover{ transform:translateY(-2px); background:#ff9a35; }

.btn-outline{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:transparent; color:var(--offwhite); border:1.5px solid rgba(252,252,252,.4);
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; letter-spacing:.03em; text-transform:uppercase;
  padding:12px 22px; border-radius:2px; transition:all .18s ease;
}
.btn-outline:hover{ border-color:var(--orange); color:var(--orange); }

.btn-outline-dark{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:transparent; color:var(--navy); border:1.5px solid rgba(8,42,89,.3);
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; letter-spacing:.03em; text-transform:uppercase;
  padding:12px 22px; border-radius:2px; transition:all .18s ease;
}
.btn-outline-dark:hover{ border-color:var(--orange); color:var(--orange); }

/* ---------- Signature: Rivet line divider ---------- */
.rivet-line{
  position:relative; height:1px; width:100%;
  background:repeating-linear-gradient(to right, rgba(8,42,89,.18) 0 6px, transparent 6px 26px);
}
.rivet-line::before{
  content:""; position:absolute; inset:0; height:1px;
  background-image: radial-gradient(circle, rgba(8,42,89,.35) 1.6px, transparent 1.7px);
  background-size:26px 1px; background-repeat:repeat-x; background-position:13px center;
}
.rivet-line-light{ background:repeating-linear-gradient(to right, rgba(252,252,252,.18) 0 6px, transparent 6px 26px); }
.rivet-line-light::before{ background-image: radial-gradient(circle, rgba(252,252,252,.4) 1.6px, transparent 1.7px); }

/* eyebrow label used above headings — mono, spaced, like a part number */
.eyebrow{
  font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--orange); display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--orange); }

/* ---------- Section rhythm ---------- */
.section{ padding:6rem 0; }
@media (max-width:768px){ .section{ padding:4rem 0; } }

/* ---------- Cards ---------- */
.eng-card{
  background:var(--offwhite); border:1px solid rgba(8,42,89,.1); border-radius:4px;
  padding:28px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.eng-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(8,42,89,.1); border-color:rgba(243,136,33,.4); }

.industry-chip{
  border:1px solid rgba(8,42,89,.12); border-radius:4px; padding:22px 16px; text-align:center;
  transition:all .2s ease; background:#fff;
}
.industry-chip:hover{ border-color:var(--orange); transform:translateY(-3px); }

/* ---------- Process / weld-seam connector ----------
   Used between workflow steps instead of a plain arrow —
   reads like a welded seam joining steel plates. */
.weld-connector{
  width:2px; height:36px; margin:0 auto;
  background:repeating-linear-gradient(to bottom, var(--steel) 0 4px, transparent 4px 8px);
}
.weld-connector-h{
  height:2px; flex:1;
  background:repeating-linear-gradient(to right, var(--steel) 0 4px, transparent 4px 8px);
}

/* ---------- Hero SVG scene ---------- */
.hero-scene{ width:100%; height:auto; overflow:visible; }
.grain-flow-dot{ opacity:0; }
.aeration-wave{ transform-origin:center; }

@keyframes floatY{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }
.float-slow{ animation:floatY 6s ease-in-out infinite; }

@keyframes spinSlow{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
.spin-slow{ animation:spinSlow 40s linear infinite; transform-origin:center; }

@keyframes pulseGlow{ 0%,100%{ opacity:.35; } 50%{ opacity:.85; } }
.pulse-glow{ animation:pulseGlow 2.4s ease-in-out infinite; }

/* reveal-on-scroll: visible by default. main.js only hides-then-animates
   via gsap.set() if GSAP actually loaded, so content is never stuck
   blank if a CDN script is slow or blocked. */
.reveal{ }
.reveal.is-visible{ }

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .float-slow,.spin-slow,.pulse-glow{ animation:none !important; }
}

/* focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--orange); outline-offset:2px;
}

/* form fields */
.field-label{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); }
.field-input{
  width:100%; border:1px solid rgba(8,42,89,.18); border-radius:3px; padding:12px 14px;
  font-size:14px; color:var(--navy); background:#fff; transition:border-color .2s;
}
.field-input:focus{ border-color:var(--orange); outline:none; }

/* roadmap timeline */
.timeline-rail{ background:repeating-linear-gradient(to bottom, rgba(8,42,89,.2) 0 6px, transparent 6px 14px); width:2px; }

/* ---------- Spec tables (Silo Bags / Field Equipment / SiloSentryIQ) ---------- */
.spec-table{ width:100%; border-collapse:collapse; font-size:14px; }
.spec-table th{
  background:var(--navy); color:var(--offwhite); font-family:'Space Grotesk',sans-serif; font-weight:600;
  text-align:left; padding:12px 14px; font-size:12px; text-transform:uppercase; letter-spacing:.04em;
}
.spec-table td{ padding:11px 14px; border-bottom:1px solid rgba(8,42,89,.08); color:var(--navy); }
.spec-table tr:nth-child(even) td{ background:rgba(8,42,89,.03); }

.badge{
  display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace;
  font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding:4px 10px; border-radius:999px;
  border:1px solid rgba(8,42,89,.18); color:var(--navy); background:#fff;
}
.badge-orange{ border-color:rgba(243,136,33,.4); color:#B8630F; background:rgba(243,136,33,.08); }

.note-box{
  background:#F4F5F7; border-left:3px solid var(--orange); border-radius:4px; padding:16px 18px;
  font-size:13px; color:var(--slate); line-height:1.6;
}