/* A continuous, right-to-left ribbon of Outer themes. */
.outer-marquee{width:100%;overflow:hidden;background:transparent;color:#202020;margin:44px 0 0;padding:26px 0;font:400 clamp(24px,2.8vw,40px)/1.2 'PP Neue Montreal',sans-serif;letter-spacing:-.025em}
.outer-marquee-track{display:flex;width:max-content;animation:outer-marquee-drift 32s linear infinite}
.outer-marquee-group{display:flex;flex:none;align-items:center;justify-content:space-around;min-width:100vw;gap:clamp(40px,5vw,80px);padding-right:clamp(40px,5vw,80px)}
.outer-marquee-item{display:inline-flex;align-items:center;gap:.55em;white-space:nowrap}
.outer-marquee-dot{display:block;width:.6em;height:.6em;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #00000008}
.outer-marquee-dot--coral{background:#eb756a}.outer-marquee-dot--blue{background:#8bbadd}.outer-marquee-dot--amber{background:#e7b468}
.outer-marquee:is(:hover,:focus-within) .outer-marquee-track{animation-play-state:paused}
@keyframes outer-marquee-drift{to{transform:translateX(-50%)}}
@media(max-width:600px){.outer-marquee{padding:22px 0;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.outer-marquee-track{animation:none;width:100%}.outer-marquee-group{min-width:0;width:100%;flex-wrap:wrap;justify-content:center;gap:16px 24px;padding:0 16px}.outer-marquee-group+ .outer-marquee-group,.outer-marquee-item:nth-child(n+4){display:none}}

/* Evenly spaced badges flow continuously from left to right. */
.outer-badges{position:relative}
.outer-badges-stage{position:relative;height:clamp(260px,34vw,390px);overflow:hidden;background:#F9F8F3;margin-bottom:24px}
.outer-badge{position:absolute;inset:0;display:grid;place-items:center;transform:translateX(-80%);animation:outer-badge-travel 24s linear infinite both;animation-delay:var(--badge-delay)}
.outer-badge img{width:clamp(150px,24vw,250px);height:auto;animation:outer-badge-spin 36s linear infinite;animation-delay:var(--badge-delay);transform-origin:center;}
.outer-badges h2{font-size:clamp(26px,3vw,36px);line-height:1.15;margin:0 0 8px}
.outer-badges .outer-badges-description{max-width:650px;font-size:clamp(20px,2.4vw,28px);line-height:1.3;color:#999;margin:0}
.outer-badges-pause{position:absolute;top:26px;right:126px;z-index:2;accent-color:#777}
.outer-badges-pause+label{position:absolute;top:24px;right:20px;z-index:2;font:13px/20px 'PP Neue Montreal',sans-serif;color:#666;cursor:pointer}
.outer-badges-pause:checked~.outer-badges-stage .outer-badge,.outer-badges-pause:checked~.outer-badges-stage img{animation-play-state:paused}
@keyframes outer-badge-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes outer-badge-travel{from{transform:translateX(-80%)}to{transform:translateX(80%)}}
@media(prefers-reduced-motion:reduce){.outer-badges-stage{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:32px 16px;height:auto;min-height:180px}.outer-badge{position:static;animation:none;transform:none}.outer-badge img{animation:none;width:100%}.outer-badges-pause,.outer-badges-pause+label{display:none}}

.outer-calf-track{height:240svh;position:relative;margin:60px 0}
.outer-calf-pin{position:sticky;top:100px;height:calc(100svh - 130px);min-height:380px;background:#F9F8F3;overflow:hidden}
.outer-calf-pin iframe{width:100%;height:100%;border:0;pointer-events:none;display:block}
.outer-calf-copy{position:absolute;right:6%;top:50%;width:40%;margin:0!important;font:400 clamp(24px,3vw,44px)/1.2 'PP Neue Montreal',sans-serif;color:#242424!important;opacity:0}
@media(max-width:600px){.outer-calf-pin{min-height:440px}.outer-calf-copy{right:5%;top:66%;width:65%;font-size:24px}}
@media(prefers-reduced-motion:reduce){.outer-calf-track{height:auto}.outer-calf-pin{position:relative;top:0}.outer-calf-copy{opacity:1;transform:none}}
