/* Loaded only by the homepage while these refinements are under review. */
.site-header .desktop-nav .nav-link{font-size:clamp(13px,.85vw,16px);font-weight:600}
@media(min-width:901px) and (max-width:1200px){
 .site-header .desktop-nav{display:none}
 .site-header .menu-toggle{display:flex}
 .site-header .header-actions{margin-left:auto}
}
.ref-stats strong small{display:block;font-family:var(--body);font-size:16.5px;letter-spacing:.06em;font-weight:700;margin-top:10px;color:var(--green)}
.capacity strong small{display:block;font-family:var(--body);font-size:14px;line-height:1.4;margin-top:7px;letter-spacing:.03em}
.capacity b{white-space:normal;line-height:1.4}
.trusted{background:var(--paper);box-shadow:0 0 0 100vmax var(--paper)}
.menu-label{stroke:rgba(0,0,0,.55);stroke-width:1.4px;paint-order:stroke fill;filter:drop-shadow(0 2px 3px rgba(0,0,0,.9))}
.home-footer-details{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:40px;margin-top:36px;padding-top:30px;border-top:1px solid #ffffff40}
.home-footer-details h3{font-family:var(--body);font-size:18px;font-weight:650;line-height:1.5;margin:0 0 14px}
.home-footer-details address{font-style:normal;font-size:18px;line-height:1.7;margin-bottom:12px;opacity:.85}
.home-footer-details a{display:block;font-size:18px;line-height:1.7;width:fit-content;overflow-wrap:anywhere}
.home-footer-details a:hover{text-decoration:underline;text-underline-offset:4px}
.home-footer-details a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.home-footer-logos{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.home-footer-logos img{width:92px;height:58px;object-fit:contain;padding:10px;background:var(--paper);border-radius:3px}
@media(max-width:700px){
 .home-footer-details{grid-template-columns:1fr;gap:28px;margin-top:28px;padding-top:26px}
 .home-footer-details h3{margin-bottom:10px}
 .home-footer-logos img{width:84px;height:56px}
 .ref-stats strong small{font-size:15px}
}
@media(min-width:901px) and (max-width:1200px){
 .site-header .menu-toggle{flex-direction:column;justify-content:center;gap:6px;margin-left:7px}
 .menu-toggle span{height:1px;background:var(--ink);width:22px;transition:transform .3s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .mobile-menu:not([hidden]){display:flex;position:fixed;inset:var(--header) 0 0;z-index:49;background:var(--paper);padding:24px var(--pad);flex-direction:column;overflow:auto}
}
/* Rebuild the infographic center as selectable HTML text and crisp SVG icons. */
.intelligence-art{container-type:inline-size}
.intelligence-cycle,.intelligence-cycle-art{position:absolute;inset:0;width:100%;height:100%}
.intelligence-cycle{pointer-events:none}
.intelligence-cycle-art .cycle-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.intelligence-cycle-copy{position:absolute;left:32.5%;top:37.5%;width:28.4%;margin:0;text-align:center;font-family:'Barlow Condensed';font-weight:700;font-size:2.95cqw;line-height:1.25;color:#235d33}
.intelligence-cycle-copy span{display:block}
@media(max-width:700px){.intelligence-cycle-copy{font-size:3.2cqw;top:37%}}

/* Google Fonts Playfair Display, hosted locally for file and offline previews. */
.who-statement h2 i,.ref-copy .ref-serif,.ref-copy .technology,.serif,.signature{font-family:'Playfair Display'}
/* Keep the menu slogan within its panel at wide desktop sizes. */
.s03 .ref-copy .handwritten{
 font-family:'Take Easy TR'!important;
 font-style:italic;
 font-weight:400;
 font-size:clamp(24px,2.1vw,48px)!important;
 line-height:1.2!important;
 letter-spacing:-.02em;
 transform:none;
 margin-left:0;
 margin-top:clamp(20px,2vw,44px)!important;
 max-width:none;
 width:100%;
}
@media(max-width:900px){
 .s03 .ref-copy .handwritten{font-size:28px!important;margin-top:25px!important}
}
@media(min-width:1900px){
 .s03 .ref-copy{top:min(3.3vw,64px)}
 .s03 .ref-copy h2{font-size:min(5.2vw,120px)}
 .s03 .ref-label{margin-bottom:min(1.3vw,32px)}
 .s03 .ref-copy>p:not(.handwritten){font-size:min(1.25vw,24px);line-height:1.5;margin-top:min(1.2vw,30px);margin-bottom:0}
 .s03 .ref-button{padding:18px 28px;margin-top:24px}
 .s03 .ref-copy .handwritten{font-size:min(2.1vw,44px)!important}
}
/* Preserve icon outlines and their stroke at every responsive size. */
.format-strip svg{flex-shrink:0;overflow:visible}
/* Give production standards room below the copy instead of clipping the logos. */
.s05 .ref-copy .technology{font-size:clamp(22px,1.55vw,30px);line-height:1.3}
.s05 .ref-copy>.ref-tracked{font-size:clamp(12.5px,0.83vw,15px);letter-spacing:.08em;line-height:1.5}
.s05 .cert-strip{padding-bottom:12px}
@media(min-width:901px){
 .s05{height:auto;min-height:calc(100svh - var(--header));max-height:none}
 .s05 .screen{min-height:max-content}
 .s05 .ref-copy{position:relative;left:auto;top:auto;margin-left:var(--refpad);width:44%;padding:clamp(24px,1.4vw,48px) 0 36px}
 .s05 .ref-copy h2{font-size:min(6.35vw,112px)}
 .s05 .ref-copy .ref-serif{font-size:min(1.65vw,30px)}
 .s05 .capacity{margin-top:clamp(24px,2vw,42px)}
 .s05 .capacity strong{font-size:clamp(24px,1.9vw,38px)}
 .s05 .capacity b{font-size:clamp(12.5px,0.86vw,16.5px)}
 .s05 .capacity p{font-size:clamp(14px,0.88vw,18px)}
 .s05 .ref-copy .technology{margin-top:clamp(20px,1.4vw,30px);margin-bottom:0}
 .s05 .ref-copy>.ref-tracked{margin-top:18px;margin-bottom:0}
 .s05 .cert-strip{margin-top:22px;gap:clamp(18px,1.5vw,30px);max-width:100%;flex-wrap:wrap;align-items:center}
 .s05 .cert-strip>img{width:clamp(80px,7vw,126px);height:64px;padding-right:18px;flex-shrink:0}
 .s05 .clean-energy{font-size:18px}
 .s05 .clean-energy small{font-size:14px}
 .s05 .clean-energy svg{flex-shrink:0}
}
/* Align the rail motto to the page center, independently of its side controls. */
.ref-rail{position:relative}
.ref-rail .rail-motto{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
.who-statement h2,.who-bottom>p{text-align:center}
@media(min-width:901px){
 .s02 .who-statement{left:var(--refpad);width:calc(100% - 2 * var(--refpad))}
 .s02 .who-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:28px}
 .s02 .who-bottom>.brand-glyph{justify-self:end}
 .s02 .who-bottom>p{max-width:600px;margin:0}
 .s02 .who-bottom>.text-link{justify-self:end;margin-left:0;margin-right:0}
}
@media(max-width:1250px){.ref-rail .rail-motto{display:none}}
@media(max-width:900px){.s02 .who-bottom>.text-link{display:flex;width:fit-content;margin-left:auto;margin-right:auto}}
/* Preserve the factory photo proportions and align both location badges. */
.s05 .scale-art img{object-fit:cover;object-position:center}
.s05 .scale-art figcaption{left:8%;top:24px;width:clamp(160px,25%,240px);min-width:0;padding:14px 18px;font-size:clamp(22px,1.7vw,34px)}
.s05 .scale-art figcaption small{margin:14px -18px -14px;padding:12px 18px;font-size:15px}
@media(max-width:900px){.s05 .scale-art figcaption{left:20px;top:20px;width:190px;font-size:24px}}
/* Homepage partner carousel: six, four or two logos per group. */
.s06 .trusted{display:grid;grid-template-columns:minmax(160px,auto) minmax(0,1fr);gap:32px}
.s06 .trusted h3{font-size:clamp(18px,1.3vw,26px);padding-right:28px}
.partner-slider{min-width:0;--partner-count:6}
.partner-logo-track{display:grid;grid-template-columns:repeat(var(--partner-count),minmax(0,1fr));gap:24px;align-items:center}
.partner-logo{display:flex;align-items:center;justify-content:center;min-width:0;height:72px}
.partner-logo[hidden]{display:none}
.s06 .trusted .partner-logo img{width:100%;height:100%;object-fit:contain}
.partner-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.partner-slider-controls button{width:28px;height:28px;display:grid;place-items:center;font-size:16px;color:var(--green);border:1px solid var(--line);background:transparent;cursor:pointer}
.partner-slider-controls button:hover{background:#e6e8df}
.partner-slider-controls button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:1250px){.partner-logo-track{gap:16px}.partner-logo{height:58px}}
@media(max-width:900px){.s06 .trusted{grid-template-columns:1fr;gap:20px}.s06 .trusted h3{grid-column:auto}.partner-logo{height:72px}}
/* Larger logos in a freely draggable band without navigation controls. */
.partner-logo-track{display:flex;gap:clamp(24px,3vw,58px);overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;scroll-behavior:smooth;user-select:none}
.partner-logo-track::-webkit-scrollbar{display:none}
.partner-logo-track.is-dragging{cursor:grabbing;scroll-behavior:auto}
.partner-logo{flex:0 0 clamp(130px,10vw,190px);height:clamp(90px,7vw,140px)}
.s06 .trusted .partner-logo img{pointer-events:none;user-select:none}
.partner-logo-track:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:900px){.partner-logo{flex-basis:150px;height:120px}}
/* Show eight partner logos across the desktop band. */
@media(min-width:901px){
 .partner-logo-track{gap:clamp(18px,1.5vw,30px)}
 .partner-logo{flex:0 0 calc((100% - 7 * clamp(18px,1.5vw,30px)) / 8);height:clamp(82px,6vw,120px)}
}
