@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/space-grotesk-vietnamese-400.woff2') format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/space-grotesk-latin-ext-400.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/space-grotesk-latin-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/space-grotesk-vietnamese-500.woff2') format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/space-grotesk-latin-ext-500.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/space-grotesk-latin-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/space-grotesk-vietnamese-600.woff2') format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/space-grotesk-latin-ext-600.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/space-grotesk-latin-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/space-grotesk-vietnamese-700.woff2') format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/space-grotesk-latin-ext-700.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/space-grotesk-latin-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root { --ink: #0d1b2e; --ink-rgb: 13,27,46; --ink-deep: #081120; --paper: #f6f7f8; --paper-rgb: 246,247,248; --paper-bright: #ffffff; --azure: #0069b4; --azure-light: #4aa1de; --muted: #5b6572; --line: rgba(13,27,46,.14); --max: 1240px; }
* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: 'Space Grotesk', sans-serif; font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.container { width: min(calc(100% - 80px), var(--max)); margin: 0 auto; }
.section-dark { color: var(--paper); background: var(--ink); }
.section-light { background: var(--paper); }
.section-accent { background: var(--azure); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-weight: 500; letter-spacing: -.07em; line-height: .98; }
h2 { font-size: clamp(44px, 6vw, 78px); margin-bottom: 35px; }
h1 span, h2 em { color: var(--azure-light); font-style: normal; }
.eyebrow, .kicker, .section-tag, .hero-foot, .metric span, .detail-row span, .footer-group p, .footer-bottom, .capability-number { font-family: 'Space Grotesk', sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; }
.eyebrow, .kicker, .section-tag, .hero-foot { color: var(--azure-light); }
.kicker { color: var(--ink); margin-bottom: 22px; }
.kicker.accent { color: var(--azure-light); }
.section-light .kicker, .section-light .section-tag, .section-light .eyebrow { color: var(--azure); }

/* Header */
.site-header { position: fixed; z-index: 10; top: 0; width: 100%; color: var(--paper); background: linear-gradient(180deg, rgba(var(--ink-rgb),.85), rgba(var(--ink-rgb),.4)); backdrop-filter: blur(14px); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.brand { display: inline-flex; gap: 12px; align-items: center; }
.brand-header img { display: block; width: 168px; height: auto; }
.main-nav { display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 400; }
.main-nav a { transition: color .2s ease; }
.main-nav a:hover { color: var(--azure-light); }
.nav-cta { padding: 11px 27px; border: 0; border-radius: 999px; color: var(--ink); background: var(--paper); }
.nav-cta span, .text-link span, .button span, .contact-main span, .plant-card-arrow b { color: var(--azure-light); margin-left: 10px; }
.menu-toggle { display: none; border: 0; background: transparent; cursor: pointer; }

/* Hero */
.hero { position: relative; min-height: 780px; padding: 145px 0 30px; overflow: hidden; background-image: url('img/microdeco-operario-maquina.jpg'); background-size: cover; background-position: center; }
.hero:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--ink-rgb),.92) 0%, rgba(var(--ink-rgb),.68) 46%, rgba(var(--ink-rgb),.3) 100%); z-index: 1; }
.hero-grid, .hero-foot { position: relative; z-index: 2; }
.hero-copy { max-width: 800px; padding-top: 50px; }
.hero h1 { max-width: 800px; margin: 26px 0 30px; font-size: clamp(58px, 7vw, 100px); letter-spacing: -.065em; }
.hero-lead { max-width: 460px; color: rgba(var(--paper-rgb),.75); font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; margin-top: 42px; }
.button { display: inline-flex; align-items: center; padding: 16px 20px; font-size: 12px; font-weight: 700; }
.button-primary { color: var(--ink); background: var(--azure-light); }
.text-link { display: inline-block; font-size: 12px; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.light-link { color: var(--paper); }
.dark-link { color: var(--ink); }
.hero-foot { display: flex; justify-content: space-between; margin-top: 115px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.24); color: rgba(var(--paper-rgb),.65); }
.scroll-cue b { margin-left: 22px; color: var(--azure-light); font-size: 18px; }

/* Section tag */
.section-tag { display: flex; gap: 18px; align-items: center; }
.section-tag i { display: block; width: 36px; height: 1px; background: currentColor; }
.heading-description { max-width: 410px; color: var(--muted); margin: 15px 0 0; }

/* Intro / Empresa */
.intro { padding: 130px 0 115px; }
.intro-grid { display: grid; grid-template-columns: 25% 1fr; gap: 8%; }
.intro-content { max-width: 810px; }
.intro-text { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; max-width: 745px; margin-bottom: 38px; color: var(--muted); }
.intro-text strong { color: var(--ink); }
.feature-image { height: 430px; margin-top: 100px; background-image: url('img/microdeco-exterior.jpg'); background-size: cover; background-position: center 46%; position: relative; }
.feature-image-overlay { position: absolute; left: 30px; bottom: 25px; color: var(--paper); font-family: 'Space Grotesk', sans-serif; font-size: 12px; text-transform: uppercase; }
.feature-image-overlay span { color: var(--azure-light); }
.feature-image-overlay p { font-size: 24px; line-height: 1; font-weight: 600; text-transform: none; }

/* Metrics */
.metrics { padding: 115px 0 125px; }
.split-heading { display: flex; justify-content: space-between; align-items: end; gap: 10%; }
.split-heading h2 { margin-bottom: 0; }
.split-heading > p { max-width: 300px; color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 100px; border-top: 1px solid var(--line); }
.metric { padding: 30px 20px 0 0; border-right: 1px solid var(--line); }
.metric + .metric { padding-left: 25px; }
.metric:last-child { border: 0; }
.metric strong { display: block; margin-bottom: 8px; color: var(--azure); font-size: clamp(48px, 5vw, 74px); font-weight: 500; letter-spacing: -.08em; line-height: 1; }
.metric span { color: var(--muted); }

/* Capabilities / Tecnología (dark) */
.capabilities { padding: 0 0 140px; }
.section-photo { position: relative; overflow: hidden; padding: 145px 0 70px; }
.section-photo:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--ink-rgb),.93) 0%, rgba(var(--ink-rgb),.72) 48%, rgba(var(--ink-rgb),.35) 100%); }
.section-photo .container { position: relative; z-index: 2; }
.capabilities-photo { background-image: url('img/microdeco-diseno-solidedge.jpg'); background-size: cover; background-position: center 30%; }
.capabilities .section-tag, .capabilities .kicker, .capabilities .eyebrow { color: var(--azure-light); }
.capabilities .section-heading { max-width: 730px; }
.capabilities .heading-description { color: rgba(var(--paper-rgb),.68); }
.capability-list { margin-top: 88px; border-top: 1px solid rgba(255,255,255,.25); }
.capability { display: grid; grid-template-columns: 80px 1fr 40px; align-items: center; gap: 25px; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.capability h3 { margin-bottom: 4px; font-size: 22px; font-weight: 600; }
.capability p { max-width: 500px; margin: 0; color: rgba(var(--paper-rgb),.68); }
.capability-arrow { font-size: 25px; color: var(--azure-light); transition: transform .2s ease; }
.capability:hover .capability-arrow { transform: translate(4px, -4px); }

/* Products */
.products { padding: 135px 0 120px; }
.product-grid, .clients-grid { display: grid; grid-template-columns: 25% 1fr; gap: 8%; }
.product-content { max-width: 800px; }
.product-image { display: block; width: 100%; height: 340px; margin-top: 65px; object-fit: cover; }
.product-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 80px; background: var(--line); }
.product-type { min-height: 190px; padding: 25px; background: var(--paper-bright); }
.product-type strong, .quality-list span { display: block; margin-bottom: 25px; color: var(--azure); font: 11px 'Space Grotesk', sans-serif; }
.product-type h3 { margin-bottom: 8px; font-size: 20px; }
.product-type p { margin: 0; color: var(--muted); font-size: 13px; }

/* Certifications */
.certifications { padding: 135px 0; }
.certification-grid { display: grid; grid-template-columns: 25% 1fr; gap: 8%; }
.certification-content { max-width: 850px; }
.certification-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 70px; background: var(--line); }
.certification-card { display: block; min-height: 190px; padding: 25px; color: inherit; background: var(--paper-bright); transition: background .2s ease, transform .2s ease; }
.certification-card:hover { background: #fff; transform: translateY(-3px); }
.certification-card strong { display: block; min-height: 30px; font-size: 21px; font-weight: 600; }
.certification-card p { margin: 18px 0 0; color: var(--muted); font-size: 13px; }
.certification-link { display: inline-block; margin-top: 22px; color: var(--azure); font-size: 13px; font-weight: 600; }
.certification-status { display: inline-block; margin-top: 10px; padding: 5px 8px; color: var(--ink); background: rgba(13,27,46,.1); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.certification-status.is-active { color: var(--paper); background: var(--azure); }

/* Quality (dark) */
.quality { padding: 0 0 135px; }
.quality .section-tag { color: var(--azure-light); }
.quality .section-heading { max-width: 820px; }
.quality-photo { background-image: url('img/microdeco-medicion-pieza.jpg'); background-size: cover; background-position: center 40%; }
.quality-content { max-width: 820px; }
.quality-copy { max-width: 460px; color: rgba(var(--paper-rgb),.7); }
.quality-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-top: 70px; border-top: 1px solid rgba(255,255,255,.25); }
.quality-list > div { padding-top: 22px; }
.quality-list strong { display: block; margin-bottom: 8px; font-size: 19px; font-weight: 600; }
.quality-list p { color: rgba(var(--paper-rgb),.62); font-size: 14px; }
.policy-links { list-style: none; margin: 30px 0 0; padding: 0; max-width: 460px; border-top: 1px solid rgba(255,255,255,.25); }
.policy-links li { border-bottom: 1px solid rgba(255,255,255,.25); }
.policy-link { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 2px; color: var(--paper); font-size: 13px; font-weight: 700; transition: color .2s ease; }
.policy-link:hover { color: var(--azure-light); }
.policy-link span { color: var(--azure-light); }

/* Sectors (accent) */
.sectors { padding: 140px 0; }
.sectors-grid { display: grid; grid-template-columns: 25% 1fr; gap: 8%; }
.dark-tag { color: var(--ink); }
.sectors h2, .sectors h2 em, .sectors-content .kicker { color: var(--ink); }
.sector-groups { display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; gap: 24px; margin-top: 50px; }
.sector-group { padding: 30px 32px 34px; background: var(--paper); box-shadow: 0 14px 34px rgba(6,13,26,.22); }
.sector-group h3 { margin-bottom: 24px; font-size: 22px; text-align: center; }
.flag { flex: none; border-radius: 50%; box-shadow: 0 0 0 1px rgba(13,27,46,.1); }
.flag-donut { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.donut-wrap { display: flex; flex-direction: column; align-items: center; gap: 26px; }
.donut { position: relative; width: 150px; height: 150px; border-radius: 50%; flex: none; }
.donut::after { content: ''; position: absolute; inset: 27%; border-radius: 50%; background: var(--paper); }
.donut-mx { background: conic-gradient(#0069b4 0% 95%, #4aa1de 95% 97%, #c7cdd4 97% 100%); }
.donut-ro { background: conic-gradient(#0069b4 0% 70%, #083d6e 70% 80%, #4aa1de 80% 85%, #7fc4e8 85% 90%, #1b3a5c 90% 95%, #c7cdd4 95% 100%); }
.sector-legend { list-style: none; margin: 0; padding: 0; }
.sector-legend li { display: flex; align-items: center; gap: 8px; padding: 5px 0; }
.sector-legend .dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.dot-c1 { background: #0069b4; }
.dot-c2 { background: #083d6e; }
.dot-c3 { background: #4aa1de; }
.dot-c4 { background: #7fc4e8; }
.dot-c5 { background: #1b3a5c; }
.dot-c6 { background: #c7cdd4; }
.sector-legend p { margin: 0; color: var(--ink); font-size: 13px; }
.sector-legend strong { color: var(--azure); font-size: 13px; font-weight: 600; }

/* Exportación / Clients */
.clients { padding: 135px 0; }
.client-words { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 55px; }
.client-words span { padding: 12px 16px; border: 1px solid var(--line); font-size: 12px; }

/* Plantas */
.plants { padding: 135px 0 140px; }
.plants-grid { display: grid; grid-template-columns: 25% 1fr; gap: 8%; }
.plants-content { max-width: 800px; }
.plant-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 70px; background: var(--line); }
.plant-card { display: block; color: inherit; background: var(--paper-bright); transition: transform .2s ease; }
.plant-card:hover { transform: translateY(-3px); }
.plant-card-map { display: flex; align-items: center; justify-content: center; height: 220px; overflow: hidden; color: var(--azure-light); background: linear-gradient(135deg, var(--ink) 0%, var(--ink-deep) 100%); }
.plant-card-pin { opacity: .85; }
.plant-card-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(.95) brightness(.92); pointer-events: none; }
.plant-card-body { padding: 28px; }
.plant-card-body .plant-index { display: block; margin-bottom: 20px; color: var(--azure); font: 11px 'Space Grotesk', sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.plant-card-body h3 { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; font-size: 24px; font-weight: 600; }
.plant-card-body .flag { flex: none; border-radius: 50%; box-shadow: 0 0 0 1px rgba(13,27,46,.1); }
.plant-card-body p { margin: 0 0 10px; color: var(--muted); font-size: 14px; }
.plant-card-body small { display: block; color: var(--muted); font-size: 12px; line-height: 1.5; }
.plant-card-arrow { display: inline-block; margin-top: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* Contact (dark) */
.contact { padding: 130px 0 145px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; }
.contact h2 { margin-bottom: 28px; }
.contact-intro { max-width: 340px; color: rgba(var(--paper-rgb),.7); }
.contact-details { padding-top: 50px; }
.contact-main { display: inline-block; padding-bottom: 12px; margin-bottom: 45px; border-bottom: 1px solid var(--azure-light); font-size: clamp(20px, 3vw, 32px); }
.detail-row { display: grid; grid-template-columns: 36% 1fr; gap: 20px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.25); }
.detail-row span { color: rgba(var(--paper-rgb),.55); }
.detail-row strong { font-weight: 500; }
.detail-row a:hover { color: var(--azure-light); }

/* Footer */
.site-footer { color: var(--paper); background: var(--ink-deep); padding: 38px 0 24px; }
.footer-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 75px; }
.footer-brand img { display: block; width: 220px; height: auto; }
.footer-group { text-align: left; }
.footer-group p { margin-bottom: 3px; color: rgba(var(--paper-rgb),.5); }
.onatrium-link { display: inline-flex; align-items: center; transition: opacity .2s ease; }
.onatrium-link:hover { opacity: .75; }
.onatrium-logo { display: block; width: 190px; height: 44px; object-fit: contain; }
.footer-bottom { display: flex; align-items: start; justify-content: space-between; gap: 45px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); color: rgba(var(--paper-rgb),.45); }
.footer-links { display: grid; grid-template-columns: repeat(3, auto); gap: 12px 24px; max-width: 760px; }
.footer-links a { line-height: 1.3; }
.footer-bottom a:hover { color: var(--paper); }

/* Misc */
.back-top { display: flex; align-items: center; justify-content: center; position: fixed; z-index: 5; right: 24px; bottom: 22px; width: 42px; height: 42px; font-size: 16px; border: 1px solid var(--azure); color: var(--ink); background: var(--azure-light); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.back-top.visible { opacity: 1; pointer-events: auto; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 20; padding: 10px 14px; color: var(--ink); background: var(--azure-light); }
.skip-link:focus { top: 20px; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.language-switcher { margin-left: 8px; }
.language-switcher select { padding: 6px 26px 6px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 6px; color: rgba(255,255,255,.85); background: transparent url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="%23ffffff" d="M4 6l4 4 4-4z"/></svg>') no-repeat right 8px center; background-size: 10px; font: 12px 'Space Grotesk', sans-serif; cursor: pointer; appearance: none; -webkit-appearance: none; }
.language-switcher select:hover, .language-switcher select:focus { border-color: var(--azure-light); color: var(--azure-light); }
.language-switcher select option { color: var(--ink); background: var(--paper-bright); }

/* Cookies */
.cookie-banner { position: fixed; z-index: 30; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1040px; margin: auto; padding: 22px 24px; color: var(--paper); background: var(--ink-deep); box-shadow: 0 12px 40px rgba(0,0,0,.2); }
.cookie-banner[hidden] { display: none; }
.cookie-copy { max-width: 650px; }
.cookie-copy .kicker { margin-bottom: 7px; color: var(--azure-light); }
.cookie-copy p:last-child { margin: 0; color: rgba(var(--paper-rgb),.72); font-size: 13px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cookie-button { padding: 10px 15px; border: 1px solid rgba(255,255,255,.35); color: var(--paper); background: transparent; font: 600 12px 'Space Grotesk', sans-serif; cursor: pointer; }
.cookie-button:hover { border-color: var(--azure-light); color: var(--azure-light); }
.cookie-accept, .cookie-reject { border-color: var(--paper); color: var(--ink); background: var(--paper); }
.cookie-accept:hover, .cookie-reject:hover { border-color: var(--azure-light); color: var(--ink); background: var(--azure-light); }
.cookie-dialog { width: min(520px, calc(100% - 40px)); padding: 0; border: 0; color: var(--ink); background: var(--paper); }
.cookie-dialog::backdrop { background: rgba(8,17,32,.72); }
.cookie-dialog-inner { position: relative; padding: 35px; }
.cookie-dialog h2 { margin: 10px 0 15px; font-size: 42px; }
.cookie-dialog-inner > p:not(.kicker) { color: var(--muted); }
.dialog-close { position: absolute; top: 16px; right: 20px; border: 0; color: var(--ink); background: transparent; font-size: 28px; cursor: pointer; }
.cookie-option { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 0; border-top: 1px solid var(--line); }
.cookie-option strong, .cookie-option small { display: block; }
.cookie-option small { margin-top: 3px; color: var(--muted); }
.cookie-option input { width: 20px; height: 20px; accent-color: var(--azure); }
.cookie-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; }
.cookie-dialog .button { flex: none; margin: 0; border: 0; cursor: pointer; }
.cookie-policy-link { display: inline-block; margin: 0; }

/* Responsive */
@media (max-width: 850px) {
  .container { width: min(calc(100% - 40px), var(--max)); }
  .hero { min-height: 720px; padding-top: 130px; }
  .hero-foot { margin-top: 90px; flex-direction: column; align-items: flex-start; gap: 18px; }
  .intro-grid, .sectors-grid, .contact-grid, .product-grid, .clients-grid, .plants-grid { grid-template-columns: 1fr; gap: 50px; }
  .intro { padding: 100px 0; }
  .feature-image { margin-top: 70px; height: 320px; }
  .metrics, .sectors, .contact, .products, .clients, .plants, .certifications { padding: 100px 0; }
  .capabilities { padding: 0 0 100px; }
  .quality { padding: 0 0 100px; }
  .section-photo { padding: 115px 0 55px; }
  .metric-grid { grid-template-columns: 1fr 1fr; margin-top: 60px; }
  .metric:nth-child(2) { border-right: 0; }
  .metric:nth-child(n+3) { border-top: 1px solid var(--line); }
  .metric:nth-child(3) { padding-left: 0; padding-top: 25px; }
  .metric:nth-child(4) { padding-top: 25px; }
  .contact-details { padding-top: 0; }
  .product-types, .quality-list, .certification-list, .sector-groups, .plant-cards { grid-template-columns: 1fr; }
  .product-type { min-height: auto; }
  .quality-list { gap: 0; }
  .quality-list > div { border-bottom: 1px solid rgba(255,255,255,.25); }
  .footer-bottom { display: block; }
  .footer-links { margin-top: 22px; }
}
@media (max-width: 600px) {
  .nav-wrap { padding: 18px 0; }
  .brand-header img { width: 130px; }
  .menu-toggle { display: flex; flex-direction: column; gap: 5px; padding: 8px 0 8px 8px; cursor: pointer; }
  .menu-toggle span { display: block; width: 27px; height: 1px; background: var(--paper); }
  .main-nav { display: none; position: absolute; top: 75px; right: 20px; left: 20px; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; background: var(--ink-deep); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 15px; border-bottom: 1px solid rgba(255,255,255,.15); }
  .main-nav .nav-cta { border: 0; }
  .language-switcher { margin: 12px 15px 4px; }
  .language-switcher select { width: 100%; padding: 10px; }
  h1 { font-size: 55px; }
  h2 { font-size: 48px; }
  .hero { min-height: 680px; padding-top: 115px; padding-bottom: 30px; }
  .hero-copy { padding-top: 35px; }
  .hero-lead { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .hero-foot { margin-top: 65px; }
  .split-heading { display: block; }
  .split-heading > p { margin-top: 25px; }
  .metric-grid { gap: 0; }
  .metric strong { font-size: 48px; }
  .capability { grid-template-columns: 45px 1fr; gap: 12px; }
  .capability-arrow { display: none; }
  .capability h3 { font-size: 18px; }
  .capability p { font-size: 13px; }
  .product-image { height: 260px; margin-top: 45px; }
  .onatrium-logo { width: 125px; }
  .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; gap: 28px; }
  .footer-top { padding-bottom: 45px; }
  .footer-links { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; width: 100%; }
  .cookie-banner { right: 10px; bottom: 10px; left: 10px; align-items: stretch; flex-direction: column; gap: 15px; padding: 18px; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .cookie-button { padding: 10px 7px; font-size: 11px; }
  .cookie-dialog-inner { padding: 28px 22px; }
  .cookie-dialog h2 { font-size: 36px; }
}

/* Legal pages */
.legal-page { padding: 160px 0 120px; }
.legal-container { max-width: 760px; }
.legal-page h1 { font-size: clamp(38px, 5vw, 56px); margin-bottom: 30px; }
.legal-page h2 { font-size: 20px; margin: 40px 0 12px; letter-spacing: 0; }
.legal-page p, .legal-page li { color: var(--muted); font-size: 15px; line-height: 1.7; }
.legal-page ul { padding-left: 20px; }
.legal-back { display: inline-block; margin-bottom: 40px; }
