/* Invitation marquee adapted to the site's static HTML design system. */
.inv-marquee-hero{padding:calc(var(--nav-h) + 48px) 0 18px;background:radial-gradient(ellipse at 12% 10%,rgba(15,123,110,.10),transparent 55%),radial-gradient(ellipse at 90% 85%,rgba(220,165,12,.12),transparent 55%),#faf8f0}
.inv-marquee-hero .section-container{max-width:1000px;padding:0 24px}
.inv-marquee-hero h1{font-size:clamp(38px,5.8vw,76px);letter-spacing:-.035em;line-height:1.1;margin-top:22px}
.inv-marquee-hero h1 em{display:block;font-style:italic}
.inv-marquee-hero .inv-hero-desc{max-width:620px;margin-top:16px}
.inv-marquee-hero .inv-hero-tags{font-size:clamp(14px,1.5vw,18px);max-width:760px;line-height:1.6;margin-top:18px}
.inv-marquee-hero .cta-actions{margin-top:24px;gap:12px;flex-wrap:wrap}
.inv-marquee-hero .btn-primary,.inv-marquee-hero .btn-secondary{border-radius:100px}
.inv-hero-secondary{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:16px}
.inv-hero-secondary .btn-secondary{padding:4px 0;background:none;border:0;box-shadow:none;font-size:13px;color:var(--teal-d);text-decoration:underline;text-underline-offset:5px}
.inv-marquee{width:100%;overflow:hidden;margin-top:26px;padding:26px 0 20px;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.inv-marquee-track{display:flex;width:max-content;animation:invPreviewLoop 54s linear infinite;will-change:transform}
.inv-marquee-group{display:flex;gap:22px;padding-right:22px;align-items:center}
.inv-marquee-card{position:relative;display:block;width:clamp(150px,16vw,220px);height:clamp(205px,22vw,292px);flex:none;border-radius:18px;border:3px solid #fff;background:#fff;overflow:hidden;transform:rotate(var(--tilt));box-shadow:0 10px 22px rgba(8,60,55,.13);text-decoration:none;color:#fff}
.inv-marquee-card img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.inv-marquee-card span{position:absolute;inset:auto 0 0;padding:30px 12px 13px;background:linear-gradient(transparent,rgba(4,28,25,.85));font-size:13px;font-weight:700;text-align:left}
.inv-marquee-card:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
.inv-marquee:hover .inv-marquee-track,.inv-marquee:focus-within .inv-marquee-track,.is-paused .inv-marquee-track{animation-play-state:paused}
.inv-marquee-toggle{border:1px solid rgba(15,123,110,.25);border-radius:100px;background:rgba(255,255,255,.7);color:var(--teal-d);font-family:inherit;font-size:12px;font-weight:600;padding:8px 14px;cursor:pointer}
.inv-marquee-toggle:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@keyframes invPreviewLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){
 .inv-marquee-hero{padding-top:calc(var(--nav-h) + 28px)}
 .inv-marquee-hero .section-container{padding:0 18px}
 .inv-marquee-hero .inv-eyebrow-gold{font-size:9px;letter-spacing:.6px;padding:8px 10px;line-height:1.5}
 .inv-marquee-hero h1{font-size:clamp(36px,9vw,48px)}
 .inv-marquee-hero .inv-hero-desc{font-size:14px;line-height:1.65}
 .inv-marquee-hero .cta-actions{flex-direction:row;gap:10px}
 .inv-marquee-hero .cta-actions a{padding:13px 18px;font-size:13px;min-height:44px}
 .inv-marquee-hero .inv-hero-secondary{gap:22px}
 .inv-marquee{margin-top:18px;padding-top:20px}
 .inv-marquee-group{gap:16px;padding-right:16px}
 .inv-marquee-card{width:142px;height:200px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
 .inv-marquee-track{animation:none;transform:none;will-change:auto}
 .inv-marquee{overflow-x:auto;mask-image:none}
 .inv-marquee-group[aria-hidden]{display:none}
 .inv-marquee-toggle{display:none}
}

/* Keyboard users browse a stationary scrollable row. */
.inv-marquee:focus-within{overflow-x:auto;mask-image:none}
.inv-marquee:focus-within .inv-marquee-track{animation:none;transform:none}
.inv-marquee:focus-within .inv-marquee-group[aria-hidden]{display:none}
