.hero-gallery{z-index:0;background:linear-gradient(135deg, var(--color-black) 0%, var(--color-primary) 100%);position:absolute;inset:0}.hero-gallery__media{animation:.45s ease-out both hero-gallery-media-fade-in;position:absolute;inset:-10% 0}@keyframes hero-gallery-media-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero-gallery__media{animation:none}}.hero-gallery__slide{opacity:0;transition:opacity 1.4s ease-in-out;position:absolute;inset:0}.hero-gallery__slide--active{opacity:1}.hero-gallery__image{object-fit:cover;object-position:center}.hero-gallery__overlay{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-gallery__dots{right:var(--site-padding-inline);z-index:2;gap:.5rem;display:flex;position:absolute;bottom:clamp(2rem,5vw,3.5rem)}.hero-gallery__dot{background:var(--color-white);cursor:pointer;border:0;border-radius:999px;width:6px;height:6px;padding:0;transition:background-color .2s}.hero-gallery__dot--active{background:var(--color-primary)}
.gallery-section{min-height:var(--gallery-section-height,70vh);color:var(--color-white);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.gallery-section__overlay{background:linear-gradient(#00000038 0%,#0000000f 32%,#00000061 68%,#000000b8 100%)}.gallery-section__header,.gallery-section__content{z-index:2;position:relative}.gallery-section__header{grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding-top:clamp(1.5rem,3vw,2.5rem);display:grid}.gallery-section__logo{align-items:center;gap:.75rem;display:flex}.gallery-section__logo-mark{border-radius:var(--radius-default);background:var(--color-white);width:3rem;height:3rem;box-shadow:inset 0 0 0 2px var(--color-primary);display:block}.gallery-section__logo-mark:after{content:"";border-radius:inherit;background:radial-gradient(circle at 35% 40%, var(--color-primary) 0 38%, transparent 40%);width:100%;height:100%;display:block}.gallery-section__logo-text{letter-spacing:.02em;flex-direction:column;font-size:.8rem;font-weight:600;line-height:1.2;display:flex}.gallery-section__nav ul{flex-wrap:wrap;justify-content:center;gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none;display:flex}.gallery-section__nav a{color:inherit;opacity:.95;text-decoration:none}.gallery-section__nav a:hover{opacity:.75}.gallery-section__book-cta{color:inherit;white-space:nowrap;border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:.15rem;text-decoration:none;display:inline-flex}.gallery-section__content{isolation:isolate;margin-top:auto;padding-bottom:clamp(3rem,8vw,5rem);position:relative}.gallery-section__content:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 0%,#0000002e 40%,#0000006b 100%);width:100vw;height:calc(100% + 4.5rem);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.gallery-section__eyebrow{font-family:var(--font-body), sans-serif;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 10px #00000047;margin:0 0 1rem;font-size:14px;font-weight:400;line-height:20px}.gallery-section__heading{max-width:var(--site-content-max-width);text-shadow:0 2px 16px #00000052;margin:0 0 1.25rem;font-size:45px;line-height:1.1}.gallery-section--page-hero .gallery-section__heading{font-size:40px;line-height:44px}.gallery-section__description{max-width:var(--site-description-max-width);font-family:var(--font-body), sans-serif;color:var(--color-white);text-shadow:0 1px 12px #0000004d;margin:0 0 1.75rem;font-size:18px;font-weight:300;line-height:28px}.gallery-section__description:last-child{margin-bottom:0}.gallery-section__link{color:inherit;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.gallery-section__link-label{border-bottom:1px solid;padding-bottom:.15rem}.gallery-section__link:hover{opacity:.85}.gallery-section__link-icon{flex-shrink:0}@media (max-width:900px){.gallery-section__header{grid-template-columns:1fr auto;grid-template-areas:"logo cta""nav nav"}.gallery-section__logo{grid-area:logo}.gallery-section__book-cta{grid-area:cta;justify-self:end}.gallery-section__nav{grid-area:nav;padding-top:1rem}.gallery-section__nav ul{justify-content:flex-start;gap:1rem 1.25rem}}@media (max-width:768px){.gallery-section__heading{font-size:34px}.gallery-section--page-hero .gallery-section__heading{font-size:30px;line-height:33px}.gallery-section--page-hero .gallery-section__description{font-size:16px;line-height:26px}}@media (max-width:400px){.gallery-section--page-hero .gallery-section__heading{font-size:27px;line-height:30px}}@media (max-width:600px){.gallery-section__logo-text{font-size:.72rem}}
