:root {
    --cap-forest: #123f2d;
    --cap-forest-dark: #0b2f22;
    --cap-forest-soft: #38573a;
    --cap-cream: #f6eddf;
    --cap-paper: #fffaf1;
    --cap-ink: #173d2d;
    --cap-muted: #6d7a70;
    --cap-orange: #ef9a6f;
    --cap-brick: #a94f36;
    --cap-plum: #73506e;
    --cap-gold: #c99b36;
    --cap-line: rgba(18, 63, 45, .18);
    --cap-radius: 0;
    --cap-display: "League Spartan", sans-serif;
    --cap-body: "DM Sans", sans-serif;
    --cap-shell: min(1500px, calc(100% - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.capibara-site { margin: 0; background: var(--cap-cream); color: var(--cap-ink); font: 400 16px/1.58 var(--cap-body); -webkit-font-smoothing: antialiased; }
body.capibara-site img { max-width: 100%; height: auto; }
body.capibara-site a { color: inherit; text-decoration: none; }
body.capibara-site button, body.capibara-site input, body.capibara-site select, body.capibara-site textarea { font: inherit; }
body.capibara-site h1, body.capibara-site h2, body.capibara-site h3, body.capibara-site h4 { color: inherit; font-family: var(--cap-display); line-height: .94; margin: 0; letter-spacing: -.045em; }
body.capibara-site h1 em, body.capibara-site h2 em { color: var(--cap-orange); font-style: normal; }
.cap-shell { width: var(--cap-shell); margin-inline: auto; }
.cap-section { padding-block: clamp(80px, 8vw, 140px); }
.cap-eyebrow { color: var(--cap-orange); font: 700 13px/1.2 var(--cap-body); letter-spacing: .18em; margin: 0 0 22px; text-transform: uppercase; }
.cap-skip-link { left: 14px; position: fixed; top: -100px; z-index: 9999; background: #fff; padding: 12px 18px; }
.cap-skip-link:focus { top: 14px; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

.cap-announcement { background: var(--cap-forest-dark); color: #fff5e8; display: grid; grid-template-columns: repeat(3, 1fr); padding: 7px 5%; text-align: center; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.cap-announcement span::before { color: var(--cap-orange); content: "✦"; margin-right: 22px; }
.cap-header { background: var(--cap-cream); border-bottom: 1px solid var(--cap-line); position: relative; z-index: 50; }
.cap-header__inner { align-items: center; display: grid; grid-template-columns: 210px 1fr auto; min-height: 82px; }
.cap-logo { align-items: center; align-self: center; display: inline-flex; height: 82px; justify-content: center; overflow: hidden; width: 190px; }
body.capibara-site .cap-logo img { display: block; flex: 0 0 auto; height: 260px; max-width: none; object-fit: contain; object-position: center; width: 260px; }
.cap-nav__list { align-items: center; display: flex; gap: clamp(24px, 3vw, 55px); justify-content: center; list-style: none; margin: 0; padding: 0; }
.cap-nav__list > li > a { font-weight: 700; position: relative; }
.cap-nav__list > li > a::after { background: var(--cap-orange); bottom: -8px; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: .25s; width: 100%; }
.cap-nav__list > li > a:hover::after { transform: scaleX(1); }
.cap-header__actions { align-items: center; display: flex; gap: 10px; }
.cap-language-menu { position: relative; z-index: 95; }
.cap-language-menu__toggle { align-items: center; background: var(--cap-paper); border: 1px solid var(--cap-line); color: var(--cap-ink); cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 800; gap: 8px; height: 44px; justify-content: center; letter-spacing: .08em; min-width: 88px; padding: 0 11px; text-transform: uppercase; }
.cap-language-menu__toggle svg { fill: none; height: 8px; margin-left: 2px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; transition: transform .2s; width: 12px; }
.cap-language-menu.is-open .cap-language-menu__toggle svg { transform: rotate(180deg); }
.cap-language-menu__flag { font-size: 17px; line-height: 1; }
.cap-language-menu__options { background: var(--cap-paper); border: 1px solid var(--cap-line); box-shadow: 0 18px 38px rgba(11,47,34,.16); min-width: 190px; padding: 7px; position: absolute; right: 0; top: calc(100% + 7px); z-index: 110; }
.cap-language-menu__options[hidden] { display: none; }
.cap-language-menu__options a { align-items: center; display: grid; font-size: 13px; gap: 10px; grid-template-columns: 24px 1fr auto; min-height: 44px; padding: 0 10px; }
.cap-language-menu__options a:hover, .cap-language-menu__options a:focus-visible { background: var(--cap-orange); }
.cap-language-menu__options a.is-current { background: rgba(18,63,45,.08); }
.cap-language-menu__options small { color: var(--cap-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.trp-floater-ls, .trp-floating-switcher, .trp-language-switcher.trp-floating-switcher, body > .trp-language-switcher { display: none !important; opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }
.cap-icon-link { align-items: center; border: 1px solid var(--cap-line); display: inline-flex; font-size: 11px; font-weight: 700; gap: 7px; min-height: 44px; padding: 0 12px; position: relative; text-transform: uppercase; }
.cap-icon-link svg { fill: none; height: 25px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.6; width: 25px; }
.capibara-cart-count { align-items: center; background: var(--cap-orange); border-radius: 50%; color: #fff; display: flex; font-size: 10px; height: 21px; justify-content: center; position: absolute; right: -7px; top: -7px; width: 21px; }
.cap-nav-toggle { background: transparent; border: 0; display: none; gap: 5px; padding: 10px; }
.cap-nav-toggle > span:not(.screen-reader-text) { background: currentColor; display: block; height: 2px; width: 26px; }

/* Shop navigation: full catalogue without leaving the current page. */
.cap-nav__shop { position: static; }
.cap-nav__chevron { color: var(--cap-orange); display: inline-block; font-size: 15px; margin-left: 3px; transition: transform .2s; }
.cap-nav__shop:hover .cap-nav__chevron, .cap-nav__shop:focus-within .cap-nav__chevron { transform: rotate(180deg); }
.cap-mega-menu { background: var(--cap-paper); border: 1px solid var(--cap-line); box-shadow: 0 24px 58px rgba(11,47,34,.2); display: grid; gap: 32px; grid-template-columns: 1.05fr 1.3fr .85fr; left: 50%; opacity: 0; padding: 34px; pointer-events: none; position: absolute; top: calc(100% - 1px); transform: translate(-50%, 0); transition: opacity .18s, visibility .18s; visibility: hidden; width: min(1180px, calc(100vw - 48px)); z-index: 80; }
.cap-mega-menu::before { content: ""; height: 34px; left: 0; position: absolute; right: 0; top: -33px; }
.cap-nav__shop:hover .cap-mega-menu, .cap-nav__shop:focus-within .cap-mega-menu, .cap-nav__shop.is-mega-open .cap-mega-menu { opacity: 1; pointer-events: auto; visibility: visible; }
.cap-mega-menu__intro { border-right: 1px solid var(--cap-line); padding-right: 30px; }
.cap-mega-menu__intro h2 { font-size: 38px; margin-bottom: 15px; }
.cap-mega-menu__intro > p:not(.cap-eyebrow) { color: var(--cap-muted); font-size: 13px; margin-bottom: 20px; }
.cap-mega-menu__categories { display: grid; grid-template-columns: 1fr; }
.cap-mega-menu__categories a { align-items: center; border-bottom: 1px solid var(--cap-line); display: grid; gap: 13px; grid-template-columns: 28px 1fr auto; min-height: 57px; padding: 7px 4px; }
.cap-mega-menu__categories a:last-child { border-bottom: 0; }
.cap-mega-menu__categories a:hover { color: var(--cap-brick); }
.cap-mega-menu__categories small { color: var(--cap-orange); font-size: 10px; font-weight: 800; }
.cap-mega-menu__categories span { display: flex; flex-direction: column; }
.cap-mega-menu__categories strong { font: 700 19px var(--cap-display); letter-spacing: -.02em; }
.cap-mega-menu__categories em { color: var(--cap-muted); font-size: 10px; font-style: normal; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.cap-mega-menu__categories b { font-size: 14px; }
.cap-mega-menu__spotlight { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.cap-mega-menu__spotlight > .cap-eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.cap-mega-menu__spotlight > a { background: var(--cap-cream); display: flex; flex-direction: column; min-width: 0; padding: 10px; }
.cap-mega-menu__spotlight img { height: 130px; object-fit: contain; object-position: center bottom; width: 100%; }
.cap-mega-menu__spotlight span { border-top: 1px solid var(--cap-line); display: flex; flex-direction: column; gap: 3px; padding-top: 9px; }
.cap-mega-menu__spotlight strong { font: 700 14px/1 var(--cap-display); }
.cap-mega-menu__spotlight em { color: var(--cap-muted); font-size: 10px; font-style: normal; }

.cap-button { align-items: center; background: var(--cap-forest); border: 1px solid var(--cap-forest); color: #fff !important; cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 700; gap: 35px; justify-content: space-between; letter-spacing: .06em; min-height: 56px; padding: 0 20px; text-transform: uppercase; transition: .2s; }
.cap-button:hover { background: var(--cap-orange); border-color: var(--cap-orange); color: var(--cap-forest-dark) !important; }
.cap-button--light { background: var(--cap-paper); border-color: var(--cap-paper); color: var(--cap-forest) !important; }
.cap-button--outline { background: transparent; color: var(--cap-forest) !important; margin-top: 35px; }
.cap-button--full { width: 100%; }
.cap-text-link { border-bottom: 1px solid currentColor; display: inline-flex; font-size: 13px; font-weight: 700; letter-spacing: .08em; padding-bottom: 6px; text-transform: uppercase; }
.cap-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 26px; margin-top: 38px; }

.cap-home-hero { background: var(--cap-forest); color: var(--cap-paper); overflow: hidden; }
.cap-home-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(500px, .9fr); min-height: 710px; }
.cap-home-hero__copy { align-self: center; max-width: 730px; padding: 75px 40px 75px 0; }
.cap-home-hero h1 { font-size: clamp(72px, 8vw, 134px); }
.cap-home-hero__copy > p:not(.cap-eyebrow) { color: rgba(255,255,255,.76); font-size: 19px; max-width: 650px; }
.cap-home-hero__visual { background: var(--cap-orange); min-height: 100%; overflow: hidden; padding: 55px 35px 0; position: relative; }
.cap-home-hero__visual::before { border: 1px solid rgba(18,63,45,.18); content: ""; inset: 45px; position: absolute; }
.cap-product-scene { bottom: 20px; margin: 0; pointer-events: none; position: absolute; z-index: 2; }
.cap-product-scene img { display: block; height: 100%; max-height: 100%; object-fit: contain; object-position: center bottom; width: 100%; }
.cap-product-scene--doypack { height: 45%; left: 1%; transform: rotate(-6deg); width: 31%; z-index: 3; }
.cap-product-scene--bucket { bottom: 34px; height: 58%; left: 22%; transform: rotate(2deg); width: 52%; z-index: 2; }
.cap-product-scene--sack { bottom: 25px; height: 78%; right: -4%; transform: rotate(5deg); width: 40%; z-index: 1; }
.cap-product-scene figcaption { background: rgba(255,250,241,.92); border: 1px solid rgba(18,63,45,.22); bottom: 0; color: var(--cap-forest-dark); left: 50%; min-width: 112px; padding: 9px 12px; position: absolute; text-align: center; transform: translate(-50%, 45%); }
.cap-product-scene figcaption b { display: block; font: 800 23px/.9 var(--cap-display); }
.cap-product-scene figcaption span { font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.cap-category-strip { background: var(--cap-paper); border-bottom: 1px solid var(--cap-line); }
.cap-category-strip__grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.cap-category-strip a { border-left: 1px solid var(--cap-line); display: grid; gap: 13px; min-height: 135px; padding: 27px 24px; position: relative; }
.cap-category-strip a:last-child { border-right: 1px solid var(--cap-line); }
.cap-category-strip small { color: var(--cap-orange); font-weight: 800; }
.cap-category-strip strong { font: 700 23px var(--cap-display); }
.cap-category-strip span { position: absolute; right: 22px; top: 25px; }
.cap-category-strip a:hover { background: var(--cap-orange); }

.cap-brand-story__grid { align-items: center; display: grid; gap: clamp(50px, 8vw, 140px); grid-template-columns: .72fr 1.28fr; }
.cap-brand-story h2, .cap-section-heading h2 { font-size: clamp(54px, 6vw, 98px); }
.cap-brand-story > .cap-shell > div > p:not(.cap-eyebrow), .cap-section-heading > p { color: var(--cap-muted); font-size: 18px; max-width: 540px; }
.cap-brand-story figure { margin: 0; }
.cap-brand-story figure > img:not(.cap-brand-visual__product) { aspect-ratio: 1.9/1; display: block; object-fit: cover; width: 100%; }
.cap-brand-story figcaption { border: 1px solid var(--cap-line); border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: .1em; padding: 16px; text-transform: uppercase; }
.cap-brand-visual { aspect-ratio: 1.9 / 1; background: var(--cap-paper); border: 1px solid var(--cap-line); overflow: hidden; position: relative; }
.cap-brand-visual__background { height: 100% !important; inset: 0; object-fit: cover !important; position: absolute; width: 100% !important; }
.cap-brand-visual__title { color: var(--cap-forest); left: 7%; position: absolute; top: 13%; z-index: 3; }
.cap-brand-visual__title b { display: block; font: 700 clamp(40px,4.6vw,76px)/.9 var(--cap-display); letter-spacing: -.04em; }
.cap-brand-visual__title span { font: 700 clamp(15px,1.4vw,23px) var(--cap-display); }
.cap-brand-visual__product { bottom: 0; height: auto !important; object-fit: contain !important; object-position: bottom !important; position: absolute; width: auto !important; z-index: 2; }
.cap-brand-visual__product--rabbit { max-height: 72%; right: 22%; transform: rotate(-2deg); }
.cap-brand-visual__product--pigeon { max-height: 84%; right: 2%; transform: rotate(3deg); }
.cap-brand-visual figcaption { bottom: 0; left: 0; position: absolute; right: 0; z-index: 4; }

.cap-scale { background: var(--cap-paper); }
.cap-section-heading { align-items: end; display: flex; gap: 50px; justify-content: space-between; margin-bottom: 56px; }
.cap-scale__stage { align-items: end; border: 1px solid var(--cap-line); display: grid; grid-template-columns: repeat(4, 1fr); height: 650px; overflow: hidden; }
.cap-scale__item { align-items: center; border-right: 1px solid var(--cap-line); display: flex; flex-direction: column; height: 100%; justify-content: flex-end; min-width: 0; padding: 22px; }
.cap-scale__item:last-child { border-right: 0; }
.cap-scale__item > div { align-items: end; display: flex; height: calc(100% - 72px); justify-content: center; width: 100%; }
.cap-scale__item img { display: block; height: var(--package-height) !important; max-height: 100%; max-width: 95% !important; object-fit: contain; object-position: bottom; transition: transform .25s; width: auto !important; }
.cap-scale__item:hover img { transform: translateY(-8px); }
.cap-scale__item strong { align-self: flex-start; font: 800 31px var(--cap-display); margin-top: 12px; }
.cap-scale__item span { align-self: flex-start; color: var(--cap-muted); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.cap-featured { background: var(--cap-cream); }
.cap-product-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cap-product-grid--featured { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cap-product-card { background: var(--cap-paper); border: 1px solid var(--cap-line); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.cap-product-card__media { align-items: center; background: #eadfda; display: flex; height: 460px; justify-content: center; overflow: hidden; padding: 38px 30px 24px; position: relative; }
.cap-product-card:nth-child(3n+2) .cap-product-card__media { background: #e7e1ea; }
.cap-product-card:nth-child(3n+3) .cap-product-card__media { background: #e8ead9; }
.cap-product-card__media img { display: block; height: 100%; max-width: 100%; object-fit: contain; object-position: center; transition: transform .25s; width: 100%; }
.cap-product-card:hover .cap-product-card__media img { transform: translateY(-4px); }
.cap-product-card__badge { background: var(--cap-forest); color: #fff; font-size: 10px; font-weight: 700; left: 18px; letter-spacing: .12em; padding: 8px 10px; position: absolute; text-transform: uppercase; top: 18px; z-index: 2; }
.cap-product-card__number { color: var(--cap-forest); font: 700 12px var(--cap-body); position: absolute; right: 18px; top: 18px; }
.cap-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.cap-product-card__category { color: var(--cap-muted); font-size: 13px; margin: 0 0 8px; }
.cap-product-card h2 { font-size: clamp(28px, 2.2vw, 36px); line-height: 1; }
.cap-product-card__description { color: var(--cap-muted); font-size: 14px; margin: 13px 0 23px; }
.cap-quick-buy { border-top: 1px solid var(--cap-line); margin-top: auto; padding-top: 18px; }
.cap-quick-buy label, .cap-single-buy > label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-bottom: 9px; text-transform: uppercase; }
.cap-quick-buy__row { align-items: center; display: grid; gap: 12px; grid-template-columns: 1fr auto; margin-bottom: 12px; }
.cap-quick-buy select, .cap-single-buy select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23123f2d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid var(--cap-line); border-radius: 0; color: var(--cap-ink); font-size: 14px; font-weight: 700; min-height: 48px; padding: 0 40px 0 13px; width: 100%; }
.cap-quick-buy__row strong { font: 800 18px var(--cap-display); white-space: nowrap; }
.cap-quick-buy .cap-button { min-height: 50px; }

.cap-guide { background: var(--cap-paper); }
.cap-article-grid { display: grid; gap: 26px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cap-article-grid article { border-top: 1px solid var(--cap-line); padding-top: 18px; }
.cap-article-grid__image { align-items: center; background: #e2dccf; display: flex; height: 310px; justify-content: center; margin-bottom: 25px; overflow: hidden; padding: 24px; }
.cap-article-grid__image img { display: block; height: auto; max-height: 100%; max-width: 100%; object-fit: contain; object-position: center; transition: transform .25s; width: auto; }
.cap-article-grid article:hover img { transform: translateY(-3px); }
.cap-article-grid h2, .cap-article-grid h3 { font-size: clamp(30px, 3vw, 46px); line-height: 1; }
.cap-article-grid article > p:not(.cap-eyebrow) { color: var(--cap-muted); font-size: 15px; }

.cap-shop-hero { background: var(--cap-forest); color: var(--cap-paper); overflow: hidden; }
.cap-shop-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 625px; }
.cap-shop-hero__copy { align-self: center; max-width: 760px; padding: 70px 60px 70px 0; }
.cap-shop-hero h1 { font-size: clamp(69px, 7vw, 118px); }
.cap-shop-hero__copy > p:not(.cap-eyebrow) { color: rgba(255,255,255,.74); font-size: 18px; max-width: 620px; }
.cap-shop-hero__visual { align-items: flex-end; background: var(--cap-orange); display: flex; justify-content: center; min-height: 100%; overflow: hidden; padding: 55px 35px 0; position: relative; }
.cap-shop-hero__visual::after { border: 1px solid rgba(18,63,45,.2); content: ""; inset: 32px; pointer-events: none; position: absolute; }
.cap-shop-hero__visual span { color: var(--cap-forest); font-size: 11px; font-weight: 800; left: 55px; letter-spacing: .16em; position: absolute; text-transform: uppercase; top: 55px; z-index: 2; }
.cap-shop-hero__visual img { display: block; height: 78%; object-fit: contain; object-position: center bottom; position: relative; width: 82%; z-index: 1; }
.cap-shop-hero--plum .cap-shop-hero__visual { background: #d9cedd; }
.cap-shop-hero--clay .cap-shop-hero__visual { background: #dfb4a3; }
.cap-shop-hero--gold .cap-shop-hero__visual { background: #dcd7b6; }
.cap-shop-hero--brick .cap-shop-hero__visual { background: #e4c9bd; }
.cap-shop-hero--grain .cap-shop-hero__visual { background: #e2d3ae; }
.cap-shop-categories { background: var(--cap-paper); border-bottom: 1px solid var(--cap-line); }
.cap-shop-categories .cap-shell { display: grid; grid-template-columns: repeat(6, 1fr); }
.cap-shop-categories a { border-left: 1px solid var(--cap-line); display: flex; flex-direction: column; gap: 15px; min-height: 115px; padding: 20px; }
.cap-shop-categories a:last-child { border-right: 1px solid var(--cap-line); }
.cap-shop-categories a.is-active, .cap-shop-categories a:hover { background: var(--cap-orange); }
.cap-shop-categories small { color: var(--cap-brick); font-size: 10px; font-weight: 800; }
.cap-shop-categories strong { font: 700 21px var(--cap-display); }
.cap-shop-products__top { align-items: end; display: flex; justify-content: space-between; margin-bottom: 38px; }
.cap-shop-products__top h2 { font-size: clamp(44px, 5vw, 76px); }
.cap-shop-products__top > p { color: var(--cap-muted); max-width: 530px; }

.cap-single-product { background: var(--cap-cream); }
.cap-single-product__main { display: grid; gap: clamp(45px, 7vw, 110px); grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); padding-block: 70px 100px; }
.cap-single-product__gallery { min-width: 0; }
.cap-single-product__image { align-items: center; background: #eadfda; display: flex; height: 72vh; justify-content: center; max-height: 690px; min-height: 520px; overflow: hidden; padding: 52px; position: sticky; top: 20px; }
.cap-single-product__image img { display: block; height: auto !important; max-height: 100% !important; max-width: 100% !important; object-fit: contain; object-position: center; width: auto !important; }
.cap-single-product__thumbs { display: flex; gap: 9px; margin-top: 12px; overflow-x: auto; padding-bottom: 6px; }
.cap-single-product__thumbs button { background: var(--cap-paper); border: 1px solid var(--cap-line); color: var(--cap-ink); flex: 0 0 94px; height: 108px; padding: 7px; position: relative; }
.cap-single-product__thumbs img { height: 75px; object-fit: contain; width: 100%; }
.cap-single-product__thumbs span { bottom: 5px; font-size: 10px; font-weight: 700; left: 0; position: absolute; right: 0; }
.cap-single-product__info { align-self: start; padding-top: 15px; position: sticky; top: 20px; }
.cap-breadcrumb { color: var(--cap-muted); display: flex; font-size: 12px; gap: 10px; margin-bottom: 45px; }
.cap-single-product__info h1 { font-size: clamp(61px, 6vw, 95px); }
.cap-single-product__lead { color: var(--cap-muted); font-size: 18px; margin: 24px 0; }
.cap-highlights { border-bottom: 1px solid var(--cap-line); border-top: 1px solid var(--cap-line); display: grid; gap: 12px; list-style: none; margin: 28px 0; padding: 22px 0; }
.cap-highlights li { font-size: 14px; font-weight: 700; }
.cap-highlights li::before { color: var(--cap-orange); content: "✦"; margin-right: 13px; }
.cap-single-buy { background: var(--cap-paper); border: 1px solid var(--cap-line); padding: 22px; }
.cap-single-buy select { min-height: 56px; }
.cap-single-buy__summary { align-items: end; display: grid; grid-template-columns: 1fr auto; margin: 20px 0; }
.cap-single-buy__summary span { color: var(--cap-muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cap-single-buy__summary strong { font: 700 22px var(--cap-display); grid-column: 1; }
.cap-single-buy__summary b { font: 800 28px var(--cap-display); grid-column: 2; grid-row: 1 / 3; }
.cap-purchase-notes { color: var(--cap-muted); display: grid; font-size: 12px; gap: 8px; margin-top: 18px; }
.cap-product-details { background: var(--cap-forest); color: var(--cap-paper); }
.cap-product-details .cap-shell { display: grid; gap: 90px; grid-template-columns: .8fr 1.2fr; }
.cap-product-details h2 { font-size: clamp(56px, 6vw, 96px); }
.cap-product-details .cap-prose { color: rgba(255,255,255,.78); }
.cap-product-details .cap-prose strong { color: #fff; }
.cap-related { background: var(--cap-paper); }
.cap-product-grid--related { grid-template-columns: repeat(3, 1fr); }

.cap-page-hero, .cap-article__hero { background: var(--cap-forest); color: var(--cap-paper); padding-block: clamp(90px, 10vw, 170px); }
.cap-page-hero h1, .cap-article__hero h1 { font-size: clamp(68px, 9vw, 140px); max-width: 1200px; }
.cap-page-hero--editorial p:last-child, .cap-article__hero p:last-child { color: rgba(255,255,255,.75); font-size: 19px; max-width: 700px; }
.cap-page-content { background: var(--cap-paper); margin-block: 70px 110px; min-height: 300px; padding: clamp(35px, 6vw, 90px); }
.cap-page-content > h2:first-child { font-size: clamp(52px, 6vw, 86px); }
.cap-page-content h2 { font-size: 48px; margin: 50px 0 20px; }
.cap-page-content h3 { font-size: 33px; margin: 35px 0 14px; }
.cap-page-content p, .cap-page-content li { max-width: 850px; }
.cap-article__cover { align-items: center; background: #e2dccf; display: flex; height: 65vh; justify-content: center; margin-top: -70px; max-height: 620px; min-height: 460px; padding: 36px; position: relative; }
.cap-article__cover img { display: block; height: auto !important; max-height: 100% !important; max-width: 100% !important; object-fit: contain; object-position: center; width: auto !important; }
.cap-prose { font-size: 17px; max-width: 820px; }
.cap-article > .cap-prose { background: var(--cap-paper); margin-block: 70px 110px; padding: clamp(35px, 6vw, 85px); }
.cap-prose h2 { font-size: clamp(44px, 5vw, 68px); margin: 60px 0 20px; }
.cap-prose h3 { font-size: 34px; margin: 40px 0 15px; }
.cap-prose table { border-collapse: collapse; display: block; margin: 30px 0; max-width: 100%; overflow-x: auto; width: 100%; }
.cap-prose th, .cap-prose td { border: 1px solid var(--cap-line); min-width: 160px; padding: 14px; text-align: left; }
.cap-empty { min-height: 68vh; padding-block: 130px; }
.cap-empty h1 { font-size: clamp(65px, 9vw, 130px); max-width: 950px; }

/* Home: decision support, recipe transparency and confidence. */
.cap-needs { background: var(--cap-cream); }
.cap-needs__grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cap-need-card { color: var(--cap-forest); display: flex; flex-direction: column; min-height: 520px; overflow: hidden; padding: clamp(28px, 4vw, 50px); position: relative; }
.cap-need-card--plum { background: #ddd2e0; }
.cap-need-card--clay { background: #e5c8ba; }
.cap-need-card--gold { background: #e1d8b8; }
.cap-need-card--grain { background: #dfcfaa; }
.cap-need-card__number { font-size: 11px; font-weight: 800; letter-spacing: .12em; position: absolute; right: 30px; top: 28px; }
.cap-need-card > div { max-width: 56%; position: relative; z-index: 2; }
.cap-need-card h3 { font-size: clamp(39px, 4vw, 63px); }
.cap-need-card > div > p:last-child { font-size: 14px; max-width: 330px; }
.cap-need-card img { bottom: 0; height: 76%; object-fit: contain; object-position: right bottom; position: absolute; right: -2%; width: 58%; }
.cap-need-card > b { border-top: 1px solid rgba(18,63,45,.22); bottom: 0; font-size: 11px; left: clamp(28px, 4vw, 50px); letter-spacing: .1em; padding: 18px 0; position: absolute; right: clamp(28px, 4vw, 50px); text-transform: uppercase; z-index: 3; }
.cap-need-card:hover img { transform: translateY(-8px); }

.cap-proof { background: var(--cap-forest-dark); color: var(--cap-paper); }
.cap-proof__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.cap-proof__grid > div { border-left: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; min-height: 190px; padding: 32px; }
.cap-proof__grid > div:last-child { border-right: 1px solid rgba(255,255,255,.18); }
.cap-proof small { color: var(--cap-orange); font-weight: 800; }
.cap-proof strong { font: 700 23px/1 var(--cap-display); margin: auto 0 10px; }
.cap-proof span { color: rgba(255,255,255,.63); font-size: 12px; }

.cap-ingredients { background: var(--cap-forest); color: var(--cap-paper); }
.cap-ingredients__grid { align-items: stretch; display: grid; gap: clamp(45px, 7vw, 110px); grid-template-columns: .85fr 1.15fr; }
.cap-ingredients figure { background: #e2d0a6; margin: 0; min-height: 760px; overflow: hidden; position: relative; }
.cap-ingredients figure img { height: 100%; object-fit: cover; width: 100%; }
.cap-ingredients figcaption { background: var(--cap-paper); bottom: 0; color: var(--cap-forest); font-size: 10px; font-weight: 800; left: 0; letter-spacing: .1em; padding: 16px 18px; position: absolute; right: 0; text-transform: uppercase; }
.cap-ingredients__content { align-self: center; }
.cap-ingredients h2 { font-size: clamp(59px, 6vw, 96px); }
.cap-ingredients__lead { color: rgba(255,255,255,.72); font-size: 17px; max-width: 690px; }
.cap-ingredient-groups { border-top: 1px solid rgba(255,255,255,.2); display: grid; grid-template-columns: 1fr 1fr; margin: 34px 0 0; }
.cap-ingredient-groups > div { border-bottom: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; min-height: 105px; padding: 20px 22px 20px 0; }
.cap-ingredient-groups > div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.2); }
.cap-ingredient-groups > div:nth-child(even) { padding-left: 22px; }
.cap-ingredient-groups span { color: var(--cap-orange); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cap-ingredient-groups strong { font-size: 14px; margin-top: 7px; }
.cap-analysis { display: grid; grid-template-columns: repeat(4, 1fr); margin: 32px 0; }
.cap-analysis > div { border-right: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; padding-right: 15px; }
.cap-analysis > div + div { padding-left: 15px; }
.cap-analysis > div:last-child { border-right: 0; }
.cap-analysis b { color: var(--cap-orange); font: 800 27px var(--cap-display); }
.cap-analysis span { color: rgba(255,255,255,.65); font-size: 10px; text-transform: uppercase; }

.cap-how { background: var(--cap-paper); }
.cap-how__grid { border-left: 1px solid var(--cap-line); border-top: 1px solid var(--cap-line); display: grid; grid-template-columns: repeat(3, 1fr); }
.cap-how__grid > div { border-bottom: 1px solid var(--cap-line); border-right: 1px solid var(--cap-line); min-height: 300px; padding: 34px; }
.cap-how__grid span, .cap-values span, .cap-quality-steps span, .cap-contact__topics span { color: var(--cap-orange); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.cap-how__grid h3 { font-size: 35px; margin: 95px 0 13px; }
.cap-how__grid p { color: var(--cap-muted); font-size: 13px; }
.cap-help-cta { background: var(--cap-forest); color: var(--cap-paper); padding-block: clamp(70px, 7vw, 120px); }
.cap-help-cta__grid { align-items: end; display: grid; gap: 70px; grid-template-columns: 1.15fr .85fr; }
.cap-help-cta h2 { font-size: clamp(56px, 6vw, 94px); }
.cap-help-cta__grid > div:last-child > p { color: rgba(255,255,255,.7); font-size: 17px; max-width: 570px; }
.cap-help-cta .cap-text-link { color: #fff; }

/* Editorial brand, quality and contact pages. */
.cap-editorial-hero { background: var(--cap-forest); color: var(--cap-paper); overflow: hidden; }
.cap-editorial-hero__grid { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; min-height: 670px; }
.cap-editorial-hero__grid > div { align-self: center; padding: 75px 70px 75px 0; }
.cap-editorial-hero h1 { font-size: clamp(70px, 7.5vw, 126px); }
.cap-editorial-hero__grid > div > p:last-child { color: rgba(255,255,255,.72); font-size: 18px; max-width: 630px; }
.cap-editorial-hero figure { margin: 0; min-width: 0; overflow: hidden; }
.cap-editorial-hero figure > img:not([class]) { height: 100%; object-fit: cover; width: 100%; }
.cap-editorial-product-visual { background: var(--cap-paper); min-height: 670px; position: relative; }
.cap-editorial-product-visual__background { height: 100% !important; inset: 0; object-fit: cover !important; position: absolute; width: 100% !important; }
.cap-editorial-product-visual__title { color: var(--cap-forest); left: 8%; position: absolute; top: 9%; z-index: 3; }
.cap-editorial-product-visual__title b { display: block; font: 700 clamp(52px,5vw,92px)/.9 var(--cap-display); }
.cap-editorial-product-visual__title span { font: 700 clamp(17px,1.5vw,25px) var(--cap-display); }
.cap-editorial-product-visual__rabbit, .cap-editorial-product-visual__pigeon { bottom: 0; height: auto !important; object-fit: contain !important; object-position: bottom !important; position: absolute; width: auto !important; z-index: 2; }
.cap-editorial-product-visual__rabbit { max-height: 57%; right: 29%; transform: rotate(-3deg); }
.cap-editorial-product-visual__pigeon { max-height: 74%; right: 2%; transform: rotate(3deg); }
.cap-manifesto { background: var(--cap-paper); }
.cap-manifesto__grid, .cap-quality-note__grid { align-items: start; display: grid; gap: clamp(55px, 9vw, 150px); grid-template-columns: 1fr .8fr; }
.cap-manifesto h2, .cap-quality-note h2 { font-size: clamp(54px, 6vw, 92px); }
.cap-manifesto__grid > div:last-child, .cap-quality-note__grid > div:last-child { color: var(--cap-muted); font-size: 17px; }
.cap-manifesto .cap-lead { color: var(--cap-forest); font-size: 25px; font-weight: 600; }
.cap-values { background: var(--cap-orange); }
.cap-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.cap-values article { border-left: 1px solid rgba(18,63,45,.25); min-height: 360px; padding: 40px; }
.cap-values article:last-child { border-right: 1px solid rgba(18,63,45,.25); }
.cap-values h2 { font-size: 48px; margin-top: 150px; }
.cap-values p { font-size: 14px; max-width: 320px; }
.cap-brand-image { background: var(--cap-cream); }
.cap-brand-image > .cap-shell { min-height: 650px; overflow: hidden; position: relative; }
.cap-brand-image img { height: 650px; object-fit: cover; width: 100%; }
.cap-brand-image > .cap-shell > div { background: var(--cap-forest); bottom: 0; color: var(--cap-paper); max-width: 660px; padding: clamp(30px, 5vw, 65px); position: absolute; right: 0; }
.cap-brand-image h2 { font-size: clamp(50px, 5vw, 76px); margin-bottom: 30px; }
.cap-quality-steps { background: var(--cap-paper); }
.cap-quality-steps__grid { border-left: 1px solid var(--cap-line); border-top: 1px solid var(--cap-line); display: grid; grid-template-columns: repeat(4, 1fr); }
.cap-quality-steps article { border-bottom: 1px solid var(--cap-line); border-right: 1px solid var(--cap-line); min-height: 330px; padding: 30px; }
.cap-quality-steps h3 { font-size: 32px; margin: 120px 0 14px; }
.cap-quality-steps p { color: var(--cap-muted); font-size: 13px; }
.cap-quality-note { background: var(--cap-forest); color: var(--cap-paper); padding-block: clamp(80px, 8vw, 135px); }
.cap-quality-note__grid > div:last-child { color: rgba(255,255,255,.7); }
.cap-quality-note .cap-text-link { color: #fff; margin-top: 24px; }
.cap-contact { background: var(--cap-paper); }
.cap-contact__grid { display: grid; gap: clamp(55px, 9vw, 140px); grid-template-columns: .8fr 1.2fr; }
.cap-contact__primary { display: flex; flex-direction: column; }
.cap-contact__primary h2 { font-size: 52px; margin-bottom: 28px; }
.cap-contact__primary a { border-bottom: 1px solid var(--cap-line); font: 700 26px var(--cap-display); padding: 12px 0; }
.cap-contact__primary small { color: var(--cap-muted); margin-top: 25px; }
.cap-contact__topics { border-top: 1px solid var(--cap-line); }
.cap-contact__topics article { border-bottom: 1px solid var(--cap-line); display: grid; gap: 18px; grid-template-columns: 35px 230px 1fr; padding: 26px 0; }
.cap-contact__topics h3 { font-size: 29px; }
.cap-contact__topics p { color: var(--cap-muted); font-size: 13px; margin: 0; }

/* Product page: practical guidance and packaging families. */
.cap-use-guide { background: var(--cap-paper); }
.cap-use-guide__grid { border-left: 1px solid var(--cap-line); border-top: 1px solid var(--cap-line); display: grid; grid-template-columns: repeat(4, 1fr); }
.cap-use-guide article { border-bottom: 1px solid var(--cap-line); border-right: 1px solid var(--cap-line); min-height: 245px; padding: 30px; }
.cap-use-guide article span { color: var(--cap-orange); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cap-use-guide article p { color: var(--cap-muted); font-size: 14px; margin-top: 70px; }
.cap-format-guide { background: var(--cap-cream); }
.cap-format-guide__grid { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cap-format-guide article { background: var(--cap-paper); border: 1px solid var(--cap-line); padding: 18px; }
.cap-format-guide article > div { align-items: flex-end; background: #e8dfd4; display: flex; height: 320px; justify-content: center; margin-bottom: 20px; overflow: hidden; padding: 15px 10px 0; }
.cap-format-guide article img { height: 95%; object-fit: contain; object-position: center bottom; width: 100%; }
.cap-format-guide article .cap-eyebrow { margin-bottom: 8px; }
.cap-format-guide h3 { font-size: 35px; }
.cap-format-guide article > p:last-child { color: var(--cap-muted); font-weight: 700; }
.cap-product-faq { background: var(--cap-forest); color: var(--cap-paper); }
.cap-product-faq__grid { display: grid; gap: clamp(60px, 9vw, 150px); grid-template-columns: .65fr 1.35fr; }
.cap-product-faq h2 { font-size: clamp(58px, 6vw, 94px); }
.cap-product-faq details { border-top: 1px solid rgba(255,255,255,.22); padding: 24px 0; }
.cap-product-faq details:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.cap-product-faq summary { cursor: pointer; font: 700 24px var(--cap-display); list-style: none; padding-right: 35px; position: relative; }
.cap-product-faq summary::after { color: var(--cap-orange); content: "+"; position: absolute; right: 4px; }
.cap-product-faq details[open] summary::after { content: "−"; }
.cap-product-faq details p { color: rgba(255,255,255,.67); font-size: 14px; max-width: 740px; }

.cap-footer { background: var(--cap-forest-dark); color: var(--cap-paper); padding-top: 75px; }
.cap-footer__grid { display: grid; gap: 50px; grid-template-columns: 1.5fr repeat(3, 1fr); padding-bottom: 70px; }
.cap-footer__brand img { filter: brightness(0) invert(1); height: 85px; object-fit: contain; object-position: left; width: 220px; }
.cap-footer__brand p { color: rgba(255,255,255,.64); max-width: 380px; }
.cap-footer__grid h2 { font-size: 18px; letter-spacing: 0; margin-bottom: 22px; }
.cap-footer__grid > div:not(.cap-footer__brand) { display: flex; flex-direction: column; gap: 9px; }
.cap-footer__grid a, .cap-footer__grid p { color: rgba(255,255,255,.7); font-size: 13px; }
.cap-footer__bottom { align-items: center; border-top: 1px solid rgba(255,255,255,.16); display: flex; font-size: 11px; gap: 30px; justify-content: space-between; letter-spacing: .06em; min-height: 76px; text-transform: uppercase; }
.cap-footer__bottom > div { display: flex; gap: 22px; }

/* WooCommerce: account, cart and checkout stay native, but visually belong to Capibara. */
.woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .woocommerce ul.products { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--cap-paper); border: 1px solid var(--cap-line); border-top: 4px solid var(--cap-orange); color: var(--cap-ink); margin-bottom: 24px; padding: 18px 20px 18px 50px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--cap-forest); border-radius: 0; color: #fff; font-weight: 700; padding: 15px 19px; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--cap-orange); color: var(--cap-forest); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { background: #fff; border: 1px solid var(--cap-line); border-radius: 0; min-height: 50px; padding: 12px; }
.woocommerce form .form-row label { font-size: 13px; font-weight: 700; }
.woocommerce table.shop_table { border: 1px solid var(--cap-line); border-collapse: collapse; border-radius: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 1px solid var(--cap-line); padding: 16px; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--cap-line); padding: 25px; }
.woocommerce-account .woocommerce { display: grid; gap: 35px; grid-template-columns: 260px 1fr; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li a { background: var(--cap-paper); border: 1px solid var(--cap-line); border-bottom: 0; display: block; font-weight: 700; padding: 14px 16px; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 1px solid var(--cap-line); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--cap-forest); color: #fff; }
.woocommerce-account .u-columns { display: grid; gap: 30px; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { background: #fff; border: 1px solid var(--cap-line); padding: 25px; width: auto !important; }
.cap-account-entry { background: var(--cap-paper); border: 1px solid var(--cap-line); display: grid; grid-column: 1 / -1; grid-template-columns: minmax(390px,.9fr) minmax(0,1.1fr); min-height: 760px; overflow: hidden; }
.cap-account-entry__promo { background: var(--cap-forest-dark); color: var(--cap-paper); min-height: 100%; overflow: hidden; padding: clamp(42px,5vw,76px); position: relative; }
.cap-account-entry__promo::before { border: 1px solid rgba(255,255,255,.16); content: ""; inset: 25px; pointer-events: none; position: absolute; }
.cap-account-entry__copy { max-width: 480px; position: relative; z-index: 3; }
.cap-account-entry__discount { color: var(--cap-orange); display: block; font: 800 clamp(78px,8vw,128px)/.78 var(--cap-display); letter-spacing: -.05em; margin-bottom: 22px; }
.cap-account-entry h1, .cap-account-entry h2 { font-size: clamp(45px,5vw,75px); }
.cap-account-entry h1 em, .cap-account-entry h2 em { color: var(--cap-orange); }
.cap-account-entry__copy > p:not(.cap-eyebrow) { color: rgba(255,255,255,.72); font-size: 17px; max-width: 430px; }
.cap-account-entry__copy ul { display: grid; gap: 9px; list-style: none; margin: 28px 0 270px; padding: 0; }
.cap-account-entry__copy li { font-size: 13px; font-weight: 700; }
.cap-account-entry__copy li::before { color: var(--cap-orange); content: "✦"; margin-right: 11px; }
.cap-account-entry__products { bottom: -35px; height: 330px; left: 8%; pointer-events: none; position: absolute; right: 3%; z-index: 2; }
.cap-account-entry__product { bottom: 0; height: auto; object-fit: contain; object-position: center bottom; position: absolute; width: auto; }
.cap-account-entry__product--small { left: 4%; max-height: 67%; transform: rotate(-7deg); z-index: 2; }
.cap-account-entry__product--large { max-height: 100%; right: 2%; transform: rotate(4deg); }
.cap-account-entry__forms { align-self: center; padding: clamp(42px,5vw,80px); }
.cap-account-entry__heading { margin-bottom: 36px; max-width: 650px; }
.cap-account-entry__heading > p:last-child { color: var(--cap-muted); font-size: 16px; }
.cap-account-entry__forms .u-columns { gap: 18px; }
.cap-account-entry__forms .u-column1, .cap-account-entry__forms .u-column2 { background: var(--cap-cream); padding: 26px; }
.cap-account-entry__forms h2 { font-size: 34px; }
.cap-account-entry__forms form { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.cap-account-entry__forms input:not([type="checkbox"]) { background: #fff; border: 1px solid var(--cap-line); min-height: 50px; padding: 0 13px; }
.cap-account-entry__forms button { min-height: 50px; width: 100%; }

@media (max-width: 1180px) {
    :root { --cap-shell: min(100% - 38px, 1200px); }
    .cap-header__inner { grid-template-columns: 190px 1fr auto; }
    .cap-logo { width: 175px; }
    body.capibara-site .cap-logo img { height: 245px; width: 245px; }
    .cap-nav__list { gap: 22px; }
    .cap-mega-menu { gap: 22px; padding: 28px; width: calc(100vw - 38px); }
    .cap-home-hero__grid, .cap-shop-hero__grid { grid-template-columns: 1fr 46%; }
    .cap-product-grid, .cap-product-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cap-product-card__media { height: 500px; }
    .cap-scale__stage { height: 550px; }
    .cap-format-guide__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .cap-announcement { grid-template-columns: 1fr; }
    .cap-announcement span:not(:first-child) { display: none; }
    .cap-header__inner { grid-template-columns: 1fr auto auto; min-height: 82px; }
    .cap-logo { height: 82px; width: 155px; }
    body.capibara-site .cap-logo img { height: 220px; width: 220px; }
    .cap-nav-toggle { display: grid; }
    .cap-nav { background: var(--cap-paper); border-top: 1px solid var(--cap-line); display: none; left: 0; padding: 24px; position: absolute; right: 0; top: 100%; }
    .cap-nav.is-open { display: block; }
    .cap-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
    .cap-nav__list a { border-bottom: 1px solid var(--cap-line); display: block; font-size: 20px; padding: 15px 0; }
    .cap-nav__list > li > a::after { display: none; }
    .cap-mega-menu { border: 0; box-shadow: none; display: block; opacity: 1; padding: 8px 0 18px; pointer-events: auto; position: static; transform: none; visibility: visible; width: 100%; }
    .cap-mega-menu__intro, .cap-mega-menu__spotlight { display: none; }
    .cap-mega-menu__categories { padding-left: 18px; }
    .cap-mega-menu__categories a { font-size: 15px; grid-template-columns: 26px 1fr auto; min-height: 48px; padding: 6px 0; }
    .cap-mega-menu__categories strong { font-size: 17px; }
    .cap-mega-menu__categories em { font-size: 9px; }
    .cap-icon-link > span:not(.capibara-cart-count) { display: none; }
    .cap-icon-link { padding: 0 12px; }
    .cap-home-hero__grid, .cap-shop-hero__grid { grid-template-columns: 1fr; }
    .cap-home-hero__copy, .cap-shop-hero__copy { padding: 75px 0; }
    .cap-home-hero__visual, .cap-shop-hero__visual { min-height: 600px; }
    .cap-product-scene--doypack { height: 43%; left: 1%; width: 30%; }
    .cap-product-scene--bucket { height: 57%; left: 22%; width: 52%; }
    .cap-product-scene--sack { height: 77%; right: -2%; width: 39%; }
    .cap-brand-visual { aspect-ratio: 1.55 / 1; }
    .cap-editorial-product-visual { min-height: 560px; }
    .cap-category-strip__grid, .cap-shop-categories .cap-shell { grid-template-columns: repeat(3, 1fr); }
    .cap-brand-story__grid { grid-template-columns: 1fr; }
    .cap-brand-story__grid figure { order: -1; }
    .cap-scale__stage { grid-template-columns: repeat(2, 1fr); height: auto; }
    .cap-scale__item { border-bottom: 1px solid var(--cap-line); height: 430px; }
    .cap-scale__item > div { height: 340px; }
    .cap-article-grid { grid-template-columns: 1fr 1fr; }
    .cap-needs__grid, .cap-editorial-hero__grid, .cap-ingredients__grid, .cap-manifesto__grid, .cap-quality-note__grid, .cap-contact__grid, .cap-help-cta__grid, .cap-product-faq__grid { grid-template-columns: 1fr; }
    .cap-need-card { min-height: 470px; }
    .cap-proof__grid, .cap-use-guide__grid, .cap-quality-steps__grid { grid-template-columns: repeat(2, 1fr); }
    .cap-ingredients figure { min-height: 560px; }
    .cap-editorial-hero__grid > div { padding: 75px 0 55px; }
    .cap-editorial-hero figure { min-height: 510px; }
    .cap-values__grid { grid-template-columns: 1fr; }
    .cap-values article { min-height: 260px; }
    .cap-values h2 { margin-top: 95px; }
    .cap-quality-note__grid, .cap-help-cta__grid { gap: 35px; }
    .cap-contact__topics article { grid-template-columns: 35px 200px 1fr; }
    .cap-single-product__main { grid-template-columns: 1fr; }
    .cap-single-product__image { height: 650px; position: relative; top: auto; }
    .cap-single-product__info { position: relative; top: auto; }
    .cap-product-details .cap-shell { grid-template-columns: 1fr; }
    .cap-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .cap-footer__grid > div:last-child { grid-column: 1 / -1; }
    .cap-account-entry { grid-template-columns: 1fr; }
    .cap-account-entry__promo { min-height: 720px; }
    .cap-account-entry__forms { padding: 55px 40px; }
}

@media (max-width: 640px) {
    :root { --cap-shell: calc(100% - 28px); }
    body.capibara-site { font-size: 15px; }
    .cap-section { padding-block: 72px; }
    .cap-home-hero h1, .cap-shop-hero h1 { font-size: clamp(58px, 19vw, 86px); }
    .cap-home-hero__visual, .cap-shop-hero__visual { min-height: 460px; padding-inline: 14px; }
    .cap-product-scene--doypack { bottom: 18px; height: 39%; left: -3%; width: 34%; }
    .cap-product-scene--bucket { bottom: 29px; height: 54%; left: 18%; width: 58%; }
    .cap-product-scene--sack { bottom: 21px; height: 73%; right: -8%; width: 43%; }
    .cap-product-scene figcaption { min-width: 88px; padding: 7px 8px; }
    .cap-product-scene figcaption b { font-size: 19px; }
    .cap-product-scene figcaption span { font-size: 7px; }
    .cap-brand-visual { aspect-ratio: 1 / 1.15; }
    .cap-brand-visual__title { left: 7%; top: 8%; }
    .cap-brand-visual__title b { font-size: 43px; }
    .cap-brand-visual__product--rabbit { max-height: 54%; right: 27%; }
    .cap-brand-visual__product--pigeon { max-height: 68%; right: -5%; }
    .cap-category-strip__grid, .cap-shop-categories .cap-shell { grid-template-columns: 1fr 1fr; }
    .cap-category-strip a, .cap-shop-categories a { min-height: 100px; padding: 17px; }
    .cap-section-heading, .cap-shop-products__top { align-items: start; flex-direction: column; }
    .cap-section-heading h2, .cap-brand-story h2 { font-size: 55px; }
    .cap-scale__stage { grid-template-columns: 1fr 1fr; }
    .cap-scale__item { height: 310px; padding: 12px; }
    .cap-scale__item > div { height: 235px; }
    .cap-scale__item img { height: auto !important; max-height: 92%; max-width: 95% !important; width: var(--package-height) !important; }
    .cap-scale__item strong { font-size: 24px; }
    .cap-product-grid, .cap-product-grid--featured, .cap-product-grid--related, .cap-article-grid { grid-template-columns: 1fr; }
    .cap-needs__grid, .cap-proof__grid, .cap-how__grid, .cap-use-guide__grid, .cap-format-guide__grid, .cap-quality-steps__grid { grid-template-columns: 1fr; }
    .cap-need-card { min-height: 450px; padding: 25px; }
    .cap-need-card > div { max-width: 68%; }
    .cap-need-card img { height: 65%; width: 58%; }
    .cap-need-card > b { left: 25px; right: 25px; }
    .cap-proof__grid > div { border-bottom: 1px solid rgba(255,255,255,.18); border-right: 1px solid rgba(255,255,255,.18); min-height: 150px; padding: 25px; }
    .cap-ingredient-groups { grid-template-columns: 1fr; }
    .cap-ingredient-groups > div:nth-child(odd) { border-right: 0; }
    .cap-ingredient-groups > div:nth-child(even) { padding-left: 0; }
    .cap-analysis { grid-template-columns: 1fr 1fr; row-gap: 25px; }
    .cap-analysis > div:nth-child(2) { border-right: 0; }
    .cap-how__grid > div { min-height: 230px; padding: 25px; }
    .cap-how__grid h3 { margin-top: 65px; }
    .cap-editorial-hero figure { min-height: 360px; }
    .cap-editorial-product-visual { min-height: 470px; }
    .cap-editorial-product-visual__title { left: 7%; top: 7%; }
    .cap-editorial-product-visual__title b { font-size: 49px; }
    .cap-editorial-product-visual__rabbit { max-height: 47%; right: 30%; }
    .cap-editorial-product-visual__pigeon { max-height: 65%; right: -5%; }
    .cap-brand-image > .cap-shell { min-height: auto; width: 100%; }
    .cap-brand-image img { height: 430px; }
    .cap-brand-image > .cap-shell > div { max-width: none; position: static; }
    .cap-contact__topics article { grid-template-columns: 30px 1fr; }
    .cap-contact__topics p { grid-column: 2; }
    .cap-use-guide article { min-height: 200px; padding: 25px; }
    .cap-use-guide article p { margin-top: 45px; }
    .cap-format-guide article > div { height: 390px; }
    .cap-product-faq summary { font-size: 21px; }
    .cap-product-card__media { height: 445px; padding: 30px 22px 18px; }
    .cap-product-card__body { padding: 20px; }
    .cap-single-product__main { padding-block: 30px 70px; }
    .cap-single-product__image { height: 500px; min-height: 0; padding: 28px 18px; }
    .cap-single-product__info h1 { font-size: 61px; }
    .cap-product-details .cap-shell { gap: 35px; }
    .cap-page-content, .cap-article > .cap-prose { margin-block: 30px 70px; padding: 25px 20px; }
    .cap-article__cover { height: auto; margin-top: 0; min-height: 0; padding: 16px; width: 100%; }
    .cap-article__cover img { height: auto !important; max-height: 480px !important; width: auto !important; }
    .cap-footer__grid { grid-template-columns: 1fr 1fr; }
    .cap-footer__brand, .cap-footer__grid > div:last-child { grid-column: 1 / -1; }
    .cap-footer__bottom { align-items: flex-start; flex-direction: column; gap: 12px; padding-block: 20px; }
    .woocommerce-account .woocommerce, .woocommerce-account .u-columns { grid-template-columns: 1fr; }
    .cap-language-menu__toggle { min-width: 68px; padding-inline: 8px; }
    .cap-language-menu__options { position: fixed; right: 14px; top: 125px; }
    .cap-account-entry { border-left: 0; border-right: 0; margin-inline: -14px; min-height: 0; }
    .cap-account-entry__promo { min-height: 640px; padding: 45px 30px; }
    .cap-account-entry__promo::before { inset: 15px; }
    .cap-account-entry__copy ul { margin-bottom: 240px; }
    .cap-account-entry__products { height: 280px; left: 3%; right: 1%; }
    .cap-account-entry__forms { padding: 45px 22px; }
    .cap-account-entry__forms .u-column1, .cap-account-entry__forms .u-column2 { padding: 21px; }
}
