/* ───────────────────────────────────────────────
   CORD · Cable Operated Robotic Dronesystem
   Shared stylesheet — multipage v3 (5 pages)
─────────────────────────────────────────────── */

:root{
  --bg:#FFFFFF;
  --ink:#050505;
  --ink-soft:#333;
  --mute:#666;
  --line:#000;
  --fire:#FF914D;
  --fire-2:#FFA769;
  --fire-deep:#E0742B;
  --ember:#FFC48A;
  --navy:#00357A;
  --navy-deep:#002558;
  --pitch:#0A0A0A;
  --cream:#F6F2E9;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:17px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none}
img,video{max-width:100%;display:block}
.display{ font-family:'Archivo Black','Archivo',sans-serif; font-weight:900; }

/* ─────────────────────────── Top bar */
.bar{
  position:sticky; top:0; z-index:50;
  background: var(--fire);
  color: #fff;
  padding: 14px 28px;
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Archivo',sans-serif; font-weight:700;
  font-size: 13px; letter-spacing: 0.04em;
  border-bottom: 3px solid var(--ink);
}
.bar .brand{ display:inline-flex; align-items:center; gap: 10px; }
.bar .brand img{ height: 40px; width:auto; display:block; filter: brightness(0) invert(1); }
.bar .brand .sep{ display:inline-block; width: 1px; height: 26px; background: rgba(255,255,255,.35); }
.bar .brand .sub{
  font-family:'Archivo',sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: rgba(255,255,255,.9);
}
.bar nav{ display:flex; gap: 24px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em }
.bar nav a{ position: relative; padding: 4px 0; }
.bar nav a:hover{ text-decoration: underline; text-underline-offset: 4px; }
.bar nav a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-3px; height:3px; background:#fff;
}
.bar .time{ font-variant-numeric: tabular-nums; opacity: .8 }
.bar-strip{
  position:sticky; top: 54px; z-index: 49;
  height: 4px; display:flex;
  background: var(--navy);
  border-bottom: 3px solid var(--ink);
}
.bar-strip::before{ content:""; width: 50%; background: var(--fire); }

/* ─────────────────────────── Page header (sub-pages) */
.page-header{
  background: var(--navy-deep);
  color:#fff;
  padding: 80px 28px 60px;
  border-bottom: 3px solid var(--ink);
  position: relative;
  overflow:hidden;
}
.page-header::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:6px;
  background: linear-gradient(90deg, var(--fire) 0 50%, var(--navy) 50% 100%);
}
.page-header .crumb{
  font-family:'Archivo',sans-serif; font-weight:700;
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color: var(--fire); margin-bottom: 22px;
  display:flex; align-items:center; gap:10px;
}
.page-header .crumb::before{ content:""; width:36px; height:3px; background:var(--fire); display:inline-block; }
.page-header h1{
  font-family:'Archivo Black',sans-serif; font-weight:900;
  font-size: clamp(48px, 9vw, 132px);
  line-height: 0.88; letter-spacing:-0.04em;
  text-transform: uppercase; color:#fff; max-width: 18ch;
}
.page-header h1 .fire{ color: var(--fire); }
.page-header h1 .out{ -webkit-text-stroke: 2px #fff; color: transparent; }
.page-header .lede{
  margin-top: 28px; max-width: 60ch;
  font-size: 19px; color: rgba(255,255,255,.85);
  font-weight: 400; line-height: 1.55;
}

/* ─────────────────────────── Reusable sections */
.section{ padding: 90px 28px; border-bottom: 3px solid var(--ink); }
.section.cream{ background: var(--cream); }
.section.dark{ background: var(--ink); color:#fff; }
.section.fire{ background: var(--fire); color: var(--ink); }
.section.navy{ background: var(--navy-deep); color:#fff; }

.section h2{
  font-family:'Archivo Black',sans-serif;
  font-size: clamp(40px, 6vw, 86px);
  line-height: 0.92; letter-spacing:-0.035em;
  text-transform: uppercase;
  margin-bottom: 40px; max-width: 22ch;
}
.section h2 .fire{ color: var(--fire); }
.section h2 .out{ -webkit-text-stroke: 2px var(--ink); color: transparent; }
.section.dark h2 .out, .section.navy h2 .out{ -webkit-text-stroke: 2px #fff; color: transparent; }
.section .kicker{
  font-family:'Archivo',sans-serif; font-weight:800;
  font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--fire); margin-bottom: 18px;
}
.section p{ font-size: 18px; max-width: 64ch; line-height: 1.6; color: var(--ink-soft); }
.section.dark p, .section.navy p{ color: rgba(255,255,255,.78); }
.section.fire p{ color: var(--ink); }

.tag-status{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--ink); color:#fff;
  font-family:'Archivo',sans-serif; font-weight:800;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  padding: 5px 9px; border: 2px solid var(--ink);
}
.tag-status.target{ background: var(--ink); color: var(--fire); }
.tag-status.proto{ background: #fff; color: var(--ink); border-color: var(--ink); }
.tag-status.live{ background: var(--fire); color: var(--ink); }

.disclaimer-band{
  background: var(--ink); color: rgba(255,255,255,.85);
  border-bottom: 3px solid var(--ink);
  padding: 14px 28px;
  font-family:'Archivo',sans-serif; font-weight:600;
  font-size: 12px; letter-spacing: 0.08em; text-align:center;
}
.disclaimer-band strong{
  color: var(--fire); letter-spacing: 0.22em; text-transform: uppercase;
  font-weight: 800; margin-right: 10px;
}

/* ─────────────────────────── Buttons */
.btn{
  display:inline-flex; align-items:center; gap: 10px;
  padding: 16px 24px;
  font-family:'Archivo',sans-serif; font-weight: 800;
  font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em;
  border: 3px solid #fff; color: #fff; background: transparent;
  transition: transform .12s, box-shadow .12s, background .12s, color .12s, border-color .12s;
  cursor:pointer;
}
.btn.solid{ background: var(--fire); border-color: var(--fire); color: #fff; }
.btn.solid:hover{ background: var(--fire-deep); border-color: var(--fire-deep); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 #fff; }
.btn.outline:hover{ background: #fff; color: var(--ink); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--fire); }
.btn.dark{ border-color: var(--ink); color: var(--ink); background: #fff; }
.btn.dark:hover{ background: var(--ink); color: #fff; transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--fire); }
.btn.firedark{ background: var(--fire); border-color: var(--ink); color: var(--ink); }
.btn.firedark:hover{ transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--ink); }
.btn.navy{ background: var(--navy); border-color: var(--navy); color: #fff; }
.btn.navy:hover{ background: var(--navy-deep); border-color: var(--navy-deep); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--fire); }
.btn.navyline{ background: transparent; border-color: var(--navy); color: var(--navy); }
.btn.navyline:hover{ background: var(--navy); color: #fff; transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--fire); }

/* ─────────────────────────── Marquee */
.marq{
  background: var(--fire); color: var(--ink);
  border-bottom: 3px solid var(--ink);
  padding: 14px 0; overflow: hidden; position: relative;
  font-family:'Archivo Black',sans-serif;
  font-size: 22px; text-transform: uppercase; letter-spacing: -0.01em;
}
.marq-inner{ display:flex; gap: 40px; white-space: nowrap; animation: scroll 32s linear infinite; width: max-content; }
.marq span{ display:inline-flex; align-items:center; gap: 40px; }
.marq span::after{ content:"✱"; color: var(--ink); font-size: 26px; }
@keyframes scroll { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* ─────────────────────────── Numbers grid */
.nums-grid{ display:grid; grid-template-columns: repeat(4, 1fr); border-top: 3px solid var(--ink); }
.nums-grid .cell{
  border-right: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  padding: 30px 24px 26px;
  position: relative; transition: background .15s;
}
.nums-grid .cell:nth-child(4n){ border-right: 0; }
.nums-grid .cell:hover{ background: var(--fire); color: #fff; }
.nums-grid .cell:nth-child(2n):hover{ background: var(--navy); color: #fff; }
.nums-grid .cell:hover .v{ color:#fff; }
.nums-grid .cell:hover .d, .nums-grid .cell:hover .i, .nums-grid .cell:hover .ts{ color: rgba(255,255,255,.85); }
.nums-grid .cell .i{
  font-family:'Archivo',sans-serif; font-weight:700;
  font-size: 11px; letter-spacing: 0.22em; text-transform:uppercase;
  color: var(--mute); margin-bottom: 14px;
}
.nums-grid .cell .v{
  font-family:'Archivo Black',sans-serif;
  font-size: clamp(46px, 5.4vw, 86px);
  line-height: 0.9; letter-spacing: -0.04em; color: var(--ink);
}
.nums-grid .cell .v small{ font-size: 0.32em; font-family:'Archivo',sans-serif; font-weight:700; letter-spacing: 0; margin-left:4px; }
.nums-grid .cell .d{ margin-top: 14px; font-size: 13px; color: var(--mute); font-weight: 500; line-height: 1.55; }
.nums-grid .cell .ts{
  margin-top: 14px;
  font-family:'Archivo',sans-serif; font-weight: 800;
  font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--fire);
}

/* ─────────────────────────── Cards */
.card-grid{ display:grid; gap: 0; border:3px solid var(--ink); background:#fff; }
.card-grid.cols-3{ grid-template-columns: repeat(3, 1fr); }
.card-grid.cols-2{ grid-template-columns: repeat(2, 1fr); }
.card-grid.cols-4{ grid-template-columns: repeat(4, 1fr); }
.card-grid > .card{
  padding: 30px 26px;
  border-right: 3px solid var(--ink);
  position: relative; transition: background .15s;
}
.card-grid.cols-3 > .card:nth-child(3n){ border-right: 0; }
.card-grid.cols-2 > .card:nth-child(2n){ border-right: 0; }
.card-grid.cols-4 > .card:nth-child(4n){ border-right: 0; }
.card-grid > .card:hover{ background: var(--fire); color:#fff; }
.card-grid > .card:nth-child(2n):hover{ background: var(--navy); color:#fff; }
.card-grid .card .num{
  font-family:'Archivo Black',sans-serif; font-size: 64px;
  line-height: 0.8; letter-spacing: -0.04em;
  color: var(--fire); margin-bottom: 18px;
}
.card-grid > .card:hover .num{ -webkit-text-stroke: 2px #fff; color: transparent; }
.card-grid .card h4{ font-family:'Archivo Black',sans-serif; font-size: 22px; letter-spacing: -0.02em; text-transform: uppercase; margin-bottom: 8px; line-height:1.05; }
.card-grid .card .role-tag{ font-family:'Archivo',sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mute); margin-bottom: 14px; }
.card-grid > .card:hover .role-tag{ color: rgba(255,255,255,.8) }
.card-grid .card p{ color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.card-grid > .card:hover p{ color: rgba(255,255,255,.9) }

/* ─────────────────────────── Hero — full-bleed video */
.hero-vid{
  position: relative;
  min-height: 72vh;
  border-bottom: 3px solid var(--ink);
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
  display: flex;
}
.hero-vid video{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  z-index: 0;
}
.hero-vid::after{
  content:""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(0,21,53,.35) 0%, rgba(0,21,53,.55) 55%, rgba(0,0,0,.78) 100%);
  z-index: 1;
}
.hero-vid::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height: 6px;
  background: linear-gradient(90deg, var(--fire) 0 50%, var(--navy) 50% 100%);
  z-index: 4;
}
.hero-vid .in{
  position: relative; z-index: 2;
  padding: 110px 28px 70px;
  width: 100%;
  max-width: 1400px;
  display: flex; flex-direction: column; justify-content: flex-end;
  gap: 0;
}
.hero-vid .eyebrow{
  font-family:'Archivo',sans-serif; font-weight:700;
  text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 12px; color: var(--fire);
  display:inline-flex; align-items:center; gap: 12px;
  margin-bottom: 18px;
}
.hero-vid .eyebrow::before{content:""; width:42px; height:3px; background: var(--fire); display:inline-block}
.hero-vid h1{
  font-family:'Archivo Black',sans-serif; font-weight: 900;
  font-size: clamp(44px, 7.2vw, 124px);
  line-height: 0.92; letter-spacing: -0.04em;
  text-transform: uppercase; color: #fff;
  text-shadow: 0 4px 30px rgba(0,0,0,.5);
}
.hero-vid h1 .fire{ color: var(--fire); }
.hero-vid h1 .out{ -webkit-text-stroke: 2px #fff; color: transparent; }
.hero-vid .sub{
  display:grid; grid-template-columns: 1.2fr 1fr; gap: 36px;
  align-items: end; margin-top: 28px;
}
.hero-vid .sub p{
  font-size: 18px; color: rgba(255,255,255,.92);
  max-width: 56ch; line-height: 1.5; font-weight: 400;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.hero-vid .sub .ctas{ display:flex; gap: 10px; flex-wrap:wrap; justify-content: flex-end }
.hero-vid .corner{
  position: absolute; top: 28px; right: 28px;
  z-index: 3;
  font-family:'Archivo',sans-serif; font-weight:800;
  font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
  color: rgba(255,255,255,.85);
  display: flex; align-items: center; gap: 10px;
}
.hero-vid .corner .pulse{
  width: 9px; height: 9px; border-radius: 50%; background: var(--fire);
  box-shadow: 0 0 0 0 rgba(255,145,77,.7);
  animation: pulse 1.6s infinite;
}
@keyframes pulse{
  0%{ box-shadow: 0 0 0 0 rgba(255,145,77,.65); }
  70%{ box-shadow: 0 0 0 14px rgba(255,145,77,0); }
  100%{ box-shadow: 0 0 0 0 rgba(255,145,77,0); }
}
.hero-vid .scroll-cue{
  position: absolute; left: 28px; bottom: 22px;
  z-index: 3;
  font-family:'Archivo',sans-serif; font-weight:700;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(255,255,255,.75);
}
.hero-vid .scroll-cue::after{
  content:""; display: inline-block; width: 24px; height: 2px;
  background: var(--fire); margin-left: 10px; vertical-align: middle;
}

/* ─────────────────────────── How it works · plain-English steps */
.steps{
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border: 3px solid var(--ink); background: #fff;
}
.steps .step{
  padding: 28px 24px;
  border-right: 3px solid var(--ink);
  position: relative; transition: background .15s;
}
.steps .step:last-child{ border-right: 0; }
.steps .step:hover{ background: var(--fire); color:#fff; }
.steps .step:nth-child(2n):hover{ background: var(--navy); color:#fff; }
.steps .step .n{
  font-family:'Archivo Black',sans-serif; font-size: 64px;
  line-height: 0.8; letter-spacing: -0.04em;
  color: var(--fire); margin-bottom: 16px;
}
.steps .step:hover .n{ -webkit-text-stroke: 2px #fff; color: transparent; }
.steps .step h4{ font-family:'Archivo Black',sans-serif; font-size: 20px; letter-spacing: -0.02em; text-transform: uppercase; margin-bottom: 10px; line-height: 1.1; }
.steps .step p{ color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.steps .step:hover p{ color: rgba(255,255,255,.92); }

/* ─────────────────────────── Inline diagram */
.diagram{
  margin-top: 24px;
  border: 3px solid var(--ink);
  background: var(--cream);
  padding: 30px;
}
.diagram svg{ display:block; width: 100%; height: auto; }

/* ─────────────────────────── CTA giant */
.cta-giant{
  background: var(--fire); color: var(--ink);
  padding: 110px 28px;
  border-bottom: 3px solid var(--ink);
  position: relative; overflow: hidden;
}
.cta-giant::after{
  content:""; position:absolute; right: -80px; bottom: -100px;
  width: 360px; height: 360px; border-radius: 50%;
  background: var(--navy); border: 3px solid var(--ink);
}
.cta-giant::before{
  content:""; position:absolute; left: -60px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: transparent; border: 3px solid var(--ink); z-index: 1;
}
.cta-giant .in{ position:relative; z-index:2 }
.cta-giant .kicker{ font-family:'Archivo',sans-serif; font-weight: 800; font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; margin-bottom: 18px; }
.cta-giant h2{ font-family:'Archivo Black',sans-serif; font-size: clamp(48px, 8vw, 150px); line-height: 0.88; letter-spacing: -0.045em; text-transform: uppercase; margin-bottom: 24px; max-width: 16ch; }
.cta-giant h2 .out{ -webkit-text-stroke: 3px var(--ink); color: transparent; }
.cta-giant p{ font-size: 19px; max-width: 56ch; font-weight: 500; margin-bottom: 28px; line-height: 1.55; color: var(--ink); }
.cta-giant .row{ display:flex; gap: 12px; flex-wrap:wrap }

/* ─────────────────────────── Gallery */
.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 30px;
}
.gallery .item{
  position: relative;
  border: 3px solid var(--ink);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #000 center/cover no-repeat;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
}
.gallery .item:hover{ transform: translate(-3px,-3px); box-shadow: 8px 8px 0 var(--fire); }
.gallery .item.tall{ aspect-ratio: 3/4; }
.gallery .item.wide{ grid-column: span 2; aspect-ratio: 16/9; }
.gallery .item.video{ position: relative; }
.gallery .item.video::after{
  content:"▶"; position:absolute; left:18px; bottom:14px;
  background: var(--fire); color:var(--ink);
  font-family:'Archivo Black',sans-serif; font-size: 18px;
  width: 46px; height: 46px;
  display:flex; align-items:center; justify-content:center;
  border: 3px solid var(--ink);
}
.gallery .item .cap{
  position:absolute; left:0; right:0; bottom:0;
  padding: 12px 14px;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.78) 100%);
  color:#fff;
  font-family:'Archivo',sans-serif; font-weight:700;
  font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
}
.gallery .item .cap small{
  display:block; font-family:'Archivo',sans-serif; font-weight: 600;
  font-size: 10px; letter-spacing: 0.2em;
  color: var(--fire); margin-bottom: 4px;
}
.lightbox{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 200;
  display: none;
  align-items:center; justify-content:center;
  padding: 30px;
}
.lightbox.open{ display:flex; }
.lightbox img, .lightbox video{
  max-width: 100%; max-height: 100%;
  border: 3px solid var(--fire);
}
.lightbox .close{
  position: absolute; top: 22px; right: 22px;
  width: 48px; height: 48px;
  background: var(--fire); color: var(--ink);
  border: 3px solid #fff;
  font-family:'Archivo Black',sans-serif; font-size: 22px;
  display:flex; align-items:center; justify-content:center;
  cursor: pointer;
}

/* ─────────────────────────── Team */
.team-cover{
  background: var(--ink) center/cover no-repeat;
  background-image: url('../img/team-photo.jpg');
  aspect-ratio: 16/6;
  border: 3px solid var(--ink);
  margin-bottom: 36px;
}
.team-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 3px solid var(--ink); }
.member{
  padding: 22px 24px;
  border-right: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  transition: background .12s;
}
.member:nth-child(3n){ border-right: 0; }
.member:nth-last-child(-n+3){ border-bottom: 0; }
.member:hover{ background: var(--navy); color: #fff }
.member:nth-child(3n+2):hover{ background: var(--fire); color: #fff }
.member .nm{ font-family:'Archivo Black',sans-serif; font-size: 20px; letter-spacing: -0.02em; text-transform: uppercase; line-height: 1.05; margin-bottom: 4px; }
.member .rl{ font-family:'Archivo',sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.22em; text-transform:uppercase; color: var(--fire); }
.member:hover .rl{ color: var(--ink) }
.team-sup{ margin-top: 28px; padding: 22px 24px; border: 3px solid var(--ink); background: var(--cream); font-family:'Archivo',sans-serif; font-weight: 600; font-size: 14px; letter-spacing: 0.04em; }
.team-sup strong{ text-transform: uppercase; letter-spacing: 0.2em; font-weight: 800; display: block; margin-bottom: 6px; color: var(--fire); font-size: 12px;}

/* ─────────────────────────── Sponsor tiers */
.tier-row{
  display:grid; grid-template-columns: 240px 1fr; gap: 30px; padding: 26px 0;
  border-top: 3px solid var(--fire);
  align-items: start;
}
.tier-row:last-of-type{ border-bottom: 3px solid var(--fire); }
.tier-row .t{ font-family:'Archivo Black',sans-serif; font-size: 32px; letter-spacing: -0.025em; text-transform: uppercase; line-height: 1.0; color: var(--fire);}
.tier-row .t small{ display:block; font-family:'Archivo',sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.22em; color: #fff; margin-top: 8px; }
.tier-row .list{ display:flex; flex-wrap:wrap; gap: 12px; }
.tier-row .list a{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 18px;
  font-family:'Archivo Black',sans-serif; font-size: 16px;
  letter-spacing: -0.01em; text-transform: uppercase;
  color: #fff; background: var(--navy);
  border: 3px solid #fff; transition: all .12s;
}
.tier-row .list a:hover{ background: var(--fire); border-color: var(--fire); transform: translate(-2px,-2px); box-shadow: 6px 6px 0 #fff; }

/* ─────────────────────────── Contact form */
.form-wrap{
  background: #fff;
  border: 3px solid var(--ink);
  padding: 36px;
  display:grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.form-wrap .full{ grid-column: 1 / -1; }
.form-wrap label{
  font-family:'Archivo',sans-serif; font-weight:800;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--mute); display:block; margin-bottom: 8px;
}
.form-wrap input, .form-wrap textarea, .form-wrap select{
  width:100%; padding: 14px 16px;
  border: 3px solid var(--ink); background: #fff;
  font-family:'Inter',sans-serif; font-size: 15px;
  font-weight: 500; color: var(--ink);
}
.form-wrap input:focus, .form-wrap textarea:focus, .form-wrap select:focus{
  outline: none; box-shadow: 4px 4px 0 var(--fire);
}
.form-wrap textarea{ min-height: 140px; resize: vertical; }

/* ─────────────────────────── Footer */
footer.foot{
  background: var(--ink); color: #fff;
  padding: 70px 28px 40px;
  font-family:'Archivo',sans-serif; font-weight: 600;
  font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em;
  border-top: 3px solid var(--fire);
}
footer.foot a{ color: var(--fire); }
footer.foot .yr{ font-family:'Archivo Black',sans-serif; font-size: 20px; letter-spacing:-0.02em; }
footer.foot .f-logo{
  display:block; height: 80px; width: auto;
  margin-bottom: 24px; filter: brightness(0) invert(1);
}
footer.foot .f-tag{
  font-family:'Archivo',sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--fire); margin-bottom: 36px;
}
footer.foot .f-row{
  display:grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px;
  padding-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,.15);
  margin-bottom: 28px;
  text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 14px;
}
footer.foot .f-row h4{
  font-family:'Archivo Black',sans-serif; font-weight: 900;
  font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(255,255,255,.55); margin-bottom: 14px;
}
footer.foot .f-row ul{ list-style:none; padding: 0; margin: 0; display:flex; flex-direction: column; gap: 9px; }
footer.foot .f-row li a{
  color: #fff; text-decoration: none;
  font-family:'Archivo',sans-serif; font-weight: 600; font-size: 14px;
  text-transform: none; letter-spacing: 0;
  border-bottom: 1px solid transparent;
  transition: border-color .15s, color .15s;
}
footer.foot .f-row li a:hover{ color: var(--fire); border-bottom-color: var(--fire); }
footer.foot .f-row p{ color: rgba(255,255,255,.7); line-height: 1.55; }
footer.foot .f-row p strong{ color:#fff; display:block; margin-bottom: 6px; font-family:'Archivo Black',sans-serif; }
footer.foot .f-bottom{
  display:flex; flex-wrap: wrap; justify-content:space-between; gap: 14px;
  font-size: 11px; color: rgba(255,255,255,.55);
}
footer.foot .f-bottom .yr{ color: #fff; font-size: 14px;}

/* ─────────────────────────── Responsive */
@media (max-width: 1100px){
  .bar nav{display:none}
  .nums-grid{grid-template-columns: 1fr 1fr}
  .nums-grid .cell:nth-child(2n){border-right:0}
  .card-grid.cols-3, .card-grid.cols-4{grid-template-columns: 1fr}
  .card-grid > .card{ border-right: 0; border-bottom: 3px solid var(--ink); }
  .card-grid > .card:last-child{ border-bottom: 0; }
  .hero-vid{ min-height: 560px; }
  .hero-vid .in{ padding: 90px 22px 60px; }
  .hero-vid .sub{grid-template-columns: 1fr; gap: 20px;}
  .hero-vid .sub .ctas{justify-content:flex-start}
  .steps{grid-template-columns: 1fr 1fr}
  .steps .step:nth-child(2n){border-right: 0}
  .steps .step:nth-child(-n+2){border-bottom: 3px solid var(--ink)}
  .gallery{grid-template-columns: 1fr 1fr}
  .gallery .item.wide{grid-column: 1 / -1;}
  .team-grid{grid-template-columns: 1fr 1fr}
  .member:nth-child(3n){border-right: 3px solid var(--ink)}
  .member:nth-child(2n){border-right: 0}
  .member:nth-last-child(-n+3){border-bottom: 3px solid var(--ink)}
  .member:nth-last-child(-n+2){border-bottom: 0}
  .tier-row{grid-template-columns: 1fr; gap: 20px}
  .form-wrap{grid-template-columns: 1fr}
  footer.foot .f-row{grid-template-columns: 1fr 1fr; gap: 28px;}
}
@media (max-width: 700px){
  .section{ padding: 60px 22px; }
  .page-header{ padding: 56px 22px 44px; }
  .nums-grid{grid-template-columns: 1fr}
  .nums-grid .cell{ border-right:0; }
  .steps{grid-template-columns: 1fr}
  .steps .step{border-right: 0; border-bottom: 3px solid var(--ink)}
  .steps .step:last-child{border-bottom: 0}
  .gallery{grid-template-columns: 1fr}
  .gallery .item.wide{grid-column: auto;}
  .team-grid{grid-template-columns: 1fr}
  .member{border-right: 0 !important; border-bottom: 3px solid var(--ink) !important}
  .member:last-child{border-bottom: 0 !important}
  footer.foot .f-row{grid-template-columns: 1fr;}
  .form-wrap{padding: 24px}
}

add_shortcode('media_url', function($atts) {
    global $wpdb;
    $filename = sanitize_text_field($atts['file']);
    
    // Query the DB for the file path regardless of the upload year/month
    $attachment_id = $wpdb->get_var($wpdb->prepare(
        "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value LIKE %s LIMIT 1",
        '%' . $filename
    ));

    return $attachment_id ? wp_get_attachment_url($attachment_id) : '';
});
