:root {
  --navy: #382475;
  --navy-dark: #2b1b5c;
  --blue: #707dcb;
  --blue-soft: #f4f3fb;
  --blue-mist: #eff6f8;
  --lavender: #ebe9f6;
  --lavender-soft: #f7f6fb;
  --lavender-deep: #dcdaf0;
  --green: #5b9b85;
  --green-dark: #2f6f5c;
  --green-soft: #edf7f3;
  --ink: #293349;
  --muted: #69758a;
  --line: #e2e7ee;
  --surface: #f8faf9;
  --paper: #ffffff;
  --warning: #fff6d8;
  --radius: 8px;
  --shadow: 0 10px 28px rgba(26, 35, 126, .06);
  --container: min(1280px, calc(100% - 3rem));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Lato, "Helvetica Neue", Arial, sans-serif; font-size: 15px; line-height: 1.62; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { margin: 0 0 .85rem; color: var(--navy-dark); font-weight: 700; letter-spacing: -.025em; line-height: 1.14; }
h1 { font-size: clamp(2.75rem, 5vw, 5.15rem); }
h2 { font-size: clamp(2.1rem, 3.4vw, 3.25rem); }
h3 { font-size: clamp(1.2rem, 1.5vw, 1.42rem); letter-spacing: -.012em; }
p { margin: 0 0 1rem; }
button, input, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.container { width: var(--container); margin-inline: auto; }
.narrow { max-width: 820px; }
.section { padding-block: clamp(4rem, 6vw, 6rem); }
.section-muted { background: var(--surface); }
.eyebrow { margin-bottom: .85rem; color: var(--blue); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.center { margin-top: 2.25rem; text-align: center; }
.center > p:not(.eyebrow) { max-width: 650px; margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; top: .5rem; left: .5rem; transform: translateY(-160%); padding: .65rem .95rem; background: var(--navy); color: #fff; }
.skip-link:focus { transform: translateY(0); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.review-bar { padding: .42rem 1rem; background: var(--warning); color: #584a10; text-align: center; font-size: .72rem; font-weight: 700; }

.site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid #e3e9ed; background: rgba(255,255,255,.98); box-shadow: 0 3px 20px rgba(43,65,117,.035); }
.header-inner { min-height: 70px; display: flex; align-items: center; justify-content: flex-start; gap: 2rem; }
.brand { margin-left: auto; }
.brand img { width: 188px; }
.main-nav { display: flex; align-items: center; gap: clamp(.9rem, 1.65vw, 1.65rem); }
.main-nav a { position: relative; color: var(--navy); font-size: .69rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.main-nav a:hover { color: var(--blue); }
.main-nav a::after { content: ""; position: absolute; right: 0; bottom: -.45rem; left: 0; height: 2px; background: var(--blue); transform: scaleX(0); transition: transform .18s ease; }
.main-nav a:hover::after { transform: scaleX(1); }
.menu-toggle { display: none; border: 1px solid var(--line); border-radius: var(--radius); padding: .55rem .8rem; background: #fff; color: var(--navy); font-weight: 700; }

.brand-hero { position: relative; min-height: clamp(540px, 38vw, 700px); overflow: hidden; background: var(--lavender); }
.brand-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(235,232,246,.98) 0%, rgba(244,243,249,.9) 31%, rgba(255,255,255,.26) 62%, transparent 100%); pointer-events: none; }
.brand-hero-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brand-hero-content { position: relative; z-index: 2; min-height: clamp(540px, 38vw, 700px); display: grid; grid-template-columns: 145px minmax(280px, 430px); gap: clamp(1.25rem, 2.2vw, 2.25rem); align-content: center; align-items: center; }
.brand-hero-seal { width: 138px; filter: brightness(0) saturate(100%) invert(18%) sepia(36%) saturate(2514%) hue-rotate(235deg) brightness(82%) contrast(103%); opacity: .86; }
.brand-hero-copy { max-width: 430px; }
.brand-hero-copy h1 { max-width: 420px; margin-bottom: 1rem; color: var(--navy); font-size: clamp(2.8rem, 4vw, 4.35rem); }
.brand-hero-copy > p:not(.eyebrow) { max-width: 430px; margin-bottom: 1.65rem; color: #5e6376; font-size: clamp(.95rem, 1.35vw, 1.15rem); }
.intro-band { border-top: 1px solid var(--lavender-deep); border-bottom: 1px solid var(--line); padding-block: clamp(4.75rem, 6.5vw, 6.5rem); background: linear-gradient(115deg, #eeecf7 0%, #f8f8fb 53%, #e9eff4 125%); }
.intro-grid { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(3.25rem, 8vw, 8rem); align-items: center; }
.intro-grid .eyebrow { margin-bottom: 1.15rem; }
.intro-grid h2 { max-width: 680px; margin: 0; color: var(--navy); }
.intro-copy { max-width: 560px; color: var(--muted); }
.intro-copy > p { margin: 0; line-height: 1.75; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: .4rem; border: 1px solid var(--navy); border-radius: 999px; padding: .68rem 1.25rem; background: var(--navy); color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; cursor: pointer; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.button:hover { border-color: var(--blue); background: var(--blue); }
.button-secondary { background: #fff; color: var(--navy); }
.button-light { border-color: #fff; background: #fff; color: var(--navy); }

.section-heading { max-width: 760px; margin-bottom: 2.6rem; }
.compact-heading { max-width: 680px; }
.split-heading { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; }
.split-heading > p { max-width: 510px; color: var(--muted); }
.legacy-heading { margin-bottom: 2.5rem; text-align: center; }
.legacy-heading h2 { color: var(--navy); font-weight: 400; text-transform: uppercase; }
.legacy-heading h2 strong { font-weight: 900; }
.legacy-heading > span { display: block; width: min(760px, 75%); height: 3px; margin: 1.2rem auto 0; background: linear-gradient(90deg, transparent, var(--blue) 14%, var(--blue) 86%, transparent); }
.featured-products { background: linear-gradient(180deg, #fff 0%, #faf9fd 100%); }
.featured-product-grid { grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }
.featured-product-grid .product-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; text-align: center; }
.featured-product-grid .product-media { border: 0; }
.featured-product-grid .product-card-body { border-top: 0; padding-top: .7rem; }
.featured-product-grid .product-card-body h3 { color: var(--navy); font-size: 1.05rem; }
.featured-product-grid .product-card-body p { min-height: 2.8em; }
.featured-heading { position: relative; display: block; margin-bottom: clamp(2.25rem, 3.5vw, 3.5rem); text-align: center; }
.featured-heading .legacy-heading { margin: 0; text-align: center; }
.featured-heading .legacy-heading h2 { font-size: clamp(2rem, 3.1vw, 3.25rem); font-weight: 400; text-transform: none; }
.featured-heading .legacy-heading > span { width: min(1120px, 88%); margin-inline: auto; }
.slider-arrows { position: absolute; top: 50%; right: 0; display: flex; gap: .55rem; padding-bottom: .15rem; transform: translateY(-50%); }
.slider-arrows button, .campaign-controls > button { width: 42px; height: 42px; border: 1px solid #cbcfe3; border-radius: 50%; background: #fff; color: var(--navy); font-size: 1.1rem; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.slider-arrows button:hover, .campaign-controls > button:hover { border-color: var(--navy); background: var(--navy); color: #fff; }
.slider-arrows button:disabled { border-color: #e3e5ee; background: #fff; color: #b7bdcc; cursor: default; }
.featured-product-track { display: grid; overflow-x: auto; grid-auto-columns: calc((100% - 4.5rem) / 4); grid-auto-flow: column; gap: 1.5rem; padding: .35rem 0 1.35rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c7c4df transparent; }
.featured-product-track .product-card { min-width: 0; scroll-snap-align: start; }
.featured-product-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.featured-product-track .product-media { --featured-scale: 1; --featured-hover-scale: 1.018; aspect-ratio: 1 / 1.02; }
.featured-product-track .product-media img { width: 88%; height: 88%; transform: scale(var(--featured-scale)); }
.featured-product-track .product-card:hover .product-cutout, .featured-product-track .product-card:focus-within .product-cutout { transform: scale(var(--featured-hover-scale)); }
.featured-product-track [data-product="neolucid-piel-atopica-crema"] .product-media { --featured-scale: 1.18; --featured-hover-scale: 1.2; }
.featured-product-track [data-product="neolucid-toallas-de-limpieza"] .product-media { --featured-scale: .94; --featured-hover-scale: .958; }
.featured-product-track [data-product="neolucid-hiperhidrosis-neolucid-odor-control"] .product-media { --featured-scale: .96; --featured-hover-scale: .978; }
.featured-product-track .product-card-body { min-height: 145px; display: flex; align-items: center; flex-direction: column; padding: .4rem .65rem .7rem; text-align: center; }
.featured-product-track .product-card-body h3 { min-height: 2.4em; max-width: 270px; margin-bottom: .4rem; color: #17172a; font-size: .9rem; line-height: 1.2; text-transform: uppercase; }
.featured-product-track .product-card-body > p:not(.product-kicker) { min-height: 3em; max-width: 270px; display: -webkit-box; overflow: hidden; margin: 0; color: #686b76; font-size: .72rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.featured-product-track .product-kicker { width: auto; min-height: 0; display: inline-flex; margin: 0 0 .55rem; padding: .16rem .45rem; background: #eef0f5; color: #6d7687; line-height: 1.2; }
.featured-product-link:focus-visible { border-radius: 8px; outline-offset: 4px; }
.product-kicker { margin-bottom: .7rem; border-radius: 2px; padding: .2rem .45rem; background: #e7e9f1; color: #647087; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-banner { overflow: hidden; border-block: 1px solid var(--line); background: #fff; }
.campaign-banner img { width: 100%; max-height: 510px; object-fit: cover; object-position: center; }
.needs-section { padding-block: clamp(4.75rem, 6.5vw, 6.5rem); background: #fbfcfb; }
.needs-section .compact-heading { margin-inline: auto; margin-bottom: clamp(3rem, 4vw, 4rem); text-align: center; }
.needs-section .compact-heading .eyebrow { margin-bottom: 1.1rem; }
.needs-section .compact-heading h2 { margin-bottom: 1.15rem; }
.compact-heading > p:not(.eyebrow) { max-width: 660px; margin-inline: auto; color: var(--muted); line-height: 1.75; }
.need-grid { display: grid; max-width: 1120px; grid-template-columns: repeat(4, 1fr); gap: clamp(.85rem, 1.5vw, 1.25rem); margin-inline: auto; }
.need-grid a { display: grid; min-height: 128px; place-content: center; gap: .35rem; border: 1px solid #e1e4f1; border-top: 2px solid #929bda; border-radius: 6px; padding: 1.35rem 1.1rem; background: #fafaff; color: var(--navy); text-align: center; text-decoration: none; transition: background .22s ease, border-color .22s ease, transform .22s ease; }
.need-grid a:hover { border-color: #c9c7e3; background: #f0eef8; color: var(--navy); transform: translateY(-2px); }
.need-grid strong { color: inherit; font-size: .9rem; }
.need-grid small { color: #76819b; font-size: .7rem; line-height: 1.55; }
.need-grid a:hover small { color: #646c85; }

.campaign-slider { position: relative; overflow: hidden; border-block: 1px solid var(--line); background: #fff; }
.campaign-viewport { position: relative; width: 100%; aspect-ratio: 3 / 1; }
.campaign-slide { position: absolute; visibility: hidden; inset: 0; opacity: 0; transform: translateX(2%); transition: opacity .55s ease, transform .55s ease, visibility .55s; }
.campaign-slide.is-active { visibility: visible; opacity: 1; transform: translateX(0); }
.campaign-artwork-link { display: block; width: 100%; height: 100%; background: #f5f7f7; }
.campaign-artwork-link img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.campaign-artwork-ph5 .campaign-artwork-link { background: #19785c; }
.campaign-artwork-ph5 .campaign-artwork-link img, .campaign-artwork-ultra .campaign-artwork-link img { object-fit: contain; }
.campaign-artwork-ultra .campaign-artwork-link { background: #eefafb; }
.campaign-artwork-link:focus-visible { outline-offset: -5px; }
.campaign-layout { height: 100%; display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); align-items: stretch; gap: clamp(2.5rem, 5vw, 5rem); }
.campaign-copy { z-index: 2; max-width: 540px; align-self: center; padding-block: 4rem 5.5rem; }
.campaign-copy h2 { max-width: 540px; margin-bottom: 1.15rem; font-size: clamp(2.35rem, 3.6vw, 3.8rem); }
.campaign-copy > p:not(.eyebrow) { max-width: 490px; margin-bottom: 2rem; color: #5f6f78; font-size: .94rem; line-height: 1.75; }
.campaign-copy .eyebrow { margin-bottom: 1rem; }
.campaign-drop { width: 50px; margin-bottom: 1.4rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; opacity: .7; }
.campaign-product-stage, .campaign-photo, .campaign-model-stage { position: relative; min-width: 0; min-height: 100%; overflow: hidden; }
.campaign-product-stage { display: grid; place-items: center; isolation: isolate; }
.campaign-product-stage::before { content: ""; position: absolute; z-index: -1; width: min(510px, 88%); aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.95); box-shadow: 0 30px 80px rgba(31,91,72,.13); }
.campaign-product-stage img { position: relative; z-index: 2; width: min(405px, 72%); max-height: 525px; object-fit: contain; filter: drop-shadow(0 24px 20px rgba(28,75,61,.15)); }
.campaign-orbit { position: absolute; z-index: 1; width: min(570px, 98%); aspect-ratio: 1; border: 1px solid rgba(47,111,92,.22); border-radius: 50%; }
.campaign-photo { margin-inline: calc((100vw - min(1280px, calc(100vw - 3rem))) / -2) 0; }
.campaign-photo-right .campaign-photo { margin-inline: 0 calc((100vw - min(1280px, calc(100vw - 3rem))) / -2); }
.campaign-photo img { position: absolute; top: 0; bottom: 0; width: auto; max-width: none; height: 100%; object-fit: cover; filter: saturate(.8) contrast(.94) brightness(1.04); }
.campaign-photo-left .campaign-photo img { left: 0; }
.campaign-photo-right .campaign-photo img { right: 0; }
.campaign-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 68%, var(--campaign-bg, #f5f8f8)); }
.campaign-photo-right .campaign-photo::after { background: linear-gradient(90deg, var(--campaign-bg, #f5f8f8), transparent 32%); }
.campaign-model-stage { margin-inline: calc((100vw - min(1280px, calc(100vw - 3rem))) / -2) 0; isolation: isolate; }
.campaign-model-stage::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, transparent 62%, var(--campaign-bg, #f5f8f8) 100%); pointer-events: none; }
.campaign-model-photo { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; filter: saturate(.78) contrast(.94) brightness(1.055); }
.campaign-model-product { position: absolute; z-index: 3; right: 3%; bottom: 6%; width: min(300px, 40%); height: 76%; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(42,38,67,.14)); }
.campaign-model-product-tall { right: 11%; bottom: 2%; width: min(310px, 43%); height: 84%; }
.campaign-model-product-small { right: -1%; bottom: 6%; width: min(220px, 29%); height: 48%; }
.campaign-model-hyper .campaign-model-photo { object-position: 9% center; }
.campaign-model-hyper .campaign-model-product { right: 3%; bottom: 6%; height: 74%; }
.campaign-bodywash { position: absolute; isolation: isolate; }
.campaign-bodywash-visual { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.campaign-bodywash-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.84) contrast(.96) brightness(1.025); }
.campaign-bodywash-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,248,250,.97) 0%, rgba(244,248,250,.88) 34%, rgba(244,248,250,.12) 58%, transparent 74%); }
.campaign-bodywash-layout { position: relative; z-index: 2; grid-template-columns: minmax(340px, .82fr) 1.18fr; }
.campaign-ph5 { background: linear-gradient(90deg, #34745f 0 52%, #eff8f4 52%); color: #fff; }
.campaign-ph5::before { content: ""; position: absolute; top: -28%; bottom: -28%; left: 44%; width: 24%; border-radius: 50%; background: #eff8f4; transform: rotate(8deg); }
.campaign-ph5 .campaign-copy h2 { color: #fff; }
.campaign-ph5 .campaign-copy .eyebrow { color: #c8ebdf; }
.campaign-ph5 .campaign-copy > p:not(.eyebrow) { color: rgba(255,255,255,.82); }
.campaign-ultra { --campaign-bg: #eff9f7; background: linear-gradient(110deg, #eff9f7, #f8fbfb); }
.campaign-ultra .eyebrow { color: #2b806b; }
.campaign-atopica { --campaign-bg: #fbf4f4; background: linear-gradient(110deg, #fbf4f4, #faf9fb); }
.campaign-atopica .eyebrow { color: #b85b63; }
.campaign-hyper { --campaign-bg: #f3f6f7; background: linear-gradient(110deg, #f3f6f7, #fbfcfc); }
.campaign-hyper .eyebrow { color: #60717a; }
.campaign-bodywash { --campaign-bg: #edf3f7; background: linear-gradient(110deg, #edf3f7, #f8fafb); }
.campaign-bodywash .eyebrow { color: #637b96; }
.button-campaign { border-color: var(--navy); background: var(--navy); color: #fff; }
.campaign-ph5 .button-campaign { border-color: #fff; background: #fff; color: var(--green-dark); }
.campaign-controls { position: relative; z-index: 8; display: flex; min-height: 66px; align-items: center; justify-content: center; gap: .7rem; pointer-events: none; }
.campaign-controls button { pointer-events: auto; }
.campaign-dots { display: flex; gap: .5rem; align-items: center; padding: .55rem .75rem; border-radius: 999px; background: rgba(255,255,255,.82); box-shadow: 0 6px 20px rgba(40,45,72,.08); backdrop-filter: blur(8px); }
.campaign-dots button { width: 7px; height: 7px; border: 0; border-radius: 50%; padding: 0; background: #b8bdd0; cursor: pointer; transition: width .2s ease, background .2s ease; }
.campaign-dots button.is-active { width: 22px; border-radius: 99px; background: var(--navy); }
.campaign-controls .campaign-pause { width: auto; min-width: 68px; border-radius: 999px; padding-inline: .75rem; font-size: .62rem; font-weight: 700; }

/* V25: fondos editoriales continuos y envases oficiales integrados sin pedestales. */
.campaign-ai { overflow: hidden; background: #f5f8f8; isolation: isolate; }
.campaign-ai-background { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.campaign-ai::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.campaign-ai-layout { position: relative; z-index: 2; height: 100%; }
.campaign-ai-copy { position: absolute; z-index: 4; top: 50%; left: 0; width: 42%; transform: translateY(-50%); }
.campaign-ai-copy .eyebrow { margin-bottom: .75rem; color: #61778a; }
.campaign-ai-copy h2 { max-width: 590px; margin-bottom: .85rem; color: var(--navy-dark); font-size: clamp(2rem, 3.25vw, 3.7rem); line-height: 1.02; }
.campaign-ai-copy > p:not(.eyebrow) { max-width: 470px; margin-bottom: 1.4rem; color: #5e6d79; font-size: clamp(.82rem, 1.05vw, 1rem); line-height: 1.55; }
.campaign-ai-products { position: absolute; z-index: 3; display: flex; align-items: flex-end; justify-content: center; pointer-events: none; isolation: isolate; }
.campaign-ai-products::after { content: ""; position: absolute; z-index: 0; right: 16%; bottom: 2%; left: 16%; height: 7%; border-radius: 50%; background: radial-gradient(ellipse, rgba(38,48,61,.25), rgba(38,48,61,.09) 45%, transparent 72%); filter: blur(8px); opacity: .72; }
.campaign-ai-products img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 13px 13px rgba(37,47,62,.18)) brightness(.985) contrast(1.025) saturate(.94); }
.campaign-ai-single { top: 6%; right: 2%; bottom: 2%; width: 43%; }
.campaign-ai-ph5::after { background: linear-gradient(90deg, rgba(18,90,69,.13), transparent 43%); }
.campaign-ai-ph5 .campaign-ai-copy h2 { color: #fff; }
.campaign-ai-ph5 .campaign-ai-copy .eyebrow { color: #c7eee1; }
.campaign-ai-ph5 .campaign-ai-copy > p:not(.eyebrow) { color: rgba(255,255,255,.86); }
.campaign-ai-ph5 .button-campaign { border-color: #fff; background: #fff; color: var(--green-dark); }
.campaign-ai-ph5 .campaign-ai-single { top: 8%; right: 8%; bottom: 7%; width: 30%; }
.campaign-ai-ph5 .campaign-ai-products::after { background: radial-gradient(ellipse, rgba(4,45,35,.34), rgba(4,45,35,.12) 47%, transparent 73%); }
.campaign-ai-ultra .campaign-ai-single { top: 7%; right: 7%; bottom: 5%; width: 29%; }
.campaign-ai-ultra .campaign-ai-products::after { background: radial-gradient(ellipse, rgba(68,139,150,.22), rgba(68,139,150,.07) 50%, transparent 74%); }
.campaign-ai-atopica::after { background: linear-gradient(90deg, transparent 34%, rgba(250,247,247,.08) 52%, rgba(250,247,247,.52) 100%); }
.campaign-ai-atopica .campaign-ai-copy { right: 0; left: auto; width: 36%; }
.campaign-ai-atopica .campaign-ai-copy .eyebrow { color: #b65b61; }
.campaign-ai-atopica .campaign-ai-duo { top: 8%; right: 39%; bottom: 6%; width: 28%; gap: 0; }
.campaign-ai-atopica .campaign-ai-duo img:first-child { width: 69%; height: 100%; }
.campaign-ai-atopica .campaign-ai-duo img:last-child { width: 42%; height: 62%; margin-left: -14%; }
.campaign-ai-atopica .campaign-ai-duo img:first-child { transform: none; }
.campaign-ai-atopica .campaign-ai-duo img:last-child { transform: translateX(-4%); }
.campaign-ai-hyper::after { background: linear-gradient(90deg, transparent 24%, rgba(248,250,250,.38) 44%, transparent 76%); }
.campaign-ai-hyper .campaign-ai-copy { left: 8%; width: 39%; }
.campaign-ai-hyper .campaign-ai-single { top: 10%; right: 10%; bottom: 6%; width: 22%; transform: none; }
.campaign-ai-hyper .campaign-ai-products::after { background: radial-gradient(ellipse, rgba(85,98,111,.22), rgba(85,98,111,.07) 50%, transparent 74%); }
.campaign-ai-bodywash::after { background: linear-gradient(90deg, rgba(241,247,249,.36), transparent 58%); }
.campaign-ai-bodywash .campaign-ai-single { top: 7%; right: -1%; bottom: 9%; width: 31%; transform: rotate(1.4deg); transform-origin: 54% 80%; }
.campaign-ai-bodywash .campaign-ai-products::after { display: none; }
.campaign-ai-bodywash .campaign-ai-products img { filter: drop-shadow(0 8px 10px rgba(37,47,62,.16)) brightness(1.01) contrast(1.02) saturate(.92); }
.campaign-ai-bodywash .campaign-ai-copy { width: 44%; }
.campaign-ai-bodywash .campaign-ai-copy h2 { max-width: 620px; }

/* V26: imágenes oficiales integradas en escenas continuas, sin mesas ni pedestales. */
.campaign-ai-lifestyle { position: absolute; z-index: 2; top: -8%; right: 1%; width: 44%; height: 116%; object-fit: contain; object-position: center; filter: saturate(.93) contrast(1.015) brightness(1.01); -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 15%, #000 42%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.28) 15%, #000 42%, #000 100%); pointer-events: none; }
.campaign-ai .campaign-ai-products { display: none; }
.campaign-ai-ph5 .campaign-ai-background, .campaign-ai-ultra .campaign-ai-background { display: none; }
.campaign-ai-ph5 { background: radial-gradient(ellipse at 77% 43%, rgba(245,241,228,.98) 0 16%, rgba(245,241,228,.82) 26%, transparent 46%), linear-gradient(108deg, #0b4e40 0%, #176755 54%, #edf0e7 73%, #f8f7f2 100%); }
.campaign-ai-ph5::after { background: linear-gradient(90deg, rgba(4,43,35,.2), transparent 57%); }
.campaign-ai-ph5 .campaign-ai-lifestyle { right: 1%; width: 45%; object-position: right center; }
.campaign-ai-ultra { background: radial-gradient(ellipse at 30% 50%, rgba(152,224,228,.34), transparent 43%), radial-gradient(ellipse at 74% 45%, rgba(230,250,250,.62), transparent 33%), linear-gradient(115deg, #f8fcfc 0%, #e8f8f8 52%, #fbfdfd 100%); }
.campaign-ai-ultra::after { background: linear-gradient(90deg, rgba(248,252,252,.34), transparent 54%); }
.campaign-ai-ultra .campaign-ai-lifestyle { right: 3%; width: 41%; object-position: right center; }
.campaign-ai-atopica .campaign-ai-lifestyle { right: 36%; width: 28%; object-position: center; }
.campaign-ai-atopica::after { background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.1) 45%, rgba(255,251,248,.23) 100%); }
.campaign-ai-hyper .campaign-ai-copy { left: 39%; width: 30%; }
.campaign-ai-hyper .campaign-ai-lifestyle { top: 1%; right: 0; width: 33%; height: 99%; object-fit: cover; object-position: 77% center; filter: saturate(.9) contrast(.98) brightness(1.035); }
.campaign-ai-hyper::after { background: linear-gradient(90deg, rgba(246,249,250,.16), transparent 55%); }
.campaign-ai-bodywash .campaign-ai-background { object-position: center; }
.campaign-ai-bodywash::after { background: linear-gradient(90deg, rgba(241,247,249,.45), transparent 57%); }

/* V28: una única escena fotográfica por banner; sin recortes duplicados ni texto incrustado. */
.campaign-ai-ph5 { background: radial-gradient(ellipse at 28% 58%, rgba(33,127,100,.52), transparent 41%), linear-gradient(108deg, #075342 0%, #116955 43%, #dce5dc 72%, #f5f3ed 100%); }
.campaign-ai-ph5::after { background: linear-gradient(90deg, rgba(2,54,42,.42) 0%, rgba(3,75,59,.16) 40%, transparent 68%); }
.campaign-ai-ph5 .campaign-ai-lifestyle { right: 0; width: 47%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.06) 10%, #000 34%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.06) 10%, #000 34%, #000 100%); }
.campaign-ai-atopica .campaign-ai-background { display: none; }
.campaign-ai-atopica { background: radial-gradient(ellipse at 78% 45%, rgba(255,246,241,.96), transparent 37%), linear-gradient(110deg, #f4ecea 0%, #faf7f5 50%, #eee6e1 100%); }
.campaign-ai-atopica::after { background: linear-gradient(90deg, rgba(248,241,238,.26), transparent 62%); }
.campaign-ai-atopica .campaign-ai-copy { right: auto; left: 8%; width: 38%; }
.campaign-ai-atopica .campaign-ai-lifestyle { right: 1%; width: 44%; height: 112%; object-position: center; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 13%, #000 37%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 13%, #000 37%, #000 100%); }
.campaign-ai-hyper .campaign-ai-lifestyle { display: none; }
.campaign-ai-hyper .campaign-ai-products { display: flex; top: 13%; right: 9%; bottom: 8%; width: 20%; }
.campaign-ai-hyper .campaign-ai-products::after { display: none; }
.campaign-ai-hyper .campaign-ai-products img { filter: drop-shadow(0 12px 16px rgba(62,73,83,.11)) brightness(1.01) contrast(1.015); }

/* V29: transiciones más orgánicas entre color y fotografía; producto Hiperhidrosis con mayor presencia. */
.campaign-ai-ph5 { background: radial-gradient(ellipse at 43% 54%, rgba(63,145,119,.54), transparent 36%), linear-gradient(104deg, #075340 0%, #0e6855 45%, #b9d0c1 68%, #f2f4ef 100%); }
.campaign-ai-ph5 .campaign-ai-lifestyle { right: -3%; width: 56%; opacity: .94; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 26%, #000 68%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 26%, #000 68%, #000 100%); }
.campaign-ai-atopica { background: radial-gradient(ellipse at 63% 52%, rgba(244,218,207,.48), transparent 43%), linear-gradient(105deg, #f2e8e4 0%, #f8f3f0 53%, #e8ddd8 100%); }
.campaign-ai-atopica .campaign-ai-lifestyle { right: -3%; width: 56%; opacity: .95; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 25%, #000 70%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 25%, #000 70%, #000 100%); }
.campaign-ai-hyper .campaign-ai-products { top: 5%; right: 6%; bottom: 2%; width: 27%; }

/* V30: degradación reservada para el texto; imagen nítida y luminosa al costado derecho. */
.campaign-ai-ph5::after { background: linear-gradient(90deg, rgba(0,54,41,.68) 0%, rgba(1,72,56,.48) 34%, rgba(15,103,81,.16) 54%, transparent 74%); }
.campaign-ai-ph5 .campaign-ai-lifestyle { opacity: 1; filter: saturate(1.02) contrast(1.035) brightness(1.025); }
.campaign-ai-ultra::after { background: linear-gradient(90deg, rgba(239,251,251,.9) 0%, rgba(239,251,251,.68) 35%, rgba(239,251,251,.18) 57%, transparent 77%); }
.campaign-ai-ultra .campaign-ai-lifestyle { filter: saturate(1.05) contrast(1.03) brightness(1.025); }
.campaign-ai-atopica::after { background: linear-gradient(90deg, rgba(249,241,237,.88) 0%, rgba(249,241,237,.65) 39%, rgba(249,241,237,.17) 59%, transparent 77%); }
.campaign-ai-atopica .campaign-ai-lifestyle { opacity: 1; filter: saturate(1.02) contrast(1.035) brightness(1.02); }
.campaign-ai-hyper::after { background: linear-gradient(90deg, rgba(244,248,250,.28) 0%, rgba(250,252,252,.67) 41%, rgba(250,252,252,.22) 61%, transparent 80%); }
.campaign-ai-hyper .campaign-ai-background, .campaign-ai-hyper .campaign-ai-products img { filter: saturate(1.03) contrast(1.035) brightness(1.02); }
.campaign-ai-bodywash::after { background: linear-gradient(90deg, rgba(239,246,249,.83) 0%, rgba(239,246,249,.59) 37%, rgba(239,246,249,.14) 58%, transparent 76%); }
.campaign-ai-bodywash .campaign-ai-background { filter: saturate(1.03) contrast(1.025) brightness(1.025); }
.campaign-controls { min-height: 52px; gap: .55rem; }
.campaign-controls > button { width: 34px; height: 34px; font-size: .9rem; }
.campaign-dots { gap: .42rem; padding: .42rem .62rem; box-shadow: 0 4px 14px rgba(40,45,72,.06); }
.campaign-controls .campaign-pause { min-width: 62px; height: 34px; }
.home-guides { padding-top: clamp(5.5rem, 7.5vw, 7.75rem); padding-bottom: clamp(6rem, 8vw, 8.25rem); scroll-margin-top: 96px; }
.home-guides .legacy-heading { margin-bottom: clamp(3rem, 4vw, 4rem); }
.home-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.75rem, 2.3vw, 2.5rem); }
.home-post-card { --post-tint: #dedcf0; display: grid; overflow: hidden; grid-template-rows: auto 1fr; background: #fff; }
.home-post-image { position: relative; display: block; overflow: hidden; background: #fff; isolation: isolate; }
.home-post-image::before { content: ""; position: absolute; z-index: 2; inset: 0; background: var(--post-tint); opacity: .08; mix-blend-mode: multiply; -webkit-mask: url("../media/ui/product-aura.svg") center / 120% 120% no-repeat; mask: url("../media/ui/product-aura.svg") center / 120% 120% no-repeat; transition: opacity .3s ease; pointer-events: none; }
.home-post-image::after { content: ""; position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 22%; background: linear-gradient(180deg, transparent, rgba(255,255,255,.88)); pointer-events: none; }
.home-post-image img { width: 100%; aspect-ratio: 1.55 / 1; object-fit: cover; filter: saturate(.88) contrast(.96) brightness(1.035); transition: transform .3s ease, filter .3s ease; }
.home-post-card:hover .home-post-image::before { opacity: .25; }
.home-post-card:hover .home-post-image img { transform: scale(1.018); filter: saturate(.96) contrast(.98) brightness(1.02); }
.home-post-card[data-post*="atopico"] { --post-tint: #eadde7; }
.home-post-card[data-post*="bromhidrosis"], .home-post-card[data-post*="sudoracion"] { --post-tint: #dce5f3; }
.home-post-card[data-post*="rotulo"] { --post-tint: #e2e0f2; }
.home-post-card > div { display: flex; min-height: 250px; flex-direction: column; padding: 1.55rem 1.45rem 1.7rem; }
.home-post-card h3 { min-height: 2.5em; margin-bottom: 1.05rem; font-size: 1.1rem; text-transform: uppercase; }
.home-post-card h3 a { text-decoration: none; }
.home-post-card > div > p:not(.post-label) { color: var(--muted); font-size: .8rem; }
.home-post-card .text-link { margin-top: auto; align-self: flex-start; }
.post-label { margin-bottom: 1rem; color: var(--blue); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.responsibility-strip { position: relative; border-top: 1px solid var(--lavender-deep); padding-block: clamp(4.25rem, 5.5vw, 5.5rem); background: linear-gradient(112deg, #eeecf7 0%, #e7eafb 54%, #f6f5fb 100%); color: var(--ink); }
.responsibility-grid { display: grid; grid-template-columns: 1fr 1.15fr auto; gap: clamp(3rem, 5vw, 5rem); align-items: center; }
.responsibility-strip h2 { margin: 0; color: var(--navy); }
.responsibility-strip .eyebrow { margin-bottom: 1rem; color: var(--blue); }
.responsibility-strip p { margin: 0; color: #5f6680; font-size: .85rem; line-height: 1.7; }
.responsibility-strip .button-light { border-color: var(--navy); background: var(--navy); color: #fff; }
.responsibility-strip .button-light:hover { border-color: var(--blue); background: var(--blue); }

.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem 1.35rem; }
.product-grid .product-card { display: grid; grid-template-rows: auto 1fr; }
.product-grid .product-media { aspect-ratio: 1 / .84; }
.product-card { --product-tint-strong: #dcd5f0; overflow: visible; border: 0; border-radius: 0; background: transparent; text-align: center; transition: transform .3s ease; }
.product-card:hover { background: transparent; box-shadow: none; transform: translateY(-3px); }
.product-media { position: relative; display: grid; aspect-ratio: 1 / .98; place-items: center; overflow: visible; border: 0; background: transparent; isolation: isolate; }
.product-media::before { display: none; }
.product-media::after { content: ""; position: absolute; z-index: 0; right: 24%; bottom: 8%; left: 24%; height: 7%; border-radius: 50%; background: radial-gradient(ellipse, rgba(75,57,132,.2), transparent 70%); opacity: 0; filter: blur(7px); transition: opacity .34s ease, transform .34s ease; }
.product-media img { width: 82%; height: 82%; object-fit: contain; }
.product-media .product-aura-silhouette { position: absolute; z-index: 0; opacity: .075; transform: scale(1.012); filter: brightness(0) saturate(100%) invert(61%) sepia(15%) saturate(1112%) hue-rotate(210deg) brightness(94%) blur(9px); transition: opacity .36s ease, transform .36s ease, filter .36s ease; pointer-events: none; }
.product-media .product-cutout { position: relative; z-index: 1; mix-blend-mode: normal; filter: drop-shadow(0 8px 12px rgba(57,49,86,.025)); transition: transform .36s ease, filter .36s ease; }
.product-card:hover .product-aura-silhouette, .product-card:focus-within .product-aura-silhouette { opacity: .24; transform: scale(1.025); filter: brightness(0) saturate(100%) invert(61%) sepia(15%) saturate(1112%) hue-rotate(210deg) brightness(96%) blur(12px); }
.product-card:hover .product-media::after, .product-card:focus-within .product-media::after { opacity: .55; transform: scaleX(1.08); }
.product-card:hover .product-cutout, .product-card:focus-within .product-cutout { transform: scale(1.018); filter: drop-shadow(0 15px 20px rgba(57,49,86,.085)); }
.product-grid.is-filtered .product-card:not([hidden]) { box-shadow: none; }
.product-chip { display: none; }
.product-card-body { min-height: 174px; display: flex; align-items: center; flex-direction: column; border-top: 0; padding: .5rem .9rem 1rem; }
.product-card-body h2, .product-card-body h3 { min-height: 2.35em; margin-bottom: .45rem; font-size: 1rem; line-height: 1.18; }
.product-card-body h2 a, .product-card-body h3 a { text-decoration: none; }
.product-card-body p { min-height: 3.2em; margin-bottom: .65rem; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.product-card-body .text-link { margin-top: auto; }
.text-link { display: inline-flex; gap: .35rem; color: var(--blue); font-size: .76rem; font-weight: 800; text-underline-offset: .2rem; }

.catalog-categories { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: -1rem auto 3rem; }
.catalog-categories button { min-height: 38px; border: 1px solid #dbe2eb; border-radius: 999px; padding: .55rem 1rem; background: #fff; color: #5d687d; font-size: .7rem; font-weight: 800; cursor: pointer; transition: background .18s ease, border-color .18s ease, color .18s ease; }
.catalog-categories button:hover { border-color: #bcc9e8; color: var(--navy); }
.catalog-categories button.is-active { border-color: var(--navy); background: var(--navy); color: #fff; box-shadow: 0 8px 18px rgba(56,36,117,.14); }

.evidence-band { border-top: 1px solid var(--navy); border-bottom: 1px solid var(--navy); padding-block: clamp(4rem, 6vw, 6rem); background: var(--navy-dark); color: #fff; }
.evidence-band h2 { color: #fff; }
.evidence-band .eyebrow { color: #92a4ff; }
.evidence-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 4rem; align-items: start; }
.evidence-grid > .button { justify-self: start; }
.evidence-intro-copy { max-width: 400px; color: #c7cdef; font-size: .85rem; }
.evidence-points { display: grid; border-top: 1px solid rgba(255,255,255,.2); }
.evidence-points p { display: grid; grid-template-columns: 34px 1fr; margin: 0; border-bottom: 1px solid rgba(255,255,255,.2); padding: 1rem 0; color: #c7cdef; font-size: .82rem; }
.evidence-points span { grid-row: 1 / 3; color: #92a4ff; font-size: .64rem; font-weight: 800; }
.evidence-points strong { color: #fff; }

.editorial-preview { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.editorial-image { border: 1px solid var(--line); background: var(--surface); }
.editorial-image img { width: 100%; aspect-ratio: 1.15 / 1; object-fit: cover; }
.editorial-preview > div:last-child { max-width: 550px; }
.editorial-preview > div:last-child p:not(.eyebrow) { color: var(--muted); }

.page-hero { border-bottom: 1px solid var(--line); padding-block: clamp(2.5rem, 3.6vw, 3.6rem); background: linear-gradient(125deg, #fff, var(--blue-mist)); }
.page-hero h1 { max-width: 900px; margin-bottom: 0; font-size: clamp(2.65rem, 3.8vw, 4rem); }
.page-hero p:not(.eyebrow) { max-width: 620px; margin-bottom: 0; color: var(--muted); font-size: .85rem; }
.page-hero-grid { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(340px, 1.2fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.page-hero-grid > p { justify-self: end; }
.editorial-hero, .catalog-hero { background: var(--surface); }
.breadcrumbs { min-height: 42px; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding-block: .55rem; color: #7d8799; font-size: .66rem; line-height: 1.35; }
.breadcrumbs a { color: #667289; text-decoration-color: #c6ccda; text-underline-offset: .16rem; }
.breadcrumbs span[aria-current="page"] { overflow: hidden; max-width: min(62ch, 70vw); text-overflow: ellipsis; white-space: nowrap; }
.catalog-tools { display: grid; grid-template-columns: 1fr auto; gap: .55rem 1rem; max-width: 760px; margin: 0 auto 2.5rem; }
.catalog-tools label { grid-column: 1 / -1; color: var(--navy); font-size: .8rem; font-weight: 800; }
.catalog-tools input { width: 100%; border: 1px solid #b8c1d4; border-radius: var(--radius); padding: .75rem .9rem; background: #fff; }
.catalog-tools p { align-self: center; margin: 0; color: var(--muted); font-size: .75rem; }

.blog-index { padding-top: clamp(3rem, 5vw, 4.75rem); }
.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.post-card { --post-tint: #dedcf0; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 12px 34px rgba(45,55,88,.05); transition: transform .2s ease, box-shadow .2s ease; }
.post-card:hover { box-shadow: 0 18px 42px rgba(45,55,88,.09); transform: translateY(-3px); }
.post-card[data-post*="atopico"] { --post-tint: #eadde7; }
.post-card[data-post*="bromhidrosis"], .post-card[data-post*="sudoracion"] { --post-tint: #dce5f3; }
.post-card[data-post*="rotulo"] { --post-tint: #e2e0f2; }
.post-media { position: relative; display: block; overflow: hidden; border-bottom: 0; background: #fff; isolation: isolate; }
.post-media::before { content: ""; position: absolute; z-index: 2; inset: 0; background: var(--post-tint); opacity: .08; mix-blend-mode: multiply; -webkit-mask: url("../media/ui/product-aura.svg") center / 125% 125% no-repeat; mask: url("../media/ui/product-aura.svg") center / 125% 125% no-repeat; transition: opacity .3s ease; pointer-events: none; }
.post-media::after { content: ""; position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 24%; background: linear-gradient(180deg, transparent, rgba(255,255,255,.94)); pointer-events: none; }
.post-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; filter: saturate(.86) contrast(.96) brightness(1.035); transition: transform .3s ease, filter .3s ease; }
.post-card[data-post*="atopico"] .post-media img { object-position: center 55%; }
.post-card[data-post*="bromhidrosis"] .post-media img { object-position: center 68%; }
.post-card:hover .post-media::before { opacity: .25; }
.post-card:hover .post-media img { transform: scale(1.018); filter: saturate(.95) contrast(.98) brightness(1.02); }
.post-body { display: flex; flex: 1; flex-direction: column; padding: 1.3rem; }
.post-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.post-card h2 { min-height: 2.7em; font-size: clamp(1.15rem, 1.65vw, 1.45rem); }
.post-card h2 a { text-decoration: none; }
.post-card p { min-height: 5em; color: var(--muted); font-size: .78rem; }
.post-card .text-link { margin-top: auto; }
.health-callout { display: grid; grid-template-columns: .4fr 1fr; gap: 2rem; margin-bottom: 6rem; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; background: var(--surface); }
.health-callout p { margin: 0; font-size: .82rem; }

.product-detail { display: grid; max-width: 1180px; grid-template-columns: 1.06fr .94fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.product-main-wrap { --product-tint-strong: #dcd5f0; position: relative; min-height: 560px; display: grid; place-items: center; overflow: visible; border: 0; border-radius: 0; background: radial-gradient(circle, #faf9fd 0 42%, transparent 68%); isolation: isolate; }
.product-main-wrap::before { display: none; }
.product-main-aura { position: absolute; z-index: 0; width: 88%; aspect-ratio: 1; object-fit: contain; opacity: .08; transform: scale(1.012); filter: brightness(0) saturate(100%) invert(61%) sepia(15%) saturate(1112%) hue-rotate(210deg) brightness(94%) blur(11px); transition: opacity .36s ease, transform .36s ease, filter .36s ease; pointer-events: none; }
.product-main-wrap:hover .product-main-aura { opacity: .25; transform: scale(1.025); filter: brightness(0) saturate(100%) invert(61%) sepia(15%) saturate(1112%) hue-rotate(210deg) brightness(96%) blur(14px); }
.product-main-image { position: relative; z-index: 1; width: 88%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: normal; filter: drop-shadow(0 9px 14px rgba(57,49,86,.04)); transition: transform .34s ease, filter .34s ease; }
.product-main-wrap:hover .product-main-image { transform: scale(1.02); filter: drop-shadow(0 18px 24px rgba(57,49,86,.13)); }
.product-thumbnails { display: flex; gap: .55rem; overflow-x: auto; padding-top: .7rem; }
.product-thumbnails button { flex: 0 0 70px; border: 0; border-radius: var(--radius); padding: .2rem; background: transparent; }
.product-thumbnails img { width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: normal; }
.product-copy { position: sticky; top: 105px; }
.product-copy h1 { font-size: clamp(2.3rem, 4vw, 4rem); }
.lead { color: var(--muted); font-size: 1rem; }
.product-description { max-width: 590px; margin-top: 1.2rem; color: #505d70; font-size: .84rem; line-height: 1.72; }
.product-description p { margin-bottom: .7rem; }
.status-card { display: grid; grid-template-columns: 12px 1fr; gap: .75rem; margin-top: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); padding: .9rem; background: var(--surface); }
.status-card p { margin: .2rem 0 0; color: var(--muted); font-size: .72rem; }
.status-dot { width: 9px; height: 9px; margin-top: .35rem; border-radius: 50%; background: #d19a18; }
.status-card.is-verified { border-color: #cfe5dc; background: #f2f8f5; }
.status-card.is-verified .status-dot { background: var(--green); }
.retailer-panel { margin-top: 2.25rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
.retailer-panel h2 { margin: 0; color: var(--navy); font-size: 1.3rem; }
.retailer-links { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .95rem; }
.retailer-links a { display: inline-flex; width: 142px; min-height: 58px; align-items: center; justify-content: center; border: 1px solid #e4e7ef; border-radius: 5px; padding: .65rem .8rem; background: #fff; color: var(--navy); font-size: .72rem; font-weight: 800; text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.retailer-links a img { width: 106px; max-height: 31px; object-fit: contain; object-position: center; }
.retailer-links a:hover { border-color: var(--blue); background: var(--blue-soft); }
.retailer-links a:hover { transform: translateY(-2px); }
.technical-intro { max-width: 390px; color: var(--muted); font-size: .82rem; }
.product-info-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5rem; }
.info-list { border-top: 1px solid var(--line); }
.info-list > div { display: grid; grid-template-columns: 165px 1fr; gap: 2rem; border-bottom: 1px solid var(--line); padding: 1.15rem 0; }
.info-list span { color: var(--navy); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.info-list p { margin: 0; color: var(--muted); font-size: .84rem; }
.audit-note, .health-note { border-left: 3px solid #d39400; border-radius: 3px; padding: .9rem; background: var(--warning); }

.prose { max-width: 780px; }
.prose p { margin-bottom: 1rem; }
.prose h2 { margin-top: 2.5rem; font-size: clamp(1.6rem, 2.5vw, 2.3rem); }
.prose h3 { margin-top: 1.8rem; }
.legal-copy { min-height: 50vh; }
.evidence-page { display: grid; gap: 2.25rem; padding-top: clamp(3.5rem, 5vw, 5rem); }
.evidence-intro { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.evidence-intro h2 { max-width: 600px; margin-bottom: 0; font-size: clamp(2.15rem, 3vw, 3rem); }
.evidence-intro > p { max-width: 560px; margin: 0; justify-self: end; color: var(--muted); font-size: .86rem; }
.evidence-intro-compact { max-width: none; text-align: left; }
.official-box { display: grid; grid-template-columns: 1fr auto; gap: 2.5rem; align-items: center; border-radius: var(--radius); padding: clamp(1.75rem, 3vw, 2.5rem); background: var(--navy-dark); color: #fff; }
.official-box h2 { max-width: 760px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.official-box p:not(.eyebrow) { color: #c7cdef; }
.registry-table-wrap { overflow-x: auto; border: 1px solid var(--line); }
.registry-table { width: 100%; border-collapse: collapse; background: #fff; font-size: .82rem; }
.registry-table th, .registry-table td { border-bottom: 1px solid var(--line); padding: .9rem 1rem; text-align: left; }
.registry-table th { background: var(--blue-soft); color: var(--navy); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.registry-table td:nth-child(2), .registry-table td:nth-child(3) { white-space: nowrap; }
.registry-table a { color: var(--navy); font-weight: 700; text-underline-offset: .18rem; }
.faq-page { display: grid; gap: 2.25rem; max-width: 1180px; padding-top: clamp(3.5rem, 5vw, 5rem); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); padding: 1.15rem 0; }
.faq-list summary { cursor: pointer; color: var(--navy); font-size: 1rem; font-weight: 800; }
.faq-list details p { max-width: 780px; margin: 1rem 0 0; color: var(--muted); font-size: .86rem; }

.article-head { padding-top: 4rem; padding-bottom: 2rem; }
.article-head h1 { max-width: 950px; font-size: clamp(2.3rem, 4.4vw, 4.4rem); }
.article-media { position: relative; overflow: hidden; border-radius: var(--radius); background: #fff; isolation: isolate; }
.article-media::after { content: ""; position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 24%; background: linear-gradient(180deg, transparent, rgba(255,255,255,.93)); pointer-events: none; }
.article-media img { width: 100%; max-height: 640px; object-fit: cover; filter: saturate(.9) contrast(.97) brightness(1.025); }
.article-layout { display: grid; grid-template-columns: .5fr 1.5fr; gap: clamp(2rem, 6vw, 6rem); padding-block: 3.5rem 7rem; align-items: start; }
.article-aside { position: sticky; top: 105px; border-top: 2px solid var(--navy); padding-top: 1rem; }
.article-aside p { color: var(--muted); font-size: .8rem; }
.article-copy .health-note { margin-top: 2.5rem; }
.article-sources { margin-top: 3rem; border-top: 1px solid var(--line); padding-top: 2rem; }
.article-sources h2 { margin-top: 0; font-size: clamp(1.55rem, 2vw, 2rem); }
.article-sources ul { display: grid; gap: .7rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.article-sources li { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: baseline; border-bottom: 1px solid var(--line); padding-bottom: .7rem; }
.article-sources a { color: var(--navy); font-weight: 700; text-underline-offset: .2rem; }
.article-sources span { color: var(--muted); font-size: .7rem; }

.contact-grid { display: grid; max-width: 1180px; grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.15fr); gap: clamp(3rem, 7vw, 6rem); align-items: start; padding-top: clamp(3.5rem, 5vw, 5rem); }
.contact-intro { max-width: 430px; padding-top: .35rem; }
.contact-intro h2 { font-size: clamp(2.15rem, 3vw, 3rem); }
.contact-intro p { color: var(--muted); font-size: .88rem; }
.contact-form { display: grid; gap: .45rem; border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(1.35rem, 2.4vw, 1.85rem); background: #fff; }
.contact-form label { margin-top: .45rem; color: var(--navy); font-size: .78rem; font-weight: 800; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #b8c1d4; border-radius: var(--radius); padding: .75rem; }
.form-errors { border-radius: var(--radius); padding: .9rem; background: #ffe2e2; }
.success { border-radius: var(--radius); padding: .9rem; background: #daf5e4; }
.form-privacy { color: var(--muted); font-size: .74rem; }
.honeypot { position: absolute; left: -10000px; }
.empty-state { min-height: 55vh; text-align: center; }

.site-footer { border-top: 1px solid rgba(56,36,117,.18); padding-top: 0; overflow: hidden; background: #7c86c6; color: #fff; }
.footer-top { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: clamp(2rem, 4vw, 4rem); padding-block: 1rem; }
.footer-social { display: flex; flex-wrap: wrap; gap: .55rem; justify-items: start; }
.footer-social a, .footer-social span { display: block; width: 28px; height: 28px; opacity: .94; }
.footer-social img { width: 100%; height: 100%; }
.footer-links { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: flex-start; gap: clamp(2rem, 3vw, 3.25rem); }
.footer-title { margin: 0; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.site-footer nav { display: grid; min-width: 0; grid-template-columns: repeat(5, max-content); justify-content: start; gap: clamp(1.1rem, 1.9vw, 2rem); }
.site-footer a { color: #f4f5ff; font-size: .66rem; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.24); padding-block: .6rem; background: transparent; color: #f0f2ff; font-size: .58rem; }
.footer-bottom p { margin: 0; }

@media (max-width: 980px) {
  .intro-grid, .responsibility-grid, .product-detail, .editorial-preview, .article-layout, .contact-grid, .evidence-intro, .page-hero-grid { grid-template-columns: 1fr; }
  .page-hero-grid { gap: 1.1rem; }
  .page-hero-grid > p, .evidence-intro > p { justify-self: start; }
  .responsibility-grid { gap: 1.5rem; }
  .need-grid { grid-template-columns: repeat(2, 1fr); }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .featured-product-grid { grid-template-columns: repeat(3, 1fr); }
  .featured-product-track { grid-auto-columns: minmax(225px, calc((100% - 1.8rem) / 3)); }
  .home-post-grid { grid-template-columns: 1fr 1fr; }
  .evidence-grid, .product-info-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .editorial-grid { grid-template-columns: 1fr 1fr; }
  .article-aside, .product-copy { position: static; }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; top: 100%; left: 1.5rem; right: 1.5rem; display: none; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: .5rem; background: #fff; box-shadow: var(--shadow); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: .7rem; }
  .main-nav a::after { display: none; }
  .footer-links { gap: 1.5rem; }
  .site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; }
  .campaign-ai-copy { left: 2%; width: 44%; }
  .campaign-ai-atopica .campaign-ai-copy { right: 2%; left: auto; width: 39%; }
  .campaign-ai-hyper .campaign-ai-copy { left: 36%; width: 39%; }
  .campaign-ai-lifestyle { right: -5%; width: 51%; }
  .campaign-ai-atopica .campaign-ai-lifestyle { right: 31%; width: 34%; }
  .campaign-ai-hyper .campaign-ai-lifestyle { right: -3%; width: 42%; }
  .campaign-ai-atopica .campaign-ai-copy { right: auto; left: 5%; width: 42%; }
  .campaign-ai-hyper .campaign-ai-products { right: 5%; width: 23%; }
}

@media (max-width: 650px) {
  :root { --container: min(100% - 1.5rem, 1280px); }
  body { font-size: 14px; }
  h1 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
  .section { padding-block: 4rem; }
  .header-inner { min-height: 62px; }
  .brand img { width: 165px; }
  .brand-hero { min-height: 700px; }
  .brand-hero::after { background: linear-gradient(180deg, rgba(235,232,246,.98) 0%, rgba(246,245,250,.94) 53%, rgba(255,255,255,.18) 82%); }
  .brand-hero-background { object-position: 68% center; }
  .brand-hero-content { min-height: 700px; grid-template-columns: 1fr; align-content: start; gap: .5rem; padding-top: 2.5rem; }
  .brand-hero-seal { width: 125px; }
  .brand-hero-copy h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
  .campaign-banner img { min-height: 245px; object-position: 58% center; }
  .campaign-ai-lifestyle { right: -18%; width: 75%; opacity: .92; }
  .campaign-ai-atopica .campaign-ai-lifestyle { right: -8%; width: 62%; }
  .campaign-ai-hyper .campaign-ai-lifestyle { right: -18%; width: 72%; }
  .campaign-ai-atopica .campaign-ai-copy { right: auto; left: 5%; width: 55%; }
  .campaign-ai-hyper .campaign-ai-products { right: 2%; width: 30%; }
  .need-grid, .product-grid, .featured-product-grid, .home-post-grid, .editorial-grid, .split-heading, .health-callout { grid-template-columns: 1fr; }
  .need-grid a { min-height: 106px; border: 1px solid #e1e4f1; border-top: 2px solid #929bda; }
  .featured-heading { align-items: center; padding-bottom: 3.25rem; }
  .featured-heading .legacy-heading h2 { font-size: clamp(1.75rem, 8.5vw, 2.4rem); }
  .featured-heading .legacy-heading > span { width: 100%; }
  .slider-arrows { top: auto; right: 50%; bottom: 0; transform: translateX(50%); }
  .slider-arrows button { width: 38px; height: 38px; }
  .featured-product-track { grid-auto-columns: 86%; }
  .campaign-viewport { min-height: 0; aspect-ratio: 2.82 / 1; }
  .campaign-layout { min-height: 720px; }
  .campaign-layout { grid-template-columns: 1fr; gap: 0; }
  .campaign-copy { order: 1; padding-block: 3.6rem 2.4rem; }
  .campaign-copy h2 { font-size: clamp(2.2rem, 10vw, 3.35rem); }
  .campaign-photo, .campaign-product-stage, .campaign-model-stage { order: 2; min-height: 310px; margin-inline: -0.75rem !important; }
  .campaign-photo img { right: auto; left: 0; height: 100%; }
  .campaign-photo-right .campaign-photo img { right: 0; left: auto; }
  .campaign-photo::after, .campaign-photo-right .campaign-photo::after { background: linear-gradient(180deg, var(--campaign-bg, #f5f8f8), transparent 24%); }
  .campaign-ph5 { background: linear-gradient(180deg, #34745f 0 51%, #eff8f4 51%); }
  .campaign-ph5::before { display: none; }
  .campaign-ph5 .campaign-product-stage { min-height: 360px; }
  .campaign-product-stage img { width: min(330px, 70%); }
  .campaign-model-stage::after { background: linear-gradient(180deg, var(--campaign-bg, #f5f8f8), transparent 26%); }
  .campaign-model-photo { object-position: left center; }
  .campaign-model-product { right: 3%; width: 38%; height: 74%; }
  .campaign-model-product-tall { right: 9%; width: 42%; height: 84%; }
  .campaign-model-product-small { right: -1%; width: 30%; height: 47%; }
  .campaign-bodywash-visual::after { background: linear-gradient(180deg, rgba(237,243,247,.98) 0%, rgba(237,243,247,.9) 44%, transparent 72%); }
  .campaign-bodywash-visual img { object-position: 72% bottom; }
  .campaign-bodywash-layout { grid-template-columns: 1fr; }
  .campaign-artwork-link img { object-fit: contain; }
  .campaign-controls { min-height: 58px; }
  .campaign-controls > button { width: 36px; height: 36px; }
  .campaign-controls .campaign-pause { display: none; }
  .campaign-viewport { height: 490px; aspect-ratio: auto; }
  .campaign-ai-background { object-position: center; }
  .campaign-ai::after, .campaign-ai-atopica::after, .campaign-ai-hyper::after, .campaign-ai-bodywash::after { background: linear-gradient(180deg, rgba(248,250,250,.96) 0%, rgba(248,250,250,.72) 46%, transparent 72%); }
  .campaign-ai-layout { width: 100%; }
  .campaign-ai-copy, .campaign-ai-atopica .campaign-ai-copy, .campaign-ai-hyper .campaign-ai-copy, .campaign-ai-bodywash .campaign-ai-copy { top: 2rem; right: 1.25rem; left: 1.25rem; width: auto; transform: none; }
  .campaign-ai-copy h2 { max-width: 390px; margin-bottom: .55rem; font-size: clamp(1.85rem, 9.5vw, 2.8rem); }
  .campaign-ai-copy > p:not(.eyebrow) { max-width: 340px; margin-bottom: 1rem; font-size: .82rem; }
  .campaign-ai-copy .eyebrow { margin-bottom: .45rem; }
  .campaign-ai-ph5::after { background: linear-gradient(180deg, rgba(27,104,80,.82) 0%, rgba(27,104,80,.58) 43%, transparent 72%); }
  .campaign-ai-single, .campaign-ai-ph5 .campaign-ai-single, .campaign-ai-ultra .campaign-ai-single, .campaign-ai-hyper .campaign-ai-single, .campaign-ai-bodywash .campaign-ai-single { top: auto; right: 4%; bottom: 0; width: 58%; height: 58%; }
  .campaign-ai-atopica .campaign-ai-duo { top: auto; right: 3%; bottom: 0; width: 62%; height: 58%; }
  .campaign-ai-atopica .campaign-ai-background { object-position: 36% center; }
  .campaign-ai-hyper .campaign-ai-background { object-position: 40% center; }
  .campaign-ai-bodywash .campaign-ai-background { object-position: 63% center; }
  .product-card-body h2, .product-card-body h3, .product-card-body p { min-height: 0; }
  .featured-product-track .product-card-body h3 { min-height: 2.4em; }
  .featured-product-track .product-card-body > p:not(.product-kicker) { min-height: 3em; }
  .product-main-wrap { min-height: 380px; }
  .retailer-panel > div:first-child { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .home-post-card > div { min-height: 0; }
  .official-box { grid-template-columns: 1fr; }
  .info-list > div { grid-template-columns: 1fr; gap: .35rem; }
  .footer-top { min-height: 0; align-items: flex-start; flex-direction: column; gap: .8rem; padding-block: 1rem; }
  .footer-links { width: 100%; align-items: flex-start; flex-direction: column; gap: .55rem; }
  .site-footer nav { justify-content: flex-start; }
  .footer-bottom { flex-direction: column; }
  .catalog-tools { grid-template-columns: 1fr; }
  .catalog-tools label, .catalog-tools p { grid-column: 1; }
  .article-sources li { grid-template-columns: 1fr; gap: .2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
