@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}

:root{
  --steel:#E6EAEC;
  --sheet:#F2F4F5;
  --ink:#0E1411;
  --muted:#46525A;
  --line:#74828B;
  --green:#16A34A;
  --green-deep:#116B33;
  --gutter:clamp(20px,4vw,48px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;padding:clamp(8px,1.6vw,20px);background:var(--steel);color:var(--ink);font:400 clamp(1.0625rem,.98rem + .3vw,1.1875rem)/1.55 "Barlow",system-ui,sans-serif}
a{color:inherit}
a:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px}
h1,h2,h3,p,dl,dd,dt,ol,figure{margin:0;padding:0}
h1,h2{font-family:"Barlow Condensed","Barlow",system-ui,sans-serif;font-weight:600;line-height:1}

.sheet{max-width:1320px;margin:0 auto;background:var(--sheet);border:1.5px solid var(--ink)}

.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px var(--gutter);border-bottom:1.5px solid var(--ink)}
.brand{display:block;line-height:0}
.brand img{width:clamp(148px,16vw,192px);height:auto}
.top-link{font-weight:500;text-underline-offset:4px;padding:8px 0}

.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(40px,6vw,80px) var(--gutter)}
h1{font-size:clamp(3.1rem,1.8rem + 5.2vw,6.1rem);letter-spacing:-.012em;line-height:.97;max-width:14ch}
.lede{margin-top:clamp(20px,2.6vw,32px);max-width:34em;color:var(--muted)}
.button{display:inline-flex;align-items:center;min-height:52px;margin-top:clamp(24px,3vw,36px);padding:12px 24px;background:var(--ink);color:#fff;font-weight:600;text-decoration:none;transition:background-color .15s}
.button:hover{background:var(--green-deep)}

.plan svg{display:block;width:100%;height:auto}
.plan figcaption{margin-top:8px;text-align:center;color:var(--muted)}
.nut{fill:var(--ink)}
.core{fill:var(--green)}
.centre-lines line{stroke:var(--line);stroke-width:1.5;stroke-dasharray:26 6 4 6}
.leaders path{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}
.labels text{font:500 27px "Barlow",system-ui,sans-serif;fill:var(--ink)}

@media (prefers-reduced-motion:no-preference){
  .leaders path{animation:draw .55s ease-out both;animation-delay:calc(.25s + var(--d)*.11s)}
  .labels text{animation:label .3s ease-out both;animation-delay:calc(.6s + var(--d)*.11s)}
  @keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
  @keyframes label{from{opacity:0}to{opacity:1}}
}

.zone{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,4vw,56px);padding:clamp(36px,5vw,64px) var(--gutter);border-top:1.5px solid var(--ink)}
.zone h2,.contact h2{font-size:clamp(2.25rem,1.7rem + 2vw,3.5rem)}
.builds>div{padding:20px 0;border-top:1px solid var(--line)}
.builds>div:first-child{padding-top:0;border-top:0}
.builds>div:last-child{padding-bottom:0}
.builds dt{font-weight:600;font-size:1.2em}
.builds dd{margin-top:4px;max-width:38em;color:var(--muted)}
.why{max-width:34em;font-size:1.2em;line-height:1.45}

.zone-steps{grid-template-columns:minmax(0,1fr)}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(8px,1.4vw,16px)}
.steps li{counter-increment:step;border-top:2px solid var(--ink);padding-top:12px}
.steps li::before{content:counter(step);display:block;font:600 2.6rem/1 "Barlow Condensed","Barlow",sans-serif}
.steps h3{margin:12px 0 4px;font-size:1.05em;font-weight:600;line-height:1.25}
.steps p{color:var(--muted);font-size:.95em}

.contact{padding:clamp(40px,6vw,80px) var(--gutter);border-top:1.5px solid var(--ink);background:var(--ink);color:#fff}
.contact p{margin-top:16px;max-width:34em;color:#CDD6DA}
.contact .button{background:#fff;color:var(--ink)}
.contact .button:hover{background:#BFE8CD}
.contact a:focus-visible{outline-color:#fff}

.title-block dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.title-block div{padding:12px var(--gutter);border-top:1.5px solid var(--ink);border-left:1px solid var(--ink)}
.title-block div:first-child{border-left:0}
.title-block dt{font-size:.82em;color:var(--muted)}
.title-block dd{font-weight:500;overflow-wrap:anywhere}

@media (max-width:980px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li:last-child{grid-column:1 / -1}
}
@media (max-width:860px){
  .hero,.zone{grid-template-columns:minmax(0,1fr)}
  h1{max-width:12ch}
  .title-block dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .title-block div:nth-child(odd){border-left:0}
}
@media (max-width:520px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .title-block dl{grid-template-columns:minmax(0,1fr)}
  .title-block div{border-left:0}
}
