@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');

:root { --ink:#17201d; --pine:#183f36; --lime:#c9dc4b; --sand:#f2f0e9; --paper:#faf9f5; --line:#d8d9d2; --muted:#6a716e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:96px; padding:0 5vw; display:flex; align-items:center; color:#fff; border-bottom:1px solid rgba(255,255,255,.22); }
.brand { display:flex; align-items:center; min-width:250px; }
.brand img { width:190px; height:auto; padding:7px 9px; background:#fff; }
nav { margin:auto; display:flex; align-items:center; gap:38px; font-size:13px; }
nav a { position:relative; opacity:.75; } nav a:hover,nav a.active { opacity:1; }
nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:-38px; height:2px; background:var(--lime); }
.header-cta { min-width:250px; text-align:right; font-size:13px; }.header-cta span { margin-left:14px; color:var(--lime); }
.menu-button { display:none; color:#fff; border:0; background:transparent; font:inherit; }
.hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.hero-image { position:absolute; inset:0; background:url("site-assets/about/factory-exterior.png") center/cover; transform:scale(1.02); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,24,20,.93) 0%,rgba(9,24,20,.74) 38%,rgba(9,24,20,.16) 75%),linear-gradient(0deg,rgba(7,17,14,.7),transparent 50%); }
.hero-content { position:relative; z-index:2; margin:0 0 8vh 8vw; max-width:780px; }
.kicker { margin:0 0 28px; color:#6d7a75; font-size:11px; font-weight:600; letter-spacing:.18em; }.kicker.light { color:var(--lime); }
h1,h2,p { overflow-wrap:anywhere; } h1,h2 { margin:0; font-weight:400; line-height:1.12; letter-spacing:-.035em; }
h1 { font-size:clamp(3.5rem,7vw,7.8rem); } h2 { font-size:clamp(2.5rem,5vw,5.4rem); }
.hero-intro { max-width:570px; margin:30px 0 0; color:rgba(255,255,255,.72); font-size:16px; line-height:1.9; }
.round-link { margin-top:45px; width:120px; height:120px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; font-size:12px; transition:.3s; }
.round-link i { font-style:normal; color:var(--lime); }.round-link:hover { background:var(--lime); color:var(--ink); border-color:var(--lime); }.round-link:hover i { color:var(--ink); }
.hero-stat { position:absolute; z-index:2; right:7vw; bottom:8vh; display:flex; align-items:flex-end; gap:24px; padding-left:28px; border-left:1px solid var(--lime); }
.hero-stat strong { font-size:clamp(4rem,7vw,7rem); font-weight:400; line-height:.8; letter-spacing:-.07em; }.hero-stat em { font-size:19px; font-style:normal; letter-spacing:0; color:var(--lime); }
.hero-stat p { margin:0; color:rgba(255,255,255,.6); font-size:12px; line-height:1.8; }
.section { width:min(1240px,88vw); margin:auto; }.intro { padding:150px 0 135px; display:grid; grid-template-columns:260px 1fr; }
.section-label { padding-top:12px; font-size:10px; letter-spacing:.17em; color:#747d78; }.section-label span { margin-right:25px; color:var(--pine); }
.intro-copy { max-width:930px; }.intro-grid { margin-top:75px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.intro-grid p { margin:0; color:var(--muted); line-height:1.9; }.intro-grid .lead { color:var(--ink); font-size:21px; line-height:1.75; }
.factory-band { position:relative; width:100%; height:min(66vw,760px); overflow:hidden; background:#d9d9d4; }.factory-band img { height:100%; object-fit:cover; }
.factory-caption { position:absolute; left:7vw; bottom:0; width:300px; padding:28px 30px; background:var(--lime); color:var(--ink); }.factory-caption span { font-size:9px; letter-spacing:.18em; }.factory-caption p { margin:10px 0 0; font-size:18px; }
.numbers { padding:150px 0; }.numbers-heading { margin-left:260px; }.number-grid { margin-top:100px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.number-grid article { padding:45px 30px 38px 0; border-right:1px solid var(--line); }.number-grid article:not(:first-child) { padding-left:30px; }.number-grid article:last-child { border:0; }
.number-grid strong { display:block; min-height:80px; font-size:clamp(2.8rem,4vw,4.9rem); font-weight:400; letter-spacing:-.06em; }.number-grid em { margin-left:7px; font-size:13px; font-style:normal; letter-spacing:0; color:var(--pine); }
.number-grid p { margin:25px 0 8px; font-size:14px; }.number-grid small { color:#949b97; font-size:9px; letter-spacing:.13em; }
.production { display:grid; grid-template-columns:40% 60%; min-height:1100px; background:var(--pine); color:#fff; }
.production-copy { padding:110px 7vw 100px; }.production-copy .section-label { margin-bottom:100px; color:rgba(255,255,255,.45); }.production-copy .section-label span { color:var(--lime); }
.production-copy h2 { font-size:clamp(2.8rem,4.8vw,5.2rem); }.production-copy>p:not(.kicker) { margin:55px 0; max-width:470px; color:rgba(255,255,255,.62); line-height:2; font-size:14px; }
.production-copy ul { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }.production-copy li { padding:20px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:13px; }.production-copy li span { display:inline-block; width:55px; color:var(--lime); font-size:10px; }
.production-gallery { padding:8px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.production-gallery figure { margin:0; min-height:260px; overflow:hidden; }.production-gallery figure.wide { grid-column:span 2; }.production-gallery img { height:100%; object-fit:cover; transition:transform .6s ease; }.production-gallery figure:hover img { transform:scale(1.035); }
.partners { padding:150px 0; }.partners-heading { margin-left:260px; display:flex; align-items:end; justify-content:space-between; gap:80px; }.partners-heading>p { max-width:390px; margin:0 0 8px; color:var(--muted); line-height:1.9; }
.logo-cloud { margin-top:90px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.partner-card { min-height:240px; margin:0; padding:22px 18px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.partner-card img { width:144px; height:130px; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s ease; }
.partner-card:hover img { transform:translateY(-5px); }
.partner-card p { margin:14px 0 0; font-size:13px; font-weight:500; letter-spacing:.06em; }
.partner-card small { display:block; margin-top:6px; color:#9aa09c; font-size:8px; font-weight:400; letter-spacing:.13em; }
.contact { min-height:650px; display:grid; grid-template-columns:42% 58%; background:var(--pine); color:#fff; }
.contact-details { padding:100px 7vw 90px; display:flex; flex-direction:column; align-items:flex-start; }
.contact-details h2 { font-size:clamp(3rem,5.4vw,5.8rem); }
.address-block { width:100%; margin-top:auto; padding-top:34px; border-top:1px solid rgba(255,255,255,.2); }
.address-block span { color:var(--lime); font-size:9px; letter-spacing:.17em; }
.address-block p { margin:16px 0 14px; font-size:clamp(1.35rem,2.2vw,2rem); line-height:1.55; }
.address-block small { color:rgba(255,255,255,.42); font-size:9px; line-height:1.7; letter-spacing:.1em; }
.map-link { display:inline-flex; gap:55px; margin-top:30px; padding:16px 0; border-bottom:1px solid var(--lime); font-size:12px; }
.map-link span { color:var(--lime); }
.map-frame { min-height:650px; background:#e7e6df; }
.map-frame iframe { display:block; width:100%; height:100%; min-height:650px; border:0; filter:saturate(.72) contrast(.94); }
footer { min-height:170px; padding:50px 6vw; display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:center; gap:30px; background:#101513; color:rgba(255,255,255,.45); font-size:10px; letter-spacing:.08em; }
.footer-brand img { width:190px; height:auto; padding:7px 9px; background:#fff; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease,transform .8s ease; }.reveal.visible { opacity:1; transform:none; }
@media (max-width:900px) { nav,.header-cta { display:none; }.site-header { height:76px; }.brand { min-width:0; }.brand img { width:160px; padding:6px 8px; }.menu-button { display:block; margin-left:auto; }.site-header.open nav { position:absolute; display:flex; flex-direction:column; align-items:flex-start; gap:25px; top:76px; left:0; right:0; padding:30px 6vw; background:var(--pine); }.site-header.open nav a.active::after { display:none; }.hero-content { margin-left:6vw; margin-right:6vw; }.hero-stat { position:relative; right:auto; bottom:auto; margin:0 6vw 7vh auto; }.intro { grid-template-columns:1fr; gap:55px; }.numbers-heading,.partners-heading { margin-left:0; }.production { grid-template-columns:1fr; }.production-copy { padding:90px 7vw; }.production-copy .section-label { margin-bottom:70px; }.number-grid { grid-template-columns:1fr 1fr; }.number-grid article:nth-child(2) { border-right:0; }.partners-heading { align-items:start; flex-direction:column; }.logo-cloud { grid-template-columns:repeat(2,1fr); }.production-gallery figure { min-height:220px; }.contact { grid-template-columns:1fr; }.contact-details { min-height:590px; }.map-frame,.map-frame iframe { min-height:520px; } footer { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .hero { min-height:820px; align-items:center; }.hero-content { margin:80px 6vw 0; }.hero-stat { position:absolute; left:6vw; right:auto; bottom:45px; }.round-link { width:90px; height:90px; margin-top:30px; }.section { width:88vw; }.intro,.numbers,.partners { padding:90px 0; }.intro-grid { margin-top:50px; grid-template-columns:1fr; gap:28px; }.factory-band { height:64vh; }.factory-band img { object-position:31% center; }.numbers-heading { margin-top:45px; }.number-grid { margin-top:60px; grid-template-columns:1fr 1fr; }.number-grid article { padding:28px 15px 25px 0; }.number-grid article:not(:first-child) { padding-left:15px; }.number-grid article:nth-child(3) { padding-left:0; }.number-grid strong { min-height:48px; font-size:2.4rem; }.production-gallery { grid-template-columns:1fr; }.production-gallery figure,.production-gallery figure.wide { grid-column:auto; min-height:270px; }.partners-heading { margin-top:45px; gap:35px; }.logo-cloud { margin-top:55px; }.partner-card { min-height:185px; padding:14px 8px; }.partner-card img { width:116px; height:105px; }.partner-card p { margin-top:9px; font-size:11px; }.partner-card small { font-size:7px; letter-spacing:.08em; }.contact-details { min-height:540px; padding:75px 6vw 65px; }.map-frame,.map-frame iframe { min-height:420px; } footer { grid-template-columns:1fr; text-align:left; } }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none} }
