/* Residence patterns — Figma dBOiYtwqTaoMnHbYjL2Zld / 6:1860.
 * Keep these overrides scoped so generic Gutflex patterns retain their styles. */
/* Shared homepage alignment, including sections formerly marked medium/narrow. */
body.home { --residence-container: 1152px; --residence-gutter: clamp(24px,6.19vw,96px); }
body.home .gutflex-residence.gutflex-section,
body.home .gutflex-offer .gutflex-offer-heading,
body.home .gutflex-residence.gutflex-hero,
body.home .gutflex-residence-footer { padding-inline: var(--residence-gutter); }
body.home .gutflex-section > .gutflex-container,
body.home .gutflex-hero > .wp-block-cover__inner-container { width: 100%; max-width: var(--residence-container); margin-inline: auto; }
body.home .gutflex-residence-header { padding-inline: clamp(24px,3.1vw,48px); }
body.home .gutflex-hero-stats { width: min(var(--residence-container),calc(100% - 2 * var(--residence-gutter))); }
.gutflex-residence {
 --residence-brand: #7a6f58; --residence-dark: #202320; --residence-accent: #9b8e6f;
 --residence-surface: #f4f6f4; --residence-border: #ddd8ce;
 --residence-text: var(--wp--preset--font-family--canela-deck);
 --residence-heading: var(--wp--preset--font-family--canela-deck);
 --residence-label: 'Left 21', var(--wp--preset--font-family--left-21);
 color: var(--residence-brand); background: white; font: 400 18px/1.44445 var(--residence-text);
}
.gutflex-residence.gutflex-section { padding: 112px clamp(20px,6.19vw,96px); }
/* Section backgrounds meet without WordPress's inherited block gaps. */
.wp-site-blocks .gutflex-main>*,
.wp-site-blocks .wp-block-post-content>.gutflex-main,
.wp-site-blocks .wp-block-post-content>.gutflex-section,
.wp-site-blocks .gutflex-main>.wp-block-post-content>*,
.wp-site-blocks .gutflex-floor-page>section,
.wp-site-blocks .gutflex-floor-page>footer{margin-block:0!important}
.gutflex-residence .gutflex-container { width: 100%; }
.gutflex-residence .gutflex-container h2 { margin-inline: 0 !important; }
.gutflex-residence h2 { font: 300 clamp(32px,3.1vw,48px)/1.12 var(--residence-heading); color: inherit; margin: 20px 0 28px; }
.gutflex-residence h3 { font-family: var(--residence-text); font-weight: 400; }
.gutflex-residence .is-style-eyebrow { display: flex; align-items: center; gap: 12px; color: inherit; font: 400 12px/16px var(--residence-label); letter-spacing: 2.64px; }
.gutflex-kicker-number { letter-spacing: 0; font-weight: 400; }
.gutflex-kicker-rule { width: 32px; height: 1px; background: currentColor; flex-shrink: 0; }
/* Offset Left 21 text by 2px to visually center its capitals within buttons. */
.gutflex-residence .wp-block-button__link { font: 400 12px/1.4 var(--residence-label); letter-spacing: 2px; text-transform: uppercase; border: 1px solid var(--residence-brand); border-radius: 0; padding: 12px 64px 8px; background: var(--residence-brand); color: white; }
.gutflex-residence .is-style-ghost .wp-block-button__link { background: transparent; border-color: white; min-height: 0; padding-block: 12px 8px; }
.gutflex-residence.gutflex-hero { min-height: 861px; padding: 120px clamp(20px,6.19vw,96px) 180px; align-items: center; background: var(--residence-dark); }
.gutflex-residence.gutflex-hero > .wp-block-cover__background { background: linear-gradient(115.7658deg,rgba(32,35,32,.9) 7.735%,rgba(32,35,32,.73) 45.774%,rgba(32,35,32,.15) 92.265%); }
/* Keep the editable Cover image; the gradient supplies all of its dimming. */
body.home .gutflex-residence.gutflex-hero > .wp-block-cover__background { background-image: linear-gradient(105deg,rgba(32,35,32,.90) 7.74%,rgba(32,35,32,.73) 45.77%,rgba(32,35,32,.15) 92.26%); background-color: transparent !important; opacity: 1; }
body.home .gutflex-residence.gutflex-hero > .wp-block-cover__image-background { object-fit: cover; object-position: 50% 50%; }
.gutflex-residence.gutflex-hero > .wp-block-cover__inner-container { position: static; }
.gutflex-residence .gutflex-hero-copy { max-width: 900px; }
.gutflex-residence .gutflex-hero-copy h1 { font: 100 clamp(40px,5.16vw,80px)/1.03 'Canela', Georgia, serif; letter-spacing: -1.2px; margin: 24px 0 28px; }
.gutflex-residence .gutflex-hero-copy mark,.gutflex-residence .gutflex-hero-copy .is-style-eyebrow { color: #968970; }
.gutflex-residence .gutflex-hero-copy .is-style-eyebrow { letter-spacing: 3.36px; }
.gutflex-residence .gutflex-hero-copy .is-style-eyebrow::before { content: ''; width: 40px; height: 1px; background: currentColor; flex-shrink: 0; }
.gutflex-residence .gutflex-hero-copy .gutflex-lead { font-size: 18px; line-height: 29.25px; color: white; margin-bottom: 36px; }
body.home .gutflex-residence .gutflex-hero-copy>.gutflex-lead{margin-inline:0!important;text-align:left}
.gutflex-residence .gutflex-hero-copy .wp-block-buttons { gap: 16px; }
.gutflex-hero-stats { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: min(1152px,calc(100% - 40px)); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); background: rgba(26,25,22,.55); backdrop-filter: blur(10px); border-top: 1px solid #ffffff24; }
.gutflex-hero-stats > .gutflex-hero-stat { margin: 0; padding: 24px 28px; }
.gutflex-hero-stat + .gutflex-hero-stat { border-left: 1px solid #ffffff1f; }
.gutflex-hero-stat p { margin: 6px 0 0; font-size: 15px; line-height: 16.5px; color: #ffffff99; }
.gutflex-hero-stat .gutflex-stat { margin: 0; font-size: 36px; line-height: 40px; color: white; }
.gutflex-v2-explanation .wp-block-columns { gap: 80px; }
.gutflex-v2-explanation .wp-block-column:first-child { flex-basis: 55%; }
.gutflex-v2-explanation .wp-block-column:last-child { flex-basis: 45%; }
.gutflex-v2-explanation .gutflex-badge-image { padding-bottom: 0; }
.gutflex-v2-explanation .gutflex-badge-image img { aspect-ratio: 482.41/520; }
.gutflex-v2-explanation .gutflex-badge { width: 179px; padding: 24px 28px; bottom: -24px; box-shadow: 0 20px 25px #0000001a,0 8px 10px #0000001a; }
.gutflex-v2-explanation .gutflex-badge .gutflex-stat { font-size: 36px; line-height: 40px; margin-bottom: 6px; }
.gutflex-v2-explanation .gutflex-badge p { font-size: 15px; line-height: 20px; }
.gutflex-v2-process { background: var(--residence-dark); color: var(--residence-accent); }
.gutflex-v2-process h2,.gutflex-v2-process h3,.gutflex-v2-process .gutflex-step-number { color: inherit; }
.gutflex-v2-process h2 { margin-bottom: 20px; }
.gutflex-residence .gutflex-process-intro { max-width: 672px !important; margin-inline: 0 !important; }
.gutflex-v2-process .gutflex-step-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--residence-accent); }
.gutflex-v2-process .gutflex-step { display: block; padding: 28px; background: var(--residence-dark); }
.gutflex-v2-process .gutflex-step-number { font-size: 30px; line-height: 30px; margin: 0 0 20px; }
.gutflex-v2-process .gutflex-step h3 { font-size: 18px; line-height: 1.16; margin: 0 0 10px; }
.gutflex-v2-process .gutflex-step p:not(.gutflex-step-number) { font-size: 15px; line-height: 22.75px; margin: 0; }
.gutflex-v2-benefits .gutflex-card-grid { gap: 1px; border: 1px solid var(--residence-border); border-radius: 4px; overflow: hidden; background: var(--residence-border); counter-reset: benefit; }
.gutflex-v2-benefits .is-style-benefit-card { border: 0; border-radius: 0; padding: 36px; position: relative; background: white; counter-increment: benefit; }
.gutflex-v2-benefits .is-style-benefit-card::before { display: none; }
.gutflex-v2-benefits .is-style-benefit-card::after { content: counter(benefit,decimal-leading-zero); position: absolute; right: 14px; top: -8px; color: rgba(122,111,88,.07); font: 80px/1 var(--residence-heading); pointer-events: none; }
.gutflex-v2-benefits .gutflex-benefit-icon { width: 30px; height: 30px; margin: 0 0 24px !important; }
.gutflex-v2-benefits .gutflex-benefit-icon img { width: auto; height: auto; max-width: none; border-radius: 0; }
.gutflex-v2-benefits h3 { font-size: 20px; line-height: 27.5px; color: #1a1916; margin-bottom: 12px; }
.gutflex-v2-benefits .is-style-benefit-card p { color: #7a7369; font-size: 15px; line-height: 22.75px; }
.gutflex-offer .gutflex-offer-heading { background: var(--residence-surface); padding: 112px clamp(20px,6.19vw,96px) 30px; }
.gutflex-offer-heading h2 { margin-bottom: 0; }
.gutflex-offer-visual { position: relative; aspect-ratio: 1551/794; overflow: hidden; margin: 0; }
.gutflex-offer .gutflex-offer-visual { margin-block: 0; }
.gf-language-switch{display:flex;gap:8px;align-items:center;font:400 12px/1.4 var(--residence-label,sans-serif);white-space:nowrap}
.gf-language-switch a{color:inherit;text-decoration:none;padding:6px 3px}.gf-language-switch a[aria-current]{text-decoration:underline;text-underline-offset:4px}
.gutflex-header-row:has(>.gf-language-switch){grid-template-columns:1fr auto auto auto}
@media(max-width:900px){.gutflex-header-row:has(>.gf-language-switch){grid-template-columns:1fr auto auto}}
body{--gf-topbar-height:37px;padding-top:var(--gf-topbar-height)}
.gf-topbar{position:fixed;top:var(--gutflex-admin-offset,0px);left:0;right:0;height:var(--gf-topbar-height);box-sizing:border-box;z-index:100001;background:#2a2f2b;color:#a29576;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 27px;font:400 14px/1.4 var(--residence-label,sans-serif)}
.gf-topbar a{color:inherit;text-decoration:none}.gf-topbar>span a{border-bottom:1px solid currentColor;padding-bottom:3px}.gf-topbar a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body.home .wp-site-blocks>.gutflex-header{top:calc(var(--gutflex-admin-offset,0px) + var(--gf-topbar-height))}
.wp-site-blocks>.gutflex-header{top:calc(var(--gutflex-admin-offset,0px) + var(--gf-topbar-height))}
html{scroll-padding-top:calc(var(--gutflex-header-height,80px) + var(--gf-topbar-height) + 48px)}
@media(max-width:700px){.gf-topbar{padding-inline:16px;font-size:12px;gap:12px}}
.gutflex-offer-visual figure { margin: 0; }
.gutflex-offer-photo { position: absolute; inset: 0; overflow: hidden; }
.gutflex-offer-photo img { position: absolute; width: 118.793%; height: 130.500%; max-width: none; left: .0202%; top: -19.672%; object-fit: fill; border-radius: 0; }
.gutflex-offer-label.gutflex-offer-sale { left: 35.322%; }
.gutflex-offer-label.gutflex-offer-sold { left: 82.558%; }
@media(max-width:781px) { .gutflex-offer-visual .gutflex-offer-label { transform: scale(.65); transform-origin: top left; } .gutflex-offer-label.gutflex-offer-sold { left: 81%; } }
.gutflex-offer-overlay { position: absolute; inset: 0; }
.gutflex-offer-visual .gutflex-building-map { position: absolute; inset: 0; width: 100%; height: 100%; margin:0; }
.gutflex-building-map a { cursor: pointer; }
.gutflex-building-map :is(polygon, path) { fill: #b8a37a; fill-opacity: 0; stroke: transparent; stroke-width: 3; vector-effect: non-scaling-stroke; transition: fill-opacity 180ms ease, stroke 180ms ease; }
.gutflex-building-map a:hover :is(polygon, path),
.gutflex-building-map a:focus :is(polygon, path),
.gutflex-building-map a:active :is(polygon, path) { fill-opacity: .32; stroke: #fff; }
.gutflex-building-map a:focus { outline: none; }
.gutflex-building-map .gutflex-floor-target.is-unavailable{cursor:default;outline:none}
.gutflex-building-map .gutflex-floor-target.is-unavailable:hover path,.gutflex-building-map .gutflex-floor-target.is-unavailable:focus path{fill:#492620;fill-opacity:.45;stroke:none}
.gutflex-building-popover{position:absolute;z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:36px;width:360px;max-width:calc(100% - 16px);box-sizing:border-box;padding:22px 16px;background:#7d735b;color:#fff;pointer-events:none}
.gutflex-building-popover[hidden]{display:none}.gutflex-building-popover>div{display:grid;gap:6px}.gutflex-building-popover strong{font:400 17px/1.2 var(--residence-heading,serif)}.gutflex-building-popover span{font:400 12px/1.4 var(--residence-label,sans-serif)}.gutflex-building-popover.is-unavailable{background:#77746f}
.gutflex-offer-visual .gutflex-offer-label { z-index: 1; margin: 0; }
.gutflex-offer-label a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.gutflex-offer-visual:has(.gutflex-offer-label:not(.gutflex-offer-sale) a:hover) .gutflex-building-map .gutflex-building-1 path,
.gutflex-offer-visual:has(.gutflex-offer-label:not(.gutflex-offer-sale) a:focus-visible) .gutflex-building-map .gutflex-building-1 path,
.gutflex-offer-visual:has(.gutflex-offer-sale a:hover) .gutflex-building-map .gutflex-building-2 path,
.gutflex-offer-visual:has(.gutflex-offer-sale a:focus-visible) .gutflex-building-map .gutflex-building-2 path { fill-opacity: .32; stroke: #fff; }
@media (prefers-reduced-motion: reduce) { .gutflex-building-map :is(polygon, path) { transition: none; } }
.gutflex-offer-overlay img { display: block; max-width: 100%; height: auto; border-radius: 0; }
.gutflex-offer-label { position: absolute; left: 5.664%; top: 8%; display: flex; flex-direction: column; align-items: center; filter: drop-shadow(0 0 5.5px #0000001a); }
.gutflex-offer-label p { margin: 0; padding: 8.8px 17.6px; }
.gutflex-offer-label a { color: inherit; text-decoration: none; }
.gutflex-offer-phase { background: var(--residence-brand); color: white; font: 13.2px/20.68px var(--residence-label); letter-spacing: 2.2px; }
.gutflex-offer-caption { background: white; font-size: 16.5px; line-height: 25.3px; letter-spacing: .55px; }
.gutflex-offer-label::after { content: ''; width: 1px; height: clamp(32px,6.8vw,106px); background: white; }
.gutflex-v2-suitability.gutflex-section,.gutflex-v2-comparison.gutflex-section,.gutflex-v2-faq.gutflex-section,.gutflex-v2-registration.gutflex-section { padding-block: 96px; }
.gutflex-v2-suitability .is-style-checklist { font-size: 15px; line-height: 22.75px; color: inherit; margin-top: 32px; }
.gutflex-v2-suitability .is-style-checklist li { margin-block: 12px; }
.gutflex-v2-suitability .gutflex-suitability-image { overflow: hidden; aspect-ratio: 544/520; border-radius: 4px; position: relative; }
.gutflex-v2-suitability .gutflex-suitability-image img { position: absolute; height: 100%; width: 169.93%; max-width: none; left: -21.59%; object-fit: fill; aspect-ratio: auto; }
.gutflex-v2-suitability,.gutflex-v2-faq { background: var(--residence-surface); }
.gutflex-v2-comparison { background: white; }
.gutflex-v2-comparison h2 { max-width: 672px !important; }
.gutflex-v2-comparison .is-style-comparison th { font-size: 12px; font-family: var(--residence-text); letter-spacing: .6px; }
.gutflex-v2-comparison .is-style-comparison th,.gutflex-v2-comparison .is-style-comparison td { padding: 16px; font-weight: 400; color: #1a1916; }
.gutflex-v2-comparison .is-style-comparison td:nth-child(2) { border-left: 0; color: #1a1916; }
.gutflex-v2-comparison .is-style-comparison tbody th { font-size: 15px; }
.gutflex-v2-comparison .is-style-comparison tr:nth-child(even) { background: #ffffffcf; }
.gutflex-v2-faq h2 { font-size: clamp(32px,2.7vw,41.6px); }
body.home .gutflex-v2-faq .gutflex-faq-list > .wp-block-details { width: 100%; max-width: none; margin-inline: 0; }
.gutflex-v2-faq summary { font: 300 18px/26px var(--residence-text); }
.gutflex-v2-faq .wp-block-details > :not(summary) { font-family: var(--residence-text); font-weight: 300; }
.gutflex-v2-faq .gutflex-faq-list summary::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(var(--residence-brand),var(--residence-brand)) center / 10px 2px no-repeat, #7a6f5814; }
.gutflex-v2-faq .gutflex-faq-list summary::before { content: ''; position: absolute; right: 11px; top: 50%; width: 2px; height: 10px; background: var(--residence-brand); transform: translateY(-50%) rotate(0deg); transition: transform 200ms ease, opacity 200ms ease; }
.gutflex-v2-faq .gutflex-faq-list details[open] summary::before { transform: translateY(-50%) rotate(90deg); opacity: 0; }
.gutflex-v2-faq .gutflex-faq-list details[open] summary::after { content: ''; }
@media (prefers-reduced-motion: reduce) { .gutflex-v2-faq .gutflex-faq-list summary::before { transition: none; } }
.gutflex-v2-registration { background: var(--residence-brand); color: white; }
.gutflex-v2-registration h2 { font-size: 35.2px; line-height: 40.48px; margin-bottom: 20px; }
.gutflex-v2-registration .gutflex-small { font-size: 15px; line-height: 19.5px; margin-top: 24px; }
.gutflex-v2-registration .gutflex-form { background: white; color: #7a7369; border: 1px solid #ddd8ce; border-radius: 0; box-shadow: 0 12px 18px #00000026; font-family: var(--residence-label); font-weight: 400; }
.gutflex-v2-registration .gutflex-form input:not([type=checkbox]):not([type=submit]),.gutflex-v2-registration .gutflex-form select { color: #7a7369; background: white; border-radius: 0; font-size: 15px; }
.gutflex-v2-registration .gutflex-form input::placeholder { color: #a89e94; }
.gutflex-v2-registration .gutflex-form label,.gutflex-v2-registration .gutflex-form legend { font-weight: 400; letter-spacing: 1.2px; text-transform: uppercase; }
.gutflex-v2-registration .gutflex-form .wpcf7-list-item label { font-size: 12px; letter-spacing: 0; text-transform: none; padding: 8px 12px; border-radius: 0; }
.gutflex-v2-registration .gutflex-form .wpcf7-list-item label:has(input:checked) { color: white; background: var(--residence-brand); }
.gutflex-v2-registration .gutflex-form input[type=submit] { min-height: 39px; padding: 12px 10px 8px; font: 400 12px/17px var(--residence-label); text-transform: uppercase; letter-spacing: 2px; border-radius: 0; }
.gutflex-v2-registration .gutflex-form a,.gutflex-v2-registration .gutflex-form .wpcf7-response-output { color: inherit; }
.gutflex-v2-registration .gutflex-form .wpcf7-not-valid-tip { color: #9c2525; }
.gutflex-v2-registration .gutflex-form [aria-invalid=true] { outline-color: #9c2525; }
.gutflex-residence-header { background: transparent; padding: 16px 48px; color: white; font-family: var(--residence-label); font-weight: 400; }
.gutflex-residence-header .wp-block-button__link,.gutflex-residence-header .is-style-ghost .wp-block-button__link { padding: 14px 28px 10px; }
.gutflex-residence-header .wp-block-navigation { font-family: var(--residence-label); font-weight: 400; text-transform: uppercase; }
.gutflex-residence-footer { background: #1f2320; padding: 48px clamp(20px,6.19vw,96px) 32px; font: 15px/20px var(--residence-label); text-transform: uppercase; letter-spacing: 1.68px; }
.gutflex-main>footer.wp-block-group,.gutflex-floor-page>footer.wp-block-group,.wp-site-blocks>footer,.gutflex-residence-footer{margin-block-start:0}
.gutflex-residence-footer > .gutflex-container { width: 100%; max-width: none; margin: auto; }
.gutflex-residence-footer a { color: inherit; text-decoration: none; }
.gutflex-residence-footer a:hover { text-decoration: underline; }
.gutflex-residence-footer-top { display: flex; justify-content: space-between; gap: 24px; }
.gutflex-residence-footer-top p { margin: 0; font-size: 12px; }
.gutflex-residence-footer-middle { position: relative; margin: 0; padding-top: 40px; min-height: 232px; }
.gutflex-footer-address p { margin: 0; }
.gutflex-footer-address > p:last-child { margin-top: 24px; }
.gutflex-map-link { display: flex; gap: 8px; align-items: center; margin-top: 24px; }
.gutflex-map-link > * { margin: 0; }
.gutflex-map-icon { display: flex; align-items: center; flex: 0 0 15px; width: 15px; height: 15px; line-height: 0; }
.gutflex-map-icon img { display: block; width: 100%; height: 100%; object-fit: contain; max-width: none; }
.gutflex-residence-footer .gutflex-map-icon { position: relative; top: -2px; }
.gutflex-alto-logo { position: absolute; left: 50%; transform: translateX(-50%); top: 148px; margin: 0; padding: 4.983px 5.22px 5.257px; width: 112px; }
.gutflex-alto-logo img { max-width: none; mask: url('images/figma-v2/57af6.svg') left top/101.56px 53.76px no-repeat; }
.gutflex-residence-footer-bottom { display: flex; justify-content: center; flex-wrap: wrap; gap: 40px; padding-top: 24px; margin-top: 40px; border-top: 1px solid #9b8e6f40; }
.gutflex-residence-footer-bottom p { margin: 0; font-size: 11.2px; line-height: 16.8px; letter-spacing: 1.792px; }
@media(max-width:1100px) {
 .gutflex-v2-process .gutflex-step-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gutflex-v2-benefits .gutflex-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gutflex-v2-explanation .wp-block-columns { gap: 40px; }
 .gutflex-residence .wp-block-button__link { padding-inline: 28px; }
}
@media(max-width:781px) {
 .gutflex-residence.gutflex-section,.gutflex-offer .gutflex-offer-heading { padding: 64px 24px; }
 .gutflex-residence.gutflex-hero { min-height: 760px; padding: 140px 24px 210px; }
 .gutflex-residence .gutflex-hero-copy h1 { font-size: clamp(36px,7.8vw,60px); }
 .gutflex-residence .gutflex-hero-copy .is-style-eyebrow { font-size: 10px; letter-spacing: 1.7px; }
 .gutflex-hero-stats { width: calc(100% - 48px); }
 .gutflex-hero-stats > .gutflex-hero-stat { padding: 20px 10px; }
 .gutflex-hero-stat .gutflex-stat { font-size: clamp(19px,4vw,30px); line-height: 1.2; }
 .gutflex-hero-stat p { font-size: 12px; line-height: 1.4; }
 .gutflex-v2-explanation .gutflex-badge { position: absolute; bottom: -24px; left: -12px; }
 .gutflex-v2-suitability .wp-block-columns { gap: 32px; }
 .gutflex-residence h2 { overflow-wrap: normal; }
 .gutflex-offer .gutflex-offer-heading { padding-bottom: 30px; }
 .gutflex-offer-phase { font-size: 10px; line-height: 14px; }
 .gutflex-offer-caption { font-size: 12px; line-height: 16px; }
 .gutflex-offer-label p { padding: 5px 8px; }
 .gutflex-residence-header { padding-inline: 24px; }
 .gutflex-residence-footer-top { flex-wrap: wrap; }
 .gutflex-alto-logo { position: relative; top: auto; left: auto; transform: none; margin: 32px 0 0; }
 .gutflex-residence-footer-bottom { gap: 16px 24px; justify-content: flex-start; }
}
@media(max-width:540px) {
 .gutflex-v2-process .gutflex-step-grid,.gutflex-v2-benefits .gutflex-card-grid { grid-template-columns: 1fr; }
 .gutflex-v2-benefits .is-style-benefit-card { padding: 28px; }
 .gutflex-residence .gutflex-hero-copy .wp-block-buttons { align-items: stretch; flex-direction: column; }
 .gutflex-residence .gutflex-hero-copy .wp-block-button__link { width: 100%; }
}

/* Shared template header overlays the homepage hero. */
body.home .wp-site-blocks > .gutflex-header { position: fixed; inset: var(--gutflex-admin-offset, 0px) 0 auto; background: transparent; }
.wp-site-blocks > .gutflex-header { position: sticky; top: var(--gutflex-admin-offset, 0px); z-index: 100; }
body.admin-bar { --gutflex-admin-offset: 32px; }
html { scroll-padding-top: calc(var(--gutflex-header-height, 80px) + 48px); }
body.home .wp-site-blocks > .gutflex-header.is-scrolled {
 background: rgba(255,255,255,.96);
 backdrop-filter: blur(8px);
 box-shadow: 0 2px 12px #0000000d;
}
body.home .gutflex-header.is-scrolled .gutflex-residence-header { color: var(--residence-brand); }
@media (max-width: 782px) { body.admin-bar { --gutflex-admin-offset: 46px; } }
@media (max-width: 600px) { body.admin-bar { --gutflex-admin-offset: 0px; } }
.wp-site-blocks > .gutflex-header + main { margin-block-start: 0; }
/* Floor and apartment details share the header content, with a light appearance. */
.wp-site-blocks:has(.gutflex-floor-page) > .gutflex-header {
 background: rgba(255,255,255,.9);
 backdrop-filter: blur(8px);
}
.wp-site-blocks:has(.gutflex-floor-page) > .gutflex-header .gutflex-residence-header {
 color: var(--residence-brand);
}
/* A backdrop filter contains fixed descendants; release the full-screen menu. */
body.home .wp-site-blocks > .gutflex-header:has(.is-menu-open),
.wp-site-blocks:has(.gutflex-floor-page) > .gutflex-header:has(.is-menu-open) {
 backdrop-filter: none;
 z-index: 100000;
}
@media (max-width: 1000px) {
 .gutflex-header .gutflex-header-row { grid-template-columns: 1fr auto; }
 .gutflex-header .gutflex-header-row>.wp-block-buttons { display:none; }
 .gutflex-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 .gutflex-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; top:calc(var(--gutflex-admin-offset,0px) + var(--gf-topbar-height,37px)); }
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  box-sizing: border-box;
  min-height: calc(100dvh - 48px - var(--gf-topbar-height,37px) - var(--gutflex-admin-offset,0px));
  padding-block: 48px;
  justify-content: center;
 }
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
  align-items: center;
  text-align: center;
 }
}
.gutflex-header .wp-block-navigation .gutflex-mobile-menu-action{display:none}
@media(min-width:1001px){.gutflex-header .gutflex-mobile-menu-action{display:none!important}}
@media(max-width:1000px){.gutflex-header .is-menu-open .gutflex-mobile-menu-action{display:flex;justify-content:center;margin-top:32px}.gutflex-header .gutflex-mobile-menu-action .wp-block-button__link{background:#7d735b;color:#fff}}

/* Keep the shared header below the fixed project bar. */
body.home .wp-site-blocks>.gutflex-header,.wp-site-blocks>.gutflex-header{top:calc(var(--gutflex-admin-offset,0px) + var(--gf-topbar-height,37px))}
html{scroll-padding-top:calc(var(--gutflex-header-height,80px) + var(--gf-topbar-height,37px) + 48px)}
.wp-site-blocks>.gutflex-header{width:100%;max-width:none;box-sizing:border-box}
.gutflex-header .gutflex-header-row.gutflex-residence-header{width:100%;max-width:none;box-sizing:border-box;margin-inline:0;padding-inline:27px}
.gutflex-header .gutflex-header-row>.gutflex-logo{justify-self:start;margin-inline:0!important;width:136px}
@media(max-width:700px){.gutflex-header .gutflex-header-row.gutflex-residence-header{padding-inline:16px}}
@media(max-width:1000px){
 .gutflex-header .gutflex-header-row{grid-template-columns:minmax(0,1fr) auto}
 .gutflex-header .gutflex-header-row>.wp-block-navigation{justify-self:end}
 .gutflex-header .wp-block-navigation__responsive-container-open,
 .gutflex-header .wp-block-navigation__responsive-container-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
 .gutflex-header .wp-block-navigation__responsive-container.is-menu-open{padding-inline:27px}
}
@media(max-width:700px){.gutflex-header .wp-block-navigation__responsive-container.is-menu-open{padding-inline:16px}}

.gutflex-building-popover.is-project:not([hidden]){display:block;width:320px}.gutflex-building-popover>div[hidden],.gutflex-building-popover>span[hidden]{display:none}

@media(max-width:700px){
 .gutflex-residence-footer{text-align:center}
 .gutflex-residence-footer-top{flex-direction:column;align-items:center}
 .gutflex-residence-footer-bottom,.gutflex-residence-footer .gutflex-map-link{justify-content:center}
 .gutflex-residence-footer .gutflex-alto-logo{margin:32px auto 32px}
}
