/* Opt-in shared sections. Project themes supply composition and design tokens. */
.ui-container{width:min(calc(100% - 2 * var(--theme-gutter,20px)),var(--theme-container,1280px));margin-inline:auto}
.ui-action{min-height:52px;padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;background:var(--theme-primary);color:#fff;border:1px solid var(--theme-border);border-radius:var(--theme-radius-sm,4px);font-size:14px;line-height:20px;font-weight:600;text-decoration:none;transition:background .15s}
.ui-action:hover{background:var(--theme-ink);color:#fff}.ui-action--inverse{background:var(--theme-canvas);color:var(--theme-primary)}.ui-action--inverse:hover{background:var(--theme-sand);color:var(--theme-primary)}
.ui-editorial-link{display:inline-flex;gap:16px;align-items:center;min-height:52px;font-size:14px;font-weight:600;text-decoration:none;color:inherit}.ui-editorial-link:hover{text-decoration:underline;text-underline-offset:5px}
.ui-figure{margin:0;min-width:0}.ui-figure .ui-figure__image{width:100%;object-fit:cover;display:block}.ui-figure figcaption{font-size:14px;line-height:23px;margin-top:12px;color:var(--theme-muted)}
.ui-hero{position:relative;isolation:isolate;color:var(--theme-canvas)}.ui-hero__media{position:absolute;inset:0;z-index:-2}.ui-hero__media .ui-image,.ui-hero__image{width:100%;height:100%;object-fit:cover}.ui-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--theme-primary);opacity:var(--hero-overlay,.65)}.ui-hero__inner{display:flex;flex-direction:column;justify-content:space-between;min-height:var(--hero-height,720px);padding-block:64px 48px}.ui-hero__copy{max-width:850px}.ui-hero h1{color:inherit}.ui-hero__description{max-width:480px}.ui-hero__actions{display:flex;align-items:center;gap:12px}.ui-eyebrow{font-size:14px;font-weight:600}
.ui-feature__icon{display:block;width:32px;height:32px;flex-shrink:0}.ui-feature__icon img{max-width:100%;max-height:100%}.ui-feature h3{font-size:20px;font-weight:600;line-height:26px;margin:16px 0}.ui-feature p{font-size:14px;color:var(--theme-muted);margin:0;line-height:23px}.ui-feature--compact{display:flex;gap:16px;align-items:center}.ui-feature--compact strong{display:block;font-size:16px;line-height:22px;margin-bottom:4px}
.ui-article-card{min-width:0}.ui-article-card__cover{display:flex;background:var(--theme-sand);align-items:center;justify-content:center;min-height:168px;overflow:hidden}.ui-article-card__cover img{max-width:100%;height:auto}.ui-article-card__category{font-size:12px;letter-spacing:1px;margin:16px 0}.ui-article-card h3{font-size:20px;line-height:26px;font-weight:600;letter-spacing:-.4px}.ui-article-card h3 a{color:inherit;text-decoration:none}.ui-article-card>p:not(.ui-article-card__category){font-size:16px;line-height:26px;color:var(--theme-muted)}
.ui-footer-group h2{font-size:20px;line-height:26px;font-weight:600;margin:0 0 14px}.ui-footer-group ul{list-style:none;padding:0;margin:0}.ui-footer-group li a{min-height:40px;display:flex;align-items:center;color:inherit;font-size:14px;text-decoration:none}.ui-footer-group li a:hover{text-decoration:underline}
.ui-location{padding:32px;display:grid;grid-template-columns:264px minmax(0,1fr);gap:32px;background:var(--theme-sand)}.ui-location__address h3{font-size:20px;font-weight:600}.ui-location__street{font-size:28px;line-height:36px;letter-spacing:-.84px;font-weight:600}.ui-location__address>p:not(.ui-location__street){font-size:14px;color:var(--theme-muted)}.ui-location__map{height:360px;overflow:hidden;position:relative;color:var(--theme-ink)}.ui-location__tiles{display:grid;grid-template-columns:repeat(3,1fr);width:100%;}.ui-location__tiles img{width:100%;height:auto}.ui-location__pin{position:absolute;left:48.3%;top:34%;display:flex;flex-direction:column;align-items:center;transform:translateX(-50%);gap:8px}.ui-location__pin img{background:var(--theme-canvas);padding:6px;box-sizing:content-box}.ui-location__pin span{background:var(--theme-canvas);padding:8px;font-size:14px;font-weight:600}.ui-location__attribution{position:absolute;bottom:0;right:0;background:var(--theme-canvas);padding:4px;font-size:11px}
@media(max-width:767px){.ui-hero__inner{min-height:536px;padding-block:28px}.ui-location{grid-template-columns:1fr;padding:20px;gap:24px}.ui-location__map{height:220px}.ui-location__tiles{width:600px;position:absolute;left:50%;transform:translateX(-50%)}.ui-action{padding-inline:20px}.ui-hero__actions{flex-wrap:wrap}}

.ui-gallery{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));column-gap:0;row-gap:48px}.ui-gallery__item{text-decoration:none;color:var(--theme-ink)}.ui-gallery__item:hover img{filter:brightness(.92)}.ui-gallery__item--1{grid-column:1/19;margin-right:16px}.ui-gallery__item--2{grid-column:20/33}.ui-gallery__item--3{grid-column:1/10}.ui-gallery__item--4{grid-column:11/20}.ui-gallery__item--5{grid-column:21/33}.ui-gallery__item .ui-figure__image{height:200px}.ui-gallery__item--1 .ui-figure__image,.ui-gallery__item--2 .ui-figure__image{height:280px}.ui-gallery figcaption{color:var(--theme-ink)}
.ui-gallery-dialog{border:0;background:var(--theme-canvas);color:var(--theme-ink);width:min(1100px,calc(100% - 40px));max-height:94dvh;padding:24px}.ui-gallery-dialog header,.ui-gallery-dialog nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.ui-gallery-dialog header h2{font-size:28px!important;line-height:36px!important;margin:0!important}.ui-gallery-dialog button{border:0;background:transparent;min-height:44px;color:inherit}.ui-gallery-dialog figure{margin:20px 0}.ui-gallery-dialog figure img{width:100%;height:65dvh;object-fit:contain}.ui-gallery-dialog figcaption{font-size:14px;margin-top:12px}
.ui-gallery-dialog::backdrop{background:rgba(20,35,26,.7)}

.theme-profile--brand-adaptive .ui-hero{padding:0}

.theme-profile--brand-adaptive .ui-feature h3,.theme-profile--brand-adaptive .ui-article-card h3{font-weight:600}.theme-profile--brand-adaptive .ui-article-card__category{margin:16px 0}.theme-profile--brand-adaptive .ui-location{padding:32px}@media(max-width:767px){.theme-profile--brand-adaptive .ui-location{padding:20px}}
