:root { --ink:#142c2c; --ink-soft:#284342; --paper:#f3f0e8; --paper-deep:#e8e2d7; --white:#fffef9; --lime:#d7ef5b; --orange:#ff6b35; --line:rgba(20,44,44,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
svg { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.header-contact svg,.primary-button svg { width:18px; height:18px; }

.site-header { height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(24px,5vw,80px); border-bottom:1px solid var(--line); background:rgba(243,240,232,.92); backdrop-filter:blur(14px); position:sticky; top:0; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:13px; width:fit-content; }
.brand-mark { font-size:25px; font-weight:900; letter-spacing:-.08em; line-height:1; }
.brand-copy { font-size:9px; line-height:1.08; font-weight:750; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
nav { display:flex; gap:34px; font-size:13px; font-weight:650; }
nav a { position:relative; }
nav a::after { content:''; position:absolute; left:0; bottom:-7px; width:0; height:1px; background:var(--ink); transition:width .2s ease; }
nav a:hover::after { width:100%; }
.header-contact { justify-self:end; display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid var(--ink); padding:8px 0; font-size:13px; font-weight:750; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:22px; }
.language-switch { display:flex; border:1px solid var(--line); padding:3px; background:rgba(255,255,255,.45); }
.language-switch button { min-width:34px; height:28px; border:0; padding:0 7px; background:transparent; color:rgba(20,44,44,.55); font:inherit; font-size:9px; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.language-switch button.active { background:var(--ink); color:white; }
.language-switch button:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }

.hero { min-height:700px; display:grid; grid-template-columns:1.05fr .95fr; padding:clamp(56px,8vw,112px) clamp(24px,5vw,80px) 86px; overflow:hidden; position:relative; }
.hero::before { content:''; width:420px; height:420px; position:absolute; left:-250px; bottom:-170px; border:1px solid var(--line); border-radius:50%; box-shadow:0 0 0 56px rgba(20,44,44,.025),0 0 0 112px rgba(20,44,44,.018); }
.hero-content { position:relative; z-index:2; max-width:770px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin-bottom:36px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { width:8px; height:8px; background:var(--orange); border-radius:50%; box-shadow:0 0 0 5px rgba(255,107,53,.15); }
h1,h2,h3 { margin:0; letter-spacing:-.045em; font-weight:720; }
h1 { font-size:clamp(50px,6.2vw,96px); line-height:.94; max-width:980px; }
.hero-lead { max-width:630px; font-size:clamp(18px,1.6vw,23px); line-height:1.48; margin:38px 0 0; color:var(--ink-soft); }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:44px; }
.primary-button { display:inline-flex; align-items:center; gap:32px; padding:17px 19px 17px 23px; color:white; background:var(--ink); font-size:13px; font-weight:750; transition:transform .2s ease,background .2s ease; }
.primary-button:hover { transform:translateY(-2px); background:#204442; }

.hero-visual { position:relative; min-height:520px; align-self:center; }
.production-photo { position:absolute; inset:0 0 0 7%; width:93%; height:100%; object-fit:cover; object-position:center; box-shadow:0 35px 65px rgba(20,44,44,.18); }
.photo-caption { position:absolute; top:18px; right:18px; z-index:2; padding:9px 11px; background:rgba(16,38,37,.78); color:white; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(8px); }
.hero-stat { position:absolute; left:1%; bottom:8%; display:flex; gap:13px; align-items:center; padding:17px 20px; background:var(--lime); box-shadow:0 17px 40px rgba(20,44,44,.12); z-index:4; }
.hero-stat div { display:flex; flex-direction:column; gap:2px; }
.hero-stat strong { font-size:12px; }
.hero-stat span { font-size:10px; opacity:.68; }

.ticker { min-height:58px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:26px; padding:14px 26px; background:var(--ink); color:white; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.ticker i { width:5px; height:5px; border-radius:50%; background:var(--lime); }
.section { padding:clamp(80px,9vw,138px) clamp(24px,5vw,80px); }
.section-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; margin-bottom:62px; }
.section-number { display:block; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin-bottom:24px; }
.section-heading h2,.about h2,.gallery h2 { font-size:clamp(38px,4.5vw,70px); line-height:1.02; max-width:850px; }
.section-heading>p { max-width:460px; font-size:16px; line-height:1.65; margin:0; color:var(--ink-soft); }

.product-grid { display:grid; grid-template-columns:1fr 1fr 250px; gap:18px; }
.product-card { min-height:480px; padding:31px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.product-card-dark { background:var(--ink); color:white; }
.product-card-light { background:var(--white); border:1px solid var(--line); }
.product-card::before { content:''; position:absolute; width:290px; height:290px; border:1px solid currentColor; border-radius:50%; opacity:.09; right:-145px; top:92px; box-shadow:0 0 0 37px currentColor,0 0 0 75px transparent,0 0 0 76px currentColor; }
.card-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; opacity:.9; }
.card-index { position:absolute; right:31px; top:37px; font-size:11px; opacity:.55; }
.product-card>div { margin-top:auto; position:relative; z-index:2; }
.product-card h3 { font-size:clamp(34px,3vw,52px); line-height:1.02; }
.product-card p { margin:22px 0 28px; max-width:520px; font-size:14px; line-height:1.65; opacity:.75; }
.card-tag { width:fit-content; border:1px solid currentColor; padding:8px 11px; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.product-note { padding:26px; background:var(--lime); display:flex; flex-direction:column; }
.product-note svg { margin-left:auto; width:22px; height:22px; }
.product-note p { margin:auto 0 10px; font-size:22px; font-weight:720; line-height:1.12; letter-spacing:-.03em; }
.product-note span { font-size:12px; line-height:1.5; opacity:.68; }

.about { background:var(--ink); color:white; display:grid; grid-template-columns:.8fr 1fr 250px; gap:clamp(45px,7vw,120px); padding:clamp(84px,10vw,150px) clamp(24px,5vw,80px); }
.about-copy p { margin:0; color:rgba(255,255,255,.65); line-height:1.75; }
.about-copy .large-copy { font-size:21px; color:white; line-height:1.5; margin-bottom:28px; }
.about-copy ul { list-style:none; padding:0; margin:38px 0 0; border-top:1px solid rgba(255,255,255,.18); }
.about-copy li { display:flex; gap:13px; align-items:center; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:13px; }
.about-copy li svg { color:var(--lime); flex:0 0 auto; }
.about-badge { border:1px solid rgba(255,255,255,.3); border-radius:50%; width:230px; height:230px; align-self:center; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:32px; }
.about-badge b { font-size:15px; font-weight:750; margin-top:15px; }
.about-badge small { font-size:10px; line-height:1.45; color:rgba(255,255,255,.58); margin-top:5px; }
.shield-glyph { font-size:38px; color:var(--lime); line-height:1; }

.compact-heading { grid-template-columns:1fr; margin-bottom:45px; }
.process-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.process-list li { min-height:250px; padding:25px 28px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.process-list li:last-child { border-right:0; }
.process-list span { font-size:10px; color:var(--orange); font-weight:800; }
.process-list strong { font-size:18px; margin-top:auto; }
.process-list p { font-size:12px; line-height:1.5; margin:10px 0 0; color:var(--ink-soft); }

.gallery { padding:clamp(80px,9vw,138px) clamp(24px,5vw,80px); background:var(--paper-deep); }
.gallery-heading { display:grid; grid-template-columns:1fr .7fr; gap:60px; align-items:end; margin-bottom:50px; }
.gallery-heading p { max-width:500px; line-height:1.6; font-size:14px; color:var(--ink-soft); }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:15px; grid-auto-rows:205px; }
.photo-placeholder { position:relative; margin:0; overflow:hidden; background-color:#60716d; }
.photo-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.photo-placeholder:hover img { transform:scale(1.025); }
.photo-one { grid-column:span 7; grid-row:span 2; }
.photo-two { grid-column:span 5; }
.photo-three { grid-column:span 5; }
.photo-four { grid-column:span 4; }
.photo-five { grid-column:span 8; }

footer { background:#102625; color:white; padding:clamp(74px,9vw,125px) clamp(24px,5vw,80px) 28px; }
.footer-top { display:grid; grid-template-columns:1fr auto; position:relative; align-items:end; padding-bottom:66px; border-bottom:1px solid rgba(255,255,255,.19); }
.footer-number { grid-column:1/-1; }
.footer-top h2 { font-size:clamp(50px,7.5vw,112px); line-height:.9; }
.footer-arrow { width:85px; height:85px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--ink); transition:transform .2s ease; }
.footer-arrow svg { width:34px; height:34px; }
.footer-arrow:hover { transform:rotate(10deg); }
.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:52px 0 78px; gap:35px; }
.contact-grid>div { display:grid; grid-template-columns:28px 1fr; grid-template-rows:auto auto; }
.contact-grid svg { grid-row:span 2; color:var(--lime); }
.contact-grid svg { width:20px; height:20px; }
.contact-grid span { font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.48); margin-bottom:9px; }
.contact-grid strong { font-size:14px; line-height:1.6; font-weight:560; }
.contact-grid em { font-size:11px; font-style:normal; color:rgba(255,255,255,.45); }
.footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; padding-top:25px; border-top:1px solid rgba(255,255,255,.19); }
.footer-bottom p,.footer-bottom>span { font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.4); }
.footer-bottom>span { justify-self:end; }

@media (max-width:1050px) {
  .site-header { grid-template-columns:1fr 1fr; } nav { display:none; }
  .hero { grid-template-columns:1fr; } .hero-visual { min-height:540px; margin-top:30px; }
  .product-grid { grid-template-columns:1fr 1fr; } .product-note { grid-column:span 2; min-height:190px; }
  .about { grid-template-columns:1fr 1fr; } .about-badge { display:none; }
}
@media (max-width:720px) {
  .site-header { height:72px; padding-inline:20px; } .brand-copy { display:none; }
  .header-actions { gap:10px; } .header-contact { display:none; }
  .language-switch button { min-width:31px; padding-inline:5px; }
  .hero { min-height:auto; padding:58px 20px 62px; } h1 { font-size:clamp(46px,14vw,66px); }
  .hero-lead { font-size:17px; } .hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
  .hero-visual { min-height:410px; margin-top:34px; } .production-photo { inset:0; width:100%; }
  .hero-stat { left:0; bottom:0; } .ticker { justify-content:flex-start; gap:12px; }
  .ticker span:nth-of-type(n+3),.ticker i:nth-of-type(n+2) { display:none; }
  .section-heading,.gallery-heading { grid-template-columns:1fr; gap:25px; }
  .product-grid { grid-template-columns:1fr; } .product-note { grid-column:auto; min-height:200px; }
  .product-card { min-height:430px; } .about { grid-template-columns:1fr; }
  .process-list { grid-template-columns:1fr; } .process-list li { min-height:175px; border-right:0; border-bottom:1px solid var(--line); }
  .process-list li:last-child { border-bottom:0; }
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:245px; } .photo-placeholder { grid-column:auto; grid-row:auto; }
  .footer-top { grid-template-columns:1fr; gap:35px; } .footer-arrow { width:68px; height:68px; }
  .contact-grid { grid-template-columns:1fr; } .footer-bottom { grid-template-columns:1fr; }
  .footer-bottom p { line-height:1.5; } .footer-bottom>span { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
