@layer sections.hero {
/* css-reason: the required hero owns the shared Block Realty container, typography, focus and reduced-motion primitives used by the composed single-property page */
:root {
    --tr-image-frame-bg: var(--tr-color-smoke);
    --tr-font-weight-light: 300;
    --tr-font-weight-regular: 400;
    --tr-font-weight-medium: 500;
    --tr-leading-display: 1;
    --tr-leading-headline: 1.1;
    --tr-leading-body-lg: 1.2;
    --tr-leading-body-md: 1.3;
    --tr-leading-body: 1.4;
    --tr-tracking-display: -0.04em;
    --tr-tracking-headline-lg: -2px;
    --tr-tracking-headline-sm: -1px;
    --tr-tracking-tagline: -0.03em;
}

/* Figma Typography collection: semantic text styles backed by responsive size primitives. */
:where(
    .br-type-display-72,
    .br-type-headline-57,
    .br-type-headline-46,
    .br-type-headline-37,
    .br-type-body-regular-29,
    .br-type-body-regular-23,
    .br-type-body-regular-19,
    .br-type-body-regular-15,
    .br-type-body-regular-12,
    .br-type-body-medium-29,
    .br-type-body-medium-23,
    .br-type-body-medium-19,
    .br-type-body-medium-15,
    .br-type-body-medium-12,
    .br-type-button,
    .br-type-tagline,
    .br-type-tag-s,
    .br-type-tour-selector-heading,
    .br-type-tour-selector-intro,
    .br-type-tour-selector-unit,
    .br-type-tour-selector-detail
) {
    font-family: var(--tr-font-sans);
    font-style: normal;
}

.br-type-display-72,
.br-type-headline-57,
.br-type-headline-46,
.br-type-headline-37 {
    font-weight: var(--tr-font-weight-regular);
    text-wrap: balance;
}

.br-type-display-72 {
    font-size: var(--tr-text-display-72);
    line-height: var(--tr-leading-display);
    letter-spacing: var(--tr-tracking-display);
}

.br-type-headline-57 {
    font-size: var(--tr-text-headline-57);
    line-height: var(--tr-leading-headline);
    letter-spacing: var(--tr-tracking-headline-lg);
}

.br-type-headline-46 {
    font-size: var(--tr-text-headline-46);
    line-height: var(--tr-leading-headline);
    letter-spacing: var(--tr-tracking-headline-lg);
}

.br-type-headline-37 {
    font-size: var(--tr-text-headline-37);
    line-height: var(--tr-leading-headline);
    letter-spacing: var(--tr-tracking-headline-sm);
}

.br-type-body-regular-29,
.br-type-body-regular-23,
.br-type-body-regular-19,
.br-type-body-regular-15,
.br-type-body-regular-12 {
    font-weight: var(--tr-font-weight-regular);
    letter-spacing: 0;
}

.br-type-body-medium-29,
.br-type-body-medium-23,
.br-type-body-medium-19,
.br-type-body-medium-15,
.br-type-body-medium-12,
.br-type-button,
.br-type-tag-s {
    font-weight: var(--tr-font-weight-medium);
    letter-spacing: 0;
}

.br-type-body-regular-29,
.br-type-body-medium-29 {
    font-size: var(--tr-text-body-29);
    line-height: var(--tr-leading-body-lg);
}

.br-type-body-regular-23,
.br-type-body-medium-23 {
    font-size: var(--tr-text-body-23);
    line-height: var(--tr-leading-body-lg);
}

.br-type-body-regular-19,
.br-type-body-medium-19 {
    font-size: var(--tr-text-body-19);
    line-height: var(--tr-leading-body-md);
}

.br-type-body-regular-15,
.br-type-body-medium-15 {
    font-size: var(--tr-text-body-15);
    line-height: var(--tr-leading-body);
}

.br-type-body-regular-12,
.br-type-body-medium-12 {
    font-size: var(--tr-text-body-12);
    line-height: var(--tr-leading-body);
}

.br-type-button {
    font-size: var(--tr-text-body-15);
    line-height: var(--tr-leading-display);
    letter-spacing: 0;
}

.br-type-tagline {
    font-size: var(--tr-text-body-15);
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-display);
    letter-spacing: var(--tr-tracking-tagline);
    text-transform: uppercase;
}

.br-type-tag-s {
    font-size: var(--tr-text-body-12);
    line-height: var(--tr-leading-display);
    letter-spacing: 0;
    text-transform: uppercase;
}

/* Figma 3D selector roles: 320/390/512 → 768 → 1024 → 1280/1440/1920. */
.br-type-tour-selector-heading {
    font-size: var(--tr-text-tour-selector-heading);
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-headline);
    letter-spacing: var(--tr-tracking-headline-lg);
    text-wrap: balance;
}

.br-type-tour-selector-intro {
    font-size: var(--tr-text-tour-selector-intro);
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-body-md);
    letter-spacing: 0;
}

.br-type-tour-selector-unit {
    font-size: var(--tr-text-tour-selector-unit);
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-body-lg);
    letter-spacing: 0;
}

.br-type-tour-selector-detail {
    font-size: var(--tr-text-tour-selector-detail);
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-body);
    letter-spacing: 0;
}
/* The title is one heading holding two spans in ONE text style — Figma node
   335-2169 sets the whole line in Display 72 (72px / 72px / -0.04em, white) and
   differs the tagline by weight alone: the name and the dash are Regular, the
   tagline is Light. Weight is the WHOLE difference: both spans take the same
   full-white fill, so a dimmer colour is never the way to separate them — the
   Light face is declared beside Regular and Medium in footer/styles.css. */
/* The hero is a grid of two rows: the FOLD, whose floor is one screen,
   and under it the agent card's BAND — an `auto` row that is the card plus the
   padding `.br-hero__card-band` puts around it, and nothing else, so it costs
   no number of its own and is empty wherever the card is hidden. Where the card
   shows, the hero is therefore the viewport plus exactly what the card needs,
   and the card is the first thing a scroll reveals; below 1024 the hero is the
   viewport. The copy spans both rows and centres itself on them, which puts it
   on the centre of the whole hero, half a band below the fold's own centre.
   Long copy grows the fold (`minmax(…, auto)`) rather than overflowing it.

   The floor is the kit's `--tr-window-h` — the window the page is being viewed
   in — and not `100svh` written here, because on an editing canvas the two are
   not the same thing: a canvas measures the rendered page and hands that height
   back as the frame's viewport, so a fold asking for `100svh` beside other
   in-flow sections asks for a window one page taller on every pass and never
   settles (`docs/section-authoring.md`, the canvas-height invariant). The token
   is `100svh` on a published page and the screen the canvas card stands for on
   a canvas, which is a constant, so the fold is one screen on both surfaces and
   settles in a single pass. The 1440px cap is the belt: a canvas host that
   predates the token leaves the token at `100svh` and the runaway ends at the
   cap in two passes instead. 1440px is a full-screen 1440p monitor — taller
   than every frame in the design and than a 12.9" tablet held upright (1366) —
   so it never binds on a screen anyone reads the published page on. Declared
   here, not as utilities, because the kit's `.tr-section` sets
   `display: block`.

   The grid is the FRAME, one element in from the section, and not the section
   itself, because the frame is what the scroll animation scales
   (`.br-hero__frame` below). The section outside it stays untransformed, which
   is what lets the island keep reading scroll progress off a box whose
   `getBoundingClientRect()` is layout truth — measure a scaled box and the
   progress feeding the scale is a function of the scale. */
.br-hero__frame {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(min(var(--tr-window-h), 1440px), auto) auto;
}
/* The band's padding. Below the card it is the 40px the design draws at every
   width. Above it — the gap between the fold and the card — it is the same 40px
   on the widest screens and grows, slowly and linearly with the viewport, to
   twice that at 1024px, where the card has less room to breathe: 80px at
   1024, 40px at 1920, clamped outside. Written against the viewport width so
   it needs no breakpoint of its own. */
.br-hero__card-band {
    padding-top: clamp(40px, calc(125.72px - 4.4643vw), 80px);
    padding-bottom: 40px;
}
.br-hero__title {
    font-weight: var(--tr-font-weight-regular);
    line-height: var(--tr-leading-display);
    letter-spacing: var(--tr-tracking-display);
    text-wrap: balance;
}
.br-hero__title-name,
.br-hero__title-dash {
    font-size: var(--tr-text-headline-57);
}
.br-hero__title-tagline {
    font-size: var(--tr-text-headline-57);
    font-weight: var(--tr-font-weight-light);
}
/* A long fill — name and tagline over 70 characters together, the renderer's
   call — takes the next size down at every width: headline-46 where the default
   is headline-57, headline-57 where it is display-72. */
.br-hero__title[data-br-title-length="long"] .br-hero__title-name,
.br-hero__title[data-br-title-length="long"] .br-hero__title-dash,
.br-hero__title[data-br-title-length="long"] .br-hero__title-tagline {
    font-size: var(--tr-text-headline-46);
}
.br-hero__nav-overlay {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0) 100%
    );
}
.br-hero__brand {
    position: relative;
    z-index: 3;
}
.br-hero__contact-trigger {
    position: relative;
    z-index: 3;
}
/* The contact side panel — the team section's `.br-team-dialog` (realtor/styles.css)
   drawn again for the hero: same scrim, same frame, same slide-in, same header.
   The values are a twin, not a dependency: every section's CSS ships in the
   template's stylesheet, but the hero is a required section and the realtor is
   not, so this shell does not build on a droppable sibling's classes. Change
   both or neither. The one difference is the frame's job: the team panel scrolls as a
   whole, this one keeps its header put and scrolls the view under it. */
.br-contact-dialog {
    position: fixed;
    z-index: 80;
    inset: 0;
    color: var(--tr-color-ink);
}
.br-contact-dialog__scrim {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgb(255 255 255 / 40%);
    backdrop-filter: blur(4px);
    cursor: default;
    animation: br-contact-dialog-scrim-in 300ms ease both;
}
.br-contact-dialog__panel {
    position: absolute;
    inset: 16px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    overflow: hidden;
    border-radius: 6px;
    background: var(--tr-color-smoke);
    box-shadow: 0 16px 48px rgb(34 34 34 / 10%);
    animation: br-contact-dialog-panel-in 400ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.br-contact-dialog__header {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    border-top: 1px solid var(--tr-color-ink-20);
    padding-top: 16px;
}
.br-contact-dialog__close {
    display: inline-grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border: 0;
    border-radius: 6px;
    background: var(--tr-color-grey-50);
    color: var(--tr-color-ink);
    cursor: pointer;
}
.br-contact-dialog__close svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.5;
}
/* The view's region under the fixed header. On a phone the form's own scroller
   owns overflow so the submit footer can pin to the frame's bottom edge; a
   sub-500px viewport cannot fit even the compact frame, so this region is the
   escape scroller there. */
.br-contact-dialog__content {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    margin-top: 40px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    outline: none;
}
@media (min-height: 500px) {
    .br-contact-dialog__content {
        overflow-y: hidden;
    }
}

.br-contact-options-dialog__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.br-contact-options-dialog__header p {
    max-width: 368px;
}
.br-contact-options-dialog__view {
    display: flex;
    width: 100%;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 40px;
}
.br-contact-options-dialog__actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.br-contact-options-card {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
    min-height: 0;
    padding: 16px;
    border: 1px solid rgba(181, 184, 173, 0.2);
    border-radius: 12px;
    background: var(--tr-color-grey-10);
    color: var(--tr-color-ink);
    text-decoration: none;
    backdrop-filter: blur(2px);
    overflow: hidden;
    transition: border-color 420ms cubic-bezier(0.4, 0, 0.2, 1);
}
.br-contact-options-card::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(206, 208, 200, 0.28),
        rgba(181, 184, 173, 0.28)
    );
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity 420ms cubic-bezier(0.4, 0, 0.2, 1);
}
.br-contact-options-card > * {
    position: relative;
    z-index: 1;
}
.br-contact-options-card:hover,
.br-contact-options-card:focus-visible {
    border-color: rgba(181, 184, 173, 0.35);
}
.br-contact-options-card:hover::before,
.br-contact-options-card:focus-visible::before {
    opacity: 1;
}
.br-contact-options-card__icon,
.br-contact-options-card__arrow {
    width: 24px;
    height: 24px;
}
.br-contact-options-card__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}
.br-contact-options-card__copy > :last-child {
    max-width: 293px;
    color: var(--tr-color-ink-60);
}
.br-contact-options-card__arrow {
    display: none;
    margin-left: 4px;
    opacity: 0;
    transition: opacity 420ms cubic-bezier(0.4, 0, 0.2, 1);
}
.br-contact-options-card:hover .br-contact-options-card__arrow,
.br-contact-options-card:focus-visible .br-contact-options-card__arrow {
    opacity: 1;
}
.br-schedule-visit,
.br-advisor-form {
    animation: br-contact-options-fade-in 560ms cubic-bezier(0.4, 0, 0.2, 1)
        both;
}
.br-schedule-visit__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.br-schedule-visit__header h2 {
    max-width: 278px;
}
.br-schedule-visit__header p {
    max-width: 368px;
}
.br-schedule-visit__form {
    display: flex;
    width: 100%;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.br-schedule-visit__body {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 24px;
}
.br-schedule-visit__agent {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-height: 105px;
    align-items: flex-start;
    padding: 10px;
    border-radius: 12px;
    background: linear-gradient(
        90deg,
        rgba(206, 208, 200, 0.4),
        rgba(181, 184, 173, 0.4)
    );
    backdrop-filter: blur(2px);
}
.br-schedule-visit__agent-image {
    width: 85px;
    height: 85px;
    flex: 0 0 85px;
    border-radius: 2px;
    object-fit: cover;
}
.br-schedule-visit__agent-copy {
    box-sizing: border-box;
    display: flex;
    min-width: 0;
    min-height: 85px;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    padding-inline: 7px;
}
.br-schedule-visit__agent-copy > div > :first-child,
.br-schedule-visit__agent-copy > a {
    color: rgba(34, 34, 34, 0.7);
}
.br-schedule-visit__agent-copy a {
    width: fit-content;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.br-schedule-visit__fields {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 16px;
}
.br-schedule-visit__fields label {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    color: var(--tr-color-ink-60);
    font-size: 10px;
    line-height: normal;
    text-transform: uppercase;
}
.br-schedule-visit__date-time {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
.br-schedule-visit__control {
    position: relative;
    display: block;
    width: 100%;
}
.br-schedule-visit__fields input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 48px;
    padding: 8px 16px;
    border: 1px solid var(--tr-color-grey-20);
    border-radius: 4px;
    outline: 0;
    appearance: none;
    background: var(--tr-color-grey-10);
    color: var(--tr-color-ink);
    text-transform: none;
}
.br-schedule-visit__control input {
    padding-right: 44px;
}
.br-schedule-visit__control > img {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 20px;
    height: 20px;
    pointer-events: none;
}
.br-schedule-visit__fields input::placeholder {
    color: var(--tr-color-ink-40);
    opacity: 1;
}
.br-schedule-visit__fields input[type="date"]:invalid {
    color: var(--tr-color-ink-40);
}
.br-schedule-visit__fields
    input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
}
.br-schedule-visit__fields input:focus-visible {
    border-color: var(--tr-color-ink-60);
    outline: 2px solid var(--tr-color-ink);
    outline-offset: 2px;
}
.br-schedule-visit__fields :disabled {
    cursor: wait;
    opacity: 0.6;
}
.br-schedule-visit__submit {
    width: 100%;
    min-width: 136px;
    min-height: 44px;
    padding: 8px 24px;
    border: 0;
    border-radius: 6px;
    background: var(--tr-color-ink);
    color: var(--tr-color-white);
    cursor: pointer;
}
.br-schedule-visit__submit:disabled {
    cursor: wait;
    opacity: 0.6;
}
.br-contact-options-dialog__footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: flex;
    width: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 48px max(16px, env(safe-area-inset-right))
        max(16px, env(safe-area-inset-bottom))
        max(16px, env(safe-area-inset-left));
    background: linear-gradient(
        180deg,
        rgba(244, 244, 244, 0) 0%,
        rgba(244, 244, 244, 0.58) 52%,
        rgba(244, 244, 244, 0.95) 100%
    );
}
.br-schedule-visit__feedback {
    max-width: 100%;
    color: rgba(34, 34, 34, 0.7);
}
.br-schedule-visit__feedback--error {
    color: var(--tr-color-ink);
}
.br-advisor-form__header {
    display: flex;
    max-width: 368px;
    flex-direction: column;
    gap: 16px;
    color: var(--tr-color-ink);
    font-family: var(--tr-font-sans);
}
.br-advisor-form__header h2 {
    font-size: 24px;
    font-weight: var(--tr-font-weight-regular);
    line-height: 1.1;
    letter-spacing: -1px;
    text-box-edge: cap alphabetic;
    text-box-trim: trim-both;
}
.br-advisor-form__header p {
    font-size: 17px;
    font-weight: var(--tr-font-weight-regular);
    line-height: 1.3;
}
.br-advisor-form__fields textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 104px;
    padding: 16px;
    resize: vertical;
    border: 1px solid var(--tr-color-grey-20);
    border-radius: 4px;
    outline: 0;
    background: var(--tr-color-grey-10);
    color: var(--tr-color-ink);
    text-transform: none;
}
.br-advisor-form__fields input,
.br-advisor-form__fields textarea,
.br-advisor-form__fields .br-select__trigger,
.br-advisor-form__fields .br-select__option {
    font-size: 14px;
}
.br-advisor-form__fields textarea::placeholder {
    color: var(--tr-color-ink-40);
    opacity: 1;
}
.br-advisor-form__fields textarea:focus-visible {
    border-color: var(--tr-color-ink-60);
    outline: 2px solid var(--tr-color-ink);
    outline-offset: 2px;
}
.br-advisor-form__message {
    height: 120px;
}
.br-advisor-form__persona {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
.br-advisor-form__persona legend {
    font-size: 19px;
    line-height: 1.2;
}
.br-advisor-form__persona > div {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 24px;
}
.br-advisor-form__persona label {
    position: relative;
    display: flex;
    min-height: 24px;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
}
.br-advisor-form__persona input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.br-advisor-form__choice-box {
    box-sizing: border-box;
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border: 1px solid #696969;
    border-radius: 4px;
    background: transparent;
}
.br-advisor-form__choice-box img {
    width: 18px;
    height: 18px;
    opacity: 0;
}
.br-advisor-form__persona input:checked + .br-advisor-form__choice-box {
    border-color: var(--tr-color-ink);
    background: var(--tr-color-ink);
}
.br-advisor-form__persona input:checked + .br-advisor-form__choice-box img {
    opacity: 1;
}
.br-advisor-form__persona input:focus-visible + .br-advisor-form__choice-box {
    outline: 2px solid var(--tr-color-ink);
    outline-offset: 2px;
}
.br-advisor-form__persona input:disabled ~ span {
    cursor: wait;
    opacity: 0.6;
}
.br-advisor-form__submit {
    min-width: 120px;
    font-size: 14px;
}
/* From 500px of viewport height, the panel owns the fixed mobile frame and only
   the form content owns overflow. Keeping the footer outside that scroller pins
   the action to the bottom without manufacturing a blank region to scroll. */
.br-contact-options-dialog__form-scroll {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 24px;
    padding-bottom: max(76px, calc(60px + env(safe-area-inset-bottom)));
    overflow-y: auto;
    overscroll-behavior: contain;
}
.br-advisor-form__scroll {
    display: flex;
    gap: 32px;
}
html {
    scroll-behavior: smooth;
}
.br-reveal {
    --br-reveal-delay: 0ms;
    --br-reveal-duration: 900ms;
    --br-reveal-easing: cubic-bezier(0.4, 0, 0.2, 1);
}
.br-reveal--load {
    --br-reveal-duration: 1500ms;
}
.br-reveal--delay-1 {
    --br-reveal-delay: 120ms;
}
.br-reveal--delay-2 {
    --br-reveal-delay: 240ms;
}
/* css-reason: the load reveal is driven by the document, never by hydration —
   `both` holds the from-state through the delay, so the element is already faded
   out in the FIRST paint. An island cannot do this: its effect necessarily runs
   after that paint, which is what made the headline flash in before fading. */
.br-reveal--load {
    animation: br-reveal-fade var(--br-reveal-duration) var(--br-reveal-easing)
        var(--br-reveal-delay) both;
}
/* css-reason: a scroll reveal's resting state rides the SERVER-RENDERED marker,
   so it is in the first paint too. Guarded on `scripting` because clearing it is
   the one thing JS still owns here — with no scripting there is no observer to
   fire, and an unguarded rule would hide the content permanently. The tour
   divider is excluded from the opacity half (it carries no `.br-reveal`): it rests
   on scaleX and animates a transform, so fading it out would strand it invisible. */
@media (scripting: enabled) {
    .br-reveal:where([data-br-reveal], [data-br-reveal-item]) {
        opacity: 0;
    }
    .br-tour-divider[data-br-reveal-item] {
        transform: scaleX(0);
    }
}
.br-reveal[data-br-reveal-state="visible"] {
    animation: br-reveal-fade var(--br-reveal-duration) var(--br-reveal-easing)
        var(--br-reveal-delay) both;
}
/* The scroll animation, in one transform. HeroScrollScale writes both custom
   properties here, on the frame, and the frame holds everything the hero paints
   — photo, nav bar, copy, agent card — so all of it shrinks and grows as one
   picture and every gap inside it scales rather than closing. Scaling each well
   on its own could not do this: `transform-origin` is per element, so each
   would shrink towards its OWN centre and the pieces would drift apart.

   The radius is the frame's, applied to the media because the media is the only
   box the hero paints edge to edge. It is divided by the scale in the island, so
   the design's 24px is 24px on screen rather than 24px shrunk by the transform
   it rides on. */
.br-hero__frame {
    --br-hero-frame-scale: 1;
    --br-hero-frame-radius: 0px;
    transform: scale(var(--br-hero-frame-scale));
    transform-origin: center center;
    will-change: transform;
}
.br-hero__media {
    border-radius: var(--br-hero-frame-radius);
    will-change: border-radius;
}
/* The divider is the copy block's top edge; the padding under it is the design's
   40px from the rule to the title's INK (32px on the 320 frame), less the distance
   the cap sits below its line box at each size — so it steps with the title's
   size below. Measured on the rendered page, not transcribed. */
.br-hero__content-grid {
    position: relative;
    padding-top: 27px;
}
.br-hero__content-grid::before {
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 1px;
    background: var(--tr-color-white-40);
    content: "";
    transform-origin: center;
    animation: br-hero-divider-reveal 1300ms cubic-bezier(0.4, 0, 0.2, 1) 150ms
        both;
}
@keyframes br-reveal-fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes br-hero-divider-reveal {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}
@keyframes br-contact-options-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes br-contact-dialog-scrim-in {
    from {
        opacity: 0;
    }
}
@keyframes br-contact-dialog-panel-in {
    from {
        opacity: 0;
        transform: translateX(24px);
    }
}
.br-container {
    box-sizing: border-box;
    width: min(
        calc(
            100% - 2 * max(var(--tr-gutter-mobile), env(safe-area-inset-left))
        ),
        var(--tr-container-max)
    );
    margin-inline: auto;
}
.br-display,
.br-heading-1,
.br-heading-2,
.br-heading-3 {
    text-wrap: balance;
}
.br-display {
    font-size: var(--tr-text-display);
    line-height: 1;
    letter-spacing: -0.04em;
}
.br-heading-1 {
    font-size: var(--tr-text-h1);
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.br-heading-2 {
    font-size: var(--tr-text-h2);
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.br-heading-3 {
    font-size: var(--tr-text-h3);
    line-height: 1.1;
    letter-spacing: -0.02em;
}
.br-body-lg {
    font-size: var(--tr-text-body-lg);
    line-height: 1.2;
}
.br-body-md {
    font-size: var(--tr-text-body-md);
    line-height: 1.3;
}
.br-body {
    font-size: var(--tr-text-body);
    line-height: 1.4;
}
.br-caption {
    font-size: var(--tr-text-caption);
    line-height: 1.4;
}
.br-focus-ring:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
    box-shadow: var(--tr-shadow-focus);
}
.br-scroll-lock {
    overflow: hidden;
}
/* THE BAND — the page's full-width media block, drawn by the 3D tour and by the
   neighborhood map: one rounded shell inset from the page edge, standing in the
   page's own section rhythm. A visitor reads each as a single object of the same
   kind, so the two take ONE geometry rather than a copy each. Copies are what let
   them drift: the map was authored on its own fixed ladder and ended up 1052px
   tall on a laptop whose window is ~800, while the tour had long since been
   sized against the window (`ONB-221`).
   The shell's height is the design's own, artboard by artboard, to 768. From
   `lg` it is the WINDOW less the header instead of a number — the band may not
   outgrow the screen it is read on — floored at 620px so a laptop in landscape
   still gets a band and not a letterbox.
   Below 390 the number is the MAP's: that band spends its height on a tab bar and
   a detail card drawn inside the frame, where the tour carries one heading and one
   button — so the tour is the one that can afford to follow.

   That window is the kit's `--tr-window-h` and not `100svh` written here — the
   same token, and the same reason, as the hero's fold above (`.br-hero__frame`).
   A website canvas measures the rendered page and hands that height back as the
   frame's viewport, so an in-flow box asking for the unit asks for a window one
   page taller on every pass and never settles (`docs/section-authoring.md`, the
   canvas-height invariant); the token is `100svh` on a published page and the
   screen the card stands for on a canvas, so the band is one screen on both and
   settles in a single pass.

   The 1080px ceiling is a DESIGN number rather than that belt, and it is the
   VIDEO section's own top step (`video/styles.css`, from 1920): the page's two
   full-width media blocks stop growing at the same height, so neither outruns
   the other on a large monitor. It binds on any window past 1160px, which is the
   point of it — the band tracks the screen up to the number the design stops at,
   and no further. What it still does incidentally is end the climb for a canvas
   host predating the token, in two passes rather than one. It replaced a 999px
   cap inherited from the ingested pack, which was documented as that belt and
   was never one (`ONB-238`). */
.br-band-section {
    box-sizing: border-box;
    padding-block: clamp(16px, 2.083vw, 40px) clamp(64px, 6.25vw, 120px);
}
.br-band-shell {
    box-sizing: border-box;
    width: calc(100% - 2 * clamp(16px, 2.083vw, 40px));
    height: 536px;
    margin-inline: auto;
}
@media (min-width: 390px) {
    .br-band-shell {
        height: 635px;
    }
}
@media (min-width: 512px) {
    .br-band-shell {
        height: 764px;
    }
}
@media (min-width: 768px) {
    .br-band-shell {
        height: 760px;
    }
}
@media (min-width: 1024px) {
    .br-band-shell {
        height: min(1080px, calc(var(--tr-window-h) - 80px));
        min-height: 620px;
    }
}
.br-tour-divider {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--tr-color-grey-40);
    transform-origin: center;
}
.br-tour-divider[data-br-reveal-state="visible"] {
    animation: br-hero-divider-reveal 1300ms cubic-bezier(0.4, 0, 0.2, 1)
        var(--br-reveal-delay, 150ms) both;
}
@media (min-width: 390px) {
    .br-hero__title-name,
    .br-hero__title-dash,
    .br-hero__title-tagline {
        font-size: var(--tr-text-display-72);
    }
    .br-hero__title[data-br-title-length="long"] .br-hero__title-name,
    .br-hero__title[data-br-title-length="long"] .br-hero__title-dash,
    .br-hero__title[data-br-title-length="long"] .br-hero__title-tagline {
        font-size: var(--tr-text-headline-57);
    }
    .br-hero__content-grid {
        padding-top: 33px;
    }
}
/* Breakpoint steps for the theme's size primitives are set on `body`, never `:root`:
 * the theme emits its own `:root { --tr-* }` block UNLAYERED while this file is folded
 * into `@layer sections.hero`, and an unlayered declaration outranks a layered one on
 * the same element whatever the media query — so a `:root` step here never took effect
 * on the published page. `body` has no unlayered rival, and every section inherits it. */
@media (min-width: 768px) {
    body {
        --tr-text-tour-selector-heading: 37px;
        --tr-text-tour-selector-intro: 19px;
        --tr-text-tour-selector-unit: 24px;
        --tr-text-tour-selector-detail: 13px;
    }
    .br-container {
        width: min(
            calc(
                100% - 2 *
                    max(var(--tr-gutter-tablet), env(safe-area-inset-left))
            ),
            var(--tr-container-max)
        );
    }
    .br-type-tour-selector-heading {
        letter-spacing: var(--tr-tracking-headline-sm);
    }
    .br-type-tour-selector-unit {
        line-height: var(--tr-leading-display);
    }
    .br-type-tour-selector-detail {
        line-height: var(--tr-leading-body-md);
    }
    .br-contact-dialog__panel {
        padding: 48px;
    }
    .br-contact-dialog__content {
        margin-top: 48px;
        overflow-y: auto;
    }
    .br-contact-options-dialog__view {
        min-height: auto;
        flex: 0 1 auto;
    }
    .br-schedule-visit__form {
        min-height: auto;
        flex: 0 1 auto;
        gap: 32px;
    }
    .br-contact-options-dialog__form-scroll {
        min-height: auto;
        flex: 0 1 auto;
        padding-bottom: 0;
        overflow-y: visible;
        overscroll-behavior: auto;
    }
    .br-advisor-form__scroll {
        display: contents;
    }
    .br-contact-options-card {
        min-height: 146px;
        padding: 40px 24px;
    }
    .br-contact-options-card__arrow {
        margin-left: 16px;
    }
    .br-schedule-visit__date-time {
        gap: 24px;
    }
    .br-contact-options-dialog__footer {
        position: static;
        right: auto;
        bottom: auto;
        left: auto;
        z-index: auto;
        width: 100%;
        padding: 0;
        background: none;
    }
    .br-schedule-visit__submit {
        width: auto;
        min-height: 40px;
    }
}
@media (min-width: 360px) {
    .br-schedule-visit__date-time {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    .br-container {
        width: min(
            calc(
                100% - 2 *
                    max(var(--tr-gutter-laptop), env(safe-area-inset-left))
            ),
            var(--tr-container-max)
        );
    }
    .br-contact-options-card__arrow {
        display: block;
    }
}
@media (min-width: 1024px) {
    .br-contact-dialog__panel {
        top: 16px;
        right: 16px;
        bottom: 16px;
        left: auto;
        width: 511px;
    }
}
@media (min-width: 1440px) {
    .br-contact-dialog__panel {
        top: 40px;
        right: 40px;
        bottom: 40px;
        width: 598px;
        padding: 64px;
    }
}
@media (min-width: 1024px) {
    body {
        --tr-text-tour-selector-intro: 20px;
    }
    .br-type-tour-selector-intro {
        line-height: 1.15;
    }
}
@media (min-width: 1025px) {
    body {
        --tr-text-headline-37: 37px;
    }
}
@media (min-width: 1280px) {
    .br-hero__content-grid {
        padding-top: 29px;
    }
    body {
        --tr-text-display-72: 72px;
        --tr-text-headline-57: 57px;
        --tr-text-headline-46: 46px;
        --tr-text-headline-37: 37px;
        --tr-text-body-29: 29px;
        --tr-text-body-23: 23px;
        --tr-text-body-19: 19px;
        --tr-text-body-15: 15px;
        --tr-text-body-12: 12px;
        --tr-text-tour-selector-intro: 19px;
    }
}
@media (min-width: 1600px) {
    .br-container {
        width: min(
            calc(
                100% - 2 * max(var(--tr-gutter-wide), env(safe-area-inset-left))
            ),
            var(--tr-container-max)
        );
    }
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    .br-motion {
        scroll-behavior: auto;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
    }
    .br-reveal--load,
    .br-reveal[data-br-reveal-state="visible"] {
        animation: none;
    }
    .br-reveal:where([data-br-reveal], [data-br-reveal-item]) {
        opacity: 1;
    }
    .br-hero__content-grid::before {
        animation: none;
        transform: scaleX(1);
    }
    .br-tour-divider[data-br-reveal-item] {
        animation: none;
        transform: scaleX(1);
    }
    .br-hero__frame {
        transform: none;
    }
    .br-hero__media {
        border-radius: 0;
    }
    .br-contact-options-card,
    .br-contact-options-card::before,
    .br-contact-options-card__arrow {
        transition: none;
    }
    .br-contact-dialog__scrim,
    .br-contact-dialog__panel,
    .br-schedule-visit,
    .br-advisor-form {
        animation: none;
    }
}

/* ── The form dropdown ─────────────────────────────────────────────────────────
   `components/foundation/SelectField.tsx`, after the 3D tour switcher: a trigger
   wearing the form's input geometry exactly, over a panel that takes the
   switcher's shape — a stack of radius-4 rows, the current one filled.

   It lives in the HERO's sheet because that is this template's foundation tier:
   `:root`, the type roles and `.br-focus-ring` are all already here, and the hero
   is composed on every page. `templates/block-realty/styles.css` — the tier that
   would own it by rule — is read by the publisher but NOT by `template-kit dev`
   (PRD-1655), so a control placed there renders naked in the playground and
   correct in production, which is the one place a shared control must not
   differ. Move this block there once that divergence is closed.

   Both treatments are declared here together, and the dark one wins on
   specificity rather than on layer order. Split across two sections' sheets they
   would be at the mercy of the order `collectLayeredCss` happens to receive. */
.br-select {
    --br-select-ink: var(--tr-color-ink);
    --br-select-placeholder: var(--tr-color-ink-40);
    --br-select-panel: var(--tr-color-white);
    --br-select-panel-hover: var(--tr-color-grey-20);
    --br-select-panel-current: var(--tr-color-grey-40);

    position: relative;
    display: block;
    width: 100%;
}

/* The contact form sits on ink, so it grounds its panel there rather than in white. */
.br-contact-form .br-select {
    --br-select-ink: var(--tr-color-white);
    --br-select-placeholder: var(--tr-color-white-40);
    --br-select-panel: var(--tr-color-ink);
    --br-select-panel-hover: var(--tr-color-white-10);
    --br-select-panel-current: var(--tr-color-white-20);
}

.br-select__trigger {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-width: 0;
    height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid var(--tr-color-grey-20);
    border-radius: 4px;
    outline: 0;
    background: var(--tr-color-grey-10);
    color: var(--br-select-ink);
    cursor: pointer;
    text-align: left;
    text-transform: none;
}

/* The resting dropdown is a prompt, not an answer, so it reads at the weight the
   sibling inputs give their placeholders. */
.br-select__trigger[data-empty="true"] {
    color: var(--br-select-placeholder);
}

.br-select__trigger:disabled {
    cursor: wait;
    opacity: 0.6;
}

/* `.br-focus-ring` draws in `currentColor`, which on an unchosen trigger is the
   dimmed placeholder — a focus ring nobody can see. The ink is the field's. */
.br-select__trigger:focus-visible,
.br-select__option:focus-visible {
    outline-color: var(--br-select-ink);
}

.br-select__label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.br-select__chevron {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.br-select__trigger[aria-expanded="true"] .br-select__chevron {
    transform: rotate(180deg);
}

.br-select__panel {
    position: absolute;
    z-index: 2;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    display: flex;
    box-sizing: border-box;
    max-height: 208px;
    flex-direction: column;
    gap: 2px;
    overflow-y: auto;
    padding: 4px;
    border: 1px solid var(--tr-color-grey-20);
    border-radius: 4px;
    background: var(--br-select-panel);
}

/* A field at the foot of a dialog's scrolling body would open its panel into the
   clip. Opening upward is what keeps the choice on screen. */
.br-select__panel[data-drop="up"] {
    top: auto;
    bottom: calc(100% + 4px);
}

/* `display: flex` above outranks the `hidden` attribute's UA rule, so the closed
   panel needs saying twice — the same guard the tour switcher carries. */
.br-select__panel[hidden] {
    display: none;
}

.br-select__option {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 8px 12px;
    border-radius: 4px;
    color: var(--br-select-ink);
    cursor: pointer;
    text-align: left;
    text-transform: none;
    transition: background-color 150ms ease;
}

.br-select__option:hover {
    background: var(--br-select-panel-hover);
}

.br-select__option[data-current="true"] {
    background: var(--br-select-panel-current);
}

@media (prefers-reduced-motion: reduce) {
    .br-select__chevron,
    .br-select__option { transition-duration: 0.01ms; }
}
}

@layer sections.residences {
.br-residences__panel-value {
  font-family: var(--tr-font-sans);
  font-size: var(--tr-text-body-19);
  font-style: normal;
  font-weight: var(--tr-font-weight-regular);
  line-height: var(--tr-leading-body-md);
  letter-spacing: 0;
}
.br-residences__item {
  transition: background-color 480ms cubic-bezier(0.25, 1, 0.5, 1);
}
.br-residences__item[open] {
  background-color: color-mix(in oklab, var(--tr-color-smoke) 50%, transparent);
}
.br-residences__item[data-motion-state=closing] {
  background-color: transparent;
}
.br-residences__filters,
.br-residences__filter-trigger,
.br-residences__filter-desktop {
  width: 100%;
}
.br-residences__filter-trigger {
  appearance: none;
  display: flex;
  height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border: 0;
  border-top: 1px solid var(--tr-color-ink-20);
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.br-residences__filter-desktop {
  height: 48px;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--tr-color-ink-20);
}
.br-residences__filter-dropdown[data-open=true] {
  transform-origin: top;
  animation: br-residences-filter-dropdown-open 280ms cubic-bezier(0.25, 1, 0.5, 1) both;
}
.br-residences__filter-options {
  animation: br-residences-filter-options-open 220ms 50ms cubic-bezier(0.25, 1, 0.5, 1) both;
}
@keyframes br-residences-filter-dropdown-open {
  from {
    clip-path: inset(0 0 calc(100% - 32px) 0 round 12px);
  }
  to {
    clip-path: inset(0 0 0 0 round 12px);
  }
}
@keyframes br-residences-filter-options-open {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .br-residences__filter-dropdown[data-open=true],
  .br-residences__filter-options {
    animation: none;
  }
}
.br-residences__filter-modal {
  position: fixed;
  z-index: 70;
  inset: 0;
  box-sizing: border-box;
  padding: 16px;
}
.br-residences__filter-dialog {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: 6px;
  background: color-mix(in srgb, var(--tr-color-white) 95%, transparent);
  backdrop-filter: blur(2.5px);
  animation: br-residences-filter-enter 240ms cubic-bezier(0.25, 1, 0.5, 1) both;
}
.br-residences__filter-dialog-scroll {
  min-height: 0;
  overflow-y: auto;
  padding: 40px 16px 24px;
}
@keyframes br-residences-filter-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.br-residences__summary {
  border-radius: 6px;
}
.br-residences__item:not(:last-child):not([open]) > .br-residences__summary {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom: 1px solid var(--tr-color-ink-20);
}
.br-residences__item:not(:last-child)[open] > .br-residences__unit-details-motion {
  border-bottom: 1px solid var(--tr-color-ink-20);
}
.br-residences__list {
  display: flow-root;
}
.br-residences__item[hidden] {
  display: none;
}
.br-residences__item[data-filter-last-visible=true]:not([open]) > .br-residences__summary {
  border-bottom: 0;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.br-residences__item[data-filter-last-visible=true][open] > .br-residences__unit-details-motion {
  border-bottom: 0;
}
.br-residences__empty-state {
  display: grid;
  place-items: center;
}
.br-residences__empty-state[hidden] {
  display: none;
}
.br-residences__pagination {
  display: flex;
  width: 100%;
  height: 56px;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--tr-color-ink-20);
}
.br-residences__pagination-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.br-residences__pagination-button {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 8px;
  border: 0;
  border-radius: 6px;
  background:
    linear-gradient(
      90deg,
      rgba(206, 208, 200, 0.4) 0%,
      rgba(181, 184, 173, 0.4) 100%);
  color: var(--tr-color-ink);
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}
.br-residences__pagination-button:active:not(:disabled) {
  transform: scale(0.96);
}
.br-residences__pagination-button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}
.br-residences__unit-details {
  display: grid;
  gap: 8px;
  padding: 0 16px 16px;
}
.br-residences__plan-viewer {
  position: relative;
  display: grid;
  height: 400px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--tr-color-ink-20);
  border-radius: 6px;
  background: var(--tr-color-white);
}
.br-residences__plan-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 400px;
  max-height: 312px;
  margin-block: auto;
  padding: 32px 46px;
  object-fit: contain;
  opacity: 0;
  transition: opacity 160ms ease 240ms;
  @media (min-width: 1024px) {
    max-height: none;
    padding: 100px 46px;
  }
}
.br-residences__plan-image--active {
  z-index: 1;
  opacity: 1;
  transition: opacity 240ms ease 0ms;
}
.br-residences__plan-image--flipped {
  transform: scaleX(-1);
}
.br-residences__unit-data {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 24px;
  padding: 16px;
  border-radius: 6px;
  background: var(--tr-color-grey-10);
}
.br-residences__specs {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.br-residences__panel-stat {
  height: 67px;
  padding: 13px 12px 12px;
  border-top: 1px solid var(--tr-color-ink-20);
}
.br-residences__unit-copy {
  min-width: 0;
}
.br-residences__description {
  display: flex;
  box-sizing: border-box;
  height: 134px;
  min-width: 0;
  cursor: pointer;
  list-style: none;
  flex-direction: column;
  overflow: visible;
  padding-top: 16px;
  border-top: 1px solid var(--tr-color-ink-20);
}
.br-residences__description::-webkit-details-marker {
  display: none;
}
.br-residences__description > .br-type-tagline,
.br-residences__read-more {
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.br-residences__description-body {
  display: -webkit-box;
  height: 63px;
  flex-shrink: 0;
  margin-top: 24px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.br-residences__read-more {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  margin-top: 12px;
}
.br-residences__unit-copy[data-description-overflow=false] .br-residences__description {
  cursor: default;
}
.br-residences__unit-copy[data-description-overflow=false] .br-residences__read-more {
  display: none;
}
.br-residences__read-more img {
  width: 12px;
  height: 12px;
  transition: transform 360ms cubic-bezier(0.25, 1, 0.5, 1);
}
.br-residences__unit-copy[open] .br-residences__description {
  height: auto;
}
.br-residences__unit-copy[open] .br-residences__description-body {
  height: auto;
  -webkit-line-clamp: unset;
}
.br-residences__unit-copy[open] .br-residences__read-more img {
  transform: rotate(45deg);
}
.br-residences__features {
  box-sizing: border-box;
  padding-top: 16px;
  border-top: 1px solid var(--tr-color-ink-20);
}
.br-residences__panel-inquire {
  display: inline-flex;
  width: 100%;
  margin-top: auto;
  height: 40px;
  min-width: 120px;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  border-radius: 6px;
  background: var(--tr-color-ink);
  color: var(--tr-color-white);
}
.br-residences__disclosure {
  display: inline-grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  border-radius: 6px;
  background: var(--tr-color-grey-50);
}
.br-residences__disclosure-icon {
  width: 24px;
  height: 24px;
  background: url("block-realty-icon-chevron-A2I4LV6Q.svg") center / 13.5px 7.5px no-repeat;
  transition: transform 150ms ease;
}
.group[open] .br-residences__disclosure-icon {
  transform: rotate(180deg);
}
.group[data-motion-state=closing] .br-residences__disclosure-icon {
  transform: rotate(0deg);
}
.br-residences__summary-stats {
  opacity: 1;
  visibility: visible;
  transition: opacity 240ms ease, visibility 0s linear;
}
.group[open]:not([data-motion-state=closing]) .br-residences__summary-stats {
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}
.group[data-motion-state=closing] .br-residences__summary-stats {
  opacity: 1;
  visibility: visible;
  transition-delay: 140ms, 0s;
}
.br-residences__summary-inquire {
  opacity: 1;
  visibility: visible;
  transition: opacity 240ms ease, visibility 0s linear;
}
.group[open]:not([data-motion-state=closing]) .br-residences__summary-inquire {
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}
.group[data-motion-state=closing] .br-residences__summary-inquire {
  opacity: 1;
  visibility: visible;
  transition-delay: 140ms, 0s;
}
.br-residences__plan-controls {
  position: absolute;
  z-index: 2;
  bottom: 16px;
  right: 12px;
  left: 12px;
  display: flex;
  width: auto;
  height: 40px;
  align-items: center;
  gap: 0;
}
.br-residences__zoom {
  appearance: none;
  border: 0;
  display: grid;
  width: 40px;
  height: 40px;
  flex: none;
  place-items: center;
  border-radius: 6px;
  background: var(--tr-color-grey-50);
  cursor: pointer;
}
.br-residences__zoom img {
  width: 24px;
  height: 24px;
}
.br-residences__levels {
  display: flex;
  width: max-content;
  max-width: 100%;
  height: 40px;
  flex: 0 1 auto;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 10px;
  background: var(--tr-color-grey-10);
  box-shadow: inset 0 0 0 1px var(--tr-color-grey-20);
  overflow-x: auto;
  scrollbar-width: none;
}
.br-residences__levels::-webkit-scrollbar {
  display: none;
}
.br-residences__plan-controls > .br-residences__levels {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.br-residences__level {
  appearance: none;
  border: 0;
  display: inline-flex;
  width: fit-content;
  min-width: 0;
  height: 32px;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding-inline: 16px;
  white-space: nowrap;
  backdrop-filter: blur(4px);
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
.br-residences__level--active {
  background: var(--tr-color-grey-50);
}
.br-residences__level-full {
  display: none;
}
.br-residences__level-short {
  display: inline;
}
.br-residences__floor-plan-modal {
  position: fixed;
  z-index: 60;
  inset: 0;
  box-sizing: border-box;
  padding: 16px;
  background: rgba(26, 26, 26, 0.9);
  backdrop-filter: blur(4px);
}
.br-residences__floor-plan-dialog {
  position: relative;
  width: 100%;
  height: calc(100% - 1px);
  overflow: hidden;
  border: 1px solid var(--tr-color-grey-20);
  border-radius: 6px;
  background: var(--tr-color-white);
}
.br-residences__modal-image {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding-block: 100px;
  padding-inline: 54px;
  object-fit: contain;
  opacity: 0;
  transition: opacity 160ms ease 240ms;
}
.br-residences__modal-image--active {
  z-index: 1;
  opacity: 1;
  transition: opacity 240ms ease 0ms;
}
.br-residences__modal-close {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 16px;
  display: grid;
  width: 40px;
  height: 40px;
  appearance: none;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: var(--tr-color-grey-50);
  cursor: pointer;
}
.br-residences__modal-close img {
  width: 24px;
  height: 24px;
}
.br-residences__modal-levels {
  position: absolute;
  z-index: 2;
  bottom: 16px;
  left: 50%;
  max-width: calc(100% - 32px);
  transform: translateX(-50%);
}
@media (min-width: 321px) {
  .br-residences__specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 390px) {
  .br-residences__level,
  .br-residences__level:first-child {
    width: auto;
    min-width: 120px;
  }
  .br-residences__level-full {
    display: inline;
  }
  .br-residences__level-short {
    display: none;
  }
}
@media (min-width: 512px) {
  .br-residences__plan-controls {
    right: 16px;
    left: 16px;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .br-residences__filter-trigger,
  .br-residences__filter-modal {
    display: none;
  }
  .br-residences__filter-desktop {
    display: flex;
  }
  .br-residences__list {
    width: min(calc(100% + 32px), 1400px);
    margin-left: max(-16px, calc((100% - 1400px) / 2));
  }
  .br-residences__unit-details {
    grid-template-columns: minmax(0, 4fr) minmax(0, 3fr);
    gap: 16px;
    padding: 0 24px 16px;
  }
  .br-residences__plan-viewer,
  .br-residences__plan-image {
    height: 744px;
  }
  .br-residences__unit-data {
    min-height: 744px;
    gap: 40px;
    padding: 24px;
  }
  .br-residences__unit-details.br-residences__unit-details--without-plan {
    grid-template-columns: minmax(0, 1fr);
  }
  .br-residences__unit-details--without-plan .br-residences__unit-data {
    width: 100%;
    min-height: 0;
    grid-column: 1 / -1;
  }
  .br-residences__panel-stat {
    height: 69px;
  }
  .br-residences__description {
    height: 130px;
  }
  .br-residences__floor-plan-modal {
    padding: 40px 16px;
  }
  .br-residences__plan-controls {
    right: 16px;
    left: 16px;
    display: block;
    width: auto;
    transform: none;
  }
  .br-residences__zoom {
    position: absolute;
    inset: 0 auto auto 0;
  }
  .br-residences__levels {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 1280px) {
  .br-residences__unit-details {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    padding-inline: 0;
  }
  .br-residences__unit-data {
    padding: 40px;
  }
  .br-residences__panel-stat {
    height: 80px;
  }
  .br-residences__description {
    height: 133px;
  }
  .br-residences__floor-plan-modal {
    padding-inline: 20px;
  }
  .br-residences__modal-close {
    top: 24px;
    right: 24px;
  }
  .br-residences__panel-value {
    font-size: var(--tr-text-body-29);
    line-height: var(--tr-leading-body-lg);
  }
}
@media (min-width: 1440px) {
  .br-residences__unit-details {
    padding-inline: 25px;
  }
  .br-residences__modal-close {
    top: 40px;
    right: 40px;
  }
}
@media (min-width: 1600px) {
  .br-residences__floor-plan-modal {
    padding-inline: 40px;
  }
}
.br-residences__floor-plan-dialog .br-residences__modal-levels {
  top: auto;
  right: auto;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 321px) {
  .br-residences__floor-plan-dialog .br-residences__modal-levels {
    bottom: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .br-residences__item,
  .br-residences__disclosure-icon,
  .br-residences__summary-stats,
  .br-residences__read-more img,
  .br-residences__plan-image,
  .br-residences__modal-image {
    transition-duration: 0.01ms;
  }
  .br-residences__plan-image,
  .br-residences__modal-image,
  .br-residences__plan-image--active,
  .br-residences__modal-image--active {
    transition-delay: 0ms;
  }
  .br-residences__filter-dialog {
    animation-duration: 0.01ms;
  }
}
}

@layer sections.\33 d-tour {
/* css-reason: the 3D residence selector has breakpoint-specific card geometry and states in Figma that cannot be expressed by the shared section primitives */

/* The resting band's rule and standfirst are chrome, and on a phone they crowd a
   shell that is 487px tall carrying one heading and one button. Owned here rather
   than by a `hidden md:block` utility because `.br-tour-divider` already declares
   `display: block` from the hero's stylesheet — and BOTH classes have to be named
   for the same reason: a lone `.br-tour-intro__rule` ties that rule on specificity
   and loses on sheet order, which is exactly what it did. */
.br-tour-divider.br-tour-intro__rule,
.br-tour-intro__standfirst {
  display: none;
}

@media (min-width: 768px) {
  .br-tour-divider.br-tour-intro__rule {
    display: block;
  }

  .br-tour-intro__standfirst {
    display: revert;
  }
}

/* The stage fades exactly twice — open and close. Everything between is a screen
   cross-fade inside it, so the band behind never shows through mid-flight. */
.br-tour-stage {
  opacity: 1;
  transition: opacity 360ms cubic-bezier(0.25, 1, 0.5, 1);
}

.br-tour-stage[data-visible="false"] {
  pointer-events: none;
  opacity: 0;
}

.br-tour-screen {
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 260ms cubic-bezier(0.25, 1, 0.5, 1);
}

.br-tour-screen[data-active="false"] {
  pointer-events: none;
  opacity: 0;
}

/* The viewer's screen is a frame for its controls, never a surface. It covers the
   embed edge to edge, and a 3D walkthrough is DRAGGED — so a hit surface here
   swallowed every click and pan the provider's canvas exists to receive, and a
   fully loaded tour read as broken. Each control inside — the switcher and the
   close ✕, which are now all of them — takes its pointer events back on its own
   element (`pointer-events-auto`). The selection screen is deliberately not
   included: its scrim is what stands between a click and the media behind it. */
.br-tour-screen--viewer {
  pointer-events: none;
}

/* The embed earns its fade-in: until the provider reports load, the chosen tour's
   poster is what is painted, and the walkthrough resolves out of it. */
.br-tour-embed {
  opacity: 0;
  transition: opacity 420ms cubic-bezier(0.25, 1, 0.5, 1);
}

.br-tour-embed[data-ready="true"] {
  opacity: 1;
}

.br-tour-stage__scrim {
  background: rgba(26, 26, 26, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.br-tour-selector {
  width: min(259px, calc(100% - 61px));
  gap: 24px;
}

.br-tour-selector__heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 5px;
}

.br-tour-selector__heading h2 {
  margin: 0;
}

.br-tour-selector__heading p {
  margin: 0;
}

.br-tour-selector__units {
  display: grid;
  width: 100%;
  gap: 8px;
}

.br-tour-selector__unit {
  position: relative;
  box-sizing: border-box;
  display: flex;
  min-height: 92px;
  align-items: center;
  padding-inline: 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--tr-color-white);
  background: linear-gradient(90deg, rgba(206, 208, 200, 0.4) 0%, rgba(181, 184, 173, 0.4) 100%);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  transition: border-color 180ms ease;
}

.br-tour-selector__unit::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.4);
  content: "";
  opacity: 0;
  transition: opacity 180ms ease;
}

.br-tour-selector__unit:hover {
  border-color: var(--tr-color-white-60);
}

.br-tour-selector__unit:hover::before { opacity: 1; }

.br-tour-selector__unit:focus-visible { border-color: var(--tr-color-white-60); }

.br-tour-selector__unit-copy {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

.br-tour-selector__unit-name,
.br-tour-selector__unit-detail {
  display: block;
}

.br-tour-selector__unit-detail {
  color: var(--tr-color-white-60);
}

/* The selector's own entrance. The stage's opening fade says something arrived; it
   does not say WHAT, so the heading settles first and each card rises behind it on
   a stagger keyed off its own index. `both` is load-bearing: it holds the from-state
   through the delay, which is what keeps a card from painting once at full opacity
   before its turn. Keyed on the stage's opened state alone — `.br-tour-selector`
   exists only on the selection screen, so nothing else can match. */
@keyframes br-tour-selector-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.br-tour-stage[data-visible="true"] .br-tour-selector__heading {
  animation: br-tour-selector-rise 420ms cubic-bezier(0.25, 1, 0.5, 1) both;
}

.br-tour-stage[data-visible="true"] .br-tour-selector__unit {
  animation: br-tour-selector-rise 420ms cubic-bezier(0.25, 1, 0.5, 1)
    calc(90ms + var(--br-tour-unit-index, 0) * 70ms) both;
}

/* The viewer's tour control: a listbox of the property's tour titles that swaps the
   embed in place. The trigger keeps the drawn pill's geometry (40px tall, 120px
   floor, the grey-50 chrome the ✕ beside it wears); the panel is not drawn, so it
   takes the shape of this template's one drawn menu — a stack of radius-4 rows, the
   current one filled — grounded in ink rather than in translucent stone, since it
   lays over a live walkthrough whose colours nobody controls. */
.br-tour-switch {
  z-index: 1;
}

.br-tour-switch__trigger {
  display: inline-flex;
  box-sizing: border-box;
  height: 40px;
  min-width: 120px;
  max-width: min(260px, calc(100% - 96px));
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-inline: 16px 8px;
  border-radius: 6px;
  color: var(--tr-color-white);
  background: var(--tr-color-grey-50);
  font-size: 14px;
  font-weight: 500;
  line-height: 17.55px;
  letter-spacing: 0.07px;
  transition: opacity 150ms ease;
}

.br-tour-switch__trigger:hover {
  opacity: 0.85;
}

.br-tour-switch__trigger-label,
.br-tour-switch__option-label {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.br-tour-switch__chevron {
  height: 20px;
  width: 20px;
  flex-shrink: 0;
  transition: transform 180ms ease;
}

.br-tour-switch__trigger[aria-expanded="true"] .br-tour-switch__chevron {
  transform: rotate(180deg);
}

.br-tour-switch__panel {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  z-index: 1;
  display: flex;
  box-sizing: border-box;
  width: max-content;
  min-width: 180px;
  max-width: min(280px, 70vw);
  max-height: 240px;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  padding: 4px;
  border-radius: 8px;
  transform: translateX(-50%);
  background: rgba(26, 26, 26, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* `display: flex` above outranks the `hidden` attribute's UA rule, so the closed
   panel needs saying twice — the same guard the adams-co switcher carries. */
.br-tour-switch__panel[hidden] {
  display: none;
}

.br-tour-switch__option {
  display: flex;
  width: 100%;
  align-items: center;
  padding: 8px 12px;
  border-radius: 4px;
  color: var(--tr-color-white);
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  transition: background-color 150ms ease;
}

.br-tour-switch__option:hover {
  background: rgba(255, 255, 255, 0.15);
}

.br-tour-switch__option[data-current="true"] {
  background: rgba(255, 255, 255, 0.2);
}

@media (min-width: 321px) {
  .br-tour-selector { width: min(326px, calc(100% - 64px)); }
}

@media (min-width: 768px) {
  .br-tour-selector {
    width: 690px;
    max-width: calc(100% - 46px);
    gap: 48px;
  }

  .br-tour-selector__heading { gap: 9px; }

  .br-tour-selector__units {
    width: 470px;
    max-width: 100%;
    gap: 16px;
  }

  .br-tour-selector__unit {
    min-height: 85px;
    padding-inline: 24px;
  }

  .br-tour-selector__unit-copy { gap: 1px; }
}

@media (prefers-reduced-motion: reduce) {
  .br-tour-stage { transition-duration: 0.01ms; }
  .br-tour-screen { transition-duration: 0.01ms; }
  .br-tour-embed { transition-duration: 0.01ms; }
  .br-tour-selector__unit { transition-duration: 0.01ms; }
  .br-tour-switch__trigger,
  .br-tour-switch__chevron,
  .br-tour-switch__option { transition-duration: 0.01ms; }

  /* The entrance is cancelled, not shortened: a rise that still travels 12px in a
     millisecond is the motion this query exists to remove. The cards must still be
     REVEALED, though — `both` holds the from-state, so dropping the animation
     without restoring the end state would leave them invisible. */
  .br-tour-stage[data-visible="true"] .br-tour-selector__heading,
  .br-tour-stage[data-visible="true"] .br-tour-selector__unit {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
}

@layer sections.video {
/* css-reason: The Figma video section uses discrete artboard heights and changes its preview rail from a touch-scrollable horizontal track below 1024px to a bottom-anchored column whose height follows the row count (1 to 5), which Tailwind's per-breakpoint utilities cannot express against the section's own padding; and the media stage is a cover-sized box stated in container units (cqw/cqh) that no utility expresses. */

.br-video-section {
  height: 568px;
}

/* The stage is the one box the media fills, and the mode decides which box.
   Container units read the player's own box.

   Preview: a 16:9 box sized like `object-fit: cover`, centred. This is how a
   LINKED row covers at all — an iframe is a replaced element that object-fit
   cannot touch, so the provider letterboxes inside whatever box it is given, and
   the box has to be the cover box. Nothing is bled past the section any more:
   the preview is chromeless by the embed API itself, so there is no control bar
   to push off-canvas and no reason to crop the picture (VideoPlayer.tsx).

   Player: the section's own box, for every source, and a provider's control bar
   — drawn at its iframe's edges — is on canvas because those edges ARE the
   section's. That is the same guarantee the linked row used to get from a
   contained box beneath a band, minus the band. The change is a snap and not a
   zoom, on purpose: the mode change is a click's answer, not an animation. */
.br-video-player {
  container-type: size;
}

.br-video-stage {
  top: 50%;
  left: 50%;
  width: max(100cqw, 100cqh * 16 / 9);
  height: max(100cqh, 100cqw * 9 / 16);
  transform: translate(-50%, -50%);
}

.br-video-player[data-video-mode="player"] .br-video-stage {
  width: 100cqw;
  height: 100cqh;
}

/* THE PICTURE FILLS THE FRAME IN BOTH MODES — it is never letterboxed inside the
   section, at any aspect. In the preview the stage is already the cover box, so
   this only restates it; in the player the stage is the section, which is the
   ONE place it decides anything: a 16:9 video in a 390x680 phone frame is
   cropped hard rather than banded, and the same at 1440x860 where the crop is
   slight. That is the owner's ruling, and the native control bar is what makes
   it affordable — the browser draws the bar at the ELEMENT's edges, and the
   element is the frame, so filling the frame cannot push a control off it. An
   iframe gets no rule here at all: object-fit does not apply to a replaced
   element, and a cover-sized iframe would crop the provider's bar at exactly the
   corners that carry play and fullscreen (VideoPlayer.tsx).

   Fullscreen is the one exception, and it is why cropping costs the visitor
   nothing they cannot undo: the native fullscreen player hands the whole frame
   back. A phone's own fullscreen does this regardless; this rule is what makes a
   desktop's agree. */
.br-video-stage > video {
  object-fit: cover;
}

.br-video-stage > video:fullscreen {
  object-fit: contain;
}

.br-video-content {
  padding: 0 16px 16px;
}

.br-video-layout {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 24px;
}

/* Phones (below 768px, the template's mobile boundary) show no copy: the name
   and description stay rendered and marked for the editor, and the rail alone
   sits at the bottom of the frame. */
.br-video-copy {
  display: none;
  padding-top: 24px;
}

.br-video-copy > * > p {
  margin-top: 16px;
}

/* Below desktop this is a native swiper: the section is its viewport, cards snap
   from the leading edge and the hidden scrollbar leaves the neighboring preview
   visible in the spare inline space shown by Figma. The track bleeds through the
   content gutter to both edges of the frame — negative margins the width of the
   gutter, with the same gutter as inline padding and scroll padding — so a card
   scrolls under the frame's edge instead of being cut at the gutter, and the
   snapped card still rests at the gutter. The track is the cards' offset parent
   (`position: relative`) so the island can measure a card against the track's
   own padding edge. Only the active 320px card contracts to the 288px content
   width; inactive neighbors retain their 330px measure so their peeks match the
   artboard. */
.br-video-playlist {
  --br-rail-gutter: 16px;
  position: relative;
  display: flex;
  width: calc(100% + var(--br-rail-gutter) * 2);
  flex-direction: row;
  gap: 8px;
  margin-inline: calc(var(--br-rail-gutter) * -1);
  padding-inline: var(--br-rail-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: var(--br-rail-gutter);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-x;
}

.br-video-playlist::-webkit-scrollbar {
  display: none;
}

.br-video-card {
  width: 330px;
  flex: 0 0 330px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.br-video-card[aria-current="true"] {
  width: min(330px, 100%);
  flex-basis: min(330px, 100%);
}

@media (min-width: 390px) {
  .br-video-section {
    height: 680px;
  }

  .br-video-content {
    padding-bottom: 40px;
  }
}

@media (min-width: 768px) {
  .br-video-copy {
    display: block;
  }
}

@media (min-width: 512px) {
  .br-video-section {
    height: 844px;
  }
}

@media (min-width: 768px) {
  .br-video-section {
    height: 800px;
  }
}

@media (min-width: 1024px) {
  .br-video-section {
    height: 720px;
  }

  .br-video-content {
    padding-bottom: 48px;
  }

  .br-video-layout {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
  }

  .br-video-copy {
    width: 456px;
    flex: 0 0 456px;
    padding-top: 40px;
  }

  .br-video-copy > * > p {
    margin-top: 24px;
  }

  .br-video-playlist {
    --br-rail-gutter: 0px;
    width: 330px;
    flex: 0 0 330px;
    flex-direction: column;
    justify-content: flex-end;
    align-self: flex-end;
    overflow: hidden;
    scroll-snap-type: none;
  }

  .br-video-card,
  .br-video-card[aria-current="true"] {
    width: 100%;
    flex: 0 0 72px;
    scroll-snap-align: none;
  }
}

@media (min-width: 1280px) {
  .br-video-content {
    padding-bottom: 40px;
  }
}

@media (min-width: 1440px) {
  .br-video-section {
    height: 860px;
  }

  .br-video-content {
    padding-right: max(20px, calc((100vw - 1400px) / 2));
    padding-left: max(20px, calc((100vw - 1400px) / 2));
  }
}

@media (min-width: 1920px) {
  .br-video-section {
    height: 1080px;
  }
}
}

@layer sections.amenities {
/* css-reason: Amenities changes its editorial grid, carousel card count, gaps, and section insets at each supplied Figma breakpoint. */

/* The well's gutter, stated once so the carousel can bleed through it. The section
   is an inline-size container because the 1440+ value is a share of the SECTION's
   width (the shell is `min(100% - 40px, 1400px)` of it), which no percentage of
   the shell's own grid area can express. */
.br-amenities {
  --br-amenities-gutter: 16px;
  container-type: inline-size;
}

.br-amenities__shell {
  display: grid;
  width: calc(100% - 32px);
  margin-inline: auto;
  padding-block: 64px;
  gap: 40px;
}

.br-amenities__shell--highlights-missing {
  padding-bottom: 40px;
}

.br-amenities__intro {
  display: grid;
  gap: 24px;
}

.br-amenities__heading {
  max-width: 504px;
}

.br-amenities__label {
  border-bottom: 1.5px solid rgb(34 34 34 / 20%);
  padding-bottom: 16px;
}

/* The fold. AmenitiesList animates this box's height when the hidden rows open,
   so the list's top margin lives here rather than on the grid: a margin on the
   grid collapses through this box at rest and stops collapsing the moment the
   animation clips it, which reads as a 24px jump on the first frame. */
.br-amenities__details-panel {
  margin-top: 24px;
}

.br-amenities__details-list {
  display: grid;
  gap: 24px 32px;
}

.br-amenities__details-control {
  margin-top: 24px;
}

.br-amenities__carousel-block {
  display: grid;
  gap: 24px;
  /* The block bleeds through the well's gutters: a stretched grid item widens by
     its negative margins, so the track's scrollport becomes the whole section. */
  margin-inline: calc(-1 * var(--br-amenities-gutter));
}

/* The track pads the gutter back in, so its content box — what `flex-basis` and
   `cqi` measure — is still the well, and every card keeps its width. The same
   value as `scroll-padding` makes each card's snap-start the well's left edge; at
   the end of the range the browser clamps the snap, and the end padding (part of
   the scrollable overflow) lands the last card on the well's right edge. Cards
   past the visible ones run out to the section's edge in between. */
.br-amenities__carousel {
  display: flex;
  width: 100%;
  padding-inline: var(--br-amenities-gutter);
  scroll-padding-inline: var(--br-amenities-gutter);
  container-type: inline-size;
  gap: 32px;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  /* Declared HERE rather than as a `scroll-smooth` utility because the
     reduced-motion rule at the foot of this file turns it off, and a published
     bundle folds this file into `@layer sections.amenities` while Tailwind
     compiles into `@layer utilities`, declared last — so the utility would win
     at any specificity and a visitor who asked for reduced motion would still be
     smooth-scrolled (`PRD-1771`). */
  scroll-behavior: smooth;
}

.br-amenities__carousel-controls {
  margin-inline: var(--br-amenities-gutter);
}

.br-amenities__carousel::-webkit-scrollbar {
  display: none;
}

/* `flex-grow: 0` is load-bearing now that the card count is a list rather than a
   fixed four. The renderer declares the resolved count on the track: count-aware
   rules below may widen one or two cards without allowing their height to grow
   with that new width — a lone >=1440 card must not become a ~1400px square. */
.br-amenities__card {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1;
  flex: 0 0 100%;
}

.br-amenities__card-copy {
  display: grid;
  gap: 0;
}

@media (min-width: 768px) {
  .br-amenities__shell {
    gap: 64px;
  }

  .br-amenities__details-panel {
    margin-top: 40px;
  }

  .br-amenities__details-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .br-amenities__details-control {
    margin-top: 24px;
  }

  .br-amenities__carousel {
    gap: 17px;
  }

  .br-amenities__card {
    flex-basis: calc((100% - 17px) / 2);
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card {
    height: calc((100cqi - 17px) / 2);
    aspect-ratio: auto;
    flex-basis: 100%;
  }

  .br-amenities__card-copy {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 16px;
  }
}

@media (min-width: 1024px) {
  .br-amenities__shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 96px auto auto;
    padding-block: 80px;
    column-gap: 16px;
    row-gap: 64px;
  }

  .br-amenities__shell--highlights-missing {
    padding-bottom: 64px;
  }

  .br-amenities__intro {
    display: contents;
  }

  .br-amenities__heading {
    max-width: 291px;
    grid-column: 1;
    grid-row: 1;
  }

  .br-amenities__summary {
    grid-column: 2;
    grid-row: 1;
  }

  .br-amenities__shell.br-amenities__shell--heading-missing,
  .br-amenities__shell.br-amenities__shell--intro-missing {
    grid-template-rows: auto auto;
  }

  .br-amenities__shell--heading-missing .br-amenities__summary {
    grid-column: 1;
  }

  .br-amenities__shell--heading-missing .br-amenities__details,
  .br-amenities__shell--intro-missing .br-amenities__details {
    grid-column: 2;
    grid-row: 1;
  }

  .br-amenities__shell--heading-missing .br-amenities__carousel-block,
  .br-amenities__shell--intro-missing .br-amenities__carousel-block {
    grid-row: 2;
  }

  .br-amenities__details {
    grid-column: 2;
    grid-row: 2;
  }

  .br-amenities__carousel-block {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .br-amenities__card {
    flex-basis: calc((100% - 34px) / 3);
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card,
  .br-amenities__carousel[data-highlight-count="2"] .br-amenities__card {
    height: calc((100cqi - 34px) / 3);
    aspect-ratio: auto;
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card {
    flex-basis: 100%;
  }

  .br-amenities__carousel[data-highlight-count="2"] .br-amenities__card {
    flex-basis: calc((100% - 17px) / 2);
  }
}

@media (min-width: 1280px) {
  .br-amenities__shell {
    grid-template-columns: 487px minmax(0, 1fr);
    grid-template-rows: 140px auto auto;
    padding-block: 120px 108px;
    column-gap: 40px;
  }

  .br-amenities__shell--highlights-missing {
    padding-bottom: 80px;
  }

  .br-amenities__heading {
    max-width: 504px;
  }

  .br-amenities__carousel {
    gap: 16px;
  }

  .br-amenities__card {
    height: 414px;
    aspect-ratio: auto;
    flex-basis: calc((100% - 32px) / 3);
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card {
    height: 414px;
    flex-basis: 100%;
  }

  .br-amenities__carousel[data-highlight-count="2"] .br-amenities__card {
    height: 414px;
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (min-width: 1440px) {
  .br-amenities {
    --br-amenities-gutter: max(20px, calc((100cqi - 1400px) / 2));
  }

  .br-amenities__shell {
    width: min(calc(100% - 40px), 1400px);
    grid-template-columns: 504px 692px;
    padding-bottom: 120px;
    column-gap: 204px;
  }

  .br-amenities__shell--highlights-missing {
    padding-bottom: 80px;
  }

  .br-amenities__carousel {
    gap: 32px;
  }

  .br-amenities__card {
    height: auto;
    aspect-ratio: 1;
    flex-basis: calc((100% - 64px) / 3);
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card,
  .br-amenities__carousel[data-highlight-count="2"] .br-amenities__card {
    height: calc((100cqi - 64px) / 3);
    aspect-ratio: auto;
  }

  .br-amenities__carousel[data-highlight-count="1"] .br-amenities__card {
    flex-basis: 100%;
  }

  .br-amenities__carousel[data-highlight-count="2"] .br-amenities__card {
    flex-basis: calc((100% - 32px) / 2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .br-amenities__carousel {
    scroll-behavior: auto;
  }
}
}

@layer sections.neighborhood {
.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{position:absolute;left:0;top:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top{top:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-right{top:50%;transform:translateY(-50%);right:0}.mapboxgl-ctrl-bottom-right{right:0;bottom:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{top:50%;transform:translateY(-50%);left:0}.mapboxgl-ctrl{clear:both;pointer-events:auto}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:10px 0 0 10px;float:left}.mapboxgl-ctrl-top .mapboxgl-ctrl{margin:10px 0;float:left}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:10px 10px 0 0;float:right}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{margin:0 10px 10px 0;float:right}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{margin:10px 0;float:left}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{margin:0 0 10px 10px;float:left}.mapboxgl-ctrl-group{border-radius:4px;background:#fff}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{width:32px;height:32px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:initial;cursor:pointer;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#eee}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 11.7071C4.68342 12.0976 5.31658 12.0976 5.70711 11.7071L9 8.41421L12.2929 11.7071C12.6834 12.0976 13.3166 12.0976 13.7071 11.7071C14.0976 11.3166 14.0976 10.6834 13.7071 10.2929L9.70711 6.29289C9.31658 5.90237 8.68342 5.90237 8.29289 6.29289L4.29289 10.2929C3.90237 10.6834 3.90237 11.3166 4.29289 11.7071Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 6.29289C4.68342 5.90237 5.31658 5.90237 5.70711 6.29289L9 9.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071L4.29289 7.70711C3.90237 7.31658 3.90237 6.68342 4.29289 6.29289Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{padding:0 5px;background-color:#ffffff80;margin:0}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;border-radius:12px;box-sizing:initial}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left)>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");background-color:#ffffff80;width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left) .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;font-size:10px;border:2px solid #333;border-top:#333;padding:0 5px;color:#333;box-sizing:border-box;white-space:nowrap}.mapboxgl-popup{position:absolute;top:0;left:0;display:flex;will-change:transform;pointer-events:none}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{width:0;height:0;border:10px solid #0000;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-top:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-right:none;border-left-color:#fff}.mapboxgl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:initial}.mapboxgl-popup-close-button:hover{background-color:#eee}.mapboxgl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{position:absolute;top:0;left:0;will-change:transform;opacity:1;transition:opacity .2s}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.mapboxgl-user-location-dot:before{content:"";position:absolute;animation:mapboxgl-user-location-dot-pulse 2s infinite}.mapboxgl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px #00000059}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;width:1px;height:1px;border-radius:100%}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:.5}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;justify-content:center;text-align:center;position:absolute;display:flex;align-items:center;top:0;left:0;width:100%;height:100%;background:#000000b3;opacity:0;pointer-events:none;transition:opacity .75s ease-in-out;transition-delay:1s}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{font-weight:600;font-size:14px;text-align:center}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#bccbd7;color:#000}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}
/* css-reason: Neighborhood changes place-card format and category controls at every
 * supplied Figma breakpoint, and its cards are positioned at runtime by the
 * NeighborhoodMap island (./NeighborhoodMap.tsx) from coordinates Tailwind's scanner
 * never sees. The unlayered block at the foot is the Mapbox GL JS engine override.
 *
 * The frame's own box is NOT here: it is `.br-band-shell` in the foundation sheet,
 * the geometry this section shares with the 3D tour. Nothing below may set a height,
 * a width or an inline margin on the section or the shell — this file is folded into
 * a LATER cascade layer than that sheet, so a declaration here silently wins and the
 * two drift apart again, which is how the map came to stand 1052px tall on a laptop
 * (`ONB-221`). */

.br-neighborhood-home {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 9999px;
  background: var(--tr-color-ink);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.br-neighborhood-home > img {
  width: 20px;
  height: 20px;
}

/* The card layer covers the whole canvas so a placed card's left/top is measured
   in the same coordinate space the map projects into. Before the map has drawn —
   no JS, or the moment before hydration — the cards read as a wrapped row at the
   top of the frame rather than a pile at its corner. `pointer-events` is handed
   back per card so everything between them still pans the map. */
.br-neighborhood-places {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  padding: 16px;
  pointer-events: none;
}

.br-neighborhood-place {
  position: relative;
  display: block;
  min-height: 33px;
  padding: 8px 12px;
  border: 0;
  border-radius: 12px;
  background: var(--tr-color-ink-60);
  color: var(--tr-color-white);
  text-align: left;
  box-shadow: 0 2px 4px rgb(0 0 0 / 25%);
  backdrop-filter: blur(4px);
  cursor: pointer;
  pointer-events: auto;
}

/* Set by the map island once every card has a projected position. */
.br-neighborhood-shell[data-br-placed="true"] .br-neighborhood-places {
  display: block;
  padding: 0;
}

/* `--br-dx`/`--br-dy` are the map island's overlap nudge, `--br-scale` the category
   switch's grow/shrink (./map-motion.ts). Scale rides the standalone `scale`
   property rather than `transform` so it can transition on its own while the
   projected position and the nudge update untransitioned, every camera frame. */
.br-neighborhood-shell[data-br-placed="true"] .br-neighborhood-place {
  position: absolute;
  transform: translate(calc(-50% + var(--br-dx, 0px)), calc(-50% + var(--br-dy, 0px)));
  scale: var(--br-scale, 1);
}

/* Category switch: the outgoing set shrinks away over the first EXIT_MS; the
   incoming set holds at nothing for ENTER_DELAY_MS and grows over ENTER_MS. Both
   ride the camera flight, so a card grows from wherever its place is right now. */
.br-neighborhood-place[data-br-phase="in"] {
  transition: scale 250ms cubic-bezier(0.2, 0.8, 0.2, 1) 200ms, opacity 250ms 200ms;
}

.br-neighborhood-place[data-br-phase="in"].is-entering {
  --br-scale: 0;

  opacity: 0;
}

.br-neighborhood-place[data-br-phase="out"] {
  --br-scale: 0;

  opacity: 0;
  transition: scale 200ms cubic-bezier(0.6, 0, 0.8, 0.2), opacity 200ms;
  pointer-events: none;
}

.br-neighborhood-place.is-selected {
  z-index: 1;
  background: var(--tr-color-ink);
}

.br-neighborhood-place__image {
  display: none;
  place-items: center;
  background: var(--tr-color-white-20);
}

.br-neighborhood-place__image > img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}

/* A place with a photo fills the box with it; the icon treatment above is the
   no-photo design. */
.br-neighborhood-place__image.has-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.br-neighborhood-place__distance,
.br-neighborhood-place__meta {
  display: none;
}

.br-neighborhood-place__title {
  display: block;
  max-width: 132px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
}

.br-neighborhood-mobile-detail {
  position: absolute;
  right: 7px;
  bottom: 64px;
  left: 7px;
  z-index: 3;
  display: flex;
  height: 105px;
  gap: 8px;
  padding: 10px;
  border-radius: 12px;
  background: var(--tr-color-ink-60);
  color: var(--tr-color-smoke);
  box-shadow: 0 2px 4px rgb(0 0 0 / 25%);
  backdrop-filter: blur(4px);
}

.br-neighborhood-mobile-detail .br-neighborhood-place__image {
  display: grid;
  width: 85px;
  height: 85px;
  flex: 0 0 85px;
  overflow: hidden;
  border-radius: 2px;
}

.br-neighborhood-mobile-detail .br-neighborhood-place__body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
}

.br-neighborhood-mobile-detail .br-neighborhood-place__title {
  max-width: 100%;
  font-size: 15px;
  font-weight: 500;
}

.br-neighborhood-mobile-detail .br-neighborhood-place__distance,
.br-neighborhood-mobile-detail .br-neighborhood-place__meta {
  display: flex;
}

.br-neighborhood-place__distance {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  opacity: 0.5;
}

.br-neighborhood-place__meta {
  min-width: 0;
  overflow: hidden;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
}

.br-neighborhood-place__rating {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}

.br-neighborhood-place__type {
  overflow: hidden;
  text-overflow: ellipsis;
}

.br-neighborhood-place__rating > img {
  width: 15px;
  height: 15px;
}

.br-neighborhood-place__dot {
  width: 2px;
  height: 2px;
  flex: 0 0 2px;
  border-radius: 9999px;
  background: var(--tr-color-smoke);
}

.br-neighborhood-mobile-detail__close {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: var(--tr-color-grey-50);
  cursor: pointer;
}

.br-neighborhood-mobile-detail__close > img {
  width: 12px;
  height: 12px;
}

.br-neighborhood-tabs-wrap {
  position: absolute;
  bottom: 9px;
  left: 50%;
  z-index: 4;
  width: 274px;
  padding: 4px;
  border: 1px solid var(--tr-color-grey-20);
  border-radius: 10px;
  background: var(--tr-color-white-90);
  transform: translateX(-50%);
}

.br-neighborhood-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15.5px;
}

.br-neighborhood-tab {
  display: inline-flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--tr-color-ink);
  cursor: pointer;
}

.br-neighborhood-tab[aria-selected="true"] {
  width: 44px;
  flex-basis: 44px;
  background: var(--tr-color-ink);
  color: var(--tr-color-white);
}

.br-neighborhood-tab > img {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

.br-neighborhood-tab[aria-selected="true"] > img {
  filter: brightness(0) invert(1);
}

.br-neighborhood-tab--cafe:not([aria-selected="true"]) > img {
  filter: brightness(0);
}

.br-neighborhood-tab > span {
  display: none;
  white-space: nowrap;
}

@media (min-width: 390px) {
  .br-neighborhood-mobile-detail,
  .br-neighborhood-tabs-wrap {
    right: auto;
    left: 50%;
    width: 345px;
    transform: translateX(-50%);
  }

  .br-neighborhood-tabs-wrap {
    bottom: 8px;
  }

  .br-neighborhood-tabs {
    justify-content: flex-start;
    gap: 4px;
  }

  .br-neighborhood-tab[aria-selected="true"] {
    width: 161px;
    flex-basis: 161px;
    padding-inline: 12px;
  }

  .br-neighborhood-tab[aria-selected="true"] > span {
    display: inline;
    overflow: hidden;
    font-size: 12px;
    line-height: 1;
    text-overflow: ellipsis;
  }
}

@media (min-width: 768px) {
  .br-neighborhood-mobile-detail {
    display: none;
  }

  .br-neighborhood-place {
    display: flex;
    width: 100px;
    height: 139px;
    min-height: 0;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: var(--tr-color-ink-60);
  }

  .br-neighborhood-place__image {
    display: grid;
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    overflow: hidden;
    border-radius: 2px;
  }

  .br-neighborhood-place__title {
    max-width: 80px;
  }

  .br-neighborhood-place__distance {
    display: block;
  }

  .br-neighborhood-tabs-wrap {
    bottom: 16px;
  }
}

@media (min-width: 1024px) {
  .br-neighborhood-home > img {
    width: 24px;
    height: 24px;
  }

  .br-neighborhood-place {
    display: flex;
    width: 250px;
    height: 105px;
    flex-direction: row;
    gap: 8px;
    padding: 10px;
  }

  .br-neighborhood-place__image {
    width: 85px;
    height: 85px;
    flex-basis: 85px;
  }

  .br-neighborhood-place__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
  }

  .br-neighborhood-place__title {
    max-width: 100%;
    font-size: 15px;
    font-weight: 500;
  }

  .br-neighborhood-place__meta {
    display: flex;
  }

  /* The bar hugs its tabs with one fixed gap rather than spreading a fixed width:
     a property short of a category then loses a tab, not its spacing. Five tabs
     measure the design's 806px (837px at 1280); four measure less. */
  .br-neighborhood-tabs-wrap {
    bottom: 24px;
    width: max-content;
    max-width: calc(100% - 32px);
  }

  .br-neighborhood-tabs {
    width: 100%;
    justify-content: center;
    gap: 12px;
  }

  .br-neighborhood-tab,
  .br-neighborhood-tab[aria-selected="true"] {
    width: auto;
    flex-basis: auto;
    padding-inline: 16px;
  }

  .br-neighborhood-tab > span,
  .br-neighborhood-tab[aria-selected="true"] > span {
    display: inline;
    overflow: visible;
    font-size: var(--tr-text-body-15);
    line-height: 1;
  }
}

@media (min-width: 1280px) {
  .br-neighborhood-home {
    width: 71px;
    height: 71px;
  }

  .br-neighborhood-home > img {
    width: 32px;
    height: 32px;
  }

  .br-neighborhood-tabs-wrap {
    bottom: 16px;
  }
}

@media (min-width: 1440px) {
  .br-neighborhood-tabs-wrap {
    bottom: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .br-neighborhood-place,
  .br-neighborhood-place[data-br-phase="in"],
  .br-neighborhood-place[data-br-phase="out"],
  .br-neighborhood-tab {
    transition: none;
  }
}
}

@layer sections.faq {
/* css-reason: the FAQ requires exact desktop column widths and disclosure rhythm from Figma node 268:2185 */
.br-faq {
  min-height: 0;
}

.br-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: space-between;
  gap: 40px;
  padding-block: var(--tr-space-section);
}

.br-faq__heading {
  max-width: 504px;
}

.br-faq__list {
  border-bottom: 1px solid var(--tr-color-ink-20);
}

.br-faq__list > details {
  border-top: 1px solid var(--tr-color-ink-20);
}

.br-faq__list summary {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  min-height: 72px;
  gap: 24px;
  overflow: hidden;
  padding-block: 20px;
  cursor: pointer;
  list-style: none;
}

.br-faq__list summary::-webkit-details-marker {
  display: none;
}

.br-faq__list summary::marker {
  content: "";
}

.br-faq__list summary > span:first-child {
  flex: 1 1 auto;
  width: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.br-faq__list summary > span:first-child * {
  white-space: normal;
}

.br-faq__icon {
  position: relative;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
}

.br-faq__icon::before,
.br-faq__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
}

.br-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.br-faq__list details[open] .br-faq__icon::after {
  display: none;
}

.br-faq__list details[data-motion-state="closing"] .br-faq__icon::after {
  display: block;
}

.br-faq__answer-motion {
  opacity: 1;
}

.br-faq__answer {
  padding: 0 24px 24px 0;
}

.br-faq__answer p {
  max-width: 648px;
  color: var(--tr-color-ink);
}

@media (min-width: 640px) {
  .br-faq__layout {
    gap: 56px;
  }

  .br-faq__list summary {
    min-height: 99px;
    padding-block: 32px;
  }

  .br-faq__answer { padding-right: 44px; }
}

@media (min-width: 1024px) {
  .br-faq { min-height: 803px; }

  .br-faq__layout {
    grid-template-columns: minmax(0, 572px) minmax(0, 692px);
    gap: 48px;
    padding-block: 120px;
  }

  .br-faq__heading { max-width: 572px; }
}
}

@layer sections.realtor {
/* css-reason: the realtor section owns the exact editorial grid and typography from Figma node 268:2226 */
.br-realtor { min-height: 0; }
.br-realtor__shell { padding-block: var(--tr-space-section); }
.br-realtor__eyebrow { border-top: 1px solid var(--tr-color-ink-20); padding-top: 16px; color: var(--tr-color-ink-60); }
/* Intro column beside the contacts list; one contact lays its card out as the
   591px portrait column + 454px profile column of the original grid. The intro
   only becomes that side column at 1280 — below it, it is the heading-and-mark
   row above the card. */
.br-realtor__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 40px; }
.br-realtor__intro { position: relative; display: block; min-width: 0; }
.br-realtor__layout:not(.br-realtor__layout--pair):not(.br-realtor__layout--triple) .br-realtor__heading { max-width: 337px; }
.br-realtor__intro-line { margin-top: 24px; color: var(--tr-color-ink-60); }
.br-realtor__layout:not(.br-realtor__layout--pair):not(.br-realtor__layout--triple) .br-realtor__intro-line { max-width: 300px; }
/* The brokerage mark is whatever shape the contact uploaded, so it sizes as a
   bounding box: the authored height per layout and breakpoint, a width capped at
   three times that height, the mark contained inside and sitting on the box's
   bottom-left corner — the card baseline every margin-top pin below was drawn
   for. Wider than 3:1 is width-capped; anything narrower is height-capped.
   The box and the mark are TWO elements, and which is which matters: the canvas
   draws a slot's selection ring around the marker element's own client rect
   (canvas-core `chrome.ts`), so a mark letterboxed inside a fixed bounding box
   rings the box and reads as a slot owning empty page. The wrapper therefore
   carries the box — every pin, cap and placement below is its — and the marked
   `<img>` shrinks to the contained mark, which is the same pixels drawn and a
   ring that fits them. `flex-end` is what keeps the drawn bottom edge where the
   fixed-height box put it. */
.br-realtor__brand-box { position: static; bottom: 0; left: 0; display: none; width: 100%; max-width: 240px; height: 80px; margin-top: 0; padding-top: 0; align-items: flex-end; justify-content: flex-start; }
/* `w-auto!`/`h-auto!` rather than a width here: the kit's unframed `<img>` ships
   `w-full`, a `@layer utilities` rule that outranks this layered one whatever its
   specificity (docs/build-pipeline.md), so only the utility can beat the utility.
   The caps are the box's own, which is what makes the contained mark exactly the
   element's box in both axes. */
.br-realtor__brand { max-width: 100%; max-height: 100%; }
.br-realtor__cards { min-width: 0; }
.br-realtor__card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; min-width: 0; }
.br-realtor__portrait-frame { position: relative; width: 100%; height: auto; overflow: hidden; border-radius: 6px; aspect-ratio: 458 / 573; }
.br-realtor__portrait { display: block; width: 100%; height: 100%; object-fit: cover; }
.br-realtor__profile { display: flex; min-width: 0; flex-direction: column; gap: 32px; }
.br-realtor__name { max-width: 100%; }
.br-realtor__title { margin-top: 8px; color: var(--tr-color-ink-60); }
.br-realtor__contact-row { display: flex; gap: 32px; align-items: flex-start; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--tr-color-ink-20); }
.br-realtor__contact { display: flex; min-width: 0; flex: 1 1 0; flex-direction: column; color: var(--tr-color-ink-60); }
.br-realtor__contact a { width: fit-content; border-radius: 2px; text-decoration: none; }
.br-realtor__socials { display: flex; flex: 1 1 0; justify-content: flex-end; gap: 8px; }
.br-realtor__socials svg { width: 20px; height: 20px; color: var(--tr-color-ink-60); }
.br-realtor__bio-block { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.br-realtor__bio { white-space: pre-line; }
.br-realtor__cta { min-width: 120px; min-height: 40px; }

/* Published multi-member cards launch the profile takeover through this
   transparent control. Contact links stay above it and retain their own action. */
.br-realtor__card-trigger { position: absolute; z-index: 2; inset: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; }
.br-realtor__card .br-realtor__contact a,
.br-realtor__card .br-realtor__socials a { position: relative; z-index: 3; }
.br-realtor__card:has(.br-realtor__card-trigger:hover) .br-realtor__portrait,
.br-realtor__card:has(.br-realtor__card-trigger:focus-visible) .br-realtor__portrait { transform: scale(1.012); }
.br-realtor__card:has(.br-realtor__card-trigger:hover) .br-realtor__learn-more,
.br-realtor__card:has(.br-realtor__card-trigger:focus-visible) .br-realtor__learn-more { gap: 12px; }
.br-realtor__portrait,
.br-realtor__learn-more { transition: transform 400ms ease, gap 400ms ease; }

/* Team profile takeover from Figma 413:12602. Its own scrolling keeps the
   complete profile reachable in short viewports while the page stays locked. */
.br-team-dialog { position: fixed; z-index: 80; inset: 0; }
.br-team-dialog__scrim { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgb(255 255 255 / 40%); backdrop-filter: blur(4px); cursor: default; animation: br-team-scrim-in 300ms ease both; }
.br-team-dialog__panel { position: absolute; inset: 16px; overflow-y: auto; border-radius: 6px; background: var(--tr-color-smoke); padding: 24px; box-shadow: 0 16px 48px rgb(34 34 34 / 10%); animation: br-team-panel-in 400ms cubic-bezier(.22, 1, .36, 1) both; }
.br-team-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; border-top: 1px solid var(--tr-color-ink-20); padding-top: 16px; }
.br-team-dialog__close { display: inline-grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 0; border-radius: 6px; background: var(--tr-color-grey-50); color: var(--tr-color-ink); cursor: pointer; }
.br-team-dialog__close svg { width: 20px; height: 20px; stroke-width: 1.5; }
.br-team-dialog__content { display: flex; flex-direction: column; gap: 40px; margin-top: 40px; }
.br-team-dialog__identity { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.br-team-dialog__name { min-width: 0; overflow-wrap: anywhere; }
.br-team-dialog__title { color: var(--tr-color-ink-60); }
.br-team-dialog__contact-row { display: flex; align-items: flex-start; gap: 32px; border-top: 1px solid var(--tr-color-ink-20); padding-top: 8px; }
.br-team-dialog__contact { display: flex; min-width: 0; flex: 1 1 0; flex-direction: column; color: var(--tr-color-ink-60); }
.br-team-dialog__contact a { width: fit-content; border-radius: 2px; text-decoration: none; }
.br-team-dialog__socials { display: flex; flex: 0 0 auto; justify-content: flex-end; gap: 8px; color: var(--tr-color-ink-60); }
.br-team-dialog__socials a { display: inline-flex; border-radius: 2px; }
.br-team-dialog__socials svg { width: 20px; height: 20px; }
.br-team-dialog__bio-block { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.br-team-dialog__bio { white-space: pre-line; }
.br-team-dialog__cta { min-width: 120px; min-height: 40px; }

@keyframes br-team-scrim-in { from { opacity: 0; } }
@keyframes br-team-panel-in { from { opacity: 0; transform: translateX(24px); } }

@media (prefers-reduced-motion: reduce) {
  .br-team-dialog__scrim,
  .br-team-dialog__panel { animation: none; }
  .br-realtor__portrait,
  .br-realtor__learn-more { transition: none; }
}

@media (min-width: 768px) {
  .br-team-dialog__panel { padding: 48px; }
  .br-team-dialog__content { margin-top: 48px; }
}

@media (min-width: 1024px) {
  .br-team-dialog__panel { top: 16px; right: 16px; bottom: 16px; left: auto; width: 511px; }
}

@media (min-width: 1440px) {
  .br-team-dialog__panel { top: 40px; right: 40px; bottom: 40px; width: 598px; padding: 64px; }
}

/* The two- and three-contact lists share this grid: each card stacks its
   portrait over its profile. Four or more never reach it — that roster returns
   through the accordion above. The --pair/--triple rules below override the
   columns and gap, but only this rule grants them `display: grid`. */
.br-realtor__cards--grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px 32px; }
.br-realtor__cards--grid .br-realtor__card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.br-realtor__cards--grid .br-realtor__portrait-frame { width: 100%; height: auto; aspect-ratio: 458 / 573; }
.br-realtor__cards--grid .br-realtor__profile { gap: 24px; }

@media (min-width: 768px) {
  .br-realtor__layout { margin-top: 59px; }
  .br-realtor__intro { display: grid; grid-template-columns: 1fr auto; align-items: end; }
  .br-realtor__intro-line { grid-column: 1 / -1; }
  .br-realtor__brand-box { display: flex; }
  .br-realtor__card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .br-realtor__cards--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .br-realtor__profile { gap: 40px; }
}

@media (min-width: 1024px) {
  .br-realtor { min-height: 874px; }
  .br-realtor__shell { padding-block: 80px 51px; }
  /* The card reaches its authored 458px portrait here; the profile takes what
     is left of the container. Until 1280 that is the whole container, because
     the intro is still the row above the card (see the 1280 rule). */
  .br-realtor__card { grid-template-columns: minmax(320px, 458px) minmax(320px, 1fr); }
}

@media (min-width: 1280px) {
  /* The single-contact desktop composition: the intro column beside the card,
     in the 354/1046 and 591/454 proportions of the 1920px design, held as
     ratios while the container is still fluid. It starts at 1280 because that
     is the first width whose container fits the 354px intro measure beside the
     card's 458px portrait and its 320px profile floor. Below it the intro stays
     the heading-and-mark row 768 introduced and the card owns the full
     container, rather than an intro column pushing the card past the viewport. */
  .br-realtor__layout:not(.br-realtor__layout--many) { grid-template-columns: minmax(0, 354fr) minmax(0, 1046fr); gap: 0; }
  .br-realtor__layout:not(.br-realtor__layout--many) .br-realtor__intro { display: flex; flex-direction: column; align-items: stretch; }
  .br-realtor__layout:not(.br-realtor__layout--many) .br-realtor__intro-line { grid-column: auto; }
  .br-realtor__layout:not(.br-realtor__layout--many) .br-realtor__card { grid-template-columns: minmax(0, 591fr) minmax(0, 454fr); gap: 0; }
  .br-realtor__layout:not(.br-realtor__layout--many) .br-realtor__brand-box { position: absolute; margin-top: 0; }
  .br-realtor__layout:not(.br-realtor__layout--many) .br-realtor__portrait-frame { width: min(458px, 100%); }
}

@media (min-width: 1600px) {
  .br-realtor__layout { grid-template-columns: 354px minmax(0, 1fr); gap: 0; }
  .br-realtor__card { grid-template-columns: 591px 454px; gap: 0; }
  .br-realtor__brand-box { position: absolute; margin-top: 0; }
  .br-realtor__portrait-frame { width: 458px; height: 573px; aspect-ratio: auto; }
}

/* Exactly two contacts use the responsive editorial layouts authored in the
   Team frames: stacked cards on phones, a two-up row at 768px, and the
   intro/logo column beside two equal portrait cards from 1024px onward. */
.br-realtor--pair { min-height: 0; }
.br-realtor__shell--pair {
  display: grid;
  width: min(calc(100% - 32px), var(--tr-container-max));
  padding-block: 64px;
}
.br-realtor__layout--pair,
.br-realtor__layout--pair .br-realtor__intro { display: contents; }
.br-realtor__layout--pair .br-realtor__heading { grid-row: 1; }
.br-realtor__shell--pair > .br-realtor__eyebrow { grid-row: 2; margin-top: 24px; }
.br-realtor__layout--pair .br-realtor__intro-line { grid-row: 3; margin-top: 24px; color: var(--tr-color-ink); }
.br-realtor__layout--pair .br-realtor__cards { grid-row: 4; margin-top: 40px; }
.br-realtor__layout--pair .br-realtor__brand-box {
  position: static;
  display: flex;
  grid-row: 5;
  max-width: 160px;
  height: 54px;
  margin-top: 40px;
  padding: 0;
}
.br-realtor__cards--pair { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.br-realtor__cards--pair .br-realtor__card { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.br-realtor__cards--pair .br-realtor__portrait-frame { width: 100%; height: auto; aspect-ratio: 294 / 368; }
.br-realtor__cards--pair .br-realtor__profile { gap: 8px; }
.br-realtor__cards--pair .br-realtor__title { margin-top: 0; }
.br-realtor__cards--pair .br-realtor__contact-row,
.br-realtor__cards--pair .br-realtor__bio-block { display: none; }
.br-realtor__learn-more { display: inline-flex; width: fit-content; align-items: center; gap: 8px; }
.br-realtor__learn-more svg { width: 16px; height: 16px; stroke-width: 1.5; }

@media (min-width: 768px) {
  .br-realtor__layout--pair .br-realtor__cards { margin-top: 64px; }
  .br-realtor__layout--pair .br-realtor__brand-box { max-width: 200px; height: 68px; margin-top: 64px; }
  .br-realtor__cards--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}

@media (min-width: 1024px) {
  .br-realtor__shell--pair {
    grid-template-columns: 84px 296px 40px minmax(0, 1fr);
    row-gap: 10px;
    padding-block: 64px;
  }
  .br-realtor__layout--pair .br-realtor__heading { grid-column: 1 / -1; }
  .br-realtor__shell--pair > .br-realtor__eyebrow {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0;
    padding-top: 24px;
  }
  /* `align-self: start` draws nothing differently — the line already sits at the
     top of its cell — but it is what stops the box from stretching down the whole
     row the two portrait cards set, ~430px of it for three lines of copy. That
     stretch is invisible on the page and is the slot's selection ring in canvas
     (canvas-core `chrome.ts` rings the marker's client rect), where it reads as a
     paragraph owning the column. */
  .br-realtor__layout--pair .br-realtor__intro-line {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    /* The 24px that offsets this line from the row's top is a MARGIN where its
       siblings use padding: padding would sit inside the marker's own box and
       ring as part of the slot. Drawn identically either way. */
    margin-top: 24px;
    padding-top: 0;
  }
  .br-realtor__layout--pair .br-realtor__cards {
    grid-column: 4;
    grid-row: 2;
    margin-top: 0;
    padding-top: 24px;
  }
  /* The mark spans the indent and intro-line tracks, not the indent alone. Its
     size is the `max-width`/`height` pair below and nothing else — but the box
     carries `width: 100%` from its base rule, so pinned to the 84px indent
     track it took 84px and the cap never bound, drawing the wordmark at a third
     of the size every other contact count gives it. Spanning two tracks puts
     ~380px under the box and hands the sizing back to the cap. It stays on
     column 1's left edge, and the intro line it shares the row with sits ~340px
     above the `margin-top` below, so the two never meet. The triple and
     four-plus compositions need no equivalent: their column 1 is already wider
     than the cap. */
  .br-realtor__layout--pair .br-realtor__brand-box {
    grid-column: 1 / 3;
    grid-row: 2;
    max-width: 200px;
    height: 67px;
    margin-top: 362px;
  }
  .br-realtor__cards--pair .br-realtor__card { gap: 16px; }
  .br-realtor__learn-more { display: none; }
}

@media (min-width: 1280px) {
  .br-realtor__shell--pair {
    grid-template-columns: 105px 342px 80px minmax(0, 1fr);
    row-gap: 17px;
    padding-block: 120px 102px;
  }
  .br-realtor__shell--pair > .br-realtor__eyebrow,
  .br-realtor__layout--pair .br-realtor__cards { padding-top: 40px; }
  .br-realtor__layout--pair .br-realtor__intro-line { margin-top: 40px; }
  .br-realtor__layout--pair .br-realtor__brand-box { max-width: 240px; height: 80px; margin-top: 383px; }
  .br-realtor__cards--pair .br-realtor__card { gap: 24px; }
}

@media (min-width: 1440px) {
  .br-realtor__shell--pair {
    grid-template-columns: 112px 417px 179px minmax(0, 1fr);
    padding-bottom: 120px;
  }
}

@media (min-width: 1920px) {
  .br-realtor__shell--pair { grid-template-columns: 157px 417px 134px minmax(0, 1fr); }
}

/* Exactly three contacts follow Figma 271:4205: the heading spans the
   container, the rule starts the content row, the logo owns the left column,
   and all three portrait cards share the right column. */
.br-realtor--triple { min-height: 0; }
.br-realtor__shell--triple {
  display: grid;
  width: min(calc(100% - 32px), var(--tr-container-max));
  padding-block: 64px;
}
.br-realtor__layout--triple,
.br-realtor__layout--triple .br-realtor__intro { display: contents; }
.br-realtor__layout--triple .br-realtor__heading { grid-row: 1; max-width: 912px; }
.br-realtor__shell--triple > .br-realtor__eyebrow { grid-row: 2; margin-top: 24px; }
.br-realtor__layout--triple .br-realtor__cards { grid-row: 3; margin-top: 40px; }
.br-realtor__layout--triple .br-realtor__brand-box {
  position: static;
  display: flex;
  grid-row: 4;
  max-width: 160px;
  height: 54px;
  margin-top: 40px;
  padding: 0;
}
.br-realtor__cards--triple { grid-template-columns: minmax(0, 1fr); gap: 40px; }
.br-realtor__cards--triple .br-realtor__card { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.br-realtor__cards--triple .br-realtor__portrait-frame { width: 100%; height: auto; aspect-ratio: 294 / 368; }
.br-realtor__cards--triple .br-realtor__profile { gap: 16px; }
.br-realtor__cards--triple .br-realtor__title { margin-top: 0; }
.br-realtor__cards--triple .br-realtor__contact-row,
.br-realtor__cards--triple .br-realtor__bio-block { display: none; }

@media (min-width: 768px) {
  .br-realtor__layout--triple .br-realtor__cards { margin-top: 64px; }
  .br-realtor__layout--triple .br-realtor__brand-box { max-width: 200px; height: 68px; margin-top: 64px; }
  .br-realtor__cards--triple { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 16px; }
}

@media (min-width: 1024px) {
  .br-realtor__shell--triple {
    grid-template-columns: 25.2857% minmax(0, 1fr);
    row-gap: 10px;
    padding-block: 64px;
  }
  .br-realtor__layout--triple .br-realtor__heading { grid-column: 1 / -1; }
  .br-realtor__shell--triple > .br-realtor__eyebrow {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0;
    padding-top: 24px;
  }
  .br-realtor__layout--triple .br-realtor__cards {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
    padding-top: 24px;
  }
  .br-realtor__layout--triple .br-realtor__brand-box {
    grid-column: 1;
    grid-row: 2;
    max-width: 200px;
    height: 67px;
    margin-top: 305px;
  }
  .br-realtor__cards--triple { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .br-realtor__cards--triple .br-realtor__card,
  .br-realtor__cards--triple .br-realtor__profile { gap: 24px; }
  .br-realtor__cards--triple .br-realtor__learn-more {
    display: inline-flex;
    visibility: hidden;
    opacity: 0;
    transform: translateY(4px);
    transition: visibility 0s linear 200ms, opacity 200ms ease, transform 200ms ease, gap 400ms ease;
  }
  .br-realtor__cards--triple .br-realtor__card:has(.br-realtor__card-trigger:hover) .br-realtor__learn-more,
  .br-realtor__cards--triple .br-realtor__card:has(.br-realtor__card-trigger:focus-visible) .br-realtor__learn-more {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s;
  }
}

@media (min-width: 1280px) {
  .br-realtor__shell--triple {
    row-gap: 17px;
    padding-block: 120px;
  }
  .br-realtor__shell--triple > .br-realtor__eyebrow,
  .br-realtor__layout--triple .br-realtor__cards { padding-top: 40px; }
  .br-realtor__layout--triple .br-realtor__brand-box { max-width: 240px; height: 80px; margin-top: 409px; }
  .br-realtor__cards--triple .br-realtor__name { font-size: 32px; line-height: 1.1; letter-spacing: -1.28px; }
}

@media (min-width: 1600px) {
  .br-realtor__shell--triple { grid-template-columns: 354px minmax(0, 1fr); }
  .br-realtor__layout--triple .br-realtor__brand-box { margin-top: 449px; }
}

/* Four or more contacts use the responsive disclosure composition authored in
   the Team frames. Mobile keeps only heading/list/logo; 1024px introduces the
   portrait column, and the 1400px container settles into the desktop measures. */
.br-realtor--large { min-height: 0; }
.br-realtor__shell--large {
  display: grid;
  width: min(calc(100% - 32px), var(--tr-container-max));
  grid-template-columns: minmax(0, 1fr);
  padding-block: 64px 80px;
}
.br-realtor__heading--large {
  grid-row: 1;
  align-self: start;
  width: 250px;
  font-size: 34px;
  letter-spacing: -2px;
}
.br-realtor__eyebrow--large { grid-row: 2; margin-top: 24px; font-size: 15px; line-height: 1; }
.br-realtor__team-list { grid-row: 3; min-width: 0; margin-top: 24px; }
.br-realtor__large-portrait-frame { position: relative; display: none; overflow: hidden; border-radius: 6px; }
/* The portraits are one stack, one of them active, and exactly one layer animates
   at a time. The incoming face arrives ON TOP while the outgoing one HOLDS at full
   opacity — hence the delay here — and only leaves once the incoming is opaque and
   covering it, so its going is not a cut either. Both fading at once is not a
   crossfade: over the empty frame two portraits at ~50% composite to less than
   one, so the column pales at the midpoint and re-inks. Same treatment as
   `residences`' floor plans, for the same reason. */
.br-realtor__large-portrait {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 160ms ease 600ms;
}
.br-realtor__large-portrait[data-active] {
  z-index: 1;
  opacity: 1;
  transition: opacity 600ms cubic-bezier(0.25, 1, 0.5, 1);
}
.br-realtor__brand-box--large {
  position: static;
  display: flex;
  grid-row: 4;
  max-width: 160px;
  height: 54px;
  margin-top: 64px;
  padding: 0;
}

.br-realtor__member { border-bottom: 1px solid var(--tr-color-ink-20); }
.br-realtor__member > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 16px;
  row-gap: 8px;
  padding: 24px 8px;
  cursor: pointer;
  list-style: none;
  transition: padding-bottom 480ms cubic-bezier(0.25, 1, 0.5, 1);
}
.br-realtor__member > summary::-webkit-details-marker { display: none; }
.br-realtor__member > summary::marker { content: ""; }
/* Closing details remain `[open]` until their panel animation ends. Excluding
   that state lets the summary padding travel during the same 480ms instead of
   adding eight desktop/mobile pixels in the final frame. */
.br-realtor__member[open]:not([data-motion-state="closing"]) > summary { padding-bottom: 16px; }
.br-realtor__member-role {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  color: var(--tr-color-ink-60);
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: -.6px;
  overflow-wrap: anywhere;
}
.br-realtor__member-name {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -1px;
  overflow-wrap: anywhere;
}
.br-realtor__member-icon {
  display: grid;
  grid-column: 2;
  grid-row: 1 / 3;
  width: 24px;
  height: 24px;
  place-items: center;
}
.br-realtor__member-icon svg { grid-area: 1 / 1; width: 24px; height: 24px; stroke-width: 1.25; }
.br-realtor__member-minus { display: none; }
.br-realtor__member[open]:not([data-motion-state="closing"]) .br-realtor__member-plus { display: none; }
.br-realtor__member[open]:not([data-motion-state="closing"]) .br-realtor__member-minus { display: block; }
.br-realtor__member-motion { opacity: 1; }
.br-realtor__member-content { padding: 0 8px 24px; }
.br-realtor__member-contact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 24px;
  border-top: 1px solid var(--tr-color-ink-20);
  padding-top: 16px;
}
.br-realtor__member-contact { display: flex; min-width: 0; flex-direction: column; color: var(--tr-color-ink-60); }
.br-realtor__member-contact a { width: fit-content; border-radius: 2px; text-decoration: none; }
.br-realtor__member-socials { display: flex; justify-content: flex-end; gap: 8px; color: var(--tr-color-ink-60); }
.br-realtor__member-socials a { display: inline-flex; border-radius: 2px; }
.br-realtor__member-socials svg { width: 20px; height: 20px; }
.br-realtor__member-bio {
  margin-top: 32px;
  color: var(--tr-color-ink-80);
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: -.48px;
  white-space: pre-line;
}

@media (min-width: 390px) {
  .br-realtor__heading--large { width: 100%; }
}

@media (min-width: 1024px) {
  .br-realtor__shell--large {
    grid-template-columns: 24.15% 9.57% minmax(0, 1fr);
    grid-template-rows: auto auto;
    padding-block: 64px 80px;
  }
  .br-realtor__eyebrow--large {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-top: 0;
  }
  .br-realtor__heading--large {
    grid-column: 1;
    grid-row: 2;
    margin-top: 40px;
    font-size: 34px;
    letter-spacing: -2px;
  }
  .br-realtor__team-list {
    grid-column: 3;
    grid-row: 2;
    margin-top: 40px;
  }
  .br-realtor__large-portrait-frame {
    display: block;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    height: auto;
    margin-top: 164px;
    aspect-ratio: 294 / 368;
  }
  .br-realtor__brand-box--large {
    grid-column: 1;
    grid-row: 2;
    max-width: 200px;
    height: 67px;
    margin-top: 524px;
  }
  .br-realtor__member > summary {
    grid-template-columns: 138px minmax(0, 1fr) 32px;
    grid-template-rows: auto;
    column-gap: 32px;
    row-gap: 0;
    padding-block: 32px;
    padding-inline: 0;
  }
  .br-realtor__member-role { grid-column: 1; grid-row: 1; font-size: 15px; }
  .br-realtor__member-name {
    grid-column: 2;
    grid-row: 1;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: -1.36px;
  }
  .br-realtor__member-icon { grid-column: 3; grid-row: 1; }
  .br-realtor__member-content { margin-inline: 170px 64px; padding: 0 0 32px; }
  .br-realtor__member-contact-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding-top: 16px; }
  .br-realtor__member-socials { justify-content: flex-start; }
  .br-realtor__member-bio { margin-top: 32px; font-size: 15px; }
}

@media (min-width: 1280px) {
  .br-realtor__shell--large {
    width: min(calc(100% - 40px), var(--tr-container-max));
    grid-template-columns: 338px 81px minmax(0, 1fr);
    padding-top: 80px;
  }
  .br-realtor__heading--large { margin-top: 24px; font-size: 57px; }
  .br-realtor__team-list { margin-top: 24px; }
  .br-realtor__large-portrait-frame { margin-top: 267px; }
  .br-realtor__brand-box--large { max-width: 240px; height: 80px; margin-top: 814px; }
  .br-realtor__member-name { font-size: 40px; letter-spacing: -1.6px; }
}

@media (min-width: 1440px) {
  .br-realtor__shell--large { grid-template-columns: 338px 134px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .br-realtor__member > summary { transition: none; }
  /* Both portrait rules, not just the base one: the active rule carries its own
     `transition` at higher specificity and would otherwise keep the 600ms fade. */
  .br-realtor__large-portrait,
  .br-realtor__large-portrait[data-active] { transition: none; }
}
}

@layer sections.contact {
/* css-reason: the contact section owns the exact lead-form grid and dark editorial layout from Figma node 268:2286 */
.br-contact { min-height: 0; }
.br-contact__shell { padding-block: var(--tr-space-section); }
.br-contact__heading { max-width: 912px; }
.br-contact__eyebrow { margin-top: 29px; padding-top: 40px; border-top: 1px solid var(--tr-color-white-20); color: var(--tr-color-white-60); }
.br-contact__layout { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: space-between; align-items: start; gap: 56px; margin-top: 0; }
.br-contact__details { padding-top: 40px; }
.br-contact__intro { max-width: 456px; }
.br-contact__list { display: flex; flex-direction: column; gap: 24px; margin-top: 40px; }
.br-contact__list > div { display: grid; grid-template-columns: 88px 1fr; gap: 16px; padding-top: 16px; border-top: 1px solid var(--tr-color-white-20); }
.br-contact__list > .br-contact__detail--hidden { display: none; }
.br-contact__list dt { padding-top: 5px; color: var(--tr-color-white-60); }
.br-contact__list dd { display: flex; min-width: 0; flex-direction: column; gap: 4px; margin: 0; }
.br-contact__list dd > span:first-child { color: var(--tr-color-white-60); }
.br-contact__list dd a, .br-contact__list dd > span:last-child { width: fit-content; max-width: 100%; overflow-wrap: anywhere; color: white; text-decoration: none; }

.br-contact-form { box-sizing: border-box; display: flex; width: 100%; min-height: 0; flex-direction: column; align-items: flex-start; gap: 32px; padding: 24px; border-radius: 12px; background: var(--tr-color-grey-10); }
.br-contact-form__persona { margin: 0; padding: 0; border: 0; }
.br-contact-form__persona > div { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 24px; }
.br-contact-form__persona label { display: flex; min-height: 24px; align-items: center; gap: 8px; cursor: pointer; }
.br-contact-form__persona input { box-sizing: border-box; width: 24px; height: 24px; margin: 0; appearance: none; border: 1px solid var(--tr-color-white-60); border-radius: 4px; background: transparent; }
.br-contact-form__persona input:checked { border-color: white; background: white; }
.br-contact-form__persona input:checked::after { display: block; width: 12px; height: 7px; margin: 6px 0 0 5px; border-bottom: 2px solid var(--tr-color-ink); border-left: 2px solid var(--tr-color-ink); content: ""; transform: rotate(-45deg); }
.br-contact-form__fields { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.br-contact-form__fields label { display: flex; min-width: 0; flex-direction: column; gap: 4px; font-size: 10px; line-height: normal; text-transform: uppercase; color: var(--tr-color-white-60); }
.br-contact-form input:not([type="radio"]), .br-contact-form textarea { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; padding: 8px 16px; border: 1px solid var(--tr-color-grey-20); border-radius: 4px; outline: 0; background: var(--tr-color-grey-10); color: white; text-transform: none; }
.br-contact-form input:not([type="radio"])::placeholder, .br-contact-form textarea::placeholder { color: var(--tr-color-white-40); opacity: 1; }
.br-contact-form input:not([type="radio"]):focus-visible, .br-contact-form textarea:focus-visible, .br-contact-form__persona input:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.br-contact-form__message { grid-column: auto; }
.br-contact-form textarea { height: 104px; resize: vertical; }
.br-contact-form > button { min-width: 96px; min-height: 40px; padding: 8px 24px; border: 0; border-radius: 6px; background: white; color: var(--tr-color-ink); cursor: pointer; }
.br-contact-form > button:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.br-contact-form > button:disabled { opacity: .5; }
.br-contact-form__error { margin: -20px 0 0; color: white; }
.br-contact-form__status { padding: 32px; }

@media (min-width: 640px) {
  .br-contact__list > div { grid-template-columns: 101px 1fr; }
  .br-contact-form { min-height: 509px; }
  .br-contact-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .br-contact-form__message { grid-column: 1 / -1; }
}

@media (min-width: 1024px) {
  .br-contact { min-height: 868px; }
  .br-contact__shell { padding-block: 120px 119px; }
  .br-contact__layout { grid-template-columns: minmax(360px, 456px) minmax(560px, 692px); gap: 48px; margin-top: -15px; }
  .br-contact__details { padding-top: 60px; }
}

@media (min-width: 1280px) {
  .br-contact__layout { grid-template-columns: 456px 692px; gap: 0; }
  .br-contact-form { width: 692px; }
}
}

@layer sections.footer {
@font-face {
  font-family: "Aeonik";
  src: url("Aeonik-Light-J2YJHMRZ.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("Aeonik-Regular-ASMQJYO5.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Aeonik";
  src: url("Aeonik-Medium-NM7SPKO4.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
.br-footer {
  min-height: 760px;
}
.br-footer__shell {
  position: relative;
  min-height: 760px;
  padding-top: 48px;
  border-top: 1px solid var(--tr-color-white-20);
}
.br-footer__top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 24px;
}
.br-footer__label {
  font-size: 15px;
  line-height: 1;
  letter-spacing: -0.45px;
  text-transform: uppercase;
  color: var(--tr-color-white-60);
}
.br-footer__body {
  margin-top: 24px;
}
.br-footer__social-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 24px;
}
.br-footer__social-links a {
  border-radius: 2px;
  color: white;
  text-decoration: none;
}
.br-footer__social-links a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.br-footer__social-links a:focus-visible {
  outline: 2px solid white;
  outline-offset: 3px;
}
.br-footer__legal-links {
  display: flex;
  grid-column: 1 / -1;
  flex-direction: column;
  gap: 16px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: -0.45px;
  color: var(--tr-color-white-60);
}
.br-footer__disclaimer {
  grid-column: 1 / -1;
  max-width: 560px;
  color: var(--tr-color-white-60);
}
.br-footer__credit {
  margin-top: 32px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: -0.45px;
}
.br-footer__wordmark {
  position: absolute;
  right: 0;
  bottom: 32px;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (min-width: 640px) {
  .br-footer {
    min-height: 720px;
  }
  .br-footer__shell {
    min-height: 720px;
    padding-top: 80px;
  }
  .br-footer__top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .br-footer__legal-links {
    grid-column: auto;
  }
  .br-footer__wordmark {
    bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .br-footer {
    min-height: 655px;
  }
  .br-footer__shell {
    min-height: 655px;
  }
  .br-footer__top {
    grid-template-columns: 220px 118px 204px minmax(0, 1fr) minmax(300px, 456px);
    gap: 16px;
  }
  .br-footer__disclaimer {
    grid-column: 5;
  }
  .br-footer__credit {
    margin-top: 78px;
  }
  .br-footer__wordmark {
    height: 252px;
  }
  .br-footer .br-footer__body,
  .br-footer .br-footer__social-links {
    font-size: 20px;
    line-height: 1.2;
  }
}
@media (min-width: 1280px) {
  .br-footer__top {
    grid-template-columns: 220px 118px 204px 102px 456px;
  }
}
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--radius-sm:.25rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--aspect-video:16 / 9;--default-font-family:var(--tr-font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\[container-type\:size\]{container-type:size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-6{inset-inline:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.right-4{right:1rem}.right-6{right:1.5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.-left-2\.5{left:-.625rem}.left-1\/2{left:50%}.left-6{left:1.5rem}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-\[2\]{z-index:2}.z-\[90\]{z-index:90}.z-\[91\]{z-index:91}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (min-width:32rem){.container{max-width:32rem}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:96rem){.container{max-width:96rem}}@media (min-width:120rem){.container{max-width:120rem}}.mx-auto{margin-inline:auto}.-mt-1{margin-top:-.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-20{margin-top:5rem}.mb-4{margin-bottom:1rem}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[32\/43\]{aspect-ratio:32/43}.aspect-\[125\/84\]{aspect-ratio:125/84}.aspect-video{aspect-ratio:var(--aspect-video)}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-10{width:2.5rem;height:2.5rem}.h-0{height:0}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-\[13px\]{height:13px}.h-\[72px\]{height:72px}.h-\[164px\]{height:164px}.h-\[clamp\(420px\,39\.635vw\,761px\)\]{height:clamp(420px,39.635vw,761px)}.h-auto\!{height:auto!important}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-6{max-height:1.5rem}.max-h-\[80dvh\]{max-height:80dvh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-4{min-height:1rem}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-\[72px\]{min-height:72px}.min-h-\[85px\]{min-height:85px}.min-h-\[160px\]{min-height:160px}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-32{width:8rem}.w-40{width:10rem}.w-\[13px\]{width:13px}.w-\[72px\]{width:72px}.w-\[81px\]{width:81px}.w-\[180px\]{width:180px}.w-\[min\(1400px\,calc\(100vw-32px\)\)\]{width:min(1400px,100vw - 32px)}.w-auto{width:auto}.w-auto\!{width:auto!important}.w-full{width:100%}.max-w-32{max-width:8rem}.max-w-\[52vw\]{max-width:52vw}.max-w-\[236px\]{max-width:236px}.max-w-\[412px\]{max-width:412px}.max-w-\[420px\]{max-width:420px}.max-w-\[602px\]{max-width:602px}.max-w-\[690px\]{max-width:690px}.max-w-\[692px\]{max-width:692px}.max-w-\[760px\]{max-width:760px}.max-w-\[950px\]{max-width:950px}.max-w-\[var\(--tr-container-max\)\]{max-width:var(--tr-container-max)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\[120px\]{min-width:120px}.min-w-fit{min-width:fit-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[45\%\]{--tw-translate-y:calc(45% * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(.25rem * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.snap-start{scroll-snap-align:start}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[72px_1fr\]{grid-template-columns:72px 1fr}.grid-cols-\[minmax\(0\,0\.5fr\)_minmax\(0\,1fr\)_fit-content\(100\%\)\]{grid-template-columns:minmax(0,.5fr) minmax(0,1fr) fit-content(100%)}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-\[0\.35em\]{gap:.35em}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-10{column-gap:2.5rem}.gap-y-6{row-gap:1.5rem}.gap-y-10{row-gap:2.5rem}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.justify-self-stretch{justify-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-\[6px\]{border-radius:6px}.rounded-full{border-radius:var(--tr-radius-full)}.rounded-lg{border-radius:var(--tr-radius-lg)}.rounded-md{border-radius:var(--tr-radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-ink{border-color:var(--tr-color-ink)}.border-ink-20{border-color:var(--tr-color-ink-20)}.border-white{border-color:var(--tr-color-white)}.border-white-20{border-color:var(--tr-color-white-20)}.border-white-40{border-color:var(--tr-color-white-40)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-grey-50{background-color:var(--tr-color-grey-50)}.bg-ink{background-color:var(--tr-color-ink)}.bg-ink-40{background-color:var(--tr-color-ink-40)}.bg-ink-50{background-color:var(--tr-color-ink-50)}.bg-ink-60{background-color:var(--tr-color-ink-60)}.bg-smoke,.bg-smoke\/50{background-color:var(--tr-color-smoke)}@supports (color:color-mix(in lab, red, red)){.bg-smoke\/50{background-color:color-mix(in oklab, var(--tr-color-smoke) 50%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--tr-color-white)}.bg-white-10{background-color:var(--tr-color-white-10)}.bg-white-20{background-color:var(--tr-color-white-20)}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black{--tw-gradient-from:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-4{padding:1rem}.px-1\.5{padding-inline:.375rem}.px-2{padding-inline:.5rem}.px-2\.5{padding-inline:.625rem}.px-4{padding-inline:1rem}.px-6{padding-inline:1.5rem}.px-\[7px\]{padding-inline:7px}.px-\[max\(16px\,calc\(\(100vw-1400px\)\/2\)\)\]{padding-inline:max(16px,50vw - 700px)}.px-\[var\(--tr-container-pad\)\]{padding-inline:var(--tr-container-pad)}.py-2{padding-block:.5rem}.py-4{padding-block:1rem}.py-10{padding-block:2.5rem}.py-16{padding-block:4rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-\[var\(--tr-space-section\)\]{padding-bottom:var(--tr-space-section)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[14px\]{font-size:14px}.text-\[19px\]{font-size:19px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[17\.55px\]{--tw-leading:17.55px;line-height:17.55px}.font-light\!{--tw-font-weight:var(--font-weight-light)!important;font-weight:var(--font-weight-light)!important}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-normal\!{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.tracking-\[0\.07px\]{--tw-tracking:.07px;letter-spacing:.07px}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-ink{color:var(--tr-color-ink)}.text-ink-60{color:var(--tr-color-ink-60)}.text-white{color:var(--tr-color-white)}.text-white-60{color:var(--tr-color-white-60)}.text-white-70{color:var(--tr-color-white-70)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-\[opacity\,translate\,scale\]{transition-property:opacity,translate,scale;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-\[opacity\,translate\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-\[top\]{transition-property:top;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tr-ease));transition-duration:var(--tw-duration,var(--tr-duration-fast))}.delay-0{transition-delay:0s}.delay-200{transition-delay:.2s}.delay-\[650ms\]{transition-delay:.65s}.duration-0{--tw-duration:0s;transition-duration:0s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-\[420ms\]{--tw-duration:.42s;transition-duration:.42s}.ease-\[cubic-bezier\(0\.4\,0\.05\,0\.2\,1\)\]{--tw-ease:cubic-bezier(.4,.05,.2,1);transition-timing-function:cubic-bezier(.4,.05,.2,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.will-change-transform{will-change:transform}.select-none{-webkit-user-select:none;user-select:none}.\[--br-viewer-reserve\:5rem\]{--br-viewer-reserve:5rem}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:.25rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.marker\:content-none ::marker{--tw-content:none;content:none}.marker\:content-none::marker{--tw-content:none;content:none}.marker\:content-none ::-webkit-details-marker{--tw-content:none;content:none}.marker\:content-none::-webkit-details-marker{--tw-content:none;content:none}@media (hover:hover){.hover\:bg-grey-40:hover{background-color:var(--tr-color-grey-40)}.hover\:bg-ink-60:hover{background-color:var(--tr-color-ink-60)}.hover\:bg-white-20:hover{background-color:var(--tr-color-white-20)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-grey-20:active{background-color:var(--tr-color-grey-20)}.active\:bg-ink-50:active{background-color:var(--tr-color-ink-50)}.active\:bg-white-40:active{background-color:var(--tr-color-white-40)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:delay-0{transition-delay:0s}.motion-reduce\:duration-0{--tw-duration:0s;transition-duration:0s}}@media (min-width:24.375rem){.min-\[24\.375rem\]\:grid{display:grid}}@media (min-width:32rem){.bp512\:hidden{display:none}.bp512\:inline{display:inline}.bp512\:w-auto{width:auto}.bp512\:min-w-\[120px\]{min-width:120px}.bp512\:px-6{padding-inline:1.5rem}.bp512\:pt-10{padding-top:2.5rem}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:aspect-\[16\/9\]{aspect-ratio:16/9}.md\:h-8{height:2rem}.md\:h-\[85px\]{height:85px}.md\:max-h-8{max-height:2rem}.md\:w-44{width:11rem}.md\:w-\[85px\]{width:85px}.md\:max-w-44{max-width:11rem}.md\:max-w-\[236px\]{max-width:236px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[85px_1fr\]{grid-template-columns:85px 1fr}.md\:gap-8{gap:2rem}.md\:gap-y-5{row-gap:1.25rem}.md\:px-6{padding-inline:1.5rem}.md\:py-20{padding-block:5rem}.md\:pt-16{padding-top:4rem}}@media (min-width:64rem){.lg\:absolute{position:absolute}.lg\:inset-0{inset:0}.lg\:inset-x-0{inset-inline:0}.lg\:top-20{top:5rem}.lg\:top-\[155px\]{top:155px}.lg\:top-\[545px\]{top:545px}.lg\:left-0{left:0}.lg\:left-\[50\.5714\%\]{left:50.5714%}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:mt-0{margin-top:0}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-\[88px\]{margin-top:88px}.lg\:mt-\[calc\(var\(--tr-text-headline-57\)\*0\.208_-_var\(--tr-text-body-29\)\*0\.272\)\]{margin-top:calc(var(--tr-text-headline-57) * .208 - var(--tr-text-body-29) * .272)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:aspect-\[125\/84\]{aspect-ratio:125/84}.lg\:aspect-auto{aspect-ratio:auto}.lg\:h-\[4\.5rem\]{height:4.5rem}.lg\:h-full{height:100%}.lg\:min-h-\[106px\]{min-height:106px}.lg\:min-h-\[760px\]{min-height:760px}.lg\:w-\[49\.2143\%\]{width:49.2143%}.lg\:w-auto{width:auto}.lg\:min-w-\[80px\]{min-width:80px}.lg\:flex-none{flex:none}.lg\:grid-cols-\[0\.25fr_1fr_0\.5fr\]{grid-template-columns:.25fr 1fr .5fr}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:grid-cols-\[50\.5714\%_49\.2143\%\]{grid-template-columns:50.5714% 49.2143%}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(260px\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.lg\:grid-rows-subgrid{grid-template-rows:subgrid}.lg\:flex-col{flex-direction:column}.lg\:items-end{align-items:flex-end}.lg\:justify-end{justify-content:flex-end}.lg\:gap-0{gap:0}.lg\:gap-8{gap:2rem}.lg\:gap-24{gap:6rem}.lg\:gap-\[clamp\(20px\,2\.656vw\,51px\)\]{gap:clamp(20px,2.656vw,51px)}.lg\:gap-y-8{row-gap:2rem}.lg\:gap-y-9{row-gap:2.25rem}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-start{justify-self:flex-start}.lg\:px-\[5\.5rem\]{padding-inline:5.5rem}.lg\:py-0{padding-block:0}.lg\:pt-32{padding-top:8rem}.lg\:pt-\[155px\]{padding-top:155px}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-\[120px\]{padding-bottom:120px}.lg\:text-right{text-align:right}.lg\:\[--br-viewer-reserve\:0px\]{--br-viewer-reserve:0px}}@media (min-width:80rem){.xl\:pt-30{padding-top:7.5rem}}@media (min-width:90rem){.bp1440\:h-24{height:6rem}.bp1440\:py-24{padding-block:6rem}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}:root{--tr-color-grey:#b5b8ad;--tr-color-grey-10:#b5b8ad1a;--tr-color-grey-20:#b5b8ad33;--tr-color-grey-40:#b5b8ad66;--tr-color-grey-50:#b5b8ad80;--tr-color-ink:#222;--tr-color-ink-20:#2223;--tr-color-ink-30:#2222224d;--tr-color-ink-40:#2226;--tr-color-ink-50:#22222280;--tr-color-ink-60:#2229;--tr-color-smoke:#f4f4f4;--tr-color-white:#fff;--tr-color-white-10:#ffffff1a;--tr-color-white-20:#fff3;--tr-color-white-40:#fff6;--tr-color-white-60:#fff9;--tr-color-white-70:#ffffffb2;--tr-color-white-90:#ffffffe5;--tr-font-sans:"Aeonik", Arial, "Helvetica Neue", Helvetica, sans-serif;--tr-text-base:15px;--tr-text-body:15px;--tr-text-body-12:12px;--tr-text-body-15:14px;--tr-text-body-19:17px;--tr-text-body-23:19px;--tr-text-body-29:20px;--tr-text-body-lg:clamp(23px, 1.51vw, 29px);--tr-text-body-md:19px;--tr-text-caption:12px;--tr-text-display:clamp(46px, 3.75vw, 72px);--tr-text-display-72:48px;--tr-text-h1:clamp(40px, 2.97vw, 57px);--tr-text-h2:clamp(34px, 2.4vw, 46px);--tr-text-h3:clamp(29px, 1.93vw, 37px);--tr-text-headline-37:24px;--tr-text-headline-46:28px;--tr-text-headline-57:34px;--tr-text-tour-selector-detail:12px;--tr-text-tour-selector-heading:28px;--tr-text-tour-selector-intro:17px;--tr-text-tour-selector-unit:19px;--tr-radius-full:9999px;--tr-radius-lg:12px;--tr-radius-md:6px;--tr-shadow-focus:0 0 0 3px var(--tr-color-grey)}@supports (color:color-mix(in lab, red, red)){:root{--tr-shadow-focus:0 0 0 3px color-mix(in srgb, var(--tr-color-grey) 45%, transparent)}}:root{--tr-container-max:1400px;--tr-gutter-laptop:32px;--tr-gutter-mobile:16px;--tr-gutter-tablet:24px;--tr-gutter-wide:40px;--tr-space-section:clamp(64px, 6.25vw, 120px);--tr-touch-target:44px}body{font-family:var(--tr-font-sans);color:var(--tr-color-ink);background:var(--tr-color-white);font-size:var(--tr-text-base)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
.br-neighborhood-shell .br-neighborhood-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--tr-color-smoke);
}