/* FORMA campaign: synchronized editorial images and label-color typography. */
.line-switcher{display:none}
.purpose .purpose-isotipo{display:flex;align-items:center;justify-content:center;min-height:0;height:390px;background:var(--cream);border-bottom:1px solid var(--gold)}
.purpose .purpose-isotipo img{width:380px;max-width:90%;height:350px;object-fit:contain;flex:none}
@media(max-width:760px){.purpose .purpose-isotipo{height:230px}.purpose .purpose-isotipo img{width:260px;height:230px}}
/* New line imagery and mission story retain the existing brand tokens. */
.line-fit{color:var(--green)}.line-mind{color:var(--blue)}.line-renew{color:var(--burgundy)}
#detail-line.line-fit{color:var(--green)}#detail-line.line-mind{color:var(--blue)}#detail-line.line-renew{color:var(--burgundy)}
.hero-campaign .lead br::after{content:' '}
.hero-campaign{--hero-accent:var(--green);grid-template-columns:1fr 1fr;min-height:0;max-width:2000px;margin:auto;background:#f5f5ef;padding-bottom:82px}
.hero-campaign[data-hero-line=mind]{--hero-accent:var(--blue)}
.hero-campaign[data-hero-line=renew]{--hero-accent:var(--burgundy)}
.hero-campaign .hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:62px 7% 62px 12%;min-width:0}
.hero-campaign h1{width:100%;font-size:clamp(45px,4.8vw,78px);line-height:1.06;letter-spacing:-.06em}
.hero-prefix{display:block;font-size:.82em;white-space:nowrap;letter-spacing:-.055em}
.hero-word-wrap{display:block;min-height:1.15em;margin-top:12px;overflow:hidden;padding-bottom:.09em}
.hero-campaign #hero-word{display:block;color:var(--hero-accent);font-size:1em;white-space:nowrap;transition:color .5s}
.hero-campaign .lead{margin:23px 0 30px;font-size:18px;max-width:380px}
.hero-campaign .button{background:var(--hero-accent);border-color:var(--hero-accent)}
.hero-campaign .origin-badge{margin-top:30px}
.campaign-gallery{border-left:0;background:#003d33;position:relative;min-height:650px}
.campaign-frames{position:absolute;inset:0}
.hero-campaign .campaign-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 49%;padding:0;opacity:0;transform:scale(1.035);transition:opacity .85s ease,transform 3.2s cubic-bezier(.2,.6,.3,1);animation:none!important;pointer-events:none}
.hero-campaign .campaign-frame.is-active{opacity:1;transform:scale(1)}
.hero-campaign .campaign-frame{object-fit:contain;background:#073e35}
.hero-campaign .campaign-frame[data-hero-image=semax]{background:#10345f}
.hero-campaign .campaign-frame[data-hero-image=nad-plus],.hero-campaign .campaign-frame[data-hero-image=glow-70]{background:#531e2b}
.campaign-gallery figcaption{position:absolute;left:24px;right:24px;bottom:24px;padding:13px 17px;border:1px solid #ffffff55;border-radius:3px;background:#f9f8f1f2;color:var(--ink);z-index:2;font-size:12px;letter-spacing:.1em;gap:10px;align-items:center}
.campaign-gallery figcaption span:last-child{color:var(--ink)}
.hero-playback{position:absolute;top:20px;right:20px;z-index:3}
.hero-playback button{border:1px solid #ffffff80;background:#fffdf3e8;backdrop-filter:blur(12px);color:var(--ink);border-radius:30px;min-height:44px;padding:10px 17px;font-size:13px;display:flex;align-items:center;gap:14px}
.hero-campaign .hero-foot{height:82px;left:6%;right:6%;gap:20px}
.hero-selectors{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.hero-selectors button{font-size:13px;letter-spacing:0;min-height:44px;padding:10px 15px;border-bottom:2px solid transparent;transition:background .2s,border .2s}
.hero-selectors button[aria-pressed=true]{border-bottom-color:currentColor;background:#e7ebe3}
.hero-selectors button:hover{background:#e7ebe3}
.hero-selectors button:first-child{font-family:Orbitron,Arial,sans-serif;font-size:11px}
@keyframes word-enter{from{opacity:0;transform:translateY(75%);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.hero-word-enter{animation:word-enter .65s cubic-bezier(.2,.7,.2,1) both}
.collection{display:flex;flex-direction:column;min-height:300px;background:#f9faf6;position:relative}
.collection-heading{padding:35px 30px 40px;flex:1}
.collection h3{font-size:clamp(60px,6vw,100px);letter-spacing:-.07em}
.collection p{min-height:0;max-width:230px;margin-top:20px;color:var(--muted);font-size:16px}
.collection-bottom{background:transparent;border-top:1px solid var(--gold);color:var(--accent);padding:18px 30px}
.collection:hover{transform:translateY(-4px)}
.filters button[data-filter=fit]{color:var(--green)}
.filters button[data-filter=mind]{color:var(--blue)}
.filters button[data-filter=renew]{color:var(--burgundy)}
.filters button[data-filter=fit][aria-pressed=true]{background:#e0ece4;border-color:var(--green)}
.filters button[data-filter=mind][aria-pressed=true]{background:#e3edf9;border-color:var(--blue)}
.filters button[data-filter=renew][aria-pressed=true]{background:#f6e5e8;border-color:var(--burgundy)}
.care{display:block;padding:64px 6%;border-top:3px solid var(--gold)}
.care-copy{padding:0;border:0;display:grid;grid-template-columns:1.2fr 1fr;column-gap:8%;align-items:start;max-width:1600px;margin:auto}
.care-copy>.eyebrow{grid-column:1/-1;margin-bottom:22px}
.care-copy h2{grid-column:1;grid-row:2 / 4;font-size:clamp(38px,4vw,62px)}
.care-copy>p:not(.eyebrow){margin:0}
.care-copy .text-link{grid-column:2;justify-self:start;margin-top:15px}
@media(min-width:1600px){.hero-campaign .hero-copy{padding-top:80px;padding-bottom:80px}.campaign-gallery{min-height:760px}.hero-campaign h1{font-size:88px}.hero-campaign .lead{font-size:20px}}
@media(min-width:2000px){.header,.section,footer{max-width:2000px;margin-left:auto;margin-right:auto}.hero-campaign .hero-copy{padding-left:12%}.hero-campaign{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(min-width:761px) and (max-width:1100px){.hero-campaign .hero-copy{padding:45px 7% 45px 10%}.hero-campaign h1{font-size:clamp(43px,5.8vw,64px)}.hero-prefix{font-size:.72em}.hero-campaign .eyebrow{font-size:10px}.hero-campaign .lead{font-size:16px}.campaign-gallery{min-height:580px}.hero-selectors{gap:0}.hero-selectors button{padding:8px 10px;font-size:12px}.hero-campaign .hero-foot>a{display:none}.collection-heading{padding:25px 22px 30px}.collection h3{font-size:64px}.collection-bottom{padding:18px 22px}}
@media(max-width:760px){.hero-campaign{display:grid;grid-template-columns:1fr;padding-bottom:0}.hero-campaign .hero-copy{padding:38px 7% 28px;display:block}.hero-campaign .eyebrow{font-size:10px;margin-bottom:20px}.hero-campaign h1{font-size:clamp(49px,11.8vw,76px);line-height:1.03}.hero-prefix{font-size:.64em}.hero-word-wrap{margin-top:8px;min-height:1.15em}.hero-campaign .lead{font-size:16px;line-height:1.5;max-width:450px;margin:16px 0 22px}.hero-campaign .lead br{display:none}.hero-campaign .button{min-height:50px;padding:14px 22px}.hero-campaign .origin-badge{margin-top:20px;display:inline-flex;vertical-align:middle}.campaign-gallery{min-height:0;height:clamp(355px,95vw,530px);border:0}.campaign-gallery figcaption{left:15px;right:15px;bottom:15px;font-size:11px;padding:12px}.hero-playback{top:14px;right:14px}.hero-playback button{font-size:12px}.hero-campaign .hero-foot{position:static;height:auto;padding:12px 5% 17px;display:block}.hero-selectors{display:grid;grid-template-columns:repeat(3,1fr);gap:0 6px}.hero-selectors button{padding:10px 4px;font-size:12px;white-space:nowrap}.hero-campaign .hero-foot>a{display:none}.collection-grid{grid-template-columns:repeat(3,1fr);gap:10px}.collection{min-height:230px}.collection-heading{padding:20px 12px;display:flex;flex-direction:column}.collection h3{font-size:clamp(31px,7.5vw,55px);margin-top:10px}.collection .eyebrow{font-size:9px;letter-spacing:.02em}.collection p{font-size:13px;line-height:1.5;margin-top:18px}.collection-bottom{padding:12px;font-size:12px;gap:8px;min-height:50px}.collection-bottom b{display:none}.care{padding:48px 7%}.care-copy{display:block}.care-copy h2{font-size:42px}.care-copy>p:not(.eyebrow){margin-top:25px}.care-copy .text-link{margin-top:20px}}
@media(max-width:370px){.hero-campaign h1{font-size:46px}.hero-prefix{font-size:.61em}.hero-campaign .hero-copy{padding:30px 7% 24px}.hero-campaign .lead{font-size:15px}.hero-campaign .origin-badge{font-size:12px;margin-top:17px}.collection-grid{grid-template-columns:1fr}.collection{min-height:0}.collection-heading{display:block;padding:24px}.collection h3{font-size:58px}.collection p{font-size:15px;margin-top:10px}.collection-bottom{padding:14px 24px;font-size:14px}.collection .eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-word-enter{animation:none!important}.hero-campaign .campaign-frame{transition:none;transform:none}.collection:hover{transform:none}}

.collection-grid .collection{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.collection-grid .collection .line-visual{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;padding:0;flex:none;transition:transform .5s}
.collection-grid .collection-heading{padding:28px 28px 30px;flex:1}
.collection-grid .collection h3{font-size:clamp(52px,5vw,82px)}
.collection-grid .collection p{margin-top:14px;font-size:16px;max-width:280px;min-height:3em}
.collection-grid .collection-bottom{min-height:56px;align-items:center;padding:16px 28px}
.purpose.care{display:grid;grid-template-columns:1fr 1fr;padding:0;max-width:2000px;margin:auto;border-top:0}
.purpose-visual{min-height:560px;overflow:hidden}
.purpose-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.purpose .care-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:65px 12%;height:100%;gap:0}
.purpose .care-copy h2{font-size:clamp(38px,3.8vw,62px);margin-bottom:26px}
.purpose .care-copy>p:not(.eyebrow){margin:0 0 18px;font-size:17px;max-width:470px}
.purpose .care-copy .text-link{margin-top:10px;min-height:48px;display:inline-flex;align-items:center;gap:30px}
@media(min-width:601px) and (max-width:1000px){.collection-grid .collection-heading{padding:22px 18px}.collection-grid .collection h3{font-size:52px}.collection-grid .collection p{font-size:14px;min-height:4.5em}.collection-grid .collection-bottom{padding:14px 18px}.purpose .care-copy{padding:45px 8%}}
@media(max-width:760px){.purpose.care{grid-template-columns:1fr}.purpose-visual{min-height:0;height:330px}.purpose .care-copy{padding:45px 7%}.purpose .care-copy h2{font-size:42px}.purpose .care-copy>p:not(.eyebrow){font-size:16px}.collection-grid{gap:14px}}
@media(max-width:600px){.collection-grid{grid-template-columns:1fr;gap:24px}.collection-grid .collection .line-visual{aspect-ratio:16/9}.collection-grid .collection-heading{display:block;padding:24px}.collection-grid .collection h3{font-size:60px;margin-top:8px}.collection-grid .collection p{min-height:0;margin-top:12px;max-width:none}.collection-grid .collection-bottom{padding:15px 24px}.collection-grid .collection-bottom b{display:block}.purpose-visual{height:280px}}
@media(prefers-reduced-motion:reduce){.collection-grid .line-visual{transition:none}}

/* Image-first mobile opening; keyboard control stays available on focus. */
.hero-playback{position:absolute;top:16px;right:16px}
.hero-playback button:not(:focus-visible){position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;opacity:0}
.campaign-gallery{-webkit-touch-callout:none;user-select:none;touch-action:pan-y pinch-zoom}
.campaign-frame{-webkit-user-drag:none}
@media(max-width:760px){.hero-campaign .campaign-gallery{order:-1;height:clamp(280px,80vw,420px)}.hero-campaign .hero-copy{padding-top:28px}.campaign-gallery figcaption{bottom:10px;padding:8px 12px;font-size:10px;left:12px;right:12px}}

/* r4: no hidden pause button, generous card imagery, compact actual-vial story. */
.campaign-gallery:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}
.collection-grid .collection .line-visual{height:auto;aspect-ratio:1.15;object-fit:cover;max-height:450px}
.collection-grid .collection-heading{padding:22px 26px 24px}
.collection-grid .collection p{min-height:0;line-height:1.5}
.purpose.care{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
.purpose .purpose-vials{height:390px;min-height:0;display:flex;align-items:center;justify-content:center;background:#fff;padding:28px 14px;overflow:hidden;gap:0}
.purpose .purpose-vials img{display:block;flex:0 1 33.333%;width:33.333%;height:300px;min-width:0;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.purpose .care-copy{padding:44px 9%;height:auto}
.purpose .care-copy h2{font-size:clamp(36px,3.5vw,54px);margin-bottom:22px}
@media(max-width:760px){.purpose.care{grid-template-columns:1fr}.purpose .purpose-vials{height:230px;min-height:0;padding:16px 4%;gap:0}.purpose .purpose-vials img{height:198px}.purpose .care-copy{padding:35px 7%}.purpose .care-copy h2{font-size:38px}}
@media(max-width:600px){.collection-grid .collection .line-visual{aspect-ratio:4/3;height:auto;max-height:none}.collection-grid .collection-heading{padding:22px 24px}.collection-grid .collection h3{font-size:54px}.collection-grid .collection{border-top-width:3px}}

@media(max-width:600px){
 .line-switcher{display:flex;align-items:center;gap:8px;margin:0 0 18px;flex-wrap:wrap}
 .line-switcher button{min-height:44px;padding:10px 17px;border:1px solid currentColor;border-radius:24px;font-size:14px;transition:background .2s}
 .line-switcher button[aria-pressed=true]{background:#fff;box-shadow:inset 0 -3px currentColor}
 .line-switcher span{font-size:11px;color:var(--muted);margin-left:auto}
 .collections .collection-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:4px 0 16px;overscroll-behavior-x:contain}
 .collections .collection-grid .collection{flex:0 0 92%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;transform:none}
 .collections .collection-grid .collection:last-child{margin-right:8%}
 .collections .collection-grid .collection .line-visual{aspect-ratio:4/3}
 .collections .section-heading{margin-bottom:24px}
 .collections .collection-grid .collection p{min-height:3em}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.collection-grid .collection:hover .line-visual{transform:scale(1.025)}}
