/* RealtyInter: layout, components and responsive styles. */

@font-face {

  font-family: 'Poppins';

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url(../fonts/poppins-latin-ext-400-normal.woff2) format('woff2');

  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;

}

@font-face {

  font-family: 'Poppins';

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url(../fonts/poppins-latin-400-normal.woff2) format('woff2');

  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;

}

@font-face {

  font-family: 'Poppins';

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url(../fonts/poppins-latin-ext-600-normal.woff2) format('woff2');

  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;

}

@font-face {

  font-family: 'Poppins';

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url(../fonts/poppins-latin-600-normal.woff2) format('woff2');

  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;

}

:root{--ink:#203d47;--muted:#586d75;--teal:#347e88;--gold:#bf8e48;--line:#d6e1e4;--clouds:radial-gradient(ellipse at 27% 90%,#e2eff1b0 0%,transparent 36%),radial-gradient(ellipse at 62% 0%,#f5fbffc2 0%,transparent 34%),radial-gradient(ellipse at 83% 110%,#558ea879 0%,transparent 48%),linear-gradient(112deg,#81acbe 0%,#a4c9d6 37%,#80aebe 65%,#a8ccd9 100%)}

*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;font:14px/1.8 Poppins,Arial,sans-serif;color:var(--ink);background:#fff}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin:0 0 17px}h1,h2,h3{line-height:1.18;font-weight:400;letter-spacing:-.035em}.wrap{width:min(1320px,calc(100% - 80px));margin-inline:auto}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.skip-link{position:absolute;top:-100px;left:20px;background:white;color:black;padding:12px;z-index:20}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid #ca983e;outline-offset:5px}.masthead{background:var(--clouds);position:relative;isolation:isolate;overflow:hidden}.masthead:before{content:'';position:absolute;inset:-70px;z-index:-1;background:radial-gradient(ellipse at 43% 45%,#f9feffc0 0%,transparent 27%),radial-gradient(ellipse at 12% 80%,#3b779977 0%,transparent 25%),radial-gradient(ellipse at 78% 15%,#ecf7ff99 0%,transparent 29%);filter:blur(28px)}.header-main{display:flex;align-items:center;gap:35px;min-height:133px;padding-block:22px}.brand{flex-shrink:0;mix-blend-mode:normal}.brand img{width:290px}.header-right{margin-left:auto;display:flex;align-items:center;gap:33px}.header-contact{text-align:right}.web-address{display:block;font-size:15px;letter-spacing:.17em;font-weight:600;margin-bottom:3px}.header-contact a{display:block;font-size:12px;line-height:1.85;text-decoration:none}.header-contact .telephone{font-size:18px;letter-spacing:.04em}.brokerage-top{border-left:1px solid #35607359;padding:9px 0 9px 27px}.brokerage-top img{width:177px;mix-blend-mode:multiply}.brokerage-top span{display:block;font-size:9px;text-align:center;letter-spacing:.13em;margin-top:8px}.navigation{background:#101516;color:#b2d4dc}.nav-row{display:flex;align-items:center;justify-content:center;min-height:56px}.main-nav{display:flex;align-items:center;justify-content:center;gap:43px}.main-nav a{font-size:11px;font-weight:600;text-decoration:none;letter-spacing:.045em;padding:16px 0;white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current]{color:white}.main-nav a[aria-current]{box-shadow:inset 0 -2px #8ebac6}.nav-search span{color:#a2c7ce;margin-left:9px}.menu-button{display:none;background:transparent;border:1px solid #6a8c95;color:white;padding:7px 12px}.mobile-label{display:none}.flag-bar{background:#1b2427;color:#a7bec4;border-top:1px solid #394549}.flag-row{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:47px}.flag-label{font-size:9px;letter-spacing:.06em}.flags{display:flex;gap:9px;align-items:center}.flags a{display:grid;place-items:center;min-height:38px;width:32px}.flags img{width:26px;height:26px;object-fit:contain}.flags a:hover{background:#354348}.heritage-hero{position:relative;display:grid;grid-template-columns:62% 38%;min-height:350px;background:#c79b5b}.hero-scene{position:relative;min-height:350px;overflow:hidden}.hero-scene>img,.hero-scene>.responsive-picture>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-scene:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#072d4057)}.scene-label{position:absolute;bottom:19px;left:max(40px,calc((100vw - 1320px)/2));color:white;font-size:9px;letter-spacing:.2em;text-transform:uppercase;z-index:1}.hero-identity{background:linear-gradient(120deg,#bf8e48,#d0a765);display:flex;flex-direction:column;justify-content:space-between;min-width:0}.identity-top{padding:31px max(30px,calc((100vw - 1320px)/2)) 23px 57px}.identity-top .eyebrow{color:#fff8ea;font-size:9px;margin-bottom:13px}.identity-top .hero-slogan{font-size:clamp(29px,3.1vw,46px);color:#fffaf1;margin-bottom:12px}.identity-top .tagline{color:#fcf7ef;font-size:13px;line-height:1.65;max-width:280px;margin:0}.identity-bottom{background:#ecd4ac;border-top:2px solid #f9f3e9;padding:18px max(30px,calc((100vw - 1320px)/2)) 18px 57px}.identity-bottom .identity-name{font-size:clamp(23px,2.25vw,33px);letter-spacing:.01em;margin:0 0 7px;white-space:nowrap}.identity-bottom .identity-role{font-size:9px;letter-spacing:.035em;margin:0}.hero-portrait{position:absolute;bottom:0;left:calc(62% - 242px);width:290px;height:326px;object-fit:contain;object-position:bottom;z-index:2}.intro-area{padding:45px 0 40px}.overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.62fr) minmax(0,1fr);gap:42px;align-items:start}.intro-copy .eyebrow{color:var(--teal);font-size:9px;margin-bottom:13px}.intro-copy h2{font-size:29px;margin-bottom:18px}.intro-copy p{font-size:12px;line-height:1.85}.intro-copy p a{color:#286b78}.property-types{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px;padding:0;list-style:none;margin:20px 0 23px}.property-types li{font-size:10px;padding-left:13px;position:relative}.property-types li:before{content:'';width:4px;height:4px;background:var(--teal);position:absolute;left:0;top:7px}.text-link{font-size:11px;font-weight:600;color:#276c77;text-decoration:none;display:inline-block;border-bottom:1px solid #90b9c0;padding-bottom:4px}.transaction-links{display:flex;flex-direction:column;gap:22px;padding-top:5px}.transaction{display:block;text-decoration:none}.transaction-image{width:100%;height:100px;object-fit:cover;border-radius:3px}.transaction h3{font-size:17px;letter-spacing:-.02em;display:flex;justify-content:space-between;margin:11px 0 3px;color:#276c77}.transaction p{font-size:10px;color:var(--muted);line-height:1.5;margin:0}.transaction:hover h3{color:#102a31}.search-card{background:#e8f1f3;border:1px solid #c8dce1;border-top:4px solid #7baaba;padding:24px 24px 22px;border-radius:0 0 4px 4px}.search-card .eyebrow{font-size:8px;color:#476f7b;margin-bottom:13px;letter-spacing:.09em}.search-card h2{font-size:30px;color:#284d5a;line-height:1.13}.search-card p{font-size:11px;color:#47656e;margin-bottom:20px}.search-card .search-cities{font-size:10px;line-height:1.8;margin:19px 0 0}.button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#2c6e7c;color:white;min-height:48px;padding:12px 17px;text-decoration:none;font-size:12px;font-weight:600}.button:hover{background:#235866}.search-card .english-search{display:block;text-align:center;font-size:10px;color:#3c6d78;margin-top:13px}.contact-band{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;align-items:center;gap:22px}.contact-band h2{font-size:20px;margin:0 0 4px}.contact-band p{font-size:10px;margin:0;color:var(--muted)}.contact-options{display:flex;align-items:center;gap:25px}.contact-options a{font-size:11px;text-decoration:none;color:#276c77}.contact-options .phone{font-size:20px;letter-spacing:-.02em;color:#213f4b}.footer-blue{background:var(--clouds);padding-block:25px}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px}.footer-row strong{display:block;font-size:18px;letter-spacing:.02em;font-weight:400}.footer-row p{font-size:10px;margin:3px 0 0}.footer-row address{font-style:normal;font-size:10px;line-height:1.8}.footer-mark{width:155px;mix-blend-mode:multiply}.footer-dark{background:#11191c;color:#bad0d6;padding-block:18px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:9px}.footer-bottom nav{display:flex;gap:22px}.footer-bottom a{text-decoration:none}

@media(min-width:1600px){.heritage-hero{grid-template-columns:60% 40%}.hero-portrait{left:calc(60% - 220px);width:320px;height:345px}.identity-top,.identity-bottom{padding-left:120px}}

@media(max-width:1100px){.wrap{width:calc(100% - 52px)}.header-main{gap:20px}.brand img{width:248px}.header-right{gap:20px}.brokerage-top{padding-left:20px}.brokerage-top img{width:145px}.main-nav{gap:30px}.flag-label{font-size:8px}.flags{gap:5px}.heritage-hero{grid-template-columns:59% 41%}.hero-portrait{left:calc(59% - 210px);width:250px;height:310px}.identity-top,.identity-bottom{padding-left:47px;padding-right:25px}.identity-top .hero-slogan{font-size:36px}.identity-bottom .identity-name{font-size:27px}.overview{gap:28px;grid-template-columns:1.35fr .65fr 1fr}.search-card{padding:20px 18px}.search-card h2{font-size:27px}.contact-options{gap:18px}.contact-options .phone{font-size:18px}}

@media(max-width:820px){.header-main{min-height:112px;padding-block:20px}.brand img{width:220px}.brokerage-top{display:none}.header-contact .web-address{font-size:12px}.header-contact .telephone{font-size:16px}.header-contact a{font-size:11px}.nav-row{min-height:48px;flex-wrap:wrap;justify-content:space-between;padding-block:8px}.mobile-label{display:block;font-size:10px;letter-spacing:.08em}.menu-button{display:block;font-size:11px}.main-nav{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:6px 26px;padding-top:10px}.main-nav a{font-size:11px;padding:8px 0}.js .main-nav{display:none}.js .main-nav.is-open{display:flex}.flag-label{display:none}.flag-row{justify-content:center}.flags{gap:5px;flex-wrap:wrap;justify-content:center}.flags a{width:31px}.heritage-hero{grid-template-columns:54% 46%;min-height:315px}.hero-scene{min-height:315px}.hero-portrait{left:calc(54% - 170px);width:210px;height:285px}.identity-top,.identity-bottom{padding-left:48px;padding-right:20px}.identity-top{padding-top:24px}.identity-top .hero-slogan{font-size:30px}.identity-top .tagline{font-size:11px}.identity-bottom .identity-name{font-size:23px}.identity-bottom .identity-role{font-size:8px}.scene-label{left:26px;max-width:200px;line-height:1.7}.overview{grid-template-columns:1fr 1fr;gap:30px}.intro-copy{grid-column:1/-1}.intro-copy p{font-size:13px}.transaction-links{padding-top:0}.transaction-image{height:115px}.search-card{align-self:stretch}.search-card h2{font-size:32px}.property-types{font-size:12px}.contact-band{align-items:flex-start;flex-direction:column;gap:15px}.footer-row{gap:20px}.footer-mark{width:130px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9px}}

@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header-main{min-height:140px;align-items:center;flex-direction:column;gap:10px;padding-block:19px 15px}.brand img{width:236px}.header-right{margin:0;width:100%;justify-content:center}.header-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 15px}.header-contact .web-address{display:none}.header-contact a{font-size:10px}.header-contact .telephone{font-size:12px;letter-spacing:0}.flag-row{padding-block:5px}.flags{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;gap:0}.flags a{width:100%;min-height:30px}.flags img{width:23px;height:23px}.heritage-hero{display:block;min-height:0}.hero-scene{min-height:200px}.hero-scene>img,.hero-scene>.responsive-picture>img{object-position:center 61%}.scene-label{left:18px;bottom:15px;font-size:8px;max-width:230px}.hero-identity{min-height:255px}.identity-top{padding:24px 155px 15px 20px;min-height:169px}.identity-top .eyebrow{font-size:8px;margin-bottom:11px;letter-spacing:.07em}.identity-top .hero-slogan{font-size:29px;margin-bottom:9px}.identity-top .tagline{font-size:10px}.identity-bottom{padding:15px 20px;min-height:86px;position:relative;z-index:3;background:#ecd4acf2}.identity-bottom .identity-name{font-size:25px;white-space:normal}.identity-bottom .identity-role{font-size:9px}.hero-portrait{left:auto;right:-1px;bottom:79px;width:175px;height:220px}.intro-area{padding-top:30px;padding-bottom:14px}.overview{gap:25px 18px}.intro-copy h2{font-size:28px}.intro-copy p{font-size:12px}.property-types li{font-size:10px}.transaction-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px}.transaction-image{height:105px}.transaction h3{font-size:16px}.transaction p{font-size:10px}.search-card{grid-column:1/-1;padding:23px}.search-card h2{font-size:31px}.search-card p{font-size:12px}.search-card .eyebrow{font-size:8px}.contact-band{padding-block:25px;gap:16px}.contact-band h2{font-size:22px}.contact-options{flex-wrap:wrap;gap:10px 20px}.contact-options .phone{width:100%;font-size:24px}.footer-row{align-items:flex-start;flex-direction:column;gap:20px}.footer-row address{font-size:11px}.footer-mark{width:160px}.footer-bottom{font-size:9px}.footer-bottom nav{gap:10px 18px;flex-wrap:wrap}}

@media(max-width:360px){.brand img{width:218px}.identity-top{padding-right:132px}.identity-top .hero-slogan{font-size:26px}.hero-portrait{width:153px;height:205px}.identity-top .tagline{font-size:9px}.identity-bottom .identity-name{font-size:24px}.transaction-image{height:88px}.transaction h3{font-size:14px}.property-types{grid-template-columns:1fr}.contact-options .phone{font-size:22px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brokerage-top img,.footer-mark{filter:brightness(0);opacity:.8}@media(max-width:600px){.hero-portrait{right:0}}

/* Preview 5: exact 62 / 38 composition, portrait centered on the seam. */

.heritage-hero{grid-template-columns:62% 38%}

.hero-portrait{left:62%;right:auto;transform:translateX(-50%)}

.identity-top,.identity-bottom{padding-left:165px}

.identity-bottom .identity-name{white-space:normal}

@media(min-width:1600px){.heritage-hero{grid-template-columns:62% 38%}.hero-portrait{left:62%}.identity-top,.identity-bottom{padding-left:180px}}

@media(max-width:1100px){.heritage-hero{grid-template-columns:62% 38%}.hero-portrait{left:62%}.identity-top,.identity-bottom{padding-left:145px}.identity-top .hero-slogan{font-size:32px}.identity-bottom .identity-name{font-size:25px}}

@media(max-width:820px){.heritage-hero{grid-template-columns:62% 38%}.hero-portrait{left:62%}.identity-top,.identity-bottom{padding-left:120px;padding-right:16px}.identity-top .hero-slogan{font-size:27px}.identity-bottom .identity-name{font-size:22px}}

@media(max-width:600px){.heritage-hero{display:grid;grid-template-columns:62% 38%;min-height:0}.heritage-hero:before{content:'';grid-column:2;grid-row:1;background:linear-gradient(120deg,#bf8e48,#d0a765)}.hero-scene{grid-column:1;grid-row:1;min-height:205px}.hero-identity{grid-column:1/-1;grid-row:2;min-height:0}.hero-portrait{left:62%;right:auto;top:8px;bottom:auto;transform:translateX(-50%);width:175px;height:197px}.scene-label{font-size:7px;max-width:130px;left:18px}.identity-top{padding:21px 22px;min-height:0}.identity-top .hero-slogan{font-size:31px}.identity-top .hero-slogan br{display:none}.identity-top .hero-slogan br:after{content:' '}.identity-top .tagline{font-size:11px;max-width:none}.identity-bottom{padding:15px 22px;min-height:0}.identity-bottom .identity-name{font-size:26px}.identity-bottom .identity-role{font-size:9px}}

@media(max-width:360px){.hero-portrait{width:153px}.identity-top .hero-slogan{font-size:28px}.identity-bottom .identity-name{font-size:25px}}

/* Full-width panorama with translucent gold overlays; portrait stays opaque. */

.hero-scene{position:absolute;inset:0;min-height:0}

.hero-identity{grid-column:2;grid-row:1;position:relative;z-index:1;background:transparent}

.identity-top{flex:1;background:linear-gradient(120deg,rgba(191,142,72,.76),rgba(208,167,101,.76))}

.identity-bottom{background:rgba(236,212,172,.82);border-top-color:rgba(249,243,233,.8)}

.hero-portrait{opacity:1;z-index:2}

@media(max-width:600px){

 .heritage-hero{grid-template-rows:205px auto}

 .heritage-hero:before{position:relative;z-index:1;background:linear-gradient(120deg,rgba(191,142,72,.76),rgba(208,167,101,.76))}

 .hero-scene{grid-column:auto;grid-row:auto;min-height:0}

 .hero-identity{grid-column:1/-1;grid-row:2}

 .scene-label{top:174px;bottom:auto}

}

/* Soft frosted gold: blur the panorama behind the panels, not text or portrait. */

.identity-top,.identity-bottom{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

@media(max-width:600px){.heritage-hero:before{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}

/* Original banner composition: staggered slogan, large map and prominent name. */

.hero-identity{container-type:inline-size;display:grid;grid-template-rows:62% 38%;justify-content:normal}

.identity-top{position:relative;display:block;padding:0;min-height:0}

.identity-top .hero-slogan{position:absolute;inset:0;display:block;margin:0;font-family:Poppins,Arial,sans-serif;font-size:5.3cqw;font-weight:400;line-height:1.2;text-align:left;letter-spacing:0}

.identity-top .hero-slogan>span{position:absolute;display:block;white-space:nowrap}

.identity-top .hero-slogan .slogan-first{left:17.4cqw;top:8.4cqw}

.identity-top .hero-slogan .slogan-second{left:20.2cqw;top:15.7cqw}

.identity-top .hero-slogan .slogan-third{left:35cqw;top:22.7cqw}

.identity-top .hero-slogan small{font-size:70%}

.identity-top .hero-slogan sup{font-size:50%;line-height:0;vertical-align:super}

.florida-map{position:absolute;left:66.4cqw;top:2.8cqw;width:30.8cqw;height:30.8cqw}

.florida-map{object-fit:contain;object-position:center}

/* Lower original panel: left-aligned name, full-width rule, right-aligned title. */

.identity-bottom{position:relative;display:block;padding:4.2cqw 5.6cqw 0 29cqw;min-height:0;text-align:left;color:#111}

.identity-bottom h1{margin:0}
.identity-bottom .identity-name,.identity-bottom .identity-role{display:block}

.identity-bottom .identity-name{font-family:Poppins,Arial,sans-serif;font-size:7.3cqw;line-height:1.2;font-weight:400;font-variant:small-caps;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.3cqw;white-space:nowrap;margin:0}

.identity-bottom .identity-role{font-size:3.35cqw;line-height:1.2;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;text-align:right;margin:.9cqw 0 0}

@media(max-width:600px){.hero-identity{aspect-ratio:357/210;min-height:0}.identity-bottom{padding-left:24.1cqw}.identity-top .hero-slogan{font-size:5.3cqw}.identity-bottom .identity-name{font-size:7.3cqw}.identity-bottom .identity-role{font-size:3.35cqw}}

/* Keep language triples intact; wrap the last two groups as space narrows. */

.flag-bar{background:#000;border-top:0;color:#fff}

.flag-row{display:block;min-height:64px;padding:8px 4px}

.flags{display:grid;grid-template-columns:repeat(5,minmax(154px,1fr));align-items:center;justify-items:center;gap:8px 36px;width:100%;min-width:0}

.flag-group{display:flex;align-items:center;gap:clamp(12px,1.5vw,14px)}

.flags a{display:flex;justify-content:center;align-items:center;flex:0 0 42px;width:42px;min-height:48px;border-radius:4px}

.flags img{width:42px;height:42px;object-fit:contain}

.flags a:hover{background:#242424}

.flags a:focus-visible{outline-offset:-2px}

@media(max-width:1040px){

 .flags{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:8px}

 .flag-group{grid-column:span 2}

 .flag-group:nth-child(4){grid-column:2/span 2}

 .flag-group:nth-child(5){grid-column:4/span 2}

}

@media(max-width:600px){.flag-row{width:calc(100% - 24px);padding-block:8px}}

@media(max-width:520px){

 .flags{grid-template-columns:repeat(4,minmax(0,1fr))}

 .flag-group:nth-child(4){grid-column:span 2}

 .flag-group:nth-child(5){grid-column:2/span 2}

}

@media(max-width:340px){.flag-row{width:100%;padding-inline:0}.flags{column-gap:4px}}

/* Preview 7: original header composition and a separate black navigation bar. */
.header-main{padding-block:22px;min-height:133px;align-items:center}
.header-right{display:flex;flex:0 1 auto;flex-direction:row;align-items:center;align-self:auto;justify-content:flex-end;gap:36px;margin:0 0 0 auto}
.header-contact{display:block;text-align:right;color:#142a33}
.header-contact .web-address{display:block;font-size:20px;font-weight:600;letter-spacing:.1em;line-height:1.5;margin:0 0 1px;white-space:nowrap}
.header-contact a{display:block;font-size:15px;line-height:1.7;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.header-contact .telephone{font-size:18px;line-height:1.7;letter-spacing:.07em}
.header-contact .contact-label{font-size:10px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:2px;margin-right:4px}
.header-right .brokerage-top{display:block;border:0;padding:0;flex-shrink:0}
.brokerage-top .brokerage-symbol{position:relative;display:block;width:121px;height:49.5px;margin:0;overflow:hidden}
.brokerage-symbol img{position:absolute;left:0;top:0;width:330px;max-width:none;height:49.5px;filter:brightness(0);opacity:.82}
.brokerage-top .brokerage-name{display:block;margin:6px 0 0;font-size:13.5px;font-weight:600;line-height:1.2;letter-spacing:.025em;text-align:center;color:#173e55}
@media(min-width:700px) and (max-width:1100px){.brokerage-top .brokerage-name{position:relative;top:-3px}}
.navigation{background:#000;color:#b2d4dc}
.nav-row{min-height:58px;justify-content:center}
.main-nav{justify-content:center;gap:34px;flex-wrap:wrap}
.main-nav a{font-size:17px;padding:12px 0;letter-spacing:.025em;color:#b2d4dc}
.main-nav a:hover,.main-nav a[aria-current]{color:#fff}

.menu-button{font-size:14px;min-height:44px}
@media(max-width:1100px){.header-right{gap:28px}.header-contact .web-address{font-size:18px;letter-spacing:.1em}.header-contact a{font-size:14px}.header-contact .telephone{font-size:16px}.main-nav{gap:26px}.main-nav a{font-size:16px}}
@media(max-width:820px){.header-right{gap:24px}.header-contact .web-address{font-size:16px;letter-spacing:.07em}.header-contact a{font-size:12px}.header-contact .telephone{font-size:14px}.header-contact .contact-label{font-size:9px}.brokerage-top .brokerage-symbol{width:96.8px;height:39.6px}.brokerage-symbol img{width:264px;height:39.6px}.brokerage-top .brokerage-name{font-size:11px}.nav-row{justify-content:space-between}.main-nav{justify-content:flex-start;gap:6px 24px}.main-nav a{font-size:16px;padding:8px 0}}
@media(max-width:600px){.header-main{flex-direction:column;gap:16px;padding-block:19px 18px}.header-right{width:100%;justify-content:center;margin:0;gap:16px}.header-contact .web-address{font-size:14px;letter-spacing:.06em}.header-contact a{font-size:12px;letter-spacing:.04em}.header-contact .telephone{font-size:14px;letter-spacing:.02em}.brokerage-top .brokerage-symbol{width:88px;height:36px}.brokerage-symbol img{width:240px;height:36px}.brokerage-top .brokerage-name{font-size:10px}}
@media(max-width:360px){.header-right{gap:12px}.header-contact .web-address{font-size:13px}.header-contact a{font-size:11px}.header-contact .telephone{font-size:13px}.brokerage-top .brokerage-symbol{width:79.2px;height:32.4px}.brokerage-symbol img{width:216px;height:32.4px}.brokerage-top .brokerage-name{font-size:9px}}

/* Round German flags echo the original navigation link. */
.main-nav .nav-search{display:inline-flex;align-items:center;gap:8px}
.main-nav .nav-language-dot{display:block;width:16px;height:16px;flex:0 0 16px}

/* Align both name lines with the visible 210-pixel DF symbol. */
.brokerage-top .brokerage-name{width:95.454545%;text-align:left}
.brokerage-top .brokerage-name .brokerage-line{display:flex;justify-content:space-between;margin:0;font:inherit;letter-spacing:0}
.brokerage-top .brokerage-name .brokerage-letter{display:block;margin:0;font:inherit;letter-spacing:0}

/* Original header rhythm: website above two aligned contact rows. */
.header-contact{--contact-size:15px;--label-size:10px;display:grid;row-gap:8px;width:max-content}
.header-contact .web-address{margin:0;line-height:1.2;position:relative;left:2px}
.header-contact a,.header-contact .telephone{display:grid;grid-template-columns:2.8em minmax(0,1fr);align-items:baseline;column-gap:.5em;width:94%;margin-left:auto;font-size:var(--contact-size);line-height:1.2;letter-spacing:0}
.header-contact .contact-label{font-size:var(--label-size);letter-spacing:.07em;margin:0;text-align:left}
html:lang(en) .header-contact .contact-label{text-transform:uppercase}
.header-contact .contact-value{display:flex;justify-content:space-between;min-width:0}
.header-contact .contact-value>span{display:block}
@media(max-width:1100px){.header-contact{--contact-size:14px;--label-size:9px}}
@media(max-width:820px){.header-contact{--contact-size:12px;--label-size:8px;row-gap:6px}}
@media(max-width:600px){.header-contact{--contact-size:11px;--label-size:7px;row-gap:5px}}
@media(max-width:360px){.header-contact{--contact-size:10px;--label-size:7px}}

.header-contact .telephone{margin-top:3px}

.header-contact .header-email,.header-contact .telephone{position:relative;top:3px}

.header-contact .contact-label{transform:translateY(-25%);text-decoration:none}
.header-contact .header-email .contact-label{transform:translateY(-25%)}

/* Compact navigation and contact details share the 700px breakpoint. */
.nav-contact{display:none}
@media(min-width:700.01px) and (max-width:820px){
 .menu-button{display:none}
 .main-nav,.js .main-nav{display:flex;width:100%;padding-top:0;justify-content:center;flex-wrap:nowrap;gap:clamp(12px,2vw,20px)}
 .main-nav a{font-size:clamp(12px,1.7vw,14px);white-space:nowrap}
 .main-nav .nav-search{gap:6px}
}
@media(max-width:700px){
 .header-contact{display:none}
 .header-main{flex-direction:row;gap:20px;min-height:112px;padding-block:20px}
 .header-main .brand{flex:0 1 236px;min-width:0}
 .header-main .brand img{width:100%;max-width:236px}
 .header-right{width:auto;flex:0 0 auto;margin:0 0 0 auto}
 .nav-row{justify-content:space-between;gap:10px 20px;padding-block:12px}
 .nav-contact{display:grid;gap:3px;text-align:left;font-size:13px;line-height:1.5;letter-spacing:0}
 .nav-contact a{color:#e4eff2;text-decoration:none;white-space:nowrap}
 .nav-contact .nav-web{font-size:14px;font-weight:600;letter-spacing:.04em;color:#fff}
 .nav-contact a>span{display:inline-block;min-width:36px;font-size:10px;color:#b2d4dc}
 .nav-contact a:hover{text-decoration:underline}
 .menu-button{margin-left:auto;flex-shrink:0}
}
@media(max-width:700px){
 .menu-button{display:block}
 .js .main-nav{display:none}
 .js .main-nav.is-open{display:flex}
 .main-nav{width:100%;padding-top:10px;justify-content:flex-start}
}
@media(max-width:360px){
 .header-main{gap:16px}
 .nav-row{column-gap:12px}
 .nav-contact{font-size:12px}
 .nav-contact .nav-web{font-size:13px}
 .menu-button{font-size:12px;padding-inline:7px}
}

@media(max-width:700px){.nav-contact .nav-web{font-size:clamp(16px,2.85vw,20px);letter-spacing:.02em}}
/* Mobile: full-width panorama behind the portrait, name before slogan and map. */
@media(max-width:600px){
 .heritage-hero:before{content:none}
 .hero-identity{grid-template-rows:38% 62%}
 .identity-bottom{grid-row:1;border-top:0;border-bottom:2px solid rgba(249,243,233,.8)}
 .identity-top{grid-row:2}
}

/* Mobile hero stops at the portrait; both following panels are opaque. */
@media(max-width:600px){
 .hero-scene{inset:0 0 auto;height:205px}
 .identity-top{background:linear-gradient(120deg,#bf8e48,#d0a765)}
 .identity-bottom{background:#ecd4ac}
 .identity-top,.identity-bottom{-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* Right-aligned dark glass navigation, following FloridaImmobilie. */
.main-nav a{text-transform:uppercase}
.main-nav .nav-legal{display:none}
@media(max-width:700px){
 .navigation{position:relative;z-index:20;overflow-x:clip}
 .nav-row{position:static;flex-wrap:wrap}
 .menu-button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #ffffff59;border-radius:0;background:transparent;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
 .menu-button:hover,.menu-button[aria-expanded="true"]{background:#ffffff10;border-color:#ffffff99}
 .menu-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
 .hamburger{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:24px}
 .hamburger>span{display:block;width:24px;height:2px;border-radius:2px;background:currentColor;transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1),opacity .18s}
 .hamburger>span:nth-child(1){width:24px}
 .hamburger>span:nth-child(2){display:none}
 .hamburger>span:nth-child(3){width:18px}
 .menu-button[aria-expanded="true"] .hamburger>span:nth-child(1){width:24px;transform:translateY(5px) rotate(45deg)}
 .menu-button[aria-expanded="true"] .hamburger>span:nth-child(3){width:24px;transform:translateY(-5px) rotate(-45deg)}
 .main-nav,.js .main-nav,.js .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:0;padding:18px 28px 26px;width:100%;border:1px solid #ffffff26;border-top:0;border-right:0;border-radius:0;background:linear-gradient(155deg,rgba(10,30,40,.68),rgba(14,23,29,.58));box-shadow:inset 1px 0 0 #ffffff08,-8px 16px 32px #07192224;-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%)}
 .js .main-nav{position:absolute;top:100%;left:auto;right:0;width:min(320px,84%);max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateX(100%);transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.2,1),visibility .28s}
 .js .main-nav.is-open{width:min(320px,84%);visibility:visible;opacity:1;pointer-events:auto;transform:translateX(0)}
 .main-nav a{display:flex;align-items:center;justify-content:flex-end;position:relative;width:100%;min-height:64px;text-align:right;padding:15px 0;border:0;border-radius:0;font-size:clamp(22px,4vw,26px);font-weight:400;line-height:1.35;letter-spacing:-.025em;text-transform:none;color:#f4f7f8;text-shadow:0 1px 6px #07151e40;white-space:normal;transition:color .18s}
 .main-nav a:hover{background:transparent;color:#e1be86}
 .main-nav a:focus-visible{outline:2px solid #e1be86;outline-offset:3px}
 .main-nav a[aria-current]{background:transparent;box-shadow:none;color:#fff}
 .main-nav a[aria-current]:before{content:'';width:5px;height:5px;margin-right:12px;border-radius:50%;background:#e1be86}
 .main-nav .nav-search{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;min-height:60px;padding:14px 0;border:0;border-radius:0;background:transparent;color:#fff;font-size:clamp(16px,3vw,19px);font-weight:500;letter-spacing:-.02em}
 .main-nav .nav-search:hover{background:transparent;color:#e1be86}
 .main-nav .nav-legal{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;font-size:11px;line-height:1.8;color:#aaa}
}
@media(prefers-reduced-motion:reduce){.menu-button,.hamburger>span,.js .main-nav,.main-nav a{transition:none}}
@media(max-width:360px){.main-nav,.js .main-nav,.js .main-nav.is-open{padding-inline:18px}.main-nav .nav-search{gap:6px}}

/* Additional property-search languages in the mobile dropdown. */
.main-nav .nav-language-search{display:none}
@media(max-width:700px){
 .main-nav .nav-language-search{display:flex;margin-top:0;min-height:52px}
 .js .main-nav{max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff50 transparent}
}

/* Bounded compositions keep the original hierarchy readable at every width. */
.slogan-layout,.name-layout{position:relative;width:min(100%,560px);height:100%;margin-inline:auto;container-type:inline-size}
.identity-top .hero-slogan{font-size:clamp(16px,5.3cqw,30px)}
.identity-bottom{padding:0}
.name-content{padding:4.2cqw 5.6cqw 0 max(140px,29cqw)}
.identity-bottom .identity-name{font-size:clamp(22px,7.3cqw,36px)}
.identity-bottom .identity-name span{white-space:nowrap}
.identity-bottom .identity-role{font-size:clamp(11px,3.35cqw,16px)}
@media(min-width:601px) and (max-width:1000px){
 .identity-top .hero-slogan .slogan-first{left:clamp(40px,17.4cqw,65px);top:18px}
 .identity-top .hero-slogan .slogan-second{left:clamp(44px,20.2cqw,76px);top:calc(18px + 1.45em)}
 .identity-top .hero-slogan .slogan-third{left:clamp(58px,25cqw,94px);top:calc(18px + 2.9em)}
 .florida-map{left:auto;right:10px;top:auto;bottom:10px;width:clamp(70px,25cqw,88px);height:clamp(70px,25cqw,88px)}
 .name-content{padding:12px 12px 12px max(104px,29cqw)}
 .identity-bottom .identity-name{white-space:normal;line-height:1.12;letter-spacing:.035em}
 .identity-bottom .identity-role{white-space:normal;font-size:clamp(11px,3.35cqw,12px);line-height:1.35;margin-top:5px}
}
@media(min-width:821px) and (max-width:1000px){.name-content{padding-left:max(124px,29cqw)}}
@media(max-width:600px){
 .hero-identity{aspect-ratio:auto;grid-template-rows:clamp(76px,22.35vw,100px) clamp(120px,36.47vw,160px)}
 .slogan-layout,.name-layout{width:min(100%,430px)}
 .name-content{padding:4.2cqw 5.6cqw 0 24.1cqw}
}

/* Let more of the panorama show through the two gold panels. */
.identity-top{background:linear-gradient(120deg,rgba(191,142,72,.45),rgba(208,167,101,.45))}
.identity-bottom{background:rgba(236,212,172,.48)}
.identity-top,.identity-bottom{-webkit-backdrop-filter:blur(16px) saturate(115%);backdrop-filter:blur(16px) saturate(115%)}
@media(max-width:600px){
 .identity-top{background:linear-gradient(120deg,rgba(191,142,72,.65),rgba(208,167,101,.65))}
 .identity-bottom{background:rgba(236,212,172,.70)}
 .hero-scene>img,.hero-scene>.responsive-picture>img{object-position:left 61%}
}

@media(min-width:601px) and (max-width:820px){
 .hero-portrait{width:250px;height:310px}
}

/* Let the desktop hero grow gradually from 1,000 px upward. */
@media(min-width:1000px){
 .heritage-hero{height:clamp(350px,calc(175px + 17.5vw),455px)}
}

/* Scale the portrait gently across tablet and desktop widths. */
@media(min-width:821px){
 .hero-portrait{
  width:clamp(250px,calc(176.41px + 8.974vw),320px);
  height:clamp(310px,calc(273.21px + 4.487vw),345px);
 }
}

/* Bridge the compact tablet navigation and the full desktop menu. */
@media(min-width:820.01px) and (max-width:850px){
 .main-nav{gap:20px;flex-wrap:nowrap}
 .main-nav a{font-size:14px}
}

/* A soft cloud texture based on the original blue header and footer. */
:root{--clouds:url("../images/shared/blue-clouds.svg") center / cover no-repeat}
.masthead:before{content:none}
.footer-dark{background:#000;color:#c5d1d6}

/* Three clear header heights across the responsive layouts. */
@media(min-width:700px) and (max-width:1099px){
 .header-main{min-height:118px;padding-block:16px}
}
@media(min-width:1100px){
 .header-main{min-height:128px;padding-block:20px}
}
@media(max-width:700px){
 .nav-row{min-height:54px;padding-block:5px}
}

/* One stable portrait anchor for each layout mode. */
.hero-portrait{left:62%;right:auto;top:auto;bottom:0;transform:translateX(-50%)}
@media(min-width:601px) and (max-width:820px){
 .heritage-hero{min-height:350px}
 .hero-portrait{width:250px;height:310px}
}
@media(max-width:600px){
 .hero-portrait{left:62%;right:auto;top:8px;bottom:auto;width:175px;height:197px;transform:translateX(-50%)}
}
@media(max-width:360px){
 .hero-portrait{width:153px;height:197px}
}

/* Preview 10: the original scene ends at the solid gold panels. */
.navigation{border-top:2px solid #f9f3e9;border-bottom:2px solid #f9f3e9}
@media(min-width:601px){
 .hero-scene{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:100%;min-height:0}
 .hero-identity{grid-column:2;grid-row:1;border-left:2px solid #f9f3e9}
}
.identity-top{background:linear-gradient(120deg,#bf8e48,#d0a765)}
.identity-bottom{background:#ecd4ac;border-top-color:#f9f3e9}
.identity-top,.identity-bottom{-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:600px){
 .hero-identity{border-top:2px solid #f9f3e9}
 .hero-scene>img,.hero-scene>.responsive-picture>img{object-position:center 61%}
}

/* Give the portrait more presence at every breakpoint. */
.hero-portrait{filter:drop-shadow(12px 9px 8px rgba(0,0,0,.38))}
@media(width > 600px){
 .hero-portrait{filter:drop-shadow(14px 10px 9px rgba(0,0,0,.45))}
}
@media(width < 600px){
 .hero-portrait{filter:drop-shadow(4px 4px 6px rgba(0,0,0,.18))}
}
@media(min-width:601px){
 .hero-portrait{transform:translateX(calc(-50% + 12px))}
}
@media(min-width:601px) and (max-width:820px){
 .name-content{padding-left:calc(max(104px,29cqw) + 33px)}
}
@media(min-width:821px) and (max-width:1000px){
 .name-content{padding-left:calc(max(124px,29cqw) + 32px)}
}
@media(min-width:1001px){
 .name-content{padding-left:calc(max(140px,29cqw) + 32px)}
}
@media(min-width:601px) and (max-width:1000px){
 .identity-bottom .identity-name{font-size:clamp(18px,2.2vw,22px);letter-spacing:.02em}
}
@media(min-width:821px){
 .hero-portrait{
  width:clamp(280px,calc(194.55px + 10.409vw),370px);
  height:min(100%,clamp(350px,calc(307px + 5.24vw),390px));
 }
}
@media(min-width:601px) and (max-width:820px){
 .hero-portrait{width:280px;height:350px}
}
@media(max-width:600px){
 .hero-portrait{top:0;width:205px;height:205px;transform:translateX(calc(-50% + 10px))}
}
@media(max-width:360px){
 .hero-portrait{width:180px;height:205px}
}

/* Keep the background scene and gold panels compact until 850 px. */
@media(min-width:601px) and (max-width:849px){
 .heritage-hero{height:320px;min-height:320px}
}
@media(min-width:850px) and (max-width:999px){
 .heritage-hero{height:calc(150px + 20vw);min-height:calc(150px + 20vw)}
}
@media(min-width:601px) and (max-width:699px){
 .identity-top .hero-slogan>span{transform:translateY(28px)}
 .name-layout{display:grid;align-items:center}
 .name-content{padding-top:0;padding-bottom:0;transform:translateY(-4px)}
}
@media(min-width:700px){
 .name-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}
 .name-content{min-width:0;padding-top:0;padding-bottom:0}
}
@media(min-width:1001px) and (max-width:1199px){
 .identity-bottom .identity-name{font-size:clamp(22px,calc(5.4vw - 32px),32.8px);letter-spacing:.02em}
 .identity-bottom .identity-role{white-space:normal}
}
@media(min-width:701px) and (max-width:1000px){
 .main-nav{gap:clamp(10px,1.7vw,17px)}
 .main-nav a{font-size:clamp(13.5px,1.9vw,16px)}
}
.identity-top .hero-slogan>.tablet-slogan-line{display:none}
@media(min-width:601px) and (max-width:899px){
 .florida-map{left:auto;right:2.8cqw;top:clamp(0px,calc(9vw - 54px),36px);bottom:auto;width:130px;height:130px;object-position:right center}
 .identity-top .hero-slogan{--slogan-left:clamp(50px,calc(9vw - 10px),80px);--slogan-reserve:clamp(50px,calc(20vw - 70px),130px);z-index:3;inset:calc(50% + 12px) auto auto var(--slogan-left);width:calc(100% - var(--slogan-left) - var(--slogan-reserve));height:auto;display:flex;flex-direction:column;gap:4px;transform:translateY(-50%);font-size:16px;line-height:1.25;letter-spacing:-.02em;text-align:right}
 .identity-top .hero-slogan>span{position:static;white-space:normal;text-wrap:balance;transform:none}
 .identity-top .hero-slogan>span:not(.tablet-slogan-line){display:none}
 .identity-top .hero-slogan>.tablet-slogan-line{display:block}
 .identity-top .hero-slogan>.tablet-slogan-line.keep-together{white-space:nowrap}
}
@media(min-width:601px) and (max-width:899px){
 .identity-top .hero-slogan small{font-size:100%}
}
@media(min-width:601px) and (max-width:699px){
 .identity-top .hero-slogan{--slogan-left:calc(15vw - 52px);--slogan-reserve:calc(8vw + 14px)}
}
@media(min-width:800px) and (max-width:899px){
 .identity-top .hero-slogan{left:calc(var(--slogan-left) + 12px);text-align:left}
}
@media(min-width:900px){
 .identity-top .hero-slogan{transform:translateY(clamp(32px,3.6vw,36px))}
 .identity-top .hero-slogan .slogan-first{left:17.4cqw;top:8.4cqw}
 .identity-top .hero-slogan .slogan-second{left:20.2cqw;top:15.7cqw}
 .identity-top .hero-slogan .slogan-third{left:35cqw;top:22.7cqw}
 .florida-map{left:auto;right:2.8cqw;top:50%;width:35cqw;height:35cqw;transform:translateY(-50%)}
}
@media(min-width:900px) and (max-width:1000px){
 .identity-top .hero-slogan{transform:translateY(calc(124px - 8.8vw))}
}
@media(min-width:701px) and (max-width:1000px){
 .nav-row{width:calc(100% - 28px)}
 .main-nav,.js .main-nav{gap:clamp(23px,3vw,26px)}
}
@media(min-width:850px) and (max-width:999px){
 .main-nav a{font-size:17px}
}
@media(min-width:1000px){
 .main-nav{gap:clamp(26px,calc(8vw - 54px),84px)}
 .main-nav a{font-size:18px}
}
@media(min-width:1100px){
 .main-nav a{font-size:19px}
}
@media(min-width:1200px){
 .main-nav a{font-size:20px}
}
@media(max-width:600px){
 .hero-identity{grid-template-rows:clamp(66px,18.5vw,88px) clamp(108px,32vw,140px)}
 .florida-map{width:clamp(85px,28cqw,112px);height:clamp(85px,28cqw,112px)}
 .name-layout{display:grid;align-items:center}
 .name-content{padding-top:0;padding-bottom:0}
 .identity-top .hero-slogan>span{transform:translateY(-10px)}
 .hero-portrait{z-index:4}
}
@media(min-width:800px){
 .florida-map{right:calc(2.8cqw + 8px)}
}
@media(min-width:360px) and (max-width:600px){
 .heritage-hero{grid-template-rows:225.5px auto}
 .hero-scene{height:225.5px}
 .hero-portrait{top:20.5px}
}
@media(width < 600px){
 .hero-portrait{top:-8.2px;width:213.2px;height:213.2px}
}
@media(max-width:359px){
 .hero-portrait{width:187.2px}
}
@media(min-width:360px) and (width < 600px){
 .hero-portrait{top:12.3px}
}

/* Preview 11: a second black navigation band directly below the hero. */
.flag-bar{background:#101516;border-top:2px solid #f9f3e9;border-bottom:2px solid #f9f3e9}
.flag-row{min-height:56px}
/* Preserve all five three-flag groups in one row as the viewport narrows. */
.flag-bar{--flag-size:clamp(14px,calc(5.5vw - 1.5px),42px)}
.flags{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:clamp(4px,calc(2vw - 2px),12px)}
.flag-group{display:flex;flex:0 1 auto;min-width:0;gap:clamp(2px,.5vw,7px)}
.flags a{flex:0 0 var(--flag-size);width:var(--flag-size);min-height:calc(var(--flag-size) + 6px)}
.flags img{width:var(--flag-size);height:var(--flag-size)}
@media(max-width:600px){.flag-row{display:flex;align-items:center;width:calc(100% - 24px);padding-block:6px}}
/* Reduce banner space by 10% above mobile while preserving portrait dimensions. */
@media(min-width:601px){
 .heritage-hero{--hero-full-height:320px;height:calc(var(--hero-full-height) * .9);min-height:0}
}
@media(min-width:850px) and (max-width:999px){
 .heritage-hero{--hero-full-height:calc(150px + 20vw)}
}
@media(min-width:1000px){
 .heritage-hero{--hero-full-height:clamp(350px,calc(175px + 17.5vw),455px)}
}
@media(min-width:821px){
 .hero-portrait{height:min(var(--hero-full-height),clamp(350px,calc(307px + 5.24vw),390px))}
}

/* Below the flags: personal introduction and German search in a 62/38 layout. */
.intro-area,.transaction-section{--home-card-spacing:clamp(44px,5vw,72px)}
.intro-area{padding:var(--home-card-spacing) 0}
.overview{grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:clamp(28px,4vw,60px);align-items:start}
.intro-copy,.search-card{grid-column:auto}
.intro-copy .eyebrow{font-size:11px;margin-bottom:17px}
.intro-copy h2,#transaction-title{font-size:clamp(30px,3.1vw,42px);margin-bottom:24px}
.intro-copy p{font-size:clamp(16px,1.35vw,18px);line-height:1.75;max-width:70ch}
.property-types{margin:24px 0 27px;gap:12px 24px}
.property-types li{font-size:clamp(14px,1.15vw,16px);line-height:1.55}
.text-link{font-size:14px}
.search-card{align-self:stretch;padding:clamp(28px,3vw,42px);background:#e8f1f3;border-color:#c8dce1;border-top:4px solid #7baaba}
.search-card .eyebrow{font-size:10px;letter-spacing:.1em}
.search-card h2{font-size:clamp(29px,2.6vw,38px);margin-bottom:22px}
.search-card p{font-size:clamp(15px,1.25vw,17px);line-height:1.7}
.search-card .search-cities{font-size:14px;line-height:1.7;margin-top:24px}
.search-card .english-search{font-size:13px}
/* Buyer and seller routes get a full-width row of larger image cards. */
.transaction-section{padding:10px 0 60px}
.transaction-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding:0}
.transaction{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);grid-template-rows:1fr 1fr;min-height:180px;background:#f7fafb;border:1px solid #d6e4e7;text-decoration:none}
.transaction-image{grid-column:1;grid-row:1/span 2;width:100%;height:100%;min-height:180px;object-fit:cover;border-radius:0}
.transaction h3{grid-column:2;grid-row:1;align-self:end;font-size:clamp(20px,2vw,27px);line-height:1.2;margin:0;padding:20px 22px 0}
.transaction p{grid-column:2;grid-row:2;align-self:start;font-size:15px;line-height:1.6;margin:0;padding:8px 22px 20px}
.transaction:hover{border-color:#7baaba;background:#f0f7f8}
/* A quiet blue-white close to the content, with the direct phone link prominent. */
.contact-band{width:100%;min-height:156px;margin:0;padding:64px max(40px,calc((100vw - 1320px)/2));background:#e8e6e1;border-top:1px solid #d6d3cc;align-items:center;flex-direction:row}
.contact-band h2{font-size:clamp(30px,3.1vw,42px);font-weight:600;margin-bottom:8px;color:#000}
.contact-band p{font-size:clamp(16px,1.35vw,18px);line-height:1.62;color:#000}
.contact-band .guidance-phrase{white-space:nowrap}
@media(max-width:350px){.contact-band .guidance-phrase{white-space:normal}}
.contact-options{flex-wrap:wrap;justify-content:flex-end;gap:9px 22px}
.contact-options .phone{font-size:clamp(23px,2.3vw,31px);font-weight:500;white-space:nowrap;color:#225667}
.contact-options a:not(.phone){font-size:12px}
@media(max-width:900px){
 .contact-band{align-items:flex-start;flex-direction:column;gap:18px}
 .contact-options{justify-content:flex-start}
}
@media(max-width:700px){
 .intro-area,.transaction-section{--home-card-spacing:30px}
 .intro-area{padding:40px 0 var(--home-card-spacing)}
 .overview{grid-template-columns:1fr;gap:30px}
 .intro-copy h2,#transaction-title{font-size:clamp(29px,6vw,38px)}
 .contact-band h2{font-size:clamp(29px,6vw,38px)}
 .search-card{padding:28px}
 .transaction-section{padding:8px 0 42px}
 .transaction-links{grid-template-columns:1fr;gap:16px}
 .contact-band{min-height:0;padding:56px 26px;align-items:flex-start;flex-direction:column;gap:24px}
 .contact-options{justify-content:flex-start}
}
@media(width < 700px){
 .intro-area,.transaction-section{--home-card-spacing:60px}
}
@media(max-width:440px){
 .transaction{grid-template-columns:1fr;grid-template-rows:auto auto auto}
 .transaction-image{grid-column:1;grid-row:1;height:150px;min-height:0}
 .transaction h3{grid-column:1;grid-row:2;padding:18px 20px 0}
 .transaction p{grid-column:1;grid-row:3;padding:6px 20px 20px}
 .contact-options .phone{width:100%}
}
/* Footer copy follows the larger body-text scale at every width. */
.footer-blue{padding-block:clamp(28px,3vw,42px)}
.footer-row{font-size:14px}
.footer-row p,.footer-row address{font-size:clamp(14px,1.05vw,16px);line-height:1.7}
.footer-row p{margin-top:5px}
.footer-dark{padding-block:22px}
.footer-bottom{font-size:clamp(12px,.95vw,14px);line-height:1.6}
@media(max-width:600px){
 .footer-row{gap:24px}
 .footer-bottom nav{gap:10px 18px}
}

/* BEGIN COASTAL BACKGROUND */
/* Coastal background: the inline preview is filled with the same poster motif. */
.coastal-background{position:relative;isolation:isolate;width:100%;height:clamp(440px,40vw,640px);overflow:hidden;background:#e6e3db;background-image:url("data:image/webp;base64,UklGRtYAAABXRUJQVlA4IMoAAABwBgCdASowABsAPqlMm0mmJKIhMBqoAMAVCUAW97bD2byjn6VcFDNfpRfD/onXk6LVHntqaltAVvDip1YA6/1+MgnO6KnTfhi9OXqGZWNnO5y+x/mG8gb/5CqHv7MinLHyxGRe5WZaE7aB1WN0SmAwAtYjs30MKj4hT8Dd9LWXXBHu4R8BUr9b4eOigCVEsLcblr7fXKRBci0D7HtXgwDT7MsbO9MyE5WgX55y43Uwjc6G+8kUylz8Fi16SX1Pq+iqU+RA3UrcLwAA");background-size:cover;background-position:50% 50%;color:#fff}
.coastal-background-poster,.coastal-background-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;pointer-events:none}
.coastal-background-video{opacity:0}
.coastal-background.is-playing .coastal-background-video{opacity:1}
.coastal-background-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.12) 60%,rgba(0,0,0,.1));pointer-events:none}
.coastal-background-content{position:relative;text-align:center;padding-top:clamp(90px,9vw,145px);text-shadow:0 2px 16px rgba(0,0,0,.25)}
.coastal-background-content .eyebrow{color:#fff;margin-bottom:18px}
.coastal-background-content h2{color:#fff;font-size:clamp(36px,4.5vw,64px);margin:0;line-height:1.15}
@media(max-width:600px){.coastal-background{height:480px;height:clamp(420px,65svh,540px)}.coastal-background-content{padding-top:95px}.coastal-background-content h2{font-size:clamp(30px,8vw,42px)}}
@media(prefers-reduced-motion:reduce){.coastal-background .coastal-background-video{opacity:0}}
/* END COASTAL BACKGROUND */

/* BEGIN INTRO COASTAL BACKGROUND */
.intro-area.coastal-intro{height:auto}
.coastal-intro .overview{position:relative}
.coastal-intro .coastal-background-overlay{background:linear-gradient(90deg,rgba(232,230,225,.75) 0%,rgba(232,230,225,.65) 38%,rgba(232,230,225,.45) 58%,rgba(232,230,225,.2) 78%)}
@media(max-width:700px){.coastal-intro .coastal-background-overlay{background:linear-gradient(180deg,rgba(232,230,225,.72) 0%,rgba(232,230,225,.65) 48%,rgba(232,230,225,.2) 68%)}}
.coastal-intro .intro-copy,.coastal-intro .intro-copy h2,.coastal-intro .intro-copy p a,.coastal-intro .intro-copy .text-link{color:#000}
.coastal-intro .intro-copy{text-shadow:none}
.coastal-intro h2,#transaction-title{font-weight:600}
.coastal-intro .property-types li:before{background:currentColor}
.coastal-intro .property-types li{font-size:clamp(16px,1.35vw,18px)}
.coastal-intro .intro-copy .text-link{border-color:rgba(0,0,0,.65)}
.coastal-intro .search-card{background:rgba(12,18,20,.42);border:1px solid rgba(255,255,255,.24);color:#fff}
.coastal-intro .search-card h2,.coastal-intro .search-card p,.coastal-intro .search-card .english-search{color:#fff}
@supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))){.coastal-intro .search-card{background:rgba(12,18,20,.26);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}
/* END INTRO COASTAL BACKGROUND */
/* Preview 13: original Preview 12 header palette and cloud texture. */
.masthead{
  background:var(--clouds);
  color:var(--ink);
}
.masthead:before{content:none}

.search-card .search-card-graphic{width:168px;max-width:100%;height:auto;margin:0 0 19px;object-fit:contain}
.search-card-flags{display:flex;align-items:center;gap:8px;margin:0 0 14px}
.search-card-flags a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:2px}
.search-card-flags img{width:28px;height:28px;object-fit:contain}
@media(min-width:1000px){
 .search-card-flags a{min-width:42px;min-height:48px}
 .search-card-flags img{width:42px;height:42px}
}
.search-card-flags a:hover{background:rgba(255,255,255,.15)}
.search-card-top{display:grid;grid-template-columns:minmax(0,1fr) 116px;column-gap:12px;align-items:start;margin-bottom:16px}
.search-card-top h2{grid-column:1/-1;margin-bottom:12px}
.search-card-top .search-card-flags{grid-column:1;grid-row:2;margin:0}
.search-card-top .search-card-graphic{grid-column:2;grid-row:2;width:116px;max-width:100%;height:auto;margin:-42px -10px 0 0;justify-self:end}
@media(max-width:359px){.search-card-top{grid-template-columns:minmax(0,1fr) 96px;column-gap:6px}.search-card-top .search-card-graphic{width:96px}.search-card-top .search-card-flags{gap:4px}.search-card-top .search-card-flags a{min-width:32px}}
.search-card .button{justify-content:center;text-align:center}
/* Underline grows left to right and retracts toward the left. */
a.animated-link,.animated-link-label,.transaction h3{
 text-decoration:none!important;
 background-image:linear-gradient(currentColor,currentColor)!important;
 background-position:left bottom!important;
 background-repeat:no-repeat!important;
 background-size:0% 1px!important;
 transition:background-size .3s ease,color .2s ease;
}
a.animated-link:hover,a.animated-link:focus-visible,.button:hover .animated-link-label,.button:focus-visible .animated-link-label,.transaction:hover h3,.transaction:focus-visible h3{background-size:100% 1px!important}
.animated-link-label{display:inline-block;padding-bottom:2px}
a.text-link{border-bottom:0}
.main-nav a.animated-link{box-shadow:none;background-position:left calc(100% - 10px)!important;background-image:none!important}
@media(prefers-reduced-motion:reduce){a.animated-link,.animated-link-label,.transaction h3{transition:none}}
/* Keep menu underlines on a stable text wrapper, independent of link backgrounds. */
.main-nav .nav-link-label{position:relative;display:inline-flex;align-items:center;gap:6px;color:inherit;margin:0}
.main-nav .nav-link-label:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease;pointer-events:none}
.main-nav a.is-pointer-over .nav-link-label:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.main-nav .nav-link-label:after{transition:none}}
/* More compact rhythm in the Realtor introduction. */
.coastal-intro .intro-copy h2{margin-bottom:16px}
.coastal-intro .intro-copy p{line-height:1.62;margin-bottom:14px}
.coastal-intro .intro-copy .property-types{margin:16px 0 18px;row-gap:8px}
.coastal-intro .intro-copy.has-five-lines .property-types{margin-block:32px}
/* Inverted black-and-white portal button with a fine contrasting border. */
.search-card .button{background:#000;color:#fff;border:1px solid #fff;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.search-card .button:hover,.search-card .button:focus-visible{background:#fff;color:#000;border-color:#000}
@media(prefers-reduced-motion:reduce){.search-card .button{transition:none}}
/* Mobile magnifier starts beside the heading and stays behind text and flags. */
@media(max-width:699.98px){
 .search-card-top{position:relative;isolation:isolate}
 .search-card-top h2,.search-card-top .search-card-flags,.search-card>p,.search-card>.button{position:relative;z-index:1}
 .search-card-top .search-card-graphic{position:absolute;grid-column:auto;grid-row:auto;top:0;right:0;transform:translateX(16%);margin:0;z-index:0;pointer-events:none}
}
.portal-heading-mobile-break{display:none}
@media(max-width:449.98px){.portal-heading-mobile-break{display:block}.portal-heading-space{display:none}}
@media(max-width:359.98px){.search-card-top .search-card-graphic{top:auto;bottom:6px;transform:translate(16%,5.3%)}}
/* Dark buyer and seller section. */
.coastal-intro .search-card{
 --search-card-dark-background:rgba(12,18,20,.45);
 position:relative;
 isolation:isolate;
 cursor:pointer;
 transition:border-color .2s ease,background-color .25s ease;
}
.coastal-intro .search-card:hover,.coastal-intro .search-card:focus-within{
 border-color:#fff;
 background-color:var(--search-card-dark-background);
}
@media(max-width:1099.98px),(hover:none),(pointer:coarse){
 .coastal-intro .search-card{background-color:var(--search-card-dark-background)}
}
.search-card:hover .button .animated-link-label,.search-card:focus-within .button .animated-link-label{background-size:100% 1px!important}
.search-card-cover{position:absolute;inset:0;z-index:1}
.search-card-cover:focus-visible{outline:none}
.search-card-top{position:relative;z-index:2;pointer-events:none}
.search-card>p{pointer-events:none}
.search-card-flags{pointer-events:auto;position:relative;z-index:2}
.search-card>.button{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.coastal-intro .search-card{transition:none}}
.transaction-section{background:#000;color:#f5f5f2;padding-top:28px}
.transaction-section .transaction{background:#1b2326;border-color:#354348;color:#f5f5f2;transition:background-color .2s ease,border-color .2s ease}
.transaction-section .transaction h3{color:#f5f5f2}
.transaction-section .transaction p{color:#c1ccd0}
.transaction-section .transaction:hover,.transaction-section .transaction:focus-visible{background:#253136;border-color:#fff}
.transaction-section .transaction:focus-visible{outline:2px solid #fff;outline-offset:2px}
.transaction-section .transaction:hover h3{color:#fff}
@media(prefers-reduced-motion:reduce){.transaction-section .transaction{transition:none}}
/* Language flags: matching highlights extending beyond either side. */
.search-card-flags a,.flag-bar .flags a{border-radius:2px;transition:background-color .2s ease,box-shadow .2s ease}
.search-card-flags a:hover,.search-card-flags a:focus-visible,.flag-bar .flags a:hover,.flag-bar .flags a:focus-visible{background:rgba(255,255,255,.3);box-shadow:6px 0 rgba(255,255,255,.3),-6px 0 rgba(255,255,255,.3)}
@media(prefers-reduced-motion:reduce){.search-card-flags a,.flag-bar .flags a{transition:none}}
/* Alternating buyer and seller sections. */
:root{--property-image-height:205px}
@media(min-width:360px) and (max-width:600px){:root{--property-image-height:225.5px}}
@media(min-width:601px){:root{--property-image-height:288px}}
@media(min-width:850px) and (max-width:999px){:root{--property-image-height:calc((150px + 20vw) * .9)}}
@media(min-width:1000px){:root{--property-image-height:calc(clamp(350px,calc(175px + 17.5vw),455px) * .9)}}
.transaction-section{padding:48px 0 60px;background:#000}
.transaction-section .transaction-links{grid-template-columns:1fr;gap:36px}
.transaction-section .transaction{grid-template-columns:62% 38%;grid-template-rows:minmax(0,1fr);height:calc(var(--property-image-height) * 1.1 + 2px);min-height:0;overflow:hidden}
.transaction-section .transaction-seller{grid-template-columns:38% 62%}
.transaction-section .transaction-image-frame{--image-stretch:1;display:flex;align-items:center;min-width:0;height:calc(var(--property-image-height) * 1.1);overflow:hidden}
.transaction-section .transaction-image{grid-column:auto;grid-row:auto;min-height:0;height:calc(100% / var(--image-stretch));aspect-ratio:auto;object-fit:cover;transform:scaleY(var(--image-stretch));transform-origin:center}
.transaction-section .transaction-buyer .transaction-image{object-position:center 22%}
.transaction-section .transaction-seller .transaction-image-frame{align-items:flex-start}
.transaction-section .transaction-seller .transaction-image{object-position:center top;transform-origin:center top}
@media(min-width:1000px){
 .transaction-section .transaction{height:calc(var(--property-image-height) * 1.1 * 1.05 + 2px)}
 .transaction-section .transaction-image-frame{height:calc(var(--property-image-height) * 1.1 * 1.05)}
}
.transaction-section .transaction-copy{align-self:center;padding:clamp(28px,4vw,58px)}
.transaction-section .transaction h3{display:block;width:fit-content;font-size:clamp(27px,3vw,40px);margin:0 0 18px;padding:0 0 5px}
.transaction-section .transaction p{font-size:clamp(15px,1.3vw,18px);line-height:1.7;margin:0;padding:0}
.transaction-section .transaction .transaction-lead{font-size:clamp(19px,1.8vw,25px);color:#f5f5f2;margin:0 0 14px}
@media(min-width:1000px) and (max-width:1150px){.transaction-section .transaction-copy{padding:26px}}
@media(max-width:999px){
 .transaction-section{padding:28px 0 38px}
 .transaction-section .transaction-links{gap:24px}
}
@media(width > 700px) and (width < 1000px){
 .transaction-section .transaction-copy{padding:16px}
 .transaction-section .transaction h3{font-size:26px;margin-bottom:12px}
 .transaction-section .transaction p{font-size:14px;line-height:1.5}
 .transaction-section .transaction .transaction-lead{font-size:18px;line-height:1.3;margin-bottom:12px}
}
@media(max-width:700px){
 .transaction-section .transaction,.transaction-section .transaction-seller{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto}
 /* Keep the 3:2 image at natural proportions and hide only its bottom 5%. */
 .transaction-section .transaction .transaction-image-frame{display:block;position:relative;height:auto;aspect-ratio:30/19}
 .transaction-section .transaction .transaction-image{position:absolute;top:0;left:0;width:100%;height:auto;object-fit:contain;object-position:center;transform:none;transform-origin:center}
 .transaction-section .transaction-copy{padding:28px}
}
/* Align all non-gold content: 26px at 1000px, rising to 60px at 1100px. */
@media(min-width:1000px){
 :root{--page-horizontal-inset:120px}
 .wrap{width:min(1320px,calc(100% - var(--page-horizontal-inset)))}
 .contact-band{width:100%;padding-inline:max(calc(var(--page-horizontal-inset) / 2),calc((100% - 1320px) / 2))}
}
@media(min-width:1000px) and (max-width:1100px){
 :root{--page-horizontal-inset:calc(68vw - 628px)}
}
@media(min-width:701px) and (max-width:999px){
 .contact-band{padding-inline:26px}
}
/* Space around the section heading and between the buyer and seller cards. */
.transaction-section{padding-block:clamp(48px,5vw,64px) var(--home-card-spacing)}
#transaction-title{--transaction-globe-size:2.5lh;position:relative;padding-inline-start:calc(var(--transaction-globe-size) + 12px);margin-bottom:48px}
.transaction-title-globe{position:absolute;inset-inline-start:0;top:50%;width:var(--transaction-globe-size);transform:translateY(-50%)}
@media(width < 500px){
 #transaction-title>span>br{display:none}
}
@media(width > 700px){
 #transaction-title{padding-inline-start:calc(var(--transaction-globe-size) - 9px);text-indent:1ch}
 #transaction-title>span{position:relative;z-index:1}
 .transaction-title-globe{top:auto;bottom:0;transform:none}
}
.transaction-section .transaction-links{gap:var(--home-card-spacing)}
/* The decorative portrait overlaps the navigation at some widths; let clicks pass through it. */
.hero-portrait{pointer-events:none}
/* Only the text panel is a link; images remain non-interactive. */
.transaction-section .transaction-copy{display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0;text-decoration:none}
.transaction-section .transaction-copy>h3{align-self:flex-start}
.transaction-section .transaction-copy>p{align-self:stretch}
.transaction-section .transaction:hover{background:#1b2326;border-color:#354348}
.transaction-section .transaction:has(.transaction-copy:hover),.transaction-section .transaction:has(.transaction-copy:focus-visible){background:#253136;border-color:#fff}
.transaction-section .transaction h3{background-size:0% 1px!important}
.transaction-section .transaction .transaction-copy:hover h3,.transaction-section .transaction .transaction-copy:focus-visible h3{background-size:100% 1px!important;color:#fff}
.transaction-section .transaction-copy:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@media(max-width:699.98px){
 .transaction-section .transaction-copy{pointer-events:none}
 .transaction-section .transaction-copy>h3{display:flex;align-items:center;justify-content:flex-start;align-self:flex-start;width:fit-content;max-width:100%;min-height:48px;padding:8px 14px;margin-bottom:18px;background:#fff;color:#000!important;text-align:left;background-image:none!important;font-size:24px;pointer-events:auto}
 .transaction-section .transaction-copy>h3:hover,.transaction-section .transaction-copy:focus-visible>h3{box-shadow:inset 0 0 0 1px #000}
 .transaction-section .transaction-copy>h3 span{display:inline-block;padding-bottom:2px;background-image:linear-gradient(currentColor,currentColor);background-position:left bottom;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s ease}
 .transaction-section .transaction .transaction-copy h3:hover span,.transaction-section .transaction .transaction-copy:focus-visible h3 span{background-size:100% 1px}
}
@media(max-width:699.98px) and (prefers-reduced-motion:reduce){.transaction-section .transaction-copy>h3 span{transition:none}}
/* Four individual contact boxes on the greige band. */
.contact-band .contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;min-width:0;width:520px;max-width:100%;flex-shrink:0}
.search-card .button,.contact-band .contact-options a{font-size:16px}
.contact-band .contact-options a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:52px;padding:12px 18px;background:var(--gold);background-image:none!important;border:1px solid #d6d3cc;color:#fff;font-weight:600;line-height:1.4;text-decoration:none;white-space:normal;text-align:center;overflow-wrap:anywhere;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.contact-band .contact-options a:hover,.contact-band .contact-options a:focus-visible{background-color:#fff;border-color:#000;color:#000}
@media(max-width:900px){
 .contact-band{align-items:center;text-align:center}
 .contact-band .contact-options{justify-content:center;margin-inline:auto}
}
@media(max-width:600px){
 .contact-band .contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .search-card .button,.contact-band .contact-options a{font-size:15px}
 .contact-band .contact-options a{padding:12px 8px;white-space:normal;text-align:center;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.contact-band .contact-options a{transition:none}}

/* Preview 17: a separate contact form inspired by FloridaImmobilie. */
.coastal-contact{height:auto;min-height:720px;padding:90px 0;display:flex;align-items:center;scroll-margin-top:24px}
.coastal-contact .coastal-background-overlay{background:rgba(11,31,37,.08)}
.coastal-contact-panel{position:relative;top:-24px;width:min(580px,calc(100% - 64px));padding:22px 24px;--form-side-inset:24px;--form-bottom-inset:22px;background:transparent;border:1px solid transparent;color:#fff;text-align:left;text-shadow:none}
.coastal-contact-box{position:relative;isolation:isolate;display:flow-root;padding-top:12px}
.coastal-contact-box:before{content:'';position:absolute;inset:-8px calc(-1 * var(--form-side-inset)) calc(-1 * var(--form-bottom-inset));z-index:-1;pointer-events:none;background:rgba(17,35,39,.28);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background-color .25s ease}
.coastal-contact-box:focus-within:before,.coastal-contact-box.is-started:before{background-color:rgba(17,35,39,.62)}
@media(hover:hover) and (pointer:fine){.coastal-contact-box:hover:before{background-color:rgba(17,35,39,.62)}}
@media(prefers-reduced-motion:reduce){.coastal-contact-box:before{transition:none}}
.coastal-contact-panel .eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.12em;color:#fff;margin-bottom:18px}
.coastal-contact-panel .eyebrow:before{content:'';width:20px;height:1px;background:#ffffff9c}
.coastal-contact-panel h2{font-size:clamp(38px,3.6vw,48px);font-weight:400;line-height:1.2;letter-spacing:-.035em;color:#fff;margin:0 0 24px;text-align:center;position:relative;top:-12px}

.coastal-contact-intro{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:#fff;margin-bottom:40px;max-width:530px}
.coastal-contact-language{position:absolute;top:calc(100% + 14px);inset-inline:0;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:#000;text-align:center;font-size:13px;line-height:1.5}
.coastal-contact-flags{display:flex;flex:0 0 auto;align-items:center;gap:4px}
.coastal-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}
.coastal-field{min-width:0}
.coastal-field label{display:block;color:#fff;font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.coastal-field .optional{font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;margin-left:5px;color:#e5eaeb}
.coastal-field input,.coastal-field select,.coastal-field textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #ffffff80;border-radius:0;background:transparent;color:#fff;font:clamp(16px,1.35vw,18px)/1.5 Poppins,Arial,sans-serif;padding:7px 0;min-height:44px;box-shadow:none}
.coastal-field select{color-scheme:dark;cursor:pointer;appearance:none;-webkit-appearance:none;padding-inline:1ch calc(2ch + 12px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1ch center;background-size:12px 8px}
.coastal-field select:has(option[value=""]:checked){color:rgba(255,255,255,.50)}
.coastal-field select option{color:#fff;background:#223c43}
.coastal-field textarea{min-height:64px;resize:vertical;max-height:360px}
@media(hover:hover) and (pointer:fine){.coastal-field input:hover,.coastal-field select:hover,.coastal-field textarea:hover{outline:2px solid rgba(236,212,172,.24);outline-offset:4px}}
.coastal-field input:focus,.coastal-field select:focus,.coastal-field textarea:focus{outline:2px solid #ecd4ac;outline-offset:4px;border-bottom-color:#fff}
.coastal-field-message{grid-column:1/-1}
.coastal-contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}
.coastal-contact-bottom p{font-size:12px;line-height:1.55;margin:0;color:#fff}

.coastal-contact-bottom button{min-height:44px;padding:10px 20px;border:1px solid #101516;background:#101516;color:#fff;font-size:16px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.coastal-contact-bottom button:hover,.coastal-contact-bottom button:focus-visible{background:#fff;border-color:#000;color:#000}
.coastal-contact-bottom button:focus-visible{outline:2px solid #ecd4ac;outline-offset:4px}
.coastal-contact-status{font-size:14px;color:#fff;line-height:1.6;margin:20px 0 0}.coastal-contact-status:empty{display:none}
@media(max-width:900px){.coastal-contact{min-height:min(720px,80vw);padding:clamp(63px,10vw,90px) 0}}
@media(max-width:700px){.coastal-contact-panel{width:min(520px,calc(100% - 40px));padding:20px;--form-side-inset:20px;--form-bottom-inset:20px}.coastal-contact-panel h2{font-size:clamp(32px,6.6vw,40px)}.coastal-contact-intro{margin-bottom:40px}.coastal-field input,.coastal-field select,.coastal-field textarea{font-size:16px}.coastal-contact-bottom{gap:14px}}
@media(max-width:460px){.coastal-contact-panel{width:min(360px,calc(100% - 48px));padding:18px 16px;--form-side-inset:16px;--form-bottom-inset:18px}.coastal-contact-panel h2{font-size:clamp(32px,6.6vw,40px)}.coastal-contact-fields{grid-template-columns:1fr;gap:10px}.coastal-field:has(#contact-phone),.coastal-field-message{margin-top:26px}.coastal-field-message{grid-column:auto}.coastal-contact-bottom{flex-direction:column;align-items:stretch;gap:14px}.coastal-contact-bottom button{width:100%}}
@media(prefers-reduced-motion:reduce){.coastal-contact-bottom button{transition:none}}
.contact-honey{position:absolute!important;left:-10000px!important;top:0;width:1px;height:1px;overflow:hidden;pointer-events:none}

/* Footer */

.signature-footer{background:#000;color:#fff;font-family:Poppins,Arial,sans-serif;--footer-gold:#ecd4ac;--footer-rule:rgba(236,212,172,.38);font-size:clamp(16px,1.35vw,18px);line-height:1.65}
/* Award strip shared by every page footer. */
.signature-awards{padding-block:clamp(56px,7vw,96px) clamp(16px,2.5vw,36px)}
.signature-awards img{width:100%;height:auto}
.signature-footer a{color:inherit;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease}
.signature-footer a:hover{color:var(--footer-gold)}
.signature-footer a:focus-visible{outline:2px solid var(--footer-gold);outline-offset:5px}
.signature-footer .signature-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,48px);align-items:start;padding-block:68px 54px}
.signature-column{min-width:0;max-width:100%;width:max-content;justify-self:center}
.signature-brand img{width:275px;max-width:100%;height:auto}
.signature-domain{display:flex;justify-content:space-between;align-items:center;width:275px;max-width:100%;margin-top:15px;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:0;white-space:nowrap}
.signature-person{display:grid;gap:0;border-left:1px solid var(--footer-gold);padding-left:18px;margin-top:38px}
.signature-person h2{font-size:clamp(29px,2.5vw,35px);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--footer-gold)}
.signature-person-credentials{display:grid;gap:1px;margin-top:7px}
.signature-person p{font-size:inherit;line-height:1.35;margin:0;color:var(--footer-gold)}
.signature-person .signature-languages{margin-top:0}
.signature-contact-logo{width:280px;max-width:100%;height:auto;filter:brightness(0) invert(1);margin:8px 0 34px}
.signature-contacts{display:grid;gap:23px}
.signature-contact-row,.signature-office{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start}
.signature-contact-row{align-items:center}
.signature-symbol{width:52px;height:52px;display:grid;place-items:center;border-radius:0;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.04);color:#fff}
.signature-symbol svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.signature-contact-methods{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:inherit}
.signature-contact-methods span{color:var(--footer-gold)}
.signature-contact-email{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
html:lang(en) .signature-contact-email>span{text-transform:uppercase}
.signature-contact-email>a{max-width:100%}
.signature-offices{display:grid;gap:26px}
.signature-footer .signature-office-label{font-size:14px;line-height:1.5;letter-spacing:.025em;color:var(--footer-gold);margin:0 0 4px}
.signature-office h3{font-size:inherit;line-height:1.5;font-weight:600;letter-spacing:0;margin:0 0 9px;color:#fff}
.signature-office address{font-style:normal;font-size:inherit;line-height:1.65}
.signature-footer .signature-base{padding-bottom:30px}
.signature-base-row{border-top:1px solid var(--footer-rule);border-bottom:1px solid var(--footer-rule);padding-block:22px}
.signature-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 36px;font-size:15px;line-height:1.8}
.signature-nav .signature-search{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.signature-search img{width:16px;height:16px;flex-shrink:0}
.signature-flags{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;align-items:center;margin-top:25px}
.signature-flag-group{display:flex;gap:5px;align-items:center}
.signature-flags a{display:grid;place-items:center;width:30px;min-height:36px;border-radius:3px;transition:background .2s ease,box-shadow .2s ease}
.signature-flags a:is(:hover,:focus-visible){background:rgba(236,212,172,.28);box-shadow:5px 0 rgba(236,212,172,.28),-5px 0 rgba(236,212,172,.28)}
.signature-flags img{width:28px;height:28px;object-fit:contain}
.signature-closing{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:22px;text-align:center}
.signature-fineprint{font-size:12px;line-height:1.8;letter-spacing:.02em}
.signature-professional-marks{display:flex;justify-content:center;align-items:center;gap:22px}
.signature-mark{display:block;width:56px;height:51.2px;flex-shrink:0}
.signature-professional-marks .signature-mark img{display:block;width:100%;height:100%;object-fit:contain}


.signature-professional-marks .signature-mark-mls{display:block;width:auto;min-width:0;height:51.2px;object-fit:contain;flex-shrink:1}
.signature-legal{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:14px;font-size:11px;line-height:1.8;color:#909090}
.signature-legal a[aria-disabled=true]{cursor:default}
.signature-legal a[aria-disabled=true]:hover{color:inherit}
@media(max-width:1080px){.signature-footer .signature-body{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:36px}.signature-brand-column{grid-row:1/span 2}.signature-offices{grid-column:2}.signature-contact-logo{margin-top:0;margin-bottom:27px}}
@media(max-width:759px){.signature-footer .signature-body{grid-template-columns:1fr;gap:34px;padding-block:38px 32px}.signature-brand-column{grid-row:auto}.signature-offices{grid-column:auto}.signature-contact-logo{width:270px}.signature-brand img{width:260px}.signature-person{margin-top:33px}.signature-nav{gap:12px 22px}.signature-flags{gap:8px 12px}}
@media(pointer:coarse){.signature-flags a{width:44px;min-height:44px}.signature-flag-group{gap:0}.signature-flags{gap:4px 12px}.signature-contacts a,.signature-nav a{display:inline-flex;align-items:center;min-height:44px}}
@media(prefers-reduced-motion:reduce){.signature-footer a{transition:none}}

/* Keep the Portuguese and French flags together on the same line. */
.signature-flag-tail{display:flex;flex-wrap:nowrap;align-items:center;gap:inherit;max-width:100%;min-width:0}
.signature-flag-tail .signature-flag-group{min-width:0}

@media(max-width:759px){.signature-domain{width:260px;font-size:19px}}

/* Centered divider between the brand mark and website address. */
.signature-domain{position:relative;margin-top:8px}
.signature-domain::before{content:"";position:absolute;top:-5px;left:0;width:100%;height:1px;background:rgba(236,212,172,.5);pointer-events:none}

.signature-contact-methods a,.signature-contact-email>span{color:var(--footer-gold)}

@media(min-width:800px){.signature-nav{font-size:inherit}}

/* Shared underline motion for header and footer text links. */
.signature-footer :is(.signature-nav a,.signature-contacts a,.signature-domain){background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:color .2s ease,background-size .3s ease}
.signature-footer :is(.signature-nav a,.signature-contacts a,.signature-domain):is(:hover,:focus-visible){background-size:100% 1px}
header .main-nav a:is(:hover,:focus-visible) .nav-link-label::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.signature-footer :is(.signature-nav a,.signature-contacts a,.signature-domain){transition:none}}

/* Raise header underlines and retain a quiet current-page marker. */
header .main-nav .nav-link-label::after{bottom:-1px;transition:transform .3s ease,opacity .2s ease}
header .main-nav a[aria-current="page"] .nav-link-label::after{transform:scaleX(1);opacity:.4}
header .main-nav a:is(:hover,:focus-visible,.is-pointer-over) .nav-link-label::after{transform:scaleX(1);opacity:1}
@media(prefers-reduced-motion:reduce){header .main-nav .nav-link-label::after{transition:none}}

.signature-footer .signature-contact-methods a:is(:hover,:focus-visible){color:#fff}

/* A quiet globe watermark above the first navigation divider. */
.signature-footer{position:relative;isolation:isolate;overflow:hidden}
.signature-base{position:relative}
.signature-base::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:calc((100% - 100vw)/2 - 140px);bottom:100%;width:620px;height:620px;background:url('../images/shared/rei-globe-white-footer.png') center/contain no-repeat;filter:sepia(1) saturate(1.3) hue-rotate(350deg) brightness(.9);opacity:.12}
@media(max-width:759px){.signature-base::before{right:-140px;width:470px;height:470px;opacity:.14}}

@media(min-width:760px){.signature-base::before{right:auto;left:calc((100% - 100vw)/2 - 140px)}}

@media(min-width:1081px){.signature-base::before{left:auto;right:calc((100% - 100vw)/2 - 140px);bottom:-110px;opacity:.08}}

/* Place the brokerage logo above the name only in the single-column footer. */
.signature-mobile-broker-logo{display:none}
@media(max-width:759px){.signature-mobile-broker-logo{display:block;width:260px;max-width:100%;height:auto;filter:brightness(0) invert(1);margin:33px 0 24px}.signature-contact-column .signature-contact-logo{display:none}.signature-brand-column .signature-person{margin-top:0;border-left:0;padding-left:0}}

@media(max-width:1080px){.signature-person h2{font-size:32px}.signature-person-credentials p{font-size:17px;line-height:1.45}}
@media(min-width:1081px){.signature-person h2{font-size:33px}.signature-person-credentials p{font-size:18px;line-height:1.45}}

@media(min-width:1081px){.signature-flags img{width:42px;height:42px}.signature-flags a{width:48px;min-height:48px}}

@media(min-width:1081px){.signature-nav{font-size:20px}}

@media(min-width:760px) and (max-width:1080px){.signature-flags img{width:32px;height:32px}.signature-flags a{width:36px;min-height:40px}}

@media(min-width:800px){.signature-fineprint{font-size:14px}}

@media(min-width:1200px){.signature-fineprint{font-size:15px}}

/* The footer has its own centered width and generous side margins. */
.signature-footer>.wrap{width:min(1240px,calc(100% - clamp(64px,10vw,176px)));margin-inline:auto}
@media(max-width:759px){.signature-footer>.signature-body{width:min(400px,calc(100% - 48px));padding-block:44px 40px}.signature-footer>.signature-base{width:calc(100% - 48px)}.signature-base::before{right:calc((100% - 100vw)/2 - 90px)}}

/* Keep contact and address icons aligned in one- and two-column layouts. */
@media(max-width:1080px){.signature-footer .signature-column{width:100%;justify-self:stretch}}

/* Fine-tune the independent footer alignment at each layout size. */
@media(max-width:759px){.signature-footer>.signature-body{width:min(400px,calc(100% - clamp(24px,calc(18vw - 33.6px),100px) - 24px));margin-left:clamp(24px,calc(18vw - 33.6px),100px);margin-right:auto}}
@media(min-width:760px) and (max-width:1080px){.signature-footer .signature-body{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);column-gap:60px}.signature-footer .signature-brand-column{padding-left:40px}}

@media(min-width:1081px){.signature-footer .signature-brand-column{justify-self:start}.signature-footer .signature-offices{justify-self:end}}

@media(min-width:760px) and (max-width:1080px){.signature-base::before{left:calc((100% - 100vw)/2 - 110px)}}

.signature-professional-marks{opacity:.8}

/* Keep short phrases together. */
.nowrap, .inquiry-final-phrase { white-space: nowrap; }


/* Format alternatives share the existing image layout. */
.responsive-picture{display:contents}
.responsive-picture>source{display:none}

/* Legal links remain compact inside the mobile navigation. */
.main-nav .nav-legal a{display:inline;min-height:0;width:auto;padding:4px 0;border:0;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:0;text-shadow:none;color:inherit;text-decoration:none}
.main-nav .nav-legal a:hover{color:#ecd4ac;text-decoration:underline}
.main-nav .nav-legal a[aria-current]::before{display:none}

/* Inline inquiry result: shared typography, with colors inherited from each form. */
form.is-sent > :not(.inquiry-result){display:none!important}
form.is-sent > .inquiry-result{display:block;margin:0;padding-block:24px;outline-offset:6px}
.inquiry-result .inquiry-result-title{display:block;font-family:Poppins,Arial,sans-serif;font-weight:400;font-size:clamp(24px,2.5vw,30px);line-height:1.35;letter-spacing:-.025em;margin-bottom:14px;color:inherit}
.inquiry-result .inquiry-result-detail{display:block;font:400 17px/1.75 Poppins,Arial,sans-serif;color:inherit}
.coastal-contact-form .inquiry-result-title{color:#ecd4ac}
form[aria-busy="true"] button[type=submit]{cursor:wait;opacity:.65}
