@font-face{font-family:AvantGarde;src:url('assets/SVN-AvantGardeGothic-Med.woff2') format('woff2');font-weight:400 500;font-display:swap}
@font-face{font-family:AvantGarde;src:url('assets/SVN-AvantGardeGothic-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

:root {
  --primary:#024420;
  --primary-hover:#176b45;
  --background:#f8f7f4;
  --surface:#ffffff;
  --text-primary:#242424;
  --text-secondary:#626262;
  --border:#e7e5e0;
  --accent:#e9a15d;
  --decor-green:rgba(2,68,32,.055);
  --decor-gold:rgba(233,161,93,.12);
  --decor-line:rgba(98,98,98,.065);
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-6:48px;
  --space-8:64px;
  --space-10:80px;
  --container:1280px;
  --gutter:32px;
  --section-space:var(--space-10);
  --radius:12px;
  --duration:250ms;
  --header-height:76px;
  --section-title:clamp(28px,2.3vw,32px);
  --brand-logo-width:120px;
  font-family:AvantGarde,Arial,sans-serif;
  font-size:16px;
  color:var(--text-primary);
  background:var(--background);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-3))}
body{margin:0;line-height:1.65}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none;transition:color var(--duration)}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:700;line-height:1.3}
h2{font-size:var(--section-title)}
.products h2,.partners>h2,.certificates-heading h2,.news-heading h2{display:flex;width:fit-content;margin-inline:auto;align-items:center;justify-content:center;gap:14px}
.products h2::before,.products h2::after,.partners>h2::before,.partners>h2::after,.certificates-heading h2::before,.certificates-heading h2::after,.news-heading h2::before,.news-heading h2::after{content:'';display:block;width:76px;height:30px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 36'%3E%3Cg fill='none' stroke='%23024420' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 30c23 1 42-8 61-25' stroke-width='1.25'/%3E%3Cpath d='M24 26C17 25 12 21 10 15c7-1 13 3 15 10ZM40 19c-6-2-9-7-8-13 7 1 11 5 10 12ZM54 11c2-6 7-9 14-8-1 7-6 11-13 10ZM14 29c-5 1-9-1-12-5 5-2 10 0 13 4Z' fill='%23024420' stroke='none'/%3E%3Cpath d='M25 25 15 18M41 18 35 9M54 12l10-7' stroke-width='.7' opacity='.55'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;opacity:.92}
.products h2::after,.partners>h2::after,.certificates-heading h2::after,.news-heading h2::after{transform:scaleX(-1)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
::selection{background:var(--primary);color:var(--surface)}
.container,.header-inner,.product-container,.partner-grid,.footer-grid,.copyright{width:min(var(--container),calc(100% - var(--gutter)*2));margin-inline:auto}

/* White header, restrained active navigation. */
.site-header{height:var(--header-height);background:var(--surface);position:sticky;top:0;z-index:5;transition:box-shadow var(--duration)}
.site-header.is-scrolled{box-shadow:0 2px 16px #0000000d}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.brand{flex-shrink:0}
.brand{display:flex;align-items:center;height:100%}
.brand img{width:var(--brand-logo-width);max-height:68px;height:auto;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);height:100%;font-size:14px}
.site-header nav a{position:relative;display:flex;align-items:center;height:100%;white-space:nowrap}
.site-header nav a:hover,.site-header nav a.active{color:var(--primary)}
.site-header nav a.active::after{content:'';position:absolute;height:2px;background:var(--primary);bottom:16px;left:0;right:0}
.menu-toggle{display:none}

/* Existing imagery and overlapping title; no green section fills. */
.hero{height:clamp(400px,38vw,640px);position:relative;overflow:hidden}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image-outgoing{position:absolute;inset:0;pointer-events:none}
.slider-button{position:absolute;top:44%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--primary);font:28px Arial,sans-serif;transition:background var(--duration),box-shadow var(--duration)}
.slider-button:hover{background:var(--background);box-shadow:0 2px 8px #00000010}
.previous{left:var(--space-3)}
.next{right:var(--space-3)}
.about{position:relative;display:flow-root;background:var(--background);padding-bottom:var(--section-space)}
.intro-heading{position:relative;z-index:2;width:min(1480px,80vw);min-height:260px;margin-top:-150px;margin-left:50%;padding:44px 64px 56px;transform:translateX(-50%);background:var(--background);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius: 20px;}
.intro-heading h1{font-size:clamp(32px,2.6vw,46px);letter-spacing:-.04em;margin-bottom:var(--space-3)}
.intro-heading h2{max-width:1040px;margin-inline:auto;font-size:clamp(21px,2vw,32px);letter-spacing:-.025em;line-height:1.35}
.fine-divider{position:relative;z-index:3;width:min(1480px,80vw);height:1px;margin:18px 0 var(--space-8) 50%;border-top:2px dotted #c9ccc5;transform:translateX(-50%)}
.fine-divider::before,.fine-divider::after{content:'';position:absolute;z-index:1;top:-6px;width:11px;height:11px;border:2px solid #c9ccc5;background:var(--background);transform:rotate(45deg)}
.fine-divider::before{left:3px}
.fine-divider::after{right:3px}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-8);align-items:center}
.about-copy h2{margin-bottom:var(--space-3);max-width:24ch}
.about-copy p{color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-2)}
.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--space-1);font-size:13px;font-weight:700;color:var(--primary);text-underline-offset:5px}
.text-link:hover{color:var(--primary-hover);text-decoration:underline}
.about-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-8)}
.values article{padding:0 var(--space-4);border-right:1px solid var(--border)}
.values article:last-child{border-right:0}
.values img{height:72px;width:72px;object-fit:contain;margin-bottom:var(--space-3);filter:url(#brand-icon-primary)}
.values h3{font-size:15px;margin-bottom:var(--space-2)}
.values p{color:var(--text-secondary);font-size:15px;line-height:1.7}

/* Neutral gradients and consistent card geometry. */
.products{padding:var(--section-space) 0;background:var(--surface) url('assets/wavy-texture-repeat.webp') repeat;background-size:100% auto}
.products h2,.partners h2{text-align:center}
.products h2{margin-bottom:var(--space-2)}
.section-description{margin:0 auto var(--space-6);color:var(--text-secondary);text-align:center}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.product{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);background:var(--border)}
.product:not([href]),.news-story:not([href]){cursor:default}
.product img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration)}
.product[data-product="vegetables"] img{object-position:center}
.product[data-product="pork"] img{filter:brightness(1.16) saturate(1.04)}
.product[data-product="pork"]::after{background:linear-gradient(180deg,#00000000 15%,#00000038 55%,#0000000d 90%)}
.product[data-product="poultry"] img{object-position:center 35%}
.product::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00000000 10%,#00000073 50%,#0000001a 90%)}
.product h3{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:var(--space-2);color:var(--surface);font-size:22px;text-align:center;text-shadow:0 1px 4px #00000066}
@media(hover:hover){.product:hover img{transform:scale(1.03)}}
.product:focus-visible img{transform:scale(1.03)}
.partners{background:var(--surface);padding:var(--section-space) 0}
.partners>p{width:min(840px,calc(100% - var(--gutter)*2));margin:var(--space-3) auto var(--space-6);color:var(--text-secondary);text-align:center}
.partners .desktop-break{display:none}
.partner-grid{--partner-card-height:128px;--partner-gap:16px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--partner-gap)}
.partner-grid:not(.is-looping)>div,.partner-card{height:var(--partner-card-height);padding:var(--space-2);display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.partner-grid img{width:100%;height:100%;object-fit:contain}
.partner-window.is-looping{margin-inline:20px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}
.partner-grid.is-looping{--partner-card-height:200px;--partner-gap:12px;width:calc(100% + 80px);max-width:none;margin-inline:-40px;grid-template-columns:repeat(7,minmax(0,1fr))}
.partner-column{height:calc((var(--partner-card-height) + var(--partner-gap))*2.6);min-width:0}
.partner-drift{transform:translate3d(0,calc(-1*(var(--partner-card-height) + var(--partner-gap))),0)}
.partner-column:nth-child(even) .partner-drift{margin-top:calc(var(--partner-card-height)*-.28)}
.partner-group{display:flex;flex-direction:column;gap:var(--partner-gap);padding-bottom:var(--partner-gap)}
.partner-card{flex-shrink:0}
.is-looping .partner-card{padding:var(--space-4);border:1px solid #f7f7f5;box-shadow:0 8px 18px #0000000f;border-radius:16px}
.partner-track{animation:partner-loop var(--partner-duration,18s) linear infinite}
.partner-column:nth-child(even) .partner-track{animation-direction:reverse}
.partner-grid.is-paused .partner-track{animation-play-state:paused}
@keyframes partner-loop{from{transform:translateY(0)}to{transform:translateY(-50%)}}

.contact-banner{min-height:400px;padding:var(--space-8) var(--gutter);position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--surface)}
.contact-banner::before{content:'';position:absolute;inset:-48px 0;z-index:-1;background:linear-gradient(#00000099,#00000099),url('assets/CTA-bg-2.webp') center/cover;transform:translate3d(0,var(--parallax-y,0px),0);pointer-events:none}
.contact-banner>div{max-width:var(--container)}
.contact-banner p{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--accent);margin-bottom:var(--space-2)}
.contact-banner h2{max-width:880px;margin:0 auto var(--space-4);line-height:1.4}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-2) var(--space-4);background:var(--primary);color:var(--surface);border:0;border-radius:4px;font-size:13px;line-height:1.4;font-weight:700;text-align:center;transition:background var(--duration),transform var(--duration),box-shadow var(--duration)}
.button:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px rgba(2,68,32,.18)}
.contact-banner .button:focus-visible{outline-color:var(--surface)}
.featured-news{padding:var(--section-space) 0;background:var(--surface)}
.news-heading{display:flex;align-items:end;justify-content:center;text-align:center;gap:var(--space-4);margin-bottom:var(--space-4)}
.news-heading h2{margin-bottom:var(--space-2)}
.news-heading p{color:var(--text-secondary)}
.news-all{display:inline-flex;align-items:center;gap:12px;min-height:44px;flex-shrink:0;color:var(--primary);font-size:14px;font-weight:700;text-underline-offset:5px}
.news-all:hover{text-decoration:underline}
.project-viewport{overflow:hidden;touch-action:pan-y}
.news-grid{display:flex;gap:var(--space-4);transition:transform 600ms cubic-bezier(.22,.61,.36,1);will-change:transform}
.news-item{flex:0 0 calc((100% - var(--space-4))/2);min-width:0}
.news-story{display:flex;flex-direction:column;height:100%;border-radius:var(--radius);transition:transform var(--duration)}
.news-image{aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius);background:var(--background)}
.news-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration)}
.news-content{display:flex;flex-direction:column;flex:1;padding-top:var(--space-3)}
.project-label{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--primary);margin-bottom:8px}
.news-content h3{font-size:clamp(18px,1.5vw,22px);line-height:1.45;transition:color var(--duration)}
.project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-2) 0 0;padding:var(--space-3) 0 0;border-top:1px solid var(--border)}
.project-stats>div{min-width:0;padding:0 var(--space-2);border-right:1px solid var(--border)}
.project-stats>div:first-child{padding-left:0}
.project-stats>div:last-child{padding-right:0;border-right:0}
.project-stats dt{font-size:12px;line-height:1.4;color:var(--text-secondary);margin-bottom:6px}
.project-stats dd{margin:0;color:var(--primary);font-size:clamp(20px,2vw,30px);font-weight:700;line-height:1.15;letter-spacing:-.03em}
.news-more{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--border);font-size:13px;font-weight:700;color:var(--primary)}
.news-story:hover h3{color:var(--primary)}
@media(hover:hover){.news-story:hover{transform:translateY(-4px)}.news-story:hover img{transform:scale(1.03)}}
.project-dots{display:flex;justify-content:center;gap:9px;margin-top:var(--space-4)}
.project-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d2d8d4;transition:width var(--duration),background var(--duration)}
.project-dot.is-active{width:28px;border-radius:10px;background:var(--primary)}
@media(max-width:1023px){.news-grid{gap:var(--space-3)}.news-item{flex-basis:calc((100% - var(--space-3))/2)}}
@media(max-width:767px){.news-heading{align-items:end;gap:var(--space-2)}.news-heading p{max-width:320px}.news-item{flex-basis:100%}.news-content h3{font-size:20px}.project-stats>div{padding-inline:10px}.project-stats dt{font-size:11px}.project-stats dd{font-size:22px}}
.newsletter{background:var(--background);border-bottom:1px solid var(--border)}
.certificates{padding:var(--section-space) 0;background:var(--background);overflow:hidden}
.certificates-heading{display:flex;justify-content:center;align-items:center;text-align:center;gap:var(--space-3);margin-bottom:var(--space-4)}
.section-eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--primary);margin-bottom:var(--space-1)}
.certificates-heading h2{margin-bottom:var(--space-2)}
.certificates-heading p:not(.section-eyebrow){color:var(--text-secondary);max-width:620px;margin-inline:auto}
.section-description,.partners>p,.certificates-heading p:not(.section-eyebrow),.news-heading p{width:min(820px,calc(100vw - var(--gutter)*2));max-width:none;margin-inline:auto}
.certificate-viewport{padding:8px 16px 0;position:relative}
.certificate-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;transform:translate3d(var(--certificate-shift,0px),0,0)}
.certificate-card{display:block;min-width:0;background:transparent}
.certificate-card:focus-visible{outline-offset:6px}
.certificate-card:hover .certificate-link{text-decoration:underline;text-underline-offset:4px}
@media(hover:hover){.certificate-card:hover .certificate-image{transform:translateY(-5px);box-shadow:0 12px 28px rgba(36,36,36,.1)}}
.certificate-image{aspect-ratio:1012/1432;background:var(--background);overflow:hidden;border-radius:4px;transition:transform var(--duration),box-shadow var(--duration)}
.certificate-image img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.certificate-caption{display:flex;align-items:start;gap:var(--space-2);padding-top:var(--space-3)}
.certificate-number{font-size:13px;color:var(--text-secondary);padding-top:3px}
.certificate-caption h3{font-size:20px;margin-bottom:8px}
.certificate-caption p{font-size:14px;color:var(--text-secondary)}
.certificate-link{display:inline-block;font-size:13px;font-weight:700;color:var(--primary);margin-top:16px}
@media(max-width:767px){.certificate-viewport{padding:0}.certificate-track{grid-template-columns:1fr;gap:40px;transform:none}.certificate-card{width:100%;max-width:440px;margin-inline:auto}.certificate-caption h3{font-size:18px}}
.newsletter>.container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4)}
.newsletter h2{font-size:20px;line-height:1.5;max-width:720px}
.newsletter .button{flex-shrink:0}

/* Light footer with the supplied SVG displayed without color filters. */
.site-footer{background:var(--background);padding:var(--space-6) 0 var(--space-3)}
.footer-grid{display:grid;grid-template-columns:1.15fr .8fr .7fr 1.6fr;gap:var(--space-4)}
.footer-grid>div{min-width:0}
.site-footer h3{font-size:14px;line-height:1.5;margin-bottom:var(--space-2)}
.footer-brand img{width:var(--brand-logo-width);height:auto;margin-bottom:var(--space-3)}
.footer-brand h3{max-width:28ch}
.footer-brand h3 br{display:none}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{font-size:14px;margin-bottom:var(--space-1)}
.site-footer a{color:var(--text-secondary);text-underline-offset:4px}
.site-footer a:hover{color:var(--primary);text-decoration:underline}
.footer-contact{border-left:1px solid var(--border);padding-left:var(--space-4);align-self:start}
.footer-contact p{font-size:14px;line-height:1.65;color:var(--text-secondary);margin-bottom:var(--space-2);overflow-wrap:anywhere}
.footer-contact p:last-child{margin-bottom:0}
.copyright{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);text-align:center;color:var(--text-secondary);font-size:12px}

dialog{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);width:min(calc(100% - 32px),520px);max-height:calc(100dvh - 32px);color:var(--text-primary);background:var(--surface);box-shadow:0 16px 64px #00000026}
dialog::backdrop{background:#00000080}
dialog h2{font-size:28px;margin:var(--space-2) 0;padding-right:var(--space-3)}
dialog p{font-size:15px;color:var(--text-secondary)}
.dialog-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;color:var(--text-primary);background:transparent;font-size:28px}
form label{display:block;margin-top:var(--space-3);font-size:14px}
form input{display:block;width:100%;margin:var(--space-1) 0 var(--space-2);min-height:48px;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);background:var(--surface);padding:var(--space-1) var(--space-2);font-size:16px}
form input::placeholder{color:var(--text-secondary);opacity:1}
form .button{width:100%}
.form-status:not(:empty){margin-top:var(--space-2)}

@media(max-width:1023px){
  :root{--section-space:var(--space-8);--header-height:70px;--brand-logo-width:108px}
  .brand img{max-height:62px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:8px;border:0;background:transparent}
  .menu-toggle span{width:24px;height:2px;background:var(--primary)}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;padding:var(--space-2) var(--gutter);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 8px 16px #00000008;font-size:15px}
  .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .site-header nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}
  .site-header nav a{min-height:48px;padding:8px 0;width:fit-content}
  .site-header nav a.active::after{bottom:4px}
  .about-grid{gap:var(--space-4);grid-template-columns:1fr 1fr}
  .intro-heading{width:86vw;min-height:230px;margin-top:-112px;padding:40px 40px 48px}
  .intro-heading h2{font-size:clamp(21px,3vw,28px)}
  .fine-divider{width:86vw}
  .about-image{aspect-ratio:1}
  .values article{padding-inline:var(--space-3)}
  .product-grid{gap:var(--space-2)}
  .product h3{font-size:20px}
  .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .partner-grid.is-looping{--partner-card-height:150px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .newsletter h2{font-size:18px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-contact{border-left:0;padding-left:0}
}
@media(max-width:767px){
  :root{--gutter:10px;--section-space:var(--space-6);--section-title:24px;--header-height:66px;--brand-logo-width:96px}
  body{font-size:15px}
  .products h2::before,.products h2::after,.partners>h2::before,.partners>h2::after,.certificates-heading h2::before,.certificates-heading h2::after,.news-heading h2::before,.news-heading h2::after{display:none}
  .brand img{max-height:58px}
  .hero{height:auto;aspect-ratio:2/1;background:var(--background)}
  .hero-image{object-fit:contain;object-position:center}
  .slider-button{width:36px;height:36px;font-size:21px}
  .previous{left:6px}
  .next{right:6px}
  .intro-heading{width:calc(100vw - 20px);min-height:150px;margin-top:-42px;padding:22px 14px 24px}
  .intro-heading h1{font-size:24px;margin-bottom:8px}
  .intro-heading h2{font-size:16px;line-height:1.4;letter-spacing:-.01em}
  .fine-divider{width:calc(100vw - 20px);margin-bottom:var(--space-4)}
  .about-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .about-copy h2{max-width:none}
  .about-image{aspect-ratio:4/3}
  .values{grid-template-columns:1fr;margin-top:var(--space-4)}
  .values article{border-right:0;border-bottom:1px solid var(--border);padding:var(--space-3) 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-1) var(--space-2)}
  .values article:last-child{border-bottom:0;padding-bottom:0}
  .values img{width:64px;height:64px;grid-row:span 2;margin:0}
  .values h3{margin:0;font-size:14px}
  .values p{font-size:14px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product{aspect-ratio:2/3}
  .product h3{font-size:18px;padding:8px}
  .partners>p{margin-block:var(--space-2) var(--space-4)}
  .partner-grid{--partner-card-height:96px;--partner-gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .partner-grid:not(.is-looping)>div,.partner-card{padding:var(--space-1)}
  .partner-window.is-looping{margin-inline:8px}
  .partner-grid.is-looping{--partner-card-height:112px;--partner-gap:12px;width:calc(100% + 32px);margin-inline:-16px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .is-looping .partner-card{padding:12px;border-radius:12px}
  .contact-banner{min-height:360px;padding-block:var(--space-6)}
  .contact-banner h2{font-size:24px}
  .desktop-break{display:none}
  .newsletter>.container{flex-direction:column;align-items:flex-start;gap:var(--space-3)}
  .site-footer{padding-top:var(--space-4)}
  .footer-grid{gap:var(--space-4) var(--space-3)}
  .footer-brand,.footer-contact{grid-column:span 2}
  .footer-brand h3{max-width:none}
  .footer-contact{padding-top:var(--space-3);border-top:1px solid var(--border)}
  .site-footer li a{display:inline-block;padding-block:4px}
  .copyright{font-size:11px}
  dialog{padding:var(--space-3)}
}
/* Quiet background details: decorative only, never intercept links or gestures. */
.about,.partners,.certificates,.featured-news,.site-footer{position:relative;isolation:isolate}
.about::before,.partners::before,.certificates::before,.featured-news::before,.site-footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat}
.about::before{
  background:none;
}
.partners::before{
  background-image:radial-gradient(circle,var(--decor-green) 1px,transparent 1.5px);
  background-size:16px 16px;
  background-repeat:repeat;
  mask-image:linear-gradient(to bottom,#000,transparent 230px);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 230px);
}
.certificates::before{
  background-image:radial-gradient(circle at 100% 0%,transparent 33%,var(--decor-green) 33.15%,transparent 33.5%,transparent 43%,var(--decor-green) 43.15%,transparent 43.5%,transparent 53%,var(--decor-green) 53.15%,transparent 53.5%),radial-gradient(ellipse at 0% 100%,var(--decor-gold),transparent 68%);
  background-size:520px 520px,460px 350px;
  background-position:right top,left bottom;
}
.featured-news::before{
  background-image:radial-gradient(circle,var(--decor-gold) 1.3px,transparent 1.7px),linear-gradient(135deg,transparent 49.7%,var(--decor-line) 50%,transparent 50.3%);
  background-size:18px 18px,280px 280px;
  background-repeat:repeat,no-repeat;
  background-position:left top,right bottom;
  mask-image:linear-gradient(135deg,#000,transparent 30%,transparent 75%,#000);
  -webkit-mask-image:linear-gradient(135deg,#000,transparent 30%,transparent 75%,#000);
}
.site-footer::before{
  background-image:radial-gradient(ellipse at 0% 100%,transparent 45%,var(--decor-green) 45.3%,transparent 45.7%,transparent 60%,var(--decor-green) 60.3%,transparent 60.7%),linear-gradient(to right,transparent,var(--decor-gold),transparent);
  background-size:340px 300px,100% 1px;
  background-position:left bottom,center top;
}
@media(max-width:767px){
  .about::before,.partners::before,.certificates::before,.featured-news::before,.site-footer::before{opacity:.55}
  .about::before{background-size:220px 340px,220px 200px}
  .certificates::before{background-size:280px 280px,240px 250px}
  .site-footer::before{background-size:200px 220px,100% 1px}
}
/* Reveal once; default content remains visible when JavaScript is unavailable. */
.scroll-reveal{opacity:0;transform:translate3d(var(--reveal-x,0),var(--reveal-y,24px),0) scale(var(--reveal-scale,1));transition:opacity 650ms ease var(--reveal-delay,0ms),transform 650ms cubic-bezier(.22,.61,.36,1) var(--reveal-delay,0ms)}
.scroll-reveal.is-revealed,.scroll-reveal:focus-within{opacity:1;transform:none}
.about-image.scroll-reveal{--reveal-x:28px;--reveal-y:0}
.certificate-card.scroll-reveal{--reveal-y:28px;--reveal-scale:.985}
.news-item.scroll-reveal{--reveal-y:32px}
.contact-banner>div.scroll-reveal{--reveal-y:20px;--reveal-scale:.985}
@media(max-width:768px){
  .contact-banner::before{inset:0;transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
  .scroll-reveal{opacity:1;transform:none}
  .partner-track{animation:none;transform:none}
  .contact-banner::before{inset:0;transform:none}
}
