/* MSZ visual direction v0.6: the user's supplied Dairy Culture screenshot is
 * the layout reference. All copy, logos, SKUs and product photos belong to MSZ.
 * This layer deliberately follows site.css, leaving routes and business logic intact. */
:root{
  --cream:#f5efe6;
  --paper:#fffdfa;
  --ink:#343a36;
  --muted:#686d67;
  --brick:#ffad79;
  --brick-dark:#f4935f;
  --moss:#475b4d;
  --line:#e9e4dc;
  --sand:#f8f2e8;
  --clay:#f4e5d7;
  --surface:#fffdfa;
  --heading:#353a37;
  --orange:#ffad79;
}
html{scroll-padding-top:94px}
body{background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",system-ui,sans-serif}
h1,h2,h3{color:var(--heading);font-weight:500;letter-spacing:-.035em}
button,a{ -webkit-tap-highlight-color:transparent }
.site-width{width:min(calc(100% - 88px),1360px)}
.eyebrow{color:#a57153;font-size:12px;font-weight:600}
.eyebrow:before{background:var(--orange);width:8px;height:8px}
/* Centred brand with a white navigation pill on either side. */
.masthead{height:86px;border:0;background:var(--cream);box-shadow:none;position:sticky;top:0;z-index:100}
.masthead-row{width:min(calc(100% - 32px),1540px);height:100%;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:12px;align-items:center}
.masthead .brand-centered{grid-column:2;grid-row:1;margin:0 auto;display:flex;align-items:center;justify-content:center;min-width:0;width:140px}
.masthead .brand-centered img{width:116px;height:70px;display:block;object-fit:contain}
.header-pill{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,34px);background:#fff;border-radius:999px;padding:0 clamp(15px,1.6vw,30px);min-height:52px;white-space:nowrap}
.header-pill a{font-size:13px;color:#424743;font-weight:500;letter-spacing:0;position:relative;padding:9px 0}
.header-pill a:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:1px;background:var(--orange);transition:width .2s ease}
.header-pill a:hover:after,.header-pill a[aria-current="page"]:after{width:100%}
.header-pill-left{justify-self:start;grid-column:1;grid-row:1;width:max-content;max-width:100%}
.header-right{grid-column:3;grid-row:1;display:flex;align-items:center;justify-self:end;gap:12px}
.header-pill-right{gap:24px;min-height:52px;padding-inline:24px}
.masthead .header-action{display:flex;align-items:center;justify-content:center;min-height:52px;min-width:166px;border-radius:999px;padding:13px 26px;font-size:13px;font-weight:600;letter-spacing:0;color:#fff;background:var(--orange);box-shadow:none}
.masthead .header-action:hover{background:var(--brick-dark);transform:translateY(-1px)}
.masthead .menu-trigger{display:none;grid-column:3;grid-row:1;justify-self:end;background:#fff;border:1px solid #f0ded0;border-radius:16px;width:52px;height:52px}
.masthead .mobile-menu{background:#fffaf5;border-bottom:1px solid #eedbcf;padding:12px 22px 24px}
.masthead .mobile-menu a{color:var(--ink)}
/* Buttons and links across the site. */
.btn-primary,.btn-light{background:var(--orange);border:1px solid var(--orange);color:white;border-radius:999px;min-height:50px;font-weight:600;letter-spacing:0;padding:13px 26px;box-shadow:none}
.btn-primary:hover,.btn-light:hover{background:var(--brick-dark);border-color:var(--brick-dark);color:#fff;transform:translateY(-1px)}
.btn-outline{border:2px solid var(--orange);color:#59544c;background:transparent;border-radius:999px;min-height:50px;font-weight:600;padding:12px 26px;letter-spacing:0}
.btn-outline:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.text-action,.link-under,.inline-link{color:#9c6a4e;font-weight:600}
.text-action:hover,.link-under:hover,.inline-link:hover{color:#bd6b41}
/* Screenshot-led homepage: centred headline, light beige surface, four product groups. */
.hero.hero-reference{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--cream);min-height:638px;padding:0;border:0;isolation:isolate}
.hero-reference-copy{position:relative;z-index:4;text-align:center;padding:35px 24px 0;max-width:980px;margin:0 auto;width:100%}
.hero-reference h1{margin:0 auto;font-family:Arial,"Helvetica Neue",system-ui,sans-serif;font-size:clamp(37px,4.25vw,57px);font-weight:400;letter-spacing:-.032em;line-height:1.17;color:#353736;max-width:880px}
.hero-reference .hero-description{font-size:clamp(15px,1.4vw,18px);font-weight:400;line-height:1.53;color:#74716c;max-width:760px;margin:17px auto 0;text-align:center}
.hero-reference .hero-actions{display:flex;align-items:center;justify-content:center;gap:15px;margin:29px auto 0;flex-wrap:wrap}
.hero-reference .hero-actions a{min-width:216px;min-height:49px;justify-content:center;padding:14px 26px;font-size:14px}
.hero-reference .hero-actions .btn-outline{border-width:2px}
.hero-showcase{position:relative;z-index:1;width:min(100%,1600px);height:315px;margin:21px auto 0;flex-shrink:0}
.hero-showcase-picture{display:block;position:absolute;inset:0}
.hero-showcase-picture img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;filter:none}
.hero-reference .hero-wave{position:absolute;z-index:2;bottom:-2px;left:0;width:100%;height:72px;color:var(--paper);pointer-events:none}
.hero-wave svg{display:block;width:100%;height:100%}
.hero-plus{position:absolute;bottom:24px;z-index:5;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;box-shadow:0 5px 11px rgba(154,104,70,.19);font-size:21px;font-weight:300;line-height:1;text-decoration:none;transition:background .2s,transform .2s}
.hero-plus:hover,.hero-plus:focus-visible{background:#fa9659;color:#fff;transform:scale(1.08)}
.hero-plus-1{left:5.5%}.hero-plus-2{left:33.2%}.hero-plus-3{left:65.7%}.hero-plus-4{left:94.4%}
.hero-plus-label{position:absolute;bottom:calc(100% + 13px);left:50%;transform:translate(-50%,6px);width:max-content;max-width:185px;padding:8px 12px;border-radius:14px;background:#fff;color:#46443d;font-size:12px;font-weight:600;line-height:1.2;box-shadow:0 9px 25px rgba(38,34,29,.12);pointer-events:none;opacity:0;transition:transform .2s,opacity .2s}
.hero-plus:hover .hero-plus-label,.hero-plus:focus-visible .hero-plus-label{opacity:1;transform:translate(-50%,0)}
/* A neat transition instead of a dark corporate sector strip. */
.segment-strip{background:var(--paper);border-bottom:1px solid var(--line);margin-top:0;color:var(--ink)}
.segment-strip .site-width{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:11px}
.segment-strip strong{font-size:12px;color:#8a6552;font-weight:600;margin-right:auto}
.segment-strip span,.segment-strip span:first-child,.segment-strip span:last-child{background:#fbf7f0;border:1px solid #ede8dd;color:#70675f;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;border-radius:999px;padding:8px 13px;text-align:center!important;margin:0}
/* Product- and manufacturing-led content remains in the original order. */
.section{padding-top:94px;padding-bottom:94px}
.section-heading h2{font-weight:500;letter-spacing:-.045em;font-size:clamp(38px,4.2vw,61px);line-height:1.1}
.section-aside p{color:#767169}
.category-list{gap:16px}
.category-feature{border-radius:24px;border-color:#ebe4dc;box-shadow:none}
.category-feature:nth-child(8n+1){background:#f0efe3}.category-feature:nth-child(8n+2){background:#f6e2d4}
.category-feature:nth-child(8n+3){background:#e8eeed}.category-feature:nth-child(8n+4){background:#f4ebe0}
.category-feature:nth-child(8n+5){background:#eceada}.category-feature:nth-child(8n+6){background:#f4e2df}
.category-feature:nth-child(8n+7){background:#e8ede4}.category-feature:nth-child(8n+8){background:#f5e9dc}
.category-feature:nth-child(n):hover{background:#f1e7db;border-color:#e9d5c2}
.category-text strong{font-weight:600}.category-text small{color:#78736c}
.category-go{color:#a46c4c}
.feature-story{background:#f5eee3}
.feature-grid{gap:54px}.feature-copy h2{font-weight:500}.feature-copy p{color:#716b64}
.feature-image{border-radius:26px}
.product-tile{border-color:#ede7df;border-radius:23px;box-shadow:0 6px 15px rgba(53,42,34,.035)}
.product-tile:hover{border-color:#e7d6c6;box-shadow:0 14px 25px rgba(53,42,34,.065)}
.tile-visual{background:#f5efe5}
.product-tile:nth-child(4n+2) .tile-visual{background:#f2eee5}
.product-tile:nth-child(4n+3) .tile-visual{background:#eaece8}
.product-tile:nth-child(4n+4) .tile-visual{background:#f5ebe5}
.tile-family,.tile-cta{color:#a7775d}.tile-copy h3{font-weight:600}.tile-subtitle{color:#78736d}
.service-row{border-color:#ebe4dc;border-radius:25px}
.service-row-photo{background:#f6eee4}.service-row:nth-child(2) .service-row-photo{background:#f1eee6}
.service-row h3{font-weight:500}.service-row p{color:#7a716b}.service-number{color:#a9795b}
.partner-band{background:#f1dfd1;color:var(--ink)}.partner-band h2{color:#464039;font-weight:500}.partner-band .eyebrow{color:#9b6749}.partner-band p{color:#695a4e}
.partner-band .btn-light{background:var(--orange);border-color:var(--orange);color:#fff}
.lead-section{background:#f6f0e7}
.lead-side h2{font-weight:500}.lead-side p{color:#79736c}.lead-paper{border-radius:25px;border-color:#eee4da}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#fffdfa;border-color:#eee5dc}
.contact-form input:not([type=checkbox]):focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 2px #ffe1c8}
.consent input{accent-color:#d78b60}
.footer{background:#343c39}.footer-company p,.footer-bottom{color:#c5ccc4}
.footer-contact span{color:#e5c6b4}.accent-dot{color:var(--orange)}
.inner-heading,.product-hero{background:#f7f0e6}.inner-heading h1,.product-lead h1{font-weight:500}
.inner-heading-grid>p,.product-legal{color:#777169}
.product-photo{background:#f0e9dd}.product-photo span{color:#9b6b4b}
.spec-sheet{border-color:#ede4db}.spec-sheet h3{font-weight:600}
.spec-sheet dt,.about-text p,.details-copy p{color:#75716a}
.catalog-search{border-color:#eee5dc;background:#fffdfa}.catalog-search svg{color:#af7753}
.catalog-filter-list button.selected,.catalog-filter-list button:hover{background:#fff0e4;color:#b6714b}
.sidebar-help{background:#f8ecdf}.contact-art{background:#f3e9da}
/* Preserve a usable header and product composition at tablet/mobile widths. */
@media(max-width:1100px){
 .masthead-row{grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:9px}
 .header-pill{gap:17px;padding-inline:18px;min-height:48px}.header-pill a{font-size:12px}
 .header-pill-right{gap:15px}.masthead .header-action{min-width:136px;padding-inline:17px;min-height:48px;font-size:12px}
 .masthead .brand-centered img{width:100px;height:64px}
 .hero-reference h1{font-size:clamp(40px,5vw,55px)}
 .hero-showcase{height:310px;margin-top:30px}
 .category-feature{min-height:285px}
}
@media(max-width:860px){
 .masthead{height:78px}
 .masthead-row{display:grid;grid-template-columns:1fr auto;width:calc(100% - 36px)}
 .masthead .brand-centered{grid-column:1;grid-row:1;justify-self:start;margin:0;max-width:130px;width:130px}
 .masthead .brand-centered img{width:108px;height:67px}
 .masthead .header-pill,.masthead .header-right{display:none}
 .masthead .menu-trigger{display:block;grid-column:2;grid-row:1;justify-self:end;min-height:46px;width:50px;height:50px}
 .hero.hero-reference{min-height:0}
 .hero-reference-copy{padding-top:44px}
 .hero-reference h1{font-size:clamp(36px,5.6vw,50px)}
 .hero-showcase{height:300px;margin-top:34px}
 .hero-plus-4{left:90%}
 .segment-strip .site-width{gap:9px;padding:15px 0;flex-wrap:wrap}
 .segment-strip strong{width:100%}
}
@media(max-width:700px){
 .hero-reference-copy{padding:44px 22px 0}
 .hero-reference h1{font-size:clamp(34px,6.6vw,45px);line-height:1.19}
 .hero-reference .hero-description{font-size:15px;line-height:1.55;max-width:490px}
 .hero-desktop-break{display:none}
 .hero-reference .hero-actions{gap:11px;margin-top:23px}
 .hero-reference .hero-actions a{min-width:0;width:auto;padding:12px 21px;font-size:13px}
 .hero-showcase{height:260px;margin-top:34px}
 .hero-showcase-picture img{object-position:center bottom}
 .hero-reference .hero-wave{height:49px}
 .hero-plus{width:27px;height:27px;font-size:19px;bottom:18px}
 .hero-plus-1{left:7%}.hero-plus-2{left:32%}.hero-plus-3{left:68%}.hero-plus-4{left:92%}
 .hero-plus-label{max-width:140px;font-size:10px;padding:7px 9px}
 .section{padding-top:70px;padding-bottom:70px}
 .section-heading h2{font-size:clamp(34px,6.5vw,48px)}
 .category-feature{border-radius:19px}
}
@media(max-width:460px){
 .masthead{height:73px}.masthead .brand-centered img{width:98px;height:60px}
 .masthead .menu-trigger{width:46px;height:46px}
 .hero-reference-copy{padding:35px 17px 0}
 .hero-reference h1{font-size:clamp(31px,8vw,38px);letter-spacing:-.038em}
 .hero-reference .hero-description{font-size:14px;margin-top:15px}
 .hero-reference .hero-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
 .hero-reference .hero-actions a{min-height:46px;padding:11px 18px;font-size:12px}
 .hero-showcase{height:220px;margin-top:31px}
 .hero-showcase-picture img{object-fit:cover}
 .hero-reference .hero-wave{height:42px}
 .hero-plus{width:25px;height:25px;font-size:18px;bottom:14px}
 .hero-plus-1{left:8%}.hero-plus-2{left:34%}.hero-plus-3{left:64%}.hero-plus-4{left:90%}
 .segment-strip span{font-size:10px;padding:7px 10px}
 .category-feature{border-radius:17px}
 .section-heading h2{font-size:clamp(33px,8vw,43px)}
}
@media(max-width:355px){
 .hero-reference h1{font-size:30px}
 .hero-reference .hero-actions a{padding:10px 12px;font-size:11px}
 .hero-showcase{height:187px}
 .hero-plus-label{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-plus,.hero-plus-label,.header-pill a:after{transition:none!important}}

/*
 * v0.7. Geometry from user-supplied archived Tilda Zero Block (NOT source CSS):
 * base grid 1200 px wide, artboard 660 px tall, upscale="window".
 * The former fixed 1600px-width / 315px-height strip made the homepage tiny on
 * wide/zoomed-out screens. Using viewport-relative sizes is the essential fix.
 * Product assets and all branding are the MSZ originals; no Dairy Culture media.
 */
@media (min-width: 861px) {
  .masthead {
    height: 6.4vw;
    min-height: 74px;
    max-height: none;
    background: #f5efe5;
    position: relative;
  }
  .masthead-row {
    width: calc(100% - 2.6vw);
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(110px, 12vw) minmax(0, 1fr);
    column-gap: 1vw;
  }
  .masthead .brand-centered {
    width: 11.6vw;
    max-width: none;
  }
  .masthead .brand-centered img {
    width: 10.4vw;
    height: 6vw;
    max-width: none;
    max-height: none;
  }
  .header-pill {
    min-height: 4.2vw;
    padding: 0 2vw;
    gap: 2.5vw;
    border-radius: 100vw;
  }
  .header-pill a {
    font-size: clamp(12px, 1.02vw, 26px);
    font-weight: 500;
    padding: .7vw 0;
  }
  .header-pill-left { justify-self: start; margin-left: 0; gap: 5.5vw; }
  .header-right { gap: 1vw; }
  .header-pill-right { min-height: 4.2vw; gap: 1.6vw; }
  .masthead .header-action {
    height: 4.2vw;
    min-height: 52px;
    min-width: 13.4vw;
    font-size: clamp(12px, 1.03vw, 26px);
    padding: 1vw 2.15vw;
  }
  .hero.hero-reference {
    min-height: 46vw;
    height: 46vw;
    max-height: none;
    background: #f5efe5;
    display: block;
    position: relative;
    overflow: hidden;
  }
  .hero-reference-copy {
    position: absolute;
    z-index: 5;
    inset: 3.6vw 0 auto;
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0 5vw;
    text-align: center;
  }
  .hero-reference h1 {
    font-size: clamp(43px, 3.85vw, 130px);
    font-weight: 400;
    letter-spacing: -.038em;
    line-height: 1.18;
    max-width: 78vw;
    margin: 0 auto;
  }
  .hero-reference .hero-description {
    font-size: clamp(16px, 1.34vw, 32px);
    line-height: 1.5;
    max-width: 66vw;
    margin: 1.45vw auto 0;
    color: #66615c;
  }
  .hero-reference .hero-actions {
    margin: 2.05vw auto 0;
    gap: 1.25vw;
  }
  .hero-reference .hero-actions a {
    min-width: 17vw;
    min-height: 4.0vw;
    border-radius: 100vw;
    padding: .94vw 1.8vw;
    font-size: clamp(13px, 1.10vw, 25px);
  }
  .hero-showcase {
    position: absolute;
    width: 100%;
    max-width: none;
    height: 30vw;
    margin: 0;
    inset: auto 0 0;
    overflow: visible;
  }
  .hero-showcase-picture { inset: 0; overflow: hidden; }
  .hero-showcase-picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    object-position: center bottom;
    transform: translateY(3.35vw);
  }
  .hero-reference .hero-wave {
    height: 8vw;
    left: 0;
    bottom: -1px;
    width: 100%;
  }
  .hero-plus {
    width: 2.55vw;
    height: 2.55vw;
    bottom: 3.6vw;
    font-size: 1.9vw;
    box-shadow: 0 4px 13px rgba(145, 91, 58, .19);
  }
  .hero-plus-label {
    font-size: clamp(11px, .91vw, 22px);
    max-width: 16vw;
    padding: .6vw .95vw;
  }
  /* In the reference content uses most of the viewport width; the previous
     fixed max-width shrank to ~900 physical pixels at 67% browser zoom. */
  body:has(.hero-reference) .site-width {
    width: 85.5vw;
    max-width: none;
  }
  body:has(.hero-reference) .section-heading h2 {
    font-size: clamp(42px, 4.05vw, 95px);
  }
  body:has(.hero-reference) .section-aside p,
  body:has(.hero-reference) .feature-copy p,
  body:has(.hero-reference) .partner-band p {
    font-size: clamp(15px, 1.17vw, 28px);
  }
  body:has(.hero-reference) .category-text strong {
    font-size: clamp(19px, 1.65vw, 39px);
  }
  body:has(.hero-reference) .tile-copy h3 {
    font-size: clamp(19px, 1.52vw, 34px);
  }
  body:has(.hero-reference) .segment-strip .site-width {
    min-height: 5.4vw;
  }
  body:has(.hero-reference) .segment-strip strong,
  body:has(.hero-reference) .segment-strip span {
    font-size: clamp(11px, .94vw, 21px);
  }
}
@media (min-width: 861px) and (max-width: 1180px) {
  .header-pill { padding-inline: 1.45vw; gap: 1.8vw; }
  .header-pill-left { gap: 3vw; }
  .header-pill-right { gap: 1.1vw; }
  .masthead .header-action { min-width: 12vw; padding-inline: 1.4vw; }
}
@media (max-width: 860px) {
  .masthead { position: relative; background: #f5efe5; }
  .hero.hero-reference {
    display: block;
    position: relative;
    min-height: clamp(620px, 95vw, 830px);
    height: clamp(620px, 95vw, 830px);
    overflow: hidden;
  }
  .hero-reference-copy {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 740px;
    margin-inline: auto;
    padding: 55px 24px 0;
  }
  .hero-reference h1 { font-size: clamp(38px, 5.6vw, 52px); max-width: 700px; }
  .hero-reference .hero-description { font-size: clamp(15px, 2.05vw, 18px); }
  .hero-reference .hero-actions { margin-top: 24px; gap: 12px; }
  .hero-reference .hero-actions a { min-height: 48px; padding-inline: 22px; }
  .hero-showcase {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 38vw;
    margin: 0;
  }
  .hero-showcase-picture img { width: 100%; height: 100%; object-fit: fill; transform: none; }
  .hero-reference .hero-wave { height: 8vw; bottom: -2px; }
  .hero-plus { bottom: 5vw; }
}
@media (max-width: 600px) {
  .masthead { height: 72px; }
  .hero.hero-reference { height: clamp(505px, 135vw, 685px); min-height: clamp(505px, 135vw, 685px); }
  .hero-reference-copy { padding: 46px 18px 0; }
  .hero-reference h1 { font-size: clamp(29px, 7.65vw, 43px); line-height: 1.19; }
  .hero-reference .hero-description { font-size: 14px; line-height: 1.5; margin-top: 15px; }
  .hero-reference .hero-actions { margin-top: 24px; gap: 10px; }
  .hero-reference .hero-actions a { min-width: 0; min-height: 44px; padding: 10px 15px; font-size: 12px; }
  .hero-showcase { height: 56vw; min-height: 215px; }
  .hero-reference .hero-wave { height: 11vw; }
  .hero-plus { bottom: 6vw; width: 28px; height: 28px; font-size: 19px; }
  .hero-plus-label { max-width: 140px; }
  body:has(.hero-reference) .site-width { width: calc(100% - 32px); }
}
@media (max-width: 380px) {
  .hero.hero-reference { height: 510px; min-height: 510px; }
  .hero-reference-copy { padding-top: 35px; }
  .hero-reference .hero-actions a { font-size: 11px; padding-inline: 12px; }
  .hero-showcase { height: 218px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-plus, .hero-plus-label, .masthead a { transition: none !important; }
}

/* Below the reference artboard: company first, then the catalog and practical
   use cases. The information comes from cheesy.ru, never from Dairy Culture. */
body:has(.hero-reference) .feature-story { background: #fffefa; }
body:has(.hero-reference) .feature-grid {
  padding-block: clamp(64px, 7vw, 154px);
  min-height: 0;
  gap: clamp(30px, 5vw, 100px);
}
body:has(.hero-reference) .feature-image { height: clamp(350px, 31vw, 630px); min-height: 0; }
body:has(.hero-reference) .feature-copy h2 { font-size: clamp(35px, 3.9vw, 85px); }
body:has(.hero-reference) .feature-copy p { max-width: 580px; }
body:has(.hero-reference) .segment-strip {
  background: #f7efe6;
  padding: clamp(60px, 6.5vw, 135px) 0;
  border-block: 1px solid #eee4d9;
}
body:has(.hero-reference) .segment-strip .site-width {
  display: block;
  min-height: 0;
}
.audience-heading { max-width: 850px; margin-bottom: clamp(28px,3vw,66px); }
.audience-heading h2 { font-size: clamp(38px, 4vw, 95px); font-weight: 500; margin: 17px 0; letter-spacing: -.048em; line-height: 1.08; }
.audience-heading p { font-size: clamp(14px, 1.2vw, 28px); color: #756d66; max-width: 630px; margin: 0; }
.audience-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
body:has(.hero-reference) .audience-link {
  display: flex; flex-direction: column; align-items: flex-start;
  min-height: clamp(220px,18vw,410px);
  padding: clamp(23px,2vw,45px);
  background: #fffdf9;
  border: 1px solid #e9dbce;
  border-radius: 27px;
  color: #343a36;
  transition: transform .2s, background .2s;
}
body:has(.hero-reference) .audience-link:hover { background: #fff7ed; transform: translateY(-3px); }
body:has(.hero-reference) .audience-link strong {
  font-size: clamp(20px,1.9vw,42px);
  line-height: 1.16;
  font-weight: 500;
  margin: 0 0 20px;
  color: #343a36;
}
body:has(.hero-reference) .audience-link span {
  display: block;
  background: transparent;
  border: 0;
  padding: 0;
  color: #756b65;
  font-size: clamp(13px,1.12vw,24px);
  font-weight: 400;
  text-align: left !important;
  line-height: 1.55;
}
body:has(.hero-reference) .audience-link i {
  margin-top: auto;
  align-self: flex-end;
  font-style: normal;
  color: #bd815b;
}
body:has(.hero-reference) .audience-link i svg { width: 25px; height: 25px; }
@media (max-width: 860px) {
  body:has(.hero-reference) .feature-grid { padding-block: 55px; }
  body:has(.hero-reference) .feature-image { height: 330px; }
  .audience-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  body:has(.hero-reference) .audience-link { min-height: 220px; }
}
@media (max-width: 600px) {
  body:has(.hero-reference) .feature-grid { padding-block: 32px; }
  body:has(.hero-reference) .feature-image { height: 240px; }
  .audience-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  body:has(.hero-reference) .audience-link { min-height: 210px; padding: 19px 14px; border-radius: 17px; }
  body:has(.hero-reference) .audience-link strong { font-size: 19px; }
  body:has(.hero-reference) .audience-link span { font-size: 12px; }
  .audience-heading h2 { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.hero-reference) .audience-link { transition: none !important; }
}
/* Hover tooltips are not useful on touch devices and were contributing to
   horizontal scroll width despite being visually transparent. */
@media (max-width: 600px) {
  .hero-plus-label { display: none; }
}
/* Some decorative absolute elements of the inherited theme extend the scroll
   canvas on 360-425px screens, even when their visual parents clip them. */
html, body { overflow-x: clip; }

/* Required fields use a single quiet instruction, not loose asterisk rows. */
.contact-form .form-required-hint {
  margin: 0 0 17px;
  color: #68766c;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}
