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

/* /fish-colors.css */
.fsc-hero { min-height:510px; }
.fsc-hero > img { width:74%; object-position:center; }
.fsc-hero h1 { max-width:610px; }
.fsc-hero .industry-lead { max-width:455px; }

.fsc-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:64px; align-items:start; padding-block:44px 40px; }
.fsc-intro h2,.fsc-family h2,.fsc-applications h2,.fsc-support h2 { margin:0; font-size:37px; font-weight:500; line-height:1.2; }
.fsc-intro p,.fsc-family-top > div > p:not(.label),.fsc-support-copy > p:not(.label) { margin:0; color:var(--muted); font-size:17px; line-height:1.6; }

.fsc-family { padding-block:52px; }
.fsc-family-top { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:72px; align-items:center; margin-bottom:34px; }
.fsc-family-top .label,.fsc-applications > .label,.fsc-support .label { margin:0 0 16px; color:var(--red); font-size:13px; font-weight:600; }
.fsc-family h2 { margin-bottom:18px; }
.fsc-family-top > div > p:not(.label) { max-width:550px; }
.fsc-family-photo { margin:0; overflow:hidden; border-radius:6px; background:#f4f5f4; }
.fsc-family-photo img { display:block; width:100%; height:auto; }
.fsc-blends .fsc-family-top > div { order:2; }
.fsc-blends .fsc-family-photo { order:1; }

.fsc-product-list { border-top:1px solid var(--line); }
.fsc-row { display:grid; grid-template-columns:48px minmax(130px,1.05fr) minmax(88px,.72fr) minmax(125px,1fr) minmax(145px,1.2fr) minmax(150px,1.35fr); column-gap:18px; align-items:center; min-width:0; padding-block:18px; border-bottom:1px solid var(--line); }
.fsc-name h3 { margin:0; font-size:18px; font-weight:500; line-height:1.3; }
.fsc-value,.fsc-pairs { min-width:0; color:var(--muted); font-size:14px; line-height:1.45; }
.fsc-pairs { grid-column:3 / 5; }
.fsc-pairs > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:14px; }
.fsc-pairs > div + div { margin-top:5px; }
.fsc-pairs b { color:var(--ink); font-weight:500; }
.fsc-swatch { position:relative; display:block; width:38px; height:30px; transform:rotate(-7deg); border-radius:57% 43% 51% 49% / 42% 55% 45% 58%; background:radial-gradient(ellipse at 30% 34%,var(--swatch-light) 0 18%,transparent 20%),radial-gradient(ellipse at 61% 63%,var(--swatch-dark) 0 23%,transparent 25%),radial-gradient(ellipse at 48% 48%,var(--swatch) 0 60%,transparent 62%); }
.fsc-swatch::after { content:""; position:absolute; inset:-3px 3px 2px -3px; border-radius:inherit; background:inherit; opacity:.48; transform:rotate(17deg) scale(.86); }
.fsc-swatch-annatto { --swatch:#d67818; --swatch-light:#f6b038; --swatch-dark:#a94e0c; }
.fsc-swatch-paprika { --swatch:#b9231d; --swatch-light:#e34a30; --swatch-dark:#7e1514; }
.fsc-swatch-ecoblend-red { --swatch:#c84a17; --swatch-light:#e8752b; --swatch-dark:#8f2b11; }
.fsc-swatch-ecoblend-black { --swatch:#26282a; --swatch-light:#515456; --swatch-dark:#111213; }
.fsc-swatch-salmon { --swatch:#a91929; --swatch-light:#d8434b; --swatch-dark:#6f101e; }
.fsc-swatch-bright { --swatch:#d96219; --swatch-light:#ef8b30; --swatch-dark:#a33d0e; }

.fsc-applications { padding-block:56px 64px; border-top:1px solid var(--line); }
.fsc-applications h2 { margin-bottom:28px; }
.fsc-task-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.fsc-task { min-width:0; margin:0; }
.fsc-task img { display:block; width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; object-position:center; border-radius:4px; }
.fsc-task figcaption { margin-top:10px; font-size:15px; font-weight:500; line-height:1.35; }

.fsc-support { position:relative; isolation:isolate; overflow:hidden; padding-block:60px; background:#f5f5f4; }
.fsc-support > img { position:absolute; inset:0 0 0 auto; z-index:-2; width:65%; height:100%; object-fit:cover; }
.fsc-support::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#f5f5f4 30%,#f5f5f4ec 45%,#f5f5f400 74%); }
.fsc-support-copy { width:50%; max-width:640px; }
.fsc-support h2 { margin-bottom:18px; }
.fsc-support-copy > p:not(.label) { margin-bottom:28px; }

@media(max-width:1100px) {
  .fsc-family-top { gap:48px; }
  .fsc-row { grid-template-columns:44px minmax(115px,1fr) minmax(80px,.7fr) minmax(112px,.95fr) minmax(125px,1.05fr) minmax(128px,1.2fr); column-gap:12px; }
  .fsc-pairs > div { grid-template-columns:72px minmax(0,1fr); gap:8px; }
}
@media(max-width:800px) {
  .fsc-hero { min-height:0; }
  .fsc-hero > img { width:100%; object-position:center; }
  .fsc-intro { grid-template-columns:1fr; gap:16px; padding-block:34px; }
  .fsc-intro h2,.fsc-family h2,.fsc-applications h2,.fsc-support h2 { font-size:29px; }
  .fsc-family { padding-block:40px; }
  .fsc-family-top { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
  .fsc-blends .fsc-family-top > div,.fsc-blends .fsc-family-photo { order:initial; }
  .fsc-row { grid-template-columns:44px minmax(0,1fr); column-gap:14px; align-items:start; padding-block:19px; }
  .fsc-name { padding-top:5px; }
  .fsc-value,.fsc-pairs { grid-column:2; display:grid; grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr); gap:12px; margin-top:10px; }
  .fsc-value::before,.fsc-pairs::before { content:attr(data-label); color:var(--ink); font-size:12px; }
  .fsc-pairs { grid-template-columns:1fr; gap:6px; }
  .fsc-pairs::before { display:block; }
  .fsc-pairs > div { grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr); gap:12px; }
  .fsc-pairs > div + div { margin-top:0; }
  .fsc-applications { padding-block:42px 48px; }
  .fsc-task-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .fsc-task:last-child { grid-column:1 / -1; max-width:calc(50% - 8px); }
  .fsc-support { padding-block:48px; }
  .fsc-support-copy { width:75%; }
}
@media(max-width:520px) {
  .fsc-intro p,.fsc-family-top > div > p:not(.label),.fsc-support-copy > p:not(.label) { font-size:16px; }
  .fsc-task-grid { grid-template-columns:1fr; gap:22px; }
  .fsc-task:last-child { grid-column:auto; max-width:none; }
  .fsc-task img { aspect-ratio:16 / 7; }
  .fsc-support-copy { width:100%; }
  .fsc-support > img { width:100%; opacity:.16; }
}

/* Shared column labels align every product with its characteristics. */
.fsc-column-head { padding-block:12px; color:var(--muted); font-size:12px; line-height:1.4; }
@media(max-width:800px) {
  .fsc-column-head { display:none; }
}

/* /fish-products.css */
.fish-compact-hero h1 { max-width:640px; font-size:44px; font-weight:500; letter-spacing:0; }
.fish-compact-hero .industry-lead { max-width:420px; }
.fish-compact-hero .label { max-width:590px; line-height:1.5; }
.fish-compact-hero .label a { color:inherit; text-decoration:none; }
.fish-compact-hero .label a:hover { text-decoration:underline; }
.fish-compact-hero .label a:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.fish-products { padding-block:64px 72px; }
.fish-products > .label { margin:0 0 28px; color:var(--red); font-size:13px; font-weight:600; }
.fish-product-layout { min-width:0; }
.fish-product-layout.has-visual { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.fish-product-visual { margin:0; height:420px; overflow:hidden; border-radius:6px; }
.fish-product-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.fish-product { min-width:0; }
.fish-product h2 { margin:0 0 24px; font-size:30px; font-weight:500; line-height:1.25; letter-spacing:0; }
.fish-product-data { margin:0; }
.fish-product-data > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:24px; padding:17px 0; border-bottom:1px solid var(--line); }
.fish-product-data > div:first-child { border-top:1px solid var(--line); }
.fish-product-data dt { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.fish-product-data dd { min-width:0; margin:0; color:var(--ink); font-size:16px; line-height:1.6; }
.fish-product-data .fish-code dd { font-weight:500; font-variant-numeric:tabular-nums; }
.fish-product-data .fish-dose dd { font-weight:500; color:var(--red); }
.fish-product-layout:not(.has-visual) .fish-product { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.fish-product-layout.has-rows .fish-product + .fish-product { margin-top:36px; padding-top:36px; border-top:1px solid var(--line); }
.fish-compact-page .fsc-support { min-height:350px; display:flex; align-items:center; box-sizing:border-box; }
.fish-compact-page .fsc-support > .container { width:min(1320px,calc(100% - 64px)); }
@media(max-width:1000px) {
  .fish-product-layout.has-visual,.fish-product-layout:not(.has-visual) .fish-product { gap:36px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .fish-product h2 { font-size:27px; }
  .fish-product-data > div { grid-template-columns:98px minmax(0,1fr); gap:16px; }
}
@media(max-width:800px) {
  .fish-compact-hero h1 { font-size:34px; max-width:600px; }
  .fish-products { padding-block:40px 48px; }
  .fish-product-layout.has-visual,.fish-product-layout:not(.has-visual) .fish-product { grid-template-columns:1fr; gap:26px; }
  .fish-product-visual { height:280px; }
  .fish-product h2 { margin-bottom:20px; font-size:27px; }
  .fish-product-layout:not(.has-visual) .fish-product h2 { margin-bottom:0; }
  .fish-product-data > div { grid-template-columns:1fr; gap:5px; padding-block:14px; }
  .fish-product-layout.has-rows .fish-product + .fish-product { margin-top:30px; padding-top:30px; }
  .fish-compact-page .fsc-support > .container { width:calc(100% - 40px); }
}
@media(max-width:400px) {
  .fish-compact-hero h1 { font-size:29px; }
  .fish-product h2 { font-size:25px; }
}

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