/* /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; }
    }

/* /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; }
}

/* /site-shell.css */
/* Shared header and edge-to-edge hero geometry on active pages. */
body .site-header { position:sticky !important; inset:0 0 auto !important; z-index:50; display:block !important; width:100% !important; height:82px !important; min-height:82px !important; padding:0 !important; background:#fff !important; color:#2d3031 !important; border:0 !important; box-shadow:none !important; backdrop-filter:none !important; font-family:Arial,Helvetica,sans-serif; }
body .site-header .header-inner { display:flex !important; align-items:center !important; gap:40px !important; width:min(1360px,calc(100% - 72px)) !important; max-width:none !important; height:100% !important; margin:0 auto !important; padding:0 !important; }
body .site-header .brand { display:flex; min-width:0; padding:0; border:0; background:none; }
body .site-header .brand img { width:148px; height:auto; display:block; }
body .site-header .nav { display:flex; align-items:center; justify-content:flex-end; gap:30px; margin-left:auto; font-size:14px; font-weight:400; }
body .site-header a { text-decoration:none; color:inherit; opacity:1; }
body .site-header .header-button { display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:44px; padding:11px 22px; border:1px solid #bfc3c4; border-radius:2px; color:#2d3031; background:transparent; font-size:14px; font-weight:600; }
body .site-header .menu-toggle { display:none; }
body .site-header .nav-dropdown { position:relative; }
body .site-header .nav-dropdown > button { display:flex; align-items:center; gap:7px; border:0; padding:12px 0; background:none; color:inherit; font:inherit; cursor:pointer; }
body .site-header .nav-dropdown > button span { font-size:12px; }
body .site-header .nav-dropdown-menu { position:absolute; top:100%; right:0; left:auto; width:340px; max-width:90vw; padding:10px 0; background:white; border:1px solid #e4e6e7; box-shadow:0 10px 24px #00000010; visibility:hidden; opacity:0; transform:none; }
body .site-header .nav-dropdown:hover .nav-dropdown-menu,body .site-header .nav-dropdown:focus-within .nav-dropdown-menu,body .site-header .nav-dropdown.is-open .nav-dropdown-menu { visibility:visible; opacity:1; }
body .site-header .nav-dropdown-menu a { display:block; padding:10px 18px; white-space:normal; line-height:1.4; }
body .site-header .nav-industries-menu { width:300px; padding:10px 0; }
body .site-header .nav-industry-groups { display:block; }
body .site-header .nav-industry-group { position:relative; min-width:0; }
body .site-header .nav-industries-menu .nav-industry-parent { padding:10px 52px 10px 18px; font-weight:400; }
body .site-header .nav-industry-toggle { position:absolute; right:8px; top:4px; width:36px; height:32px; border:0; background:transparent; color:inherit; cursor:pointer; }
body .site-header .nav-industry-toggle::after { content:""; display:inline-block; width:7px; height:7px; border-top:1px solid; border-right:1px solid; transform:rotate(45deg); }
body .site-header .nav-industries-menu .nav-industry-children { display:none; position:absolute; left:100%; top:-1px; width:300px; padding:8px 0; background:#fff; border:1px solid #e4e6e7; box-shadow:0 10px 24px #00000010; }
body .site-header .nav-industry-group.is-expanded > .nav-industry-children { display:block; }
body .site-header .nav-industries-menu .nav-industry-children a { padding:10px 18px; font-size:14px; }
body .site-header .nav-industry-other { display:block; }
body .site-header .nav-industries-menu .nav-industry-other a { padding:10px 18px; font-size:14px; }
body .site-header .nav-industries-menu a:hover { color:#a91232; }
body .site-header a:hover { color:#a91232; }
body .site-header .language-switcher { display:inline-flex; align-items:center; gap:0; margin-left:2px; padding:3px; border:1px solid #dfe2e3; border-radius:3px; white-space:nowrap; font-size:12px; line-height:1; letter-spacing:.04em; }
body .site-header .language-switcher a,body .site-header .language-switcher span { display:inline-flex; align-items:center; justify-content:center; min-width:31px; min-height:26px; padding:0 6px; border-radius:2px; color:#656a6c; text-decoration:none; }
body .site-header .language-switcher [aria-current="page"] { color:#fff; background:#a91232; font-weight:700; }
body .site-header .language-switcher a:hover { color:#a91232; }
body .site-header .language-switcher-status:not(:empty) { position:fixed; top:92px; right:24px; z-index:100; max-width:min(360px,calc(100vw - 32px)); padding:12px 16px; border-radius:3px; color:#fff; background:#2d3031; box-shadow:0 8px 24px #0003; font-size:14px; line-height:1.45; white-space:normal; }
/* Override the older category-specific framed hero rules. */
body :is(.catalog-hero,.ingredients-hero,.industry-hero,.company-intro-hero) { width:100% !important; max-width:none !important; height:360px !important; min-height:360px !important; margin-left:0 !important; margin-right:0 !important; border-radius:0 !important; box-sizing:border-box; }
body .company-intro { padding-top:0; }
body :is(.catalog-hero-inner,.ingredients-hero-copy,.industry-hero-copy,.hero-content) { width:min(1320px,calc(100% - 64px)) !important; margin-inline:auto; padding:28px 0 !important; }
body .industry-hero { display:flex; align-items:center; padding:0; }
body .industry-hero > img { width:100%; }
body .company-intro-copy { padding-left:max(32px,calc((100% - 1320px)/2)); width:60%; max-width:850px; }
/* The homepage keeps its existing hero scale and image framing. */
body .hero { width:calc(100% - 32px); max-width:1680px; height:510px; min-height:0; margin:0 auto; border-radius:16px; }
body .hero-content { width:auto; margin:0; padding:48px 72px; }
@media(max-width:1000px) {
 body .site-header { height:74px; min-height:74px; }
 body .site-header .header-inner { width:calc(100% - 40px); gap:20px; }
 body .site-header .brand img { width:132px; }
 body .site-header .header-button { margin-left:auto; }
 body .site-header .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:32px; height:42px; padding:4px; border:0; background:none; }
 body .site-header .menu-toggle span { width:24px; height:2px; background:#2d3031; }
 body .site-header .nav { display:none; position:absolute; inset:74px 0 auto; padding:16px 24px; margin:0; background:#fff; }
 body .site-header .nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100dvh - 74px); overflow:auto; }
 body .site-header .nav > a { padding:12px 0; }
 body .site-header .nav .language-switcher { align-self:flex-start; margin:12px 0 4px; }
 body .site-header .language-switcher-status:not(:empty) { top:82px; right:16px; }
 body .site-header .nav-dropdown > button { width:100%; justify-content:space-between; }
 body .site-header .nav-dropdown-menu { position:static; display:none; width:100%; max-width:none; border:0; box-shadow:none; }
 body .site-header .nav-dropdown.is-open .nav-dropdown-menu { display:block; }
 body .site-header .nav-industries-menu { width:100%; padding:0 0 8px; }
 body .site-header .nav-industries-menu .nav-industry-children { position:static; width:auto; margin-left:18px; padding:0 0 6px; border:0; border-left:1px solid #e4e6e7; box-shadow:none; }
 body .site-header .nav-industry-toggle::after { transform:rotate(135deg); }
 body .site-header .nav-industry-toggle[aria-expanded="true"]::after { transform:rotate(-45deg); }
}
@media(max-width:760px) {
 body :is(.catalog-hero,.ingredients-hero,.industry-hero,.company-intro-hero) { height:320px !important; min-height:320px !important; }
 body :is(.catalog-hero-inner,.ingredients-hero-copy,.industry-hero-copy,.hero-content) { width:calc(100% - 40px) !important; padding:24px 0 !important; }
 body .industry-hero > img { position:absolute; inset:0; height:100%; margin:0; z-index:-2; }
 body .industry-hero::after { display:block; background:linear-gradient(90deg,#f4f5f4ed,#f4f5f4b0 55%,#f4f5f420); }
 body .hero { width:calc(100% - 24px); height:500px; margin:0 auto; border-radius:14px; }
 body .hero-content { width:auto !important; padding:32px; }
 body .company-intro-copy { width:100%; padding:32px 20px; }
 body .company-intro-copy h1 { font-size:32px; }
 body .site-header .header-button { display:none; }
 body .site-header .menu-toggle { margin-left:auto; }
}

/* /cheese.css */
.cheese-hero > img { width:100%; object-fit:cover; object-position:center; }
.cheese-hero::after { background:linear-gradient(90deg,#f4f5f4 0%,rgba(244,245,244,.96) 24%,rgba(244,245,244,.72) 43%,rgba(244,245,244,0) 70%); }
.cheese-hero h1 { max-width:560px; }
.cheese-hero .industry-lead { max-width:520px; }

.cheese-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; padding-block:58px; }
.cheese-intro h2,.cheese-section-heading h2,.cheese-types h2,.cheese-support h2 { margin:0; font-size:38px; font-weight:500; line-height:1.18; letter-spacing:0; }
.cheese-intro p,.cheese-types-heading > p,.cheese-support p:not(.label) { margin:0; color:var(--muted); font-size:17px; line-height:1.65; }
.cheese-intro p + p { margin-top:16px; }

.cheese-directions { padding-block:54px 72px; border-top:1px solid var(--line); }
.cheese-section-heading { margin-bottom:32px; }
.cheese-section-heading .label,.cheese-types .label,.cheese-support .label { margin:0 0 15px; color:var(--red); font-size:13px; font-weight:600; }
.cheese-direction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 32px; }
.cheese-direction { display:flex; min-width:0; flex-direction:column; color:var(--ink); text-decoration:none; cursor:pointer; }
.cheese-direction figure { margin:0 0 17px; overflow:hidden; border-radius:6px; aspect-ratio:2.35; background:#f5f2eb; }
.cheese-direction img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.cheese-direction h3 { margin:0 0 8px; font-size:24px; font-weight:500; line-height:1.25; }
.cheese-direction p { max-width:560px; min-height:48px; margin:0 0 15px; color:var(--muted); font-size:16px; line-height:1.5; }
.cheese-direction span { margin-top:auto; color:var(--red); font-size:15px; font-weight:600; }
.cheese-direction span b { margin-left:8px; font-size:20px; font-weight:400; vertical-align:-1px; }
.cheese-direction:hover img { transform:scale(1.025); }
.cheese-direction:hover h3 { color:var(--red); }
.cheese-direction:focus-visible { outline:2px solid var(--red); outline-offset:7px; }

.cheese-types { padding-block:58px 68px; background:#faf8f3; }
.cheese-types-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:64px; align-items:end; margin-bottom:30px; }
.cheese-types-heading > p { max-width:520px; }
.cheese-type-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; }
.cheese-type-grid figure { min-width:0; margin:0; cursor:default; }
.cheese-type-grid img { display:block; width:100%; aspect-ratio:.88; object-fit:cover; border-radius:5px; }
.cheese-type-grid figcaption { margin-top:10px; font-size:14px; line-height:1.35; }

.cheese-support { padding-block:64px; color:#fff; background:#981b3d; }
.cheese-support-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:64px; }
.cheese-support .label { color:#fff; }
.cheese-support h2 { margin-bottom:16px; }
.cheese-support p:not(.label) { max-width:760px; color:#f8e9ed; }
.cheese-support .button { border-color:#fff; background:#fff; color:#981b3d; white-space:nowrap; }
.cheese-support .button:hover { border-color:#f4e8eb; background:#f4e8eb; }

@media(max-width:1050px) {
  .cheese-type-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 16px; }
  .cheese-type-grid img { aspect-ratio:1.2; }
}
@media(max-width:800px) {
  .cheese-hero::after { background:linear-gradient(90deg,#f4f5f4ed,#f4f5f4b0 60%,#f4f5f420); }
  .cheese-intro,.cheese-types-heading { grid-template-columns:1fr; gap:18px; padding-block:40px; }
  .cheese-intro h2,.cheese-section-heading h2,.cheese-types h2,.cheese-support h2 { font-size:30px; }
  .cheese-directions { padding-block:42px 48px; }
  .cheese-direction-grid { grid-template-columns:1fr; gap:36px; }
  .cheese-direction p { min-height:0; }
  .cheese-types { padding-block:44px 50px; }
  .cheese-types-heading { margin-bottom:26px; }
  .cheese-support { padding-block:48px; }
  .cheese-support-inner { grid-template-columns:1fr; gap:28px; }
  .cheese-support .button { justify-self:start; white-space:normal; }
}
@media(max-width:560px) {
  .cheese-direction figure { aspect-ratio:16 / 8; }
  .cheese-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; }
  .cheese-type-grid img { aspect-ratio:1; }
  .cheese-intro p,.cheese-types-heading > p,.cheese-support p:not(.label) { font-size:16px; }
}

/* /brand-tagline.css */
/* Shared brand lockup; footer branding remains unchanged. */
body .site-header .brand {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  flex-shrink:0;
}
body .site-header .brand .brand-tagline {
  display:block;
  margin:0;
  padding:0;
  color:#52565b;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
}
@media(max-width:1000px) {
  body .site-header .brand .brand-tagline { font-size:9px; }
}

/* /site-grid.css */
/* One content grid across product, industry and company pages. */
:root { --site-content-max:1400px; --site-gutter:50px; --site-content-width:min(var(--site-content-max),calc(100% - var(--site-gutter) * 2)); }
body .container,
body .site-header .header-inner,
body .catalog-hero-inner,
body .ingredients-hero-copy,
body .industry-hero-copy {
  width:var(--site-content-width) !important;
  max-width:var(--site-content-max) !important;
  margin-inline:auto !important;
  box-sizing:border-box;
}
body .site-header .header-inner { padding-inline:0 !important; }
body .catalog-hero-inner,
body .ingredients-hero-copy,
body .industry-hero-copy { padding-inline:0 !important; }
/* Account for the homepage hero's narrow outer frame. */
body .hero .hero-content {
  width:auto !important;
  max-width:none !important;
  margin-inline:0 !important;
  padding-left:max(calc(var(--site-gutter) - 16px),calc((100vw - var(--site-content-max)) / 2 - (100vw - 100%) / 2)) !important;
  padding-right:var(--site-gutter) !important;
}
body .company-intro-copy { padding-left:max(var(--site-gutter),calc((100vw - var(--site-content-max)) / 2)) !important; }
@media(max-width:760px) {
  body .hero .hero-content { padding-inline:38px !important; }
}

/* /site-fonts.css */
/* Inter: compact Latin/Cyrillic files; complete WOFF2 fallback preserves other glyphs. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter-400.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter-400-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/inter-500.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/inter-500-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/inter-600.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/inter-600-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter-700.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter-700-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
body,body button,body input,body textarea,body select,body .site-header,body .site-header .brand .brand-tagline,body .product-selector{font-family:Inter,Arial,Helvetica,sans-serif;}
