*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#03111c;color:#eef6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.5}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,28px);position:sticky;top:0;z-index:5;background:rgba(3,17,28,.92);border-bottom:1px solid #123047;backdrop-filter:blur(12px)}.brand{font-size:22px;font-weight:800;color:#fff;text-decoration:none;line-height:1}.brand span,em{color:#0d9cff;font-style:normal}.brand small{display:block;font-size:9px;font-weight:400;color:#9db1c1;margin-top:5px}.nav nav{display:flex;align-items:center;gap:28px}.nav a{color:#d9e6ee;text-decoration:none;font-size:14px}.nav button,.primary{border:0;background:#0797f6;color:#fff;padding:13px 20px;border-radius:5px;font-weight:700;cursor:pointer}.hero{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid #123047}.hero-copy{padding:90px 5vw 80px 6vw}.eyebrow{font-size:13px;letter-spacing:2px;color:#18a9ff;font-weight:800}.hero h1{font-size:58px;line-height:1.02;max-width:680px;margin:18px 0 22px}.hero p{font-size:18px;color:#c1d0da;max-width:700px}.actions{display:flex;gap:16px;margin-top:32px}.secondary{border:1px solid #187bb5;background:transparent;color:#eef6fb;padding:12px 20px;border-radius:5px;text-decoration:none;cursor:pointer}.hero-art{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 35%,#13507a 0,#09263b 28%,#03111c 70%)}.tank{position:absolute;bottom:180px;width:120px;height:170px;border:3px solid #5f7c8c;border-radius:50% 50% 8px 8px;opacity:.65}.t1{right:150px}.t2{right:20px;height:220px}.rail{position:absolute;bottom:145px;left:10%;right:0;height:45px;border-top:4px solid #667c87;border-bottom:2px solid #49606d;transform:skewY(-3deg)}.water{position:absolute;left:-10%;right:-10%;bottom:-70px;height:220px;border-radius:50%;border-top:5px solid #1d638b;background:linear-gradient(#0b3450,#061d2d)}main>section{padding:85px 6vw}.problem{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.problem h2,section>h2{font-size:38px;margin:0 0 22px}.problem p,.cards p,.shift>p{color:#b7c8d3}.questions{border-left:1px solid #315066;padding-left:50px}.questions p{margin:22px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article,.states article{padding:28px;background:#082238;border:1px solid #124465;border-radius:7px}.cards b{color:#fff}.cards h3{font-size:18px}.insight{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid #164664;border-radius:7px;overflow:hidden;background:#061c2d}.facility{padding:260px 26px 24px;position:relative;background:linear-gradient(180deg,#0d405f,#061824)}.plant{position:absolute;inset:0 0 130px;background:radial-gradient(circle at 45% 60%,#527887,#183e51 30%,#071a28 65%);opacity:.9}.facility h3,.facility p{position:relative;margin:5px 0}.result{padding:28px}.result-top{display:flex;justify-content:space-between;border-bottom:1px solid #173b51;padding-bottom:18px}.result-top strong{color:#ffc935}.result dl{display:grid;grid-template-columns:180px 1fr;gap:0;margin:0}.result dt,.result dd{padding:17px 0;border-bottom:1px solid #123047;margin:0}.result dt{font-weight:700}.result dd{color:#c4d1da}.topics{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.topics span{text-align:center;padding:22px 10px;border-top:1px solid #165273;color:#c9d7df}.shift{background:#061c2d}.states{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.states .watch{border-color:#17679a}.states .pursue{border-color:#198448;background:#092c26}.states .deprioritise{border-color:#8b3a3a;background:#29191e}.center{text-align:center}.cta{margin:40px 6vw 70px;padding:35px!important;border:1px solid #164664;border-radius:8px;display:flex;align-items:center;justify-content:space-between;background:#071d2d}.cta h2{margin:0 0 8px}footer{padding:35px 6vw;border-top:1px solid #123047;display:flex;justify-content:space-between;color:#92a8b7;font-size:13px}.modal{display:none;position:fixed;inset:0;background:rgba(0,6,12,.8);z-index:20;padding:30px;overflow:auto}.modal.open{display:block}.dialog{max-width:720px;margin:4vh auto;background:#061a2a;border:1px solid #1b506e;border-radius:10px;padding:34px;position:relative;box-shadow:0 30px 90px #000}.close{position:absolute;right:18px;top:14px;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}.steps{display:flex;gap:10px;margin-bottom:32px}.steps span{font-size:12px;color:#6f8797;border-bottom:2px solid #19384d;padding:8px 4px}.steps .active{color:#28aaff;border-color:#28aaff}.formstep{display:none}.formstep.active{display:block}.formstep h2{font-size:34px;margin-bottom:5px}.formstep>p{color:#aebfca}.formstep label{display:block;margin:18px 0;font-weight:650;font-size:14px}.formstep input[type=text],.formstep input[type=email],.formstep input:not([type]){display:block;width:100%;margin-top:7px;padding:14px;background:#04121e;color:#fff;border:1px solid #245471;border-radius:5px;font-size:15px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.checks label{margin:5px 0;font-weight:400}.row{display:flex;justify-content:space-between;margin-top:25px}.trust{font-size:13px}.success{font-size:46px;color:#39d77a}#summary{background:#04121e;border:1px solid #173e58;padding:18px;border-radius:6px;color:#cbd8e0}@media(max-width:800px){.nav nav a{display:none}.hero{grid-template-columns:1fr}.hero-art{height:260px}.hero h1{font-size:43px}.problem,.insight{grid-template-columns:1fr}.cards,.states{grid-template-columns:1fr}.topics{grid-template-columns:repeat(2,1fr)}.result dl{grid-template-columns:1fr}.cta,footer{display:block}.cta button{margin-top:20px}.checks{grid-template-columns:1fr}}
.bot-field{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important}
.privacy-check{font-size:12px!important;font-weight:400!important;color:#9fb3c0;margin-top:12px!important}
.privacy-check input{margin-right:7px}
button:disabled{opacity:.6;cursor:not-allowed}
footer a{color:#9fc9e4;text-decoration:none}footer a:hover{text-decoration:underline}
.privacy-page{max-width:820px;margin:0 auto;padding:80px 6vw 100px}.privacy-page h1{font-size:42px;margin:0 0 20px}.privacy-page h2{font-size:22px;margin-top:32px}.privacy-page p,.privacy-page li{color:#bacbd5}

/* v3 visual production pass */
.hero-art{min-height:610px;background:linear-gradient(90deg,rgba(3,17,28,.58),rgba(3,17,28,.08)),linear-gradient(0deg,rgba(3,17,28,.38),rgba(3,17,28,.03)),url("assets/hero-industrial.webp") center/cover no-repeat}
.hero-art:after{content:"";position:absolute;inset:0;box-shadow:inset 55px 0 70px rgba(3,17,28,.42)}
.facility{padding:260px 26px 24px;background:linear-gradient(180deg,#0d405f,#061824)}
.plant{background:linear-gradient(0deg,rgba(4,20,31,.55),rgba(4,20,31,.02)),url("assets/food-facility.webp") center/cover no-repeat;opacity:1}
.image-note{position:absolute;right:12px;top:12px;z-index:2;font-size:10px;letter-spacing:.3px;color:#c3d5df;background:rgba(3,17,28,.68);border:1px solid rgba(126,166,189,.35);padding:5px 7px;border-radius:4px}
.nav .brand{font-size:24px}.nav .brand small{font-size:10px;letter-spacing:.1px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 85% 18%,rgba(16,92,133,.09),transparent 27%),radial-gradient(circle at 8% 70%,rgba(10,70,105,.07),transparent 24%)}
@media(max-width:800px){.nav{height:68px;padding:0 20px}.nav .brand{font-size:20px}.nav .brand small{font-size:8.5px}.hero-art{height:330px;min-height:0;background-position:center}.hero-art:after{box-shadow:inset 0 35px 45px rgba(3,17,28,.2)}.facility{padding-top:250px}.plant{inset:0 0 122px}.image-note{font-size:9px}}


/* v4 — align live implementation to approved design */
.how-section{padding-top:72px;padding-bottom:64px}
.how-section>h2,.investigate>h2{margin-bottom:20px}
.cards{gap:18px}
.cards article{position:relative;min-height:220px;padding:22px 22px 20px;background:linear-gradient(145deg,#08243a,#061c2d);border-color:#155477}
.card-head{display:flex;align-items:center;gap:12px;min-height:38px;margin-bottom:10px}
.card-head b{font-size:12px;letter-spacing:.8px}
.step-no{font-size:25px;line-height:1;font-weight:800;color:#12a7ff}
.line-icon{margin-left:auto;width:34px;height:34px;position:relative;display:block;color:#16aaff}
.search-icon{border:3px solid currentColor;border-radius:50%;width:25px;height:25px;margin-right:8px}
.search-icon:after{content:"";position:absolute;width:13px;height:3px;background:currentColor;right:-10px;bottom:-5px;transform:rotate(45deg);border-radius:2px}
.bars-icon:before{content:"";position:absolute;left:4px;bottom:3px;width:5px;height:12px;border:2px solid currentColor;box-shadow:9px -7px 0 -2px #061c2d,9px -7px 0 0 currentColor,18px -15px 0 -2px #061c2d,18px -15px 0 0 currentColor}
.target-icon{border:2px solid currentColor;border-radius:50%}
.target-icon:before{content:"";position:absolute;inset:7px;border:2px solid currentColor;border-radius:50%}
.target-icon:after{content:"";position:absolute;width:18px;height:2px;background:currentColor;right:-5px;top:6px;transform:rotate(-42deg);box-shadow:8px -1px 0 0 currentColor}
.cards h3{font-size:19px;line-height:1.28;margin:10px 0 12px}
.cards p{font-size:14px;line-height:1.5;margin-bottom:0}

/* Clean illustrative image: no generated lettering, labels or overlays */
.plant{
  background:
    linear-gradient(0deg,rgba(3,17,28,.72),rgba(3,17,28,.03) 58%),
    url("assets/hero-industrial.webp") 72% center/cover no-repeat;
}
.image-note{display:none}
.facility h3,.facility p{z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.7)}

/* Investigation strip */
.investigate{padding-top:58px;padding-bottom:64px}
.topics{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-top:1px solid #174760}
.topics>div{min-height:126px;padding:18px 12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border-right:1px solid #174760}
.topics>div:last-child{border-right:0}
.topics>div>span:last-child{font-size:13px;line-height:1.35;color:#d5e2e9}
.topic-icon{width:34px;height:34px;margin:0 auto 13px;display:block;position:relative;color:#8ed4ff}

/* simple consistent line icons */
.tank-icon{border:2px solid currentColor;border-radius:50%/20%}
.tank-icon:before{content:"";position:absolute;left:-2px;right:-2px;top:5px;border-top:2px solid currentColor;border-radius:50%}
.tank-icon:after{content:"";position:absolute;left:5px;right:5px;bottom:-5px;border-bottom:2px solid currentColor}
.gauge-icon{border:2px solid currentColor;border-radius:50% 50% 8px 8px}
.gauge-icon:before{content:"";position:absolute;width:12px;height:2px;background:currentColor;left:15px;top:18px;transform-origin:left center;transform:rotate(-55deg)}
.doc-icon{border:2px solid currentColor;border-radius:2px}
.doc-icon:before{content:"";position:absolute;left:6px;right:6px;top:9px;border-top:2px solid currentColor;box-shadow:0 7px 0 currentColor,0 14px 0 currentColor}
.project-icon{border:2px solid currentColor;border-radius:50% 50% 4px 4px;height:24px;margin-top:5px}
.project-icon:before{content:"";position:absolute;width:40px;border-top:2px solid currentColor;left:-5px;bottom:-5px}
.people-icon:before,.people-icon:after{content:"";position:absolute;border:2px solid currentColor;border-radius:50%;width:10px;height:10px;top:2px}
.people-icon:before{left:5px}.people-icon:after{right:5px}
.people-icon{border-bottom:2px solid currentColor;border-radius:50%;height:30px}
.clock-icon{border:2px solid currentColor;border-radius:50%}
.clock-icon:before{content:"";position:absolute;left:15px;top:6px;width:2px;height:11px;background:currentColor}
.clock-icon:after{content:"";position:absolute;left:15px;top:16px;width:9px;height:2px;background:currentColor;transform:rotate(30deg);transform-origin:left center}
.factory-icon{border-bottom:2px solid currentColor;height:30px;margin-top:4px}
.factory-icon:before{content:"";position:absolute;left:1px;bottom:0;width:29px;height:19px;border:2px solid currentColor;clip-path:polygon(0 45%,25% 20%,25% 45%,55% 15%,55% 45%,100% 0,100% 100%,0 100%)}
.factory-icon:after{content:"";position:absolute;left:5px;bottom:5px;width:4px;height:5px;background:currentColor;box-shadow:9px 0 currentColor,18px 0 currentColor}

/* tighter visual continuity around example */
#example{padding-bottom:48px}
#example+.investigate{padding-top:12px}

/* Responsive behaviour: preserve the designed 3-card row on tablets, stack only on phones */
@media(max-width:700px){
  .cards{grid-template-columns:1fr}
  .topics{grid-template-columns:repeat(2,1fr)}
  .topics>div{border-bottom:1px solid #174760}
  .topics>div:nth-child(2n){border-right:0}
}

/* v5 — closer approved-design implementation */
body{background:#031522} section{max-width:1120px} h2{font-size:32px}
.nav{max-width:1120px;height:72px;padding:0}.brand{font-size:22px}.brand small{font-size:10px}.nav nav{gap:32px}.nav nav a{font-size:14px}

/* full-width integrated hero */
.hero{max-width:none;min-height:520px;padding:0;margin:0;overflow:hidden;border-bottom:1px solid #11384d;
background:linear-gradient(90deg,#031522 0%,#031522 31%,rgba(3,21,34,.9) 43%,rgba(3,21,34,.22) 70%,rgba(3,21,34,.28) 100%),url("assets/hero-industrial.webp") 67% 48%/cover no-repeat}
.hero .art{display:none}.hero .copy{width:1120px;margin:auto;padding:62px 620px 58px 0;position:relative;z-index:2}
.hero h1{font-size:54px;line-height:1.02;letter-spacing:-1.7px;margin-bottom:20px}.hero .lead{font-size:17px;line-height:1.48}.hero .actions{margin-top:26px}

/* signal section */
.problem{min-height:250px;padding:40px 0;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.problem h2{font-size:31px;margin-bottom:14px}.problem>div:first-child p{font-size:15px;line-height:1.5}
.questions{border-left:1px solid #1a526d;padding-left:58px;display:grid;gap:16px}
.questions>div{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:18px}.questions p{margin:0;color:#e3edf2;font-size:14px}
.qicon{width:42px;height:42px;border:2px solid #12a8ff;border-radius:50%;display:grid;place-items:center;color:#12a8ff;font-size:22px}

/* how */
.how-section{padding:38px 0 30px}.how-section>h2{margin-bottom:14px}.cards{grid-template-columns:repeat(3,1fr);gap:18px}
.cards article{min-height:196px;padding:18px 20px;background:linear-gradient(145deg,#08273d,#061d2e);border:1px solid #1b5a78;border-radius:5px}
.card-head{margin-bottom:5px}.step-no{font-size:27px}.card-head b{font-size:11px;letter-spacing:1.2px}
.cards h3{font-size:18px;margin:8px 0 10px}.cards p{font-size:13px;line-height:1.48}

/* example */
#example{padding:14px 0 8px}#example>h2{margin-bottom:13px}.insight{grid-template-columns:1.08fr 1fr;min-height:300px;border-radius:5px}
.facility{min-height:300px}.plant{background:linear-gradient(0deg,rgba(2,16,27,.78),rgba(2,16,27,.05) 60%),url("assets/hero-industrial.webp") 73% 55%/cover no-repeat;transform:scale(1.03)}
.facility h3{left:20px;bottom:55px;font-size:18px}.facility p{left:20px;bottom:16px;font-size:13px}.details{padding:14px 18px}
.row{grid-template-columns:130px 1fr;padding:10px 0;font-size:13px;line-height:1.4}

/* investigation strip */
.investigate{padding:8px 0 28px}.investigate>h2{font-size:29px;margin-bottom:8px}.topics{border-top:0}
.topics>div{min-height:96px;padding:8px;border-top:0}.topics>div>span:last-child{font-size:12px}.topic-icon{width:30px;height:30px;margin-bottom:9px}

/* State Shift: copy left, states right */
.shift{max-width:none;padding:28px max(calc((100% - 1120px)/2),24px);display:grid;grid-template-columns:1fr 1.45fr;gap:46px;align-items:start;background:#072438}
.shift>h2{grid-column:1;margin:0 0 8px;font-size:30px}.shift>p:first-of-type{grid-column:1;margin:0;font-size:13px;line-height:1.45}
.shift .states{grid-column:2;grid-row:1/span 2;margin:0;gap:13px}.statebox{min-height:118px;padding:15px}.statebox p{font-size:12px}
.shift>p:last-child{grid-column:2;text-align:center;margin:7px 0 0;font-size:11px}

/* compact CTA + footer */
.cta{margin:18px auto 22px;padding:20px 24px;min-height:90px;display:grid;grid-template-columns:1fr auto;align-items:center}
.cta h2{font-size:23px;margin-bottom:5px}.cta p{font-size:12px;margin:0}.cta .btn{grid-column:2;grid-row:1/span 2}
.site-footer{max-width:none;padding:16px max(calc((100% - 1120px)/2),24px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid #12394e}
.site-footer .brand{font-size:18px}.site-footer .brand small{font-size:8px}.site-footer nav{display:flex;gap:24px}
.site-footer a,.site-footer p{font-size:11px;color:#a9bdc8;text-decoration:none}.site-footer p{text-align:right;margin:0}

/* tablet — matches the width shown in supplied screenshots */
@media(max-width:900px){
 .nav{max-width:none;padding:0 42px}section{max-width:none;margin-left:42px;margin-right:42px}
 .hero{margin:0}.hero .copy{width:auto;padding:62px 53% 58px 82px}.hero h1{font-size:46px}
 .problem,.how-section,#example,.investigate{margin-left:42px;margin-right:42px}
 .shift{padding-left:42px;padding-right:42px}.cta{margin-left:42px;margin-right:42px}.site-footer{padding-left:42px;padding-right:42px}
}
/* real phone breakpoint */
@media(max-width:620px){
 .nav{padding:0 20px;height:64px}.nav nav a{display:none}.nav nav{gap:8px}section{margin-left:20px;margin-right:20px}
 .hero{min-height:650px;background:linear-gradient(180deg,rgba(3,21,34,.05),rgba(3,21,34,.28) 38%,#031522 69%),url("assets/hero-industrial.webp") 64% 0/auto 330px no-repeat,#031522}
 .hero .copy{padding:300px 20px 42px}.hero h1{font-size:42px}
 .problem{margin:0 20px;grid-template-columns:1fr;gap:24px;padding:34px 0}.questions{padding-left:0;border-left:0}
 .cards{grid-template-columns:1fr}.insight{grid-template-columns:1fr}.facility{min-height:260px}.topics{grid-template-columns:repeat(2,1fr)}
 .shift{padding:30px 20px;display:block}.shift .states{margin-top:24px;grid-template-columns:1fr}.shift>p:last-child{text-align:left}
 .cta{margin:18px 20px;display:block}.cta .btn{margin-top:15px}
 .site-footer{padding:20px;grid-template-columns:1fr;gap:12px}.site-footer p{text-align:left}
}

/* v6 — comparison corrections */

/* Never use the generated source artwork directly: clean crops only. */
.hero{
  background:
    linear-gradient(90deg,#031522 0%,#031522 29%,rgba(3,21,34,.91) 41%,rgba(3,21,34,.28) 68%,rgba(3,21,34,.22) 100%),
    url("assets/hero-clean.webp") 67% 48%/cover no-repeat !important;
}
.plant{
  background:
    linear-gradient(0deg,rgba(2,16,27,.80),rgba(2,16,27,.03) 62%),
    url("assets/facility-example-clean.webp") center/cover no-repeat !important;
  transform:none !important;
}

/* Give the logo and navigation the same inset as the approved design. */
.nav{padding-left:42px;padding-right:42px;max-width:1204px}
@media(min-width:1205px){.nav{padding-left:42px;padding-right:42px}}

/* What we investigate — replace CSS approximations with consistent technical SVG line icons. */
.topic-icon{
  width:38px !important;height:38px !important;margin:0 auto 10px !important;
  display:grid !important;place-items:center;color:#b9d4e3 !important;
}
.topic-icon:before,.topic-icon:after{display:none !important;content:none !important}
.topic-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.topics>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.topics>div>span:last-child{min-height:34px}

/* Keep the section visually lighter, as in the approved design. */
.investigate{padding-top:14px !important}
.topics{gap:0 !important;border-top:1px solid #16465f !important}
.topics>div{border-top:0 !important;padding-top:14px !important}

/* On the tablet-sized viewport in the supplied screenshots, avoid edge clipping. */
@media(max-width:900px){
  .nav{padding-left:42px;padding-right:42px}
  .hero{
    background:
      linear-gradient(90deg,#031522 0%,#031522 27%,rgba(3,21,34,.90) 42%,rgba(3,21,34,.25) 72%),
      url("assets/hero-clean.webp") 68% center/cover no-repeat !important;
  }
}
@media(max-width:620px){
  .nav{padding-left:20px;padding-right:20px}
  .hero{
    background:
      linear-gradient(180deg,rgba(3,21,34,.05),rgba(3,21,34,.28) 38%,#031522 69%),
      url("assets/hero-clean.webp") 62% 0/auto 330px no-repeat,#031522 !important;
  }
}

/* v7 — codebase comparison corrections */

/* One hero image, with a separate continuous overlay. No vertical image join. */
.hero{position:relative!important;isolation:isolate;background:#031522!important;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/hero-v7-clean.webp") center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,21,34,.98) 0%,rgba(3,21,34,.94) 20%,rgba(3,21,34,.80) 36%,rgba(3,21,34,.53) 49%,rgba(3,21,34,.25) 63%,rgba(3,21,34,.08) 100%)}
.hero .copy{z-index:1}

/* Separate example image, not the hero. Strong caption fade for legibility. */
.plant{background:linear-gradient(180deg,rgba(2,16,27,.02),rgba(2,16,27,.08) 55%,rgba(2,16,27,.86)),url("assets/diamond-example-v7-clean.webp") center/cover no-repeat!important;transform:none!important}
.facility::before{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:112px;background:linear-gradient(180deg,rgba(3,19,30,0),rgba(3,19,30,.84) 42%,rgba(3,19,30,.98));pointer-events:none}
.facility h3{z-index:3!important;left:20px!important;bottom:50px!important;margin:0!important;font-size:17px!important;line-height:1.15!important;font-weight:750!important;color:#fff!important;text-shadow:0 2px 9px #000!important}
.facility p{z-index:3!important;left:20px!important;bottom:13px!important;margin:0!important;font-size:12.5px!important;line-height:1.35!important;color:#fff!important;text-shadow:0 2px 9px #000!important}

/* Exact icon family from approved design: factory, tank, gauge, document,
   hard hat, three people, clock. */
.investigate>h2{margin-bottom:13px!important}
.topics{border-top:0!important}
.topics>div{min-height:91px!important;padding:5px 9px 8px!important;border-right:1px solid #17465e!important;justify-content:flex-start!important}
.topics>div:last-child{border-right:0!important}
.topic-icon{width:40px!important;height:40px!important;margin:0 auto 8px!important;color:#d6e8f2!important}
.topic-icon:before,.topic-icon:after{display:none!important;content:none!important}
.topic-icon svg{display:block;width:40px!important;height:40px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.topics>div>span:last-child{font-size:11.5px!important;line-height:1.22!important;color:#eef5f8!important}

/* Match example proportions in the approved design. */
.insight{grid-template-columns:1.03fr .97fr!important}
.facility,.details{min-height:292px!important}

@media(max-width:900px){
 .hero{background:#031522!important}
 .hero::after{background:url("assets/hero-v7-clean.webp") center/cover no-repeat!important}
 .hero::before{background:linear-gradient(90deg,rgba(3,21,34,.98),rgba(3,21,34,.92) 22%,rgba(3,21,34,.76) 39%,rgba(3,21,34,.45) 55%,rgba(3,21,34,.10) 100%)!important}
}
@media(max-width:620px){
 .hero{min-height:650px!important}
 .hero::after{background:url("assets/hero-v7-clean.webp") 58% 0/auto 330px no-repeat!important}
 .hero::before{background:linear-gradient(180deg,rgba(3,21,34,.03),rgba(3,21,34,.18) 32%,rgba(3,21,34,.86) 52%,#031522 68%)!important}
 .facility{min-height:270px!important}
}


/* ============================================================
   v8 — section-by-section match to the approved reference
   ============================================================ */

:root{
  --v8-width:840px;
  --v8-bg:#031522;
  --v8-panel:#08243a;
  --v8-line:#164b67;
  --v8-blue:#0ca5ff;
  --v8-text:#f4f8fb;
  --v8-muted:#b8c9d3;
}
body{background:var(--v8-bg)!important;color:var(--v8-text)!important}
main>section:not(.hero):not(.shift):not(.cta){
  width:min(var(--v8-width),calc(100% - 48px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
section>h2,.problem h2{font-size:28px!important;line-height:1.12!important;letter-spacing:-.35px!important}

/* HEADER */
.nav{
  position:relative!important;
  height:58px!important;
  width:min(var(--v8-width),calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
}
body>header.nav:before{
  content:"";position:absolute;left:50%;top:0;width:100vw;height:58px;
  transform:translateX(-50%);z-index:-1;background:rgba(3,21,34,.94);
  border-bottom:1px solid #12384d;
}
.nav .brand{font-size:20px!important}.nav .brand small{font-size:8px!important;margin-top:3px!important}
.nav nav{gap:27px!important}.nav nav a{font-size:12px!important}
.nav button{padding:10px 18px!important;font-size:12px!important}

/* HERO — IMPORTANT: remove the child hero-art completely from visual layout.
   v7 had both ::after and .hero-art, which caused the two-image appearance. */
.hero{
  display:block!important;
  min-height:374px!important;
  height:374px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #12384d!important;
  position:relative!important;
  isolation:isolate!important;
  background:#031522!important;
}
.hero-art{display:none!important;background:none!important}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url("assets/hero-v7-clean.webp") center 48%/cover no-repeat!important;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(3,21,34,.98) 0%,rgba(3,21,34,.94) 14%,rgba(3,21,34,.80) 30%,rgba(3,21,34,.48) 47%,rgba(3,21,34,.15) 66%,rgba(3,21,34,.04) 100%)!important;
}
.hero-copy{
  width:min(var(--v8-width),calc(100% - 48px))!important;
  margin:0 auto!important;
  padding:40px 0 0!important;
}
.hero .eyebrow{font-size:11px!important;letter-spacing:1.8px!important;margin:0 0 10px!important}
.hero h1{
  width:390px!important;max-width:52%!important;
  font-size:39px!important;line-height:.99!important;letter-spacing:-1.1px!important;
  margin:0 0 14px!important;
}
.hero p{
  width:345px!important;max-width:48%!important;
  font-size:14px!important;line-height:1.42!important;margin:0!important;color:#d1dde4!important;
}
.hero .actions{margin-top:18px!important;gap:13px!important}
.hero .actions .primary,.hero .actions .secondary{font-size:11px!important;padding:10px 17px!important}

/* SIGNAL / PROBLEM */
.problem{
  min-height:196px!important;padding-top:23px!important;padding-bottom:22px!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:56px!important;align-items:center!important;
}
.problem h2{width:340px!important;margin:0 0 11px!important}
.problem>div:first-child p{font-size:12.5px!important;line-height:1.42!important;margin:0!important;max-width:350px!important}
.questions{border-left:1px solid #1c5069!important;padding-left:48px!important;display:grid!important;gap:10px!important}
.question-item{display:grid!important;grid-template-columns:45px 1fr!important;gap:16px!important;align-items:center!important}
.question-item p{margin:0!important;font-size:12px!important;color:#edf4f7!important}
.question-icon{
  width:43px!important;height:43px!important;border:1.5px solid var(--v8-blue)!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;color:var(--v8-blue)!important;
}
.question-icon svg{width:25px!important;height:25px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* HOW IT WORKS */
.how-section{padding-top:17px!important;padding-bottom:18px!important}
.how-section>h2{margin:0 0 10px!important}
.cards{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
.cards article{
  min-height:176px!important;padding:15px 18px!important;border-radius:5px!important;
  background:linear-gradient(145deg,#08283f,#061d2f)!important;border:1px solid #18506e!important;
}
.card-head{height:31px!important;min-height:31px!important;margin:0 0 6px!important}
.step-no{font-size:24px!important}.card-head b{font-size:10px!important;letter-spacing:.6px!important}
.line-icon{transform:scale(.82);transform-origin:right center}
.cards h3{font-size:15px!important;line-height:1.18!important;margin:5px 0 9px!important}
.cards p{font-size:11.5px!important;line-height:1.42!important;margin:0!important;color:#bdccd5!important}

/* EXAMPLE */
#example{padding-top:0!important;padding-bottom:9px!important}
#example>h2{margin:0 0 9px!important}
.insight{
  display:grid!important;grid-template-columns:1.04fr .96fr!important;
  min-height:226px!important;border-radius:4px!important;border:1px solid #18506d!important;
}
.facility,.result{min-height:226px!important}
.facility{padding:0!important;position:relative!important;overflow:hidden!important}
.plant{
  position:absolute!important;inset:0!important;
  background:
    linear-gradient(180deg,rgba(2,16,27,.00) 0%,rgba(2,16,27,.03) 56%,rgba(2,16,27,.84) 100%),
    url("assets/diamond-example-v7-clean.webp") center/cover no-repeat!important;
}
.facility::before{height:82px!important}
.facility h3{left:16px!important;bottom:38px!important;font-size:14px!important}
.facility p{left:16px!important;bottom:9px!important;font-size:10.5px!important;line-height:1.25!important}
.result{padding:8px 14px!important;background:#061d2f!important}
.result-top{padding:0 0 6px!important;font-size:10.5px!important}
.result dl{grid-template-columns:126px 1fr!important}
.result dt,.result dd{padding:7px 0!important;font-size:10.5px!important;line-height:1.34!important}
.result dt{padding-right:10px!important}

/* WHAT WE INVESTIGATE */
.investigate{padding-top:5px!important;padding-bottom:13px!important}
.investigate>h2{margin:0 0 8px!important}
.topics{grid-template-columns:repeat(7,1fr)!important;gap:0!important}
.topics>div{
  min-height:78px!important;padding:2px 8px 5px!important;border-right:1px solid #17465e!important;
}
.topic-icon{width:34px!important;height:34px!important;margin:0 auto 5px!important;color:#dcebf3!important}
.topic-icon svg{width:34px!important;height:34px!important;stroke-width:1.55!important}
.topics>div>span:last-child{font-size:9.5px!important;line-height:1.18!important;color:#f0f5f7!important}

/* STATE SHIFT */
.shift{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:15px max(calc((100% - var(--v8-width))/2),24px) 13px!important;
  display:grid!important;grid-template-columns:1.02fr 1.35fr!important;column-gap:38px!important;row-gap:0!important;
  background:#072438!important;
}
.shift>h2{font-size:27px!important;margin:0 0 5px!important}
.shift>p:first-of-type{font-size:10.5px!important;line-height:1.38!important;margin:0!important;max-width:330px!important}
.shift .states{gap:10px!important;margin:0!important}
.statebox,.states article{min-height:82px!important;padding:11px 12px!important;border-radius:5px!important}
.states article b{font-size:10px!important}.states article p{font-size:9.5px!important;line-height:1.35!important;margin:7px 0 0!important}
.shift>p:last-child{font-size:8.5px!important;margin:5px 0 0!important}

/* CTA */
.cta{
  width:min(var(--v8-width),calc(100% - 48px))!important;max-width:none!important;
  margin:12px auto!important;padding:11px 17px!important;min-height:69px!important;
  display:grid!important;grid-template-columns:1fr auto!important;gap:18px!important;border-radius:5px!important;
}
.cta h2{font-size:18px!important;margin:0 0 3px!important}.cta p{font-size:9.5px!important;line-height:1.35!important}
.cta .primary{font-size:10px!important;padding:10px 15px!important}

/* FOOTER */
.design-footer{padding:0!important;border-top:1px solid #12384d!important}
.footer-inner{
  width:min(var(--v8-width),calc(100% - 48px));height:55px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;
}
.footer-inner .brand{font-size:16px!important}.footer-inner .brand small{font-size:7px!important;margin-top:2px!important}
.footer-inner nav{display:flex;gap:18px}.footer-inner nav a{font-size:9px;color:#d3dee4;text-decoration:none}
.footer-inner p{font-size:9px!important;text-align:right!important;margin:0!important;color:#aebfc9!important}

/* Keep the approved desktop composition at the browser width shown in the
   supplied Android screenshots. Only switch to a stacked mobile layout when
   the CSS viewport is genuinely narrow. */
@media(max-width:720px){
  :root{--v8-width:calc(100% - 32px)}
  .nav{width:calc(100% - 32px)!important}
  .nav nav a{display:none!important}
  .hero{height:auto!important;min-height:590px!important}
  .hero::after{background-position:60% top!important;background-size:auto 320px!important;background-repeat:no-repeat!important}
  .hero::before{background:linear-gradient(180deg,rgba(3,21,34,.05),rgba(3,21,34,.16) 28%,rgba(3,21,34,.88) 50%,#031522 64%)!important}
  .hero-copy{width:calc(100% - 32px)!important;padding-top:300px!important}
  .hero h1,.hero p{width:auto!important;max-width:none!important}
  .hero h1{font-size:39px!important}
  .problem{grid-template-columns:1fr!important;gap:20px!important}
  .problem h2{width:auto!important}
  .questions{border-left:0!important;padding-left:0!important}
  .cards{grid-template-columns:1fr!important}
  .insight{grid-template-columns:1fr!important}.facility{min-height:245px!important}
  .topics{grid-template-columns:repeat(2,1fr)!important}
  .shift{display:block!important;padding:22px 16px!important}.shift .states{grid-template-columns:1fr!important;margin-top:18px!important}
  .cta{display:block!important}.cta .primary{margin-top:10px!important}
  .footer-inner{height:auto;padding:18px 0;grid-template-columns:1fr;gap:10px}.footer-inner p{text-align:left!important}
}


/* ============================================================
   v9 — final two reference-match corrections
   ============================================================ */

/* 1. Diamond Pet Foods caption.
   Match approved design: a clearly defined dark caption band at the bottom,
   larger facility name, and readable location/type lines. */
.facility::before{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:78px!important;
  background:linear-gradient(
    180deg,
    rgba(2,15,25,0) 0%,
    rgba(2,15,25,.68) 24%,
    rgba(2,15,25,.94) 58%,
    rgba(2,15,25,.98) 100%
  )!important;
  pointer-events:none!important;
}
.facility h3{
  z-index:4!important;
  left:16px!important;
  bottom:39px!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:#fff!important;
  letter-spacing:0!important;
  text-shadow:0 1px 5px rgba(0,0,0,.95)!important;
}
.facility p{
  z-index:4!important;
  left:16px!important;
  bottom:9px!important;
  font-size:11.5px!important;
  line-height:1.28!important;
  font-weight:500!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 5px rgba(0,0,0,.95)!important;
}

/* 2. What we investigate.
   Match approved design: larger clean white outline icons, no decorative
   baselines beneath the icons, consistent 7-column dividers and spacing. */
.investigate>h2{
  margin-bottom:7px!important;
}
.topics{
  border-top:0!important;
  border-bottom:0!important;
}
.topics>div{
  min-height:82px!important;
  padding:2px 10px 7px!important;
  border-right:1px solid #1a4a61!important;
}
.topics>div:last-child{
  border-right:0!important;
}
.topic-icon{
  position:relative!important;
  display:block!important;
  width:38px!important;
  height:38px!important;
  margin:0 auto 5px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#e5f1f6!important;
}
.topic-icon::before,
.topic-icon::after{
  display:none!important;
  content:none!important;
}
.topic-icon svg{
  display:block!important;
  width:38px!important;
  height:38px!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.topics>div>span:last-child{
  display:block!important;
  max-width:92px!important;
  margin:0 auto!important;
  font-size:9.8px!important;
  line-height:1.18!important;
  font-weight:400!important;
  color:#f4f8fa!important;
  text-align:center!important;
}

/* Preserve the reference treatment at narrower widths too. */
@media(max-width:720px){
  .facility h3{font-size:16px!important}
  .facility p{font-size:12px!important}
  .topic-icon,.topic-icon svg{width:40px!important;height:40px!important}
}

/* v10 — laptop hero full-bleed fix (2026-09-24)
   Keep the approved content layout, but force the hero image layer to span
   the viewport symmetrically at desktop/laptop widths and retain a readable
   left-side text gradient. */
@media (min-width:721px){
  .hero{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
  .hero::after{
    inset:0!important;
    background:url("assets/hero-v7-clean.webp") center 48%/cover no-repeat!important;
  }
  .hero::before{
    inset:0!important;
    background:linear-gradient(90deg,
      rgba(3,21,34,.91) 0%,
      rgba(3,21,34,.88) 14%,
      rgba(3,21,34,.76) 30%,
      rgba(3,21,34,.46) 47%,
      rgba(3,21,34,.15) 66%,
      rgba(3,21,34,.04) 100%)!important;
  }
}
