/*
Theme Name: 4 Reasons Exhibition
Theme URI: https://4-reasons.com/
Author: 4 Reasons
Description: Premium export and exhibition website for 4 Reasons PREY.
Version: 2.4.0
Text Domain: four-reasons
*/

:root {
  --ink: #0d0e0d;
  --ink-2: #151715;
  --ink-3: #20231f;
  --cream: #f3eee4;
  --paper: #e7dfd0;
  --muted: #a6a397;
  --gold: #d7a854;
  --gold-light: #efcf91;
  --line: rgba(255,255,255,.14);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --shell: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.shell { width: min(calc(100% - 64px), var(--shell)); margin-inline: auto; }
.narrow { width: min(calc(100% - 48px), 760px); margin-inline: auto; }
.section { padding: 120px 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 1000; transform: translateY(-150%);
  background: var(--cream); color: var(--ink); padding: 10px 16px;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
}
h1 { font-size: clamp(4rem, 8vw, 8.4rem); }
h2 { font-size: clamp(2.5rem, 5vw, 5.2rem); }
h3 { font-size: 1.65rem; }
.kicker, .section-index {
  font-size: .72rem;
  line-height: 1.2;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
}
.kicker { color: var(--gold-light); }
.section-index { color: var(--muted); }
.large-copy { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.5; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #13110d;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .25s, color .25s, transform .25s;
}
.button:hover { background: var(--gold-light); transform: translateY(-2px); }
.button-small { min-height: 42px; padding: 0 18px; font-size: .67rem; }
.button-dark { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.button-dark:hover { background: #26231d; }
.text-link {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.text-link span { color: var(--gold); font-size: 1.2rem; transition: transform .25s; }
.text-link:hover span { transform: translate(3px,-3px); }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  transition: background .3s, border-color .3s;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled { background: rgba(10,11,10,.94); border-color: var(--line); backdrop-filter: blur(14px); }
.header-inner { height: 92px; display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 40px; }
.brand { width: 150px; height: 64px; display: flex; align-items: center; }
.brand img { max-height: 62px; object-fit: contain; }
.brand img, .footer-brand img { filter: brightness(0) invert(1); width: 100%; }
.primary-nav { justify-self: center; display: flex; align-items: center; gap: 34px; }
.primary-nav a {
  font-size: .7rem; text-transform: uppercase; font-weight: 700; letter-spacing: .12em; color: rgba(255,255,255,.8);
}
.primary-nav a:hover { color: var(--gold-light); }
.nav-toggle { display: none; background: transparent; border: 0; width: 46px; height: 46px; padding: 11px; }
.nav-toggle span:not(.sr-only) { display: block; height: 1px; background: #fff; margin: 6px 0; }

.hero { min-height: 100svh; position: relative; display: flex; align-items: center; overflow: hidden; }
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media { background-position: center; background-size: cover; transform: scale(1.015); }
.hero-shade {
  background:
    linear-gradient(90deg, rgba(5,6,5,.92) 0%, rgba(5,6,5,.68) 42%, rgba(5,6,5,.12) 74%),
    linear-gradient(0deg, rgba(5,6,5,.74) 0%, transparent 32%, rgba(5,6,5,.2) 100%);
}
.hero-inner { position: relative; z-index: 2; padding-top: 90px; }
.hero h1 { margin: 22px 0 28px; max-width: 820px; }
.hero-copy { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.7rem); max-width: 520px; color: rgba(255,255,255,.78); }
.hero-actions { margin-top: 42px; display: flex; align-items: center; gap: 34px; }
.hero-foot {
  position: absolute; z-index: 2; left: 0; right: 0; bottom: 32px;
  display: flex; align-items: center; gap: 20px;
  color: rgba(255,255,255,.6); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
}
.hero-foot i { width: 24px; height: 1px; background: rgba(255,255,255,.28); }

.manifesto { background: var(--ink); }
.split-intro { display: grid; grid-template-columns: 180px 1fr; gap: 80px; }
.split-intro h2 { max-width: 900px; margin: 24px 0 40px; }
.split-intro .large-copy { max-width: 780px; color: rgba(255,255,255,.67); }
.family-strip {
  margin-top: 90px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.family-strip a { padding: 26px 22px 30px; border-right: 1px solid var(--line); position: relative; min-height: 170px; transition:background .25s; }
.family-strip a:hover { background:rgba(255,255,255,.04); }
.family-strip a:last-child { border-right: 0; }
.family-strip a:before { content:""; position:absolute; top:-1px; left:0; width:42%; height:2px; background:var(--family); }
.family-strip span { font-family: var(--serif); font-size: 1.5rem; }
.family-strip p { margin: 24px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.family-strip b { display:block; margin-top:18px; color:var(--family); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; }

.range { background: #111311; border-top: 1px solid rgba(255,255,255,.06); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 54px; }
.section-heading h2 { max-width: 750px; margin: 18px 0 0; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card { background: #191b19; min-width: 0; border: 1px solid rgba(255,255,255,.08); transition: transform .3s, border-color .3s; }
.product-card:hover { transform: translateY(-6px); border-color: var(--accent); }
.product-card-image { aspect-ratio: 1.12/1; overflow: hidden; background: #222; position: relative; }
.product-card-image:after { content:""; position:absolute; inset:auto 0 0; height:36%; background:linear-gradient(transparent,rgba(0,0,0,.52)); pointer-events:none; }
.product-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.product-card:hover img { transform: scale(1.035); }
.product-card-copy { padding: 25px 26px 27px; border-top: 3px solid var(--accent); }
.product-card-copy > span { display:block; color:var(--accent); font-size:.63rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.product-card-copy h3, .product-card-copy h2 { font-size: 1.58rem; margin: 12px 0 8px; }
.product-card-copy p { color: var(--muted); font-size: .8rem; min-height: 26px; }
.product-card-copy b { display:flex; align-items:center; justify-content:space-between; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; }
.product-card-copy b i { color: var(--accent); font-style: normal; font-size: 1rem; }

.four-pillars { background: var(--paper); color: #171714; }
.pillars-title { display:grid; grid-template-columns:240px 1fr; gap:60px; align-items:start; margin:42px 0 70px; }
.pillars-title .kicker { color:#846126; padding-top:14px; }
.pillars-title h2 { max-width:800px; }
.pillars { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(0,0,0,.2); }
.pillars article { padding:34px 25px 12px 0; border-right:1px solid rgba(0,0,0,.14); margin-right:24px; }
.pillars article:last-child { border-right:0; margin-right:0; }
.pillars b { font-size:.66rem; letter-spacing:.14em; color:#8a672b; }
.pillars h3 { margin:40px 0 18px; font-size:1.65rem; }
.pillars p { color:#5e5c54; font-size:.9rem; }

.origin { display:grid; grid-template-columns:1.08fr .92fr; padding:0; min-height:760px; background:var(--gold); color:#17140f; }
.origin-image { background-size:cover; background-position:center; min-height:620px; }
.origin-copy { padding:110px clamp(40px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.origin-copy .kicker { color:#523d1a; }
.origin-copy h2 { font-size:clamp(2.8rem,5vw,5.4rem); margin:24px 0 34px; }
.origin-copy > p:not(.kicker):not(.section-index) { max-width:590px; font-size:1.05rem; color:#4b3b22; }
.origin-copy .button { align-self:flex-start; margin-top:28px; }
.partner-cta { text-align:center; background:linear-gradient(rgba(6,8,6,.78),rgba(6,8,6,.92)),url('assets/images/turkey-adult.webp') center/cover fixed; }
.partner-cta .shell { max-width:900px; }
.partner-cta h2 { margin:24px auto 28px; }
.partner-cta p:not(.kicker) { max-width:650px; margin:0 auto 34px; color:rgba(255,255,255,.7); }

.page-hero {
  min-height: 72svh;
  display:flex;
  align-items:flex-end;
  padding:170px 0 90px;
  background:
    linear-gradient(90deg,rgba(6,7,6,.9),rgba(6,7,6,.35)),
    url('assets/images/salmon-adult.webp') center/cover;
}
.page-hero .shell { position:relative; }
.page-hero h1 { margin:18px 0 24px; max-width:970px; }
.page-hero .shell > p:last-child { font-family:var(--serif); font-size:1.4rem; max-width:650px; color:rgba(255,255,255,.72); }
.catalogue-hero { background-image:linear-gradient(90deg,rgba(6,7,6,.93),rgba(6,7,6,.25)),url('assets/images/chicken-adult-flat.webp'); }
.story-hero { background-image:linear-gradient(90deg,rgba(6,7,6,.92),rgba(6,7,6,.28)),url('assets/images/rabbit-puppy.webp'); }
.quality-hero { background-image:linear-gradient(90deg,rgba(6,7,6,.92),rgba(6,7,6,.28)),url('assets/images/turkey-adult-flat.webp'); }
.contact-hero { background-image:linear-gradient(90deg,rgba(6,7,6,.93),rgba(6,7,6,.25)),url('assets/images/salmon-adult-flat.webp'); }

.catalogue-toolbar { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:50px; }
.catalogue-toolbar > p { color:var(--muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.filters { display:flex; flex-wrap:wrap; gap:8px; }
.filters button {
  background:transparent; border:1px solid var(--line); padding:11px 17px; min-height:44px;
  font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer;
}
.filters button:hover, .filters button.active { background:var(--gold); border-color:var(--gold); color:var(--ink); }
.catalogue-grid .product-card[hidden] { display:none; }

.product-hero { min-height:100svh; display:grid; grid-template-columns:1.08fr .92fr; background:#0d0e0d; }
.product-hero-image { min-height:760px; overflow:hidden; position:relative; }
.product-hero-image:after { content:""; position:absolute; inset:0; border-right:4px solid var(--product-accent); background:linear-gradient(90deg,transparent 60%,rgba(0,0,0,.35)); }
.product-hero-image img { width:100%; height:100%; object-fit:cover; }
.product-hero-copy { padding:150px clamp(44px,6vw,94px) 80px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.product-hero-copy .kicker { color:var(--product-accent); }
.product-hero-copy h1 { font-size:clamp(3.5rem,6vw,7rem); margin:20px 0 12px; }
.product-type { text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; color:var(--muted); }
.product-hero-copy .large-copy { margin:32px 0; color:rgba(255,255,255,.67); max-width:570px; }
.back-link { position:absolute; top:128px; color:var(--muted); font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; }
.product-meta { display:flex; justify-content:space-between; width:100%; max-width:500px; padding:16px 0; margin:0 0 34px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-meta span { color:var(--muted); }
.product-meta b { color:var(--product-accent); }
.size-selector { width:100%; max-width:500px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:-14px 0 34px; }
.size-selector > span { width:100%; color:var(--muted); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.size-selector b { min-width:70px; padding:9px 12px; border:1px solid var(--product-accent); color:var(--product-accent); text-align:center; font-size:.72rem; letter-spacing:.08em; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.detail-grid h2 { margin:24px 0 32px; }
.detail-grid .large-copy { color:rgba(255,255,255,.65); }
.badge-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.badge-grid div { min-height:170px; padding:26px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.badge-grid b { color:var(--product-accent); font-size:.68rem; letter-spacing:.12em; }
.badge-grid span { font-family:var(--serif); font-size:1.35rem; }
.analysis { background:var(--paper); color:var(--ink); }
.analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; }
.analysis-grid h2 { margin:22px 0; }
.analysis-grid p:not(.section-index) { color:#69665e; max-width:530px; }
.formula-line { display:inline-block; margin:22px 0 2px; color:#7a5b24; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ingredients-copy { font-size:1rem; line-height:1.75; }
.analysis-list h3 { margin:0 0 20px; font-size:1.55rem; }
.analysis dl { margin:0; border-top:1px solid rgba(0,0,0,.2); }
.analysis dl div { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid rgba(0,0,0,.16); }
.analysis dt { color:#55524b; }
.analysis dd { margin:0; font-weight:700; }
.analysis-note { margin-top:20px; font-size:.72rem; line-height:1.55; }
.product-enquiry { text-align:center; background:linear-gradient(120deg,#151815,#090a09); }
.product-enquiry .shell { max-width:850px; }
.product-enquiry h2 { margin:20px 0 25px; }
.product-enquiry p:not(.kicker) { color:var(--muted); margin-bottom:34px; }
.related-products { background:#111311; border-top:1px solid rgba(255,255,255,.06); }

.editorial .narrow > h2 { margin:80px 0 24px; }
.editorial .narrow > h2:first-of-type { margin-top:24px; }
.editorial .narrow > p:not(.section-index):not(.large-copy) { color:rgba(255,255,255,.68); font-size:1.05rem; }
.editorial blockquote { margin:90px 0; padding:0 0 0 32px; border-left:3px solid var(--gold); font-family:var(--serif); font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.13; }
.quality-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.quality-list article { padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.quality-list b { color:var(--gold); font-size:.7rem; letter-spacing:.14em; }
.quality-list h3 { margin:36px 0 14px; }
.quality-list p { color:var(--muted); font-size:.86rem; }

.family-hero { border-bottom:4px solid var(--family-accent); }
.family-hero .kicker { color:var(--family-accent); }
.ecosystem-intro { background:var(--paper); color:var(--ink); }
.ecosystem-statement { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:80px; margin:34px 0 74px; }
.ecosystem-statement .large-copy { color:#5f5b52; }
.ecosystem-steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(0,0,0,.2); }
.ecosystem-steps article { min-height:245px; padding:30px 28px 18px 0; margin-right:28px; border-right:1px solid rgba(0,0,0,.16); }
.ecosystem-steps article:last-child { border-right:0; margin-right:0; }
.ecosystem-steps b { color:#8b682e; font-size:.68rem; letter-spacing:.14em; }
.ecosystem-steps h3 { margin:58px 0 16px; }
.ecosystem-steps p { color:#625f56; font-size:.88rem; }
.collection-hero { background-image:linear-gradient(90deg,rgba(6,7,6,.94),rgba(6,7,6,.24)),url('assets/images/wet-nutrition.webp'); }
.collection-nav { display:flex; gap:8px; margin-bottom:48px; }
.collection-nav a { flex:1; padding:18px; border:1px solid var(--line); text-align:center; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.collection-nav a:hover { border-color:var(--gold); color:var(--gold-light); }
.transition { background:var(--paper); color:var(--ink); }
.transition-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:38px; border-top:1px solid rgba(0,0,0,.2); border-left:1px solid rgba(0,0,0,.2); }
.transition-grid article { min-height:265px; padding:26px; border-right:1px solid rgba(0,0,0,.2); border-bottom:1px solid rgba(0,0,0,.2); display:flex; flex-direction:column; }
.transition-grid b { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#826128; }
.transition-grid strong { margin:35px 0; font-family:var(--serif); font-size:4rem; font-weight:500; }
.transition-grid p { margin-top:auto; color:#625f56; font-size:.86rem; }
.guide-note { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-top:80px; }
.guide-note p { color:#625f56; }
.faq { background:var(--paper); color:var(--ink); }
.faq details { border-top:1px solid rgba(0,0,0,.2); }
.faq details:last-child { border-bottom:1px solid rgba(0,0,0,.2); }
.faq summary { list-style:none; cursor:pointer; position:relative; padding:28px 48px 28px 0; font-family:var(--serif); font-size:1.5rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:'+'; position:absolute; right:4px; top:25px; color:#89682e; font-family:var(--sans); }
.faq details[open] summary:after { content:'−'; }
.faq details p { padding:0 48px 28px 0; color:#625f56; max-width:650px; }

.contact-section { background:var(--paper); color:var(--ink); }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; }
.contact-grid h2 { margin:22px 0; }
.contact-grid > div > p:not(.section-index) { color:#625f58; }
.contact-email a { display:inline-block; color:#76551f; font-family:var(--serif); font-size:1.35rem; border-bottom:1px solid currentColor; }
.contact-points { display:grid; margin-top:48px; border-top:1px solid rgba(0,0,0,.18); }
.contact-points span { padding:13px 0; border-bottom:1px solid rgba(0,0,0,.18); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-form label:nth-of-type(5) { grid-column:1/-1; }
.contact-form input, .contact-form textarea {
  display:block; width:100%; margin-top:8px; border:1px solid rgba(0,0,0,.28); border-radius:0;
  background:rgba(255,255,255,.5); color:var(--ink); padding:14px 15px; min-height:50px; resize:vertical;
}
.contact-form .button { justify-self:start; }
.form-success { grid-column:1/-1; padding:15px; background:#dce8da; color:#244020; }

.site-footer { padding:80px 0 28px; background:#090a09; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:70px; }
.footer-brand img { width:165px; margin-bottom:26px; }
.footer-brand p { font-family:var(--serif); font-size:1.35rem; margin-bottom:5px; }
.footer-brand span { color:var(--gold-light); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-grid h2 { font-family:var(--sans); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; margin-bottom:22px; color:var(--gold-light); }
.footer-grid > div:not(.footer-brand):not(.footer-note) { display:flex; flex-direction:column; align-items:flex-start; }
.footer-grid a { color:var(--muted); font-size:.84rem; margin:4px 0; }
.footer-grid a:hover { color:#fff; }
.footer-note { color:#75766f; font-size:.76rem; }
.footer-bottom { margin-top:65px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#6d6f68; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .section { padding:90px 0; }
  .header-inner { grid-template-columns:140px 1fr auto; gap:22px; }
  .brand { width:132px; }
  .primary-nav { gap:18px; }
  .product-grid { grid-template-columns:1fr 1fr; }
  .family-strip { grid-template-columns:repeat(3,1fr); }
  .family-strip a:nth-child(3) { border-right:0; }
  .family-strip a:nth-child(n+4) { border-top:1px solid var(--line); }
  .pillars { grid-template-columns:1fr 1fr; }
  .pillars article:nth-child(2) { border-right:0; }
  .origin, .product-hero { grid-template-columns:1fr; }
  .origin-image { min-height:620px; }
  .product-hero-image { min-height:72svh; }
  .product-hero-copy { padding-top:90px; }
  .back-link { position:static; margin-bottom:40px; }
  .detail-grid, .analysis-grid, .contact-grid { gap:60px; }
  .transition-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-note { grid-column:1/-1; max-width:600px; }
}

@media (max-width: 760px) {
  .shell { width:min(calc(100% - 40px),var(--shell)); }
  .section { padding:76px 0; }
  h1 { font-size:clamp(3.4rem,16vw,5.4rem); }
  h2 { font-size:clamp(2.45rem,11vw,4rem); }
  .site-header, .site-header.scrolled { background:rgba(9,10,9,.94); backdrop-filter:blur(14px); }
  .header-inner { height:76px; grid-template-columns:120px 1fr 46px; }
  .brand { width:112px; height:54px; }
  .header-cta { display:none; }
  .nav-toggle { display:block; grid-column:3; }
  .primary-nav {
    display:none; position:fixed; inset:76px 0 0; background:#0b0c0b; padding:46px 20px;
    flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0;
  }
  .menu-open .primary-nav { display:flex; }
  .primary-nav a { width:100%; padding:20px 0; font-family:var(--serif); font-size:2rem; text-transform:none; letter-spacing:-.02em; border-bottom:1px solid var(--line); }
  .hero { min-height:900px; align-items:flex-end; padding-bottom:170px; }
  .hero-media { background-position:63% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(5,6,5,.96) 10%,rgba(5,6,5,.72) 50%,rgba(5,6,5,.12) 100%); }
  .hero h1 { margin-top:14px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:23px; margin-top:30px; }
  .hero-foot { bottom:28px; flex-wrap:wrap; gap:10px 14px; }
  .hero-foot i { width:14px; }
  .split-intro { grid-template-columns:1fr; gap:28px; }
  .split-intro h2 { margin-top:18px; }
  .family-strip { margin-top:60px; grid-template-columns:1fr; }
  .family-strip a { min-height:136px; border-right:0; border-top:1px solid var(--line); }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .product-grid { grid-template-columns:1fr; }
  .product-card-image { aspect-ratio:1.18/1; }
  .pillars-title { grid-template-columns:1fr; gap:8px; margin:28px 0 50px; }
  .pillars { grid-template-columns:1fr; }
  .pillars article, .pillars article:nth-child(2) { border-right:0; border-bottom:1px solid rgba(0,0,0,.16); margin-right:0; padding-right:0; }
  .origin-image { min-height:500px; }
  .origin-copy { padding:70px 20px; }
  .partner-cta { background-attachment:scroll; }
  .page-hero { min-height:660px; padding-bottom:68px; }
  .catalogue-toolbar { align-items:flex-start; flex-direction:column; }
  .filters { width:100%; }
  .filters button { flex:1 1 calc(50% - 8px); }
  .product-hero-image { min-height:62svh; }
  .product-hero-copy { padding:65px 20px 76px; }
  .product-hero-copy h1 { font-size:clamp(3rem,14vw,5rem); }
  .detail-grid, .analysis-grid, .contact-grid { grid-template-columns:1fr; gap:58px; }
  .ecosystem-statement, .guide-note { grid-template-columns:1fr; gap:24px; }
  .ecosystem-steps { grid-template-columns:1fr; }
  .ecosystem-steps article { min-height:190px; border-right:0; border-bottom:1px solid rgba(0,0,0,.16); margin-right:0; }
  .ecosystem-steps h3 { margin-top:35px; }
  .collection-nav { flex-direction:column; }
  .transition-grid { grid-template-columns:1fr; }
  .transition-grid article { min-height:220px; }
  .badge-grid, .quality-list { grid-template-columns:1fr 1fr; }
  .contact-form { grid-template-columns:1fr; }
  .contact-form label:nth-of-type(5) { grid-column:auto; }
  .contact-form .button { width:100%; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:48px 28px; }
  .footer-brand, .footer-note { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (max-width: 420px) {
  .badge-grid, .quality-list { grid-template-columns:1fr; }
  .filters button { flex-basis:100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
