@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --green:#3c9923; --deep:#256a16; --ink:#142211; --muted:#53604e; --line:#dce4d8; --soft:#f3f7f0; --heading:'Manrope',Arial,sans-serif; --body:'DM Sans',Arial,sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:108px; }
body { margin:0; color:var(--ink); background:white; font:400 17px/1.65 var(--body); -webkit-font-smoothing:antialiased; }
body.dialog-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { color:inherit; cursor:pointer; border-radius:0; }
button,a { -webkit-tap-highlight-color:transparent; }
svg { display:inline-block; width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--heading); font-weight:800; }
h2 { font-size:clamp(38px,3.5vw,54px); line-height:1.14; letter-spacing:-.055em; }
h2 span { color:var(--deep); }
::selection { background:#d6f4ca; color:var(--ink); }
:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
.svg-library { position:absolute; width:0; height:0; overflow:hidden; }
.container { width:min(1320px,calc(100% - 96px)); margin-inline:auto; }
.section { padding-block:112px; }
.skip-link { position:fixed; top:12px; left:20px; z-index:100; padding:10px 18px; background:white; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.eyebrow { display:flex; align-items:center; gap:10px; font:800 11px/1.5 var(--heading); letter-spacing:.14em; color:var(--ink); }
.eyebrow.green { color:var(--deep); }
.eyebrow>span { width:7px; height:7px; background:currentColor; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:58px; padding:16px 23px; font-size:14px; line-height:1.5; font-weight:700; border:1px solid transparent; border-radius:4px; transition:background .2s,transform .2s,box-shadow .2s; }
.button svg { width:21px; height:21px; }
.button:hover { transform:translateY(-2px); box-shadow:0 6px 18px #14221112; }
.button-white { background:white; color:var(--ink); }
.button-white:hover { background:#eff8eb; }
.button-green { background:var(--green); color:#10240b; }
.button-green:hover { background:#50ac36; }
.text-link { display:inline-flex; align-items:center; gap:17px; width:fit-content; font-weight:700; font-size:14px; color:var(--deep); padding-bottom:7px; border-bottom:1px solid #b5c6ad; }
.text-link svg { width:21px; height:21px; transition:transform .2s; }
.text-link:hover svg { transform:translateX(5px); }

/* Header */
.utility { padding-block:9px; color:#294022; background:#eff5eb; font-size:10px; font-weight:700; letter-spacing:.1em; }
.utility .container { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.utility a { display:flex; align-items:center; gap:6px; letter-spacing:.03em; }
.utility svg { width:15px; height:15px; }
.site-header { position:sticky; z-index:30; top:0; background:#fffffff5; backdrop-filter:blur(14px); border-bottom:1px solid #e9eee6; }
.header-row { display:flex; align-items:center; justify-content:space-between; min-height:98px; gap:28px; }
.brand { display:inline-flex; align-items:center; flex-shrink:0; gap:11px; }
.logo-window { position:relative; display:block; width:65px; height:65px; overflow:hidden; background:white; }
.logo-window img { width:100px; height:100px; max-width:none; position:absolute; top:-8px; left:-17px; object-fit:contain; }
.wordmark { display:flex; flex-direction:column; font:800 32px/1.05 var(--heading); letter-spacing:-.055em; }
.wordmark small { margin-top:7px; font:800 8px/1.4 var(--heading); letter-spacing:.08em; }
#navigation { display:flex; align-items:center; gap:27px; margin-left:auto; }
#navigation>a { position:relative; padding-block:10px; font-size:13px; font-weight:600; white-space:nowrap; }
#navigation>a::after { content:''; position:absolute; height:2px; left:0; right:100%; bottom:4px; background:var(--green); transition:right .2s; }
#navigation>a:hover::after { right:0; }
.header-contact { display:flex; align-items:center; gap:11px; margin-left:13px; padding-left:27px; border-left:1px solid var(--line); }
.header-contact>svg { width:30px; height:30px; color:var(--deep); }
.header-contact>span { font-size:8px; font-weight:700; letter-spacing:.04em; line-height:1.5; white-space:nowrap; }
.header-contact strong { display:block; font:800 19px/1.5 var(--heading); letter-spacing:-.035em; }
.menu-button { display:none; background:transparent; border:0; width:44px; height:44px; padding:11px 7px; }
.menu-button span { display:block; height:2px; width:28px; margin-block:7px; background:var(--ink); transition:transform .2s; }

/* Green brand hero */
.hero { position:relative; isolation:isolate; min-height:650px; overflow:hidden; background:var(--green); }
.hero-layout { min-height:650px; display:flex; align-items:center; }
.hero-copy { width:53%; padding:64px 32px 65px 0; }
.hero .eyebrow { margin-bottom:24px; font-size:10px; letter-spacing:.13em; }
.hero h1 { position:relative; z-index:1; color:white; font-size:clamp(56px,5.35vw,80px); line-height:1.055; letter-spacing:-.065em; }
.hero h1 span { white-space:nowrap; }
.hero-description { max-width:470px; margin-top:27px; color:#10240b; font-size:17px; line-height:1.65; font-weight:500; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:30px; }
.hero-actions .button { gap:18px; padding-inline:20px; font-size:13px; }
.hero-secondary { display:inline-flex; align-items:center; gap:16px; color:#10240b; font-size:13px; font-weight:700; }
.hero-secondary span { font-size:21px; }
.hero-origin { display:flex; align-items:center; gap:13px; margin-top:37px; font-size:9px; font-weight:700; letter-spacing:.12em; color:#10240b; }
.origin-line { display:block; width:33px; height:1px; background:#16380d; }
.hero-photo { position:absolute; z-index:-1; right:0; top:0; width:48%; height:100%; overflow:hidden; border-top-left-radius:120px; }
.hero-photo>img { width:100%; height:100%; object-fit:cover; object-position:70% center; }
.photo-disclosure { position:absolute; right:17px; top:18px; padding:4px 8px; background:#142211b8; color:white; font-size:9px; line-height:1.5; }
.hero-location { position:absolute; display:flex; align-items:center; gap:14px; bottom:32px; right:max(32px,calc((100vw - 1320px)/2)); width:min(390px,42%); padding:18px 21px; background:white; box-shadow:0 10px 40px #14221114; }
.location-icon { display:grid; place-items:center; width:43px; height:43px; background:#edf5e8; color:var(--deep); }
.location-icon svg { width:26px; height:26px; }
.hero-location small { display:block; font-size:8px; font-weight:700; letter-spacing:.12em; }
.hero-location strong { display:block; margin-top:3px; font:800 14px/1.5 var(--heading); letter-spacing:-.03em; }
.hero-location>span:last-child { margin-left:auto; font-size:23px; }

/* Audiences */
.audience { background:white; border-bottom:1px solid var(--line); }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-block:32px; }
.audience-grid>a { display:flex; align-items:center; gap:17px; padding-inline:34px; border-right:1px solid var(--line); }
.audience-grid>a:first-child { padding-left:0; }
.audience-grid>a:last-child { padding-right:0; border-right:0; }
.audience-icon { display:grid; place-items:center; color:var(--green); }
.audience-icon svg { width:37px; height:37px; stroke-width:1.4; }
.audience-grid strong { display:block; font:800 19px/1.4 var(--heading); letter-spacing:-.04em; }
.audience-grid small { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.5; }
.audience-arrow { width:19px; margin-left:auto; transition:transform .2s; }
.audience-grid a:hover .audience-arrow { transform:translateX(5px); }
.section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:43px; }
.section-top .eyebrow { margin-bottom:18px; }
.section-intro { max-width:345px; padding-bottom:5px; }
.section-intro>p { color:var(--muted); font-size:15px; line-height:1.8; }
.section-intro .text-link { margin-top:18px; }

/* Photographic categories */
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.category-card { position:relative; display:block; isolation:isolate; width:100%; height:436px; padding:0; border:0; overflow:hidden; text-align:left; color:white; background:#21371a; }
.category-card>img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.category-card:first-child>img { object-position:65% center; }
.category-card:nth-child(2)>img { object-position:48% center; }
.category-card:nth-child(3)>img { object-position:52% center; }
.category-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#0c1b1166 0%,#10231208 27%,#101d0e42 48%,#0c1b11e6 100%); }
.category-label { position:absolute; top:27px; left:27px; font-size:10px; font-weight:700; letter-spacing:.12em; }
.category-bottom { position:absolute; left:27px; right:25px; bottom:28px; display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.category-bottom small { display:block; margin-bottom:9px; font-size:9px; font-weight:700; letter-spacing:.12em; }
.category-bottom strong { display:block; font:800 clamp(25px,2.15vw,34px)/1.18 var(--heading); letter-spacing:-.05em; }
.circle-arrow { display:grid; place-items:center; width:39px; height:39px; flex-shrink:0; border:1px solid #ffffffa6; border-radius:50%; transition:color .2s,background .2s,transform .2s; }
.circle-arrow svg { width:19px; height:19px; }
.category-card:hover>img { transform:scale(1.045); }
.category-card:hover .circle-arrow { background:white; color:var(--ink); transform:rotate(-35deg); }
.image-note { margin-top:13px; color:#5b6557; font-size:10px; }
.more-lines { display:flex; flex-wrap:wrap; align-items:center; gap:13px 24px; margin-top:30px; padding-block:20px; border-block:1px solid var(--line); font-size:12px; color:var(--muted); }
.more-lines>strong { color:var(--ink); font-size:13px; margin-right:5px; }
.more-lines>a { margin-left:auto; color:var(--deep); font-weight:700; }
.more-lines>a:hover { text-decoration:underline; text-underline-offset:4px; }

/* Bicarbonax: typography and real uses */
.bicarbonax { display:grid; grid-template-columns:1fr 1.55fr; gap:70px; margin-top:83px; padding-top:55px; border-top:1px solid var(--line); }
.pill { display:inline-block; padding:6px 10px; background:#eaf4e4; color:var(--deep); font-size:9px; font-weight:700; letter-spacing:.11em; }
.bicarbonax h3 { margin-top:21px; font-size:clamp(35px,3.4vw,50px); line-height:1.15; letter-spacing:-.055em; }
.bicarbonax h3 span { display:block; color:var(--deep); }
.bicarbonax-intro>p { margin-top:20px; max-width:340px; color:var(--muted); font-size:14px; line-height:1.8; }
.bicarbonax-options { align-self:start; }
.bicar-option { display:grid; grid-template-columns:36px 1fr 24px; align-items:center; gap:19px; width:100%; padding:20px 0 22px; text-align:left; background:transparent; border:0; border-bottom:1px solid var(--line); transition:padding .2s,background .2s; }
.bicar-option:first-child { padding-top:0; }
.bicar-number { align-self:start; padding-top:7px; color:var(--deep); font:700 12px/1.4 var(--heading); }
.bicar-option>span:nth-child(2) { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:2px 24px; }
.bicar-option small { grid-column:1/-1; font-size:9px; font-weight:700; letter-spacing:.12em; line-height:1.6; }
.bicar-option strong { display:block; white-space:nowrap; font:800 clamp(30px,3vw,44px)/1.2 var(--heading); letter-spacing:-.055em; }
.bicar-option>span:nth-child(2)>span { padding-bottom:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.bicar-option>svg { width:22px; height:22px; color:var(--deep); }
.bicar-option:hover { padding-left:10px; padding-right:10px; background:#f4f8f1; }
.n7 strong { color:#286c15; }.ultra strong { color:#273f95; }.rudo strong { color:#80382e; }

/* Supply */
.business { background:var(--soft); }
.business .section-top { gap:55px; margin-bottom:48px; }
.business h2 { font-size:clamp(36px,3.3vw,50px); }
.business-heading-note { max-width:285px; padding-bottom:5px; color:var(--muted); font-size:14px; line-height:1.8; }
.business-grid { display:grid; grid-template-columns:1.04fr 1fr; gap:70px; align-items:start; }
.customer-photo { position:relative; aspect-ratio:1.65; overflow:hidden; background:#dfe7db; border-bottom-left-radius:70px; }
.customer-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.customer-photo figcaption { position:absolute; bottom:22px; left:32px; display:flex; align-items:center; gap:8px; padding:7px 11px; background:#142211db; color:white; font-size:8px; font-weight:700; letter-spacing:.1em; }
.live-dot { display:block; width:6px; height:6px; border-radius:50%; background:#75d550; }
.supply-row { display:grid; grid-template-columns:24px 1fr 32px; align-items:start; gap:16px; padding-block:23px; border-top:1px solid #ccd8c5; }
.supply-row:first-child { padding-top:0; border-top:0; }
.supply-row>span { padding-top:7px; color:var(--deep); font:700 11px/1.5 var(--heading); }
.supply-row h3 { font-size:22px; line-height:1.4; letter-spacing:-.04em; }
.supply-row p { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.8; }
.supply-row button { width:32px; height:32px; padding:0; border:1px solid #becdb6; color:var(--deep); background:transparent; font-size:22px; line-height:1; transition:background .2s; }
.supply-row button:hover { background:white; }
.supply-list>.button { margin-top:15px; width:100%; justify-content:space-between; font-size:13px; }

/* History */
.history { background:var(--green); }
.history-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; align-items:center; }
.history-year { padding-top:8px; }
.history-year>span { font:800 10px/1.5 var(--heading); letter-spacing:.15em; }
.history-year>strong { display:block; margin-top:20px; color:white; font:800 clamp(110px,13vw,190px)/.98 var(--heading); letter-spacing:-.09em; }
.history-year strong span { display:block; margin-top:17px; padding-left:8px; color:var(--ink); font:800 10px/1.6 var(--heading); letter-spacing:.16em; }
.history-line { height:1px; max-width:430px; margin-top:43px; background:#15350b59; }
.history-year>p { margin-top:24px; font:700 21px/1.5 var(--heading); letter-spacing:-.04em; }
.history-text .eyebrow { margin-bottom:20px; }
.history-text h2 { margin-bottom:27px; color:white; font-size:clamp(36px,3.7vw,54px); }
.history-text>p:not(.eyebrow) { margin-top:17px; font-size:14px; color:#10240b; line-height:1.8; }
.history-text>p.history-lead { margin-top:0; font-size:18px; font-weight:600; line-height:1.65; }
.history-text .button { margin-top:29px; }

/* Secondary services */
.entrepreneur-heading { max-width:800px; }
.entrepreneur-heading h2 { margin-top:18px; }
.entrepreneur-heading>p:last-child { margin-top:24px; max-width:620px; color:var(--muted); font-size:15px; line-height:1.8; }
.entrepreneur-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:47px; }
.entrepreneur-grid>a { display:flex; flex-direction:column; align-items:flex-start; padding-top:24px; border-top:3px solid var(--green); transition:transform .2s; }
.entrepreneur-grid>a:hover { transform:translateY(-4px); }
.service-no { color:var(--deep); font-size:9px; line-height:1.5; font-weight:700; letter-spacing:.12em; }
.entrepreneur-grid h3 { margin-top:19px; font-size:23px; line-height:1.35; letter-spacing:-.04em; }
.entrepreneur-grid p { margin-top:13px; margin-bottom:25px; max-width:320px; color:var(--muted); font-size:13px; line-height:1.8; }
.service-link { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; margin-top:auto; font-size:12px; font-weight:700; }
.service-link svg { width:20px; height:20px; color:var(--deep); }

/* Location */
.location { background:var(--soft); }
.location-grid { display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:86px; }
.location-copy .eyebrow { margin-bottom:19px; }
.location-copy h2 { font-size:clamp(36px,3.2vw,48px); }
.location-copy>p:not(.eyebrow) { max-width:410px; margin-top:24px; color:var(--muted); font-size:14px; line-height:1.8; }
.address-box { display:flex; gap:18px; margin-top:31px; }
.address-box>svg { width:28px; height:28px; margin-top:3px; color:var(--deep); }
.address-box small { display:block; font-size:9px; font-weight:700; letter-spacing:.12em; }
.address-box address { margin-top:9px; font-size:15px; font-style:normal; font-weight:500; line-height:1.75; }
.location-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.location-actions .button { font-size:13px; gap:32px; }
.location-actions .text-link { font-size:12px; gap:12px; }
.map-frame { position:relative; height:490px; background:#dae5d4; overflow:hidden; }
.map-frame iframe { display:block; width:100%; height:100%; border:0; }
.map-label { position:absolute; bottom:22px; left:22px; right:22px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:19px 23px; background:white; box-shadow:0 4px 20px #14221112; }
.map-label>span:first-child { font-size:8px; font-weight:700; letter-spacing:.08em; }
.map-label strong { display:block; margin-top:3px; font:800 21px/1.4 var(--heading); letter-spacing:-.04em; }
.map-label>span:last-child { font-size:25px; color:var(--deep); }

/* Contact and footer */
.contact { padding-block:75px; background:var(--green); }
.contact-grid { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:70px; }
.contact .eyebrow { margin-bottom:19px; font-size:9px; }
.contact h2 { color:white; font-size:clamp(37px,3.6vw,56px); }
.contact h2 span { color:var(--ink); }
.contact-action { display:flex; flex-direction:column; align-items:flex-end; }
.phone { display:flex; align-items:center; gap:24px; color:white; font:800 clamp(30px,3vw,45px)/1.3 var(--heading); letter-spacing:-.05em; }
.phone>span { font-size:.75em; }
.contact-action .button { margin-top:23px; gap:19px; min-width:340px; font-size:13px; }
.contact-action .button>svg:first-child { width:24px; height:24px; }
.contact-action .button>svg:last-child { margin-left:auto; }
.contact-action>small { margin-top:13px; color:#10240b; font-size:10px; font-weight:600; }
footer { padding-top:55px; background:white; }
.footer-main { display:grid; grid-template-columns:1.2fr 1fr 1fr 40px; align-items:start; gap:55px; padding-bottom:49px; }
.footer-main>p { padding-top:7px; font:700 17px/1.5 var(--heading); letter-spacing:-.03em; }
.footer-main>div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-top:5px; font-size:12px; }
.footer-main>div>a:hover { color:var(--deep); }
.back-top { display:grid; place-items:center; width:40px; height:40px; margin-top:5px; border:1px solid var(--line); color:var(--deep); font-size:23px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:23px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; }
.floating-whatsapp { position:fixed; z-index:40; display:inline-flex; align-items:center; gap:9px; right:24px; bottom:24px; padding:13px 18px; border:1px solid #ffffff9c; border-radius:4px; background:var(--green); box-shadow:0 5px 25px #14221124; color:#10240b; font-size:12px; font-weight:700; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .25s,transform .25s,visibility .25s,background .2s; }
.floating-whatsapp svg { width:25px; height:25px; }
.floating-whatsapp.show { opacity:1; visibility:visible; transform:translateY(0); }
.floating-whatsapp:hover { background:#59b13c; }

/* Accessible native dialog */
.product-dialog { position:fixed; inset:0; width:min(600px,calc(100% - 40px)); max-height:min(90vh,800px); margin:auto; padding:47px; overflow:auto; border:0; border-top:6px solid var(--green); color:var(--ink); background:white; box-shadow:0 20px 100px #0004; }
.product-dialog::backdrop { background:#101e0bd9; backdrop-filter:blur(5px); }
.dialog-close { position:absolute; display:grid; place-items:center; right:15px; top:14px; width:35px; height:35px; padding:0; border:0; background:var(--soft); color:var(--ink); font-size:18px; }
.dialog-close:hover { background:#e0ebd9; }
.dialog-eyebrow { margin-top:3px; color:var(--deep); font-size:9px; font-weight:700; letter-spacing:.12em; }
.product-dialog h2 { margin-top:23px; padding-right:10px; font-size:39px; line-height:1.15; }
.product-dialog #dialog-description { margin-top:21px; color:var(--muted); font-size:15px; line-height:1.8; }
.product-dialog ul { margin:24px 0; padding-left:19px; }
.product-dialog li { padding-left:4px; margin-block:9px; font-size:14px; }
.product-dialog li::marker { color:var(--deep); }
.dialog-note { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.8; }
.product-dialog .button { margin-top:24px; width:100%; justify-content:space-between; }

@media (min-width:1600px) {
  .hero-copy { padding-right:62px; }
  .hero-photo { width:calc(50% - 45px); }
}
@media (max-width:1200px) and (min-width:1001px) {
  .header-row { gap:19px; } #navigation { gap:18px; }
  .header-contact { margin-left:0; padding-left:19px; } .header-contact strong { font-size:16px; }
  .hero h1 { font-size:60px; } .hero-copy { padding-right:27px; }
  .hero-actions { gap:18px; } .hero-secondary { font-size:12px; } .hero-origin { margin-top:27px; }
  .audience-grid>a { padding-inline:22px; gap:12px; } .audience-grid strong { font-size:17px; } .audience-grid small { font-size:11px; }
  .business-grid,.bicarbonax { gap:45px; } .history-grid { gap:65px; } .location-grid { gap:50px; } .footer-main { gap:35px; }
}

@media (max-width:1000px) {
  html { scroll-padding-top:90px; }
  .container { width:calc(100% - 64px); } .section { padding-block:86px; } .utility { font-size:8px; }
  .header-row { position:relative; min-height:85px; gap:20px; }
  .logo-window { width:57px; height:57px; } .logo-window img { width:90px; height:90px; top:-7px; left:-16px; }
  .wordmark { font-size:29px; } .wordmark small { font-size:7px; }
  .header-contact { margin-left:auto; padding-left:0; border:0; } .header-contact strong { font-size:17px; } .header-contact>span { font-size:7px; } .header-contact>svg { width:27px; height:27px; }
  .menu-button { display:block; order:3; }
  #navigation { position:absolute; display:none; left:-32px; right:-32px; top:85px; padding:20px 32px 28px; border-bottom:1px solid var(--line); background:white; box-shadow:0 15px 20px #1422110d; }
  #navigation.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  #navigation>a { padding-block:14px; font-size:16px; } #navigation>a::after { display:none; }
  .menu-button[aria-expanded='true'] span:first-child { transform:translateY(4.5px) rotate(45deg); } .menu-button[aria-expanded='true'] span:last-child { transform:translateY(-4.5px) rotate(-45deg); }
  .hero { display:flex; flex-direction:column; min-height:0; }
  .hero-layout { order:1; min-height:0; } .hero-copy { width:100%; max-width:760px; padding:68px 0 57px; }
  .hero h1 { font-size:clamp(62px,8.4vw,82px); line-height:1.04; } .hero-description { max-width:560px; font-size:18px; }
  .hero .eyebrow { margin-bottom:23px; } .hero-actions { margin-top:29px; } .hero-actions .button { font-size:14px; padding-inline:24px; } .hero-origin { margin-top:33px; }
  .hero-photo { position:relative; order:2; z-index:-1; width:calc(100% - 32px); height:440px; margin-left:32px; border-top-left-radius:100px; }
  .hero-photo>img { object-position:center 49%; } .hero-location { bottom:26px; right:32px; width:390px; }
  .audience-grid { padding-block:27px; } .audience-grid>a { align-items:flex-start; padding-inline:22px; gap:12px; }
  .audience-icon svg { width:29px; height:29px; } .audience-grid strong { font-size:16px; } .audience-grid small { max-width:155px; font-size:11px; } .audience-arrow { display:none; }
  .section-top { gap:40px; margin-bottom:35px; } .section-intro { max-width:295px; } h2 { font-size:43px; }
  .category-grid { gap:17px; } .category-card { height:365px; } .category-label { top:20px; left:20px; font-size:8px; }
  .category-bottom { left:20px; right:18px; bottom:22px; } .category-bottom small { font-size:8px; } .category-bottom strong { font-size:25px; }
  .circle-arrow { width:30px; height:30px; } .circle-arrow svg { width:16px; height:16px; }
  .bicarbonax { grid-template-columns:.85fr 1.4fr; gap:35px; margin-top:64px; padding-top:45px; } .bicarbonax h3 { font-size:39px; }
  .bicar-option { grid-template-columns:23px 1fr 19px; gap:13px; } .bicar-option>span:nth-child(2) { gap:3px 13px; } .bicar-option strong { font-size:33px; } .bicar-option>span:nth-child(2)>span { font-size:11px; }
  .business .section-top { display:block; } .business h2 { font-size:44px; } .business-heading-note { max-width:560px; margin-top:22px; }
  .business-grid { gap:35px; grid-template-columns:1fr 1.05fr; } .customer-photo { border-bottom-left-radius:45px; } .customer-photo figcaption { left:17px; bottom:17px; font-size:7px; }
  .supply-row { gap:11px; grid-template-columns:20px 1fr 27px; padding-block:20px; } .supply-row h3 { font-size:20px; } .supply-row p { font-size:12px; } .supply-row button { width:27px; height:27px; font-size:19px; }
  .supply-list>.button { padding:15px; font-size:11px; gap:12px; }
  .history-grid { gap:55px; } .history-year>strong { font-size:132px; } .history-year>p { font-size:18px; } .history-text h2 { font-size:40px; } .history-text>p.history-lead { font-size:16px; } .history-text>p:not(.eyebrow) { font-size:13px; }
  .entrepreneur-grid { gap:30px; } .entrepreneur-grid h3 { font-size:20px; } .entrepreneur-grid p { font-size:12px; }
  .location-grid { gap:35px; grid-template-columns:1fr 1fr; } .location-copy h2 { font-size:39px; } .location-copy>p:not(.eyebrow) { font-size:13px; }
  .address-box { gap:12px; } .address-box address { font-size:13px; } .map-frame { height:470px; }
  .map-label { padding:16px; left:15px; right:15px; bottom:15px; } .map-label>span:first-child { font-size:6px; } .map-label strong { font-size:18px; } .location-actions { gap:18px; }
  .contact { padding-block:60px; } .contact-grid { grid-template-columns:1fr 1fr; gap:35px; } .contact h2 { font-size:38px; }
  .phone { font-size:33px; gap:18px; } .contact-action .button { min-width:300px; padding-inline:18px; font-size:11px; gap:12px; }
  .footer-main { grid-template-columns:1.2fr 1fr 1fr 30px; gap:30px; } .footer-main>p { font-size:14px; } .back-top { width:32px; height:32px; }
}

@media (max-width:760px) {
  html { scroll-padding-top:79px; } body { font-size:16px; } .container { width:calc(100% - 48px); } .section { padding-block:68px; }
  .utility { padding-block:8px; } .utility .container { justify-content:center; } .utility .container>span { display:none; } .utility a { font-size:9px; }
  .header-row { min-height:78px; gap:15px; } .brand { gap:7px; } .logo-window { width:52px; height:52px; } .logo-window img { width:82px; height:82px; top:-7px; left:-14px; }
  .wordmark { font-size:27px; } .wordmark small { font-size:6px; margin-top:5px; } .header-contact>span { display:none; } .header-contact>svg { width:28px; height:28px; }
  #navigation { top:78px; left:-24px; right:-24px; padding-inline:24px; } .menu-button { width:37px; padding-inline:4px; }
  .hero-copy { padding:51px 0 43px; } .hero .eyebrow { font-size:8px; margin-bottom:22px; gap:8px; }
  .hero h1 { font-size:clamp(49px,9.5vw,68px); letter-spacing:-.065em; } .hero-description { margin-top:24px; max-width:520px; font-size:16px; line-height:1.7; }
  .hero-actions { gap:21px; margin-top:26px; } .hero-actions .button { min-height:55px; font-size:12px; padding-inline:19px; } .hero-secondary { font-size:12px; gap:10px; }
  .hero-origin { margin-top:29px; font-size:8px; letter-spacing:.1em; }
  .hero-photo { width:calc(100% - 24px); margin-left:24px; height:360px; border-top-left-radius:80px; } .photo-disclosure { font-size:8px; top:14px; right:14px; }
  .hero-location { bottom:19px; right:24px; width:min(360px,calc(100% - 72px)); padding:15px; gap:12px; } .location-icon { width:37px; height:37px; } .location-icon svg { width:23px; height:23px; }
  .hero-location strong { font-size:12px; } .hero-location small { font-size:7px; }
  .audience-grid { grid-template-columns:1fr; padding-block:5px; } .audience-grid>a { align-items:center; gap:17px; padding:20px 0; border-right:0; border-bottom:1px solid var(--line); } .audience-grid>a:last-child { border-bottom:0; }
  .audience-icon { width:35px; } .audience-icon svg { width:32px; height:32px; } .audience-grid strong { font-size:18px; } .audience-grid small { max-width:none; margin-top:3px; font-size:12px; } .audience-arrow { display:block; }
  .eyebrow { font-size:9px; } h2 { font-size:clamp(35px,6.6vw,44px); line-height:1.17; } .section-top { display:block; margin-bottom:31px; } .section-top .eyebrow { margin-bottom:15px; }
  .section-intro { max-width:530px; margin-top:24px; padding:0; } .section-intro>p { font-size:14px; } .section-intro .text-link { margin-top:16px; font-size:13px; }
  .category-grid { grid-template-columns:1fr; gap:20px; } .category-card { height:410px; } .category-card>img { object-position:center 47%; }
  .category-card:first-child>img { object-position:center 50%; } .category-card:nth-child(2)>img { object-position:center 46%; } .category-card:nth-child(3)>img { object-position:center 54%; }
  .category-label { top:25px; left:25px; font-size:9px; } .category-bottom { left:25px; right:25px; bottom:26px; } .category-bottom strong { font-size:35px; } .category-bottom small { font-size:9px; }
  .circle-arrow { width:42px; height:42px; } .circle-arrow svg { width:21px; height:21px; } .image-note { font-size:9px; }
  .bicarbonax { display:block; margin-top:49px; padding-top:36px; } .bicarbonax h3 { margin-top:17px; font-size:44px; } .bicarbonax h3 span { display:inline; margin-left:9px; }
  .bicarbonax-intro>p { max-width:500px; margin-top:17px; font-size:14px; } .bicarbonax-options { margin-top:31px; }
  .bicar-option { grid-template-columns:26px 1fr 23px; gap:14px; padding-block:23px; } .bicar-option>span:nth-child(2) { grid-template-columns:1.2fr 1fr; gap:3px 21px; } .bicar-option strong { font-size:39px; } .bicar-option small { font-size:8px; } .bicar-option>span:nth-child(2)>span { font-size:11px; }
  .business h2 { font-size:clamp(33px,6.4vw,43px); } .business .section-top { margin-bottom:30px; } .business-heading-note { margin-top:22px; font-size:14px; }
  .business-grid { grid-template-columns:1fr; gap:35px; } .customer-photo { width:100%; aspect-ratio:1.65; border-bottom-left-radius:55px; } .customer-photo figcaption { left:23px; bottom:19px; font-size:8px; }
  .supply-row { grid-template-columns:23px 1fr 32px; gap:13px; padding-block:24px; } .supply-row h3 { font-size:22px; } .supply-row p { font-size:13px; line-height:1.8; } .supply-row button { width:32px; height:32px; font-size:22px; } .supply-list>.button { min-height:57px; padding-inline:19px; font-size:12px; }
  .history-grid { grid-template-columns:1fr; gap:49px; } .history-year { padding-top:0; } .history-year>span { font-size:9px; } .history-year>strong { font-size:clamp(135px,29vw,205px); margin-top:17px; } .history-year strong span { padding-left:6px; font-size:9px; margin-top:12px; }
  .history-line { margin-top:30px; max-width:none; } .history-year>p { margin-top:20px; font-size:19px; } .history-text h2 { margin-bottom:25px; font-size:43px; } .history-text>p.history-lead { font-size:17px; } .history-text>p:not(.eyebrow) { font-size:14px; } .history-text .button { font-size:13px; margin-top:26px; }
  .entrepreneur-heading h2 { margin-top:15px; } .entrepreneur-heading>p:last-child { margin-top:21px; font-size:14px; } .entrepreneur-grid { grid-template-columns:1fr; gap:30px; margin-top:35px; }
  .entrepreneur-grid>a { padding-top:22px; } .entrepreneur-grid h3 { margin-top:14px; font-size:24px; } .entrepreneur-grid p { max-width:none; margin-top:10px; margin-bottom:21px; font-size:13px; } .service-link { font-size:12px; }
  .location-grid { grid-template-columns:1fr; gap:39px; } .location-copy h2 { font-size:40px; } .location-copy>p:not(.eyebrow) { max-width:500px; margin-top:21px; font-size:14px; }
  .address-box { gap:16px; margin-top:28px; } .address-box address { font-size:14px; } .location-actions { gap:23px; margin-top:28px; }
  .map-frame { height:400px; } .map-label { left:18px; right:18px; bottom:18px; padding:17px 20px; } .map-label>span:first-child { font-size:7px; } .map-label strong { font-size:22px; }
  .contact { padding-block:57px; } .contact-grid { grid-template-columns:1fr; gap:30px; } .contact h2 { font-size:clamp(36px,7.7vw,49px); } .contact-action { align-items:flex-start; }
  .phone { font-size:clamp(34px,7vw,42px); gap:23px; } .contact-action .button { min-width:min(340px,100%); font-size:12px; gap:19px; } .contact-action>small { margin-top:12px; font-size:9px; }
  footer { padding-top:42px; } .footer-main { position:relative; grid-template-columns:1fr 1fr; gap:29px 25px; padding-bottom:35px; } .footer-main>.brand { grid-column:1/-1; } .footer-main>p { padding-top:0; font-size:15px; } .footer-main>div { padding-top:0; font-size:11px; }
  .back-top { position:absolute; top:9px; right:0; margin-top:0; } .footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; padding-block:22px; font-size:8px; }
  .floating-whatsapp { right:17px; bottom:17px; gap:8px; padding:11px 14px; font-size:11px; } .floating-whatsapp svg { width:23px; height:23px; }
  .product-dialog { padding:39px 29px 30px; width:min(550px,calc(100% - 32px)); max-height:88vh; } .product-dialog h2 { font-size:35px; } .product-dialog #dialog-description { font-size:14px; } .product-dialog .button { font-size:12px; padding-inline:18px; }
}

@media (max-width:480px) {
  .container { width:calc(100% - 40px); } .section { padding-block:58px; } .header-row { min-height:74px; } #navigation { top:74px; left:-20px; right:-20px; padding-inline:20px; } .wordmark { font-size:26px; }
  .hero-copy { padding-top:43px; padding-bottom:34px; } .hero .eyebrow { font-size:7px; letter-spacing:.12em; } .hero h1 { font-size:clamp(34px,11.05vw,53px); line-height:1.08; }
  .hero-description { font-size:15px; margin-top:22px; } .hero-actions { flex-direction:column; align-items:flex-start; gap:15px; } .hero-actions .button { min-height:54px; gap:25px; font-size:12px; } .hero-secondary { gap:12px; }
  .hero-origin { margin-top:24px; font-size:7px; gap:10px; } .origin-line { width:25px; }
  .hero-photo { margin-left:20px; width:calc(100% - 20px); height:300px; border-top-left-radius:65px; } .hero-photo>img { object-position:55% center; }
  .hero-location { right:20px; bottom:17px; width:calc(100% - 60px); padding:13px 14px; gap:10px; } .hero-location strong { font-size:11px; } .hero-location>span:last-child { font-size:20px; } .location-icon { width:33px; height:37px; } .photo-disclosure { top:12px; right:12px; font-size:7px; }
  .audience-grid>a { padding-block:18px; } .audience-grid strong { font-size:17px; } .audience-grid small { font-size:11px; } .eyebrow { font-size:8px; letter-spacing:.1em; } h2 { font-size:36px; }
  .category-card { height:385px; } .category-label { left:22px; top:23px; } .category-bottom { left:22px; right:21px; bottom:25px; } .category-bottom strong { font-size:33px; } .circle-arrow { width:37px; height:37px; }
  .bicarbonax h3 { font-size:36px; } .bicarbonax h3 span { margin-left:6px; } .bicarbonax-intro>p { font-size:13px; }
  .bicar-option { grid-template-columns:21px 1fr 20px; gap:12px; } .bicar-option>span:nth-child(2) { grid-template-columns:1fr; gap:2px; } .bicar-option strong { font-size:39px; } .bicar-option>span:nth-child(2)>span { padding-top:3px; padding-bottom:0; font-size:11px; }
  .business h2 { font-size:33px; } .business-heading-note { font-size:13px; } .customer-photo { border-bottom-left-radius:38px; } .customer-photo figcaption { left:17px; bottom:15px; font-size:6px; padding:5px 8px; }
  .supply-row { grid-template-columns:19px 1fr 28px; gap:10px; } .supply-row h3 { font-size:21px; } .supply-row p { font-size:12px; } .supply-row button { width:28px; height:28px; font-size:20px; } .supply-list>.button { font-size:11px; }
  .history-year>strong { font-size:clamp(115px,32vw,150px); } .history-year strong span { font-size:8px; } .history-year>p { font-size:18px; } .history-text h2 { font-size:38px; } .history-text>p.history-lead { font-size:16px; } .history-text>p:not(.eyebrow) { font-size:13px; }
  .location-copy h2 { font-size:36px; } .location-actions { gap:19px; } .location-actions .button { gap:22px; padding-inline:18px; font-size:12px; } .location-actions .text-link { font-size:11px; gap:7px; }
  .map-frame { height:365px; } .map-label { left:14px; right:14px; bottom:14px; padding:16px; } .map-label strong { font-size:20px; } .map-label>span:first-child { font-size:6px; }
  .contact h2 { font-size:35px; } .contact .eyebrow { font-size:7px; } .phone { font-size:clamp(29px,8.5vw,35px); gap:18px; } .contact-action .button { min-width:100%; padding-inline:17px; font-size:11px; gap:13px; }
  .more-lines { gap:10px 17px; font-size:11px; } .more-lines>strong { flex-basis:100%; font-size:12px; } .more-lines>a { margin-left:0; flex-basis:100%; padding-top:3px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:26px 18px; } .footer-main>p { font-size:13px; } .footer-main>div { font-size:10px; gap:7px; }
  .floating-whatsapp { right:14px; bottom:14px; padding:12px; } .floating-whatsapp>span { display:none; } .floating-whatsapp svg { width:25px; height:25px; }
  .product-dialog { padding:38px 23px 25px; } .dialog-eyebrow { font-size:8px; } .product-dialog h2 { margin-top:21px; font-size:31px; } .product-dialog #dialog-description { font-size:13px; } .product-dialog li { font-size:12px; } .dialog-note { font-size:11px; } .product-dialog .button { gap:12px; font-size:11px; padding-inline:16px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .category-card:hover>img,.category-card:hover .circle-arrow,.button:hover,.entrepreneur-grid>a:hover,.text-link:hover svg,.audience-grid a:hover .audience-arrow { transform:none; }
}
/* Keep the supplier / home photograph visible in tablet-sized review panels. */
@media (min-width:761px) and (max-width:1000px){
 .hero{display:block;min-height:585px}.hero-layout{min-height:585px}.hero-copy{width:55%;max-width:none;padding:54px 26px 48px 0}.hero h1{font-size:clamp(43px,5.6vw,56px);line-height:1.08}.hero-description{font-size:15px;max-width:390px;margin-top:24px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:24px}.hero-actions .button{font-size:12px;padding-inline:17px;gap:15px}.hero-origin{font-size:8px;margin-top:29px}.hero-photo{position:absolute;order:initial;top:0;right:0;width:44%;height:100%;margin:0;border-top-left-radius:90px}.hero-photo>img{object-position:70% center}.hero-location{width:37%;bottom:24px;right:24px;padding:14px;gap:11px}.hero-location strong{font-size:11px}.hero-location small{font-size:7px}.location-icon{width:32px;height:35px}.location-icon svg{width:22px;height:22px}
}
/* A little more room between headline letters; compact contact control on smaller screens. */
h1,h2{letter-spacing:-.045em}.hero h1{letter-spacing:-.045em}
/* Kits for prospective resellers */
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}.kit-card{padding:42px;background:#f3f8ef;border:1px solid #d6e6cd;display:flex;flex-direction:column;align-items:flex-start}.kit-label{font-size:9px;font-weight:800;letter-spacing:.13em;color:var(--deep)}.kit-card h3{font-size:28px;margin-top:22px;letter-spacing:-.04em}.kit-price{display:flex;align-items:baseline;gap:12px;margin-top:18px;line-height:1.1}.kit-price strong{font:800 clamp(48px,4.4vw,66px)/1.15 var(--heading);letter-spacing:-.05em}.kit-price span{font-size:13px;font-weight:700}.kit-description{max-width:440px;color:var(--muted);font-size:15px;margin-top:22px;margin-bottom:30px;line-height:1.8}.kit-card .button{margin-top:auto;min-width:275px;justify-content:space-between}.kit-card-featured{background:var(--green);border-color:var(--green)}.kit-card-featured .kit-label,.kit-card-featured .kit-description{color:#10240b}.kit-help{display:flex;align-items:baseline;gap:35px;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.kit-help>span{font-size:14px;font-weight:800;flex:none}.kit-help p{font-size:13px;color:var(--muted);max-width:730px;line-height:1.8}
@media(max-width:1000px){.kit-card{padding:30px}.kit-card h3{font-size:25px}.kit-description{font-size:14px}.kit-card .button{min-width:0;width:100%;font-size:12px;gap:12px}.kit-help{gap:25px}}
@media(max-width:760px){.kit-grid{grid-template-columns:1fr;gap:22px;margin-top:32px}.kit-card{padding:30px}.kit-card h3{font-size:28px}.kit-price strong{font-size:57px}.kit-description{font-size:14px;max-width:none}.kit-help{display:block}.kit-help p{margin-top:10px}}
@media(max-width:380px){.kit-card{padding:24px}.kit-card h3{font-size:25px}.kit-price strong{font-size:50px}.kit-label{font-size:8px}.kit-card .button{font-size:11px}}
@media(max-width:1000px){.floating-whatsapp{width:52px;height:52px;padding:0;border-radius:50%;justify-content:center}.floating-whatsapp>span{display:none}}
/* Keep the handoff and both people visible across the opening image crops. */
.hero-supplier .hero-photo>img{object-position:center 38%}
@media(max-width:760px){.hero-supplier .hero-photo{height:440px}.hero-supplier .hero-photo>img{object-position:center 35%}}
@media(max-width:480px){.hero-supplier .hero-photo{height:440px}.hero-supplier .hero-photo>img{object-position:center 35%}}
