:root {
  --red: #e51e2a;
  --red-dark: #a90d18;
  --ink: #251919;
  --muted: #6f6060;
  --cream: #fff8f3;
  --paper: #fffdfb;
  --line: #eadfda;
  --yellow: #f6c52c;
  --green: #168b52;
  --shadow: 0 22px 60px rgba(72, 25, 22, .12);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Manrope, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body, input, select, button { font: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button { cursor: pointer; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 18px; top: -60px; z-index: 100; background: #fff; color: var(--red); padding: 12px 16px; border-radius: 10px; box-shadow: var(--shadow); }
.skip-link:focus { top: 18px; }
.stage-ribbon { background: #251919; color: #fff; text-align: center; padding: 7px 16px; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 251, .94); border-bottom: 1px solid rgba(234, 223, 218, .75); backdrop-filter: blur(18px); transition: box-shadow .2s; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(65, 24, 21, .08); }
.nav-shell { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.brand { display: grid; grid-template-columns: 35px auto; grid-template-rows: 27px 12px; align-items: center; flex: 0 0 auto; }
.brand-sun { grid-row: 1 / 3; width: 29px; height: 29px; border: 8px solid var(--yellow); border-radius: 50%; position: relative; }
.brand-sun:after { content: ""; position: absolute; inset: -13px; border: 3px dotted var(--yellow); border-radius: 50%; }
.brand strong { color: var(--red); font: 900 27px/1 Nunito, sans-serif; letter-spacing: -.06em; }
.brand small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.header-search { margin-left: auto; width: min(260px, 24vw); position: relative; }
.header-search input { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 99px; padding: 10px 42px 10px 16px; color: var(--ink); font-size: 11px; outline: none; }
.header-search input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(229, 30, 42, .1); }
.header-search button { position: absolute; right: 4px; top: 4px; width: 33px; height: 33px; border: 0; border-radius: 50%; color: var(--red); background: var(--cream); font-size: 19px; }
.main-menu { display: flex; align-items: center; gap: 22px; }
.main-menu a { font-size: 11px; font-weight: 800; white-space: nowrap; }
.main-menu a:hover { color: var(--red); }
.main-menu .menu-cta { color: #fff; background: var(--red); padding: 12px 16px; border-radius: 99px; box-shadow: 0 7px 18px rgba(229, 30, 42, .22); }
.main-menu .menu-cta:hover { color: #fff; background: var(--red-dark); }
.menu-toggle { display: none; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--cream); padding: 11px; }
.menu-toggle span { height: 2px; background: var(--ink); display: block; margin: 4px 0; transition: .2s; }

.hero { position: relative; background: var(--cream); overflow: hidden; }
.hero:before { content: ""; position: absolute; width: 440px; height: 440px; border: 90px solid rgba(255, 255, 255, .55); border-radius: 50%; right: -210px; top: -220px; }
.hero-track { display: grid; }
.hero-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateX(18px); transition: opacity .4s, transform .4s, visibility .4s; pointer-events: none; }
.hero-slide.is-active { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.hero-grid { min-height: 570px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; padding-block: 65px 88px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow, .mini-label { color: var(--red-dark); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.red { color: var(--red); }
.eyebrow.light { color: #ffd2d5; }
.hero h1, .hero .hero-title, .page-hero h1, .detail-hero h1, .product-detail h1 { font: 900 clamp(48px, 6vw, 78px)/.98 Nunito, sans-serif; letter-spacing: -.055em; margin: 18px 0 22px; max-width: 720px; }
.hero-copy > p { color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 600px; margin-bottom: 33px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 0; border-radius: 99px; padding: 15px 22px; font-size: 11px; font-weight: 900; }
.button span { font-size: 16px; }
.button-primary { color: #fff; background: var(--red); box-shadow: 0 12px 28px rgba(229, 30, 42, .24); }
.button-primary:hover { background: var(--red-dark); transform: translateY(-1px); }
.button-dark { color: #fff; background: var(--ink); }
.button-dark:hover { background: #000; }
.hero-visual { width: min(480px, 100%); aspect-ratio: 1.08; justify-self: end; border-radius: 48% 52% 44% 56% / 55% 42% 58% 45%; background: linear-gradient(145deg, var(--hero-accent), color-mix(in srgb, var(--hero-accent), white 56%)); position: relative; display: grid; place-items: center; box-shadow: var(--shadow); }
.hero-visual:before, .hero-visual:after { content: ""; position: absolute; border: 2px solid rgba(255, 255, 255, .75); border-radius: 50%; }
.hero-visual:before { inset: 35px; }
.hero-visual:after { width: 100px; height: 100px; left: -35px; bottom: 38px; background: var(--yellow); border: 14px solid var(--paper); }
.hero-bowl { width: 65%; height: 50%; border-radius: 18px 18px 90px 90px; background: #fff; box-shadow: 0 25px 45px rgba(72, 26, 25, .18); position: relative; display: grid; place-items: center; transform: rotate(-4deg); }
.hero-bowl:before { content: ""; position: absolute; top: -30px; width: 112%; height: 55px; background: #f6eee9; border-radius: 50%; box-shadow: inset 0 -8px 15px rgba(88, 46, 35, .13); }
.hero-bowl i { position: absolute; top: -45px; width: 80px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .76); border: 2px solid rgba(255, 255, 255, .9); }
.hero-bowl i:nth-child(1) { left: 40px; transform: rotate(-25deg); }
.hero-bowl i:nth-child(2) { left: 120px; top: -65px; }
.hero-bowl i:nth-child(3) { right: 24px; transform: rotate(24deg); }
.hero-bowl b { color: var(--red); font: 900 60px Nunito; letter-spacing: -.08em; }
.hero-stamp { position: absolute; top: 42px; right: -15px; background: #fff; padding: 13px 18px; border-radius: 99px; font-size: 10px; font-weight: 900; transform: rotate(5deg); box-shadow: 0 12px 30px rgba(50, 20, 20, .14); z-index: 3; }
.hero-note { position: absolute; bottom: 42px; right: 35px; color: rgba(35, 20, 20, .68); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.slider-controls { height: 0; position: relative; bottom: 52px; display: flex; align-items: center; gap: 13px; }
.slider-controls button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); }
.slider-controls span { font-size: 10px; font-weight: 800; color: var(--muted); }

.trust-bar { background: var(--ink); color: #fff; }
.trust-items { min-height: 78px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; }
.trust-items span { color: #cfbebe; padding: 9px 28px; text-align: center; font-size: 10px; border-right: 1px solid rgba(255, 255, 255, .12); }
.trust-items span:first-child { padding-left: 0; }
.trust-items span:last-child { border: 0; padding-right: 0; }
.trust-items b { color: #fff; }

.section { padding: 105px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.section-heading.centered { text-align: center; justify-content: center; }
.section-heading > div > p { color: var(--muted); margin: 10px 0 0; font-size: 14px; }
.section h2, .contact-copy h2, .recipe-body h2, .package-points h2 { font: 900 clamp(35px, 4vw, 52px)/1.04 Nunito, sans-serif; letter-spacing: -.045em; margin: 10px 0 0; }
.arrow-link { display: inline-flex; gap: 20px; align-items: center; color: var(--red-dark); font-size: 11px; font-weight: 900; }
.arrow-link span { font-size: 17px; transition: transform .2s; }
.arrow-link:hover span { transform: translateX(4px); }

.category-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 32px; }
.category-tabs button, .category-tabs a { border: 1px solid var(--line); background: #fff; padding: 11px 17px; border-radius: 99px; color: var(--muted); font-size: 10px; font-weight: 800; }
.category-tabs button:hover, .category-tabs a:hover, .category-tabs .is-active { color: #fff; background: var(--red); border-color: var(--red); }
.recipe-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.recipe-card { border: 1px solid var(--line); border-radius: 22px; background: #fff; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.recipe-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(80, 38, 31, .1); }
.recipe-card.is-filtered { display: none; }
.recipe-art { height: 250px; background: var(--card-accent); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.recipe-art:before { content: ""; width: 190px; height: 190px; position: absolute; border: 35px solid rgba(255, 255, 255, .35); border-radius: 50%; top: -85px; right: -70px; }
.recipe-type { position: absolute; left: 15px; top: 15px; background: rgba(255, 255, 255, .88); backdrop-filter: blur(8px); padding: 7px 10px; border-radius: 99px; font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.recipe-author { position: absolute; bottom: 14px; right: 14px; font-size: 9px; font-weight: 900; }
.soap-shape { width: 125px; height: 80px; border-radius: 20px; background: linear-gradient(155deg, #fff, #eee8e1); box-shadow: 0 25px 35px rgba(75, 40, 33, .18); position: relative; transform: rotate(-7deg); display: block; }
.soap-shape:before { content: "SOL"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--red); font: 900 28px Nunito; letter-spacing: -.06em; }
.soap-shape i { position: absolute; background: rgba(255, 255, 255, .8); border-radius: 50%; border: 1px solid #fff; }
.soap-shape i:nth-child(1) { width: 30px; height: 30px; top: -35px; left: 12px; }
.soap-shape i:nth-child(2) { width: 18px; height: 18px; top: -16px; right: 15px; }
.soap-shape i:nth-child(3) { width: 12px; height: 12px; top: -42px; right: 38px; }
.soap-shape.big { transform: rotate(-6deg) scale(1.65); }
.recipe-card-copy { padding: 21px; }
.recipe-card h3, .product-card h3 { font: 900 20px/1.12 Nunito; letter-spacing: -.025em; margin: 0 0 10px; }
.recipe-card p, .product-card p { color: var(--muted); font-size: 11px; line-height: 1.6; min-height: 54px; }

.ambassadors { background: var(--cream); }
.ambassador-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ambassador-card { text-align: center; padding: 10px 22px 0; }
.avatar { width: 150px; height: 150px; margin: 0 auto 18px; border-radius: 50%; background: var(--avatar-accent); display: grid; place-items: center; position: relative; box-shadow: inset 0 0 0 9px rgba(255, 255, 255, .55); }
.avatar:before { content: ""; position: absolute; inset: -9px; border: 1px dashed color-mix(in srgb, var(--avatar-accent), #000 22%); border-radius: 50%; }
.avatar span { font: 900 45px Nunito; letter-spacing: -.08em; color: color-mix(in srgb, var(--avatar-accent), #000 62%); }
.avatar i { position: absolute; width: 38px; height: 38px; border-radius: 50%; right: -3px; bottom: 4px; background: var(--red); border: 6px solid var(--cream); }
.avatar i:before, .avatar i:after { content: ""; position: absolute; background: #fff; width: 3px; height: 16px; left: 12px; top: 5px; border-radius: 5px; }
.avatar i:after { transform: rotate(90deg); }
.ambassador-card h3 { font: 900 23px Nunito; margin: 0; }
.ambassador-card small { color: var(--red); font-size: 9px; font-weight: 900; }
.ambassador-card p { color: var(--muted); font-size: 11px; line-height: 1.6; }
.ambassador-card a { font-size: 10px; font-weight: 900; color: var(--red-dark); }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.product-card { border-radius: 22px; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.product-art { height: 305px; background: color-mix(in srgb, var(--product-accent), white 78%); display: grid; place-items: center; position: relative; overflow: hidden; }
.product-glow { position: absolute; width: 190px; height: 190px; border-radius: 50%; background: var(--product-accent); opacity: .13; filter: blur(4px); }
.product-pack { width: 135px; height: 190px; padding: 18px 12px; border-radius: 17px 17px 30px 30px; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; z-index: 2; background: linear-gradient(145deg, var(--product-accent), color-mix(in srgb, var(--product-accent), black 18%)); color: #fff; box-shadow: 0 25px 35px rgba(55, 22, 20, .2); transform: perspective(500px) rotateY(-8deg) rotateZ(2deg); }
.product-pack:before { content: ""; position: absolute; width: 48px; height: 20px; border-radius: 10px 10px 3px 3px; top: -14px; background: #252525; }
.product-pack b { font: 900 48px/.8 Nunito; letter-spacing: -.09em; }
.product-pack i { font-style: normal; font-size: 9px; font-weight: 900; text-align: center; margin-top: 12px; text-transform: uppercase; letter-spacing: .08em; }
.product-card > div { padding: 21px; }
.product-card .mini-label { font-size: 8px; }
.product-card h3 { margin-top: 7px; }
.product-grid-page .product-art { height: 365px; }

.lead-section { padding-top: 45px; }
.lead-card { background: var(--red); color: #fff; border-radius: 40px; overflow: hidden; display: grid; grid-template-columns: .9fr 1.1fr; box-shadow: 0 30px 70px rgba(164, 12, 22, .25); }
.lead-copy { padding: 65px; position: relative; overflow: hidden; }
.lead-copy:after { content: ""; position: absolute; width: 300px; height: 300px; border: 75px solid rgba(255, 255, 255, .09); border-radius: 50%; left: -140px; bottom: -170px; }
.lead-copy h2 { font: 900 48px/.98 Nunito; letter-spacing: -.05em; margin: 14px 0 20px; }
.lead-copy > p { color: #ffd8db; font-size: 13px; line-height: 1.6; max-width: 420px; }
.phone-illustration { width: 150px; height: 115px; background: #fff; color: var(--ink); border-radius: 24px 24px 0 0; margin: 42px 0 -65px auto; padding: 20px; transform: rotate(7deg); box-shadow: 0 18px 40px rgba(50, 0, 0, .2); display: grid; grid-template-columns: 20px 1fr; grid-template-rows: 28px 1fr; }
.phone-illustration span { color: #28ba67; }
.phone-illustration b { color: var(--red); font: 900 25px Nunito; }
.phone-illustration i { grid-column: 1 / 3; font-size: 9px; font-style: normal; background: #dcf8e8; padding: 8px; border-radius: 8px; }
.lead-form-shell { background: #fff7f3; color: var(--ink); padding: 55px; }
.lead-form { display: grid; grid-template-columns: 1fr 120px; gap: 15px; }
.lead-form label:not(.consent):not(.honeypot) { display: flex; flex-direction: column; gap: 7px; }
.lead-form label > span { font-size: 9px; font-weight: 900; color: var(--muted); }
.lead-form input, .lead-form select { width: 100%; border: 1px solid var(--line); border-radius: 13px; padding: 13px 14px; outline: none; background: #fff; color: var(--ink); font-size: 12px; }
.lead-form input:focus, .lead-form select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(229, 30, 42, .08); }
.lead-form .span-2 { grid-column: 1 / 3; }
.consent { display: flex; align-items: flex-start; gap: 9px; }
.consent input { width: 16px; margin-top: 2px; }
.consent span { line-height: 1.5; }
.consent a { color: var(--red-dark); text-decoration: underline; text-underline-offset: 2px; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alert { padding: 12px 14px; border-radius: 12px; margin-bottom: 16px; font-size: 10px; font-weight: 700; }
.alert-success { background: #dff6e8; color: #14683d; }
.alert-danger { background: #ffe2e4; color: #92202a; }
.alert-warning { background: #fff1c6; color: #745713; }

.site-footer { background: #201717; color: #fff; margin-top: 30px; padding: 75px 0 25px; }
.footer-top { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 70px; }
.brand-light strong { color: #fff; }
.brand-light small { color: #c4afaf; }
.footer-brand p { color: #a99191; font-size: 12px; line-height: 1.7; max-width: 300px; margin-top: 22px; }
.footer-top > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 10px; }
.footer-top h3 { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #fff; margin: 0 0 9px; }
.footer-top a { color: #ae9999; font-size: 10px; }
.footer-top a:hover { color: #fff; }
.footer-bottom { display: flex; gap: 25px; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .1); color: #806d6d; margin-top: 65px; padding-top: 23px; font-size: 9px; }

.page-hero { padding: 105px 0; background: var(--cream); position: relative; overflow: hidden; }
.page-hero:after { content: "SOL"; position: absolute; right: -15px; bottom: -68px; color: rgba(229, 30, 42, .045); font: 900 250px Nunito; letter-spacing: -.08em; }
.page-hero h1 { max-width: 880px; }
.page-hero p { color: var(--muted); font-size: 17px; max-width: 720px; line-height: 1.6; }
.filter-intro { padding: 22px 0 35px; }
.filter-intro h2 { font-size: 32px; }
.filter-intro p { color: var(--muted); }
.empty-state { grid-column: 1 / -1; text-align: center; border: 1px dashed var(--line); border-radius: var(--radius); padding: 70px; background: var(--cream); }
.empty-state h2 { font-size: 28px; }

.detail-hero { background: var(--detail-accent); padding: 90px 0; }
.detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 80px; }
.detail-hero .eyebrow { display: block; margin-top: 35px; }
.detail-hero p { max-width: 650px; line-height: 1.7; color: var(--muted); }
.back-link { color: var(--red-dark); font-size: 10px; font-weight: 900; }
.detail-meta { display: flex; gap: 30px; margin-top: 32px; }
.detail-meta span { display: flex; flex-direction: column; font-size: 11px; }
.detail-meta b { font-size: 8px; text-transform: uppercase; letter-spacing: .1em; color: var(--red-dark); margin-bottom: 4px; }
.detail-art { min-height: 370px; border-radius: 40px; background: rgba(255, 255, 255, .62); display: grid; place-items: center; position: relative; }
.detail-art > b { position: absolute; bottom: 40px; right: 45px; color: var(--red); font: 900 32px Nunito; }
.detail-art > small { position: absolute; top: 25px; left: 25px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.recipe-body { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; padding-block: 100px; }
.recipe-body h2 { font-size: 34px; }
.recipe-body aside { background: var(--cream); border-radius: 28px; padding: 35px; align-self: start; }
.recipe-body ul { padding: 0; list-style: none; margin-top: 25px; }
.recipe-body li { padding: 12px 0 12px 25px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; position: relative; }
.recipe-body li:before { content: "•"; color: var(--red); position: absolute; left: 4px; font-size: 20px; top: 6px; }
.recipe-steps > p { color: var(--muted); line-height: 1.8; }
.safety-box { margin-top: 35px; border-left: 5px solid var(--red); background: #fff0f0; border-radius: 0 18px 18px 0; padding: 25px; }
.safety-box strong { color: var(--red-dark); }
.safety-box p { margin-bottom: 0; color: #705253; font-size: 12px; line-height: 1.6; }
.soft { background: var(--cream); }

.product-detail { padding: 90px 0; background: var(--cream); }
.product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.product-detail-art { min-height: 600px; background: color-mix(in srgb, var(--product-accent), white 78%); border-radius: 40px; display: grid; place-items: center; position: relative; }
.product-detail-art small { position: absolute; bottom: 25px; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.product-pack.large { width: 220px; height: 330px; border-radius: 28px 28px 48px 48px; }
.product-pack.large b { font-size: 75px; }
.product-detail-copy .eyebrow { display: block; margin-top: 35px; }
.product-detail-copy .lead { font-size: 18px; color: var(--ink); font-weight: 700; }
.product-detail-copy > p { color: var(--muted); line-height: 1.7; }
.product-detail-copy dl { margin: 32px 0; border-top: 1px solid var(--line); }
.product-detail-copy dl div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; border-bottom: 1px solid var(--line); padding: 15px 0; font-size: 11px; }
.product-detail-copy dt { font-weight: 900; color: var(--red-dark); }
.product-detail-copy dd { margin: 0; color: var(--muted); }

.packaging-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.package-demo { min-height: 620px; background: var(--cream); border-radius: 40px; display: grid; place-items: center; position: relative; }
.callout { position: absolute; width: 42px; height: 42px; border-radius: 50%; background: var(--red); color: #fff; font: 900 17px Nunito; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(229, 30, 42, .25); }
.callout:after { content: ""; width: 90px; border-top: 1px dashed var(--red); position: absolute; }
.callout-a { left: 40px; top: 110px; }.callout-a:after { left: 42px; }
.callout-b { right: 40px; top: 230px; }.callout-b:after { right: 42px; }
.callout-c { left: 40px; bottom: 200px; }.callout-c:after { left: 42px; }
.callout-d { right: 40px; bottom: 80px; }.callout-d:after { right: 42px; }
.package-points { display: grid; gap: 10px; }
.package-points article { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.package-points article > span { width: 42px; height: 42px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-weight: 900; }
.package-points h2 { font-size: 23px; margin: 0 0 4px; }
.package-points p { color: var(--muted); font-size: 11px; margin: 0; line-height: 1.6; }
.validation-note { margin-top: 20px; background: #fff3ca; border-radius: 18px; padding: 22px; }
.validation-note strong { font-size: 12px; }
.validation-note p { margin-bottom: 0; color: #66582f; font-size: 11px; }

.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.contact-copy h2 { margin-top: 12px; }
.contact-copy > p { color: var(--muted); line-height: 1.7; }
.contact-channel { margin-top: 24px; display: flex; flex-direction: column; gap: 6px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 12px; }
.contact-channel a { color: var(--red-dark); }
.light-form { border: 1px solid var(--line); border-radius: 28px; }
.big-search { display: flex; max-width: 650px; margin-top: 35px; }
.big-search input { flex: 1; border: 1px solid var(--line); border-right: 0; border-radius: 99px 0 0 99px; padding: 15px 20px; outline: none; }
.big-search button { border: 0; background: var(--red); color: #fff; border-radius: 0 99px 99px 0; padding: 0 25px; font-size: 11px; font-weight: 900; }
.search-product-heading { margin-top: 90px; }
.error-page { min-height: 70vh; display: grid; place-items: center; text-align: center; background: var(--cream); padding: 80px 20px; }
.error-page span { color: rgba(229, 30, 42, .16); font: 900 140px/.8 Nunito; }
.error-page h1 { font: 900 42px Nunito; letter-spacing: -.04em; margin-bottom: 5px; }
.error-page p { color: var(--muted); margin-bottom: 30px; }

@media (max-width: 1080px) {
  .header-search { display: none; }
  .main-menu { margin-left: auto; }
  .recipe-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
  .ambassador-grid { grid-template-columns: repeat(2, 1fr); gap: 55px 25px; }
  .hero-grid { gap: 35px; }
  .lead-copy, .lead-form-shell { padding: 45px; }
}

@media (max-width: 820px) {
  .nav-shell { min-height: 70px; }
  .menu-toggle { display: block; margin-left: auto; }
  .main-menu { position: absolute; top: 100%; left: 20px; right: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); display: none; flex-direction: column; align-items: stretch; gap: 0; }
  .main-menu.is-open { display: flex; }
  .main-menu a { padding: 13px; }
  .main-menu .menu-cta { text-align: center; margin-top: 5px; }
  .hero-grid, .detail-grid, .product-detail-grid, .packaging-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { padding-block: 60px 95px; }
  .hero-visual { justify-self: center; width: min(480px, 90%); }
  .trust-items { grid-template-columns: 1fr; padding: 12px 0; }
  .trust-items span { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); padding: 12px; }
  .lead-card { grid-template-columns: 1fr; }
  .phone-illustration { display: none; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .detail-art { grid-row: 1; }
  .recipe-body { grid-template-columns: 1fr; gap: 40px; }
  .product-detail-art { min-height: 480px; }
  .package-demo { min-height: 520px; }
}

@media (max-width: 560px) {
  .container { width: min(100% - 28px, 1180px); }
  .stage-ribbon { font-size: 8px; }
  .brand { transform: scale(.9); transform-origin: left center; }
  .section { padding: 75px 0; }
  .hero h1, .page-hero h1, .detail-hero h1, .product-detail h1 { font-size: 44px; }
  .hero-grid { min-height: auto; }
  .hero-visual { border-radius: 35px; aspect-ratio: 1; }
  .hero-bowl b { font-size: 42px; }
  .hero-stamp { right: 8px; top: 15px; }
  .slider-controls { bottom: 45px; }
  .section-heading { align-items: start; margin-bottom: 30px; }
  .section h2, .contact-copy h2 { font-size: 36px; }
  .desktop-link { display: none; }
  .category-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .category-tabs button, .category-tabs a { white-space: nowrap; }
  .recipe-grid, .product-grid, .ambassador-grid { grid-template-columns: 1fr; }
  .recipe-art { height: 285px; }
  .avatar { width: 160px; height: 160px; }
  .product-art { height: 350px; }
  .lead-card { width: min(100% - 18px, 1180px); border-radius: 28px; }
  .lead-copy, .lead-form-shell { padding: 34px 25px; }
  .lead-copy h2 { font-size: 39px; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form .span-2 { grid-column: 1; }
  .footer-top { grid-template-columns: 1fr; gap: 35px; }
  .footer-bottom { flex-direction: column; gap: 10px; }
  .page-hero { padding: 78px 0; }
  .detail-meta { flex-wrap: wrap; }
  .detail-art { min-height: 300px; }
  .soap-shape.big { transform: rotate(-6deg) scale(1.25); }
  .recipe-body { padding-block: 65px; }
  .product-detail { padding: 55px 0; }
  .product-detail-art { min-height: 430px; }
  .product-pack.large { width: 180px; height: 270px; }
  .package-demo { min-height: 480px; }
  .callout:after { width: 55px; }
  .callout-a, .callout-c { left: 18px; }
  .callout-b, .callout-d { right: 18px; }
}

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

/* Professional brand refinement — official Soda Sol assets */
:root {
  --red: #e30613;
  --red-dark: #a90812;
  --ink: #211a1a;
  --muted: #675b5b;
  --cream: #fff8f4;
  --paper: #fffdfb;
  --silver: #e6e4df;
  --shadow-soft: 0 18px 55px rgba(57, 23, 20, .10);
  --shadow-product: drop-shadow(0 26px 18px rgba(63, 24, 20, .19));
}

:focus-visible { outline: 3px solid #1a73e8; outline-offset: 4px; }
.site-header { background: rgba(255, 253, 251, .97); }
.nav-shell { min-height: 88px; }
.brand { display: block; width: 128px; height: auto; }
.brand img { display: block; width: 100%; height: auto; }
.header-search { width: min(280px, 25vw); }
.header-search input { padding-block: 12px; font-size: 12px; }
.header-search button { top: 5px; right: 5px; }
.main-menu { gap: 24px; }
.main-menu a { position: relative; font-size: 12px; }
.main-menu a:not(.menu-cta):after { content: ""; position: absolute; left: 0; right: 100%; height: 2px; bottom: -8px; background: var(--red); transition: right .2s; }
.main-menu a:hover:after, .main-menu a[aria-current="page"]:after { right: 0; }
.main-menu a[aria-current="page"] { color: var(--red-dark); }
.main-menu .menu-cta { padding: 13px 19px; }

.hero { background: linear-gradient(118deg, #fffaf7 0%, #fff5f0 52%, #f8ebe6 100%); }
.hero:before { width: 560px; height: 560px; border-width: 110px; opacity: .75; }
.hero-grid { grid-template-columns: 1.02fr .98fr; min-height: 640px; padding-block: 72px 96px; }
.hero h1, .hero .hero-title { font-size: clamp(54px, 6vw, 82px); max-width: 690px; text-wrap: balance; }
.hero-copy > p { max-width: 570px; }
.hero-product-stage { width: min(530px, 100%); aspect-ratio: 1; overflow: visible; border-radius: 42px; background: linear-gradient(145deg, #f23039, #c8030f); box-shadow: 0 35px 70px rgba(139, 10, 17, .25); isolation: isolate; }
.hero-product-stage:before { inset: 34px; border-color: rgba(255,255,255,.28); }
.hero-product-stage:after { left: -28px; bottom: 32px; width: 106px; height: 106px; background: #f3c52f; border: 14px solid var(--paper); z-index: 5; }
.hero-brand-watermark { position: absolute; width: 64%; height: auto; right: -6%; top: 9%; opacity: .11; filter: brightness(0) invert(1); z-index: 0; }
.hero-product { position: absolute; z-index: 2; object-fit: contain; filter: var(--shadow-product); }
.hero-product-main { height: 83%; width: auto; left: 8%; bottom: -2%; }
.hero-product-side { height: 53%; width: auto; right: 3%; bottom: 2%; z-index: 3; }
.hero-liquid-main { height: 86%; left: 15%; }
.hero-liquid-side { height: 49%; right: 1%; bottom: 5%; }
.hero-stamp { top: 26px; right: -18px; color: var(--red-dark); padding: 11px 17px; }
.hero-note { color: rgba(255,255,255,.88); bottom: 22px; right: 28px; z-index: 4; }
.slider-controls { bottom: 60px; }
.slider-controls button:hover { color: #fff; background: var(--red); border-color: var(--red); }

.trust-items { min-height: 86px; }
.trust-items span { font-size: 11px; }
.trust-items b { display: block; margin-bottom: 4px; font-size: 13px; }

.brand-story { padding-block: 115px; background: #fff; }
.brand-story-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 110px; align-items: center; }
.brand-story-seal { min-height: 430px; display: grid; place-items: center; position: relative; border-radius: 42px; background: linear-gradient(145deg, #f3f1ed, #fff); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.brand-story-seal:before { content: ""; position: absolute; width: 330px; height: 330px; border: 70px solid rgba(227, 6, 19, .055); border-radius: 50%; right: -130px; top: -135px; }
.brand-story-seal img { width: 72%; height: auto; position: relative; filter: drop-shadow(0 16px 12px rgba(41,16,15,.12)); }
.brand-story-seal.has-custom-image img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.brand-story-seal span { position: absolute; left: 30px; bottom: 26px; font-size: 10px; line-height: 1.5; font-weight: 900; color: var(--red-dark); text-transform: uppercase; letter-spacing: .11em; }
.brand-story-copy h2 { font: 900 clamp(40px, 4.8vw, 60px)/1.02 Nunito, sans-serif; letter-spacing: -.05em; margin: 13px 0 24px; max-width: 720px; text-wrap: balance; }
.brand-story-copy > p { color: var(--muted); font-size: 16px; line-height: 1.8; max-width: 680px; }
.brand-values { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); margin-top: 40px; padding-top: 24px; }
.brand-values span { display: flex; flex-direction: column; gap: 9px; color: var(--ink); font-size: 11px; font-weight: 800; }
.brand-values b { color: var(--red); font-size: 10px; letter-spacing: .1em; }

.recipes-home { background: var(--cream); }
.recipe-card, .product-card { box-shadow: 0 8px 28px rgba(64,30,26,.05); }
.recipe-card h3, .product-card h3 { font-size: 21px; }
.recipe-card p, .product-card p { font-size: 12px; }
.ambassadors { background: #fff; }
.products-home { background: linear-gradient(180deg, #fff 0%, #fff9f6 100%); }

.product-card { border-radius: 26px; transition: transform .25s, box-shadow .25s; }
.product-card:hover { transform: translateY(-7px); box-shadow: 0 24px 54px rgba(70, 27, 23, .12); }
.product-art { height: 350px; padding: 25px; background: linear-gradient(145deg, #f4f2ef, #fff); isolation: isolate; }
.product-art:before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(90,71,66,.07); border-radius: 20px; }
.product-glow { width: 230px; height: 230px; opacity: .07; z-index: -1; }
.product-media { width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; position: relative; z-index: 2; }
.product-media img { display: block; max-height: 92%; max-width: 74%; width: auto; object-fit: contain; filter: drop-shadow(0 19px 15px rgba(51,27,24,.17)); transition: transform .3s; }
.product-card:hover .product-media img { transform: translateY(-4px); }
.product-media-duo img:first-child { height: 90%; margin-right: -38px; z-index: 1; }
.product-media-duo img:last-child { height: 62%; margin-left: -10px; z-index: 2; }
.product-media-liquid img:first-child { height: 88%; margin-right: -45px; }
.product-media-liquid img:last-child { height: 52%; margin-left: -5px; }
.product-media-single img { height: 96%; }
.product-media-placeholder { width: 80%; min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; border: 1px dashed #cabfba; border-radius: 24px; background: rgba(255,255,255,.65); }
.product-media-placeholder img { width: 120px; opacity: .18; filter: grayscale(1); }
.product-media-placeholder small { color: var(--muted); text-align: center; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.recipe-card-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.avatar.has-photo { overflow: hidden; box-shadow: none; }
.avatar.has-photo img { width: 100%; height: 100%; object-fit: cover; }
.detail-art.has-recipe-image { overflow: hidden; padding: 0; }
.detail-art.has-recipe-image img { width: 100%; height: 100%; object-fit: cover; }
.product-size { position: absolute; top: 18px; left: 18px; z-index: 4; color: var(--red-dark); background: rgba(255,255,255,.91); border: 1px solid rgba(130,80,72,.10); border-radius: 99px; padding: 7px 11px; font-size: 9px; font-weight: 900; box-shadow: 0 6px 18px rgba(42,21,19,.06); }
.product-card > div { padding: 25px; }
.product-grid-page { grid-template-columns: repeat(3, 1fr); }
.product-grid-page .product-art { height: 440px; }

.responsibility-home { padding-top: 25px; }
.responsibility-card { padding: 70px; border-radius: 40px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 80px; align-items: center; color: #fff; background: radial-gradient(circle at 95% 0, rgba(255,255,255,.11), transparent 32%), linear-gradient(125deg, #8d0710, #df0715); overflow: hidden; position: relative; box-shadow: 0 32px 70px rgba(128,8,15,.22); }
.responsibility-card h2, .safety-editorial-card h2 { font: 900 48px/1.03 Nunito, sans-serif; letter-spacing: -.045em; margin: 13px 0 20px; text-wrap: balance; }
.responsibility-card p { color: #ffd8db; font-size: 14px; line-height: 1.75; max-width: 620px; margin-bottom: 30px; }
.button-light { color: var(--red-dark); background: #fff; }
.responsibility-list { display: grid; gap: 11px; }
.responsibility-list span { display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto; column-gap: 15px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.19); border-radius: 18px; background: rgba(255,255,255,.09); backdrop-filter: blur(7px); }
.responsibility-list b { grid-row: 1/3; align-self: center; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--red-dark); background: #fff; font-size: 10px; }
.responsibility-list strong { font-size: 12px; }
.responsibility-list small { color: #ffc4c8; font-size: 10px; }

.safety-editorial { padding-top: 0; }
.safety-editorial-card { padding: 54px 60px; display: grid; grid-template-columns: 72px 1fr auto; gap: 28px; align-items: center; color: #fff; background: var(--ink); border-radius: 32px; }
.safety-editorial-card h2 { font-size: 38px; margin-block: 8px 12px; }
.safety-editorial-card p { color: #cdbaba; margin: 0; max-width: 670px; font-size: 12px; line-height: 1.7; }
.safety-icon { width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; color: var(--ink); background: var(--yellow); font: 900 30px Nunito; }

.product-detail { background: linear-gradient(130deg, #fbf7f4, #fff); }
.product-detail-grid { gap: 100px; }
.product-detail-art { min-height: 650px; overflow: hidden; isolation: isolate; background: linear-gradient(145deg, #eeece9, #fff); border: 1px solid var(--line); }
.product-detail-art:before { content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; background: var(--product-accent); opacity: .06; z-index: -1; }
.detail-product-gallery { width: 90%; height: 560px; display: flex; align-items: flex-end; justify-content: center; }
.detail-product-gallery img { display: block; max-height: 84%; max-width: 67%; width: auto; object-fit: contain; filter: drop-shadow(0 26px 20px rgba(45,21,19,.18)); }
.detail-product-gallery img.is-primary { height: 95%; margin-right: -55px; z-index: 1; }
.detail-product-gallery img:not(.is-primary) { height: 67%; z-index: 2; }
.detail-product-gallery-liquid img.is-primary { height: 96%; margin-right: -65px; }
.detail-product-gallery-liquid img:not(.is-primary) { height: 56%; }
.detail-product-gallery-single img.is-primary { height: 100%; margin: 0; }
.detail-product-placeholder { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 330px; }
.detail-product-placeholder img { width: 230px; opacity: .22; filter: grayscale(1); }
.detail-product-placeholder strong { margin-top: 24px; font-size: 14px; }
.detail-product-placeholder span { color: var(--muted); margin-top: 8px; font-size: 11px; line-height: 1.5; }
.product-detail-art small { z-index: 3; }
.product-detail-copy h1 { font-size: clamp(48px, 5vw, 70px); text-wrap: balance; }
.product-detail-copy .lead { font-size: 19px; line-height: 1.5; }
.product-detail-copy dl div { padding-block: 18px; font-size: 12px; }

.footer-brand .brand { width: 160px; filter: drop-shadow(0 10px 8px rgba(0,0,0,.2)); }
.footer-top a { font-size: 11px; }

.instagram-home { background: #fbf8f6; padding-top: 100px; }
.instagram-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.instagram-card { overflow: hidden; color: #171414; background: #fff; border: 1px solid #e4dddd; border-radius: 18px; box-shadow: 0 15px 40px rgba(42, 22, 21, .07); }
.instagram-card-head { min-height: 65px; display: grid; grid-template-columns: 37px 1fr auto; align-items: center; gap: 10px; padding: 12px 14px; }
.instagram-card-head > div { display: flex; flex-direction: column; }
.instagram-card-head strong { font-size: 10px; }
.instagram-card-head small { color: #7b7373; font-size: 8px; margin-top: 2px; }
.instagram-card-head > b { font-size: 12px; letter-spacing: 2px; }
.instagram-avatar { width: 36px; height: 36px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; padding: 3px; background: linear-gradient(130deg, #f9ce34, #ee2a7b, #6228d7); }
.instagram-avatar img { width: 100%; height: 100%; object-fit: contain; padding: 3px; border: 2px solid #fff; border-radius: 50%; background: #fff; }
.instagram-image { display: block; aspect-ratio: 1; overflow: hidden; background: #eee8e5; }
.instagram-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
a.instagram-image:hover img { transform: scale(1.025); }
.instagram-actions { display: flex; gap: 14px; align-items: center; padding: 12px 14px 6px; font-size: 24px; line-height: 1; }
.instagram-actions span:last-child { margin-left: auto; }
.instagram-card > p { min-height: 53px; margin: 0; padding: 4px 14px 16px; font-size: 9px; line-height: 1.55; color: #463d3d; }

.whatsapp-float { position: fixed; right: 25px; bottom: 25px; width: 64px; height: 64px; z-index: 70; }
.wa-btn { position: absolute; inset: 0; border-radius: 50%; color: #fff; background: #25d366; display: grid; place-items: center; box-shadow: 0 13px 32px rgba(37,211,102,.42); animation: waShake 3.4s ease-in-out infinite; transform-origin: center; }
.wa-btn svg { width: 34px; height: 34px; }
.wa-btn:after { content: ""; position: absolute; inset: 0; border: 2px solid #25d366; border-radius: 50%; animation: waPulse 2.3s ease-out infinite; }
.wa-badge { position: absolute; right: -2px; top: -4px; min-width: 23px; height: 23px; display: grid; place-items: center; color: #fff; background: var(--red); border: 2px solid #fff; border-radius: 50%; font-size: 11px; font-weight: 900; }
.wa-tooltip { position: absolute; right: 0; bottom: 78px; min-width: 214px; padding: 14px 34px 14px 16px; display: flex; flex-direction: column; gap: 3px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 10px 30px rgba(29,19,18,.16); animation: waFloat 2.8s ease-in-out infinite; }
.wa-tooltip:after { content: ""; position: absolute; right: 23px; bottom: -8px; width: 14px; height: 14px; background: #fff; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transform: rotate(45deg); }
.wa-tooltip strong { font-size: 12px; }
.wa-tooltip > span { color: var(--muted); font-size: 10px; white-space: nowrap; }
.wa-close { position: absolute; right: 8px; top: 7px; width: 24px; height: 24px; border: 0; color: #8c7e7e; background: transparent; font-size: 17px; line-height: 1; }
.whatsapp-float.is-compact .wa-tooltip, .whatsapp-float.is-compact .wa-badge { display: none; }
@keyframes waPulse { 0% { transform: scale(1); opacity: .65; } 100% { transform: scale(1.65); opacity: 0; } }
@keyframes waShake { 0%,72%,100% { transform: rotate(0) scale(1); } 76% { transform: rotate(-12deg) scale(1.05); } 81% { transform: rotate(10deg) scale(1.05); } 86% { transform: rotate(-6deg); } 91% { transform: rotate(4deg); } }
@keyframes waFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

@media (max-width: 1080px) {
  .brand { width: 116px; }
  .hero-grid { gap: 45px; }
  .brand-story-grid { gap: 65px; }
  .product-grid-page { grid-template-columns: repeat(2, 1fr); }
  .responsibility-card { padding: 55px; gap: 45px; }
  .safety-editorial-card { grid-template-columns: 64px 1fr; }
  .safety-editorial-card .button { grid-column: 2; justify-self: start; }
}

@media (max-width: 820px) {
  .nav-shell { min-height: 76px; }
  .brand { width: 108px; }
  .main-menu a:not(.menu-cta):after { display: none; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-top: 68px; }
  .hero-copy { text-align: center; }
  .hero h1, .hero .hero-title, .hero-copy > p { margin-inline: auto; }
  .hero-product-stage { margin-top: 28px; }
  .brand-story-grid { grid-template-columns: 1fr; gap: 55px; }
  .brand-story-seal { min-height: 370px; }
  .responsibility-card { grid-template-columns: 1fr; }
  .product-detail-grid { gap: 50px; }
  .product-detail-art { min-height: 560px; }
  .detail-product-gallery { height: 480px; }
  .instagram-grid { gap: 12px; }
}

@media (max-width: 560px) {
  .stage-ribbon { padding-block: 6px; }
  .brand { transform: none; width: 98px; }
  .hero-grid { padding-top: 48px; }
  .hero h1, .hero .hero-title { font-size: 46px; }
  .hero-copy > p { font-size: 15px; line-height: 1.65; }
  .hero-product-stage { width: 100%; border-radius: 30px; }
  .hero-product-stage:after { width: 82px; height: 82px; left: -16px; border-width: 10px; }
  .hero-product-main { left: 4%; }
  .hero-product-side { right: -1%; }
  .hero-liquid-main { left: 12%; }
  .hero-note { display: none; }
  .hero-stamp { font-size: 8px; right: 7px; }
  .trust-items b { display: inline; margin-right: 4px; }
  .brand-story { padding-block: 76px; }
  .brand-story-seal { min-height: 300px; border-radius: 28px; }
  .brand-story-copy h2 { font-size: 40px; }
  .brand-story-copy > p { font-size: 14px; }
  .brand-values { gap: 12px; }
  .brand-values span { font-size: 9px; }
  .product-grid-page { grid-template-columns: 1fr; }
  .product-art, .product-grid-page .product-art { height: 390px; }
  .responsibility-card { width: min(100% - 18px, 1180px); padding: 38px 26px; gap: 35px; border-radius: 28px; }
  .responsibility-card h2 { font-size: 39px; }
  .safety-editorial-card { width: min(100% - 18px, 1180px); padding: 35px 25px; grid-template-columns: 1fr; }
  .safety-editorial-card .button { grid-column: 1; }
  .safety-editorial-card h2 { font-size: 34px; }
  .safety-icon { width: 54px; height: 54px; }
  .product-detail-art { min-height: 460px; border-radius: 28px; }
  .detail-product-gallery { height: 400px; }
  .product-detail-copy h1 { font-size: 45px; }
  .instagram-home { padding-top: 76px; }
  .instagram-grid { grid-template-columns: 1fr; gap: 22px; }
  .whatsapp-float { right: 17px; bottom: 17px; width: 58px; height: 58px; }
  .wa-tooltip { bottom: 72px; min-width: 198px; }
}

@media (prefers-reduced-motion: reduce) {
  .wa-btn, .wa-btn:after, .wa-tooltip { animation: none; }
}
