/* A crisp, gently rotating photo cover. The image itself stays unfiltered. */
.hero .cover-gallery{isolation:isolate;background:#ecece8}
.hero .cover-slide{opacity:0;transition:opacity .65s ease;filter:none;transform:none;z-index:0}
.hero .cover-slide.is-active{opacity:1;z-index:1}
.cover-bottom{position:absolute;inset:auto 0 0;z-index:2;padding:64px 28px 24px;background:linear-gradient(transparent,rgba(0,0,0,.48));color:white;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.cover-caption{min-width:0;display:grid;gap:7px;font:500 11px/1.4 var(--sans);letter-spacing:.06em}
.cover-caption>span{text-transform:uppercase}
.cover-caption a{font:400 10px/1.4 var(--sans);letter-spacing:0;color:#fff;text-decoration:underline;text-underline-offset:3px}
.cover-controls{display:flex;gap:7px;align-items:center;flex-shrink:0}
.cover-controls[hidden]{display:none}
.cover-dots{display:flex;align-items:center}
.cover-dots button,.cover-pause{display:grid;place-items:center;min-height:36px;width:28px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
.cover-dots button span{width:6px;height:6px;border:1px solid currentColor;border-radius:50%;background:transparent;transition:background .2s,transform .2s}
.cover-dots button[aria-pressed=true] span{background:currentColor;transform:scale(1.3)}
.cover-pause{width:34px;border:1px solid #ffffff80;border-radius:50%;min-height:34px}
.cover-pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.cover-pause .play-shape{display:none;fill:currentColor;stroke:none}
.cover-pause[aria-pressed=true] .play-shape{display:block}
.cover-pause[aria-pressed=true] .pause-bars{display:none}
.cover-controls button:focus-visible,.cover-caption a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.color-notes{padding:64px var(--site-gutter) 80px;background:#fff;color:#202020;border-top:1px solid #e8e8e8}
.color-notes-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.color-notes .eyebrow{margin:0 0 12px;font:600 10px/1.5 var(--sans);letter-spacing:.15em;color:#777}
.color-notes h2{margin:0;font:500 clamp(26px,3vw,42px)/1.15 var(--sans);letter-spacing:-.04em}
.color-notes-heading>p{max-width:320px;margin:0;font:13px/1.75 var(--sans);color:#666}
.color-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.color-note{min-width:0;border:1px solid #e8e8e8;background:#fff}
.color-note-image{display:block;aspect-ratio:4/5;overflow:hidden;background:#f4f4f4}
.color-note-image img{display:block;width:100%;height:100%;object-fit:cover;filter:none}
.color-note:first-child .color-note-image img{object-fit:contain}
.color-note-copy{padding:22px}
.color-note-brand{margin:0 0 10px;font:500 9px/1.5 var(--sans);letter-spacing:.07em;color:#777}
.color-note h3{margin:0;font:500 25px/1.2 var(--sans);letter-spacing:-.03em}
.color-swatches{display:flex;height:22px;margin:18px 0}
.color-swatches span{flex:1;background:var(--swatch)}
.color-swatches span:first-child{flex:2}
.color-note-description{font:12px/1.8 var(--sans);margin:0 0 18px;min-height:44px;color:#555}
.color-note-sources{display:grid;gap:6px;border-top:1px solid #eee;padding-top:14px}
.color-note-sources a{width:fit-content;max-width:100%;font:10px/1.6 var(--sans);color:#777;text-decoration:underline;text-underline-offset:3px}
.color-note-sources a:hover{color:#161616}
.color-notes-footnote{font:10px/1.7 var(--sans);color:#888;max-width:700px;margin:22px 0 0}
@media(max-width:900px){.cover-bottom{padding:54px 20px 18px;flex-wrap:wrap;gap:10px}.cover-controls{margin-left:-10px}.color-note-copy{padding:16px}.color-notes-grid{gap:16px}}
@media(max-width:640px){.cover-bottom{padding:46px var(--site-gutter) 14px;flex-wrap:nowrap}.cover-caption{font-size:9px;gap:4px}.cover-caption a{font-size:9px}.cover-dots button{width:23px}.cover-controls{gap:3px;margin-left:0}.color-notes{padding-top:42px;padding-bottom:48px}.color-notes-heading{display:block;margin-bottom:24px}.color-notes-heading>p{margin-top:14px;max-width:100%;font-size:12px}.color-notes-grid{grid-template-columns:1fr;gap:24px}.color-note-image{aspect-ratio:4/5;max-height:460px}.color-note-copy{padding:20px}.color-note-description{min-height:0}}
@media(max-width:360px){.cover-caption{max-width:120px}.cover-dots button{width:20px}.cover-pause{width:30px;min-height:30px}}
@media(prefers-reduced-motion:reduce){.hero .cover-slide,.cover-dots button span{transition:none}}
/* Keep gallery controls clear of the floating contact buttons. */
.cover-bottom{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:7px}
.cover-controls{margin-left:-10px}
.color-notes{scroll-margin-top:90px}
