.campaign-hub{--campaign-ink:#171416;--campaign-muted:#71676d;--campaign-line:rgba(23,20,22,.12);color:var(--campaign-ink);background:linear-gradient(180deg,#fff5f9 0,#fffafd 38rem,#fff 100%);overflow:clip}
.campaign-hub__intro{padding:clamp(10rem,15vw,14rem) clamp(1.25rem,6vw,7rem) clamp(4.5rem,8vw,8rem);border-bottom:1px solid var(--campaign-line)}
.campaign-hub__intro-inner{width:min(1600px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.65fr);align-items:end;gap:clamp(3rem,8vw,9rem)}
.campaign-hub__eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:1.2rem;color:#8b6678;font-size:.72rem;font-weight:700;letter-spacing:.2em;line-height:1.2;text-transform:uppercase}
.campaign-hub__eyebrow::before{width:1.8rem;height:1px;background:currentColor;content:""}
.campaign-hub__heading h1{max-width:1050px;margin:0;font-size:clamp(3.4rem,7.4vw,8.8rem);font-weight:700;letter-spacing:-.07em;line-height:.87}
.campaign-hub__heading em{color:#d83183;font-weight:400}
.campaign-hub__lead{padding:1.5rem 0 .4rem;border-top:1px solid var(--campaign-line)}
.campaign-hub__index{display:block;margin-bottom:2.2rem;color:#d83183;font-size:.8rem;font-weight:700;letter-spacing:.18em}
.campaign-hub__lead p{max-width:31rem;margin:0 0 2rem;color:var(--campaign-muted);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.7}
.campaign-hub__lead a,.campaign-card__body>a{display:inline-flex;gap:.7rem;align-items:center;padding-bottom:.35rem;border-bottom:1px solid currentColor;color:var(--campaign-ink);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}
.campaign-hub__content{width:min(1600px,calc(100% - clamp(2.5rem,12vw,14rem)));margin:0 auto;padding:clamp(4.5rem,8vw,8rem) 0 clamp(6rem,10vw,11rem)}
.campaign-feature{min-height:min(720px,72vh);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(22rem,.7fr);background:#fff;border:1px solid var(--campaign-line);border-radius:clamp(1.5rem,3vw,3.25rem);overflow:hidden;box-shadow:0 28px 80px rgba(77,42,59,.09)}
.campaign-feature__media,.campaign-card__media{position:relative;display:block;overflow:hidden;background:#f3e8ed}
.campaign-feature__media img,.campaign-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.campaign-feature:hover .campaign-feature__media img,.campaign-card:hover .campaign-card__media img{transform:scale(1.025)}
.campaign-feature__number,.campaign-card__media>span{position:absolute;top:1.5rem;right:1.5rem;display:grid;width:3.2rem;aspect-ratio:1;place-items:center;border-radius:50%;background:rgba(255,255,255,.88);color:var(--campaign-ink);font-size:.75rem;font-weight:700;backdrop-filter:blur(10px)}
.campaign-feature__body{display:flex;flex-direction:column;justify-content:space-between;gap:4rem;padding:clamp(2.5rem,5vw,6rem)}
.campaign-feature__body h2{max-width:11ch;margin:.2rem 0 1.8rem;font-size:clamp(2.5rem,4.4vw,5.2rem);font-weight:700;letter-spacing:-.055em;line-height:.98}
.campaign-feature__body p,.campaign-card__body p,.campaign-hub__empty p{color:var(--campaign-muted);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75}
.campaign-feature__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;padding-top:1.6rem;border-top:1px solid var(--campaign-line);color:var(--campaign-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.campaign-hub__button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.4rem;padding:.85rem 1.5rem;border:1px solid var(--campaign-ink);border-radius:999px;background:var(--campaign-ink);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease}
.campaign-hub__button:hover{background:transparent;color:var(--campaign-ink);transform:translateY(-2px)}
.campaign-collection{margin-top:clamp(6rem,10vw,11rem)}
.campaign-collection__header{max-width:850px;margin-bottom:3rem}
.campaign-collection__header h2,.campaign-hub__empty h2{margin:0;font-size:clamp(2.4rem,5vw,5.5rem);letter-spacing:-.055em;line-height:1}
.campaign-collection__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3.5rem)}
.campaign-card{background:#fff;border-bottom:1px solid var(--campaign-line)}
.campaign-card__media{aspect-ratio:4/3;border-radius:1.5rem}
.campaign-card__body{padding:2rem .2rem 2.5rem}
.campaign-card__body h3{margin:0 0 1rem;font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.04em}
.campaign-card__body p{max-width:52ch}
.campaign-hub__empty{padding:clamp(4rem,8vw,8rem);border:1px solid var(--campaign-line);border-radius:2.5rem;background:radial-gradient(circle at 85% 20%,rgba(232,106,166,.22),transparent 28%),#fff;text-align:center}
.campaign-hub__empty p{margin:1.5rem auto 2rem}
@media(min-width:992px) and (max-width:1100px){.campaign-hub__intro-inner{grid-template-columns:1fr;gap:3rem}.campaign-hub__heading h1{max-width:100%}}
@media(max-width:991px){.campaign-hub__intro{padding-top:9rem}.campaign-hub__intro-inner,.campaign-feature{grid-template-columns:1fr}.campaign-feature{min-height:0}.campaign-feature__media{min-height:56vw}.campaign-feature__body h2{max-width:15ch}}
@media(max-width:767px){.campaign-hub__intro{padding:8.5rem 1.2rem 4rem}.campaign-hub__intro-inner{gap:2.5rem}.campaign-hub__heading h1{font-size:clamp(3rem,15vw,5.5rem)}.campaign-hub__content{width:calc(100% - 2rem);padding:2.5rem 0 5rem}.campaign-feature{border-radius:1.5rem}.campaign-feature__media{min-height:72vw}.campaign-feature__body{gap:2.5rem;padding:2rem 1.4rem}.campaign-feature__footer{align-items:stretch;flex-direction:column}.campaign-hub__button{width:100%}.campaign-collection__grid{grid-template-columns:1fr}.campaign-card__media{border-radius:1.2rem}}
@media(prefers-reduced-motion:reduce){.campaign-feature__media img,.campaign-card__media img,.campaign-hub__button{transition:none}}

/* Campaign detail */
.campaign-detail{--campaign-ink:#171416;--campaign-muted:#71676d;--campaign-line:rgba(23,20,22,.12);color:var(--campaign-ink);background:linear-gradient(180deg,#fff5f9 0,#fff 55rem);overflow:clip}
.campaign-detail__preview{position:relative;z-index:2;width:min(1600px,calc(100% - clamp(2rem,10vw,12rem)));margin:0 auto -7rem;padding:8.5rem 1.4rem 1.1rem;display:flex;align-items:center;justify-content:center;gap:1rem;border-bottom:1px solid rgba(179,112,25,.25);background:#fff6d9;color:#604511;font-size:.78rem;letter-spacing:.04em}
.campaign-detail__preview span{font-weight:800;text-transform:uppercase}.campaign-detail__preview p{margin:0}.campaign-detail__preview a{color:inherit;font-weight:700}
.campaign-detail__hero{padding:clamp(10rem,14vw,13rem) clamp(1rem,5vw,6rem) clamp(5rem,9vw,9rem)}
.campaign-detail__crumbs{width:min(1600px,100%);margin:0 auto clamp(2.5rem,5vw,5rem);display:flex;gap:.8rem;align-items:center;color:#8b7c84;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.campaign-detail__crumbs a{color:var(--campaign-ink);text-decoration:none;border-bottom:1px solid currentColor}
.campaign-detail__hero-grid{width:min(1600px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(22rem,.78fr) minmax(0,1.22fr);align-items:stretch;gap:clamp(2rem,6vw,7rem)}
.campaign-detail__story{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(3rem,7vw,7rem);padding:clamp(1rem,3vw,3.5rem) 0}
.campaign-detail__story h1{max-width:11ch;margin:.25rem 0 clamp(1.5rem,3vw,2.7rem);font-size:clamp(3.2rem,6.4vw,7.5rem);font-weight:700;letter-spacing:-.07em;line-height:.89}
.campaign-detail__copy{max-width:46rem;margin:0;color:var(--campaign-muted);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.72}
.campaign-detail__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.campaign-detail__text-link{display:inline-flex;align-items:center;gap:.65rem;padding:.7rem 0;border-bottom:1px solid currentColor;color:var(--campaign-ink);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.campaign-detail__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--campaign-line);border-bottom:1px solid var(--campaign-line)}
.campaign-detail__facts>div{padding:1.35rem 0}.campaign-detail__facts>div+div{padding-left:1.5rem;border-left:1px solid var(--campaign-line)}
.campaign-detail__facts dt{margin-bottom:.45rem;color:#977687;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}.campaign-detail__facts dd{margin:0;font-size:.9rem;font-weight:650}
.campaign-detail__visual{position:relative;min-height:min(760px,72vh);margin:0;overflow:hidden;border-radius:clamp(1.5rem,3vw,3.25rem);background:#f0e4e9}
.campaign-detail__visual::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(15,10,13,.42));content:"";pointer-events:none}
.campaign-detail__visual img{width:100%;height:100%;display:block;object-fit:cover}
.campaign-detail__visual figcaption{position:absolute;z-index:1;right:1.8rem;bottom:1.5rem;left:1.8rem;display:flex;justify-content:space-between;gap:1rem;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.campaign-detail__products{padding:clamp(5rem,9vw,10rem) clamp(1rem,5vw,6rem) clamp(7rem,12vw,13rem);background:#fff}
.campaign-detail__products-header{width:min(1600px,100%);margin:0 auto clamp(3.5rem,6vw,6rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.55fr);align-items:end;gap:clamp(2rem,8vw,9rem);padding-bottom:clamp(2rem,4vw,4rem);border-bottom:1px solid var(--campaign-line)}
.campaign-detail__products-header h2{max-width:12ch;margin:0;font-size:clamp(2.8rem,5.5vw,6.5rem);letter-spacing:-.06em;line-height:.93}
.campaign-detail__products-header p{margin:0;color:var(--campaign-muted);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.7}
.campaign-detail__product-grid{width:min(1600px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,2.2vw,2.5rem)}
.campaign-detail__empty-products{width:min(1000px,100%);margin:0 auto;padding:clamp(3.5rem,7vw,7rem);border-radius:2.5rem;background:radial-gradient(circle at 85% 20%,rgba(232,106,166,.2),transparent 30%),#fff7fa;text-align:center}
.campaign-detail__empty-products h3{margin:0;font-size:clamp(2.2rem,4vw,4.5rem);letter-spacing:-.05em}.campaign-detail__empty-products p{margin:1.3rem auto 2rem;color:var(--campaign-muted)}
@media(max-width:1199px){.campaign-detail__product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){.campaign-detail__preview{margin-bottom:-6rem;padding-top:7.5rem;flex-wrap:wrap}.campaign-detail__hero{padding-top:9rem}.campaign-detail__hero-grid{grid-template-columns:1fr}.campaign-detail__visual{min-height:70vw;grid-row:1}.campaign-detail__story{grid-row:2}.campaign-detail__products-header{grid-template-columns:1fr}.campaign-detail__product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.campaign-detail__hero{padding:8rem 1rem 4rem}.campaign-detail__crumbs{margin-bottom:2rem}.campaign-detail__story h1{font-size:clamp(3rem,15vw,5rem)}.campaign-detail__visual{min-height:105vw;border-radius:1.4rem}.campaign-detail__facts{grid-template-columns:1fr}.campaign-detail__facts>div+div{padding-left:0;border-top:1px solid var(--campaign-line);border-left:0}.campaign-detail__actions{align-items:stretch;flex-direction:column}.campaign-detail__actions .campaign-hub__button{width:100%}.campaign-detail__products{padding-right:1rem;padding-left:1rem}.campaign-detail__product-grid{grid-template-columns:1fr}.campaign-detail__preview{width:calc(100% - 1rem);align-items:flex-start;flex-direction:column}.campaign-detail__preview p{font-size:.72rem}}
