:root{--navy:#07182d;--blue:#1e5ac8;--blue2:#0e8fe8;--aqua:#7ed6f6;--paper:#f4f7fb;--white:#fff;--ink:#0b1220;--muted:#586276;--line:#dfe8f3;--shadow:0 28px 80px rgba(7,24,45,.16);--radius:30px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#fff}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(100% - 40px,var(--max));margin:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(244,247,251,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,232,243,.75)}.nav-shell{height:72px;width:min(100% - 40px,var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:185px}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:900;color:var(--navy)}.nav-pill{background:var(--navy);color:white;padding:14px 20px;border-radius:999px;box-shadow:0 14px 30px rgba(7,24,45,.2)}.menu-button{display:none;border:0;background:transparent;width:44px;height:44px}.menu-button span{display:block;width:26px;height:2px;background:var(--navy);margin:6px auto;transition:.2s}.menu-button.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-button.active span:nth-child(2){opacity:0}.menu-button.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.hero{position:relative;min-height:calc(100vh + 90px);padding:138px 0 150px;overflow:hidden;background:var(--navy);color:white}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,45,.96) 0%,rgba(7,24,45,.78) 48%,rgba(7,24,45,.34) 100%),url('./assets/images/hero/hero-production.svg') center/cover no-repeat}.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 24%,rgba(126,214,246,.22),transparent 34%),linear-gradient(180deg,transparent 72%,var(--navy) 100%)}.hero-inner{position:relative;z-index:2;width:min(100% - 40px,var(--max));margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.kicker{margin:0 0 14px;color:var(--aqua);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.055em;line-height:.96;margin:0;color:var(--navy)}.hero h1{font-size:clamp(58px,7vw,112px);color:white;max-width:760px}.lead{font-size:19px;line-height:1.75;color:rgba(255,255,255,.84);max-width:760px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:900;transition:.25s;cursor:pointer;border:0;font:inherit}.btn:hover{transform:translateY(-3px)}.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;box-shadow:0 18px 38px rgba(14,143,232,.28)}.ghost{border:1px solid rgba(255,255,255,.25);color:white;background:rgba(255,255,255,.07)}.light{background:white;color:var(--navy)}
.snapshot-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);box-shadow:0 40px 90px rgba(0,0,0,.25);border-radius:30px;padding:28px;backdrop-filter:blur(18px);align-self:end;animation:floatCard 5s ease-in-out infinite}@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.snapshot-top{display:flex;justify-content:space-between;color:rgba(255,255,255,.82);font-weight:900;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:20px}.snapshot-main{padding:30px 0 22px}.snapshot-main span{font-family:"Space Grotesk";font-size:58px;font-weight:800;line-height:1;color:white}.snapshot-main small{display:block;margin-top:8px;color:var(--aqua);text-transform:uppercase;font-weight:900;letter-spacing:.08em}.snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.snapshot-grid div{background:rgba(255,255,255,.11);border-radius:18px;padding:18px}.snapshot-grid strong{display:block;color:white;font-size:24px}.snapshot-grid span{display:block;color:rgba(255,255,255,.72);font-size:12px;font-weight:800}
.license-strip{position:relative;z-index:5;margin-top:-58px;height:96px;display:flex;align-items:center;overflow:hidden;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-block:1px solid var(--line);box-shadow:0 18px 40px rgba(7,24,45,.1)}.strip-track{display:flex;width:max-content;gap:14px;animation:marquee 42s linear infinite;align-items:center}.strip-track:hover{animation-play-state:paused}.license-logo-card{flex:0 0 170px;height:72px;display:flex;align-items:center;justify-content:center;padding:10px 18px;background:transparent;border:0;border-radius:0;box-shadow:none}.license-logo-card img{width:100%;height:100%;max-width:145px;max-height:58px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(7,24,45,.12))}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:104px 0}.section-head{max-width:760px;margin-bottom:46px}.center{text-align:center;margin-inline:auto}h2{font-size:clamp(38px,5vw,72px)}h3{font-size:27px}.section p{font-size:17px;line-height:1.8;color:var(--muted)}.about{background:#fff}.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}.photo-frame{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--paper)}.photo-frame img{width:100%;height:560px;object-fit:cover}.photo-label{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(7,24,45,.88);color:white;border-radius:22px;padding:18px}.photo-label span{display:block;color:rgba(255,255,255,.72);margin-top:4px}
.capabilities,.process,.contact{background:var(--paper)}.capability-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:24px}.tab{border:1px solid var(--line);background:white;border-radius:999px;padding:13px 20px;font-weight:900;color:var(--navy);cursor:pointer}.tab.active{background:var(--navy);color:white}.capability-panel{display:none;grid-template-columns:1.1fr .9fr;align-items:center;gap:44px;background:white;border:1px solid var(--line);border-radius:34px;padding:22px;box-shadow:var(--shadow)}.capability-panel.active{display:grid}.capability-panel img{height:440px;width:100%;object-fit:cover;border-radius:24px}.capability-panel div{padding:20px 30px}
.printing-section{background:white}.printing-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.printing-images{position:relative;min-height:600px}.printing-images img{position:absolute;object-fit:cover;box-shadow:var(--shadow)}.ink-img{width:64%;height:380px;left:0;top:0;border-radius:34px}.press-img{width:70%;height:430px;right:0;bottom:0;border-radius:34px;border:10px solid white}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.feature-list span{padding:14px 16px;border-radius:16px;background:var(--paper);color:var(--navy);font-weight:900}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.process-grid article{background:white;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 18px 42px rgba(7,24,45,.08);transition:.25s}.process-grid article:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.process-grid img{height:220px;width:100%;object-fit:cover}.process-grid article span{display:inline-flex;margin:24px 24px 12px;background:var(--navy);color:white;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;font-weight:900}.process-grid h3,.process-grid p{padding:0 24px}.process-grid p{padding-bottom:26px}
.compliance{background:#fff}.compliance-layout{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:22px}.compliance-card{position:relative;overflow:hidden;border-radius:34px;min-height:280px;box-shadow:var(--shadow);background:var(--navy)}.compliance-card.large{grid-row:span 2}.compliance-card img{width:100%;height:100%;object-fit:cover;opacity:.78}.compliance-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,24,45,.94))}.compliance-card div{position:absolute;left:28px;right:28px;bottom:28px;z-index:2}.compliance-card span{color:var(--aqua);text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.12em}.compliance-card h3{color:white;margin:8px 0}.compliance-card p{color:rgba(255,255,255,.78);margin:0}
.brands-static{background:var(--paper)}.retailer-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.retailer-grid span,.retailer-logo-card{min-height:94px;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;font-weight:900;color:var(--navy);box-shadow:0 12px 28px rgba(7,24,45,.06);display:flex;align-items:center;justify-content:center}.retailer-logo-card img{width:100%;height:100%;max-width:160px;max-height:58px;object-fit:contain}.location{background:white}.location-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}.location-visual{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:var(--paper)}.location-visual img{width:100%;height:560px;object-fit:cover}.route-dot{position:absolute;border:0;border-radius:999px;padding:12px 16px;font-weight:900;color:white;background:rgba(7,24,45,.9);cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.2)}.route-dot.active{background:linear-gradient(135deg,var(--blue),var(--blue2))}.ensenada{left:12%;bottom:18%}.border{left:48%;top:42%}.usa{right:10%;top:22%}.location-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.location-stats div{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px}.location-stats strong{display:block;font-family:"Space Grotesk";font-size:28px;color:var(--navy)}.location-stats span{font-size:13px;color:var(--muted);font-weight:800}
.gallery{background:var(--paper)}.gallery-slider{position:relative}.slides{height:610px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#dbeafe;position:relative}.slide{position:absolute;inset:0;width:100%;height:610px;object-fit:cover;opacity:0;transform:scale(1.03);transition:.7s}.slide.active{opacity:1;transform:scale(1)}.slider-btn{position:absolute;top:50%;z-index:4;transform:translateY(-50%);border:0;width:54px;height:54px;border-radius:50%;background:white;color:var(--navy);font-size:42px;box-shadow:var(--shadow);cursor:pointer}.prev{left:18px}.next{right:18px}.slide-counter{position:absolute;bottom:22px;right:22px;z-index:4;background:rgba(7,24,45,.72);color:#fff;font-family:"Space Grotesk",Inter,sans-serif;font-weight:700;font-size:14px;letter-spacing:.04em;padding:7px 16px;border-radius:999px;backdrop-filter:blur(4px)}
.cta{padding:78px 0;background:linear-gradient(135deg,var(--blue),var(--navy));color:white}.cta-inner{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}.cta h2{color:white}.cta p{color:rgba(255,255,255,.8)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px}.contact address{font-style:normal;line-height:1.8;color:var(--muted)}.contact-form{background:white;border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.field label{display:block;color:var(--navy);font-weight:900;margin-bottom:8px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit}textarea{resize:vertical}.hidden{display:none}.footer{padding:36px 0;background:#061426;color:rgba(255,255,255,.72)}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer img{width:170px}.footer p{margin:0}.reveal{opacity:0;transform:translateY(34px);transition:.75s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.hero-inner,.about-grid,.printing-grid,.location-grid,.contact-grid{grid-template-columns:1fr}.snapshot-card{align-self:auto}.process-grid{grid-template-columns:1fr 1fr}.compliance-layout{grid-template-columns:1fr}.compliance-card.large{grid-row:auto}.retailer-grid{grid-template-columns:repeat(3,1fr)}.nav-links{position:fixed;top:72px;left:0;right:0;background:white;display:none;flex-direction:column;align-items:stretch;padding:20px;width:100%;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{padding:16px;border-bottom:1px solid var(--line)}.menu-button{display:block}}
@media(max-width:700px){.container,.hero-inner,.nav-shell{width:min(100% - 30px,var(--max))}.hero{padding-top:112px;min-height:auto}.hero h1{font-size:48px}.lead{font-size:16px}.hero-actions{flex-direction:column}.btn{width:100%}.snapshot-grid{grid-template-columns:1fr}.license-strip{margin-top:-36px;height:86px}.section{padding:72px 0}h2{font-size:38px}.photo-frame img{height:360px}.capability-panel{grid-template-columns:1fr}.capability-panel img{height:280px}.capability-panel div{padding:8px}.printing-images{min-height:430px}.ink-img{height:260px}.press-img{height:280px}.process-grid,.retailer-grid,.form-two,.location-stats{grid-template-columns:1fr}.location-visual img{height:420px}.slides,.slide{height:410px}.cta-inner{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.feature-list{grid-template-columns:1fr}}
@media(max-width:700px){.license-logo-card{flex-basis:154px;height:66px;padding:12px 18px}.license-logo-card img{max-width:116px;max-height:44px}.retailer-grid{grid-template-columns:1fr 1fr}.retailer-grid span,.retailer-logo-card{min-height:82px}}


/* V2.2 clean license strip: logos without boxed pills */
.license-logo-card{
  flex:0 0 170px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.license-logo-card img{
  width:100%;
  height:100%;
  max-width:145px;
  max-height:58px;
  object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(7,24,45,.12));
}
.license-strip{
  height:88px;
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(244,247,251,.98),rgba(255,255,255,.94));
}
@media(max-width:700px){
  .license-logo-card{flex-basis:140px;height:62px;padding:8px 14px}
  .license-logo-card img{max-width:118px;max-height:46px}
  .license-strip{height:78px}
}


/* V2.4 Final approved hero capacity card */
.snapshot-card.capacity-card{
  padding:52px 58px;
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:34px;
  text-align:center;
}

.capacity-main{
  padding:0;
  text-align:center;
}

.capacity-main small,
.capacity-section h3{
  display:block;
  margin:0 0 28px;
  color:var(--aqua);
  font-size:35px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
  text-transform:none;
}

.capacity-number{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  color:white;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:78px;
  font-weight:800;
  line-height:.9;
  letter-spacing:-.055em;
  white-space:nowrap;
}

.capacity-number-main{
  margin-top:0;
}

.capacity-number b{
  color:var(--aqua);
  font-size:.66em;
  line-height:1;
  transform:translateY(.08em);
}

.capacity-number .unit{
  color:rgba(228,235,242,.9);
  font-size:.49em;
  transform:translateY(.32em);
  letter-spacing:-.035em;
}

.capacity-main em{
  display:block;
  margin-top:30px;
  color:white;
  font-style:normal;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:45px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.04em;
}

.capacity-divider{
  width:100%;
  height:5px;
  border-radius:999px;
  background:rgba(224,234,242,.58);
}

.capacity-section{
  text-align:center;
}

.capacity-section h3{
  margin-bottom:22px;
}

@media(max-width:1180px){
  .snapshot-card.capacity-card{
    padding:44px 42px;
  }

  .capacity-number{
    font-size:68px;
  }

  .capacity-main em{
    font-size:40px;
  }

  .capacity-main small,
  .capacity-section h3{
    font-size:31px;
  }
}

@media(max-width:1000px){
  .snapshot-card.capacity-card{
    min-height:auto;
  }
}

@media(max-width:700px){
  .snapshot-card.capacity-card{
    padding:34px 28px;
    gap:28px;
  }

  .capacity-number{
    font-size:46px;
    letter-spacing:-.045em;
    gap:9px;
  }

  .capacity-main em{
    margin-top:22px;
    font-size:31px;
  }

  .capacity-main small,
  .capacity-section h3{
    font-size:25px;
  }

  .capacity-divider{
    height:4px;
  }
}


/* V2.5 Stable responsive counters */
.capacity-number,
.capacity-number span,
.capacity-number b,
.capacity-main em{
  font-variant-numeric: tabular-nums;
}

.capacity-number .counter{
  display:inline-block;
  text-align:right;
  font-variant-numeric: tabular-nums;
}

.counter-million{
  min-width:8.15ch;
}

.counter-facility{
  min-width:5.85ch;
}

.counter-distance{
  min-width:2ch;
}

/* Prevent layout jump while keeping the full number centered */
.capacity-number-main{
  width:100%;
  justify-content:center;
}

.capacity-number-main .counter-million{
  text-align:right;
}

/* Desktop/tablet width safety */
@media(max-width:1180px){
  .counter-million{
    min-width:8.1ch;
  }
}

/* Mobile responsive safety */
@media(max-width:700px){
  .counter-million{
    min-width:8ch;
  }

  .counter-facility{
    min-width:5.75ch;
  }

  .counter-distance{
    min-width:2ch;
  }

  .capacity-number-main{
    transform:scale(.96);
    transform-origin:center;
  }
}

/* Very narrow phones */
@media(max-width:390px){
  .capacity-number{
    font-size:42px;
  }

  .capacity-number-main{
    transform:scale(.92);
  }

  .capacity-main em{
    font-size:28px;
  }
}


/* V2.8 validated hero layout and capacity card */
/* The hero now stays one-column until there is enough width for a real desktop layout. */
.hero-inner{
  width:min(100% - 40px,1320px) !important;
  grid-template-columns:minmax(0,1fr) minmax(480px,560px) !important;
  gap:54px !important;
  align-items:center !important;
}

.hero h1{
  font-size:clamp(54px,5.6vw,100px) !important;
}

.snapshot-card.capacity-card{
  width:100% !important;
  max-width:560px !important;
  min-width:480px !important;
  justify-self:end !important;
  padding:46px 44px !important;
  min-height:560px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:30px !important;
  text-align:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.capacity-main,
.capacity-section{
  text-align:center !important;
  padding:0 !important;
}

.capacity-main small,
.capacity-section h3{
  display:block !important;
  margin:0 0 22px !important;
  color:var(--aqua) !important;
  font-size:clamp(24px,2.1vw,34px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  text-transform:none !important;
}

.capacity-number{
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  color:white !important;
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(48px,4.1vw,72px) !important;
  font-weight:800 !important;
  line-height:.92 !important;
  letter-spacing:-.055em !important;
  white-space:nowrap !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
}

.capacity-number-main b{
  color:var(--aqua) !important;
  font-size:.62em !important;
  line-height:1 !important;
  transform:translateY(.08em) !important;
  flex:0 0 auto !important;
}

.counter-wrap{
  position:relative !important;
  display:inline-block !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
  text-align:right !important;
}

.counter-sizer{
  visibility:hidden !important;
  display:inline-block !important;
}

.counter-wrap .counter{
  position:absolute !important;
  inset:0 !important;
  display:inline-block !important;
  text-align:right !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
}

.capacity-main em{
  display:block !important;
  margin-top:24px !important;
  color:white !important;
  font-style:normal !important;
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:clamp(32px,3.1vw,44px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.04em !important;
}

.capacity-divider{
  width:100% !important;
  height:4px !important;
  border-radius:999px !important;
  background:rgba(224,234,242,.58) !important;
  flex:0 0 auto !important;
}

.capacity-number .unit,
.capacity-unit-word{
  color:rgba(228,235,242,.92) !important;
  font-size:.48em !important;
  line-height:1 !important;
  transform:translateY(.28em) !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}

/* Do not allow the medium desktop state to squeeze the card. */
@media(max-width:1180px){
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:44px !important;
  }

  .snapshot-card.capacity-card{
    justify-self:center !important;
    width:min(100%,560px) !important;
    min-width:0 !important;
  }
}

/* Tablet and mobile */
@media(max-width:700px){
  .hero-inner{
    width:min(100% - 30px,1320px) !important;
  }

  .snapshot-card.capacity-card{
    width:100% !important;
    max-width:520px !important;
    min-width:0 !important;
    padding:34px 28px !important;
    gap:26px !important;
    min-height:auto !important;
  }

  .capacity-number{
    font-size:clamp(42px,11.5vw,56px) !important;
    gap:9px !important;
  }

  .capacity-main small,
  .capacity-section h3{
    font-size:clamp(23px,6vw,28px) !important;
    margin-bottom:18px !important;
  }

  .capacity-main em{
    margin-top:20px !important;
    font-size:clamp(29px,7.8vw,36px) !important;
  }

  .capacity-divider{
    height:4px !important;
  }
}

@media(max-width:390px){
  .capacity-number{
    font-size:40px !important;
  }

  .capacity-main em{
    font-size:28px !important;
  }
}


/* V2.9 balanced hero card: narrower, cleaner spacing, no unit overlap */
.hero-inner{
  width:min(100% - 40px,1240px) !important;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px) !important;
  gap:58px !important;
}

.snapshot-card.capacity-card{
  max-width:440px !important;
  min-width:390px !important;
  width:100% !important;
  min-height:520px !important;
  padding:38px 36px !important;
  gap:24px !important;
  justify-self:end !important;
}

.capacity-main small,
.capacity-section h3{
  font-size:26px !important;
  margin-bottom:18px !important;
  line-height:1.12 !important;
}

.capacity-number{
  font-size:56px !important;
  line-height:.94 !important;
  gap:10px !important;
  letter-spacing:-.045em !important;
}

.capacity-number-main{
  gap:9px !important;
}

.capacity-number-main b{
  font-size:.58em !important;
  transform:translateY(.13em) !important;
}

.capacity-main em{
  font-size:34px !important;
  margin-top:22px !important;
  line-height:1.06 !important;
}

.capacity-divider{
  height:4px !important;
  margin:0 !important;
}

.capacity-section h3{
  margin-bottom:15px !important;
}

.capacity-number-secondary{
  align-items:baseline !important;
  gap:14px !important;
}

.capacity-number .unit,
.capacity-unit-word{
  display:inline-block !important;
  position:static !important;
  margin-left:2px !important;
  transform:none !important;
  font-size:.42em !important;
  line-height:1 !important;
  color:rgba(228,235,242,.92) !important;
}

.counter-wrap .counter{
  text-align:right !important;
}

/* More compact secondary values */
.counter-facility-wrap{
  min-width:auto !important;
}

.counter-distance-wrap{
  min-width:auto !important;
}

/* Mid-width: keep single column until card has enough room */
@media(max-width:1180px){
  .hero-inner{
    grid-template-columns:1fr !important;
  }

  .snapshot-card.capacity-card{
    justify-self:center !important;
    max-width:430px !important;
    min-width:0 !important;
  }
}

/* Wide desktop: still compact, not oversized */
@media(min-width:1400px){
  .hero-inner{
    grid-template-columns:minmax(0,1fr) 440px !important;
  }

  .snapshot-card.capacity-card{
    max-width:440px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .snapshot-card.capacity-card{
    max-width:100% !important;
    padding:32px 26px !important;
    gap:22px !important;
  }

  .capacity-main small,
  .capacity-section h3{
    font-size:24px !important;
    margin-bottom:16px !important;
  }

  .capacity-number{
    font-size:clamp(42px,11vw,52px) !important;
    gap:8px !important;
  }

  .capacity-main em{
    font-size:30px !important;
    margin-top:18px !important;
  }

  .capacity-number .unit,
  .capacity-unit-word{
    font-size:.42em !important;
  }
}

@media(max-width:390px){
  .capacity-number{
    font-size:38px !important;
  }

  .capacity-main em{
    font-size:27px !important;
  }
}


/* V3.0 stable capacity card — grid-based, no overlap, compact width */
.hero-inner{
  width:min(100% - 40px,1220px) !important;
  grid-template-columns:minmax(0,1fr) 390px !important;
  gap:56px !important;
  align-items:center !important;
}

.snapshot-card.capacity-card{
  width:390px !important;
  max-width:390px !important;
  min-width:390px !important;
  min-height:500px !important;
  padding:34px 32px !important;
  justify-self:end !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:22px !important;
  text-align:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.capacity-main,
.capacity-section{
  padding:0 !important;
  text-align:center !important;
}

.capacity-main small,
.capacity-section h3{
  display:block !important;
  margin:0 0 16px !important;
  color:var(--aqua) !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  text-transform:none !important;
}

.capacity-value-row{
  width:100% !important;
  display:grid !important;
  align-items:baseline !important;
  justify-content:center !important;
  color:white !important;
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-weight:800 !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
}

.main-value-row{
  grid-template-columns:auto auto !important;
  column-gap:10px !important;
  font-size:51px !important;
}

.secondary-value-row{
  grid-template-columns:auto auto !important;
  column-gap:12px !important;
  font-size:50px !important;
}

.plus-sign{
  color:var(--aqua) !important;
  font-size:.58em !important;
  line-height:1 !important;
  align-self:start !important;
  transform:translateY(.18em) !important;
  font-weight:900 !important;
}

.counter-box{
  display:grid !important;
  grid-template-areas:"stack" !important;
  position:relative !important;
  text-align:right !important;
  min-width:0 !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
}

.counter-box .counter-sizer,
.counter-box .counter{
  grid-area:stack !important;
  display:block !important;
  position:static !important;
  inset:auto !important;
  text-align:right !important;
  min-width:0 !important;
  max-width:none !important;
  width:auto !important;
  font:inherit !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1, "lnum" 1 !important;
}

.counter-box .counter-sizer{
  visibility:hidden !important;
  pointer-events:none !important;
}

.capacity-unit{
  display:inline-block !important;
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  align-self:baseline !important;
  color:rgba(228,235,242,.92) !important;
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:.42em !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
}

.capacity-main em{
  display:block !important;
  margin-top:20px !important;
  color:white !important;
  font-style:normal !important;
  font-family:"Space Grotesk",Inter,sans-serif !important;
  font-size:30px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}

.capacity-divider{
  width:100% !important;
  height:4px !important;
  border-radius:999px !important;
  background:rgba(224,234,242,.58) !important;
  flex:0 0 auto !important;
  margin:0 !important;
}

/* Prevent medium desktop squeeze: use single column until enough room. */
@media(max-width:1180px){
  .hero-inner{
    grid-template-columns:1fr !important;
    gap:44px !important;
  }

  .snapshot-card.capacity-card{
    justify-self:center !important;
    width:390px !important;
    max-width:390px !important;
    min-width:0 !important;
  }
}

/* Large desktop: keep card compact. */
@media(min-width:1400px){
  .hero-inner{
    grid-template-columns:minmax(0,1fr) 390px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .hero-inner{
    width:min(100% - 30px,1220px) !important;
  }

  .snapshot-card.capacity-card{
    width:100% !important;
    max-width:390px !important;
    min-width:0 !important;
    padding:30px 24px !important;
    gap:20px !important;
    min-height:auto !important;
  }

  .capacity-main small,
  .capacity-section h3{
    font-size:22px !important;
    margin-bottom:14px !important;
  }

  .main-value-row{
    font-size:44px !important;
    column-gap:8px !important;
  }

  .secondary-value-row{
    font-size:43px !important;
    column-gap:10px !important;
  }

  .capacity-main em{
    margin-top:17px !important;
    font-size:27px !important;
  }

  .capacity-divider{
    height:4px !important;
  }
}

@media(max-width:390px){
  .main-value-row{
    font-size:39px !important;
  }

  .secondary-value-row{
    font-size:38px !important;
  }

  .capacity-main em{
    font-size:25px !important;
  }
}


/* V3.1 Who We Are video */
.video-frame{
  background:#07182d;
}

.video-frame video{
  width:100%;
  height:560px;
  display:block;
  object-fit:cover;
  border-radius:var(--radius);
  background:#07182d;
}

.video-frame .photo-label{
  display:none;
}

@media(max-width:700px){
  .video-frame video{
    height:360px;
  }
}


/* V3.2 video preview: no poster placeholder */
.video-frame video{
  background:#07182d;
}


/* V3.3 Retailer logos ready */
.retailer-grid .retailer-logo-card{
  min-height:94px;
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  text-align:center;
  font-weight:900;
  color:var(--navy);
  box-shadow:0 12px 28px rgba(7,24,45,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}

.retailer-grid .retailer-logo-card img{
  width:100%;
  height:100%;
  max-width:160px;
  max-height:58px;
  object-fit:contain;
}


/* V3.4 retailer logos integrated */
.retailer-grid{
  align-items:stretch;
}

.retailer-logo-card{
  min-height:94px;
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 22px;
  text-align:center;
  font-weight:900;
  color:var(--navy);
  box-shadow:0 12px 28px rgba(7,24,45,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.retailer-logo-card img{
  display:block;
  width:100%;
  height:100%;
  max-width:165px;
  max-height:58px;
  object-fit:contain;
}

.retailer-logo-card span{
  display:none;
}

.retailer-logo-card img:not([src]),
.retailer-logo-card img[src=""]{
  display:none;
}

.retailer-logo-card img:not([src]) + span,
.retailer-logo-card img[src=""] + span,
.retailer-text-card span{
  display:block;
}

.retailer-text-card{
  font-size:20px;
}


/* V3.5 corrected retailer logos */
.retailer-logo-card{
  min-height:96px !important;
  padding:18px 24px !important;
}

.retailer-logo-card img{
  max-width:170px !important;
  max-height:62px !important;
  object-fit:contain !important;
  image-rendering:auto !important;
}

.retailer-logo-card span{
  display:none;
}

.retailer-text-card span{
  display:block !important;
}


/* ═══════════════════════════════════════════════════════════════
   V3.6 Hero background video (autoplay, muted, loop)
   - Desktop/tablet: video plays behind the existing gradient overlay
   - Mobile (≤700px): video is swapped for the static poster frame
     to save data/battery on phones — same visual, no video weight
   - prefers-reduced-motion: video is paused, poster shown instead
═══════════════════════════════════════════════════════════════ */

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
  background:var(--navy); /* shows while video buffers, before poster paints */
}

/* hero-bg keeps only the gradient overlay now — sits on top of the video.
   Default stacking already places it above .hero-video (later in DOM),
   z-index added for explicitness/safety. */
.hero-bg{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(7,24,45,.96) 0%,rgba(7,24,45,.78) 48%,rgba(7,24,45,.34) 100%) !important;
}

/* Mobile: drop the video entirely, use the poster as a static cover image
   on hero-bg so the section still looks complete — lighter & battery-friendly */
@media(max-width:700px){
  .hero-video{ display:none; }
  .hero-bg{
    background:
      linear-gradient(180deg,rgba(7,24,45,.93) 0%,rgba(7,24,45,.86) 55%,rgba(7,24,45,.96) 100%),
      url('./assets/videos/hero-poster.jpg') center/cover no-repeat !important;
  }
}

/* Respect users who've asked their OS/browser to reduce motion */
@media(prefers-reduced-motion: reduce){
  .hero-video{ display:none; }
  .hero-bg{
    background:
      linear-gradient(90deg,rgba(7,24,45,.96) 0%,rgba(7,24,45,.82) 48%,rgba(7,24,45,.5) 100%),
      url('./assets/videos/hero-poster.jpg') center/cover no-repeat !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   V3.9 Capabilities — photo slider (replaces static tab panels)
   - Image area enlarged (≈64%), text column tightened (≈36%)
   - Auto-advances every 3s, pauses on hover, tabs/dots/arrows jump
   - Uses .cap-slide / .cap-copy (new classes — old .capability-panel
     rules are intentionally left untouched/unused, no collision)
═══════════════════════════════════════════════════════════════ */

.capability-slider{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:#fff;
}

.capability-track{
  display:flex;
  transition:transform .65s cubic-bezier(.65,0,.35,1);
}

.cap-slide{
  flex:0 0 100%;
  min-width:0;
  display:grid;
  grid-template-columns:1.7fr 1fr;
  align-items:stretch;
}

.cap-slide img{
  width:100%;
  height:500px;
  object-fit:cover;
  display:block;
}

.cap-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:0 44px;
}

.cap-step{
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  color:var(--blue2);
}

.cap-copy h3{
  margin:2px 0 0;
  color:var(--navy);
}

.cap-copy p{
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.6;
}

/* Prev/next arrows */
.cap-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.92);
  color:var(--navy);
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 26px rgba(7,24,45,.12);
  transition:.2s;
  z-index:3;
}
.cap-arrow:hover{ background:var(--navy); color:#fff; }
.cap-prev{ left:18px; }
.cap-next{ right:18px; }

/* Dots */
.cap-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:22px;
}
.cap-dots button{
  width:8px;
  height:8px;
  border-radius:50%;
  border:none;
  background:var(--line);
  cursor:pointer;
  padding:0;
  transition:.25s;
}
.cap-dots button.active{
  background:var(--navy);
  width:24px;
  border-radius:5px;
}

/* Mobile: stack image above copy, shorter image height, tighter padding */
@media(max-width:700px){
  .cap-slide{ grid-template-columns:1fr; }
  .cap-slide img{ height:230px; }
  .cap-copy{ padding:20px 22px 26px; gap:6px; }
  .cap-arrow{ width:38px; height:38px; font-size:18px; }
  .cap-prev{ left:10px; }
  .cap-next{ right:10px; }
}


/* ═══════════════════════════════════════════════════════════════
   V4.1 Compliance — 3 equal self-contained image cards
   (images already include their own kicker/title/copy/icons —
   no HTML text overlay needed, avoids duplicating content)
═══════════════════════════════════════════════════════════════ */
.compliance-layout{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  grid-template-rows:none !important;
  gap:22px !important;
}
.compliance-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  background:var(--navy);
  min-height:0 !important;
  aspect-ratio:1.52;
}
.compliance-card.large{ grid-row:auto !important; }
.compliance-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1 !important; /* full opacity — no dark overlay needed, image is self-contained */
  display:block;
}
.compliance-card:after{ display:none !important; } /* remove old gradient overlay */
.compliance-card div{ display:none !important; }    /* remove old text-overlay slot */

@media(max-width:1000px){
  .compliance-layout{ grid-template-columns:1fr !important; }
  .compliance-card{ aspect-ratio:1.52; }
}


/* ═══════════════════════════════════════════════════════════════
   V4.7 Location map — re-cropped to show pins A (Aquasea-Baja) and
   B (US Border) at a normal landscape ratio. Pin M (Los Angeles)
   is dropped from the image — at this width, fitting all 3 pins
   needs ~1040px of height (far taller than the text column), while
   A+B alone match the text column's natural height almost exactly.
   M's context is already covered by the headline/stats text.
═══════════════════════════════════════════════════════════════ */
.location-visual img{ height:600px !important; }

.route-dot{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  width:46px;
  height:46px;
  border-radius:50%;
}
.route-dot.active{ background:rgba(255,255,255,.0) !important; }
.route-dot:hover{ background:rgba(255,255,255,.14) !important; }

/* Repositioned to match the new (A+B) map crop's actual pin locations */
.ensenada{ left:41.7%; top:88.8%; bottom:auto; transform:translate(-50%,-50%); }
.border  { left:43.6%; top:31.2%; transform:translate(-50%,-50%); }
.usa     { display:none; } /* M is no longer visible in this crop */

@media(max-width:1000px){
  .location-visual img{ height:480px !important; }
}
@media(max-width:700px){
  .location-visual img{ height:380px !important; }
}


/* ═══════════════════════════════════════════════════════════════
   V4.4 Compliance — large alternating feature blocks
   (replaces the small 3-card grid; real HTML copy, no baked text)
═══════════════════════════════════════════════════════════════ */
.compliance-hero{ background:#fff; }

.comp-feature{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
  margin-bottom:96px;
}
.comp-feature:last-child{ margin-bottom:0; }

.comp-feature-media{ order:1; }
.comp-feature-copy{ order:2; }
.comp-feature.reverse .comp-feature-media{ order:2; }
.comp-feature.reverse .comp-feature-copy{ order:1; }

.comp-feature-media{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.comp-feature-media img{
  width:100%;
  height:440px;
  object-fit:cover;
  display:block;
}

.comp-feature-tag{
  display:inline-block;
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--blue2);
  margin-bottom:10px;
}
.comp-feature-copy h3{
  font-size:38px;
  margin:0 0 14px;
  color:var(--navy);
}
.comp-feature-copy > p{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
  margin:0 0 28px;
  max-width:520px;
}

.comp-checklist{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 22px;
  list-style:none;
  padding:0;
  margin:0;
}
.comp-checklist li{
  position:relative;
  padding-left:28px;
}
.comp-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--blue2);
}
.comp-checklist li::after{
  content:"";
  position:absolute;
  left:5px;
  top:7px;
  width:8px;
  height:5px;
  border-left:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(-45deg);
}
.comp-checklist strong{
  display:block;
  font-size:14.5px;
  font-weight:800;
  color:var(--navy);
  margin-bottom:3px;
}
.comp-checklist span{
  display:block;
  font-size:13px;
  color:var(--muted);
  line-height:1.5;
}

@media(max-width:1000px){
  .comp-feature{ grid-template-columns:1fr; gap:32px; margin-bottom:64px; }
  .comp-feature-media{ order:1 !important; }
  .comp-feature-copy{ order:2 !important; }
  .comp-feature-media img{ height:320px; }
}
@media(max-width:560px){
  .comp-checklist{ grid-template-columns:1fr; }
  .comp-feature-copy h3{ font-size:30px; }
}


/* ═══════════════════════════════════════════════════════════════
   V4.5 Legal disclaimers — brand/retailer logo usage
═══════════════════════════════════════════════════════════════ */
.logo-disclaimer{
  max-width:760px;
  margin:18px auto 0;
  padding:0 28px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
  opacity:.85;
}
.logo-disclaimer-left{
  max-width:none;
  margin:14px 0 0;
  padding:0;
  text-align:left;
  font-size:10.5px;
  opacity:.7;
}
.footer-disclaimer{
  max-width:900px;
  margin:18px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:12px;
  line-height:1.6;
  color:rgba(255,255,255,.42);
}
