/* /ecocolor-main.css */
    :root { --red:#b50f32; --ink:#282b2d; --muted:#666b6e; --line:#e4e6e7; --header:88px; }
    * { box-sizing:border-box; }
    html { scroll-padding-top:calc(var(--header) + 24px); }
    body { margin:0; background:#fff; color:var(--ink); font:17px/1.6 Arial,Helvetica,sans-serif; letter-spacing:0; }
    h1,h2,h3,p,figure { margin:0; }
    h1,h2,h3 { font-weight:500; line-height:1.15; }
    h1 { font-size:56px; }
    h2 { font-size:44px; }
    h3 { font-size:28px; }
    a { color:inherit; text-decoration:none; }
    img { display:block; width:100%; height:100%; object-fit:cover; }
    button,input,textarea { font:inherit; }
    button { cursor:pointer; }
    button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
    a:focus-visible,button:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
    .container { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
    .section { margin-top:112px; }
    .label { font-size:14px; font-weight:700; color:var(--red); }
    .section-heading { margin-bottom:40px; }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:15px 25px; min-height:54px; border:0; border-radius:6px; background:var(--red); color:white; font-size:15px; font-weight:700; line-height:1.45; text-align:center; transition:background .2s; }
    .button:hover { background:#970b2a; }
    .text-link { color:var(--red); font-size:15px; font-weight:700; }
    .text-link:hover { color:#850a25; }
    .skip-link { position:fixed; top:-80px; left:16px; z-index:100; padding:12px 20px; background:white; }
    .skip-link:focus { top:12px; }
    .site-header { position:sticky; top:0; z-index:30; height:var(--header); background:#fff; border-bottom:1px solid transparent; transition:border-color .2s; }
    .site-header.is-scrolled { border-color:var(--line); }
    .header-inner { width:min(1392px,calc(100% - 64px)); margin:auto; height:100%; display:flex; align-items:center; gap:40px; }
    .brand { display:inline-flex; align-items:center; font-size:29px; font-weight:700; line-height:1.2; }
    .brand img { display:block; width:148px; height:auto; }
    .nav { margin-left:auto; display:flex; align-items:center; gap:32px; font-size:15px; }
    .nav a:hover,.nav-dropdown > button:hover { color:var(--red); }
    .nav-dropdown { position:relative; }
    .nav-dropdown > button { display:inline-flex; align-items:center; gap:7px; padding:8px 0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
    .nav-dropdown > button span { font-size:12px; transition:transform .2s; }
    .nav-dropdown:focus-within > button span,.nav-dropdown:hover > button span { transform:rotate(180deg); }
    .nav-dropdown-menu { position:absolute; top:calc(100% + 10px); left:-18px; min-width:260px; padding:10px 0; visibility:hidden; opacity:0; transform:translateY(-6px); background:#fff; border:1px solid var(--line); box-shadow:0 14px 30px rgba(25,30,38,.10); transition:opacity .18s,transform .18s,visibility .18s; }
    .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu { visibility:visible; opacity:1; transform:translateY(0); }
    .nav-dropdown-menu a { display:block; padding:10px 18px; white-space:nowrap; line-height:1.3; }
    .header-button { min-height:44px; padding:11px 22px; font-size:14px; }
    .menu-toggle { display:none; }
    .hero { position:relative; isolation:isolate; width:calc(100% - 48px); max-width:1600px; height:530px; margin:0 auto; border-radius:24px; overflow:hidden; background:#f7f3e8; }
    .hero>picture { position:absolute; inset:0; z-index:-1; }
    .hero>picture img { object-position:center; }
    .hero-content { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:48px 60px; }
    .hero h1 { max-width:700px; font-size:52px; }
    .hero p { max-width:470px; margin:24px 0 30px; font-size:18px; line-height:1.55; }
    .about { display:grid; grid-template-columns:35fr 65fr; align-items:start; gap:40px; }
    .about .label { padding-top:10px; }
    .about h2 { font-size:38px; max-width:800px; }
    .about p { color:var(--muted); margin-top:24px; max-width:730px; }
    .product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
    .product { display:block; min-width:0; }
    .photo { overflow:hidden; border-radius:20px; }
    .photo-crop { display:block; width:100%; height:100%; overflow:hidden; }
    .product .photo { aspect-ratio:16/9; }
    .product img { transition:transform .25s; }
    .product:hover img { transform:scale(1.02); }
    .product h3 { margin-top:24px; }
    .product p { color:var(--muted); font-size:16px; margin:12px 0; max-width:560px; }
    .product .text-link { display:inline-block; margin-top:2px; }
    .product:hover .text-link { color:#850a25; }
    .industry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
    .industry .photo { aspect-ratio:1.65; border-radius:20px; }
    .industry h3 { font-size:24px; margin-top:19px; line-height:1.25; }
    .expertise { display:grid; grid-template-columns:55fr 45fr; gap:64px; align-items:center; }
    .expertise-photo { min-width:0; height:540px; border-radius:24px; overflow:hidden; }
    .expertise-photo img { object-position:58% center; }
    .expertise h2 { margin:18px 0 24px; font-size:40px; }
    .expertise p:not(.label) { color:var(--muted); }
    .expertise ul { list-style:none; margin:24px 0 0; padding:0; }
    .expertise li { position:relative; padding:9px 0 9px 20px; font-size:16px; }
    .expertise li:before { content:""; position:absolute; left:0; top:21px; height:4px; width:4px; background:var(--red); border-radius:50%; }
    .facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:24px 0; }
    .fact { display:flex; flex-direction:column; justify-content:center; gap:16px; padding:0 40px; border-left:1px solid var(--line); }
    .fact:first-child { border:0; padding-left:0; }
    .fact:last-child { padding-right:0; }
    .fact strong { font-size:64px; font-weight:500; line-height:1.15; }
    .fact:last-child strong { font-size:39px; }
    .fact span { font-size:15px; color:var(--muted); }
    .quality { margin-top:62px; padding-top:30px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:start; gap:40px; }
    .quality h3 { font-size:21px; }
    .quality p { color:var(--muted); font-size:14px; max-width:440px; margin-top:10px; }
    .quality ul { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; gap:18px 28px; font-size:18px; }
    .contact { padding-block:80px; background:#f6f7f7; }
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
    .contact h2 { margin:18px 0 20px; }
    .contact-intro { color:var(--muted); max-width:420px; }
    address { font-style:normal; }
    .contact-address { margin-top:32px; font-size:15px; }
    .contact-address a { display:block; width:fit-content; margin-bottom:6px; font-size:21px; }
    .contact-address a:hover { color:var(--red); }
    .contact-address p { color:var(--muted); max-width:400px; margin-top:18px; }
    .lead-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-content:start; }
    .lead-form label { font-size:14px; min-width:0; }
    .lead-form input,.lead-form textarea { display:block; width:100%; border:1px solid #d4d8da; background:white; color:var(--ink); border-radius:5px; padding:12px; margin-top:8px; font-size:16px; min-height:48px; }
    .lead-form textarea { resize:vertical; min-height:108px; }
    .lead-form input:focus,.lead-form textarea:focus { outline:2px solid var(--red); outline-offset:2px; }
    .full { grid-column:1 / -1; }
    .lead-form .button { justify-self:start; }
    .form-note { font-size:12px; color:var(--muted); line-height:1.6; }
    .form-note a { text-decoration:underline; text-underline-offset:3px; }
    .form-status { font-size:14px; }
    .form-status:empty { display:none; }
    .footer { padding:56px 0 28px; color:#fff; background:#292c2d; }
    .footer-main { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:60px; }
    .footer .brand { display:inline-block; margin-bottom:16px; }
    .footer p,.footer address { font-size:14px; color:#c8ccce; }
    .footer nav { display:grid; gap:8px; align-content:start; font-size:14px; }
    .footer address a { display:block; margin-bottom:8px; }
    .footer a:hover { text-decoration:underline; text-underline-offset:4px; }
    .footer-bottom { display:flex; justify-content:space-between; gap:24px; border-top:1px solid #515556; margin-top:38px; padding-top:24px; font-size:12px; color:#c8ccce; }
    dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100svh - 40px); overflow:auto; border:0; border-radius:8px; padding:44px; color:var(--ink); background:#fff; }
    dialog::backdrop { background:rgba(30,34,36,.35); }
    dialog h2 { font-size:32px; margin:12px 0 22px; }
    dialog p:not(.label) { margin-bottom:26px; color:var(--muted); }
    .dialog-close { position:absolute; top:9px; right:13px; width:36px; height:36px; border:0; background:white; color:var(--ink); font-size:28px; }
    @media(min-width:1700px) { .hero-content { padding-left:100px; } }
    @media(max-width:1100px) {
      .container { width:calc(100% - 72px); }
      .header-inner { gap:26px; }
      .nav { gap:22px; }
      .hero { height:500px; }
      .hero-content { padding:40px; }
      .hero h1 { font-size:48px; max-width:590px; }
      .hero p { max-width:400px; font-size:17px; }
      .about { gap:32px; }
      .about h2 { font-size:34px; }
      .expertise { gap:40px; }
      .expertise h2 { font-size:36px; }
      .contact-grid { gap:56px; }
      .fact { padding-inline:28px; }
      .fact strong { font-size:56px; }
      .fact:last-child strong { font-size:32px; }
      .quality { gap:30px; }
      .quality ul { gap:14px 20px; font-size:16px; }
    }
    @media(max-width:800px) {
      :root { --header:74px; }
      h2 { font-size:36px; }
      .container { width:calc(100% - 40px); }
      .section { margin-top:72px; }
      .header-inner { width:calc(100% - 40px); gap:18px; }
      .brand { font-size:26px; }
      .brand img { width:132px; }
      .header-button { margin-left:auto; padding:10px 16px; min-height:42px; font-size:13px; }
      .menu-toggle { display:flex; width:32px; height:42px; flex-direction:column; justify-content:center; gap:6px; border:0; background:none; padding:4px; }
      .menu-toggle span { width:24px; height:2px; background:var(--ink); }
      .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
      .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
      .nav { display:none; position:absolute; inset:var(--header) 0 auto; background:white; padding:16px 20px; border-bottom:1px solid var(--line); }
      .nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
      .nav-dropdown > button { width:100%; justify-content:space-between; padding:14px 0; }
      .nav-dropdown-menu { position:static; display:none; min-width:0; padding:0 0 8px; border:0; box-shadow:none; opacity:1; transform:none; visibility:visible; }
      .nav-dropdown.is-open .nav-dropdown-menu { display:block; }
      .nav-dropdown-menu a { padding:10px 14px; white-space:normal; }
      .nav a { padding:12px 0; }
      .hero { width:calc(100% - 28px); height:480px; border-radius:22px; }
      .hero-content { padding:32px; }
      .hero h1 { font-size:40px; }
      .hero p { max-width:330px; font-size:16px; }
      .hero>picture img { object-position:48% center; }
      .about { grid-template-columns:1fr; gap:24px; }
      .about .label { padding:0; }
      .about h2 { font-size:32px; }
      .product-grid { gap:36px 24px; }
      .product h3 { font-size:25px; margin-top:20px; }
      .product p { font-size:15px; }
      .industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; }
      .industry h3 { font-size:22px; }
      .expertise { grid-template-columns:1fr; gap:36px; }
      .expertise-photo { height:400px; }
      .expertise-copy { max-width:620px; }
      .expertise h2 { max-width:500px; }
      .fact { padding-inline:20px; }
      .fact strong { font-size:45px; }
      .fact:last-child strong { font-size:28px; }
      .fact span { font-size:13px; }
      .quality { flex-direction:column; }
      .contact { padding-block:60px; }
      .contact-grid { grid-template-columns:1fr; gap:40px; }
      .contact-address { margin-top:26px; }
      .footer-main { grid-template-columns:1fr 1fr; gap:32px; }
      .footer-main>div:first-child { grid-column:1 / -1; }
    }
    @media(max-width:520px) {
      h2 { font-size:32px; }
      body { font-size:16px; }
      .section { margin-top:64px; }
      .header-inner { gap:14px; }
      .brand { font-size:24px; }
      .brand img { width:118px; }
      .header-button { font-size:12px; padding:10px 12px; }
      .hero { height:660px; background:#f5f5f2; }
      .hero>picture { top:auto; height:250px; mask-image:linear-gradient(to bottom,transparent,#000 25%); }
      .hero>picture img { object-position:70% center; }
      .hero-content { justify-content:flex-start; padding:32px 22px; }
      .hero h1 { font-size:34px; line-height:1.12; max-width:310px; }
      .hero p { max-width:290px; margin:20px 0 24px; font-size:15px; }
      .hero .button { padding:13px 20px; min-height:48px; font-size:14px; }
      .about h2 { font-size:29px; }
      .section-heading { margin-bottom:30px; }
      .product-grid { grid-template-columns:1fr; gap:38px; }
      .product h3 { font-size:26px; }
      .product .photo { border-radius:18px; }
      .industry-grid { gap:28px 16px; }
      .industry .photo { aspect-ratio:1.2; border-radius:16px; }
      .industry h3 { font-size:18px; line-height:1.3; margin-top:14px; }
      .expertise-photo { height:340px; border-radius:20px; }
      .expertise h2 { font-size:32px; }
      .facts { grid-template-columns:1fr 1fr; gap:30px 0; padding:0; }
      .fact { padding-inline:20px; gap:10px; }
      .fact strong { font-size:44px; }
      .fact:last-child { grid-column:1 / -1; border:0; padding:26px 0 0; border-top:1px solid var(--line); }
      .fact:last-child strong { font-size:32px; }
      .quality { margin-top:38px; gap:22px; }
      .quality ul { font-size:16px; gap:14px 22px; }
      .lead-form { gap:20px 16px; }
      .lead-form .button { width:100%; font-size:13px; padding:14px 12px; }
      .footer-main { gap:28px; }
      .footer-bottom { flex-direction:column; gap:12px; }
      dialog { padding:40px 24px 28px; }
      dialog h2 { font-size:28px; }
    }
    @media(max-width:360px) {
      .header-inner { width:calc(100% - 28px); gap:10px; }
      .brand { font-size:22px; }
      .hero h1 { font-size:29px; }
      .hero-content { padding-inline:18px; }
      .industry h3 { font-size:16px; }
      .product h3 { font-size:24px; }
      .lead-form { grid-template-columns:1fr; }
      .footer-main { grid-template-columns:1fr; }
    }
    @media(prefers-reduced-motion:reduce) { * { transition:none!important; } }

    /* V5: lighter, quieter composition with Givaudan-inspired editorial rhythm. */
    :root { --red:#a91232; --ink:#2d3031; --muted:#707476; --line:#dfe2e2; }
    body { background:#fff; }
    .site-header { height:82px; }
    .header-inner { width:min(1360px,calc(100% - 72px)); }
    .brand { font-size:26px; letter-spacing:-.02em; }
    .nav { gap:30px; font-size:14px; }
    .header-button { background:transparent; color:var(--ink); border:1px solid #bfc3c4; border-radius:2px; }
    .header-button:hover { background:var(--red); color:#fff; border-color:var(--red); }
    .hero { width:calc(100% - 32px); height:510px; max-width:1680px; border-radius:16px; }
    .hero-content { padding:48px 72px; }
    .hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.82) 34%,rgba(255,255,255,.35) 53%,transparent 73%); }
    .hero-content { position:relative; z-index:1; }
    .hero h1 { max-width:690px; font-size:52px; letter-spacing:0; line-height:1.14; color:#24292b; }
    .hero p { font-size:17px; max-width:500px; letter-spacing:0; line-height:1.6; color:#343b3e; }
    .hero .button { border-radius:2px; }
    .section { margin-top:128px; }
    .section-heading { font-size:46px; letter-spacing:-.025em; margin-bottom:48px; }
    .about { padding-top:8px; }
    .about h2 { font-size:39px; letter-spacing:-.02em; }
    .about p { font-size:17px; }
    .product-grid { gap:64px 36px; }
    .product .photo { border-radius:16px; aspect-ratio:1.62; }
    .product h3 { font-size:29px; letter-spacing:-.015em; margin-top:22px; }
    .product p { font-size:16px; line-height:1.45; }
    .product .text-link { display:inline-flex; gap:12px; border-bottom:1px solid var(--red); padding-bottom:4px; }
    .industry-grid { gap:54px 28px; }
    .industry .photo { border-radius:16px; aspect-ratio:1.7; }
    .industry h3 { font-size:23px; font-weight:500; }
    .expertise { margin-top:142px; gap:80px; }
    .expertise-photo { height:520px; border-radius:16px; }
    .expertise h2 { font-size:42px; letter-spacing:-.025em; }
    .expertise li { border-top:1px solid var(--line); padding:13px 0 13px 20px; }
    .expertise li:last-child { border-bottom:1px solid var(--line); }
    .facts { padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .fact { padding-inline:44px; }
    .fact strong { font-size:58px; letter-spacing:-.035em; }
    .quality { margin-top:0; padding:38px 0 0; border-top:0; }
    .contact { margin-top:128px; padding-block:92px; background:#f3f5f4; }
    .contact h2 { font-size:44px; }
    .lead-form input,.lead-form textarea { border-color:#cfd3d4; border-radius:2px; }
    .lead-form .button { border-radius:2px; }
    .footer { background:#2e3332; padding-top:64px; }
    .footer-main { grid-template-columns:1.4fr .7fr 1fr; }
    @media(max-width:800px) {
      .site-header { height:74px; }
      .header-inner { width:calc(100% - 40px); }
      .hero { width:calc(100% - 24px); height:500px; border-radius:14px; }
      .hero-content { padding:32px; }
      .hero h1 { font-size:40px; }
      .section { margin-top:80px; }
      .section-heading { font-size:38px; margin-bottom:32px; }
      .about h2 { font-size:33px; }
      .product-grid { gap:44px 24px; }
      .expertise { margin-top:88px; gap:40px; }
      .expertise-photo { border-radius:14px; }
      .facts { margin-top:80px; }
      .contact { margin-top:80px; }
    }

/* /company.css */
/* Extends the homepage's existing typography, container and header/footer. */
.company-teaser { margin-top:48px; padding:0 0 48px; border-bottom:1px solid var(--line); }
.company-teaser h2 { max-width:950px; font-size:36px; line-height:1.18; margin:16px 0 22px; }
.company-teaser > p:not(.label) { max-width:820px; font-size:17px; color:var(--muted); }
.company-teaser .text-link { display:inline-flex; gap:12px; margin-top:24px; padding:6px 0; }
.company-figure { min-width:0; margin:0; }
.company-image { display:block; width:100%; height:100%; border-radius:16px; overflow:hidden; }
.company-building .company-image { aspect-ratio:1.48; height:auto; }
.company-page h1,.company-page h2,.company-page h3 { letter-spacing:0; }
.company-intro { padding-top:56px; }
.company-intro-hero { position:relative; width:calc(100% - 32px); max-width:1680px; height:510px; margin-inline:auto; overflow:hidden; border-radius:16px; background:#f1f2f0; }
.company-intro-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.82) 34%,rgba(255,255,255,.35) 53%,transparent 73%); }
.company-intro-copy { position:absolute; z-index:1; inset:0 auto 0 0; width:min(54%,650px); display:flex; flex-direction:column; justify-content:center; padding:56px 64px; }
.company-intro-copy h1 { font-size:44px; line-height:1.16; margin:18px 0 24px; }
.company-intro-copy > p:not(.label) { color:var(--muted); font-size:17px; max-width:620px; }
.company-intro .company-building { position:absolute; inset:0; width:100%; }
.company-intro .company-image { width:100%; height:100%; border-radius:0; }
.company-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; }
.company-page h2 { font-size:38px; line-height:1.18; }
.company-story p { color:var(--muted); margin-bottom:18px; }
.company-dates { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.company-dates strong { display:block; font-size:32px; font-weight:400; color:var(--red); }
.company-dates span { font-size:14px; color:var(--muted); }
.company-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:32px; }
.company-section-heading p { color:var(--muted); }
.company-production-media { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:24px; }
.company-production-media .company-image { height:340px; }
.company-rnd { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.company-rnd-main .company-image { aspect-ratio:1.25; height:auto; }
.company-rnd-copy h2 { margin:16px 0 24px; }
.company-rnd-copy p:not(.label) { color:var(--muted); margin-bottom:18px; }
.company-rnd-detail { margin-top:28px; }
.company-rnd-detail .company-image { aspect-ratio:1.7; height:auto; }
.company-quality { padding:64px 0; background:#f5f6f5; }
.company-quality dl { margin:32px 0 0; }
.company-quality dl > div { display:grid; grid-template-columns:minmax(0,.35fr) minmax(0,.65fr); gap:40px; padding:24px 0; border-top:1px solid var(--line); }
.company-quality dt { font-size:24px; }
.company-quality dd { margin:0; color:var(--muted); max-width:740px; }
.company-cta { padding-bottom:96px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.company-cta h2 { max-width:560px; }
.company-cta-actions { display:flex; flex-wrap:wrap; gap:14px; }
.button.company-secondary { background:white; color:var(--red); border:1px solid #dac7cd; }
.button.company-secondary:hover { background:#fcf5f7; }
.company-page .nav [aria-current="page"] { color:var(--red); }
@media(max-width:1100px) {
  .company-teaser h2 { font-size:32px; }
  .company-intro-copy { padding:48px; }
  .company-intro h1 { font-size:38px; }
  .company-production-media .company-image { height:280px; }
}
@media(max-width:800px) {
  .company-story,.company-section-heading,.company-rnd { grid-template-columns:1fr; gap:28px; }
  .company-intro-hero { width:calc(100% - 24px); height:500px; border-radius:14px; }
  .company-intro-copy { width:65%; padding:40px; }
  .company-teaser { margin-top:36px; padding-bottom:36px; }
  .company-intro { padding-top:36px; }
  .company-intro h1 { font-size:36px; }
  .company-intro-copy { width:100%; padding:28px; justify-content:flex-start; }
  .company-intro-hero { height:520px; }
  .company-intro-hero::after { background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 42%,rgba(255,255,255,.08) 82%,rgba(255,255,255,0) 100%); }
  .company-page h2 { font-size:32px; }
  .company-quality dl > div { grid-template-columns:1fr; gap:12px; }
  .company-cta { flex-direction:column; align-items:flex-start; padding-bottom:64px; }
}
@media(max-width:520px) {
  .company-intro h1 { font-size:30px; }
  .company-teaser h2,.company-page h2 { font-size:28px; }
  .company-teaser > p:not(.label) { font-size:16px; }
  .company-image { border-radius:8px; }
  .company-production-media { grid-template-columns:1fr; }
  .company-production-media .company-image { height:auto; aspect-ratio:1.55; }
  .company-cta-actions { width:100%; flex-direction:column; }
}

/* /product-slider.css */
#products.product-carousel { width:min(1440px,calc(100% - 48px)); }
.product-carousel .product-grid { display:block; position:relative; touch-action:pan-y; }
.product-carousel .product { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; isolation:isolate; overflow:hidden; min-height:440px; padding:56px; border-radius:8px; color:#fff; }
.product-carousel .product[hidden] { display:none; }
.product-carousel .product .photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; aspect-ratio:auto; border-radius:0; }
.product-carousel .product .photo img { width:100%; height:100%; object-fit:cover; transform:none; }
.product-carousel .product::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(16,29,25,.78),rgba(16,29,25,.46) 44%,transparent 85%); }
.product-carousel .product h3 { max-width:620px; font-size:44px; line-height:1.12; margin:0 0 22px; color:#fff; }
.product-carousel .product p { max-width:470px; margin:0; color:#fff; font-size:18px; line-height:1.5; }
.product-carousel .product .text-link { display:inline-flex; gap:24px; align-items:center; margin:32px 0 0; padding:13px 22px; border:0; border-radius:4px; background:var(--red); color:#fff; font-size:16px; }
.product-carousel .product:hover .text-link { background:#850e28; }
.product-carousel .product.is-entering { animation:product-reveal .35s ease both; }
.product-selectors { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:18px; }
.product-selector { position:relative; isolation:isolate; overflow:hidden; display:flex; justify-content:center; align-items:center; width:100%; min-height:118px; padding:18px; border:0; border-radius:8px; background:#edf0ed; color:#27332d; text-align:center; font:500 18px/1.25 Arial,Helvetica,sans-serif; cursor:pointer; transition:color .2s,background .2s; }
.product-selector img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.product-selector::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(255,255,255,.78); transition:background .2s; }
.product-selector[aria-selected="true"] { border:0; color:#fff; text-shadow:0 1px 6px #000; }
.product-selector[aria-selected="true"]::before { background:rgba(16,29,25,.42); }
.product-selector:hover:not([aria-selected="true"])::before { background:rgba(255,255,255,.57); }
.product-selector:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
@keyframes product-reveal { from { opacity:.45; } to { opacity:1; } }
@media(max-width:800px) {
  #products.product-carousel { width:calc(100% - 32px); }
  .product-carousel .product { min-height:400px; padding:36px; }
  .product-carousel .product h3 { font-size:34px; max-width:480px; }
  .product-selectors { gap:10px; }
  .product-selector { font-size:15px; min-height:100px; padding:12px 8px; }
}
@media(max-width:520px) {
  .product-carousel .product { min-height:390px; padding:28px 22px; }
  .product-carousel .product h3 { font-size:29px; overflow-wrap:anywhere; }
  .product-carousel .product p { font-size:16px; }
  .product-carousel .product::before { background:linear-gradient(90deg,rgba(16,29,25,.8),rgba(16,29,25,.48) 78%,rgba(16,29,25,.25)); }
  .product-selectors { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-selector { min-height:84px; }
}
@media(prefers-reduced-motion:reduce) { .product-carousel .product.is-entering { animation:none; } }

/* Deferred slide images stay hidden until activation; noscript images remain visible. */
.product .photo img[hidden],.product-selector img[hidden]{display:none!important;}

/* /industry.css */
/* Industry view uses the homepage's container, typography, buttons and navigation. */
.industry-page h1,.industry-page h2,.industry-page h3,.industry-page h4 { letter-spacing:0; }
.industry-page section[id] { scroll-margin-top:110px; }
.industry-hero { position:relative; isolation:isolate; min-height:420px; padding:40px 0 52px; background:#f4f5f4; overflow:hidden; }
.industry-hero > img { position:absolute; inset:0 0 0 auto; width:65%; height:100%; object-position:center; z-index:-2; }
.industry-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#f4f5f4 30%,rgba(244,245,244,.94) 42%,rgba(244,245,244,0) 69%); }
.industry-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; color:#555e61; font-size:13px; margin-bottom:38px; }
.industry-breadcrumbs a:hover { color:var(--red); }
.industry-hero h1 { max-width:540px; font-size:48px; line-height:1.12; margin:14px 0 20px; overflow-wrap:break-word; }
.industry-lead { max-width:500px; color:#50575a; font-size:17px; }
.solutions-nav { position:sticky; top:var(--header); z-index:10; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding-block:18px; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); }
.solutions-nav a { position:relative; display:block; padding:8px 0 12px; color:var(--ink); font-size:16px; line-height:1.4; transition:color .2s ease; }
.solutions-nav a::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:transparent; transition:background .2s ease; }
.solutions-nav a:hover,.solutions-nav a[aria-current="page"] { color:var(--red); }
.solutions-nav a:hover::after,.solutions-nav a[aria-current="page"]::after { background:var(--red); }
.industry-subpage .solution-section { padding-top:56px; }
.solution-section { padding-block:64px; }
.solution-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:32px; }
.solution-heading h2 { font-size:36px; max-width:840px; margin-top:12px; overflow-wrap:break-word; }
.solution-heading > p { max-width:360px; color:var(--muted); font-size:15px; }
.solution-band { background:#f6f7f6; }
.color-solutions,.solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.solution-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.solution-feature-colorants { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
.solution-feature-stabilizers,.solution-feature-fresh { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.solution-feature-stabilizers .product-list,.solution-feature-fresh .product-list { order:1; }
.solution-feature-stabilizers .industry-photo,.solution-feature-fresh .industry-photo { order:2; }
.product-list { min-width:0; }
.product-list .solution-product { padding:22px 0; border-top:1px solid #d9dddd; }
.product-list .solution-product:first-child { border-top:0; padding-top:0; }
.product-list .product-details { margin-top:10px; }
.product-list .technical { max-width:680px; }
.industry-photo,.industry-wide-photo,.industry-break { overflow:hidden; border-radius:20px; margin:0; }
.industry-photo { min-height:340px; }
.industry-photo img,.industry-wide-photo img,.industry-break img { display:block; width:100%; height:100%; object-fit:cover; }
.industry-wide-photo { height:360px; margin:0 0 36px; }
.industry-break { height:260px; margin-block:48px; }
.color-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.color-solutions .color-solution { grid-column:auto; }
.color-solutions .color-solution:nth-of-type(n+1) { grid-row:auto; }
.color-solutions .product-details { display:none; }
.colorants-section-link { display:block; width:max-content; margin-top:12px; color:var(--red); font-size:15px; font-weight:700; }
.colorants-section-link:hover { color:#850a25; }
.solution-band #stabilizers .solution-grid::after { content:""; display:block; grid-column:2; grid-row:1 / span 3; min-height:320px; border-radius:20px; background:url("assets/optimized/meat-stabilizers-process.jpg.webp") center/cover no-repeat; }
.solution-band #fresh .solution-grid::after { content:""; display:block; grid-column:2; grid-row:1 / span 2; min-height:280px; border-radius:20px; background:url("assets/optimized/meat-freshness.jpg.webp") center/cover no-repeat; }
.application-groups::before { content:""; display:block; height:300px; margin-bottom:28px; border-radius:20px; background:url("assets/optimized/meat-flavor-solutions.jpg.webp") center/cover no-repeat; }
.application-groups::after { content:""; display:block; height:240px; margin-top:48px; border-radius:20px; background:url("assets/optimized/meat-smoked-products.jpg.webp") center/cover no-repeat; }
.color-solution,.solution-product { min-width:0; padding:26px 0; border-top:1px solid #d9dddd; overflow-wrap:anywhere; }
.color-solution h3,.solution-product h3,.solution-product h4 { margin:0; font-size:22px; font-weight:500; line-height:1.3; }
.color-solution > p,.purpose { font-size:15px; color:#5b6265; margin:12px 0 0; }
.sku { display:block; font-size:13px; color:var(--red); margin:7px 0 0; font-variant-numeric:tabular-nums; }
.catalog-reference { display:inline-block; margin-top:16px; font-size:13px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; }
.catalog-reference:hover { color:var(--red); }
.dosage { margin:18px 0 0; font-size:15px; }
.dosage > span { display:block; color:var(--muted); font-size:12px; margin-bottom:4px; }
.product-details { margin-top:12px; }
.product-details > summary { cursor:pointer; min-height:44px; padding:12px 0; font-size:14px; color:var(--red); }
summary:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.count { font-size:13px; color:var(--muted); margin-left:12px; font-variant-numeric:tabular-nums; }
.technical { margin:6px 0 0; font-size:14px; }
.technical > div { margin:12px 0; }
.technical dt { color:var(--muted); font-size:12px; margin-bottom:4px; }
.technical dd { margin:0; }
.color-variants { border-top:1px solid var(--line); }
.color-variant { padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.color-variant strong { font-weight:500; }
.color-variant .technical { display:flex; flex-wrap:wrap; gap:8px 28px; }
.color-variant .technical > div { margin:8px 0 0; }
.application-group { border-top:1px solid #d9dddd; }
.application-group:last-child { border-bottom:1px solid #d9dddd; }
.application-group > summary { display:flex; align-items:center; gap:24px; cursor:pointer; min-height:82px; padding:22px 8px 22px 0; font-size:22px; line-height:1.3; list-style:none; }
.application-group > summary::-webkit-details-marker { display:none; }
.application-group > summary::after { content:"+"; color:var(--red); font-size:26px; margin-left:auto; }
.application-group[open] > summary::after { content:"−"; }
.application-group > summary .count { flex-shrink:0; }
.application-group[open] > summary { color:var(--red); }
.application-group .solution-grid { padding-bottom:24px; }
.composition { font-size:14px; color:var(--muted); margin-top:20px; }
.industry-consult { display:flex; justify-content:space-between; align-items:center; gap:48px; padding-block:72px; }
.industry-consult > .industry-photo { width:52%; min-height:300px; }
.industry-consult > div { max-width:650px; }
.industry-consult h2 { font-size:34px; margin:14px 0 18px; }
.industry-consult p:not(.label) { color:var(--muted); font-size:16px; }
.industry-consult .button { max-width:300px; flex-shrink:0; }
.industry-page .footer { margin-top:0; }
.industries-intro { max-width:740px; margin:-24px 0 36px; color:var(--muted); font-size:17px; }
@media(max-width:1100px) {
 .solutions-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 32px; }
 .industry-hero h1 { font-size:42px; max-width:470px; }
 .industry-lead { max-width:440px; }
 .solution-heading { align-items:start; flex-direction:column; gap:20px; }
 .solution-heading > p { max-width:620px; }
 .industry-consult { align-items:start; flex-direction:column; gap:24px; }
}
@media(max-width:800px) {
 .industry-hero { padding:28px 0 0; display:flex; flex-direction:column; }
 .industry-hero > img { position:static; order:2; width:100%; height:280px; z-index:auto; margin-top:28px; }
 .industry-hero::after { display:none; }
 .industry-hero h1 { font-size:38px; max-width:560px; }
 .industry-lead { max-width:600px; }
 .industry-breadcrumbs { margin-bottom:24px; }
 .solution-section { padding-block:44px; }
 .solution-heading h2 { font-size:30px; }
 .color-solutions,.solution-grid { gap:0 24px; }
 .solution-feature { gap:32px; }
 .application-group > summary { font-size:20px; }
 .industry-consult { padding-block:48px; }
 .industries-intro { margin-top:-12px; }
}
@media(max-width:520px) {
 .industry-hero h1 { font-size:32px; }
 .industry-hero > img { height:230px; }
 .solutions-nav { grid-template-columns:1fr; gap:0; padding-block:16px; }
 .solutions-nav a { min-height:56px; border-bottom:1px solid var(--line); }
 .solutions-nav a:last-child { border-bottom:0; }
 .color-solutions,.solution-grid { grid-template-columns:1fr; }
 .solution-feature,.solution-feature-colorants,.solution-feature-stabilizers,.solution-feature-fresh { grid-template-columns:1fr; }
 .solution-feature .industry-photo,.solution-feature .product-list { order:initial; }
 .industry-photo { min-height:240px; }
 .industry-wide-photo { height:240px; }
 .industry-break { height:190px; margin-block:32px; }
 .solution-band #stabilizers .solution-grid::after,.solution-band #fresh .solution-grid::after { grid-column:auto; grid-row:auto; min-height:220px; }
 .industry-consult > .industry-photo { width:100%; min-height:220px; }
 .application-groups::before { height:220px; }
 .application-groups::after { height:180px; }
 .solution-heading h2,.industry-consult h2 { font-size:28px; }
 .application-group > summary { font-size:18px; gap:10px; }
 .application-group > summary .count { margin-left:0; }
}
