/* Catalog product images in distinct campaign compositions. */
.campaign{position:relative;display:grid;grid-template-columns:46% 54%;min-height:600px;overflow:hidden;isolation:isolate}
.campaign-copy{position:relative;z-index:2;align-self:center;min-width:0;padding:56px 30px 94px max(5vw,24px)}
.campaign-eyebrow{margin:0 0 24px;font-size:.875rem;line-height:1.6;letter-spacing:.14em}
.campaign h2{margin:0;font:400 clamp(2.5rem,4.7vw,4.5rem)/1.08 var(--serif);letter-spacing:-.04em;text-wrap:balance}
.campaign h2 em{font-weight:400}
.campaign-description{max-width:31em;margin:24px 0 28px;font-size:1rem;line-height:1.75}
.campaign-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;max-width:100%;padding:14px 20px;border:1px solid currentColor;font-size:.875rem;line-height:1.4;text-align:left;transition:background .2s,color .2s}
.campaign-cta svg{width:20px;height:20px}
.campaign-signature{max-width:23em;margin:32px 0 0;font:italic 1rem/1.6 var(--serif)}
.campaign-graduation{background:#f6f4ef;color:#20211e;grid-template-columns:46% 54%}
.campaign-graduation .campaign-eyebrow,.campaign-graduation h2 em{color:#86642c}
.campaign-graduation .campaign-description{color:#55544d}
.campaign-graduation .campaign-cta{background:#20211e;color:#fff;border-color:#20211e}
.campaign-graduation .campaign-cta:hover{background:#765729;border-color:#765729}
.graduation-composition{position:relative;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:10px;min-width:0;background:#fff;padding:24px 28px 100px 8px;border-left:1px solid #e8e3d9}
.graduation-composition figure{min-width:0;margin:0}
.graduation-composition img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.graduation-main{width:100%}
.graduation-details{display:grid;gap:8px;max-width:260px}
.graduation-caption{position:absolute;left:24px;right:24px;bottom:82px;margin:0;text-align:center;color:#726140;font:italic 1rem/1.5 var(--serif)}
.campaign-alliances{background:#f7f4ed;color:#2a2722}
.campaign-alliances .campaign-eyebrow,.campaign-alliances h2 em{color:#89662f}
.campaign-alliances .campaign-description,.campaign-signature{color:#655d50}
.campaign-alliances .campaign-cta{background:#29251f;color:#fff;border-color:#29251f}
.campaign-alliances .campaign-cta:hover{background:#77582d;border-color:#77582d}
.alliance-composition{position:relative;min-width:0;background:#ebe3d6}
.alliance-composition figure{position:absolute;margin:0;overflow:hidden}
.alliance-main{inset:0 0 50px 17%}
.alliance-main img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.alliance-detail{width:42%;aspect-ratio:1;left:0;bottom:66px;border:8px solid #f7f4ed;box-shadow:0 18px 40px #32261924}
.alliance-detail img{width:100%;height:100%;object-fit:cover}
.alliance-caption{position:absolute;left:8%;top:28px;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.16em;line-height:1.5;color:#615644}
.campaign-seiko{background:#101a22;color:#f3f4f4}
.campaign-seiko .campaign-copy{padding-right:0}
.campaign-brand{margin:0 0 22px;font:500 clamp(2rem,3.2vw,3.125rem)/1 var(--serif);letter-spacing:.22em}
.campaign-seiko .campaign-eyebrow{color:#c7d7df;margin-bottom:18px}
.campaign-seiko h2 em{color:#c5d6df}
.campaign-seiko .campaign-description{color:#d6dce0}
.campaign-seiko .campaign-cta:hover{background:#e3ebef;color:#101a22}
.seiko-composition{position:relative;min-width:0;background:radial-gradient(ellipse at 53% 42%,#435564 0%,#1a2b38 40%,#101a22 76%)}
.seiko-composition img{position:absolute;object-fit:contain;filter:drop-shadow(0 24px 18px #03090f70)}
.seiko-prospex{width:62%;height:83%;left:0;top:3%;transform:rotate(-12deg)}
.seiko-presage{width:43%;height:72%;right:4%;top:13%;transform:rotate(12deg)}
.seiko-caption{position:absolute;bottom:85px;left:8%;right:8%;text-align:center;color:#d0dde6;font-size:.75rem;line-height:1.6;letter-spacing:.14em}
.campaign-watch-duo{grid-template-columns:34% 66%;background:#171b1a;color:#f4f1e9}
.campaign-watch-duo .campaign-copy{padding-right:24px}
.campaign-watch-duo .campaign-eyebrow{color:#c8b995;letter-spacing:.1em}
.campaign-watch-duo h2{font-size:clamp(2.5rem,3.7vw,3.75rem)}
.campaign-watch-duo h2 em{color:#d8c7a7}
.campaign-watch-duo .campaign-description{color:#d5d6ce;max-width:23em}
.watch-duo-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.watch-brand-panel{display:flex;flex-direction:column;align-items:center;min-width:0;padding:38px 18px 88px;border-left:1px solid #ffffff17}
.citizen-panel{background:radial-gradient(ellipse at 50% 45%,#344b40,#1c2a25 65%,#18211d)}
.bulova-panel{background:radial-gradient(ellipse at 50% 45%,#514340,#2e2726 65%,#211e1d)}
.watch-panel-brand{margin:0;font:400 clamp(1.5rem,2.5vw,2.25rem)/1.2 var(--serif);letter-spacing:.12em}
.watch-panel-model{margin:8px 0 16px;font-size:.875rem;line-height:1.5;color:#dedbd1}
.watch-brand-panel img{height:320px;width:100%;max-width:250px;object-fit:contain;margin:auto 0 18px;filter:drop-shadow(0 18px 16px #0005)}
.watch-brand-panel .campaign-cta{min-width:160px;margin-top:auto;border-color:#b7ac92;padding:12px 16px}
.watch-brand-panel .campaign-cta:hover{background:#eee6d7;color:#22241f}
.hero-carousel-controls{gap:2px;padding:4px;bottom:20px}
.hero-carousel-arrow{height:44px;width:44px}
.hero-carousel-dots{gap:0;padding:0}
.hero-carousel-dots button,.hero-carousel-dots button[aria-current=true]{position:relative;width:26px;height:44px;border:0;border-radius:0;background:transparent}
.hero-carousel-dots button::after{content:"";position:absolute;width:7px;height:7px;border:1px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);transition:width .2s,background .2s}
.hero-carousel-dots button[aria-current=true]::after{width:19px;border-radius:6px;background:#d8c09a;border-color:#d8c09a}
.hero-carousel-pause{border-left:1px solid #ffffff30;margin-left:2px}
.carousel-play-icon{display:none}
.hero-carousel-pause[aria-pressed=true] .carousel-pause-icon{display:none}
.hero-carousel-pause[aria-pressed=true] .carousel-play-icon{display:block}
@media(min-width:1440px){.campaign-copy{padding-left:max(72px,calc((100vw - 1296px)/2))}}
@media(min-width:761px) and (max-width:1000px){
  .campaign{grid-template-columns:45% 55%;min-height:560px}
  .campaign-copy{padding-left:32px;padding-right:16px}
  .campaign h2{font-size:clamp(2.35rem,4.6vw,3rem)}
  .campaign-watch-duo{grid-template-columns:31% 69%}
  .campaign-watch-duo .campaign-copy{padding-left:26px;padding-right:18px}
  .campaign-watch-duo h2{font-size:2.375rem}
  .campaign-watch-duo .campaign-eyebrow{font-size:.75rem}
  .watch-brand-panel{padding-left:12px;padding-right:12px}
  .watch-brand-panel img{height:285px}
}
@media(max-width:760px){
  .campaign{display:flex;flex-direction:column;min-height:0}
  .campaign-copy{width:100%;padding:24px 26px 88px;align-self:stretch;order:1}
  .campaign h2,.campaign-watch-duo h2{font-size:clamp(2.15rem,8.4vw,3rem);line-height:1.1}
  .campaign-eyebrow{font-size:.8125rem;letter-spacing:.1em;margin-bottom:15px}
  .campaign-description{font-size:1rem;line-height:1.6;margin:18px 0 22px}
  .campaign-description br{display:none}
  .campaign-cta{min-height:50px;font-size:.875rem;padding:13px 18px}
  .campaign-signature{display:none}
  .alliance-composition{order:0;height:clamp(270px,72vw,370px);flex:none;width:100%}
  .alliance-main{inset:0 0 16px 27%}
  .alliance-detail{width:41%;left:6%;bottom:4px;border-width:5px}
  .alliance-caption{left:10%;top:20px;font-size:.75rem}
  .campaign-seiko .campaign-copy{padding-right:26px}
  .campaign-brand{font-size:2rem;margin-bottom:16px}
  .campaign-seiko .campaign-eyebrow{margin-bottom:14px}
  .seiko-composition{order:0;flex:none;height:clamp(270px,73vw,370px);width:100%}
  .seiko-prospex{height:88%;width:51%;left:7%;top:1%}
  .seiko-presage{height:77%;width:36%;right:7%;top:8%}
  .seiko-caption{bottom:8px;font-size:.75rem;letter-spacing:.06em}
  .campaign-watch-duo .campaign-copy{order:0;padding:30px 26px 22px}
  .campaign-watch-duo .campaign-description{margin:16px 0 0;max-width:32em}
  .watch-duo-panels{order:1;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:82px}
  .watch-brand-panel{padding:22px 12px 20px;border-top:1px solid #ffffff17}
  .watch-panel-brand{font-size:1.5rem;letter-spacing:.08em}
  .watch-panel-model{font-size:.8125rem;margin:8px 0 15px}
  .watch-brand-panel img{height:clamp(205px,57vw,300px);max-width:230px;margin:0 0 18px}
  .watch-brand-panel .campaign-cta{min-width:0;width:100%;max-width:210px;justify-content:center;gap:10px;font-size:.875rem;padding:12px 8px}
  .watch-brand-panel .campaign-cta svg{width:17px;height:17px}
  .hero-carousel-controls{right:20px;bottom:16px}
  .hero-slide .institutional-inner{padding-bottom:88px}
}
@media(max-width:360px){
  .campaign-copy,.campaign-watch-duo .campaign-copy{padding-left:20px;padding-right:20px}
  .watch-brand-panel{padding-left:8px;padding-right:8px}
  .watch-brand-panel .campaign-cta svg{display:none}
  .hero-carousel-controls{right:14px}
}
@media(min-width:761px) and (max-width:1000px){
  .campaign-graduation .campaign-copy{padding-left:28px;padding-right:20px}
  .graduation-composition{padding-right:16px;padding-left:0}
  .graduation-caption{left:16px;right:16px;font-size:.875rem}
}
@media(max-width:760px){
  .campaign-graduation .campaign-copy{padding:22px 22px 26px}
  .campaign-graduation .campaign-eyebrow{font-size:.875rem;letter-spacing:.08em;margin-bottom:12px}
  .campaign-graduation .campaign-description{font-size:1rem;line-height:1.6;margin:16px 0 20px}
  .graduation-composition{order:0;width:100%;height:clamp(220px,59vw,310px);flex:none;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);padding:8px 16px;gap:8px;border-left:0;border-bottom:1px solid #e8e3d9}
  .graduation-main img{max-height:clamp(200px,55vw,280px)}
  .graduation-details{height:100%;min-height:0;gap:0;grid-template-rows:repeat(2,minmax(0,1fr))}
  .graduation-details figure{min-height:0;height:100%}
  .graduation-details img{height:100%;width:100%;object-fit:contain}
  .graduation-caption{display:none}
  .campaign-graduation .campaign-cta{min-height:50px;gap:16px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.hero-carousel-dots button::after{transition:none}}
