/* Keep Jost, the existing photography, and the site's restrained black palette. */
body { line-height: 1.65; }
h1, h2, h3, h4 { line-height: 1.25; letter-spacing: -.02em; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.tu-lofts-header { padding-block: 20px !important; border-bottom: 1px solid #dedbd6; }
.tu-lofts-header .wp-block-site-logo img { width: 230px; height: auto; }
.tu-lofts-header .wp-block-navigation { font-size: 1rem; font-weight: 400; }
.tu-lofts-header .wp-block-navigation-item__content { text-decoration-thickness: 1px; text-underline-offset: .4em; }
.tu-lofts-header .wp-block-navigation-item__content:hover { text-decoration: underline; }
.tu-lofts-header .wp-block-navigation__responsive-container-open, .tu-lofts-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
@media(min-width:900px) { .tu-lofts-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; } }
.tu-lofts-hero .wp-block-cover__inner-container > p { max-width: 760px; margin-inline: auto; line-height: 1.5; }
#community, #suites, #building, #contact { scroll-margin-top: 1rem; }
#community .wp-block-cover__inner-container > .wp-block-group, #suites .wp-block-cover__inner-container > .wp-block-group, #building .wp-block-cover__inner-container > .wp-block-group { padding: clamp(1.5rem,4vw,2.5rem) !important; }
#community .wp-block-cover__inner-container > .wp-block-group p, #suites .wp-block-cover__inner-container > .wp-block-group p, #building .wp-block-cover__inner-container > .wp-block-group p { font-size: clamp(1.0625rem,1.5vw,1.25rem) !important; line-height: 1.7; max-width: 740px; margin-inline: auto; }
#community .wp-block-spacer, #suites .wp-block-spacer, #building .wp-block-spacer { height: .5rem !important; }
.wp-block-button__link, .wp-block-jetpack-contact-form button { font-family: inherit; font-size: .875rem; line-height: 1.5; letter-spacing: .04em; font-weight: 600; padding: .85rem 1.4rem; border-radius: 2px; transition: background-color .18s ease, color .18s ease; }
.wp-block-button__link:not(.has-base-2-background-color):hover, .wp-block-jetpack-contact-form button:hover { background-color: #38352f; color: #fff; }
.wp-block-button__link.has-base-2-background-color:hover { background-color: #ece8e2; }
#contact h3 { font-size: 1.4rem; }
#contact h4 { font-size: 1.15rem; font-weight: 600; }
#contact p { font-size: 1rem; }
#contact a, .tu-lofts-footer a { overflow-wrap: anywhere; }
#contact .wp-block-columns { gap: clamp(2rem,5vw,4rem); }
#contact .grunion-field-label { font-size: .9375rem; font-weight: 600; }
#contact input, #contact textarea { border: 1px solid #aaa7a0; border-radius: 2px; background: #fff; font: inherit; }
footer.wp-block-template-part { margin-top: 0; }
.tu-lofts-footer { background: #111; color: #e5e4e0; padding: clamp(2rem,4vw,3.5rem) var(--wp--style--root--padding-right,2rem) 1.5rem; }
.tu-lofts-footer a { color: inherit; text-decoration: none; }
.tu-lofts-footer a:hover { text-decoration: underline; }
.tu-lofts-footer p, .tu-lofts-footer li { font-size: .9375rem; line-height: 1.7; }
.tu-lofts-footer h3 { font-family: inherit; font-size: 1rem; font-weight: 600; margin-block: 0 1rem; color: #fff; }
.tu-lofts-footer__main { gap: 3rem; margin-block: 0 2rem; }
.tu-lofts-footer__main .wp-block-image { margin: 0 0 1.25rem; }
.tu-lofts-footer__links { list-style: none; padding: 0; margin: 0; }
.tu-lofts-footer__links li { margin-block: .4rem; }
.tu-lofts-footer .tu-lofts-colophon { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; margin-top: 0; padding-top: 1.25rem; border-top: 1px solid #ffffff30; font-size: .75rem; }
.tu-lofts-footer .tu-lofts-colophon p { font-size: inherit; margin: 0; line-height: 1.5; }
.tu-lofts-colophon__credit { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; min-width: 0; }
.tu-lofts-colophon .tu-credit { font-size: inherit; line-height: 1.5; text-decoration: none !important; }
@media(max-width:781px) {
 .tu-lofts-header { padding-block: 12px !important; }
 .tu-lofts-header .wp-block-site-logo img { width: 200px; }
 .tu-lofts-header > .wp-block-group { flex-wrap: nowrap; }
 .tu-lofts-hero { min-height: 540px !important; }
 .tu-lofts-footer__main { gap: 1.75rem; }
 .tu-lofts-colophon .tu-credit { white-space: normal; }
}
@media(max-width:599px) {
 .tu-lofts-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
 .tu-lofts-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: .4rem; }
 .tu-lofts-hero .wp-block-cover__inner-container > p { font-size: 1.25rem; }
 .wp-block-button__link { max-width: 100%; box-sizing: border-box; }
 .tu-lofts-footer .tu-lofts-colophon { align-items: flex-start; }
 .tu-lofts-colophon__credit { width: 100%; }
 .tu-lofts-colophon .tu-credit__text { max-inline-size: none; opacity: 1; }
}
@media(prefers-reduced-motion:reduce) { .wp-block-button__link, .wp-block-jetpack-contact-form button { transition: none; } }

/* Switch to the native mobile menu before the single-row header becomes crowded. */
@media(max-width:899px) { .tu-lofts-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; } .tu-lofts-header .wp-block-navigation__responsive-container-open { display: flex !important; } }

/* Keep existing interactive map/floor-plan popups inside phone viewports. */
@media(max-width:599px) {
 .image-hotspot .dot__tooltip { position: fixed; inset: auto 1rem 1rem !important; margin: 0 !important; width: auto !important; max-width: calc(100vw - 2rem); max-height: 65dvh; overflow: auto; z-index: 10000; }
 .image-hotspot .dot__tooltip::before, .image-hotspot .dot__tooltip::after { display: none; }
 .image-hotspot .dot__tooltip > div { min-height: 160px; }
}

@media(max-width:599px) { .image-hotspot .dot__tooltip .tooltip-container__block__media { background-size: contain; background-repeat: no-repeat; background-position: center; } }

/* A calmer community section and a native media/text layout for suites. */
.tu-lofts-community, .tu-lofts-suites-section { padding-block: clamp(3rem,6vw,5rem); }
.tu-lofts-community > p { max-width: 760px; font-size: 1.125rem; line-height: 1.75; margin-inline: auto; }
.tu-lofts-community > .wp-block-gallery { margin-top: 2.5rem; gap: .75rem; }
.tu-lofts-community > .wp-block-gallery img { border-radius: 2px; }
.tu-lofts-community h2, .tu-lofts-suites h2 { font-size: clamp(1.8rem,3vw,2.5rem); margin-block: 0 1rem; }
.tu-lofts-suites .wp-block-media-text__media { height: 100%; }
.tu-lofts-suites .wp-block-media-text__media img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.tu-lofts-suites .wp-block-media-text__content { padding: 2rem clamp(1.5rem,4vw,3.5rem); }
.tu-lofts-suites p { font-size: 1.125rem; line-height: 1.75; }
.tu-lofts-suites .tu-lofts-rental-status { font-size: 1rem; margin-block: 0 1rem; }
.tu-lofts-suites .wp-block-buttons { margin-top: 1.5rem; }
.tu-lofts-hero h1 { max-width: 760px; margin-inline: auto; font-size: clamp(1.25rem,2.2vw,1.75rem); line-height: 1.5; font-weight: 500; }
@media(max-width:600px) {
 .tu-lofts-suites .wp-block-media-text__media img { min-height: 0; height: auto; max-height: 360px; }
 .tu-lofts-suites .wp-block-media-text__content { padding: 1.75rem 0 0; }
 .tu-lofts-community, .tu-lofts-suites-section { padding-block: 2.75rem; }
}

/* One shared dark panel holds the history and compact native lightbox gallery. */
#building .tu-lofts-building-panel { padding: clamp(1.5rem,4vw,2.5rem); }
#building .tu-lofts-building-panel h2 { margin-block: 0 1.5rem; }
#building .tu-lofts-building-panel p { text-align: left; }
#building .tu-lofts-building-gallery { margin-top: 2rem; gap: .75rem; }
#building .tu-lofts-building-gallery .wp-block-image { aspect-ratio: 4 / 3; }
#building .tu-lofts-building-gallery .wp-block-image img { object-fit: cover; border-radius: 2px; }
@media(min-width:600px) and (max-width:899px) { #building .tu-lofts-building-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) { width: calc((100% - 1.5rem) / 3); } }
