/* Local editorial hero study — typography and the supplied model share one stage. */
.campaign-hero{--campaign-bg:#c3c1b0;position:relative;isolation:isolate;overflow:hidden;background:var(--campaign-bg);height:clamp(640px,55vw,850px);color:#303329}
.campaign-title{display:contents}
.campaign-heritage{overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.campaign-heritage-word{display:block}
.hero-motion .campaign-model{opacity:0;transform:translateX(-45vw) translateY(3%) rotate(-4deg)}
.hero-motion .campaign-heritage-word{transform:translateY(112%)}
.hero-motion .campaign-enter .campaign-model{animation:campaign-kick-in 1650ms cubic-bezier(.22,.75,.24,1) both}
.hero-motion .campaign-enter .campaign-heritage-word{animation:campaign-type-rise 1250ms cubic-bezier(.22,.75,.24,1) 220ms both}
@keyframes campaign-kick-in{0%{opacity:0;transform:translateX(-45vw) translateY(3%) rotate(-4deg)}25%{opacity:1}100%{opacity:1;transform:translateX(0) translateY(0) rotate(0)}}
@keyframes campaign-type-rise{from{transform:translateY(112%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-motion .campaign-model,.hero-motion .campaign-heritage-word{animation:none!important;transform:none!important;opacity:1!important}}
.campaign-heritage{position:absolute;top:53%;left:3.6%;width:92.8%;font-family:var(--serif);font-size:17.2vw;font-weight:400;line-height:1;letter-spacing:.20em;white-space:nowrap;z-index:4}
.campaign-model{position:absolute;z-index:3;width:75%;height:auto;aspect-ratio:1498/1050;object-fit:cover;object-position:center;max-width:none;left:14%;top:1%;filter:drop-shadow(0 24px 18px #252a1c19);pointer-events:none;user-select:none}
.campaign-orbit{position:absolute;width:75%;aspect-ratio:1.4;left:14%;top:9%;border:1px solid #444a3020;border-radius:50%;transform:rotate(-22deg);z-index:0}
.campaign-orbit:before,.campaign-orbit:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#64694d;top:50%;left:-4px}
.campaign-orbit:after{left:auto;right:-4px}
.campaign-kicker{position:absolute;left:4%;top:6.5%;display:flex;align-items:center;gap:13px;font-size:9px;line-height:1.65;letter-spacing:1.4px;z-index:6}
.campaign-star{font-size:30px;line-height:1;font-weight:400}
.campaign-edition{position:absolute;right:4%;top:6.5%;text-align:right;font-size:8px;letter-spacing:1.4px;line-height:1.8;z-index:6}
.campaign-footnote{position:absolute;left:4%;bottom:11%;display:flex;gap:14px;align-items:flex-start;z-index:6}
.campaign-footnote p{font-size:11px;line-height:1.8}
.campaign-cross{font-size:22px;line-height:1}
.campaign-shop{position:absolute;right:4%;bottom:11%;display:flex;align-items:center;gap:18px;z-index:6;font-size:9px;letter-spacing:1px;line-height:1.6}
.campaign-shop-arrow{width:48px;height:48px;border:1px solid #30332960;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .2s,color .2s,transform .2s}
.campaign-shop:hover .campaign-shop-arrow{background:#303329;color:var(--paper);transform:rotate(8deg)}
.campaign-baseline{position:absolute;bottom:24px;left:4%;right:4%;display:flex;justify-content:space-between;gap:20px;font-size:7px;letter-spacing:1.2px;z-index:6}
@media(min-width:1550px){.campaign-heritage{font-size:267px;left:calc(50% - 720px);width:1440px}.campaign-model{width:1162px;left:calc(50% - 558px)}}
@media(min-width:761px) and (max-width:1100px){.campaign-hero{height:650px}.campaign-heritage{top:53%}.campaign-model{width:87%;left:7%;top:9%}.campaign-footnote{bottom:12%}.campaign-shop{bottom:12%}}
/* Preserve the desktop image/type geometry on a proportional mobile stage. */
.campaign-composition{display:contents}
@media(max-width:760px){
 .campaign-hero{height:calc(69.7vw + 180px)}
 .campaign-composition{display:block;position:absolute;left:0;top:60px;width:100%;aspect-ratio:1.435}
 .campaign-model{width:87%;left:7%;top:9%}
 .campaign-heritage{left:3.6%;top:53%;width:92.8%;font-size:17.2vw;letter-spacing:.20em}
 .campaign-orbit{width:75%;left:14%;top:9%;aspect-ratio:1.4;transform:rotate(-22deg)}
 .campaign-kicker{left:4%;top:20px;font-size:7px;letter-spacing:.8px;gap:8px}
 .campaign-star{font-size:22px}
 .campaign-edition{right:4%;top:21px;font-size:6px;letter-spacing:.8px}
 .campaign-footnote{left:4%;bottom:60px;gap:8px}
 .campaign-footnote p{font-size:9px;line-height:1.7}
 .campaign-cross{font-size:17px}
 .campaign-shop{right:4%;bottom:57px;gap:10px;font-size:7px;letter-spacing:.6px;min-height:44px}
 .campaign-shop-arrow{width:38px;height:38px;font-size:20px}
 .campaign-baseline{bottom:20px;left:4%;right:4%;font-size:6px;letter-spacing:.5px;gap:10px}
 .campaign-baseline>span:nth-child(2){display:none}
}
@media(max-width:360px){.campaign-footnote p{font-size:8px}.campaign-shop{font-size:6px;gap:7px}.campaign-baseline{font-size:5px}}

/* One supporting sentence and one action: keep the image/type relationship. */
.campaign-description{position:absolute;left:4%;bottom:6%;z-index:6;font-size:12px;line-height:1.6}
.campaign-shop{bottom:5%;font-size:11px;letter-spacing:0;text-transform:none}
@media(max-width:760px){.campaign-hero{height:calc(69.7vw + 110px)}.campaign-composition{top:28px}.campaign-description{left:4%;bottom:26px;max-width:48%;font-size:11px;line-height:1.5}.campaign-shop{right:4%;bottom:22px;font-size:11px;gap:8px}.campaign-shop-arrow{width:34px;height:34px}}
@media(max-width:360px){.campaign-description,.campaign-shop{font-size:10px}.campaign-description{max-width:46%}.campaign-shop{gap:6px}}

/* The oval stays fixed; its two markers follow the same elliptical path. */
@supports(offset-path:ellipse(50% 50% at 50% 50%)){
 .campaign-orbit:before,.campaign-orbit:after{left:0;right:auto;top:0;offset-path:ellipse(50% 50% at 50% 50%);offset-anchor:center;offset-rotate:0deg;animation:campaign-orbit-travel 48s linear infinite;animation-play-state:paused}
 .campaign-orbit:after{animation-delay:-24s}
 .campaign-enter .campaign-orbit:before,.campaign-enter .campaign-orbit:after{animation-play-state:running}
 @keyframes campaign-orbit-travel{from{offset-distance:0%}to{offset-distance:100%}}
}
@media(prefers-reduced-motion:reduce){.campaign-orbit:before,.campaign-orbit:after{animation:none!important}.campaign-orbit:before{offset-distance:0%}.campaign-orbit:after{offset-distance:50%}}

/* All three hero layers share one center, including capped wide screens. */
.campaign-heritage{left:50%;width:min(92.8%,1440px);translate:-50% 0;text-align:center}
.campaign-heritage-word{padding-left:.20em}
.campaign-model{width:min(75%,1162px);left:50%;top:50%;translate:-50% -50%}
.campaign-orbit{width:min(75%,1162px);left:50%;top:50%;translate:-50% -50%}
@media(min-width:761px) and (max-width:1100px){.campaign-model{width:87%}}
@media(max-width:760px){.campaign-model{width:87%}.campaign-heritage{left:50%;width:92.8%}.campaign-orbit{left:50%;top:50%;width:75%}}
