/* =========================================================
   SYROHCHEM — HOMEPAGE STYLES
   Enterprise industrial design system, v4 (premium redesign,
   navbar/footer untouched — this file only styles the
   homepage content between them).
   ========================================================= */
:root{
  --navy-900:#0A2035;
  --navy-800:#123049;
  --navy-700:#1B3F5C;
  --steel-600:#2C5878;
  --bronze:#A9763C;
  --bronze-dark:#8A5F2F;
  --bronze-rgb:169,118,60;
  --ink:#101820;
  --slate-700:#3E4A57;
  --slate-500:#647184;
  --slate-300:#C8D0D9;
  --slate-100:#F1F3F5;
  --slate-50:#F8F9FA;
  --white:#FFFFFF;
  --line:#E1E5EA;
  --bg-light:#F6F8FB;
  --bg-light-rgb:246,248,251;
  --circuit-blue:#1EC8FF;
  --circuit-blue-deep:#0057B8;
  --circuit-blue-rgb:30,200,255;
  --circuit-navy:#0A2540;
  --navy-deep:#071D3A;
  --navy-card:#123A61;
  --navy-card-rgb:18,58,97;
  --emerald:#1E9E77;
  --emerald-dark:#157A5C;
  --emerald-rgb:30,158,119;
  --violet:#6E52C9;
  --violet-dark:#5A41AA;
  --violet-rgb:110,82,201;
  --amber:#D98A2B;
  --amber-rgb:217,138,43;
  --font-display:'Playfair Display', serif;
  --font-body:'Manrope', sans-serif;
  --font-mono:'Roboto Mono', monospace;
  --container:1240px;
  --radius-sm:3px;
  --radius-md:4px;
  --shadow-sm:0 1px 3px rgba(10,32,53,0.08);
  --shadow-md:0 6px 24px rgba(10,32,53,0.10);
  --ease:cubic-bezier(.25,.8,.25,1);
  --ease-soft:cubic-bezier(.22,.61,.36,1);
  --hex-clip:polygon(50% 2%, 95% 26%, 95% 74%, 50% 98%, 5% 74%, 5% 26%);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
.container{max-width:var(--container); margin:0 auto; padding:0 24px;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:700; margin:0; letter-spacing:-0.005em; color:var(--navy-800);}
p{margin:0; line-height:1.8; color:var(--slate-700); text-wrap:pretty; max-width:68ch;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
/* =========================================================
   SHARED
   ========================================================= */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:0.95rem; font-weight:700;
  letter-spacing:0.09em; text-transform:uppercase;
  color:var(--bronze-dark);
  padding-bottom:16px; margin-bottom:24px;
  border-bottom:2px solid var(--bronze);
  line-height:1.4;
}
/*.eyebrow::before{*/
/*  content:''; display:inline-block; flex:0 0 auto;*/
/*  width:20px; height:2px; background:currentColor;*/
/*  border-radius:1px;*/
/*}*/
.eyebrow-dark{ color:var(--bronze-dark); border-color:var(--bronze); }
.section{ padding:72px 0; position:relative; }
.section-head{ max-width:680px; margin-bottom:48px; position:relative; z-index:1; }
.section-head h2{ font-size:clamp(1.9rem, 3.2vw, 2.5rem); line-height:1.22; margin-bottom:18px; }
.lead-text{ font-size:1.07rem; line-height:1.75; }
.btn{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:var(--radius-sm);
  font-family:var(--font-body); font-weight:600; font-size:14.5px;
  transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
  cursor:pointer; border:1px solid transparent;
  overflow:hidden;
}
.btn-primary{ background:var(--bronze); color:var(--white); }
.btn-primary::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(115deg, transparent 20%, rgba(255,255,255,0.35) 40%, transparent 60%);
  transform:translateX(-120%);
  transition:transform .6s var(--ease);
}
.btn-primary:hover{ background:var(--bronze-dark); transform:translateY(-1px); }
.btn-primary:hover::before{ transform:translateX(120%); }
.btn-outline{ color:var(--white); border-color:rgba(255,255,255,0.55); }
.btn-outline:hover{ background:rgba(255,255,255,0.10); border-color:var(--white); transform:translateY(-1px); }
.btn-lg{ padding:16px 34px; font-size:15px; }
.btn{ isolation:isolate; }
.btn .btn-ripple{
  position:absolute; border-radius:50%;
  background:rgba(255,255,255,0.55);
  transform:scale(0);
  animation:btnRipple .6s var(--ease-soft) forwards;
  pointer-events:none; z-index:0;
}
@keyframes btnRipple{ to{ transform:scale(1); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .btn .btn-ripple{ display:none; } }
/* =========================================================
   HERO
   ========================================================= */
.hero{ position:relative; min-height:92vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:var(--navy-900); }
.hero-slider{ position:absolute; inset:0; z-index:0; }
.hero-slide{ position:absolute; inset:0; opacity:0; transform:scale(1.08); transition:opacity 1.6s var(--ease-soft), transform 2.4s var(--ease-soft); }
.hero-slide.active{ opacity:1; transform:scale(1); }
.hero::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,20,32,0.74) 0%, rgba(10,20,32,0.5) 42%, rgba(10,20,32,0.94) 100%);
}
.hero::after{
  content:''; position:absolute; inset:0; z-index:1;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 64px);
  opacity:0.5; pointer-events:none;
}
.hero-inner{ position:relative; z-index:2; padding:0 0 108px; }
/* FIX: Removed excess padding-top (was 190px).
   The navbar offset is now handled exclusively by .sh-hero-offset
   (in navbar.css), which adds padding-top: calc(var(--sh-header-top)
   + var(--sh-header-h) + 20px). Previously both .sh-hero-offset AND
   .hero-inner were adding top padding, creating a ~340px gap between
   navbar and hero text. Now only .sh-hero-offset applies the offset,
   so hero content begins ~20-30px below the bottom of the fixed navbar. */
.hero-copy{ max-width:700px; }
.hero .eyebrow{ color:#E4C68F; border-color:var(--bronze); }
.hero h1{ color:var(--white); font-size:clamp(2.2rem, 4.4vw, 3.4rem); line-height:1.15; margin-bottom:32px; overflow:hidden; }
.hero h1 .line{ display:block; transform:translateY(110%); animation:lineReveal 0.9s var(--ease-soft) forwards; }
.hero h1 .line:nth-child(2){ animation-delay:0.12s; }
@keyframes lineReveal{ to{ transform:translateY(0); } }
.hero-copy-slide{ display:none; }
.hero-copy-slide.active{ display:block; }
.hero-copy-slide h1{ margin-bottom:18px; }
.hero-copy-slide .hero-slide-text{ color:rgba(255,255,255,0.74); font-size:1.05rem; line-height:1.7; max-width:540px; margin-bottom:32px; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-slider-dots{ position:absolute; right:40px; bottom:132px; z-index:3; display:flex; flex-direction:column; gap:12px; }
.hero-slider-dots .dot{ position:relative; width:10px; height:10px; border-radius:50%; background:transparent; border:1px solid rgba(255,255,255,0.5); cursor:pointer; padding:0; transition:all 0.3s ease; }
.hero-slider-dots .dot::after{ content:''; position:absolute; inset:2px; border-radius:50%; background:rgba(255,255,255,0.5); transition:background .3s ease; }
.hero-slider-dots .dot.active{ border-color:var(--bronze); transform:scale(1.3); }
.hero-slider-dots .dot.active::after{ background:var(--bronze); }
.hero-scroll-cue{ position:absolute; left:50%; bottom:36px; z-index:3; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,0.55); }
.hero-scroll-cue span{ font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; }
.hero-scroll-cue .cue-track{ width:1px; height:34px; background:rgba(255,255,255,0.25); position:relative; overflow:hidden; }
.hero-scroll-cue .cue-track::after{ content:''; position:absolute; left:0; top:-100%; width:100%; height:100%; background:var(--bronze); animation:cueDrop 2.2s ease-in-out infinite; }
@keyframes cueDrop{ 0%{ top:-100%; } 60%{ top:100%; } 100%{ top:100%; } }
.hero-slide.video-slide video{ width:100%; height:100%; object-fit:cover; filter:saturate(0.88) contrast(1.04); transform:scale(1); background:var(--navy-900); }
.hero-facts{ position:relative; z-index:2; background:var(--navy-900); border-top:1px solid rgba(255,255,255,0.12); }
.hero-facts-row{ display:grid; grid-template-columns:repeat(4,1fr); }
.hero-fact{ padding:24px 28px; font-size:0.85rem; color:rgba(255,255,255,0.65); border-left:1px solid rgba(255,255,255,0.12); }
.hero-fact:first-child{ border-left:none; }
.hero-fact span{ display:block; font-family:var(--font-display); font-size:1.15rem; font-weight:600; color:var(--white); margin-bottom:4px; }
@media (max-width:640px){
  .hero-slider-dots{ right:20px; bottom:150px; flex-direction:row; }
  .hero-scroll-cue{ display:none; }
  .hero-facts-row{ grid-template-columns:repeat(2,1fr); }
}
/* =========================================================
   INTRO / ABOUT
   ========================================================= */
.intro{ background:var(--bg-light); position:relative; }
.intro::before{ content:''; position:absolute; top:0; right:0; width:38%; height:100%; background:var(--slate-50); z-index:0; }
.intro-media-row{ position:relative; z-index:1; display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; margin-bottom:56px; }
.intro-photo-stack{ position:relative; }
.intro-photo{ margin:0; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-md); }
.intro-photo img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/4.4; }
.intro-photo-accent{ position:absolute; left:-28px; bottom:-32px; width:58%; aspect-ratio:4/3; border-radius:18px; overflow:hidden; border:6px solid var(--white); box-shadow:0 18px 40px rgba(10,20,32,0.22); }
.intro-photo-accent img{ width:100%; height:100%; object-fit:cover; }
.intro-photo-badge{ position:absolute; right:-18px; top:26px; background:var(--navy-900); color:var(--white); padding:16px 20px; border-radius:16px; box-shadow:0 14px 30px rgba(10,20,32,0.28); min-width:132px; }
.intro-photo-badge strong{ display:block; font-family:var(--font-display); font-size:1.5rem; color:#E4C68F; }
.intro-photo-badge span{ font-size:0.76rem; color:rgba(255,255,255,0.65); line-height:1.4; }
.intro-facts{ display:flex; flex-direction:column; gap:14px; }
.intro-fact{
  position:relative; display:flex; align-items:flex-start; gap:20px;
  padding:30px 28px;
  background:linear-gradient(165deg, #FFFFFF 0%, #FBFCFD 100%);
  border:1px solid rgba(var(--fc-rgb,var(--bronze-rgb)),0.3);
  border-radius:18px;
  box-shadow:0 4px 18px rgba(10,32,53,0.05);
  overflow:hidden;
  transition:transform .35s var(--ease-soft), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.intro-fact::before{
  content:''; position:absolute; top:0; left:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--bronze), var(--circuit-blue));
  transform:scaleY(0); transform-origin:top;
  transition:transform .45s var(--ease-soft);
}
.intro-fact:nth-child(1){ --fc:var(--bronze); --fc-rgb:var(--bronze-rgb); }
.intro-fact:nth-child(2){ --fc:var(--circuit-blue-deep); --fc-rgb:var(--circuit-blue-rgb); }
.intro-fact:nth-child(3){ --fc:var(--emerald-dark); --fc-rgb:var(--emerald-rgb); }
.intro-fact::before{ background:var(--fc, var(--bronze)); }
.intro-fact:hover{ transform:translateX(4px) translateY(-2px); box-shadow:0 18px 36px rgba(var(--fc-rgb,var(--bronze-rgb)),0.22); border-color:rgba(var(--fc-rgb,var(--bronze-rgb)),0.55); }
.intro-fact:hover::before{ transform:scaleY(1); }
.intro-fact-index{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 auto; font-size:18px; color:var(--fc, var(--bronze-dark)); background:rgba(var(--fc-rgb,var(--bronze-rgb)),0.09); clip-path:var(--hex-clip); transition:transform .4s var(--ease-soft), background .3s var(--ease); }
.intro-fact:hover .intro-fact-index{ transform:rotate(-8deg) scale(1.08); background:var(--fc, var(--bronze)); color:var(--white); }
.intro-fact h3{ font-size:1.04rem; margin-bottom:6px; line-height:1.3; }
.intro-fact p{ font-size:0.89rem; }
@media (max-width:640px){ .intro-fact{ padding:22px 20px; gap:14px; } }
@media (max-width:640px){
  .intro-media-row{ grid-template-columns:1fr; gap:64px; }
  .intro-photo-accent{ left:0; }
}
/* =========================================================
   HEXAGON STAT CLUSTER — compact cards topped with a solid
   hexagon icon badge; colour-coded, layered depth, motion
   on scroll-in and hover
   ========================================================= */
.hex-stats{
  --hexpoly:polygon(50% 2%, 95% 26%, 95% 74%, 50% 98%, 5% 74%, 5% 26%);
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
  margin:16px 0 8px;
  position:relative; z-index:1;
}
.hex-cell{
  position:relative;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  background:linear-gradient(165deg, #FFFFFF 0%, #FBFCFD 100%);
  border:1px solid rgba(var(--hex-rgb),0.22);
  border-radius:20px;
  padding:34px 22px 28px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(10,32,53,0.06);
  transition:transform .4s var(--ease-soft), box-shadow .4s var(--ease), border-color .35s var(--ease);
}
.hex-cell.hex-c1{ --hex-a:var(--bronze); --hex-b:var(--amber); --hex-rgb:var(--bronze-rgb); }
.hex-cell.hex-c2{ --hex-a:var(--circuit-blue-deep); --hex-b:var(--circuit-blue); --hex-rgb:var(--circuit-blue-rgb); }
.hex-cell.hex-c3{ --hex-a:var(--emerald-dark); --hex-b:var(--emerald); --hex-rgb:var(--emerald-rgb); }
.hex-cell.hex-c4{ --hex-a:var(--violet-dark); --hex-b:var(--violet); --hex-rgb:var(--violet-rgb); }

/* top accent bar that sweeps in on hover */
.hex-cell::before{
  content:''; position:absolute; left:0; right:0; top:0; height:4px;
  background:linear-gradient(90deg, var(--hex-a), var(--hex-b));
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease-soft);
  z-index:2;
}
.hex-cell:hover::before{ transform:scaleX(1); }

/* oversized faint hexagon watermark in the corner — keeps the brand
   hex motif present without the cell itself being a giant empty hex */
.hex-cell::after{
  content:'';
  position:absolute; right:-38px; bottom:-38px; width:150px; height:150px;
  clip-path:var(--hexpoly);
  background:linear-gradient(150deg, var(--hex-a), var(--hex-b));
  opacity:0.06;
  transition:opacity .4s var(--ease), transform .6s var(--ease-soft);
  z-index:0; pointer-events:none;
}
.hex-cell:hover::after{ opacity:0.12; transform:rotate(14deg) scale(1.08); }

.hex-cell:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 44px rgba(var(--hex-rgb),0.24);
  border-color:rgba(var(--hex-rgb),0.5);
}

/* solid hexagon icon badge sitting proud above the card */
.hex-ring{
  position:relative; z-index:1;
  width:64px; height:64px;
  clip-path:var(--hexpoly);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(150deg, var(--hex-a) 0%, var(--hex-b) 100%);
  box-shadow:0 10px 22px rgba(var(--hex-rgb),0.38);
  margin-bottom:20px;
  transition:transform .45s var(--ease-soft), box-shadow .4s var(--ease);
}
.hex-cell:hover .hex-ring{ transform:translateY(-4px) rotate(-8deg) scale(1.06); box-shadow:0 16px 30px rgba(var(--hex-rgb),0.48); }
.hex-icon{ position:relative; width:26px; height:26px; color:var(--white); flex:0 0 auto; }

.hex-value{
  position:relative; z-index:1;
  display:flex; align-items:baseline; justify-content:center;
  gap:2px; white-space:nowrap; line-height:1;
  margin-bottom:8px;
}
.hex-value .stat-number{ font-size:2.1rem; transition:color .35s var(--ease); }
.hex-value .stat-suffix{ font-size:1.05rem; margin-left:1px; transition:color .35s var(--ease); }
.hex-cell:hover .hex-value .stat-number,
.hex-cell:hover .hex-value .stat-suffix{ color:var(--hex-a); }
.hex-cell p{ position:relative; z-index:1; font-size:0.86rem; color:var(--slate-500); line-height:1.4; margin:0; }

/* gentle continuous pulse once revealed, drawing the eye without being noisy */
@keyframes hexBreathe{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
.hex-cell[data-aos].is-visible .hex-ring{ animation:hexBreathe 4.5s var(--ease-soft) 1.2s infinite; }
.hex-cell[data-aos].is-visible:nth-child(2) .hex-ring{ animation-delay:1.7s; }
.hex-cell[data-aos].is-visible:nth-child(3) .hex-ring{ animation-delay:2.2s; }
.hex-cell[data-aos].is-visible:nth-child(4) .hex-ring{ animation-delay:2.7s; }

@media (max-width:860px){
  .hex-stats{ grid-template-columns:repeat(2, 1fr); gap:20px; }
}
@media (max-width:560px){
  .hex-stats{ grid-template-columns:1fr; max-width:320px; margin-left:auto; margin-right:auto; }
  .hex-cell{ padding:30px 22px 26px; }
}
@media (prefers-reduced-motion: reduce){ .hex-cell, .hex-ring{ transition:none !important; animation:none !important; } }
.stat-number{ font-family:var(--font-display); font-size:2.3rem; font-weight:700; color:var(--navy-800); letter-spacing:-0.01em; }
.stat-suffix{ font-family:var(--font-display); font-size:1.3rem; font-weight:700; color:var(--navy-800); }
.stat-strip{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(4, 1fr); border:1px solid rgba(10,32,53,0.09); border-radius:16px; overflow:hidden; box-shadow:0 6px 22px rgba(10,32,53,0.06); }
.stat-card{ position:relative; background:linear-gradient(165deg, #FFFFFF 0%, #FBFCFD 100%); padding:34px 26px 28px; border:1px solid rgba(var(--sc-rgb,var(--bronze-rgb)),0.28); overflow:hidden; transition:background .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease-soft), box-shadow .35s var(--ease); }
.stat-card::before{ content:''; position:absolute; left:0; right:0; top:0; height:3px; background:var(--navy-800); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease-soft), background .35s var(--ease); }
.stat-card:nth-child(4n+1){ --sc:var(--bronze); --sc-rgb:var(--bronze-rgb); }
.stat-card:nth-child(4n+2){ --sc:var(--circuit-blue-deep); --sc-rgb:var(--circuit-blue-rgb); }
.stat-card:nth-child(4n+3){ --sc:var(--emerald-dark); --sc-rgb:var(--emerald-rgb); }
.stat-card:nth-child(4n+4){ --sc:var(--violet-dark); --sc-rgb:var(--violet-rgb); }
.stat-card:hover{ background:var(--slate-50); border-color:rgba(var(--sc-rgb,var(--bronze-rgb)),0.45); transform:translateY(-4px); box-shadow:0 16px 32px rgba(var(--sc-rgb,var(--bronze-rgb)),0.16); }
.stat-card:hover::before{ transform:scaleX(1); background:var(--sc, var(--bronze)); }
.stat-card .stat-number, .stat-card .stat-suffix{ transition:color .35s var(--ease); }
.stat-card:hover .stat-number, .stat-card:hover .stat-suffix{ color:var(--sc, var(--bronze-dark)); }
.stat-card p{ margin-top:8px; font-size:0.84rem; color:var(--slate-500); letter-spacing:0.01em; }
.stat-strip-compact .stat-card{ padding:26px 20px 22px; }
/* =========================================================
   RESEARCH FOUNDATION (new dedicated section)
   ========================================================= */
.research-foundation{ background:var(--white); overflow:hidden; }
.rf-bg-molecule{ position:absolute; top:-40px; left:-60px; width:400px; height:400px; color:rgba(var(--bronze-rgb),0.14); pointer-events:none; z-index:0; }
.rf-bg-molecule svg{ width:100%; height:100%; }
.rf-grid{ position:relative; z-index:1; display:grid; grid-template-columns:0.95fr 1.05fr; gap:72px; align-items:center; }
.rf-copy{ max-width:520px; }
.rf-copy h2{ font-size:clamp(1.8rem,3vw,2.3rem); line-height:1.24; margin-bottom:18px; }
.rf-copy .lead-text{ margin-bottom:36px; }
.rf-points{ display:flex; flex-direction:column; gap:16px; }
.rf-point{
  display:flex; gap:18px; align-items:flex-start;
  padding:20px 22px;
  background:linear-gradient(165deg, #FFFFFF 0%, #FBFCFD 100%);
  border:1px solid rgba(var(--bronze-rgb),0.22);
  border-radius:16px;
  box-shadow:0 3px 14px rgba(10,32,53,0.04);
  transition:transform .35s var(--ease-soft), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.rf-point:nth-child(1){ --rc:var(--bronze); --rc-rgb:var(--bronze-rgb); }
.rf-point:nth-child(2){ --rc:var(--circuit-blue-deep); --rc-rgb:var(--circuit-blue-rgb); }
.rf-point:nth-child(3){ --rc:var(--emerald-dark); --rc-rgb:var(--emerald-rgb); }
.rf-point:hover{ transform:translateX(5px) translateY(-2px); border-color:rgba(var(--rc-rgb,var(--bronze-rgb)),0.55); box-shadow:0 14px 30px rgba(var(--rc-rgb,var(--bronze-rgb)),0.16); }
.rf-point-icon{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; clip-path:var(--hex-clip); background:rgba(var(--rc-rgb,var(--bronze-rgb)),0.09); color:var(--rc, var(--bronze-dark)); font-size:19px; transition:transform .4s var(--ease-soft), background .3s var(--ease), color .3s var(--ease); }
.rf-point:hover .rf-point-icon{ transform:rotate(-8deg) scale(1.08); background:var(--rc, var(--bronze)); color:var(--white); }
.rf-point h4{ font-size:1rem; margin-bottom:5px; line-height:1.3; }
.rf-point p{ font-size:0.88rem; color:var(--slate-500); line-height:1.6; }
.rf-media{ position:relative; padding:0 0 44px 44px; }
.rf-photo-main{ margin:0; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-md); }
.rf-photo-main img{ width:100%; aspect-ratio:4/3.6; object-fit:cover; }
.rf-photo-accent{ position:absolute; left:0; bottom:0; width:48%; aspect-ratio:4/3; border-radius:16px; overflow:hidden; border:6px solid var(--white); box-shadow:0 18px 40px rgba(10,20,32,0.2); margin:0; }
.rf-photo-accent img{ width:100%; height:100%; object-fit:cover; }
.rf-formula-chip{
  position:absolute; right:20px; top:20px;
  background:rgba(10,32,53,0.88);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  color:var(--white);
  padding:14px 18px; border-radius:14px;
  box-shadow:0 14px 30px rgba(10,20,32,0.28);
  display:flex; flex-direction:column; gap:2px;
  border:1px solid rgba(var(--circuit-blue-rgb),0.35);
  max-width:180px;
}
.rf-formula-chip span{ font-family:var(--font-display); font-size:1.15rem; color:#7fd9ff; font-weight:700; }
.rf-formula-chip small{ font-size:0.7rem; color:rgba(255,255,255,0.65); line-height:1.4; }
@media (max-width:860px){
  .rf-grid{ grid-template-columns:1fr; gap:52px; }
  .rf-copy{ max-width:none; }
  .rf-media{ order:-1; padding:0 0 40px 40px; }
}
@media (max-width:480px){
  .rf-media{ padding:0 0 34px 30px; }
  .rf-formula-chip{ right:12px; top:12px; padding:11px 14px; max-width:140px; }
}
/* =========================================================
   WHY CHOOSE — storytelling alternating layout
   ========================================================= */
/* =========================================================
   WHY CHOOSE — reuses the intro-fact / stat-card visual
   language (bronze accent reveal) for site-wide consistency
   ========================================================= */
.why-choose{
  background:linear-gradient(160deg, #0A2540 0%, var(--navy-deep) 55%, #051428 100%);
  position:relative;
}
.why-choose::before{
  content:'';
  position:absolute; inset:0; pointer-events:none; opacity:0.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='96' viewBox='0 0 84 96'%3E%3Cpath d='M42 0 L84 24 L84 72 L42 96 L0 72 L0 24 Z' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3C/svg%3E");
  background-position:center top;
}
.why-choose .container{ position:relative; z-index:1; }
.why-choose .eyebrow{ color:#E4C68F; border-color:var(--bronze); }
.why-choose h2{ color:var(--white); }
.why-choose .lead-text{ color:rgba(255,255,255,0.6); }
.why-choose .section-head h2{
  font-size:clamp(2rem, 3.4vw, 2.7rem);
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--white);
}

.edge-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:16px;
  overflow:hidden;
}
.edge-card{
  position:relative;
  background:var(--navy-deep);
  padding:34px 26px 30px;
  border-left:1px solid rgba(var(--ec-rgb,255,255,255),0.16);
  overflow:hidden;
  transition:background .35s var(--ease);
}
.edge-card:first-child{ border-left:none; }
.edge-card::before{
  content:'';
  position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--bronze);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease-soft);
}
.edge-card:nth-child(4n+1){ --ec:var(--bronze); --ec-rgb:var(--bronze-rgb); --ec-tint:#E4C68F; }
.edge-card:nth-child(4n+2){ --ec:var(--circuit-blue); --ec-rgb:var(--circuit-blue-rgb); --ec-tint:#8FDBFF; }
.edge-card:nth-child(4n+3){ --ec:var(--emerald); --ec-rgb:var(--emerald-rgb); --ec-tint:#7FE0BE; }
.edge-card:nth-child(4n+4){ --ec:var(--violet); --ec-rgb:var(--violet-rgb); --ec-tint:#BCA9F2; }
.edge-card::before{ background:var(--ec, var(--bronze)); }
.edge-card:hover{ background:rgba(var(--ec-rgb,var(--bronze-rgb)),0.08); transform:translateY(-3px); }
.edge-card:hover::before{ transform:scaleX(1); }

.edge-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; clip-path:var(--hex-clip);
  background:rgba(var(--ec-rgb,var(--bronze-rgb)),0.12);
  color:var(--ec-tint, #E4C68F); font-size:19px;
  margin-bottom:20px;
  transition:transform .4s var(--ease), background .4s var(--ease), color .4s var(--ease);
}
.edge-card:hover .edge-icon{ transform:rotate(-8deg) scale(1.08); background:var(--ec, var(--bronze)); color:var(--white); }
.edge-card{ transition:background .35s var(--ease), transform .35s var(--ease-soft); }

.edge-num{
  position:absolute; top:32px; right:26px;
  font-family:var(--font-display); font-size:0.78rem; font-weight:700; letter-spacing:0.04em;
  color:rgba(255,255,255,0.24);
  font-variant-numeric:tabular-nums;
}

.edge-card h3{
  color:var(--white); font-size:1.05rem; font-weight:700; line-height:1.35;
  margin-bottom:12px; min-height:2.85em;
}
.edge-card p{
  color:rgba(255,255,255,0.55); font-size:0.87rem; line-height:1.65; margin:0;
}

@media (max-width:1080px){
  .edge-grid{ grid-template-columns:repeat(2, 1fr); }
  .edge-card{ border-left:none; border-top:1px solid rgba(255,255,255,0.1); }
  .edge-card:nth-child(1),
  .edge-card:nth-child(2){ border-top:none; }
  .edge-card:nth-child(even){ border-left:1px solid rgba(255,255,255,0.1); }
}
@media (max-width:640px){
  .edge-grid{ grid-template-columns:1fr; }
  .edge-card{ border-left:none !important; }
  .edge-card:first-child{ border-top:none; }
  .edge-num{ top:26px; right:22px; }
}
@media (prefers-reduced-motion: reduce){
  .edge-card, .edge-icon, .edge-card::before{ transition:none !important; }
}
/* =========================================================
   INDUSTRIES — showcase panels with per-industry imagery
   ========================================================= */
.industries-showcase{ background:var(--bg-light); }
.industry-panels{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.industry-panel{
  position:relative;
  min-height:260px;
  border-radius:18px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  box-shadow:0 10px 28px rgba(10,32,53,0.14);
  border:1.5px solid rgba(var(--ip-rgb,var(--bronze-rgb)),0.4);
  transition:transform .4s var(--ease-soft), box-shadow .4s var(--ease-soft), border-color .35s var(--ease);
}
.industry-panel-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,18,32,0.25) 0%, rgba(6,18,32,0.55) 55%, rgba(6,18,32,0.92) 100%);
  transition:background .4s var(--ease);
}
.industry-panel:nth-child(4n+1){ --ip:var(--bronze); --ip-rgb:var(--bronze-rgb); --ip-tint:#E4C68F; }
.industry-panel:nth-child(4n+2){ --ip:var(--circuit-blue-deep); --ip-rgb:var(--circuit-blue-rgb); --ip-tint:#8FDBFF; }
.industry-panel:nth-child(4n+3){ --ip:var(--emerald-dark); --ip-rgb:var(--emerald-rgb); --ip-tint:#7FE0BE; }
.industry-panel:nth-child(4n+4){ --ip:var(--violet-dark); --ip-rgb:var(--violet-rgb); --ip-tint:#BCA9F2; }
.industry-panel::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:4px;
  background:linear-gradient(90deg, var(--ip, var(--bronze)), var(--ip-tint, var(--bronze)));
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease-soft); z-index:2;
}
.industry-panel:hover{ transform:translateY(-6px) scale(1.015); box-shadow:0 26px 48px rgba(var(--ip-rgb,var(--bronze-rgb)),0.32); border-color:var(--ip, var(--bronze)); }
.industry-panel:hover::after{ transform:scaleX(1); }
.industry-panel:hover .industry-panel-overlay{ background:linear-gradient(180deg, rgba(6,18,32,0.15) 0%, rgba(6,18,32,0.4) 50%, rgba(6,18,32,0.94) 100%); }
.industry-panel-body{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:22px 22px 24px; }
.industry-panel-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; clip-path:var(--hex-clip);
  background:rgba(255,255,255,0.12);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  color:var(--ip-tint, #E4C68F); font-size:18px;
  margin-bottom:14px;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1), background .3s var(--ease);
}
.industry-panel:hover .industry-panel-icon{ transform:rotate(-8deg) scale(1.08); background:var(--ip, var(--bronze)); color:var(--white); }
.industry-panel-body h4{ color:var(--white); font-size:1.06rem; margin-bottom:6px; }
.industry-panel-body p{ color:rgba(255,255,255,0.72); font-size:0.83rem; line-height:1.5; }
.industry-panel-flag{
  position:absolute; top:16px; right:16px; z-index:2;
  font-family:var(--font-display); font-size:0.66rem; font-weight:700;
  letter-spacing:0.07em; text-transform:uppercase;
  color:var(--navy-900);
  background:linear-gradient(120deg, #f3d9a8, var(--bronze));
  padding:5px 10px; border-radius:6px;
  box-shadow:0 0 16px rgba(var(--bronze-rgb),0.5);
}
@media (max-width:1080px){ .industry-panels{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .industry-panels{ grid-template-columns:1fr; } .industry-panel{ min-height:220px; } }
@media (prefers-reduced-motion: reduce){ .industry-panel, .industry-panel-icon{ transition:none !important; } }
/* =========================================================
   GLOBAL PRESENCE
   ========================================================= */
.global-presence-premium{ position:relative; overflow:hidden; background:var(--navy-deep); }
.gp-bg{ position:absolute; inset:0; background-image:url('https://images.pexels.com/photos/6595779/pexels-photo-6595779.jpeg?auto=compress&cs=tinysrgb&w=1600'); background-size:cover; background-position:center; opacity:0.16; }
.global-presence-premium .container{ position:relative; z-index:1; }
.global-presence-premium .section-head, .global-presence-premium h2, .global-presence-premium .lead-text, .global-presence-premium .eyebrow{ color:var(--white); }
.global-presence-premium .lead-text{ color:rgba(255,255,255,0.68); }
.global-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.global-copy .stat-strip{ margin-top:40px; background:rgba(255,255,255,0.06); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 10px 28px rgba(0,0,0,0.3); border-color:rgba(255,255,255,0.12); }
.global-copy .stat-card{ background:transparent; border-color:rgba(255,255,255,0.10); }
.global-copy .stat-number, .global-copy .stat-suffix{ color:var(--white); }
.global-copy .stat-card p{ color:rgba(255,255,255,0.6); }
.global-copy .stat-card:hover{ background:rgba(255,255,255,0.05); border-color:rgba(var(--bronze-rgb),0.5); }
.global-copy .stat-card:hover .stat-number, .global-copy .stat-card:hover .stat-suffix{ color:#E4C68F; }
.gp-map-wrap{ position:relative; }
.gp-map{ width:100%; height:auto; display:block; }
.gp-node{ fill:#E4C68F; filter:drop-shadow(0 0 6px rgba(228,198,143,0.8)); animation:gpPulse 2.4s ease-in-out infinite; }
.gp-node-origin{ fill:var(--circuit-blue); filter:drop-shadow(0 0 10px rgba(30,200,255,0.9)); }
@keyframes gpPulse{ 0%,100%{ opacity:1; } 50%{ opacity:0.4; } }
.gp-route{ fill:none; stroke:rgba(127,217,255,0.55); stroke-width:1.4; stroke-dasharray:6 5; animation:gpFlow 3s linear infinite; }
@keyframes gpFlow{ to{ stroke-dashoffset:-22; } }
@media (prefers-reduced-motion: reduce){ .gp-node, .gp-route{ animation:none; } }
@media (max-width:860px){ .global-grid{ grid-template-columns:1fr; gap:40px; } }
/* =========================================================
   CERTIFICATIONS
   ========================================================= */
.certifications-premium{ position:relative; background:var(--bg-light); overflow:hidden; }
.cert-bg-texture{ position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(10,32,53,0.05) 1px, transparent 0); background-size:22px 22px; }
.certifications-premium .container{ position:relative; z-index:1; }
.cert-grid-premium{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:22px; background:none; border:none; }
.cert-item-premium{
  position:relative;
  display:flex; flex-direction:column;
  background:linear-gradient(165deg, rgba(255,255,255,0.96), rgba(255,255,255,0.72));
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1.5px solid rgba(var(--cc-rgb,var(--bronze-rgb)),0.32);
  border-radius:20px; padding:34px 28px 30px;
  box-shadow:0 10px 28px rgba(10,32,53,0.06);
  overflow:hidden;
  transition:transform .35s var(--ease-soft), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.cert-item-premium::before{
  content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg, var(--bronze), var(--circuit-blue));
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease-soft);
}
.cert-item-premium:nth-child(4n+1){ --cc:var(--bronze); --cc-rgb:var(--bronze-rgb); }
.cert-item-premium:nth-child(4n+2){ --cc:var(--circuit-blue-deep); --cc-rgb:var(--circuit-blue-rgb); }
.cert-item-premium:nth-child(4n+3){ --cc:var(--emerald-dark); --cc-rgb:var(--emerald-rgb); }
.cert-item-premium:nth-child(4n+4){ --cc:var(--violet-dark); --cc-rgb:var(--violet-rgb); }
.cert-item-premium::before{ background:var(--cc, var(--bronze)); }
.cert-item-premium:hover{ transform:translateY(-7px); border-color:rgba(var(--cc-rgb,var(--bronze-rgb)),0.55); box-shadow:0 22px 44px rgba(var(--cc-rgb,var(--bronze-rgb)),0.2); }
.cert-item-premium:hover::before{ transform:scaleX(1); }
.cert-icon-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px; flex:0 0 auto;
  clip-path:var(--hex-clip); margin-bottom:22px;
  background:linear-gradient(155deg, rgba(var(--cc-rgb,var(--bronze-rgb)),0.18), rgba(var(--cc-rgb,var(--bronze-rgb)),0.05));
  transition:transform .4s var(--ease-soft), background .4s var(--ease);
}
.cert-item-premium:hover .cert-icon-badge{ transform:translateY(-3px) rotate(-6deg); background:var(--cc, var(--bronze)); border-color:var(--cc, var(--bronze)); }
.cert-icon{ width:27px; height:27px; color:var(--cc, var(--bronze-dark)); transition:color .35s var(--ease); }
.cert-item-premium:hover .cert-icon{ color:var(--white); }
.cert-item-premium h4{
  font-size:1.06rem; margin-bottom:12px; padding-bottom:14px;
  border-bottom:1px solid rgba(var(--bronze-rgb),0.16);
}
.cert-item-premium p{ font-size:0.9rem; line-height:1.65; }
@media (max-width:860px){ .cert-grid-premium{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cert-grid-premium{ grid-template-columns:1fr; grid-auto-rows:auto; } }
/* =========================================================
   MANUFACTURING EXCELLENCE — Editorial Bento Showcase
   ========================================================= */
.manufacturing{ background:var(--bg-light); }
.showcase-bento{ display:grid; grid-template-columns:repeat(6, 1fr); grid-template-rows:repeat(4, 140px); gap:22px; }
.showcase-item{ position:relative; margin:0; overflow:hidden; border-radius:20px; cursor:zoom-in; box-shadow:0 1px 2px rgba(10,20,32,0.06); transition:transform .5s var(--ease-soft), box-shadow .5s var(--ease-soft); will-change:transform; }
.showcase-hero{ grid-column:1 / 5; grid-row:1 / 3; }
.showcase-tall{ grid-column:5 / 7; grid-row:1 / 5; }
.showcase-sq-1{ grid-column:1 / 3; grid-row:3 / 5; }
.showcase-sq-2{ grid-column:3 / 5; grid-row:3 / 5; }
.showcase-item img{ position:absolute; inset:-6% -6% -6% -6%; width:112%; height:112%; object-fit:cover; filter:saturate(0.92) contrast(1.03); transform:translate3d(0,0,0) scale(1); transition:transform .8s var(--ease-soft), filter .5s var(--ease); }
.showcase-item:hover img{ transform:translate3d(0,0,0) scale(1.06); }
.showcase-scrim{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,20,32,0.86) 0%, rgba(10,20,32,0.32) 38%, rgba(10,20,32,0.02) 62%); opacity:0.72; transition:opacity .45s var(--ease); pointer-events:none; }
.showcase-item:hover .showcase-scrim{ opacity:1; }
.showcase-item::after{ content:''; position:absolute; inset:0; border-radius:20px; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14); transition:box-shadow .45s var(--ease); pointer-events:none; }
.showcase-item:nth-child(4n+1){ --si-rgb:var(--bronze-rgb); }
.showcase-item:nth-child(4n+2){ --si-rgb:var(--circuit-blue-rgb); }
.showcase-item:nth-child(4n+3){ --si-rgb:var(--emerald-rgb); }
.showcase-item:nth-child(4n+4){ --si-rgb:var(--violet-rgb); }
.showcase-item:hover::after{ box-shadow:inset 0 0 0 1px rgba(var(--si-rgb,var(--bronze-rgb)),0.6), 0 0 0 1px rgba(var(--si-rgb,var(--bronze-rgb)),0.3); }
.showcase-item:hover{ transform:translateY(-6px); box-shadow:0 26px 48px rgba(var(--si-rgb,10,20,32),0.28); }
.showcase-meta{ position:absolute; left:0; right:0; bottom:0; z-index:1; display:flex; align-items:flex-end; gap:16px; padding:22px 24px; }
.showcase-num{
  font-family:var(--font-display); font-weight:700; font-size:0.72rem; letter-spacing:0.04em;
  color:#E4C68F; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; clip-path:var(--hex-clip);
  background:rgba(255,255,255,0.12); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.showcase-text{ flex:1 1 auto; min-width:0; }
.showcase-text h3{ color:var(--white); font-size:1.14rem; margin-bottom:6px; transform:translateY(0); transition:transform .4s var(--ease); }
.showcase-text p{ color:rgba(255,255,255,0.72); font-size:0.86rem; line-height:1.5; max-width:34ch; max-height:0; opacity:0; overflow:hidden; transition:max-height .45s var(--ease-soft), opacity .35s var(--ease); }
.showcase-item:hover .showcase-text p{ max-height:4.5em; opacity:1; }
.showcase-view{ flex:0 0 auto; width:38px; height:38px; margin-bottom:2px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.30); color:var(--white); font-size:15px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); opacity:0; transform:translateY(8px) rotate(-16deg); transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s var(--ease), border-color .3s var(--ease); }
.showcase-item:hover .showcase-view{ opacity:1; transform:translateY(0) rotate(0deg); background:var(--bronze); border-color:var(--bronze); }
.showcase-hero .showcase-text p, .showcase-tall .showcase-text p{ max-width:40ch; }
@media (max-width:1024px){
  .showcase-bento{ grid-template-columns:repeat(2, 1fr); grid-template-rows:none; }
  .showcase-hero{ grid-column:1 / 3; grid-row:auto; aspect-ratio:16/9; }
  .showcase-tall{ grid-column:1 / 3; grid-row:auto; aspect-ratio:16/9; }
  .showcase-sq-1{ grid-column:1 / 2; grid-row:auto; aspect-ratio:4/3; }
  .showcase-sq-2{ grid-column:2 / 3; grid-row:auto; aspect-ratio:4/3; }
}
@media (max-width:640px){
  .showcase-bento{ grid-template-columns:1fr; gap:16px; }
  .showcase-hero, .showcase-tall, .showcase-sq-1, .showcase-sq-2{ grid-column:1 / 2; aspect-ratio:4/3; }
  .showcase-text p{ max-height:none; opacity:1; }
  .showcase-view{ opacity:1; transform:none; }
  .showcase-meta{ padding:18px; }
}
@media (prefers-reduced-motion: reduce){ .showcase-item, .showcase-item img, .showcase-text p, .showcase-view{ transition:none !important; } }
.lightbox{ position:fixed; inset:0; z-index:999; background:rgba(8,16,26,0.92); display:flex; align-items:center; justify-content:center; padding:48px; opacity:0; visibility:hidden; transition:opacity .35s var(--ease); }
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox-figure{ max-width:1100px; width:100%; text-align:center; }
.lightbox-figure img{ max-height:78vh; width:auto; margin:0 auto; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,0.5); transform:scale(0.96); transition:transform .35s var(--ease); }
.lightbox.is-open .lightbox-figure img{ transform:scale(1); }
.lightbox-caption{ margin-top:18px; color:rgba(255,255,255,0.8); font-size:0.92rem; }
.lightbox-close{ position:absolute; top:28px; right:32px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,0.3); background:rgba(255,255,255,0.06); color:var(--white); font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .25s ease, transform .25s ease; }
.lightbox-close:hover{ background:var(--bronze); border-color:var(--bronze); transform:rotate(90deg); }
.lightbox-nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.25); color:var(--white); font-size:20px; cursor:pointer; transition:background .25s ease, border-color .25s ease, transform .25s ease; }
.lightbox-nav:hover{ background:var(--bronze); border-color:var(--bronze); }
.lightbox-prev{ left:24px; }
.lightbox-next{ right:24px; }
.lightbox-nav:active{ transform:translateY(-50%) scale(0.94); }
.lightbox-counter{ position:absolute; top:28px; left:32px; font-family:var(--font-display); font-size:0.8rem; letter-spacing:0.04em; color:rgba(255,255,255,0.6); }
@media (max-width:640px){
  .lightbox{ padding:20px; }
  .lightbox-nav{ width:42px; height:42px; font-size:16px; }
  .lightbox-prev{ left:10px; }
  .lightbox-next{ right:10px; }
  .lightbox-counter{ left:16px; top:16px; }
}
/* =========================================================
   CTA
   ========================================================= */
.cta-section{ position:relative; background:var(--navy-900); padding:96px 0; border-top:3px solid var(--bronze); overflow:hidden; }
.cta-section::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0); background-size:28px 28px; opacity:0.5; }
.cta-inner{ position:relative; max-width:600px; margin:0 auto; text-align:center; }
.cta-inner h2{ color:var(--white); font-size:clamp(1.8rem, 3.6vw, 2.4rem); margin-bottom:16px; }
.cta-inner p{ color:rgba(255,255,255,0.68); margin-bottom:32px; font-size:1.05rem; }
/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .why-grid{ grid-template-columns:repeat(2,1fr); }
  .cert-grid-premium{ grid-template-columns:repeat(2,1fr); }
  .hero-facts-row{ grid-template-columns:repeat(2,1fr); }
  .intro::before{ width:100%; }
}
@media (max-width:640px){
  .section{ padding:72px 0; }
  .hero-inner{ padding:0 0 56px; }
  /* FIX: Removed excess padding-top (was 140px). Offset now handled by .sh-hero-offset at all breakpoints */
  .stat-strip{ grid-template-columns:1fr; }
  .stat-card{ border-left:3px solid transparent; border-top:1px solid var(--line); }
  .stat-card:first-child{ border-top:none; }
  .stat-card::before{ display:none; }
  .stat-card:hover{ border-left-color:var(--bronze); }
  .hero-facts-row{ grid-template-columns:1fr; }
  .hero-fact{ border-left:none; border-top:1px solid rgba(255,255,255,0.12); }
  .hero-fact:first-child{ border-top:none; }
  .intro-photo-badge{ right:8px; }
}
a:focus-visible, button:focus-visible{ outline:2px solid var(--bronze); outline-offset:3px; }
@media (max-width:991px){
  .container{ padding:0 20px; }
  .section{ padding:64px 0; }
  .showcase-bento{ gap:16px; }
}
@media (max-width:767px){
  .container{ padding:0 18px; }
  .section{ padding:56px 0; }
  .section-head{ margin-bottom:28px; }
  .hero{ min-height:0; }
  .hero-inner{ padding:0 0 48px; }
  /* FIX: Removed excess padding-top (was 132px). Offset now handled by .sh-hero-offset at all breakpoints */
  .hero-copy{ max-width:100%; }
  .hero-cta{ gap:12px; }
  .hero-cta .btn{ width:100%; justify-content:center; }
  .intro-photo-accent{ left:0; bottom:-24px; width:56%; }
  .intro-photo-badge{ right:0; top:16px; padding:12px 16px; min-width:0; }
  .intro-photo-badge strong{ font-size:1.25rem; }
  .intro-fact{ padding:20px 18px; gap:12px; }
  .intro-fact-index{ width:38px; height:38px; font-size:16px; }
  .stat-number{ font-size:1.9rem; }
  .stat-card{ padding:24px 18px 20px; }
  .cert-grid-premium{ grid-template-columns:1fr 1fr; }
  .cert-item-premium{ padding:24px 18px; }
  .cta-section{ padding:64px 0; }
  .cta-inner p{ font-size:0.98rem; }
  .cta-inner .btn{ width:100%; justify-content:center; }
}
@media (max-width:480px){
  .container{ padding:0 16px; }
  .hero h1{ font-size:clamp(1.7rem, 8vw, 2.1rem); margin-bottom:20px; }
  .hero-slide-text{ font-size:0.95rem; }
  .hero-facts-row{ grid-template-columns:1fr 1fr; }
  .section-head h2{ font-size:1.6rem; }
  .intro-photo-badge{ position:static; margin-top:12px; display:inline-block; }
  .intro-photo-stack{ padding-bottom:0; }
  .intro-photo-accent{ width:60%; }
  .cert-grid-premium{ grid-template-columns:1fr; }
  .showcase-meta{ padding:16px; }
  .showcase-text h3{ font-size:1rem; }
}
@media (max-width:375px){
  .hero-inner{ padding:0 0 40px; }
  /* FIX: Removed excess padding-top (was 120px). Offset now handled by .sh-hero-offset at all breakpoints */
  .hero h1{ font-size:1.55rem; }
  .stat-number{ font-size:1.6rem; }
  .stat-suffix{ font-size:1.05rem; }
  .intro-photo-badge strong{ font-size:1.1rem; }
}
img, video{ max-width:100%; height:auto; }
/*.hero-slide img, .hero-slide video, .showcase-item img{ height:100%; }*/
/* Slide 0 (Water Treatment) — source footage is flatter/dimmer than the
   others, so give it extra brightness/contrast/saturation to match the
   visual energy of the rest of the slider */
.hero-slide[data-slide="0"] video{
  filter: saturate(1.25) contrast(1.18) brightness(1.12);
}
@media (max-width:860px){ .intro-photo-stack{ margin-bottom:56px; } }
@media (max-width:480px){ .intro-photo-stack{ margin-bottom:16px; } }
[data-aos].aos-failsafe-visible{ opacity:1 !important; transform:none !important; }
[data-aos]{ opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease-soft), transform .7s var(--ease-soft); will-change:opacity, transform; }
[data-aos="fade-right"]{ transform:translateX(-28px); }
[data-aos="fade-left"]{ transform:translateX(28px); }
[data-aos="zoom-in"]{ transform:scale(0.94); }
[data-aos].is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  [data-aos]{ transition:none !important; opacity:1 !important; transform:none !important; }
}