:root {
  color-scheme: light;
  --ink: #463d32;
  --ink-dark: #263238;
  --sand: #d6b995;
  --mist: #e5d3b6;
  --slate: #8b7157;
  --signal-green: #007a33;
  --signal-green-hover: #00652b;
  --signal-red: #d50000;
  --signal-red-hover: #b00000;
  --glass: rgba(242, 231, 212, .10);
  --glass-edge: rgba(255, 255, 255, .78);
  --serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
html, body { margin: 0; min-height: 100%; }
html { hyphens:manual;word-break:normal; }
body { font-family: var(--serif); background: #dfc8a8; color: var(--ink); }
button, a { font: inherit; }
.stage { position: relative; min-height: 100svh; height: 100svh; min-height: 650px; overflow: hidden; isolation: isolate; background: #dfc8a8; }
.atmosphere { position: absolute; inset: -8%; z-index: 0; overflow: hidden; background: linear-gradient(rgba(111,78,44,.13),rgba(111,78,44,.13)),url("sandstone-atmosphere.svg") center / cover no-repeat; }
body[data-background="relief"] .atmosphere { background-image:linear-gradient(rgba(111,78,44,.11),rgba(111,78,44,.11)),url("background-relief-g.svg"); background-position:center; background-size:cover; background-repeat:no-repeat; }
body[data-background="abstract"] .atmosphere { background-image:linear-gradient(rgba(111,78,44,.10),rgba(111,78,44,.10)),url("background-abstract-g.svg"); background-position:center; background-size:cover; background-repeat:no-repeat; }
body[data-background="reference"] .atmosphere { background-color:#d5c8bb; background-image:url("references/background-option-a-current.jpg"); background-position:center center; background-size:cover; background-repeat:no-repeat; }
body[data-background="coast"] .atmosphere { background-image:linear-gradient(rgba(161,120,88,.055),rgba(161,120,88,.055)),url("https://images.unsplash.com/photo-1546177823-51a695e3cc56?auto=format&fit=crop&fm=jpg&q=85&w=3000"); background-position:center; background-size:cover; background-repeat:no-repeat; }
body[data-background="coast"] .wash, body[data-background="reference"] .wash { display:none; }
.wash { position: absolute; display: block; border-radius: 48% 52% 56% 44%; filter: blur(54px); opacity: .92; transform: rotate(-18deg); }
.wash-one { width: 56vw; height: 48vw; left: -12vw; top: -20vw; background: radial-gradient(ellipse at 50% 55%,rgba(194,157,116,.25),rgba(223,202,169,.18) 54%,transparent 74%); }
.wash-two { width: 64vw; height: 52vw; right: -18vw; top: 14vh; background: radial-gradient(ellipse at 44% 50%,rgba(255,242,218,.46),rgba(230,207,172,.23) 52%,transparent 74%); }
.wash-three { width: 76vw; height: 42vw; left: 12vw; bottom: -28vw; background: radial-gradient(ellipse at 50% 45%,rgba(167,127,87,.26),rgba(201,168,126,.16) 60%,transparent 76%); }
.wash-four { width: 44vw; height: 38vw; left: 33vw; top: 18vh; background: radial-gradient(ellipse at 45% 45%,rgba(255,248,232,.44),rgba(229,212,181,.20) 60%,transparent 78%); }
.grain { position:absolute; inset:0; opacity:.14; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
.topbar { position:absolute; top:0; left:0; right:0; height:100px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(52px,7vw,120px); z-index:3; isolation:isolate; }
.topbar::before { content:""; position:absolute; z-index:-1; top:12px; right:clamp(18px,3vw,42px); bottom:12px; left:clamp(18px,3vw,42px); border:1px solid rgba(255,255,255,.68); border-radius:13px; background:rgba(239,234,224,.012); backdrop-filter:blur(10px) saturate(148%); -webkit-backdrop-filter:blur(10px) saturate(148%); box-shadow:0 12px 36px rgba(42,43,42,.14),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(255,255,255,.25); opacity:0; transition:opacity .28s ease; pointer-events:none; }
.topbar:hover::before,.topbar:focus-within::before { opacity:1; }
.utility { display:flex; align-items:center; gap:24px; }
.utility-link,.language { color:rgba(34,43,47,.78); text-decoration:none; font-size:10px; letter-spacing:.22em; font-weight:500; }
.utility-link:focus-visible,.language:focus-visible { outline:none; }
.divider { width:42px; height:1px; background:rgba(37,48,52,.45); }
.languages { display:flex; gap:22px; }
.language { border:0; padding:6px 0; background:none; cursor:pointer; opacity:.58; }
.language.is-active { opacity:1; }
.identity { position:absolute; top:17%; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; z-index:2; }
.wordmark { position:relative; color:var(--ink); font-size:clamp(36px,3.4vw,52px); line-height:1; font-weight:300; letter-spacing:.44em; text-indent:.44em; text-decoration:none; text-shadow:0 1px 16px rgba(255,249,235,.32); white-space:nowrap; }
.wordmark::after,.business-wordmark::after,.footer-wordmark::after { content:"©"; position:absolute; top:-.24em; right:-.78em; font-size:.24em; font-weight:400; letter-spacing:0; line-height:1; text-indent:0; text-shadow:none; }
.portals { position:absolute; left:50%; top:52%; transform:translate(-50%,-39%); width:min(60vw,1100px); display:grid; grid-template-columns:1fr 1fr; gap:30px; z-index:1; }
.portal { position:relative; min-height:clamp(330px,39vh,430px); color:var(--ink); text-decoration:none; overflow:hidden; border:1.5px solid rgba(255,255,255,.92); border-radius:8px; background:linear-gradient(145deg,rgba(255,249,238,.003),rgba(88,65,44,.008)); backdrop-filter:blur(1.5px) saturate(138%) brightness(1.05); -webkit-backdrop-filter:blur(1.5px) saturate(138%) brightness(1.05); box-shadow:0 32px 82px rgba(76,51,28,.25),0 0 24px rgba(255,247,231,.16),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(255,255,255,.38),inset 12px 0 30px rgba(255,255,255,.04),inset 0 0 28px rgba(255,255,255,.025); transition:transform .65s cubic-bezier(.2,.75,.2,1),background .5s ease,border-color .5s ease,box-shadow .5s ease; }
.portal::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(118deg,rgba(255,255,255,.42),rgba(255,249,235,.12) 12%,transparent 36%,rgba(92,62,36,.07) 100%); mix-blend-mode:soft-light; pointer-events:none; }
.portal::after { content:""; position:absolute; inset:1px; z-index:1; border-radius:7px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),inset 0 18px 38px rgba(255,255,255,.04),inset 0 -24px 44px rgba(91,62,37,.025); pointer-events:none; }
.portal-art { position:absolute; inset:0; overflow:hidden; opacity:.025; transition:transform .9s cubic-bezier(.2,.75,.2,1),opacity .6s ease; }
.portal-art i,.portal-art b { position:absolute; display:block; }
.portal-estate .portal-art i { width:68%; height:112%; left:-16%; top:-34%; border-radius:48% 52% 44% 56%; transform:rotate(21deg); background:radial-gradient(ellipse at 60% 50%,rgba(246,225,204,.72),rgba(225,203,182,.28) 47%,transparent 72%); filter:blur(10px); }
.portal-estate .portal-art b { width:62%; height:145%; right:-29%; top:-30%; border-radius:50%; transform:rotate(-24deg); background:radial-gradient(ellipse at 45% 50%,rgba(169,131,91,.27),rgba(207,177,139,.19) 50%,transparent 74%); filter:blur(18px); }
.portal-development .portal-art i { width:92%; height:110%; right:-42%; top:-28%; border-radius:44% 56% 52% 48%; transform:rotate(24deg); background:radial-gradient(ellipse at 42% 44%,rgba(116,92,69,.39),rgba(164,130,94,.25) 52%,transparent 74%); filter:blur(12px); }
.portal-development .portal-art b { width:70%; height:94%; left:-30%; bottom:-49%; border-radius:50%; transform:rotate(-17deg); background:radial-gradient(ellipse at 50% 42%,rgba(255,242,220,.43),rgba(224,197,160,.22) 56%,transparent 75%); filter:blur(18px); }
.portal-content { position:relative; z-index:1; width:100%; min-height:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:38px 24px 30px; text-shadow:0 1px 12px rgba(38,48,51,.2); }
.portal-title { font-size:clamp(16px,1.35vw,20px); font-weight:300; letter-spacing:.28em; line-height:1.4; }
.portal-rule { width:clamp(54px,5vw,76px); height:1px; margin:19px 0 21px; background:rgba(255,255,255,.8); }
.portal-subtitle { font-size:11px; font-weight:400; letter-spacing:.31em; line-height:1.85; }
.portal-arrow { margin-top:56px; font-size:23px; font-weight:200; transition:transform .4s ease; }
.brand-lockup { display:grid; justify-items:center; width:max-content; color:inherit; text-align:center; white-space:nowrap; }
.brand-lockup-primary { position:relative; display:block; font-weight:300; line-height:1.05; letter-spacing:.22em; text-indent:.22em; }
.brand-lockup-primary::after { content:"©"; position:absolute; top:-.16em; right:-.72em; font-size:.28em; font-weight:400; letter-spacing:0; line-height:1; text-indent:0; }
.brand-lockup-secondary { display:block; font-weight:300; line-height:1.05; letter-spacing:.55em; }
.brand-lockup--tile { gap:5px; margin-bottom:0; }
.brand-lockup--tile .brand-lockup-primary { font-size:clamp(24px,2.35vw,34px); letter-spacing:.22em; text-indent:.22em; }
.brand-lockup--tile .brand-lockup-secondary { font-size:clamp(12px,1vw,15px); }
.brand-lockup--development .brand-lockup-secondary { font-size:clamp(11px,.9vw,13px); letter-spacing:.16em; }
.brand-lockup--real-estate .brand-lockup-secondary { display:flex; align-items:center; justify-content:center; width:90%; margin-inline:auto; letter-spacing:0; text-indent:0; transform:none; }
.brand-lockup-word { display:flex; flex:1 1 auto; align-items:center; justify-content:space-between; white-space:nowrap; }
.brand-lockup--hero { gap:4px; }
.brand-lockup--hero .brand-lockup-primary { font-size:clamp(32px,2.9vw,42px); letter-spacing:.22em; text-indent:.22em; }
.brand-lockup--hero .brand-lockup-secondary { font-size:clamp(14px,1.3vw,19px); }
.brand-lockup--expose { gap:5px; }
.brand-lockup--expose .brand-lockup-primary { font-size:clamp(32px,2.8vw,40px); }
.brand-lockup--expose .brand-lockup-secondary { font-size:clamp(14px,1.25vw,18px); }
.brand-lockup--micro { gap:2px; margin:0 auto; }
.brand-lockup--micro .brand-lockup-primary { font-size:13px; letter-spacing:.22em; text-indent:.22em; }
.brand-lockup--micro .brand-lockup-secondary { font-size:6px; }
.portal:hover,.portal:focus-visible { transform:translateY(-7px); background:linear-gradient(135deg,rgba(255,250,240,.008),rgba(88,65,44,.012)); border-color:rgba(255,255,255,1); box-shadow:0 38px 90px rgba(76,51,28,.29),0 0 30px rgba(255,247,231,.20),inset 0 1px 0 rgba(255,255,255,1),inset 0 0 46px rgba(255,255,255,.05); outline:none; }
.portal:hover .portal-art,.portal:focus-visible .portal-art { transform:scale(1.08); opacity:.07; }
.portal:hover .portal-arrow,.portal:focus-visible .portal-arrow { transform:translateX(7px); }
.portal-dialog { width:min(440px,calc(100% - 40px)); border:1px solid rgba(255,255,255,.7); padding:58px 52px 46px; color:#f7f7f4; text-align:center; background:rgba(117,132,133,.22); backdrop-filter:blur(16px) saturate(120%); -webkit-backdrop-filter:blur(16px) saturate(120%); box-shadow:0 28px 90px rgba(31,42,45,.25); }
.portal-dialog::backdrop { background:rgba(40,50,52,.25); backdrop-filter:blur(5px); }
.dialog-close { position:absolute; top:15px; right:18px; border:0; color:inherit; background:none; font-size:26px; font-weight:200; cursor:pointer; }
.dialog-kicker { font-size:9px; letter-spacing:.32em; margin:0 0 26px; opacity:.8; }
.portal-dialog h1 { font-size:19px; font-weight:300; letter-spacing:.24em; }
.dialog-copy { margin:20px 0 0; font-size:12px; letter-spacing:.07em; line-height:1.8; }
.dialog-line { display:block; margin:30px auto 0; width:58px; height:1px; background:rgba(255,255,255,.76); }
.film-section { position:relative; min-height:78svh; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; padding:78px clamp(24px,7vw,110px); overflow:hidden; background:linear-gradient(140deg,#e4d5c4 0%,#d5c1aa 58%,#c8b29b 100%); }
.contact-section { position:relative; min-height:72svh; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:24px; padding:90px clamp(24px,7vw,110px); overflow:hidden; background:#d8c5ad; }
.film-section::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(227,204,177,.54),rgba(199,173,148,.42)),url("references/background-option-a-current.jpg") center 56%/cover no-repeat; opacity:.22; filter:blur(30px) sepia(.18) saturate(.78); transform:scale(1.08); }
.site-footer { position:relative; overflow:hidden; padding:44px clamp(24px,7vw,110px) 24px; color:rgba(70,61,50,.8); background:#d8c5ad; }
.site-footer .monogram-field { grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(2,1fr); }
.footer-main,.footer-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-main { padding:0 0 30px; border-bottom:1px solid rgba(91,72,53,.25); }
.footer-wordmark { position:relative; color:var(--ink); font-size:20px; font-weight:300; letter-spacing:.28em; text-decoration:none; }
.footer-nav { display:flex; align-items:center; gap:clamp(20px,3vw,48px); }
.footer-nav a,.footer-nav button { padding:8px 0; border:0; color:inherit; background:none; font-size:9px; letter-spacing:.18em; text-decoration:none; cursor:pointer; }
.footer-nav a:hover,.footer-nav button:hover { color:var(--ink-dark); }
.footer-bottom { padding-top:19px; color:rgba(70,61,50,.62); font-size:9px; letter-spacing:.08em; }
.legal-dialog { position:relative; width:min(480px,calc(100% - 36px)); border:1px solid rgba(255,255,255,.62); padding:56px 48px 42px; color:var(--ink); text-align:center; background:rgba(225,211,193,.52); backdrop-filter:blur(16px); box-shadow:0 28px 90px rgba(79,59,39,.25); }
.legal-dialog::backdrop { background:rgba(54,46,37,.25); backdrop-filter:blur(5px); }
.legal-dialog h2 { margin:0; font-size:19px; font-weight:300; letter-spacing:.22em; }
.legal-dialog .dialog-copy { color:rgba(70,61,50,.72); }
.monogram-field { position:absolute; inset:0; z-index:0; display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(4,1fr); align-items:center; justify-items:center; overflow:hidden; pointer-events:none; }
.monogram-field span { position:relative; color:rgba(109,82,57,.072); font-size:clamp(9px,1vw,14px); font-weight:300; line-height:1; letter-spacing:.22em; white-space:nowrap; text-shadow:1px 1px 1px rgba(255,249,239,.28),-1px -1px 1px rgba(111,79,53,.08); }
.monogram-field span::after { content:"©"; position:absolute; top:-.24em; right:-.76em; font-size:.48em; font-weight:400; letter-spacing:0; text-shadow:none; }
.monogram-field span:nth-child(6n + 1) { transform:translate(-18px,-16px) rotate(7deg) scale(.86); }
.monogram-field span:nth-child(6n + 2) { transform:translate(13px,21px) rotate(-5deg) scale(1.12); }
.monogram-field span:nth-child(6n + 3) { transform:translate(-7px,-23px) rotate(4deg) scale(.72); }
.monogram-field span:nth-child(6n + 4) { transform:translate(23px,11px) rotate(-8deg) scale(.94); }
.monogram-field span:nth-child(6n + 5) { transform:translate(-20px,17px) rotate(3deg) scale(1.08); }
.monogram-field span:nth-child(4n) { opacity:.68; }
.film-kicker { position:relative; z-index:1; margin:0; color:rgba(75,62,50,.72); font-size:10px; letter-spacing:.28em; font-weight:400; }
.contact-panel { position:relative; z-index:1; width:min(82vw,1480px); display:grid; grid-template-columns:.78fr 1.22fr; align-items:start; gap:clamp(38px,6vw,96px); padding:clamp(34px,5vw,72px); border:1px solid rgba(255,255,255,.48); border-radius:5px; color:var(--ink); background:linear-gradient(125deg,rgba(255,249,239,.02),rgba(161,130,101,.01)); backdrop-filter:blur(.5px); -webkit-backdrop-filter:blur(.5px); box-shadow:0 24px 70px rgba(89,65,42,.08),inset 0 1px rgba(255,255,255,.38); }
.contact-panel h2 { margin:0; font-size:clamp(25px,3.2vw,46px); font-weight:300; letter-spacing:.045em; }
.contact-panel p { margin:16px 0 0; color:rgba(70,61,50,.72); font-size:13px; letter-spacing:.05em; }
.contact-form { display:flex; flex-direction:column; gap:21px; }
.contact-form label { display:flex; flex-direction:column; gap:9px; color:rgba(70,61,50,.78); font-size:10px; letter-spacing:.14em; }
.contact-form label small { display:inline; font-size:9px; letter-spacing:.08em; }
.contact-form input:not([type="hidden"]):not([type="file"]),.contact-form textarea,.contact-form select { width:100%; min-height:44px; border:1px solid rgba(70,61,50,.27); border-bottom-color:rgba(70,61,50,.48); border-radius:4px; padding:10px 12px; color:var(--ink); background:rgba(255,250,243,.48); box-shadow:inset 0 1px rgba(255,255,255,.38); font:inherit; font-size:14px; letter-spacing:.03em; outline:none; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.contact-form textarea { min-height:90px; resize:vertical; }
.contact-form input:not([type="hidden"]):not([type="file"]):focus,.contact-form textarea:focus,.contact-form select:focus { border-color:rgba(70,61,50,.78); background:rgba(255,252,247,.82); box-shadow:0 0 0 3px rgba(70,61,50,.10),inset 0 1px rgba(255,255,255,.5); }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(52,61,64,.58); opacity:1; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.form-submit-row { display:flex; align-items:stretch; flex-direction:column; gap:12px; }
.contact-submit { display:inline-flex; align-items:center; gap:24px; border:0; border-bottom:1px solid rgba(70,61,50,.55); padding:12px 0; color:var(--ink); background:none; font-size:11px; letter-spacing:.13em; cursor:pointer; transition:gap .25s ease; }
.form-submit-row .contact-submit { align-self:flex-start; }
.contact-submit:hover,.contact-submit:focus-visible { gap:31px; outline:none; }
.form-status:empty,#inquiry-status:empty { display:none; }
.form-status:not(:empty),#inquiry-status:not(:empty) { box-sizing:border-box; display:flex; width:100%; max-width:none; align-items:flex-start; gap:12px; margin:0 !important; padding:14px 16px; border:1px solid #c1d4c4; border-left:4px solid #16763d; border-radius:6px; color:#194c2f !important; background:#e9f2e9; box-shadow:0 4px 12px rgba(34,72,46,.06); font-size:16px !important; font-weight:500; letter-spacing:normal; line-height:1.5; }
.form-status[data-state="error"]:not(:empty),#inquiry-status[data-state="error"]:not(:empty) { border-color:#e2c6bf; border-left-color:#a64032; color:#71362f !important; background:#f7eeeb; }
.form-status[data-state="sending"]:not(:empty),#inquiry-status[data-state="sending"]:not(:empty) { border-color:#d6c8b7; border-left-color:#83715f; color:#51463b !important; background:#f3eee7; }
.form-status-icon { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border-radius:50%; color:#fff; background:#16763d; font-size:15px; font-weight:700; line-height:1; }
.form-status[data-state="error"] .form-status-icon { background:#a64032; }
.form-status-message { display:block; min-width:0; }
.inquiry-submit-row { display:grid; gap:12px; }
.contact-form-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.contact-service-fields { display:grid; gap:20px; }
.contact-service-fields[hidden] { display:none; }
.contact-upload { display:grid; gap:7px; padding:14px 16px; border:1px dashed rgba(70,61,50,.38); border-radius:6px; background:rgba(255,250,243,.15); transition:border-color .18s ease,background .18s ease; }
.contact-upload.is-dragging { border-color:var(--signal-red); background:rgba(255,250,243,.38); }
.contact-upload-label { gap:10px !important; color:var(--ink) !important; font-size:10px !important; letter-spacing:.08em !important; }
.contact-upload-label input[type="file"] { min-height:42px; padding:7px 0 0; border:0; background:transparent; font-size:12px; }
.contact-upload-help { margin:0 !important; color:rgba(70,61,50,.68) !important; font-size:10px !important; line-height:1.5 !important; }
.contact-upload-preview { display:grid; gap:7px; }
.contact-upload-item { display:flex; min-width:0; align-items:center; gap:10px; padding:6px; border-radius:4px; background:rgba(255,255,255,.26); }
.contact-upload-item img,.contact-upload-file-icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:4px; object-fit:cover; background:rgba(70,61,50,.12); color:var(--ink); font-size:9px; }
.contact-upload-meta { min-width:0; flex:1; overflow:hidden; color:var(--ink); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.contact-upload-remove { border:0; padding:6px 8px; color:var(--signal-red); background:transparent; font:inherit; font-size:10px; cursor:pointer; }
.service-location { display:grid; gap:8px; }
.service-location > label { color:rgba(70,61,50,.78); font-size:10px; letter-spacing:.14em; }
.service-location-control { position:relative; }
.service-location-control input { width:100%; }
.service-location-suggestions { position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:230px;overflow:auto;border:1px solid rgba(70,61,50,.2);border-radius:5px;background:rgba(247,240,231,.98);box-shadow:0 12px 28px rgba(49,41,33,.16); }
.service-location-suggestions[hidden] { display:none; }
.service-location-option { display:block;width:100%;border:0;border-bottom:1px solid rgba(70,61,50,.1);padding:11px 13px;color:var(--ink-dark);background:transparent;font:inherit;font-size:13px;line-height:1.45;text-align:left;cursor:pointer; }
.service-location-option:hover,.service-location-option:focus-visible { background:rgba(141,41,37,.08);outline:none; }
.service-location-note { margin:0;padding:11px 13px;color:rgba(70,61,50,.76);font-size:11px;line-height:1.5; }
.service-location-map-toggle { justify-self:start;border:1px solid var(--signal-red);border-radius:4px;padding:10px 13px;color:var(--signal-red);background:transparent;font:inherit;font-size:10px;letter-spacing:.04em;cursor:pointer; }
.service-location-map-toggle:hover,.service-location-map-toggle:focus-visible { color:#fff;background:var(--signal-red);outline:none; }
.service-location-map-wrap { display:grid;gap:8px; }
.service-location-map-wrap[hidden] { display:none; }
.service-location-map { width:100%;height:250px;overflow:hidden;border:1px solid rgba(70,61,50,.2);border-radius:5px;background:#e8e9e6; }
.service-location-status { min-height:0;margin:0;color:rgba(70,61,50,.72);font-size:10px;line-height:1.45; }
.service-location-status:empty { display:none; }
.film-kicker span { padding:0 9px; opacity:.6; }
.film-teaser { position:relative; z-index:1; display:block; width:min(72vw,1200px); aspect-ratio:16/9; min-height:300px; max-height:60vh; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:5px; color:white; text-align:left; background:#334145; cursor:pointer; box-shadow:0 28px 90px rgba(28,35,37,.28),inset 0 1px rgba(255,255,255,.5); }
.film-teaser img,.video-poster img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; transition:transform 1s cubic-bezier(.2,.75,.2,1),filter .7s ease; }
.film-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(25,34,36,.03) 24%,rgba(24,31,34,.48)),linear-gradient(90deg,rgba(20,29,31,.15),transparent 58%); }
.film-play { position:absolute; left:50%; top:50%; width:74px; height:74px; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(238,242,238,.015); backdrop-filter:blur(5px) saturate(130%); -webkit-backdrop-filter:blur(5px) saturate(130%); box-shadow:inset 0 1px rgba(255,255,255,.5),0 6px 24px rgba(15,24,26,.18); transition:transform .45s ease,background .45s ease; }
.film-play span { width:0; height:0; margin-left:5px; border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:13px solid rgba(255,255,255,.95); filter:drop-shadow(0 1px 3px rgba(0,0,0,.2)); }
.film-caption { position:absolute; left:clamp(22px,3vw,48px); bottom:clamp(20px,3vw,44px); font-size:clamp(14px,1.4vw,19px); font-weight:300; letter-spacing:.34em; text-shadow:0 2px 18px rgba(0,0,0,.3); }
.film-caption::after { content:"©"; position:absolute; top:-.24em; right:-.78em; font-size:.28em; font-weight:400; letter-spacing:0; text-shadow:none; }
.film-teaser:hover img,.film-teaser:focus-visible img { transform:scale(1.035); filter:saturate(1.04) brightness(.96); }
.film-teaser:hover .film-play,.film-teaser:focus-visible .film-play { transform:translate(-50%,-50%) scale(1.08); background:rgba(238,242,238,.03); }
.film-teaser:focus-visible { outline:2px solid white; outline-offset:5px; }
.video-dialog { position:relative; width:min(92vw,1500px); max-width:none; max-height:90svh; aspect-ratio:16/9; border:1px solid rgba(255,255,255,.56); padding:0; color:white; background:#20282a; box-shadow:0 28px 110px rgba(0,0,0,.36); }
.video-dialog::backdrop { background:rgba(18,24,25,.76); backdrop-filter:blur(8px); }
.video-close { z-index:3; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.subpage-video-dialog { position:relative; width:min(96vw,1600px); max-width:none; max-height:min(94vh,940px); min-height:0; border:0; border-radius:0; padding:0; background:#172327; overflow:hidden; }
.subpage-video-dialog::backdrop { background:rgba(24,29,30,.76); backdrop-filter:blur(8px); }
.subpage-video-player { display:block; width:100%; aspect-ratio:16/9; margin:0; background:#172327; object-fit:contain; border:0; outline:0; }
.subpage-video-close { position:absolute; top:12px; right:12px; z-index:2; display:grid; width:40px; height:40px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.62); border-radius:50%; color:#fff; background:rgba(23,35,39,.52); font-size:28px; font-weight:300; line-height:1; cursor:pointer; }
.subpage-video-close:focus { outline:none; }
.subpage-video-close:focus-visible { outline:2px solid rgba(255,255,255,.84); outline-offset:3px; }
.video-poster { position:absolute; inset:0; overflow:hidden; background:#283234; }
.video-poster img { filter:brightness(.56) saturate(.78); }
.video-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:24px; text-shadow:0 2px 18px rgba(0,0,0,.35); }
.video-placeholder h2 { margin:17px 0 0; font-size:clamp(18px,2vw,27px); font-weight:300; letter-spacing:.27em; }
.video-placeholder p:last-child { margin:14px 0 0; font-size:12px; letter-spacing:.1em; color:rgba(255,255,255,.78); }
@media (max-width:900px) { .portals { width:72vw; gap:18px; } .portal { min-height:340px; } .portal-title { letter-spacing:.2em; } .contact-panel { grid-template-columns:1fr; gap:26px; } .contact-panel h2 { font-size:clamp(26px,3vw,32px); } }
@media (max-width:640px) {
  .stage { height:auto; min-height:100svh; }
  .topbar { height:74px; padding:0 22px; }
  .utility { gap:12px; } .utility-link { font-size:9px; letter-spacing:.12em; } .divider { width:20px; }
  .languages { gap:12px; } .language { font-size:9px; }
  .identity { top:13%; } .wordmark { font-size:32px; letter-spacing:.32em; text-indent:.32em; }
  .portals { position:relative; top:auto; left:auto; transform:none; width:auto; margin:0 22px; padding-top:30vh; padding-bottom:95px; grid-template-columns:1fr; gap:15px; }
  .portal { min-height:245px; }
  .portal-content { padding:28px 16px; }
  .portal-title { font-size:15px; }
  .portal-rule { margin:16px 0 17px; }
  .portal-subtitle { font-size:9px; }
  .portal-arrow { margin-top:22px; }
  .film-section { min-height:78svh; padding:82px 18px; gap:18px; }
  .contact-section { min-height:65svh; padding:72px 18px; gap:18px; }
  .contact-panel { width:100%; grid-template-columns:1fr; gap:30px; padding:30px 24px; }
  .contact-panel h2 { font-size:25px; }
  .contact-panel p { font-size:11px; line-height:1.7; }
  .form-row { grid-template-columns:1fr; gap:21px; }
  .form-submit-row { align-items:flex-start; flex-direction:column; gap:16px; }
  .contact-submit { font-size:10px; }
  .site-footer { padding:34px 22px 20px; }
  .footer-main,.footer-bottom { align-items:flex-start; flex-direction:column; gap:21px; }
  .footer-main { padding-bottom:22px; }
  .footer-nav { width:100%; justify-content:flex-end; flex-wrap:wrap; gap:12px 22px; text-align:right; }
  .footer-nav a,.footer-nav button { font-size:8px; }
  .footer-bottom { gap:9px; font-size:8px; }
  .monogram-field { grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(8,1fr); }
  .film-kicker { font-size:8px; letter-spacing:.2em; }
  .film-teaser { width:100%; aspect-ratio:4/5; min-height:300px; max-height:72svh; }
  .film-play { width:60px; height:60px; }
  .video-dialog { width:calc(100vw - 26px); max-height:82svh; aspect-ratio:9/14; }
  .video-placeholder h2 { font-size:17px; letter-spacing:.18em; }
  .video-placeholder p:last-child { font-size:10px; line-height:1.6; }
}

/* Shared first-pass layout for the two business area pages. */
.business-page { min-height:100vh; background:linear-gradient(145deg,#e4d5c4 0%,#d8c5ad 58%,#cfb99f 100%); color:var(--ink); }
.business-topbar { position:fixed; top:0; left:0; right:0; isolation:isolate; z-index:10; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:28px; min-height:86px; padding:14px clamp(24px,4vw,64px); }
.business-topbar.estate-topbar { left:50%; right:auto; width:max-content; max-width:calc(100vw - 28px); height:64px; min-height:64px; padding:0 26px; display:flex; justify-content:center; gap:0; transform:translateX(-50%); }
.estate-property-page .business-topbar.estate-topbar { column-gap:clamp(20px,2vw,30px); }
.business-topbar.estate-topbar::before { inset:8px 0; border-radius:999px; }
.estate-nav-cluster { display:flex; align-items:center; justify-content:center; gap:clamp(12px,1.35vw,20px); }
.business-topbar.estate-topbar .business-global { justify-self:auto; gap:clamp(12px,1.5vw,20px); }
.business-topbar.estate-topbar .business-languages { justify-self:auto; gap:12px; }
.property-header-actions { display:flex; align-items:center; gap:clamp(12px,1.4vw,18px); }
.property-header-divider { width:1px; height:22px; background:rgba(38,50,56,.23); }
.business-global .property-home-link { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 9px; border:1px solid rgba(255,255,255,.68); border-radius:6px; background:rgba(255,255,255,.2); }
.property-home-link svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.business-topbar::before { content:""; position:absolute; z-index:-1; inset:8px clamp(18px,3vw,42px); border:1px solid rgba(255,255,255,.76); border-radius:13px; background:rgba(239,234,224,.56); backdrop-filter:blur(16px) saturate(148%); -webkit-backdrop-filter:blur(16px) saturate(148%); box-shadow:0 12px 36px rgba(42,43,42,.14),inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(255,255,255,.3); opacity:0; transition:opacity .28s ease; pointer-events:none; }
.business-topbar:hover::before,.business-topbar:has(:focus-visible)::before,.business-topbar.is-scrolled::before { opacity:1; }
.business-topbar a { color:rgba(38,50,56,.82); font-size:9px; font-weight:500; letter-spacing:.15em; line-height:1.4; text-decoration:none; white-space:nowrap; transition:color .2s ease; }
.business-topbar a:hover,.business-topbar a:focus-visible { color:var(--ink-dark); }
.business-page main { padding-top:var(--business-header-height,86px); }
.business-global,.business-local,.business-languages { display:flex; align-items:center; }
.business-global { justify-self:start; gap:clamp(12px,1.5vw,24px); }
.business-global .business-wordmark { position:relative; color:var(--ink); font-size:13px; font-weight:300; letter-spacing:.25em; }
.business-local { justify-self:center; gap:clamp(18px,2.8vw,44px); }
.business-languages { justify-self:end; gap:17px; }
.business-languages .language { color:rgba(38,50,56,.74); font-size:9px; letter-spacing:.16em; }
.business-languages .language.is-active { color:var(--ink-dark); }
.business-intro { width:min(880px,calc(100% - 48px)); min-height:54svh; margin:0 auto; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:92px 0 76px; }
.business-kicker { margin:0 0 22px; color:rgba(70,61,50,.68); font-size:9px; font-weight:500; letter-spacing:.26em; }
.business-intro h1 { margin:0; color:var(--ink-dark); font-size:clamp(28px,4.2vw,58px); font-weight:300; letter-spacing:.25em; text-indent:.25em; }
.business-lead { max-width:760px; margin:30px 0 0; color:rgba(52,54,51,.82); font-size:clamp(14px,1.15vw,17px); font-weight:300; line-height:1.9; letter-spacing:.025em; }
.estate-search-hero { --estate-clearance:136px; position:relative; width:100%; height:calc(100svh - var(--business-header-height,86px)); min-height:660px; margin:0; padding:0; overflow:hidden; text-align:center; }
.estate-brand { position:absolute; z-index:3; top:calc(var(--estate-clearance) / 2); left:clamp(24px,5vw,78px); right:auto; transform:translateY(-50%); color:var(--ink-dark); }
.estate-brand.brand-lockup--hero { justify-items:center; text-align:center; }
.estate-slideshow { position:absolute; inset:var(--estate-clearance) 0 0; overflow:hidden; background:#9a968b; }
.estate-slide { position:absolute; inset:0; opacity:0; background-color:#85847b; background-image:linear-gradient(115deg,#5a6060 0%,#a39a8b 43%,#6c7674 100%); background-position:center; background-size:cover; transform:scale(1.015); transition:opacity .8s ease,transform 6s ease; }
.estate-slide:nth-child(2) { background-image:linear-gradient(135deg,#374044 0%,#b6a991 48%,#515c5c 100%); }
.estate-slide.is-active { z-index:1; opacity:1; transform:scale(1); }
.estate-slide::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(22,29,31,.08) 0%,rgba(22,29,31,.02) 42%,rgba(22,29,31,.28) 100%); }
.estate-slide::after { content:attr(data-empty-label); position:absolute; left:22px; bottom:22px; padding:8px 11px; border:1px solid rgba(255,255,255,.44); border-radius:4px; color:rgba(255,255,255,.82); background:rgba(32,41,42,.16); font-size:8px; letter-spacing:.15em; backdrop-filter:blur(8px); }
.estate-slide.has-image::after { display:none; }
.estate-slideshow-controls { position:absolute; z-index:2; top:17px; right:clamp(18px,3vw,44px); display:flex; align-items:center; gap:12px; }
.estate-slide-arrow,.estate-slide-dots button { display:grid; place-items:center; width:33px; height:33px; padding:0; border:1px solid rgba(255,255,255,.65); border-radius:50%; color:#fff; background:rgba(32,41,42,.22); backdrop-filter:blur(9px); cursor:pointer; transition:background .2s ease,transform .2s ease; }
.estate-slide-arrow { font-size:20px; font-weight:300; line-height:1; }
.estate-slide-arrow:hover,.estate-slide-dots button:hover { background:rgba(32,41,42,.5); transform:translateY(-1px); }
.estate-slide-dots { display:flex; gap:7px; }
.estate-slide-dots button { width:8px; height:8px; border:1px solid rgba(255,255,255,.9); background:rgba(255,255,255,.3); }
.estate-slide-dots button.is-active { background:#fff; }
.estate-slide-arrow:focus-visible,.estate-slide-dots button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.estate-search-stack { position:absolute; z-index:4; left:50%; bottom:24px; width:min(1220px,calc(100% - 48px)); transform:translateX(-50%); }
.estate-search-stack .property-search { max-width:none; padding:10px; border-color:rgba(255,255,255,.78); background:rgba(246,240,231,.72); backdrop-filter:blur(20px) saturate(138%); -webkit-backdrop-filter:blur(20px) saturate(138%); box-shadow:0 18px 52px rgba(15,24,26,.23),inset 0 1px rgba(255,255,255,.76); }
.estate-search-stack .location-suggestions { top:auto; bottom:calc(100% + 15px); }
.estate-search-stack .property-search-status { margin:8px 0 0; color:rgba(255,255,255,.9); text-shadow:0 1px 7px rgba(0,0,0,.45); }
.property-search { width:100%; max-width:1120px; display:grid; grid-template-columns:minmax(135px,1.05fr) minmax(145px,.95fr) minmax(165px,1.1fr) minmax(205px,1.25fr) minmax(185px,auto); align-items:stretch; gap:8px; padding:11px; border:1px solid rgba(255,255,255,.7); border-radius:14px; background:rgba(246,240,231,.42); backdrop-filter:blur(15px) saturate(132%); -webkit-backdrop-filter:blur(15px) saturate(132%); box-shadow:0 20px 60px rgba(89,65,42,.12),inset 0 1px rgba(255,255,255,.68); text-align:left; }
.property-search > label { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:9px; padding:13px 13px; border-right:1px solid rgba(70,61,50,.14); }
.search-location { position:relative; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:9px; padding:13px 13px; border-right:1px solid rgba(70,61,50,.14); }
.search-location > label { color:rgba(70,61,50,.62); font-size:8px; font-weight:500; letter-spacing:.17em; }
.location-control { position:relative; min-width:0; }
.location-control > input { display:block; }
.location-suggestions { position:absolute; z-index:8; top:calc(100% + 15px); left:-13px; right:-13px; overflow:hidden; padding:5px; border:1px solid rgba(255,255,255,.82); border-radius:9px; background:rgba(249,246,239,.96); box-shadow:0 16px 34px rgba(49,46,40,.18); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); text-align:left; }
.location-suggestions[hidden] { display:none; }
.location-suggestion { display:block; width:100%; padding:11px 12px; border:0; border-radius:5px; color:var(--ink-dark); background:transparent; font:inherit; font-size:12px; text-align:left; cursor:pointer; }
.location-suggestion:hover,.location-suggestion[aria-selected="true"] { background:rgba(203,187,164,.35); }
.location-suggestion-note { padding:11px 12px; color:rgba(70,61,50,.68); font-size:11px; }
.property-search label span { color:rgba(70,61,50,.62); font-size:8px; font-weight:500; letter-spacing:.17em; }
.property-search input,.property-search select { width:100%; min-width:0; border:0; outline:0; color:var(--ink-dark); background:transparent; font:inherit; font-size:14px; letter-spacing:.03em; }
.property-search input::placeholder { color:rgba(70,61,50,.56); }
.property-search select { cursor:pointer; }
.search-price-range { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:9px; padding:13px 12px; border-right:1px solid rgba(70,61,50,.14); }
.search-field-heading { color:rgba(70,61,50,.62); font-size:8px; font-weight:500; letter-spacing:.17em; }
.search-price-inputs { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.property-search .search-price-bound { min-width:0; display:flex; flex-direction:column; gap:5px; padding:0; border:0; }
.property-search .search-price-bound > label { font-size:7px; }
.price-input { display:flex; align-items:center; gap:5px; min-width:0; color:rgba(70,61,50,.65); }
.number-stepper-field { display:flex; flex:1 1 auto; width:100%; min-width:0; }
.number-stepper-buttons { display:none; }
.property-search .price-input input { font-size:12px; }
.property-search .price-input input::placeholder { font-size:10px; }
.property-search-submit { display:flex; align-items:center; justify-content:center; gap:18px; min-width:220px; border:1px solid rgba(38,50,56,.18); border-radius:9px; padding:0 21px; color:#f7f4ee; background:#344348; font:inherit; font-size:9px; letter-spacing:.14em; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.property-search-submit:hover,.property-search-submit:focus-visible { background:#263238; transform:translateY(-1px); }
.property-search-submit:focus-visible { outline:2px solid var(--ink-dark); outline-offset:3px; }
.property-search-status { min-height:1.4em; margin:16px 0 0; color:rgba(70,61,50,.62); font-size:10px; letter-spacing:.04em; }
.property-search-status:empty { display:none; }
.estate-results { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:32px 0 76px; border-top:1px solid rgba(255,255,255,.52); }
.results-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:14px; }
.results-heading-main { display:flex; align-items:center; flex-wrap:wrap; gap:14px 18px; min-width:0; }
.estate-results .business-kicker { margin:0 0 13px; }
.estate-results h2 { margin:0; color:var(--ink-dark); font-size:clamp(18px,2.1vw,27px); font-weight:300; letter-spacing:.18em; }
.results-sort { display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:4px 8px 4px 11px; border:1px solid rgba(52,67,72,.2); border-radius:7px; color:rgba(52,67,72,.72); background:rgba(246,240,231,.2); }
.results-sort-label { font-size:8px; font-weight:600; letter-spacing:.1em; white-space:nowrap; }
.results-sort select { max-width:210px; min-height:26px; padding:2px 22px 2px 7px; border:1px solid rgba(52,67,72,.18); border-radius:4px; color:var(--ink-dark); background:rgba(246,240,231,.55); font:inherit; font-size:9px; letter-spacing:.035em; cursor:pointer; }
.results-sort select:focus-visible { outline:2px solid var(--ink-dark); outline-offset:2px; }
.results-view-switch { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid rgba(255,255,255,.65); border-radius:9px; background:rgba(246,240,231,.3); }
.results-view-switch button { min-height:34px; padding:0 12px; border:0; border-radius:6px; color:rgba(52,54,51,.7); background:transparent; font:inherit; font-size:8px; letter-spacing:.1em; cursor:pointer; }
.results-view-switch button.is-active { color:#f7f4ee; background:#344348; }
.results-view-switch button:focus-visible,.live-map-marker:focus-visible { outline:2px solid var(--ink-dark); outline-offset:2px; }
.prototype-note { margin:12px 0 17px; color:rgba(70,61,50,.63); font-size:10px; letter-spacing:.035em; }
.results-workspace { display:grid; grid-template-columns:minmax(310px,.88fr) minmax(0,1.12fr); gap:18px; align-items:stretch; min-height:510px; }
.results-workspace[data-results-view="map"] { grid-template-columns:1fr; }
.results-workspace[data-results-view="map"] .listing-list,.results-workspace[data-results-view="list"] .map-panel { display:none; }
.results-workspace[data-results-view="list"] { grid-template-columns:1fr; min-height:0; }
.listing-list { display:grid; grid-template-rows:repeat(3,minmax(145px,1fr)); gap:10px; }
.listing-card { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr); gap:16px; min-width:0; overflow:hidden; padding:9px; border:1px solid rgba(255,255,255,.54); border-radius:10px; background:rgba(246,240,231,.3); text-align:left; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.listing-card.is-selected { border-color:rgba(52,67,72,.42); background:rgba(255,252,245,.53); }
.listing-image { position:relative; min-height:126px; overflow:hidden; border-radius:6px; background-color:rgba(160,151,137,.24); background-size:cover; background-position:center; touch-action:pan-y; }
.listing-image > img { display:block; width:100%; height:100%; min-height:126px; object-fit:cover; object-position:center; }
.listing-image-arrow { position:absolute; z-index:4; top:50%; display:grid; place-items:center; width:28px; height:34px; padding:0; border:0; border-radius:0; color:rgba(255,255,255,.9); background:transparent; font:300 24px/1 Arial,sans-serif; text-shadow:0 1px 6px rgba(0,0,0,.7); transform:translateY(-50%); cursor:pointer; touch-action:manipulation; transition:color .18s ease,opacity .18s ease,transform .18s ease; }
.listing-image-prev { left:4px; }
.listing-image-next { right:4px; }
.listing-image-arrow:hover { color:#fff; transform:translateY(-50%) scale(1.08); }
.listing-image-arrow:focus-visible { outline:2px solid rgba(255,255,255,.92); outline-offset:2px; }
.listing-image-empty { display:flex; min-height:126px; align-items:center; justify-content:center; padding:12px; color:rgba(52,67,72,.62); font-size:10px; letter-spacing:.06em; text-align:center; }
.listing-image-count { position:absolute; right:7px; bottom:7px; padding:4px 7px; border-radius:12px; color:#fff; background:rgba(27,36,39,.72); font-size:9px; letter-spacing:.04em; }
.property-availability-badge { position:absolute; z-index:3; top:10px; left:10px; display:inline-flex; align-items:center; justify-content:center; max-width:calc(100% - 20px); padding:7px 10px; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:4px; color:#fff; background:#87423c; box-shadow:0 2px 8px rgba(35,28,25,.18); font-size:9px; font-weight:600; letter-spacing:.12em; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
.property-availability-badge[hidden] { display:none !important; }
.property-availability-badge--expose:not([data-availability="coming_soon"]) { top:20px; left:20px; width:clamp(170px,18vw,236px); min-height:58px; padding:12px 18px; border-radius:6px; font-size:14px; letter-spacing:.13em; }
.property-availability-badge[data-availability="coming_soon"] { width:clamp(170px,18vw,236px); max-width:calc(100% - 40px); padding:0; overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; }
.property-availability-badge[data-availability="coming_soon"] > img { display:block; width:100%; height:auto; object-fit:contain; }
.listing-image .property-availability-badge[data-availability="coming_soon"] { top:8px; left:8px; width:clamp(70px,8vw,92px); max-width:calc(100% - 16px); }
.property-gallery-main .property-availability-badge[data-availability="coming_soon"] { top:20px; left:20px; }
.listing-image-one { background-image:linear-gradient(155deg,transparent 44%,rgba(47,56,52,.38)),linear-gradient(180deg,rgba(239,221,191,.12),rgba(58,70,69,.15)),linear-gradient(135deg,#c9bba8 0 38%,#aa9885 38% 60%,#7a817b 60%); }
.listing-image-two { background-image:linear-gradient(155deg,transparent 44%,rgba(47,56,52,.34)),linear-gradient(135deg,#d7c9b6 0 28%,#b8ad9e 28% 57%,#7d8988 57%); }
.listing-image-three { background-image:linear-gradient(155deg,transparent 44%,rgba(47,56,52,.31)),linear-gradient(135deg,#c6b89e 0 35%,#9d9b86 35% 70%,#788177 70%); }
.listing-card > div:last-child { min-width:0; align-self:stretch; display:flex; flex-direction:column; padding:7px 8px 7px 0; }
.listing-meta { display:none; }
.listing-card h3 { margin:0; color:var(--ink-dark); font-size:13px; font-weight:400; letter-spacing:.04em; }
.listing-place { margin:6px 0 11px; color:rgba(70,61,50,.68); font-size:10px; }
.listing-price { margin:0; color:#344348; font-size:11px; font-weight:500; letter-spacing:.02em; }
.listing-price-period { display:inline; color:inherit; font-size:inherit; font-weight:inherit; letter-spacing:inherit; line-height:inherit; white-space:nowrap; }
.listing-price-value { white-space:normal; }
.listing-facts { margin:8px 0 0; color:rgba(52,67,72,.75); font-size:9px; line-height:1.5; }
.listing-actions { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:flex-end; gap:9px 14px; width:100%; margin-top:auto; padding-top:12px; }
.listing-map-button,.listing-detail-link { padding:0; border:0; color:#344348; background:none; font:inherit; font-size:8px; letter-spacing:.09em; text-decoration:none; cursor:pointer; }
.listing-detail-link { display:inline-flex; width:min(50%,220px); max-width:50%; align-items:center; justify-content:space-between; gap:12px; padding:9px 13px; border:1px solid rgba(115,78,49,.28); border-radius:5px; color:#fff; background:#8a6345; box-shadow:0 3px 9px rgba(69,48,31,.13); font-size:8.5px; font-weight:600; letter-spacing:.1em; transition:background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.listing-detail-link::after { content:'→'; font-size:12px; line-height:1; }
.listing-map-button:hover { text-decoration:underline; text-underline-offset:3px; }
.listing-detail-link:hover { border-color:#344348; color:#fff; background:#344348; box-shadow:0 5px 13px rgba(38,49,53,.2); transform:translateY(-1px); }
.listing-map-button:focus-visible,.listing-detail-link:focus-visible { outline:2px solid #344348; outline-offset:3px; }
.estate-property-page { color:var(--ink-dark); }
.property-detail-main { position:relative; min-height:80svh; padding:124px 0 78px; }
.property-detail-shell { width:min(1220px,calc(100% - 48px)); margin:0 auto; }
.property-back-link { display:inline-block; margin:0 0 26px; color:rgba(52,67,72,.8); font-size:8px; letter-spacing:.13em; text-decoration:none; }
.property-back-link:hover { color:#8a6345; }
.property-brand { align-content:center; margin:0; color:var(--ink-dark); }
.property-loading { min-height:40svh; display:grid; place-items:center; margin:0; color:rgba(52,67,72,.72); font-size:13px; letter-spacing:.05em; }
.property-detail[hidden],.property-loading[hidden] { display:none; }
.property-detail-heading { display:grid; grid-template-columns:minmax(255px, .82fr) minmax(250px, 1.3fr) minmax(310px, .95fr); align-items:center; gap:clamp(24px,3vw,46px); margin:0 0 30px; padding:25px clamp(24px,3vw,42px); border:1px solid rgba(255,255,255,.76); border-radius:10px; background:rgba(255,252,247,.45); box-shadow:0 16px 42px rgba(73,62,47,.07),inset 0 1px 0 rgba(255,255,255,.72); }
.property-heading-copy { min-width:0; text-align:center; }
.property-detail-heading h1 { min-width:0; margin:0; color:var(--ink-dark); font-size:clamp(19px,1.7vw,24px); font-weight:400; letter-spacing:.075em; line-height:1.35; overflow-wrap:anywhere; }
.property-taxonomy { margin:0 0 11px; color:rgba(52,67,72,.8); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.property-taxonomy[hidden] { display:none; }
.property-location { max-width:100%; margin:9px 0 0 auto; color:rgba(52,67,72,.75); font-size:11px; letter-spacing:.035em; line-height:1.45; text-align:right; overflow-wrap:anywhere; }
.property-heading-actions { display:grid; justify-items:end; gap:12px; min-width:0; }
.property-detail-price { display:grid; justify-items:end; gap:8px; min-width:min(100%,270px); box-sizing:border-box; margin:0; padding:14px 18px; border:1px solid rgba(82,107,88,.22); border-radius:7px; color:#263238; background:rgba(255,255,255,.58); box-shadow:0 7px 22px rgba(52,67,72,.06),inset 0 1px 0 rgba(255,255,255,.88); font-size:clamp(22px,2.2vw,30px); font-weight:500; letter-spacing:.015em; }
.property-price-label { color:#526b58; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.property-detail-price strong { font-weight:500; line-height:1.15; }
.property-detail-price.is-price-on-request strong { color:#526b58; font-size:clamp(18px,1.6vw,22px); font-weight:600; letter-spacing:.015em; }
.property-taxonomy[hidden],.expose-action-status:empty { display:none; }
.property-gallery { overflow:hidden; }
.property-gallery[hidden] { display:none !important; }
.property-gallery-main { position:relative; display:grid; place-items:center; min-height:300px; max-height:670px; aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(255,255,255,.66); border-radius:12px; background:linear-gradient(135deg,#d3c5b3,#9ea8a6 62%,#697577); box-shadow:0 20px 50px rgba(50,48,41,.1); touch-action:pan-y; }
.property-gallery-main > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.property-gallery-main > img[hidden] { display:none; }
.property-gallery-empty { max-width:320px; margin:0; padding:16px; color:rgba(255,255,255,.9); font-size:10px; letter-spacing:.12em; text-align:center; text-shadow:0 1px 6px rgba(0,0,0,.25); }
.property-gallery-arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:34px; height:42px; padding:0; border:0; border-radius:0; color:rgba(255,255,255,.92); background:transparent; font:300 30px/1 Arial,sans-serif; text-shadow:0 1px 7px rgba(0,0,0,.72); transform:translateY(-50%); cursor:pointer; touch-action:manipulation; transition:color .18s ease,opacity .18s ease,transform .18s ease; }
.property-gallery-arrow:hover { color:#fff; transform:translateY(-50%) scale(1.08); }
.property-gallery-arrow:focus-visible { outline:2px solid rgba(255,255,255,.92); outline-offset:3px; }
.property-gallery-arrow[hidden] { display:none; }
.property-gallery-prev { left:18px; }
.property-gallery-next { right:18px; }
.property-gallery-count { position:absolute; right:17px; bottom:16px; padding:7px 10px; border:1px solid rgba(255,255,255,.58); border-radius:14px; color:#fff; background:rgba(28,37,39,.45); font-size:9px; letter-spacing:.08em; backdrop-filter:blur(8px); }
.property-gallery-thumbs { display:flex; gap:9px; overflow:auto; padding:11px 1px 2px; }
.property-gallery-thumbs[hidden] { display:none; }
.property-gallery-thumb { flex:0 0 108px; height:70px; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.8); border-radius:5px; background:#c9c0b2; opacity:.68; cursor:pointer; }
.property-gallery-thumb.is-active { border-color:#344348; opacity:1; box-shadow:0 0 0 1px #344348; }
.property-gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.property-media-section { margin:38px 0 0; }
.property-media-section[hidden] { display:none !important; }
.property-media-section > h2 { margin:0 0 16px; color:var(--ink-dark); font-size:clamp(18px,2vw,25px); font-weight:300; letter-spacing:.1em; }
.property-floorplans { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:18px; }
.property-floorplans a { display:grid; place-items:center; min-height:180px; padding:14px; border:1px solid rgba(255,255,255,.8); border-radius:8px; background:rgba(255,252,246,.55); }
.property-floorplans img { display:block; width:100%; max-height:520px; object-fit:contain; }
.property-video-frame { position:relative; isolation:isolate; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:10px; background:#000; }
.property-video-frame iframe,.property-video-frame video { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; border:0; object-fit:contain; pointer-events:auto; }
.property-video-frame video.property-video-pending { opacity:0; }
.property-video-poster { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; width:100%; height:100%; padding:24px; border:0; color:#fff; background:rgba(0,0,0,.08); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); cursor:pointer; }
.property-video-poster-play { position:relative; isolation:isolate; display:grid; width:clamp(124px,13vw,168px); aspect-ratio:1.58; place-items:center; overflow:hidden; border:0; border-radius:10px; background:linear-gradient(145deg,rgba(255,24,43,.48),rgba(205,0,24,.28)); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(255,255,255,.12),inset 0 0 24px rgba(255,38,56,.16),0 18px 42px rgba(0,0,0,.36),0 0 30px rgba(255,0,28,.26); -webkit-backdrop-filter:blur(28px) saturate(190%) brightness(1.24); backdrop-filter:blur(28px) saturate(190%) brightness(1.24); transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.property-video-poster-play::before { position:relative; z-index:1; width:0; height:0; margin-left:7px; border-top:clamp(15px,1.7vw,21px) solid transparent; border-bottom:clamp(15px,1.7vw,21px) solid transparent; border-left:clamp(25px,2.5vw,33px) solid #fff; filter:drop-shadow(0 1px 3px rgba(10,18,19,.35)); content:""; }
.property-video-poster-play::after { position:absolute; z-index:0; inset:1px 1px 54%; border-radius:9px 9px 5px 5px; background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0)); content:""; pointer-events:none; }
.property-video-poster-label { color:rgba(255,255,255,.94); font-size:12px; font-weight:600; letter-spacing:.28em; text-shadow:0 2px 8px rgba(0,0,0,.75); }
.property-video-poster:hover .property-video-poster-play { transform:translateY(-2px) scale(1.025); filter:brightness(1.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(255,255,255,.16),inset 0 0 28px rgba(255,38,56,.2),0 22px 48px rgba(0,0,0,.42),0 0 36px rgba(255,0,28,.34); }
.property-video-poster:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
.property-facts { margin:30px 0 0; }
.property-facts-heading { margin:0 0 14px; color:rgba(52,67,72,.72); font-size:9px; font-weight:500; letter-spacing:.18em; }
.property-facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.property-fact { display:grid; justify-items:center; align-content:center; gap:7px; min-height:145px; padding:17px 12px; border:1px solid rgba(255,255,255,.8); border-radius:8px; background:rgba(255,252,246,.52); box-shadow:0 8px 24px rgba(73,62,47,.055),inset 0 1px 0 rgba(255,255,255,.72); text-align:center; }
.property-fact strong { color:#263b35; font-size:clamp(24px,2.6vw,34px); font-weight:400; letter-spacing:.015em; line-height:1.05; }
.property-fact span { color:rgba(42,58,53,.78); font-size:9px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.property-detail-columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.82fr); gap:clamp(26px,4.2vw,62px); padding:48px 0 16px; align-items:start; }
.property-detail-columns h2,.property-map-heading h2,.property-contact-cta h2 { margin:0; color:var(--ink-dark); font-size:clamp(20px,2.5vw,30px); font-weight:300; letter-spacing:.1em; }
.property-detail-columns .business-kicker,.property-map-heading .business-kicker,.property-contact-cta .business-kicker { margin-bottom:13px; }
.property-contact-cta .brand-lockup--micro { margin:0 0 13px; }
.property-description-section { min-width:0; padding:28px clamp(24px,3vw,38px); border:1px solid rgba(255,255,255,.78); border-radius:9px; background:rgba(255,252,247,.4); box-shadow:0 12px 32px rgba(73,62,47,.045),inset 0 1px 0 rgba(255,255,255,.7); }
.property-original-language { margin:7px 0 0; color:rgba(52,54,51,.62); font-size:12px; line-height:1.45; letter-spacing:.015em; }
.property-description-section h2 { position:relative; padding-bottom:16px; }
.property-description-section h2::after { content:""; position:absolute; left:0; bottom:0; width:48px; height:1px; background:rgba(82,107,88,.52); }
.property-description { max-width:68ch; margin-top:20px; color:rgba(52,54,51,.88); font-size:15px; font-weight:300; line-height:1.85; }
.property-description p { margin:0 0 1em; }
.property-description p:last-child { margin-bottom:0; }
.property-description div { margin:0 0 1em; }
.property-description div:last-child { margin-bottom:0; }
.property-description li > div { margin:0; }
.property-description b,.property-description strong { color:#263238; font-weight:700; }
.property-description a { position:relative; z-index:2; color:#87423c; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; pointer-events:auto; cursor:pointer; }
.property-description a:hover,.property-description a:focus-visible { color:#263238; }
.property-attributes { display:grid; align-content:start; gap:13px; }
.property-attributes section[hidden] { display:none; }
.property-attributes section:not([hidden]) { padding:17px 18px 18px; border:1px solid rgba(255,255,255,.78); border-radius:8px; background:rgba(255,252,247,.38); box-shadow:0 8px 22px rgba(73,62,47,.035),inset 0 1px 0 rgba(255,255,255,.68); }
.property-attributes .business-kicker { margin:0 0 12px; color:rgba(52,67,72,.84); font-size:11px; font-weight:600; letter-spacing:.15em; }
.property-attributes ul { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.property-attributes li { display:inline-flex; align-items:center; min-height:31px; box-sizing:border-box; padding:6px 10px; border:1px solid rgba(82,107,88,.16); border-radius:5px; color:rgba(52,54,51,.92); background:rgba(255,255,255,.47); font-size:12px; line-height:1.45; }
.property-taxonomy:not([hidden]) { display:inline-flex; align-items:center; min-height:30px; box-sizing:border-box; margin:0 0 12px; padding:5px 11px; border:1px solid rgba(82,107,88,.22); border-radius:5px; color:#49634f; background:rgba(255,255,255,.48); font-size:13px; font-weight:600; letter-spacing:.13em; }
.property-detail-price { border-color:rgba(82,107,88,.14); background:rgba(255,252,247,.3); box-shadow:0 4px 14px rgba(52,67,72,.025),inset 0 1px 0 rgba(255,255,255,.46); }
.property-detail-price.is-price-on-request strong { color:#58755e; }
.property-detail-columns { grid-template-columns:minmax(0,1.45fr) minmax(300px,.82fr); gap:clamp(28px,4vw,58px); }
.property-description-section { padding:clamp(22px,2.6vw,32px); border:1px solid rgba(255,255,255,.34); border-radius:9px; background:rgba(223,200,168,.08); box-shadow:5px 6px 15px rgba(99,75,51,.12),-4px -4px 14px rgba(255,246,231,.42),inset 1px 1px 1px rgba(255,255,255,.42),inset -1px -1px 1px rgba(132,101,70,.07); }
.property-description-section h2 { font-size:clamp(23px,2.6vw,31px); letter-spacing:.075em; }
.property-description { max-width:64ch; margin-top:24px; color:rgba(43,49,46,.9); font-size:16px; line-height:1.9; }
.property-attributes { gap:15px; }
.property-attributes section:not([hidden]) { position:relative; overflow:visible; padding:17px 18px 18px; border:1px solid rgba(255,255,255,.32); border-radius:8px; background:rgba(223,200,168,.07); box-shadow:4px 5px 12px rgba(99,75,51,.1),-3px -3px 11px rgba(255,246,231,.38),inset 1px 1px 1px rgba(255,255,255,.38),inset -1px -1px 1px rgba(132,101,70,.06); }
.property-attributes section:not([hidden])::before { content:none; }
.property-attributes section:last-child:not([hidden]) { border-bottom:1px solid rgba(255,255,255,.32); }
.property-attributes .business-kicker { margin-bottom:9px; color:rgba(52,67,72,.72); font-size:10px; letter-spacing:.16em; }
.property-attributes ul { gap:0 10px; }
.property-attributes li { position:relative; min-height:0; padding:1px 10px 1px 0; border:0; border-radius:0; color:rgba(48,58,53,.86); background:transparent; font-size:12px; line-height:1.55; }
.property-attributes li:not(:last-child)::after { content:"·"; padding-left:10px; color:rgba(82,107,88,.62); }
.property-map-section { margin:50px 0 0; }
.property-map-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:16px; }
.property-map-heading > p { margin:0; color:rgba(52,67,72,.68); font-size:9px; letter-spacing:.04em; }
#expose-map { width:100%; height:clamp(420px,58svh,620px); min-height:420px; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:10px; background:#e9e4d9; box-shadow:0 15px 42px rgba(89,65,42,.08); }
.expose-map-marker { width:19px; height:19px; border:3px solid #fff; border-radius:50% 50% 50% 0; background:#a37954; box-shadow:0 3px 14px rgba(24,32,34,.35); transform:rotate(-45deg); }
.property-contact-cta { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:54px; padding:26px 30px; border:1px solid rgba(255,255,255,.72); border-radius:10px; background:rgba(246,240,231,.3); backdrop-filter:blur(12px); }
.property-contact-link { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:47px; padding:0 18px; border:1px solid rgba(255,255,255,.54); border-radius:6px; color:#fff; background:#344348; font-size:8px; letter-spacing:.12em; text-decoration:none; }
.property-contact-link { min-width:220px; font:inherit; font-size:11px; font-weight:500; letter-spacing:.1em; cursor:pointer; }
.property-contact-link:hover { background:#263238; }
.property-contact-link:focus-visible,.property-gallery-arrow:focus-visible,.property-gallery-thumb:focus-visible { outline:2px solid #344348; outline-offset:3px; }
.property-floating-contact,.property-floating-search { position:fixed; z-index:11; top:56%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; width:58px; min-width:58px; height:clamp(244px,19vw,260px); min-height:244px; padding:17px 0; border:1px solid rgba(255,255,255,.96); color:#fff; background:var(--signal-green); box-shadow:0 12px 30px rgba(13,47,28,.32),inset 0 1px 0 rgba(255,255,255,.3); font:inherit; font-size:12px; font-weight:700; letter-spacing:.11em; text-decoration:none; text-transform:uppercase; cursor:pointer; transform:translateY(-50%); transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.property-floating-contact { right:0; border-right:0; border-radius:8px 0 0 8px; }
.property-floating-search { left:0; border-left:0; border-radius:0 8px 8px 0; background:var(--signal-red); box-shadow:0 12px 30px rgba(100,0,0,.28),inset 0 1px 0 rgba(255,255,255,.3); }
.property-floating-contact[hidden],.property-floating-search[hidden] { display:none !important; }
.property-floating-contact:hover,.property-floating-search:hover { color:#fff; background:var(--signal-green-hover); box-shadow:0 12px 30px rgba(13,47,28,.34); transform:translateY(calc(-50% - 2px)); }
.property-floating-search:hover { background:var(--signal-red-hover); box-shadow:0 12px 30px rgba(100,0,0,.34); }
.property-floating-contact:focus-visible,.property-floating-search:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.property-floating-contact-icon { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.78); border-radius:50%; font-size:18px; line-height:1; }
.property-floating-contact-label,.property-floating-search-label { writing-mode:vertical-rl; white-space:nowrap; }
.property-floating-contact-label { transform:rotate(180deg); }
.property-mobile-actions { display:contents; }
.property-inquiry-dialog { position:fixed; width:min(720px,calc(100% - 32px)); max-width:none; max-height:min(88svh,900px); overflow:auto; padding:clamp(24px,4vw,42px); border:1px solid rgba(255,255,255,.88); border-radius:12px; color:var(--ink-dark); background:#e7d9c8; box-shadow:0 24px 80px rgba(20,28,29,.32); }
.property-inquiry-dialog::backdrop { background:rgba(17,25,27,.58); backdrop-filter:blur(5px); }
.property-inquiry-dialog > .business-kicker { margin-bottom:12px; }
.property-inquiry-dialog > .brand-lockup--micro { margin:0 0 12px; }
.property-inquiry-dialog h2 { max-width:85%; margin:0 0 25px; color:var(--ink-dark); font-size:clamp(23px,3vw,34px); font-weight:300; letter-spacing:.06em; }
.property-inquiry-close { position:sticky; float:right; top:0; z-index:3; }
.property-inquiry-form { display:grid; gap:15px; }
.property-inquiry-form label { display:grid; gap:7px; color:rgba(52,67,72,.83); font-size:9px; letter-spacing:.1em; }
.property-inquiry-form input:not([type="hidden"]),.property-inquiry-form textarea { width:100%; min-height:44px; padding:11px 13px; border:1px solid rgba(52,67,72,.38); border-radius:5px; color:#263238; background:rgba(255,255,255,.88); box-shadow:inset 0 1px rgba(255,255,255,.7); font:inherit; font-size:13px; letter-spacing:normal; }
.property-inquiry-form textarea { min-height:112px; resize:vertical; line-height:1.6; }
.property-inquiry-form input[readonly] { background:rgba(255,255,255,.46); }
.inquiry-reference-row { display:grid; grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr); gap:14px; }
.inquiry-submit-row { display:grid; justify-items:start; gap:10px; }
.inquiry-submit-row > p { margin:0; color:rgba(52,67,72,.72); font-size:11px; line-height:1.6; }
.inquiry-submit { border:1px solid rgba(255,255,255,.58); }
.property-back-link { display:inline-flex; align-items:center; gap:11px; min-height:40px; margin:0 0 22px; padding:0 16px; border:1px solid rgba(255,255,255,.62); border-radius:6px; color:#fff; background:#a34843; box-shadow:0 5px 14px rgba(89,43,39,.16); font-size:9px; font-weight:600; letter-spacing:.12em; transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.property-back-link:hover { color:#fff; background:#843b37; box-shadow:0 7px 18px rgba(89,43,39,.22); transform:translateY(-1px); }
.property-back-link:focus-visible { outline:2px solid #843b37; outline-offset:3px; }
.property-header-back { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:0 12px; border:1px solid rgba(255,255,255,.62); border-radius:6px; color:#fff !important; background:#a34843; box-shadow:0 4px 12px rgba(89,43,39,.15); font-size:8px !important; font-weight:600 !important; letter-spacing:.1em !important; }
.property-header-back:hover,.property-header-back:focus-visible { color:#fff !important; background:#843b37; }
.property-header-back:focus-visible { outline:2px solid #843b37; outline-offset:3px; }
.property-fact-icon { width:34px; height:34px; margin-bottom:2px; padding:6px; border:1px solid rgba(82,107,88,.25); border-radius:50%; fill:none; stroke:#526b58; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.property-print-location { margin:18px 0 0 !important; padding:12px 0; border-top:1px solid #d8d5cf; color:#4e5a58; font-size:10pt; }
.property-print-location-label { color:#526b58; font-size:7pt; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.property-print-location-value { color:#263238; }
.property-utility-actions { display:grid; grid-template-columns:repeat(3,auto); justify-content:end; align-items:center; gap:8px; margin:0; }
.expose-tool-button { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0 12px; border:1px solid rgba(52,67,72,.2); border-radius:5px; color:#344348; background:rgba(255,255,255,.32); font:inherit; font-size:9px; letter-spacing:.04em; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.expose-tool-button > span:first-child { color:#617966; font-size:14px; }
.expose-tool-button:hover { border-color:rgba(82,107,88,.5); background:rgba(255,255,255,.62); transform:translateY(-1px); }
.expose-tool-button:focus-visible { outline:2px solid #526b58; outline-offset:3px; }
.expose-action-status { grid-column:1/-1; margin:0; color:rgba(52,67,72,.72); font-size:10px; text-align:right; }
@media(max-width:980px) {
  .property-detail-heading { grid-template-columns:minmax(250px,.72fr) minmax(220px,1fr); gap:22px; }
  .property-brand { width:max-content; }
  .property-heading-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; width:100%; }
  .property-detail-price { justify-items:start; }
}
@media(max-width:760px) {
  .property-detail-main { padding:calc(var(--business-header-height) + 72px) 0 55px; }
  .property-detail-shell { width:calc(100% - 34px); }
  .property-detail-heading { grid-template-columns:1fr; align-items:center; justify-items:center; gap:20px; text-align:center; }
  .property-detail-price { width:100%; justify-items:center; text-align:center; font-size:21px; }
  .property-brand { width:max-content; max-width:100%; margin:0 auto; }
  .brand-lockup--expose .brand-lockup-primary { font-size:27px; }
  .brand-lockup--expose .brand-lockup-secondary { font-size:12px; }
  .property-detail-heading h1 { font-size:21px; }
  .property-heading-copy { width:100%; text-align:center; }
  .property-heading-actions { grid-column:auto; display:grid; justify-items:start; gap:12px; }
  .property-gallery-main { min-height:230px; aspect-ratio:4/3; border-radius:8px; }
  .property-availability-badge--expose:not([data-availability="coming_soon"]) { top:12px; left:12px; width:auto; min-height:0; padding:8px 11px; border-radius:4px; font-size:9px; letter-spacing:.12em; }
  .property-gallery-main .property-availability-badge[data-availability="coming_soon"] { top:12px; left:12px; width:clamp(88px,24vw,108px); max-width:calc(100% - 24px); }
  .property-gallery-thumb { flex-basis:84px; height:58px; }
  .property-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .property-fact { min-height:126px; }
  .property-detail-columns { grid-template-columns:1fr; gap:38px; padding-top:38px; }
  .property-map-heading { align-items:flex-start; flex-direction:column; }
  #expose-map { height:300px; min-height:300px; }
  .property-contact-cta { align-items:flex-start; flex-direction:column; margin-top:38px; padding:22px; }
  .property-contact-link { width:100%; }
  .property-detail-shell { width:calc(100% - 34px); margin-right:auto; margin-left:auto; }
  .property-detail { margin-top:56px; }
  .property-mobile-actions { display:flex; position:fixed; top:var(--business-header-height); left:0; right:0; z-index:49; width:100%; margin:0; padding:8px 14px; gap:10px; background:#e4d5c4; border-bottom:1px solid rgba(38,50,56,.12); box-shadow:0 4px 12px rgba(46,42,36,.12); }
  .property-mobile-actions .property-floating-contact,
  .property-mobile-actions .property-floating-search { position:static; display:flex; flex:1 1 0; width:auto; min-width:0; height:auto; min-height:48px; padding:10px 12px; flex-direction:row; gap:8px; border:1px solid rgba(255,255,255,.88); border-radius:6px; transform:none; font-size:10px; letter-spacing:.08em; }
  .property-mobile-actions .property-floating-contact { background:var(--signal-green); }
  .property-mobile-actions .property-floating-search { background:var(--signal-red); }
  .property-mobile-actions .property-floating-contact:hover,
  .property-mobile-actions .property-floating-contact:focus-visible,
  .property-mobile-actions .property-floating-search:hover,
  .property-mobile-actions .property-floating-search:focus-visible { transform:translateY(-1px); }
  .property-mobile-actions .property-floating-contact-icon { width:24px; height:24px; flex:0 0 24px; font-size:16px; }
  .property-mobile-actions .property-floating-contact-label,
  .property-mobile-actions .property-floating-search-label { writing-mode:horizontal-tb; transform:none; white-space:normal; text-align:center; }
  .inquiry-reference-row { grid-template-columns:1fr; }
  .property-utility-actions { grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:stretch; width:100%; }
  .expose-tool-button { justify-content:center; padding:0 8px; }
  .expose-action-status { text-align:left; }
}
.map-panel { min-width:0; min-height:510px; overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:11px; background:rgba(246,240,231,.35); box-shadow:0 15px 42px rgba(89,65,42,.08); }
.map-canvas { position:relative; width:100%; height:100%; min-height:510px; overflow:hidden; background:#e9e4d9; }
#property-map { position:absolute; inset:0; width:100%; height:100%; min-height:inherit; }
.map-area-search { position:absolute; z-index:5; top:14px; left:14px; max-width:calc(100% - 92px); min-height:38px; padding:0 13px; border:1px solid rgba(52,67,72,.12); border-radius:6px; color:#f8f5ef; background:#344348; box-shadow:0 3px 12px rgba(32,42,42,.15); font-family:inherit; font-size:8px; font-weight:500; line-height:1.3; letter-spacing:.1em; cursor:pointer; }
.map-area-search:disabled { color:rgba(52,67,72,.72); background:rgba(255,253,247,.92); cursor:default; }
.map-area-search:not(:disabled):hover { background:#263238; }
.map-instruction { position:absolute; z-index:4; left:13px; bottom:7px; max-width:calc(100% - 110px); margin:0; padding:5px 7px; border-radius:3px; color:rgba(52,67,72,.75); background:rgba(255,253,247,.85); font-size:8px; letter-spacing:.025em; pointer-events:none; }
.live-map-marker { display:block; padding:8px 10px; border:1px solid rgba(255,255,255,.86); border-radius:6px 6px 6px 2px; color:#f9f6ef; background:#344348; box-shadow:0 5px 15px rgba(32,42,42,.22); font:500 10px/1 Arial,sans-serif; white-space:nowrap; cursor:pointer; transition:transform .18s ease,background .18s ease; }
.live-map-marker::after { content:""; position:absolute; left:-1px; bottom:-6px; width:9px; height:9px; border-left:1px solid rgba(255,255,255,.86); background:inherit; transform:skewY(-38deg); }
.live-map-marker:hover,.live-map-marker.is-selected { transform:translateY(-3px); background:#a37954; }
.live-map-marker:focus-visible { outline:2px solid #263238; outline-offset:3px; }
.maplibregl-ctrl-group { overflow:hidden; border:1px solid rgba(52,67,72,.13) !important; border-radius:6px !important; box-shadow:0 4px 12px rgba(32,42,42,.1) !important; }
.maplibregl-ctrl-group button { background-color:rgba(255,253,247,.94) !important; }
.maplibregl-ctrl-attrib { color:#53605e !important; background:rgba(255,253,247,.86) !important; }
.maplibregl-ctrl-attrib a { color:#344348 !important; }
.estate-market { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:36px 0 70px; }
.estate-market .business-kicker { margin-bottom:18px; }
.market-contact { display:inline-block; margin-top:22px; padding:10px 0; border-bottom:1px solid rgba(70,61,50,.48); color:var(--ink); font-size:10px; letter-spacing:.1em; text-decoration:none; }
.market-contact:hover,.market-contact:focus-visible { color:var(--ink-dark); border-color:var(--ink-dark); }
.business-paths { width:min(1120px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,6vw,90px); padding:28px 0 100px; }
.business-path { min-height:190px; padding:30px 0 0; border-top:1px solid rgba(255,255,255,.62); scroll-margin-top:112px; }
.business-path .business-kicker { margin-bottom:24px; }
.business-path h2 { margin:0; color:var(--ink-dark); font-size:clamp(15px,1.6vw,21px); font-weight:300; letter-spacing:.17em; }
.business-path > p:last-child { margin:16px 0 0; color:rgba(70,61,50,.72); font-size:11px; line-height:1.8; letter-spacing:.12em; }
.business-about { width:min(880px,calc(100% - 48px)); margin:0 auto; padding:44px 0 110px; border-top:1px solid rgba(255,255,255,.52); scroll-margin-top:112px; text-align:center; }
.business-about .business-kicker { margin-bottom:20px; }
.business-about .business-lead { margin:0 auto; }
.business-footer { display:flex; align-items:center; justify-content:space-between; padding:20px clamp(24px,4vw,64px); border-top:1px solid rgba(255,255,255,.28); color:rgba(70,61,50,.62); font-size:9px; letter-spacing:.12em; }
.business-footer a { color:inherit; text-decoration:none; }

/* Project Development: three clear routes, one concise process, one direct enquiry. */
.development-intro { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:clamp(72px,8vw,92px) 0 0; }
.development-intro-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:center; column-gap:clamp(36px,6vw,78px); padding:0 0 clamp(36px,4.5vw,58px); }
.development-brand-lockup { display:flex; width:max-content; max-width:100%; flex-direction:column; align-items:center; gap:12px; color:var(--ink-dark); line-height:1; }
.development-brand-lockup > span { position:relative; white-space:nowrap; font-size:clamp(44px,5.2vw,70px); font-weight:300; letter-spacing:.22em; }
.development-brand-lockup > span::after { content:"©"; position:absolute; right:-.76em; top:-.22em; font-size:.28em; letter-spacing:0; }
.development-brand-lockup strong { display:flex; width:80%; justify-content:space-between; align-self:center; min-width:0; margin-inline:auto; font-size:clamp(12px,1.25vw,17px); font-weight:300; letter-spacing:.08em; white-space:nowrap; }
.development-intro-copy { width:min(100%,560px); min-width:0; }
.development-intro-copy .business-kicker { margin-bottom:13px; }
.development-intro-copy h1 { margin:0; color:var(--ink-dark); font-size:clamp(28px,3vw,40px); font-weight:300; letter-spacing:.035em; line-height:1.08; }
.development-intro-copy .business-lead { max-width:640px; margin:17px 0 0; color:rgba(52,54,51,.78); font-size:clamp(14px,1.1vw,16px); font-weight:300; line-height:1.8; text-align:justify; text-align-last:left; }
.development-hero-image { position:relative; left:50%; width:100vw; aspect-ratio:16 / 7; margin:0; transform:translateX(-50%); overflow:hidden; border:1px solid rgba(255,255,255,.72); background:#c9b99f; box-shadow:0 24px 52px rgba(68,50,34,.2),inset 0 1px 0 rgba(255,255,255,.45); }
.development-hero-image::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(36,51,58,.12),transparent 38%),linear-gradient(0deg,rgba(36,51,58,.22),transparent 36%); }
.development-hero-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.development-path-section,.development-process,.development-proof,.development-contact { width:min(1120px,calc(100% - 48px)); margin:0 auto; }
.development-section-heading { margin-bottom:26px; text-align:center; }
.development-section-heading .business-kicker { margin-bottom:12px; }
.development-section-heading h2,.development-proof h2,.development-contact h2 { margin:0; color:var(--ink-dark); font-size:clamp(21px,2.4vw,32px); font-weight:300; line-height:1.35; letter-spacing:.045em; }
.project-development-page .development-path-section .development-section-heading h2 { font-size:clamp(29px,3.8vw,46px);font-weight:400;line-height:1.2;letter-spacing:.025em; }
.project-development-page .business-paths { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:14px 0 76px; }
.project-development-page .business-path { min-height:272px; padding:24px 22px 25px; border:1px solid rgba(255,255,255,.63); border-radius:8px; background:linear-gradient(145deg,rgba(255,250,241,.26),rgba(255,250,241,.08)); box-shadow:0 12px 30px rgba(80,61,43,.055),inset 0 1px rgba(255,255,255,.44); }
.project-development-page .business-path .business-kicker { margin-bottom:32px; color:rgba(70,61,50,.66); }
.project-development-page .business-path h3 { margin:0; color:var(--ink-dark); font-size:clamp(14px,1.3vw,18px); font-weight:500; letter-spacing:.115em; line-height:1.5; }
.project-development-page .business-path .development-path-prompt { margin:16px 0 0; color:var(--ink-dark); font-size:14px; font-weight:400; line-height:1.55; letter-spacing:.015em; }
.project-development-page .business-path > p:last-child { margin:10px 0 0; color:rgba(70,61,50,.79); font-size:12px; line-height:1.75; letter-spacing:.015em; }
.development-process { padding:0 0 82px; }
.development-process-list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; counter-reset:development-stage; }
.development-process-list li { min-height:82px; display:flex; flex-direction:column; justify-content:center; gap:9px; padding:12px 13px; border-top:1px solid rgba(70,61,50,.35); color:var(--ink-dark); font-size:12px; line-height:1.45; letter-spacing:.025em; counter-increment:development-stage; }
.development-process-list li::before { content:"0" counter(development-stage); color:rgba(70,61,50,.65); font-size:9px; letter-spacing:.17em; }
.development-proof { display:flex; align-items:center; justify-content:space-between; gap:32px; margin:0 auto 76px; padding:34px clamp(22px,4vw,48px); border:1px solid rgba(255,255,255,.28); border-radius:9px; color:#f7f1e7; background:linear-gradient(115deg,#344247,#4c5553); box-shadow:0 18px 44px rgba(39,47,48,.14),inset 0 1px rgba(255,255,255,.16); }
.development-proof .business-kicker { margin-bottom:13px; color:rgba(247,241,231,.68); }
.development-proof h2 { color:#f7f1e7; }
.development-projects-copy { max-width:590px; margin:14px 0 0; color:rgba(247,241,231,.78); font-size:13px; line-height:1.7; }
.development-project-volume { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; gap:7px; margin:0; text-align:right; }
.development-project-volume strong { color:#f7f1e7; font-size:clamp(28px,4vw,48px); font-weight:300; letter-spacing:.035em; white-space:nowrap; }
.development-project-volume span { color:rgba(247,241,231,.73); font-size:10px; letter-spacing:.1em; }
.development-contact { display:flex; flex-direction:column; align-items:center; margin-bottom:92px; padding:44px 24px; border-top:1px solid rgba(255,255,255,.55); text-align:center; scroll-margin-top:130px; }
.development-contact .business-kicker { margin-bottom:14px; }
.development-contact h2 { max-width:760px; }
.development-contact-button { display:inline-flex; align-items:center; gap:22px; margin-top:25px; padding:15px 20px; border-radius:5px; color:#fff; background:var(--signal-green); box-shadow:0 8px 20px rgba(0,76,32,.17); font-size:10px; font-weight:600; letter-spacing:.105em; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.development-contact-button:hover,.development-contact-button:focus-visible { background:var(--signal-green-hover); transform:translateY(-1px); }
.development-contact-button:focus-visible { outline:2px solid var(--ink-dark); outline-offset:3px; }
@media (max-width:1050px) {
  .business-topbar { grid-template-columns:1fr auto; gap:12px 20px; }
  .business-global { grid-column:1; grid-row:1; }
  .business-languages { grid-column:2; grid-row:1; }
  .business-local { grid-column:1 / -1; grid-row:2; justify-self:center; padding:8px 0 4px; }
  .property-search { grid-template-columns:1fr 1fr; }
  .search-price-range { min-height:76px; }
  .property-search-submit { grid-column:1 / -1; min-height:52px; }
  .results-workspace { grid-template-columns:1fr; }
  .listing-list { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; }
  .listing-card { grid-template-columns:1fr; gap:9px; }
  .listing-image { min-height:135px; }
  .listing-card > div:last-child { padding:3px 5px 6px; }
}
@media (max-width:640px) {
  .business-topbar { grid-template-columns:1fr auto; min-height:0; padding:15px 18px; }
  .business-topbar.estate-topbar { padding-right:clamp(18px,5vw,34px); padding-left:clamp(18px,5vw,34px); }
  .business-global { flex-wrap:wrap; gap:10px 14px; max-width:calc(100vw - 130px); }
  .business-global .business-wordmark { width:100%; margin-bottom:2px; }
  .business-topbar a { font-size:8px; letter-spacing:.1em; }
  .business-local { grid-column:1 / -1; gap:16px; justify-content:flex-start; width:100%; overflow-x:auto; }
  .business-local a { font-size:8px; }
  .business-languages { gap:11px; }
  .business-intro { width:calc(100% - 40px); min-height:55svh; padding:70px 0 58px; }
  .business-intro h1 { font-size:clamp(25px,8vw,38px); letter-spacing:.15em; text-indent:.15em; }
  .business-lead { margin-top:24px; font-size:14px; line-height:1.75; }
  .estate-search-hero { min-height:680px; }
  .brand-lockup--hero { gap:3px; }
  .brand-lockup--hero .brand-lockup-primary { font-size:clamp(24px,7vw,32px); letter-spacing:.22em; text-indent:.22em; }
  .brand-lockup--hero .brand-lockup-secondary { font-size:clamp(12px,3.4vw,15px); }
  .estate-slideshow { top:88px; }
  .estate-search-stack { bottom:15px; width:calc(100% - 28px); }
  .estate-search-stack .location-suggestions { top:auto; bottom:calc(100% + 12px); }
  .estate-slide::after { left:12px; bottom:12px; font-size:7px; }
  .estate-slideshow-controls { top:12px; right:12px; }
  .property-search { grid-template-columns:1fr; gap:6px; padding:10px; border-radius:11px; }
  .property-search > label { min-height:66px; border-right:0; border-bottom:1px solid rgba(70,61,50,.14); padding:12px 11px; }
  .search-location { min-height:66px; border-right:0; border-bottom:1px solid rgba(70,61,50,.14); padding:12px 11px; }
  .location-suggestions { left:-11px; right:-11px; top:calc(100% + 12px); }
  .search-price-range { min-height:76px; border-right:0; border-bottom:1px solid rgba(70,61,50,.14); padding:12px 11px; }
  .search-price-inputs { grid-template-columns:1fr 1fr; gap:18px; }
  .property-search-submit { grid-column:auto; min-width:0; min-height:54px; margin-top:4px; }
  .estate-results { width:calc(100% - 36px); }
  .results-heading-row { align-items:flex-start; flex-direction:column; gap:18px; }
  .results-heading-main { width:100%; align-items:flex-start; flex-direction:column; gap:12px; }
  .results-sort { width:100%; justify-content:space-between; }
  .results-sort select { flex:1; max-width:none; }
  .results-view-switch { width:100%; }
  .results-view-switch button { flex:1; padding:0 5px; font-size:7px; }
  .results-workspace { min-height:0; }
  .listing-list { grid-template-columns:1fr; grid-template-rows:auto; }
  .listing-card { grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr); }
  .listing-image { min-height:128px; }
  .listing-image .property-availability-badge[data-availability="coming_soon"] { top:7px; left:7px; width:60px; max-width:calc(100% - 14px); }
  .map-panel,.map-canvas { min-height:410px; }
  .results-workspace[data-results-view="map"] .map-panel { min-height:56svh; }
  .estate-results,.estate-market { width:calc(100% - 40px); }
  .estate-results { padding:27px 0 56px; }
  .business-paths { width:calc(100% - 40px); grid-template-columns:1fr; gap:18px; padding-bottom:64px; }
  .business-path { min-height:130px; padding-top:23px; }
  .business-about { width:calc(100% - 40px); padding:35px 0 72px; scroll-margin-top:132px; }
  .business-path { scroll-margin-top:132px; }
  .development-intro { width:calc(100% - 40px); padding-top:58px; }
  .development-intro-heading { grid-template-columns:1fr; row-gap:0; padding-bottom:27px; }
  .development-brand-lockup { justify-self:center; gap:8px; }
  .development-brand-lockup span { font-size:clamp(42px,10vw,62px); }
  .development-brand-lockup strong { font-size:clamp(10px,2.8vw,13px); }
  .development-intro-copy { width:100%; margin-top:29px; }
  .development-intro-copy h1 { font-size:clamp(27px,7.5vw,39px); text-align:left; }
  .development-intro-copy .business-lead { margin-top:13px; font-size:14px; line-height:1.72; }
  .development-hero-image { aspect-ratio:16 / 10; }
  .development-hero-image img { object-position:26% center; }
  .development-path-section,.development-process,.development-proof,.development-contact { width:calc(100% - 40px); }
  .project-development-page .business-paths { padding-bottom:58px; }
  .project-development-page .business-path { min-height:0; padding:21px 18px 23px; }
  .project-development-page .business-path .business-kicker { margin-bottom:18px; }
  .development-process { padding-bottom:58px; }
  .development-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; }
  .development-process-list li { min-height:69px; padding:10px 9px; }
  .development-proof { align-items:flex-start; flex-direction:column; gap:23px; margin-bottom:58px; padding:26px 21px; }
  .development-project-volume { align-items:flex-start; text-align:left; }
  .development-contact { margin-bottom:64px; padding:35px 0; }
  .development-contact-button { justify-content:space-between; width:100%; max-width:390px; gap:10px; padding:15px; font-size:9px; }
}
@media (max-width:640px) {
  .development-intro { padding-top:28px; }
  .development-intro-heading { padding-bottom:25px; }
  .development-hero-image { aspect-ratio:16 / 10; }
}

/* Shared GLAMBURY header area selector. */
.business-areas-menu { position:relative; display:inline-flex; align-items:center; color:inherit; }
.business-areas-menu > summary { display:inline-flex; min-height:34px; align-items:center; gap:7px; padding:0 1px; color:rgba(38,50,56,.82); font:inherit; font-size:9px; font-weight:500; letter-spacing:.15em; line-height:1.4; white-space:nowrap; text-transform:uppercase; list-style:none; cursor:pointer; }
.business-areas-menu > summary::-webkit-details-marker { display:none; }
.business-areas-menu > summary::after { content:""; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .18s ease; }
.business-areas-menu[open] > summary::after { transform:rotate(225deg) translate(-1px,-1px); }
.business-areas-menu > summary:hover,.business-areas-menu > summary:focus-visible { color:var(--ink-dark); }
.business-areas-menu > summary:focus-visible { outline:2px solid rgba(52,67,72,.62); outline-offset:4px; border-radius:2px; }
.business-areas-panel { position:absolute; z-index:100; top:calc(100% + 9px); left:-13px; display:grid; min-width:205px; gap:3px; padding:7px; border:1px solid rgba(255,255,255,.74); border-radius:8px; background:rgba(239,234,224,.97); box-shadow:0 14px 34px rgba(42,43,42,.19),inset 0 1px rgba(255,255,255,.84); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); }
.business-areas-panel a { display:flex; min-height:40px; align-items:center; padding:0 11px; border-radius:5px; color:rgba(38,50,56,.88); font-size:9px; font-weight:500; letter-spacing:.08em; line-height:1.35; text-decoration:none; white-space:normal; }
.business-areas-panel a:hover,.business-areas-panel a:focus-visible { color:var(--ink-dark); background:rgba(255,255,255,.58); }
.project-development-page .business-areas-menu > summary { font-size:9px; }

/* Project routes read as distinct choices and each carries its context into contact. */
.project-development-page .business-paths .business-path { position:relative; display:block; overflow:hidden; color:inherit; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.project-development-page .business-path::before { content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--path-accent); }
.project-development-page .business-path[data-path-theme="private"] { --path-accent:#71836f; border-color:rgba(113,131,111,.38); background:linear-gradient(145deg,rgba(241,242,229,.66),rgba(248,244,233,.28)); }
.project-development-page .business-path[data-path-theme="glambury"] { --path-accent:#a98660; border-color:rgba(169,134,96,.4); background:linear-gradient(145deg,rgba(246,235,217,.72),rgba(250,245,234,.31)); }
.project-development-page .business-path[data-path-theme="investor"] { --path-accent:#71828a; border-color:rgba(113,130,138,.42); background:linear-gradient(145deg,rgba(230,236,233,.72),rgba(247,243,234,.31)); }
.project-development-page .business-path:hover,.project-development-page .business-path:focus-visible { transform:translateY(-3px); border-color:var(--path-accent); box-shadow:0 17px 34px rgba(66,55,43,.14),inset 0 1px rgba(255,255,255,.62); }
.project-development-page .business-path:focus-visible { outline:2px solid var(--path-accent); outline-offset:3px; }
.development-portraits { width:min(1120px,calc(100% - 48px)); margin:0 auto 78px; }
.development-portrait-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.development-portrait { overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:9px; background:linear-gradient(145deg,rgba(248,244,234,.43),rgba(227,218,202,.3)); box-shadow:0 14px 36px rgba(80,61,43,.07),inset 0 1px rgba(255,255,255,.5); }
.development-portrait-media { position:relative; aspect-ratio:16/8.5; margin:0; overflow:hidden; background:#c9c4b5; }
.development-portrait-media svg,.development-portrait-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.development-portrait-image { z-index:1; }
.development-portrait-media svg[hidden],.development-portrait-image[hidden] { display:none !important; }
.development-media-label { position:absolute; z-index:2; right:12px; bottom:12px; padding:9px 11px; border:1px solid rgba(255,255,255,.52); border-radius:4px; color:#fff; background:rgba(45,57,57,.55); font-size:8px; font-weight:500; letter-spacing:.14em; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.development-gallery-controls { position:absolute; z-index:4; right:12px; bottom:12px; left:12px; display:flex; align-items:center; justify-content:center; gap:9px; }
.development-gallery-controls[hidden],.development-portrait-video[hidden] { display:none; }
.development-gallery-controls button { display:inline-flex; min-width:36px; min-height:36px; align-items:center; justify-content:center; padding:0 10px; border:1px solid rgba(255,255,255,.56); border-radius:5px; color:#fff; background:rgba(45,57,57,.58); font:inherit; font-size:11px; letter-spacing:.08em; cursor:pointer; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.development-gallery-controls button:hover,.development-gallery-controls button:focus-visible { background:rgba(45,57,57,.82); }
.development-gallery-controls button:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.development-gallery-controls button[hidden] { display:none; }
.development-gallery-controls [data-photo-count] { min-width:42px; color:#fff; font-size:9px; letter-spacing:.12em; text-align:center; text-shadow:0 1px 4px rgba(0,0,0,.55); }
.development-portrait-copy { padding:22px 23px 24px; }
.development-portrait-copy .business-kicker { margin-bottom:10px; }
.development-portrait-copy h3 { margin:0; color:var(--ink-dark); font-size:clamp(16px,1.6vw,21px); font-weight:400; letter-spacing:.025em; line-height:1.4; }
.development-portrait-copy > p:last-of-type { margin:10px 0 0; color:rgba(70,61,50,.78); font-size:12px; line-height:1.7; }
.development-portrait-video { position:absolute; z-index:3; inset:0; width:100%; height:100%; margin:0; border-radius:0; background:#263239; object-fit:contain; }
.development-youtube-slot { position:absolute; z-index:3; inset:0; background:#111; }
.development-youtube-slot[hidden] { display:none; }
.development-youtube-slot iframe { display:block; width:100%; height:100%; border:0; }
@media (max-width:640px) {
  .business-areas-menu { width:100%; display:block; }
  .business-areas-menu > summary { min-height:44px; width:100%; padding:0 12px; border-radius:6px; color:rgba(38,50,56,.9); font-size:9px; }
  .business-areas-panel { position:static; min-width:0; gap:2px; margin:2px 0 5px 9px; padding:4px 0 4px 8px; border:0; border-left:1px solid rgba(52,67,72,.23); border-radius:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .business-areas-panel a { min-height:40px; padding:0 10px; color:rgba(38,50,56,.9); font-size:8px; }
  .property-services-page .ps-topbar .business-areas-menu { width:auto; }
  .property-services-page .ps-topbar .business-areas-menu > summary { min-height:32px; width:auto; padding:0 2px; border-radius:0; color:rgba(38,50,56,.86); font-size:7px; letter-spacing:.06em; }
  .property-services-page .ps-topbar .business-areas-menu > summary::after { width:5px; height:5px; }
  .property-services-page .ps-topbar .business-areas-panel { position:absolute; top:calc(100% + 8px); left:auto; right:-18px; min-width:190px; margin:0; padding:7px; border:1px solid rgba(255,255,255,.74); border-radius:8px; background:rgba(239,234,224,.97); box-shadow:0 14px 34px rgba(42,43,42,.19),inset 0 1px rgba(255,255,255,.84); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); }
  .property-services-page .ps-topbar .business-areas-panel a { min-height:40px; padding:0 11px; font-size:8px; }
  .development-portraits { width:calc(100% - 40px); margin-bottom:58px; }
  .development-portrait-grid { grid-template-columns:1fr; gap:16px; }
  .development-portrait-media { aspect-ratio:16/10; }
  .development-portrait-copy { padding:18px 17px 20px; }
  .development-portrait-copy h3 { font-size:17px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* Project Development uses the same single-row header structure as Property Service. */
.development-topbar { grid-template-columns:auto minmax(0,1fr) auto; min-height:76px; padding:10px clamp(24px,5vw,68px); gap:clamp(22px,4vw,58px); }
.development-topbar > .business-wordmark { position:relative; justify-self:start; color:var(--ink-dark); font-size:clamp(18px,2.1vw,28px); font-weight:300; letter-spacing:.25em; }
.development-topbar .business-global { justify-self:end; gap:clamp(16px,2.1vw,30px); }
.development-topbar .business-global a { color:rgba(38,50,56,.86); font-size:10px; letter-spacing:.1em; }
.development-topbar .business-global a:hover,.development-topbar .business-global a:focus-visible { color:#11191c; }
.development-home-link { display:inline-flex; align-items:center; justify-content:center; width:28px; height:32px; }
.development-home-link svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:1050px) {
  .development-topbar { grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(14px,3vw,30px); }
  .development-topbar > .business-wordmark { grid-column:1; grid-row:1; }
  .development-topbar .business-global { grid-column:2; grid-row:1; justify-self:end; flex-wrap:nowrap; max-width:none; }
  .development-topbar .business-languages { grid-column:3; grid-row:1; }
}
@media (max-width:640px) {
  .development-topbar { grid-template-columns:auto minmax(0,1fr) auto; min-height:66px; padding:8px 18px; gap:clamp(7px,2vw,12px); }
  .development-topbar > .business-wordmark { grid-column:1; grid-row:1; font-size:clamp(14px,4vw,19px); letter-spacing:.19em; }
  .development-topbar .business-global { grid-column:2; grid-row:1; justify-self:center; gap:clamp(7px,2vw,12px); max-width:none; flex-wrap:nowrap; }
  .development-topbar .business-global a { font-size:7px; letter-spacing:.06em; }
  .development-topbar .development-home-link { width:19px; }
  .development-topbar .business-areas-menu { width:auto; }
  .development-topbar .business-areas-menu > summary { min-height:32px; width:auto; padding:0 2px; border-radius:0; color:rgba(38,50,56,.86); font-size:7px; letter-spacing:.06em; }
  .development-topbar .business-areas-menu > summary::after { width:5px; height:5px; }
  .development-topbar .business-areas-panel { position:absolute; top:calc(100% + 8px); left:auto; right:-18px; min-width:190px; margin:0; padding:7px; border:1px solid rgba(255,255,255,.74); border-radius:8px; background:rgba(239,234,224,.97); box-shadow:0 14px 34px rgba(42,43,42,.19),inset 0 1px rgba(255,255,255,.84); -webkit-backdrop-filter:blur(18px) saturate(140%); backdrop-filter:blur(18px) saturate(140%); }
  .development-topbar .business-areas-panel a { min-height:40px; padding:0 11px; font-size:8px; }
  .development-topbar .business-languages { grid-column:3; grid-row:1; justify-self:end; gap:8px; }
  .development-topbar .business-languages .mobile-language-toggle { min-width:42px; padding-inline:4px; font-size:8px; }
}

/* Home discovery cues: reveal that the landing page continues and offer direct access to its film. */
@media (min-width:641px) {
  html { scroll-behavior:smooth; }
  .stage { height:calc(100svh - clamp(58px,8vh,78px)); min-height:600px; }
}
.home-scroll-cue { position:absolute; z-index:4; left:50%; bottom:11px; display:flex; flex-direction:column; align-items:center; gap:7px; padding:10px 16px 2px; color:rgba(255,255,255,.94); font-size:9px; font-weight:500; letter-spacing:.2em; line-height:1; text-decoration:none; text-shadow:0 1px 8px rgba(36,31,27,.62); transform:translateX(-50%); transition:opacity .35s ease,transform .35s ease; }
.home-scroll-cue:hover,.home-scroll-cue:focus-visible { color:#fff; transform:translate(-50%,-3px); }
.home-scroll-cue:focus-visible { outline:1px solid rgba(255,255,255,.8); outline-offset:5px; }
.home-scroll-chevron { width:12px; height:12px; border-right:1px solid rgba(255,255,255,.9); border-bottom:1px solid rgba(255,255,255,.9); transform:rotate(45deg); animation:home-cue-bob 1.8s ease-in-out infinite; }
body.has-scrolled-home .home-scroll-cue { opacity:0; pointer-events:none; transform:translate(-50%,8px); }
.home-floating-video { position:fixed; z-index:20; top:50%; right:0; display:flex; width:94px; min-height:136px; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:13px 10px 12px; border:1px solid rgba(255,255,255,.58); border-right:0; border-radius:15px 0 0 15px; color:#fff; background:linear-gradient(145deg,rgba(18,22,24,.34),rgba(8,10,11,.2)); box-shadow:0 14px 36px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(255,255,255,.12); -webkit-backdrop-filter:blur(26px) saturate(165%); backdrop-filter:blur(26px) saturate(165%); cursor:pointer; opacity:1; pointer-events:auto; transform:translateY(-50%); transition:opacity .3s ease,transform .3s ease,box-shadow .2s ease; }
.home-floating-video.is-visible { opacity:1; pointer-events:auto; transform:translateY(-50%); }
.home-floating-video:hover,.home-floating-video:focus-visible { box-shadow:0 15px 38px rgba(0,0,0,.36),0 0 18px rgba(213,0,0,.24),inset 0 1px 0 rgba(255,255,255,.24); }
.home-floating-video:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.home-floating-video-icon { position:relative; display:grid; width:68px; aspect-ratio:1.58; place-items:center; overflow:hidden; border-radius:10px; background:linear-gradient(145deg,rgba(255,24,43,.48),rgba(205,0,24,.28)); box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(255,255,255,.12),inset 0 0 14px rgba(255,38,56,.16),0 8px 18px rgba(0,0,0,.34),0 0 20px rgba(255,0,28,.26); -webkit-backdrop-filter:blur(24px) saturate(190%) brightness(1.24); backdrop-filter:blur(24px) saturate(190%) brightness(1.24); transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.home-floating-video-icon::before { position:absolute; inset:1px 1px 54%; border-radius:9px 9px 5px 5px; background:linear-gradient(180deg,rgba(255,255,255,.3),transparent); content:""; }
.home-floating-video-icon span { position:relative; z-index:1; width:0; height:0; margin-left:4px; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid #fff; filter:drop-shadow(0 1px 2px rgba(53,0,0,.28)); }
.home-floating-video-label { color:rgba(255,255,255,.97); font-size:10px; font-weight:600; letter-spacing:.22em; text-shadow:0 1px 5px rgba(0,0,0,.6); }
.home-floating-video:hover .home-floating-video-icon,.home-floating-video:focus-visible .home-floating-video-icon { transform:scale(1.07); filter:brightness(1.08); }
@keyframes home-cue-bob { 0%,100% { transform:translateY(-2px) rotate(45deg); } 50% { transform:translateY(2px) rotate(45deg); } }
@media (max-width:640px) {
  .home-scroll-cue { bottom:15px; font-size:8px; }
  .home-floating-video { right:0; width:72px; min-height:106px; border-right:0; border-radius:12px 0 0 12px; }
  .home-floating-video-icon { width:46px; }
  .home-floating-video-icon span { border-top-width:7px; border-bottom-width:7px; border-left-width:11px; }
}
@media (prefers-reduced-motion:reduce) { .home-scroll-chevron { animation:none; } }

/* CMS-managed homepage and Real Estate hero photos; the slides advance without visitor controls. */
.home-cms-slides { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; }
.home-cms-slides img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; filter:brightness(1.12) saturate(.8); transition:opacity 1.1s ease; }
.home-cms-slides img.is-active { opacity:1; }
.stage.has-cms-hero .atmosphere { background:none; }
.stage.has-cms-hero .atmosphere::after { position:absolute; z-index:1; inset:0; background:linear-gradient(110deg,rgba(243,231,211,.34),rgba(243,231,211,.2) 50%,rgba(243,231,211,.3)); content:""; pointer-events:none; }
.stage.has-cms-hero .atmosphere > .wash,.stage.has-cms-hero .atmosphere > .grain { z-index:2; }
.estate-slideshow-controls { display:none !important; }
.estate-slide { transition:opacity 1s ease,transform 7s ease; }
.estate-slide.is-active { transform:scale(1.025); }
@media (prefers-reduced-motion:reduce) { .home-cms-slides img,.estate-slide { transition:none; } }

/* Real-estate filter prototype: more transparent glass and a quiet embossed wordmark field. */
.portal-dialog { background:rgba(117,132,133,.13); backdrop-filter:blur(20px) saturate(128%); -webkit-backdrop-filter:blur(20px) saturate(128%); }
.legal-dialog { background:rgba(225,211,193,.34); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.estate-slide-arrow,.estate-slide-dots button { background-color:rgba(32,41,42,.14); }
.estate-slide-arrow:hover,.estate-slide-dots button:hover { background-color:rgba(32,41,42,.3); }
.business-topbar::before { background:rgba(239,234,224,.25); backdrop-filter:blur(20px) saturate(148%); -webkit-backdrop-filter:blur(20px) saturate(148%); }
.estate-search-stack { display:flex; flex-direction:column; }
.estate-search-stack .property-search { order:2; grid-template-columns:minmax(145px,1.15fr) minmax(130px,1fr) minmax(150px,1.15fr) minmax(185px,1.35fr) minmax(122px,.9fr) minmax(180px,1.25fr); background:rgba(246,240,231,.34); backdrop-filter:blur(25px) saturate(150%); -webkit-backdrop-filter:blur(25px) saturate(150%); }
.estate-search-stack .property-search-status { order:4; }
.estate-search-stack .location-suggestions { background:rgba(249,246,239,.62); backdrop-filter:blur(24px) saturate(145%); -webkit-backdrop-filter:blur(24px) saturate(145%); }
.estate-search-stack .search-filter-toggle { grid-column:5; }
.property-search-submit { min-width:0; }
.search-filter-toggle { display:flex; min-height:48px; align-items:center; justify-content:center; gap:8px; padding:0 10px; border:1px solid rgba(255,255,255,.68); border-radius:8px; color:var(--ink-dark); background:rgba(255,252,246,.28); font:inherit; font-size:8px; letter-spacing:.1em; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.search-filter-toggle:hover,.search-filter-toggle:focus-visible,.search-filter-toggle[aria-expanded="true"] { background:rgba(255,252,246,.48); border-color:rgba(255,255,255,.94); }
.search-filter-toggle:focus-visible,.filter-apply:focus-visible,.filter-reset:focus-visible { outline:2px solid var(--ink-dark); outline-offset:2px; }
.filter-count { display:inline-grid; place-items:center; min-width:18px; height:18px; border-radius:50%; color:#fff; background:#344348; font-size:9px; }
.filter-chevron { margin-left:1px; font-size:13px; transform:rotate(180deg); transition:transform .2s ease; }
.search-filter-toggle[aria-expanded="true"] .filter-chevron { transform:rotate(0); }
.advanced-filter-panel { position:relative; order:1; max-height:min(46svh,410px); overflow:auto; margin-bottom:10px; padding:18px 21px 15px; border:1px solid rgba(255,255,255,.78); border-radius:13px; color:var(--ink-dark); background:rgba(246,240,231,.31); backdrop-filter:blur(26px) saturate(150%); -webkit-backdrop-filter:blur(26px) saturate(150%); box-shadow:0 18px 48px rgba(15,24,26,.21),inset 0 1px rgba(255,255,255,.7); text-align:left; }
.advanced-filter-panel[hidden] { display:none; }
.advanced-filter-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:13px; border-bottom:1px solid rgba(70,61,50,.16); }
.advanced-filter-heading .business-kicker { margin:0 0 5px; font-size:7px; }
.advanced-filter-heading .business-kicker,.advanced-filter-heading h2 { color:rgba(255,255,255,.96); text-shadow:0 1px 5px rgba(20,29,31,.45); }
.advanced-filter-heading h2 { margin:0; font-size:13px; font-weight:400; letter-spacing:.16em; }
.filter-reset { padding:7px 0; border:0; border-bottom:1px solid rgba(255,255,255,.62); color:rgba(255,255,255,.94); background:none; font:inherit; font-size:7px; letter-spacing:.12em; cursor:pointer; text-shadow:0 1px 5px rgba(20,29,31,.45); }
.filter-groups { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:14px 24px; padding:14px 0; }
.filter-group { min-width:0; margin:0; padding:0; border:0; }
.filter-group legend { margin-bottom:9px; color:rgba(255,255,255,.92); text-shadow:0 1px 5px rgba(20,29,31,.42); font-size:7px; font-weight:500; letter-spacing:.14em; }
.filter-numbers { grid-column:span 2; }
.filter-numbers-field { display:inline-flex; width:calc(16.66% - 8px); flex-direction:column; gap:6px; padding-right:9px; }
.filter-numbers-field > label { color:rgba(255,255,255,.96); text-shadow:0 1px 5px rgba(20,29,31,.45); font-size:9px; }
.filter-numbers select,.filter-numbers input { width:100%; min-height:31px; padding:5px 7px; border:1px solid rgba(255,255,255,.72); border-radius:5px; color:var(--ink-dark); background:rgba(255,252,246,.29); font:inherit; font-size:10px; }
.filter-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.filter-checks label { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.96); text-shadow:0 1px 5px rgba(20,29,31,.45); font-size:9px; line-height:1.35; cursor:pointer; }
.filter-checks input { width:13px; height:13px; flex:0 0 auto; margin:0; accent-color:#526167; }
.advanced-filter-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:11px; border-top:1px solid rgba(255,255,255,.28); color:rgba(255,255,255,.92); text-shadow:0 1px 5px rgba(20,29,31,.45); font-size:8px; letter-spacing:.025em; }
.filter-apply { min-height:34px; padding:0 13px; border:1px solid rgba(38,50,56,.2); border-radius:6px; color:#f7f4ee; background:#344348; font:inherit; font-size:7px; letter-spacing:.1em; cursor:pointer; }
.filter-apply:hover { background:#263238; }
.estate-results,.estate-market,.estate-about-content { position:relative; isolation:isolate; }
.estate-results > :not(.estate-monogram),.estate-market > :not(.estate-monogram),.estate-about-content > :not(.estate-monogram) { position:relative; z-index:1; }
.estate-results .estate-monogram,.estate-market .estate-monogram,.estate-about-content .estate-monogram { z-index:0; opacity:.82; }
.estate-results .estate-monogram span,.estate-market .estate-monogram span,.estate-about-content .estate-monogram span { color:rgba(109,82,57,.088); text-shadow:1px 1px 1px rgba(255,249,239,.36),-1px -1px 1px rgba(111,79,53,.1); }
.estate-results { background:transparent; }
.estate-results .results-heading-row,.estate-results .prototype-note,.estate-results .results-workspace { z-index:1; }
.estate-results .prototype-note { color:rgba(70,61,50,.74); }
.estate-results .results-view-switch { background:rgba(246,240,231,.2); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.estate-results .listing-card { background:rgba(246,240,231,.19); backdrop-filter:blur(16px) saturate(130%); -webkit-backdrop-filter:blur(16px) saturate(130%); }
.estate-results .listing-card.is-selected { background:rgba(255,252,245,.31); }
.estate-results .map-panel { background:rgba(246,240,231,.2); }
.estate-market { overflow:hidden; }
.estate-about-content { width:min(980px,86vw); min-height:calc(100svh - var(--business-header-height,86px) - 62px); margin:0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:68px 0 82px; text-align:center; }
.estate-about-content h1 { margin:0; color:var(--ink-dark); font-size:clamp(24px,3.4vw,42px); font-weight:300; letter-spacing:.22em; }
.estate-about-content .business-lead { margin-top:27px; }
.about-search-link { position:relative; z-index:1; display:inline-block; margin-top:32px; padding:11px 0; border-bottom:1px solid rgba(70,61,50,.45); color:var(--ink-dark); font-size:9px; letter-spacing:.13em; text-decoration:none; }
.about-search-link:hover,.about-search-link:focus-visible { border-color:var(--ink-dark); }
.owner-marketing-main { width:min(1320px,92vw); margin:0 auto; padding:clamp(102px,12vh,138px) 0 76px; }
.owner-cover { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(390px,.84fr); align-items:center; gap:clamp(40px,6vw,92px); }
.owner-cover-photo { position:relative; min-width:0; height:clamp(500px,67svh,720px); margin:0; overflow:hidden; background:#202a2c; box-shadow:0 25px 64px rgba(41,39,33,.18); }
.owner-cover-photo::after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(180deg,transparent,rgba(13,20,21,.58)); pointer-events:none; }
.owner-cover-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.owner-photo-caption { position:absolute; z-index:1; left:clamp(20px,3vw,42px); right:clamp(20px,3vw,42px); bottom:clamp(22px,3vw,40px); display:flex; align-items:center; gap:15px; color:#fff; font-size:11px; font-weight:400; letter-spacing:.12em; line-height:1.6; text-shadow:0 2px 12px rgba(0,0,0,.36); }
.owner-photo-mark { display:grid; flex:0 0 38px; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.65); border-radius:50%; font-size:17px; font-weight:300; letter-spacing:0; }
.owner-cover-copy { max-width:530px; padding:20px 0 24px; }
.owner-cover-copy .brand-lockup { justify-items:start; margin:0 0 35px; text-align:left; }
.owner-cover-copy .brand-lockup--real-estate .brand-lockup-secondary { justify-content:flex-start; }
.owner-marketing-kicker { margin-bottom:17px; }
.owner-cover-copy h1 { max-width:590px; margin:0; color:var(--ink-dark); font-size:clamp(42px,4.7vw,66px); font-weight:300; line-height:1.05; letter-spacing:-.052em; text-wrap:balance; }
.owner-marketing-lead { max-width:490px; margin:25px 0 0; color:rgba(52,54,51,.82); font-size:clamp(15px,1.25vw,18px); font-weight:300; line-height:1.8; letter-spacing:.012em; }
.owner-contact-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; margin-top:30px; padding:0 20px; border:1px solid rgba(255,255,255,.55); border-radius:6px; color:#fff; background:var(--signal-green); box-shadow:0 8px 24px rgba(0,80,37,.18); font-size:10px; font-weight:500; letter-spacing:.09em; line-height:1.4; text-align:left; text-decoration:none; transition:background .2s ease,transform .2s ease,box-shadow .2s ease; }
.owner-contact-button:hover,.owner-contact-button:focus-visible { color:#fff; background:var(--signal-green-hover); box-shadow:0 12px 30px rgba(0,80,37,.23); transform:translateY(-2px); }
.owner-contact-button:focus-visible { outline:2px solid var(--ink-dark); outline-offset:4px; }
.owner-cover-note { margin:14px 0 0; color:rgba(70,61,50,.67); font-size:11px; letter-spacing:.035em; }
.owner-relationship { margin:clamp(100px,15vh,170px) 0 0; }
.owner-section-heading { max-width:820px; margin:0 auto; text-align:center; }
.owner-section-heading .business-kicker { margin-bottom:18px; }
.owner-section-heading h2,.owner-options-heading h2 { margin:0; color:var(--ink-dark); font-size:clamp(30px,4vw,50px); font-weight:300; line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
.owner-problems .owner-section-heading { max-width:none; }
.owner-section-heading .owner-problem-heading { max-width:none; margin:0 auto; color:#4a5153; font-size:clamp(22px,3.2vw,54px); font-weight:600; line-height:1.08; letter-spacing:-.05em; text-transform:uppercase; text-wrap:balance; white-space:normal; text-shadow:0 2px 0 rgba(255,255,255,.34),0 5px 12px rgba(35,42,42,.16); }
.owner-relationship-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,58px); margin-top:52px; }
.owner-relationship-item { padding:29px clamp(16px,2vw,26px) 26px; text-align:center; border-top:1px solid rgba(70,61,50,.21); border-bottom:1px solid rgba(70,61,50,.21); }
.owner-relationship-icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 21px; border:1px solid rgba(255,255,255,.82); border-radius:50%; color:var(--ink-dark); background:rgba(255,250,241,.13); box-shadow:inset 1px 1px 2px rgba(255,255,255,.75),inset -1px -1px 2px rgba(100,77,54,.1),0 5px 18px rgba(74,57,41,.07); }
.owner-relationship-icon svg,.owner-option-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.owner-relationship-item h3 { max-width:275px; margin:0 auto; color:var(--ink-dark); font-size:clamp(18px,1.7vw,22px); font-weight:400; line-height:1.35; letter-spacing:-.02em; text-wrap:balance; }
.owner-relationship-item p { max-width:300px; margin:13px auto 0; color:rgba(52,54,51,.77); font-size:13px; font-weight:300; line-height:1.75; }
.owner-problem-grid { gap:clamp(18px,2.2vw,32px); margin-top:42px; align-items:stretch; }
.owner-problem-card { --problem-accent:#354347; position:relative; display:flex; min-height:286px; flex-direction:column; align-items:flex-start; padding:30px clamp(22px,2.3vw,34px) 32px; border:1px solid rgba(70,61,50,.16); border-top:4px solid color-mix(in srgb,var(--problem-accent) 62%,transparent); border-bottom:0; border-radius:12px 12px 7px 7px; background:rgba(53,67,71,.055); box-shadow:0 14px 30px rgba(77,58,38,.045),inset 0 1px rgba(255,255,255,.72); text-align:left; }
.owner-problem-card--cost { --problem-accent:#354347; background:rgba(53,67,71,.07); }
.owner-problem-card--tourism { --problem-accent:#b4553e; background:rgba(180,85,62,.065); }
.owner-problem-card--time { --problem-accent:#2e5d4a; background:rgba(46,93,74,.07); }
.owner-problem-kicker { color:var(--problem-accent); font-size:10px; font-weight:750; letter-spacing:.17em; line-height:1.2; }
.owner-problem-card h3 { max-width:none; margin:11px 0 0; color:var(--ink-dark); font-size:clamp(24px,2.2vw,32px); font-weight:500; line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
.owner-problem-card--tourism h3 { font-size:clamp(19px,2.2vw,30px); }
.owner-problem-divider { display:block; width:100%; height:1px; margin:28px 0 18px; background:rgba(70,61,50,.19); }
.owner-problem-kicker--solution { color:color-mix(in srgb,var(--problem-accent) 78%,var(--ink-dark)); font-size:15px; font-weight:750; letter-spacing:.08em; line-height:1.2; }
.owner-problem-card p { max-width:none; margin:8px 0 0; color:rgba(52,54,51,.78); font-size:15px; font-weight:300; line-height:1.6; }
.owner-problem-toggle { display:flex; width:100%; min-height:50px; align-items:center; justify-content:center; gap:13px; margin-top:28px; padding:11px 16px; border:1px solid color-mix(in srgb,var(--problem-accent) 48%,transparent); border-radius:999px; color:var(--problem-accent); background:color-mix(in srgb,var(--problem-accent) 10%,transparent); box-shadow:inset 0 1px rgba(255,255,255,.62),0 5px 12px rgba(77,58,38,.06); font:inherit; font-size:12px; font-weight:750; letter-spacing:.14em; line-height:1.3; text-align:center; white-space:nowrap; cursor:pointer; transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.owner-problem-toggle:hover,.owner-problem-toggle:focus-visible { color:color-mix(in srgb,var(--problem-accent) 82%,var(--ink-dark)); }
.owner-problem-toggle:hover { background:color-mix(in srgb,var(--problem-accent) 17%,transparent); border-color:color-mix(in srgb,var(--problem-accent) 68%,transparent); box-shadow:inset 0 1px rgba(255,255,255,.68),0 8px 16px rgba(77,58,38,.09); }
.owner-problem-toggle:focus-visible { outline:2px solid color-mix(in srgb,var(--problem-accent) 55%,transparent); outline-offset:5px; }
.owner-problem-toggle-icon { display:inline-grid; flex:none; width:30px; height:30px; place-items:center; border:1px solid var(--problem-accent); border-radius:50%; color:#fff; background:var(--problem-accent); font-size:20px; font-weight:400; line-height:1; transition:transform .2s ease; }
.owner-problem-card.is-expanded .owner-problem-toggle-icon { transform:rotate(45deg); }
.owner-problem-card--time.is-expanded > .owner-problem-divider,
.owner-problem-card--time.is-expanded > .owner-problem-kicker--solution,
.owner-problem-card--time.is-expanded > p[data-copy="ownerPoint3Copy"] { display:none; }
.owner-problem-card-detail { width:100%; margin-top:24px; padding-top:20px; border-top:1px solid rgba(70,61,50,.18); }
.owner-problem-card-detail[hidden] { display:none !important; }
.owner-problem-detail-lead { max-width:900px; margin:0; color:var(--ink-dark); font-size:20px; font-weight:450; line-height:1.5; }
.owner-problem-detail-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 30px; margin-top:26px; }
.owner-problem-detail-sections section { min-width:0; padding-top:16px; border-top:1px solid color-mix(in srgb,var(--problem-accent) 28%,transparent); }
.owner-problem-detail-sections section--wide,.owner-problem-detail-sections .owner-problem-detail-section--wide { grid-column:1 / -1; }
.owner-problem-detail-sections h4 { margin:0; color:color-mix(in srgb,var(--problem-accent) 78%,var(--ink-dark)); font-size:15px; font-weight:750; letter-spacing:.13em; line-height:1.3; }
.owner-problem-detail-sections section p { max-width:900px; margin:10px 0 0; color:rgba(52,54,51,.79); font-size:14px; font-weight:300; line-height:1.72; }
.owner-problem-detail-benefit { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:baseline; margin:28px 0 0; padding:18px 20px; border-left:3px solid var(--problem-accent); background:color-mix(in srgb,var(--problem-accent) 8%,transparent); color:rgba(52,54,51,.82); font-size:15px; font-weight:300; line-height:1.65; }
.owner-problem-detail-benefit strong { flex:none; color:var(--problem-accent); font-size:11px; font-weight:750; letter-spacing:.17em; }
.owner-problem-detail-benefit span { flex:1 1 520px; }
.owner-problem-detail-kicker { margin:0; color:color-mix(in srgb,var(--problem-accent) 75%,var(--ink-dark)); font-size:10px; font-weight:700; letter-spacing:.18em; line-height:1.3; }
.owner-problem-card-detail > p:last-child { max-width:820px; margin:12px 0 0; color:rgba(52,54,51,.79); font-size:16px; font-weight:300; line-height:1.75; }
.owner-problem-card.is-expanded .owner-problem-toggle { position:absolute; z-index:2; top:24px; right:28px; width:auto; margin:0; padding:0; border-top:0; }
.owner-problem-card.is-expanded .owner-problem-toggle > span:first-child { display:none; }
.owner-problem-card.is-expanded .owner-problem-toggle-icon { width:38px; height:38px; border-width:2px; color:#fff; background:var(--problem-accent); font-size:26px; font-weight:400; box-shadow:0 6px 16px rgba(45,45,38,.17); }
.owner-problem-card.is-expanded h3 { padding-right:72px; }
.owner-problem-grid.has-expanded { display:block; }
.owner-problem-grid.has-expanded .owner-problem-card:not(.is-expanded) { display:none; }
.owner-problem-grid.has-expanded .owner-problem-card.is-expanded { width:100%; min-height:350px; }
.owner-options { margin:clamp(104px,15vh,170px) 0 0; }
.owner-options-heading { max-width:720px; margin:0 auto 43px; text-align:center; }
.owner-options-heading .business-kicker { margin-bottom:17px; }
.owner-options-heading > p:last-child { max-width:620px; margin:18px auto 0; color:rgba(52,54,51,.78); font-size:15px; font-weight:300; line-height:1.75; }
.owner-options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.owner-option { position:relative; min-height:245px; padding:30px clamp(22px,2.5vw,34px); border:1px solid rgba(255,255,255,.75); background:linear-gradient(145deg,rgba(255,252,246,.23),rgba(204,184,158,.13)); box-shadow:inset 0 1px 0 rgba(255,255,255,.74),inset -1px -1px 0 rgba(130,103,73,.08),0 12px 30px rgba(77,58,38,.055); }
.owner-option-index { position:absolute; top:25px; right:27px; color:rgba(70,61,50,.49); font-size:9px; letter-spacing:.17em; }
.owner-option-icon { display:grid; place-items:center; width:45px; height:45px; margin-bottom:23px; border:1px solid rgba(70,61,50,.21); border-radius:50%; color:var(--ink-dark); }
.owner-option-icon svg { width:24px; height:24px; }
.owner-option h3 { margin:0; color:var(--ink-dark); font-size:21px; font-weight:400; letter-spacing:-.025em; }
.owner-option p { max-width:280px; margin:11px 0 0; color:rgba(52,54,51,.78); font-size:13px; font-weight:300; line-height:1.7; }
.owner-handover { margin:clamp(100px,15vh,170px) 0 0; }
.owner-handover-panel { padding:clamp(34px,5vw,64px); border:1px solid rgba(38,50,56,.14); background:#e7ebe6; box-shadow:0 18px 38px rgba(52,66,71,.09),inset 0 1px rgba(255,255,255,.72); }
.owner-handover-heading { max-width:760px; margin:0 auto; text-align:center; }
.owner-handover-heading .business-kicker { margin-bottom:17px; color:#68766f; }
.owner-handover-heading h2 { margin:0; color:var(--ink-dark); font-size:clamp(30px,4vw,50px); font-weight:300; line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
.owner-handover-heading > p:last-child { max-width:640px; margin:18px auto 0; color:rgba(52,54,51,.78); font-size:15px; font-weight:300; line-height:1.75; }
.owner-handover-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:46px 0 0; padding:0; list-style:none; }
.owner-handover-steps::before { content:""; position:absolute; top:24px; left:16%; right:16%; height:1px; background:linear-gradient(90deg,rgba(185,201,186,.8),rgba(19,123,67,.76)); }
.owner-handover-step { position:relative; min-width:0; padding:0 clamp(18px,3vw,38px); text-align:center; }
.owner-handover-step + .owner-handover-step { border-left:1px solid rgba(52,66,71,.12); }
.owner-handover-number { position:relative; z-index:1; display:grid; width:48px; height:48px; margin:0 auto 19px; place-items:center; border:1px solid rgba(52,66,71,.24); border-radius:50%; color:#426b4b; background:#f7f3ea; box-shadow:0 5px 14px rgba(52,66,71,.08),inset 0 1px rgba(255,255,255,.86); font-size:10px; font-weight:600; letter-spacing:.1em; }
.owner-handover-step h3 { margin:0; color:var(--ink-dark); font-size:clamp(18px,1.7vw,22px); font-weight:400; line-height:1.35; }
.owner-handover-step p { max-width:275px; margin:11px auto 0; color:rgba(52,54,51,.76); font-size:13px; font-weight:300; line-height:1.7; }
.owner-handover-button { display:flex; width:fit-content; max-width:100%; margin:38px auto 0; }
.owner-final-invitation { position:relative; display:flex; flex-direction:column; align-items:center; width:100vw; min-height:390px; margin:clamp(100px,15vh,165px) 0 0; margin-left:calc(50% - 50vw); padding:78px 24px 72px; overflow:hidden; isolation:isolate; color:#f5f1e9; background:radial-gradient(ellipse at 50% 0%,rgba(133,156,153,.18),transparent 56%),#283338; text-align:center; }
.owner-final-invitation > :not(.owner-final-monogram) { position:relative; z-index:1; }
.owner-final-invitation .business-kicker { margin-bottom:17px; color:rgba(245,241,233,.68); }
.owner-final-monogram { position:absolute; z-index:0; top:50%; left:50%; color:rgba(255,255,255,.026); font-size:clamp(330px,48vw,620px); font-weight:200; line-height:.8; letter-spacing:-.12em; transform:translate(-54%,-53%); user-select:none; }
.owner-final-invitation h2 { max-width:760px; margin:0; color:#fff; font-size:clamp(31px,4.3vw,54px); font-weight:300; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
.owner-final-invitation > p:not(.business-kicker) { max-width:630px; margin:20px 0 0; color:rgba(245,241,233,.78); font-size:15px; font-weight:300; line-height:1.75; }
.owner-contact-button--light { border-color:rgba(255,255,255,.34); background:var(--signal-green); }
.owner-search-link { display:block; width:max-content; max-width:100%; margin:30px auto 0; padding:11px 0; border-bottom:1px solid rgba(70,61,50,.38); color:var(--ink-dark); font-size:9px; letter-spacing:.13em; text-align:center; text-decoration:none; }
.owner-search-link:hover,.owner-search-link:focus-visible { border-color:var(--ink-dark); }

/* Distribution-wide translation formatting safeguards. Text may grow with a
   translation, but never breaks inside a word or collides with its card UI. */
.pd-v2 .pd-proof-volume,
.pd-v2 .pd-proof-volume strong,
.pd-v2 .pd-proof-volume span,
.pd-v2 .pd-process-label,
.tax-legal-page .tl-area-card,
.tax-legal-page .tl-area-card h3,
.tax-legal-page .tl-area-card p,
.tax-legal-page .tl-area-action,
.tax-legal-page .tl-process-list li,
.tax-legal-page .tl-process-list strong,
.estate-owner-page .owner-problem-card,
.estate-owner-page .owner-problem-card h3,
.estate-owner-page .owner-problem-card p,
.estate-owner-page .owner-problem-detail-sections h4,
.estate-owner-page .owner-problem-detail-sections section p,
.estate-owner-page .owner-problem-detail-benefit,
.estate-owner-page .owner-problem-detail-benefit span {
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
.pd-v2 .pd-proof-volume {
  box-sizing:border-box;
  width:min(100%,360px);
  max-width:100%;
}
.pd-v2 .pd-proof-volume strong,
.pd-v2 .pd-proof-volume span { white-space:normal; }
.pd-v2 .pd-proof-volume strong { text-wrap:balance; }
.pd-v2 .pd-process-label { width:100%; }
.tax-legal-page .tl-area-action {
  max-width:100%;
  white-space:normal;
  text-align:left;
}
.tax-legal-page .tl-area-action > span:first-child {
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
@media (max-width:620px) {
  .pd-v2 .pd-proof-volume { width:min(100%,360px); }
}

/* Translation-safe action sizing: long language labels stay inside their controls. */
.property-back-link,
.property-header-back,
.property-floating-search,
.property-floating-contact {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.property-back-link,
.property-header-back {
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
  text-align:center;
  justify-content:center;
}
.property-floating-search-label,
.property-floating-contact-label {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  line-height:1.2;
}

/* Listing actions remain side by side while allowing long translations to wrap. */
body.estate-home-page .listing-map-button,
body.estate-home-page .listing-detail-link {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
  text-align:center;
}

/* Filter actions keep the approved two-button layout at every language length. */
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-apply,
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-reset {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
  text-align:center;
}
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-footer .filter-apply,
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-footer .filter-reset {
    flex:1 1 calc(50% - 5px);
  }
}

/* The three utility actions in an exposé share the available width equally. */
.property-utility-actions {
  width:100%;
  min-width:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.property-utility-actions .expose-tool-button {
  min-width:0;
  max-width:100%;
  justify-content:center;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.2;
  text-align:center;
}

/* Real Estate orientation block: a quiet SEO and wayfinding layer below the listings. */
.estate-orientation {
  width:100%;
  margin-top:var(--glambury-section-gap, clamp(48px, 6vw, 88px));
  padding:0 0 clamp(52px, 6vw, 82px);
}
.estate-orientation-inner {
  box-sizing:border-box;
  width:var(--estate-context-width, min(1220px, calc(100% - 48px)));
  padding:clamp(44px, 5vw, 72px) clamp(22px, 3.2vw, 52px) clamp(52px, 6vw, 72px);
  border:1px solid rgba(255,255,255,.66);
  border-radius:10px;
  background:rgba(238,226,209,.78);
  box-shadow:0 20px 42px rgba(89,65,42,.09), inset 0 1px rgba(255,255,255,.58);
  margin:0 auto;
}
.estate-orientation-kicker {
  margin:0 0 14px;
  color:rgba(70,61,50,.68);
  font-size:9px;
  letter-spacing:.28em;
  line-height:1.3;
}
.estate-orientation h1 {
  max-width:780px;
  margin:0;
  color:var(--ink-dark);
  font-size:clamp(24px, 3vw, 40px);
  font-weight:300;
  letter-spacing:.04em;
  line-height:1.12;
}
.estate-orientation-lead {
  max-width:760px;
  margin:18px 0 0;
  color:rgba(70,61,50,.78);
  font-size:clamp(13px, 1.15vw, 16px);
  line-height:1.65;
  letter-spacing:.02em;
}
.estate-orientation-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(14px, 2vw, 24px);
  margin-top:clamp(30px, 4vw, 48px);
}
.estate-orientation-card {
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:clamp(22px, 2.2vw, 32px);
  border:1px solid rgba(255,255,255,.72);
  border-radius:7px;
  background:rgba(246,240,231,.56);
  box-shadow:0 16px 36px rgba(89,65,42,.08), inset 0 1px rgba(255,255,255,.65);
}
.estate-orientation-card h3 {
  margin:0;
  color:var(--ink-dark);
  font-size:clamp(14px, 1.1vw, 18px);
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.3;
}
.estate-orientation-card p {
  margin:18px 0 0;
  color:rgba(70,61,50,.76);
  font-size:clamp(12px, 1vw, 14px);
  line-height:1.65;
}
.estate-orientation-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:40px;
  margin-top:auto;
  padding:0 14px;
  border:1px solid rgba(52,67,72,.6);
  border-radius:5px;
  color:var(--ink-dark);
  background:transparent;
  font-size:9px;
  letter-spacing:.11em;
  line-height:1.2;
  text-decoration:none;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.estate-orientation-action:hover,
.estate-orientation-action:focus-visible {
  color:#f7f4ee;
  background:var(--ink-dark);
  transform:translateY(-1px);
}
.estate-orientation-action:focus-visible {
  outline:2px solid var(--ink-dark);
  outline-offset:3px;
}
.estate-orientation-action.is-primary {
  border-color:var(--signal-green);
  color:#fff;
  background:var(--signal-green);
  box-shadow:0 7px 18px rgba(0,80,37,.16);
}
.estate-orientation-action.is-primary:hover,
.estate-orientation-action.is-primary:focus-visible {
  color:#fff;
  background:var(--signal-green-hover);
}
@media (max-width:760px) {
  .estate-orientation {
    margin-top:var(--glambury-section-gap, 48px);
    padding:0 0 46px;
  }
  .estate-orientation-inner { padding:36px 20px 46px; }
  .estate-orientation-kicker { font-size:8px; letter-spacing:.2em; }
  .estate-orientation h1 { font-size:clamp(22px, 7vw, 30px); }
  .estate-orientation-lead { font-size:13px; line-height:1.6; }
  .estate-orientation-grid {
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }
  .estate-orientation-card { min-height:0; padding:22px 20px; }
  .estate-orientation-card h3 { font-size:14px; }
  .estate-orientation-card p { font-size:13px; }
  .estate-orientation-action {
    width:max-content;
    max-width:100%;
    min-height:42px;
    margin-top:22px;
    font-size:8px;
  }
}
@media(max-width:1050px) { .owner-cover { grid-template-columns:minmax(0,1fr) minmax(340px,.88fr); gap:35px; } .owner-cover-photo { height:clamp(470px,60svh,630px); } .owner-cover-copy h1 { font-size:clamp(39px,5.2vw,55px); } }
@media(max-width:760px) {
  .owner-marketing-main { width:calc(100% - 40px); padding:96px 0 58px; }
  .owner-cover { grid-template-columns:1fr; gap:30px; }
  .owner-cover-copy { order:0; max-width:600px; margin:0 auto; padding:5px 0 0; }
  .owner-cover-copy .brand-lockup { margin-bottom:27px; }
  .owner-cover-copy h1 { max-width:560px; font-size:clamp(38px,9vw,56px); }
  .owner-marketing-lead { margin-top:19px; font-size:15px; }
  .owner-cover-photo { order:1; height:clamp(285px,62vw,440px); }
  .owner-photo-caption { left:17px; right:17px; bottom:18px; font-size:9px; }
  .owner-photo-mark { flex-basis:32px; width:32px; height:32px; font-size:14px; }
  .owner-relationship,.owner-options,.owner-handover { margin-top:86px; }
  .owner-section-heading h2,.owner-options-heading h2 { font-size:clamp(29px,7vw,42px); }
  .owner-section-heading .owner-problem-heading { max-width:100%; font-size:clamp(18px,6.7vw,32px); line-height:1.08; text-wrap:balance; white-space:normal; }
  .owner-relationship-grid { grid-template-columns:1fr; gap:0; margin-top:31px; }
  .owner-relationship-item { display:grid; grid-template-columns:54px 1fr; column-gap:16px; padding:22px 3px; text-align:left; border-bottom:0; }
  .owner-relationship-item:last-child { border-bottom:1px solid rgba(70,61,50,.21); }
  .owner-relationship-icon { grid-row:span 2; width:50px; height:50px; margin:0; }
  .owner-relationship-item h3 { max-width:none; margin:0; font-size:19px; }
  .owner-relationship-item p { max-width:none; margin:7px 0 0; font-size:13px; }
  .owner-problem-grid { gap:14px; margin-top:28px; }
  .owner-problem-card { display:flex; min-height:0; grid-template-columns:none; padding:24px 22px; border-top-width:3px; border-bottom:1px solid rgba(70,61,50,.16); border-radius:11px; text-align:left; }
  .owner-problem-card h3 { margin-top:10px; font-size:26px; }
  .owner-problem-card--tourism h3 { font-size:clamp(20px,6.1vw,26px); }
  .owner-problem-divider { margin:22px 0 16px; }
  .owner-problem-card p { margin-top:7px; font-size:14px; }
  .owner-problem-kicker--solution { font-size:14px; }
  .owner-problem-toggle { min-height:48px; margin-top:22px; padding:9px 13px; font-size:11px; letter-spacing:.12em; }
  .owner-problem-toggle-icon { width:29px; height:29px; font-size:20px; }
  .owner-problem-card-detail { margin-top:20px; padding-top:17px; }
  .owner-problem-detail-lead { font-size:18px; line-height:1.5; }
  .owner-problem-detail-sections { grid-template-columns:1fr; gap:20px; margin-top:21px; }
  .owner-problem-detail-sections .owner-problem-detail-section--wide { grid-column:auto; }
  .owner-problem-detail-sections h4 { font-size:14px; }
  .owner-problem-detail-sections section p { margin-top:8px; font-size:13.5px; line-height:1.65; }
  .owner-problem-detail-benefit { display:block; margin-top:22px; padding:15px 16px; font-size:14.5px; line-height:1.6; }
  .owner-problem-detail-benefit strong { display:block; margin-bottom:7px; font-size:11px; }
  .owner-problem-card-detail > p:last-child { margin-top:10px; font-size:15px; line-height:1.65; }
  .owner-problem-card.is-expanded .owner-problem-toggle { top:18px; right:20px; }
  .owner-problem-card.is-expanded .owner-problem-toggle-icon { width:34px; height:34px; font-size:23px; }
  .owner-problem-card.is-expanded h3 { padding-right:54px; }
  .owner-problem-grid.has-expanded .owner-problem-card.is-expanded { min-height:0; }
  .owner-options-heading { margin-bottom:28px; }
  .owner-options-heading > p:last-child { font-size:14px; }
  .owner-options-grid { grid-template-columns:1fr; gap:12px; }
  .owner-option { display:grid; grid-template-columns:54px 1fr; align-items:center; column-gap:16px; min-height:0; padding:19px 18px; }
  .owner-option-icon { grid-row:span 2; width:48px; height:48px; margin:0; }
  .owner-option h3 { padding-right:28px; font-size:19px; }
  .owner-option p { max-width:none; margin-top:5px; font-size:12px; }
  .owner-option-index { top:18px; right:18px; }
  .owner-handover-panel { padding:31px 20px 28px; }
  .owner-handover-heading h2 { font-size:clamp(29px,7vw,42px); }
  .owner-handover-heading > p:last-child { font-size:14px; }
  .owner-handover-steps { grid-template-columns:1fr; gap:0; margin-top:29px; }
  .owner-handover-steps::before { top:24px; right:auto; bottom:24px; left:24px; width:1px; height:auto; background:linear-gradient(180deg,rgba(185,201,186,.8),rgba(19,123,67,.76)); }
  .owner-handover-step { display:grid; grid-template-columns:48px minmax(0,1fr); gap:15px; padding:16px 0; text-align:left; }
  .owner-handover-step + .owner-handover-step { border-left:0; border-top:1px solid rgba(52,66,71,.12); }
  .owner-handover-number { margin:0; }
  .owner-handover-step h3 { font-size:19px; }
  .owner-handover-step p { max-width:none; margin:6px 0 0; font-size:13px; }
  .owner-handover-button { width:100%; max-width:370px; margin-top:26px; margin-left:auto; margin-right:auto; }
  .owner-final-invitation { min-height:360px; margin-top:86px; padding:66px 23px 60px; }
  .owner-final-invitation h2 { font-size:clamp(30px,8vw,43px); }
  .owner-final-invitation > p:not(.business-kicker) { font-size:14px; }
  .owner-contact-button { width:100%; max-width:370px; min-height:54px; margin-top:24px; padding:0 16px; font-size:9px; letter-spacing:.065em; }
  .owner-search-link { font-size:8px; }
}
@media (max-width:1050px) {
  .estate-search-stack .property-search { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .estate-search-stack .search-filter-toggle { grid-column:auto; }
  .estate-search-stack .property-search-submit { grid-column:1 / -1; }
  .filter-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .filter-numbers { grid-column:1 / -1; }
}
@media (max-width:640px) {
  .estate-search-stack .property-search { grid-template-columns:1fr; }
  .estate-search-stack .search-filter-toggle,.estate-search-stack .property-search-submit { grid-column:auto; }
  .advanced-filter-panel { max-height:30svh; padding:14px 13px 12px; }
  .filter-groups { grid-template-columns:1fr 1fr; gap:12px 14px; padding:12px 0; }
  .filter-numbers { grid-column:1 / -1; }
  .filter-numbers-field { width:calc(50% - 7px); margin-bottom:7px; }
  .filter-checks { grid-template-columns:1fr; gap:7px; }
  .advanced-filter-footer { align-items:flex-start; flex-direction:column; }
  .estate-about-content { width:calc(100% - 40px); min-height:calc(100svh - var(--business-header-height,86px) - 62px); padding:54px 0 62px; }
}

/* User review: lighter glass, legible black search/filter typography, persistent scrolled header. */
.business-topbar::before { background:rgba(239,234,224,.15); }
.portal-dialog { background:rgba(117,132,133,.08); }
.legal-dialog { background:rgba(225,211,193,.22); }
.estate-slide-arrow,.estate-slide-dots button { background-color:rgba(32,41,42,.09); }
.estate-slide-arrow:hover,.estate-slide-dots button:hover { background-color:rgba(32,41,42,.22); }
.estate-search-stack .property-search { background:rgba(246,240,231,.2); backdrop-filter:blur(28px) saturate(150%) brightness(1.16); -webkit-backdrop-filter:blur(28px) saturate(150%) brightness(1.16); }
.estate-search-stack .location-suggestions { background:rgba(249,246,239,.42); }
.advanced-filter-panel { color:#000; background:rgba(246,240,231,.21); backdrop-filter:blur(30px) saturate(145%) brightness(1.22); -webkit-backdrop-filter:blur(30px) saturate(145%) brightness(1.22); }
.property-search label span,.search-location > label,.search-field-heading,.property-search .search-price-bound > label { color:#000; }
.property-search input,.property-search select,.property-search input::placeholder { color:#000; }
.property-search input::placeholder { color:#000; opacity:1; text-shadow:0 0 3px rgba(255,255,255,.85); }
.property-search select { color:#000; }
.search-filter-toggle { color:#000; background:rgba(255,252,246,.19); }
.advanced-filter-heading .business-kicker,.advanced-filter-heading h2,.filter-group legend,.filter-numbers label,.filter-checks label,.advanced-filter-footer,.filter-reset { color:#000; text-shadow:0 0 3px rgba(255,255,255,.94),0 0 6px rgba(255,255,255,.72); }
.filter-reset { border-bottom-color:rgba(0,0,0,.55); }
.filter-numbers select,.filter-numbers input { color:#000; background:rgba(255,252,246,.32); }
.estate-results .results-view-switch { background:rgba(246,240,231,.12); }
.estate-results .listing-card { background:rgba(246,240,231,.11); }
.estate-results .listing-card.is-selected { background:rgba(255,252,245,.18); }
.estate-results .map-panel { background:rgba(246,240,231,.12); }

/* Keep search/filter text and browser control indicators consistently light. */
.estate-search-stack .property-search label span,
.estate-search-stack .property-search .search-location > label,
.estate-search-stack .property-search .search-field-heading,
.estate-search-stack .property-search .price-input,
.estate-search-stack .search-filter-toggle,
.estate-search-stack .advanced-filter-heading .business-kicker,
.estate-search-stack .advanced-filter-heading h2,
.estate-search-stack .filter-group legend,
.estate-search-stack .filter-numbers label,
.estate-search-stack .filter-checks label,
.estate-search-stack .advanced-filter-footer,
.estate-search-stack .filter-reset { color:rgba(255,255,255,.98)!important; text-shadow:0 1px 5px rgba(10,17,20,.78),0 0 2px rgba(10,17,20,.5); }
.estate-search-stack .property-search input,
.estate-search-stack .property-search select,
.estate-search-stack .filter-numbers input,
.estate-search-stack .filter-numbers select { color:#fff!important; -webkit-text-fill-color:#fff; text-shadow:0 1px 5px rgba(10,17,20,.78); }
.estate-search-stack .property-search input::placeholder,
.estate-search-stack .filter-numbers input::placeholder { color:rgba(255,255,255,.9)!important; -webkit-text-fill-color:rgba(255,255,255,.9); opacity:1; text-shadow:0 1px 5px rgba(10,17,20,.78); }
.estate-search-stack .property-search select,
.estate-search-stack .filter-numbers select { appearance:none; -webkit-appearance:none; padding-right:22px; 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 6 6.5 11 1.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 3px center; background-size:12px 8px; }
.estate-search-stack .property-search select option,
.estate-search-stack .filter-numbers select option { color:#fff; background-color:#263238; }
.estate-search-stack .filter-numbers select,
.estate-search-stack .filter-numbers input { border-color:rgba(255,255,255,.72); background-color:rgba(20,27,29,.2); }
.estate-search-stack .filter-reset { border-bottom-color:rgba(255,255,255,.8); }
.estate-search-stack .filter-checks input { accent-color:#fff; }
.estate-search-stack .property-search input[type="search"]::-webkit-search-cancel-button { opacity:1; filter:brightness(0) invert(1); cursor:pointer; }
.estate-search-stack .property-search input[type="number"]::-webkit-inner-spin-button,
.estate-search-stack .filter-numbers input[type="number"]::-webkit-inner-spin-button { opacity:1; filter:brightness(0) invert(1); cursor:pointer; }
.estate-search-stack .search-filter-toggle:focus-visible,
.estate-search-stack .filter-apply:focus-visible,
.estate-search-stack .filter-reset:focus-visible { outline-color:#fff; }
.estate-results h2 { display:flex; align-items:center; gap:13px; }
.results-count { display:inline-grid; place-items:center; min-width:29px; height:29px; padding:0 7px; border:1px solid rgba(38,50,56,.25); border-radius:50%; color:var(--ink-dark); background:rgba(246,240,231,.18); font-size:11px; font-weight:400; letter-spacing:.02em; }

/* Clear-glass pass: retain the scene's detail, with a thin reflective edge and light refraction. */
.business-topbar::before { background:rgba(245,242,235,.045); backdrop-filter:blur(8px) saturate(165%); -webkit-backdrop-filter:blur(8px) saturate(165%); box-shadow:0 8px 24px rgba(22,31,34,.08),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(255,255,255,.24); }
.portal-dialog { background:rgba(117,132,133,.055); backdrop-filter:blur(8px) saturate(150%); -webkit-backdrop-filter:blur(8px) saturate(150%); }
.legal-dialog { background:rgba(225,211,193,.08); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.estate-slide-arrow,.estate-slide-dots button { background-color:rgba(32,41,42,.045); backdrop-filter:blur(4px) saturate(160%); -webkit-backdrop-filter:blur(4px) saturate(160%); }
.estate-slide-arrow:hover,.estate-slide-dots button:hover { background-color:rgba(32,41,42,.14); }
.estate-search-stack .property-search { background:rgba(246,240,231,.075); backdrop-filter:blur(6px) saturate(165%); -webkit-backdrop-filter:blur(6px) saturate(165%); box-shadow:0 12px 38px rgba(15,24,26,.13),inset 0 1px rgba(255,255,255,.7),inset 0 -1px rgba(255,255,255,.18); }
.estate-search-stack .property-search > label,.estate-search-stack .search-location,.estate-search-stack .search-price-range { border-radius:5px; background:rgba(255,255,255,.09); }
.estate-search-stack .search-filter-toggle { background:rgba(255,255,255,.075); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.estate-search-stack .location-suggestions { background:rgba(249,246,239,.12); backdrop-filter:blur(9px) saturate(155%); -webkit-backdrop-filter:blur(9px) saturate(155%); }
.advanced-filter-panel { background:rgba(246,240,231,.075); backdrop-filter:blur(7px) saturate(160%); -webkit-backdrop-filter:blur(7px) saturate(160%); box-shadow:0 12px 34px rgba(15,24,26,.12),inset 0 1px rgba(255,255,255,.72),inset 0 -1px rgba(255,255,255,.15); }
.filter-group { padding:7px; border:1px solid rgba(255,255,255,.12); border-radius:6px; background:rgba(255,255,255,.035); }
.filter-numbers select,.filter-numbers input { background:rgba(255,255,255,.14); }
.filter-checks input { accent-color:#111; }
.property-search label span,.search-location > label,.search-field-heading,.property-search .search-price-bound > label,.property-search input,.property-search select,.property-search input::placeholder,.search-filter-toggle,.advanced-filter-heading .business-kicker,.advanced-filter-heading h2,.filter-group legend,.filter-numbers label,.filter-checks label,.advanced-filter-footer,.filter-reset { color:#000; text-shadow:0 0 2px rgba(255,255,255,.94),0 0 5px rgba(255,255,255,.72); }
.estate-results .results-view-switch { background:rgba(246,240,231,.045); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.estate-results .listing-card { background:rgba(246,240,231,.055); backdrop-filter:blur(3px) saturate(145%); -webkit-backdrop-filter:blur(3px) saturate(145%); }
.estate-results .listing-card.is-selected { background:rgba(255,252,245,.09); }
.estate-results .map-panel { background:rgba(246,240,231,.045); }
.results-count { background:rgba(246,240,231,.075); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }

/* White lettering stays legible on the dark photo behind clear search glass. */
.estate-search-stack .property-search { color:#fff; }
.estate-search-stack .property-search > label,.estate-search-stack .search-location,.estate-search-stack .search-price-range { border-color:rgba(255,255,255,.2); background:rgba(16,24,27,.16); }
.estate-search-stack .property-search label span,.estate-search-stack .search-location > label,.estate-search-stack .search-field-heading,.estate-search-stack .property-search .search-price-bound > label { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.72); }
.estate-search-stack .property-search input,.estate-search-stack .property-search select,.estate-search-stack .property-search input::placeholder,.estate-search-stack .search-filter-toggle { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.72); }
.estate-search-stack .property-search input::placeholder { opacity:.96; }
.estate-search-stack .property-search select option { color:#15191a; background:#f4efe6; text-shadow:none; }
.estate-search-stack .search-filter-toggle { border-color:rgba(255,255,255,.58); background:rgba(16,24,27,.15); }
.estate-search-stack .search-filter-toggle:hover,.estate-search-stack .search-filter-toggle:focus-visible,.estate-search-stack .search-filter-toggle[aria-expanded="true"] { background:rgba(16,24,27,.28); }
.advanced-filter-panel { color:#fff; }
.advanced-filter-heading .business-kicker,.advanced-filter-heading h2,.filter-group legend,.filter-numbers label,.filter-checks label,.advanced-filter-footer,.filter-reset { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.78); }
.filter-reset { border-bottom-color:rgba(255,255,255,.68); }
.filter-numbers select,.filter-numbers input { color:#fff; background:rgba(16,24,27,.2); text-shadow:0 1px 4px rgba(0,0,0,.65); }
.filter-numbers select option { color:#15191a; background:#f4efe6; }
.filter-numbers input::placeholder { color:rgba(255,255,255,.85); opacity:1; }
.filter-checks input { accent-color:#fff; }
.estate-search-stack .location-suggestions { color:#fff; background:rgba(12,19,22,.18); }
.estate-search-stack .location-suggestion { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.78); }
.estate-search-stack .location-suggestion:hover,.estate-search-stack .location-suggestion[aria-selected="true"] { background:rgba(255,255,255,.14); }
.estate-search-stack .location-suggestion-note { color:rgba(255,255,255,.92); text-shadow:0 1px 5px rgba(0,0,0,.78); }
.estate-search-stack .property-search { gap:10px; padding:12px; }
.estate-search-stack .property-search > label,.estate-search-stack .search-location,.estate-search-stack .search-price-range { padding:16px; }
.estate-search-stack .property-search label span,.estate-search-stack .search-location > label,.estate-search-stack .search-field-heading,.estate-search-stack .property-search .search-price-bound > label { font-size:10px; }
.estate-search-stack .property-search input,.estate-search-stack .property-search select { font-size:16px; }
.estate-search-stack .property-search .price-input input { font-size:14px; }
.estate-search-stack .property-search .price-input input::placeholder { font-size:12px; }
.estate-search-stack .property-search-submit,.estate-search-stack .search-filter-toggle { min-height:54px; font-size:10px; }
.advanced-filter-heading h2 { font-size:15px; }
.advanced-filter-heading .business-kicker,.filter-group legend { font-size:9px; }
.filter-numbers label,.filter-checks label { font-size:11px; }
.filter-reset,.advanced-filter-footer { font-size:9px; }

/* Wider desktop search bar with comfortably readable controls. */
@media (min-width:1051px) {
  .estate-search-stack { width:min(1830px,calc(100% - 64px)); }
  .estate-search-stack .property-search label span,
  .estate-search-stack .search-location > label,
  .estate-search-stack .search-field-heading,
  .estate-search-stack .property-search .search-price-bound > label { font-size:12px; }
  .estate-search-stack .property-search input,
  .estate-search-stack .property-search select { font-size:18px; }
  .estate-search-stack .property-search .price-input input { font-size:16px; }
  .estate-search-stack .property-search-submit,
  .estate-search-stack .search-filter-toggle { font-size:11px; }
}

/* Real-estate page refinements: translation-ready CTA, clearer relief marks and a stronger brand. */
.estate-results { width:100%; max-width:none; }
.estate-results > .results-heading-row,
.estate-results > .prototype-note,
.estate-results > .results-workspace { width:min(1280px,calc(100% - 64px)); margin-left:auto; margin-right:auto; }
.estate-results .estate-monogram span { color:rgba(109,82,57,.15); text-shadow:1px 1px 1px rgba(255,249,239,.52),-1px -1px 1px rgba(111,79,53,.16); }
.estate-side-emboss { display:none; }
@media (min-width:1400px) {
  .estate-side-emboss { position:absolute; z-index:0; top:43%; display:block; color:rgba(109,82,57,.18); font-size:clamp(11px,.9vw,16px); font-weight:300; letter-spacing:.2em; text-shadow:1px 1px 1px rgba(255,249,239,.65),-1px -1px 1px rgba(111,79,53,.2); white-space:nowrap; pointer-events:none; }
  .estate-side-emboss-left { left:2.2vw; }
  .estate-side-emboss-right { right:2.2vw; }
}
@media (max-width:640px) {
  .brand-lockup--hero .brand-lockup-primary { font-size:clamp(24px,7.5vw,32px); }
  .brand-lockup--hero .brand-lockup-secondary { font-size:clamp(12px,3.4vw,15px); }
  .estate-results { width:100%; }
  .estate-results > .results-heading-row,
  .estate-results > .prototype-note,
  .estate-results > .results-workspace { width:calc(100% - 40px); }
}

/* Keep the fixed navigation readable across dark and light content while scrolling. */
.business-topbar.is-scrolled::before { background:rgba(246,242,234,.88); backdrop-filter:blur(22px) saturate(145%); -webkit-backdrop-filter:blur(22px) saturate(145%); border-color:rgba(255,255,255,.88); box-shadow:0 10px 30px rgba(18,27,29,.18),inset 0 1px 0 rgba(255,255,255,.9); }
.business-topbar.is-scrolled a,.business-topbar.is-scrolled .business-languages .language { color:#263238; text-shadow:none; }
.business-topbar.is-scrolled a:hover,.business-topbar.is-scrolled a:focus-visible,.business-topbar.is-scrolled .business-languages .language.is-active { color:#11191c; }


/* Move the property marketing call to action just below the navigation. */
.estate-market-cta,.estate-about-market-cta { display:inline-flex; align-items:center; justify-content:center; gap:16px; border:1px solid rgba(255,255,255,.82); border-radius:999px; padding:13px 19px; color:#fff; background:#936342; box-shadow:0 8px 24px rgba(56,40,28,.2),inset 0 1px 0 rgba(255,255,255,.25); font-size:9px; font-weight:500; letter-spacing:.12em; line-height:1.2; text-decoration:none; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.estate-market-cta { position:absolute; z-index:5; top:calc(var(--estate-clearance) / 2); right:clamp(24px,5vw,78px); transform:translateY(-50%); gap:18px; padding:16px 24px; font-size:10px; }
.estate-about-market-cta { margin-top:27px; }
.estate-market-cta:hover,.estate-market-cta:focus-visible,.estate-about-market-cta:hover,.estate-about-market-cta:focus-visible { color:#fff; background:#704a31; box-shadow:0 12px 30px rgba(56,40,28,.27); transform:translateY(calc(-50% - 2px)); }
.estate-market-cta:focus-visible,.estate-about-market-cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.estate-monogram,.estate-side-emboss { display:none !important; }
@media (max-width:640px) {
  .business-topbar.estate-topbar { left:50%; right:auto; width:max-content; max-width:calc(100vw - 20px); height:52px; min-height:52px; padding:0 14px; transform:translateX(-50%); }
  .estate-property-page .business-topbar.estate-topbar { column-gap:10px; }
  .business-topbar.estate-topbar::before { inset:8px 0; }
  .estate-nav-cluster { gap:8px; }
  .business-topbar.estate-topbar .business-global { flex-wrap:nowrap; max-width:none; gap:clamp(7px,2vw,10px); }
  .business-topbar.estate-topbar .business-languages { gap:7px; }
  .property-header-actions { gap:7px; }
  .property-header-divider { height:18px; }
  .business-global .property-home-link { min-height:29px; gap:4px; padding:0 6px; }
  .property-home-link svg { width:11px; height:11px; }
  .property-header-back { min-height:30px; gap:4px; padding:0 7px; font-size:6.2px !important; letter-spacing:.04em !important; }
  .business-topbar.estate-topbar a { font-size:7px; letter-spacing:.08em; }
  .business-topbar.estate-topbar .language { font-size:7px; letter-spacing:.1em; }
  .estate-search-hero { --estate-clearance:108px; }
  .estate-brand { left:18px; }
  .estate-market-cta { right:18px; gap:7px; padding:9px 10px; font-size:7px; letter-spacing:.08em; }
  .estate-market-cta:hover,.estate-market-cta:focus-visible { transform:translateY(calc(-50% - 2px)); }
}

/* High-contrast signal colors for action buttons throughout the site. */
.estate-market-cta,.estate-about-market-cta,
.listing-detail-link,.property-search-submit,.property-contact-link {
  border-color:rgba(255,255,255,.58);
  color:#fff;
  background:var(--signal-green);
}
.estate-market-cta,.estate-about-market-cta { border-radius:6px; }
.listing-detail-link { border-color:rgba(255,255,255,.34); }
.estate-market-cta:hover,.estate-market-cta:focus-visible,
.estate-about-market-cta:hover,.estate-about-market-cta:focus-visible,
.listing-detail-link:hover,.property-search-submit:hover,.property-search-submit:focus-visible,
.property-contact-link:hover {
  border-color:rgba(255,255,255,.72);
  color:#fff;
  background:var(--signal-green-hover);
}
.property-search-submit:focus-visible,.property-contact-link:focus-visible,
.estate-market-cta:focus-visible,.estate-about-market-cta:focus-visible,
.listing-detail-link:focus-visible { outline-color:var(--signal-green-hover); }
.filter-apply,.map-area-search:not(:disabled) { color:#fff; background:var(--signal-green); }
.filter-apply:hover,.map-area-search:not(:disabled):hover { background:var(--signal-green-hover); }
.property-back-link,.property-header-back { background:var(--signal-red); }
.property-back-link:hover,.property-header-back:hover,.property-header-back:focus-visible { color:#fff; background:var(--signal-red-hover); }
.property-back-link:focus-visible,.property-header-back:focus-visible { outline-color:var(--signal-red-hover); }
.contact-submit { min-height:48px; justify-content:center; gap:18px; padding:0 18px; border:1px solid rgba(255,255,255,.6); border-radius:6px; color:#fff; background:var(--signal-green); }
.contact-submit:hover,.contact-submit:focus-visible { gap:24px; color:#fff; background:var(--signal-green-hover); }
.estate-market-cta,.estate-about-market-cta { background:var(--signal-red); }
.estate-market-cta:hover,.estate-market-cta:focus-visible,.estate-about-market-cta:hover,.estate-about-market-cta:focus-visible { background:var(--signal-red-hover); }

/* Estate header: keep the owner path visible without turning it into a red alert. */
.estate-topbar .estate-nav-market-link {
  gap:10px;
  padding:11px 15px;
  border:1px solid rgba(53,91,69,.58);
  border-radius:6px;
  color:#234b36;
  background:rgba(246,242,234,.9);
  box-shadow:0 7px 20px rgba(18,27,29,.14), inset 0 1px 0 rgba(255,255,255,.82);
  font-size:9px;
  font-weight:600;
  letter-spacing:.09em;
  white-space:nowrap;
}
.estate-topbar .estate-nav-market-link:hover,
.estate-topbar .estate-nav-market-link:focus-visible {
  color:#fff;
  background:var(--signal-green);
  border-color:rgba(255,255,255,.7);
  box-shadow:0 10px 24px rgba(10,50,31,.25), inset 0 1px 0 rgba(255,255,255,.25);
}
.business-topbar.is-scrolled .estate-nav-market-link {
  color:#234b36;
  background:rgba(246,242,234,.96);
  border-color:rgba(53,91,69,.52);
}
.business-topbar.is-scrolled .estate-nav-market-link:hover,
.business-topbar.is-scrolled .estate-nav-market-link:focus-visible {
  color:#fff;
  background:var(--signal-green);
}
@media (max-width:640px) {
  .estate-topbar .estate-nav-market-link {
    gap:4px;
    padding:7px 10px;
    font-size:clamp(5.7px,1.55vw,6.7px);
    letter-spacing:.06em;
  }
}

/* Property contact and details: align these surfaces with the warm parent-site contact panel. */
@media screen and (min-width:981px) {
  .property-heading-copy {
    justify-self:center;
    width:max-content;
    max-width:100%;
  }
}
@media screen {
  .property-contact-cta {
    border:1px solid rgba(255,255,255,.48);
    border-radius:5px;
    color:var(--ink);
    background:#d8c5ad;
    box-shadow:0 24px 70px rgba(89,65,42,.08),inset 0 1px rgba(255,255,255,.38);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .property-contact-cta .property-contact-link,
  .property-inquiry-dialog .inquiry-submit {
    min-width:0;
    min-height:48px;
    justify-content:center;
    gap:18px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.6);
    border-radius:6px;
    color:#fff;
    background:var(--signal-green);
  }
  .property-contact-cta .property-contact-link:hover,
  .property-inquiry-dialog .inquiry-submit:hover,
  .property-inquiry-dialog .inquiry-submit:focus-visible {
    gap:24px;
    color:#fff;
    background:var(--signal-green-hover);
  }
  .property-inquiry-dialog {
    border-color:rgba(255,255,255,.48);
    border-radius:5px;
    color:var(--ink);
    background:#d8c5ad;
    box-shadow:0 24px 70px rgba(89,65,42,.18),inset 0 1px rgba(255,255,255,.38);
  }
  .property-inquiry-dialog h2 { color:var(--ink-dark); }
  .property-inquiry-form { gap:21px; }
  .property-inquiry-form label {
    gap:9px;
    color:rgba(70,61,50,.78);
    font-size:10px;
    letter-spacing:.14em;
  }
  .property-inquiry-form input:not([type="hidden"]),
  .property-inquiry-form textarea {
    min-height:44px;
    padding:10px 12px;
    border:1px solid rgba(70,61,50,.34);
    border-bottom-color:rgba(70,61,50,.5);
    border-radius:4px;
    color:var(--ink);
    background:rgba(255,250,243,.58);
    font-size:14px;
    letter-spacing:.03em;
    outline:none;
  }
  .property-inquiry-form input:focus,
  .property-inquiry-form textarea:focus {
    border-color:rgba(70,61,50,.82);
    background:rgba(255,252,247,.84);
  }
  .property-inquiry-form input[readonly] { background:rgba(255,250,243,.46); }
  .inquiry-submit-row { justify-items:start; }
  .property-heading-copy { text-align:left; }
  .property-taxonomy.property-reference:not([hidden]) {
    display:block;
    width:max-content;
    max-width:100%;
    margin:8px 0 0;
    padding:0;
    border:0;
    color:rgba(70,61,50,.82);
    background:none;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    line-height:1.4;
    text-align:left;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .property-location {
    max-width:100%;
    margin:8px 0 0;
    color:rgba(52,67,72,.78);
    line-height:1.55;
    text-align:left;
    white-space:pre-line;
  }
  .property-attributes ul {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 14px;
  }
  .property-attributes li {
    min-width:0;
    min-height:34px;
    justify-content:flex-start;
    padding:7px 2px;
    border-bottom:1px solid rgba(82,107,88,.16);
    color:rgba(48,58,53,.9);
    line-height:1.45;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .property-attributes li:not(:last-child)::after { content:none; }
}

@media screen and (max-width:760px) {
  .property-heading-copy { text-align:center; }
  .property-taxonomy.property-reference:not([hidden]) { margin-right:auto; margin-left:auto; text-align:center; }
  .property-location { margin-right:auto; margin-left:auto; text-align:center; }
  .property-attributes ul { grid-template-columns:minmax(0,1fr); }
}

@page { size:A4; margin:14mm; }
.property-print-fallback-root { display:none; }
@media print {
  html,body { background:#fff !important; color:#20282a !important; }
  body.print-exposure-fallback > :not(.property-print-fallback-root) { display:none !important; }
  body.print-exposure-fallback .property-print-fallback-root { display:block !important; }
  .business-topbar,.site-footer,.property-back-link,.property-utility-actions,.property-gallery-arrow,.property-gallery-count,.property-gallery-thumbs,.property-contact-cta,.property-floating-contact,.property-floating-search,.property-inquiry-dialog,.legal-dialog,.property-video-section { display:none !important; }
  .property-detail-main { min-height:0; padding:0; background:#fff !important; }
  .property-detail-shell { width:100%; margin:0; }
  .property-brand { width:max-content; margin:0; color:#263238; }
  .brand-lockup--expose .brand-lockup-primary { font-size:18pt; }
  .brand-lockup--expose .brand-lockup-secondary { font-size:8.5pt; }
  .property-detail-heading { grid-template-columns:70mm minmax(0,1fr) 48mm; gap:5mm; padding:0 0 5mm; margin-bottom:5mm; border:0; border-bottom:1px solid #d8d0c3; border-radius:0; background:#fff; box-shadow:none; break-inside:avoid; }
  .property-heading-copy { min-width:0; text-align:left; }
  .property-detail-heading h1 { font-size:24pt; overflow-wrap:anywhere; }
  .property-location { max-width:100%; margin-left:0; font-size:9pt; line-height:1.4; text-align:left; overflow-wrap:anywhere; }
  .property-detail-price { min-width:0; padding:0; border:0; border-radius:0; background:#fff; box-shadow:none; font-size:15pt; }
  .property-price-label { color:#263238 !important; font-size:10pt; font-weight:600; letter-spacing:.1em; }
  .property-gallery,.property-gallery-main,.property-facts,.property-detail-columns,.property-map-section { break-inside:avoid; }
  .property-gallery-main { max-height:110mm; aspect-ratio:16/9; border:0; border-radius:0; box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .property-facts { margin-top:5mm; }
  .property-facts-heading { margin-bottom:2mm; color:#52605b; font-size:7pt; }
  .property-facts-grid { gap:3mm; }
  .property-fact { min-height:24mm; padding:2mm; border-color:#d8d5cf; background:#fff; box-shadow:none; }
  .property-fact-icon { width:8mm; height:8mm; padding:1mm; }
  .property-fact strong { color:#263238; font-size:14pt; }
  .property-fact span { color:#5d6768; font-size:6.5pt; }
  .property-detail-columns { gap:12mm; padding:9mm 0 4mm; }
  .property-detail-columns h2,.property-map-heading h2 { font-size:18pt; }
  .property-description-section,.property-attributes section:not([hidden]) { padding:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
  .property-description-section h2::after { background:#526b58; }
  .property-attributes { gap:4mm; }
  .property-attributes section:not([hidden]) + section:not([hidden]) { padding-top:3mm; border-top:1px solid #d8d0c3; }
  .property-attributes .business-kicker { color:#526b58; }
  .property-description { color:#303638; font-size:10pt; line-height:1.6; }
  .property-description a { color:#263238; text-decoration:underline; text-underline-offset:2px; }
  .property-attributes li { min-height:0; padding:1mm 2mm; border-color:#d8d0c3; color:#303638; background:#fff; font-size:10pt; line-height:1.6; }
  #expose-map { height:68mm; min-height:68mm; border-radius:0; box-shadow:none; }
  .property-map-section { margin-top:7mm; }
  .property-detail { display:block !important; }
  .property-print-gallery-page { break-before:page; page-break-before:always; }
  .property-print-gallery-page h2 { margin:0 0 4mm; color:#263238; font-size:15pt; }
  .property-print-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,73mm); gap:4mm; }
  .property-print-gallery-item { min-width:0; height:73mm; margin:0; break-inside:avoid; page-break-inside:avoid; }
  .property-print-gallery-item img { display:block; width:100%; height:100%; object-fit:contain; }
}

/* Smartphone homepage: calm static backdrop and a video CTA between the two portals. */
@media (max-width:640px) {
  .stage { background:#dfc8a8; }
  .stage .atmosphere {
    inset:0;
    background:#dfc8a8;
  }
  .stage .home-cms-slides { display:none !important; }
  .stage.has-cms-hero .atmosphere::after { display:none; }
  .home-scroll-cue { color:rgba(70,61,50,.86); text-shadow:none; }
  .home-scroll-chevron { border-color:rgba(70,61,50,.82); }
  .portals { gap:0; }
  .portal {
    min-height:205px;
    border-color:rgba(91,73,55,.28);
    background:rgba(255,252,246,.13);
    box-shadow:0 18px 40px rgba(75,57,39,.12),inset 0 1px 0 rgba(255,255,255,.82),inset 0 -1px 0 rgba(83,62,43,.08);
  }
  .portal-content { padding:22px 16px; }
  .portal-rule { margin:12px 0 13px; }
  .portal-arrow { margin-top:16px; }
  .home-floating-video {
    position:relative;
    inset:auto;
    top:calc(16px - 8.5svh);
    z-index:2;
    width:168px;
    min-height:54px;
    flex-direction:row;
    gap:11px;
    margin:12px auto;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.68);
    border-radius:8px;
    background:linear-gradient(145deg,rgba(18,22,24,.5),rgba(8,10,11,.34));
    box-shadow:0 10px 26px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.32),inset 0 -1px 0 rgba(255,255,255,.12);
    transform:none;
  }
  .home-floating-video.is-visible { transform:none; }
  .home-floating-video-icon { width:42px; flex:0 0 42px; border-radius:6px; }
  .home-floating-video-icon::before { border-radius:5px 5px 4px 4px; }
  .home-floating-video-icon span { border-top-width:7px; border-bottom-width:7px; border-left-width:11px; }
  .home-floating-video-label { font-size:9px; letter-spacing:.2em; }
  .home-floating-video:hover,.home-floating-video:focus-visible { transform:none; }
}

.mobile-search-toggle,.mobile-nav-toggle,.mobile-language-toggle { display:none; }
.language-options { display:flex; align-items:center; gap:17px; }
.languages .language-options { gap:22px; }

/* Desktop language picker: show only the current locale and reveal the rest on demand. */
.business-languages,.languages { position:relative; display:block; gap:0; }
.business-languages .mobile-language-toggle,.languages .mobile-language-toggle { display:flex; min-width:54px; min-height:34px; align-items:center; justify-content:center; gap:7px; padding:0 8px; border:0; border-radius:6px; color:inherit; background:transparent; font:inherit; font-size:9px; font-weight:600; letter-spacing:.12em; cursor:pointer; }
.business-languages .mobile-language-toggle svg,.languages .mobile-language-toggle svg { width:9px; height:6px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.business-languages .mobile-language-toggle[aria-expanded="true"] svg,.languages .mobile-language-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.business-languages .language-options,.languages .language-options { display:none; position:absolute; z-index:60; top:calc(100% + 6px); right:0; min-width:74px; max-height:min(64vh,440px); overflow-y:auto; flex-direction:column; align-items:stretch; gap:2px; padding:5px; border:1px solid rgba(255,255,255,.75); border-radius:8px; background:rgba(246,242,234,.96); box-shadow:0 12px 28px rgba(28,32,32,.2),inset 0 1px 0 rgba(255,255,255,.82); -webkit-backdrop-filter:blur(18px) saturate(145%); backdrop-filter:blur(18px) saturate(145%); }
.business-languages.is-language-open .language-options,.languages.is-language-open .language-options { display:flex; }
.business-languages .language-options .language,.languages .language-options .language { display:flex; width:100%; min-height:32px; align-items:center; justify-content:center; padding:0 9px; border:0; border-radius:5px; color:#263238; background:transparent; font-size:10px; font-weight:600; letter-spacing:.08em; }
.business-languages .language-options .language.is-active,.languages .language-options .language.is-active { display:none; }
.business-languages .language-options .language:hover,.business-languages .language-options .language:focus-visible,.languages .language-options .language:hover,.languages .language-options .language:focus-visible { background:rgba(147,99,66,.14); }

/* Phone-only home identity and navigation: fixed safe-area spacing and clear popovers. */
.mobile-menu-toggle { display:none; }
@media (max-width:640px) {
  .topbar {
    top:0;
    height:calc(64px + env(safe-area-inset-top,0px));
    padding:calc(env(safe-area-inset-top,0px) + 8px) 16px 0;
    align-items:center;
  }
  .topbar::before { display:none; }
  .mobile-menu-toggle {
    display:flex;
    width:44px;
    height:44px;
    flex:0 0 44px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0;
    border:0;
    color:#263238;
    background:transparent;
    cursor:pointer;
  }
  .mobile-menu-toggle span { width:21px; height:2px; border-radius:2px; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
  .mobile-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .mobile-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .utility {
    display:none;
    position:absolute;
    z-index:5;
    top:calc(env(safe-area-inset-top,0px) + 58px);
    left:16px;
    width:min(280px,calc(100vw - 32px));
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:7px;
    border:1px solid rgba(255,255,255,.46);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(19,24,26,.66),rgba(19,24,26,.48));
    box-shadow:0 18px 42px rgba(8,12,14,.28),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(28px) saturate(165%);
    backdrop-filter:blur(28px) saturate(165%);
  }
  .topbar.is-menu-open .utility { display:flex; }
  .utility .divider { display:none; }
  .utility-link {
    display:flex;
    min-height:52px;
    align-items:center;
    padding:0 13px;
    border-radius:7px;
    color:#fff;
    font-size:13px;
    font-weight:600;
    letter-spacing:.065em;
    line-height:1.35;
    text-shadow:none;
  }
  .utility-link:hover,.utility-link:focus-visible { color:#fff; background:rgba(255,255,255,.15); }
  .languages { position:absolute; top:calc(env(safe-area-inset-top,0px) + 8px); right:16px; display:block; }
  .mobile-language-toggle {
    display:flex;
    min-width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 4px;
    border:0;
    color:#263238;
    background:transparent;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    cursor:pointer;
  }
  .mobile-language-toggle svg { width:10px; height:7px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
  .mobile-language-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .languages .language-options {
    display:none;
    position:absolute;
    z-index:6;
    top:calc(100% + 5px);
    right:0;
    min-width:78px;
    flex-direction:column;
    gap:1px;
    padding:5px;
    border:1px solid rgba(255,255,255,.46);
    border-radius:11px;
    background:linear-gradient(145deg,rgba(19,24,26,.66),rgba(19,24,26,.48));
    box-shadow:0 18px 42px rgba(8,12,14,.28),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(28px) saturate(165%);
    backdrop-filter:blur(28px) saturate(165%);
  }
  .languages.is-language-open .language-options { display:flex; }
  .languages .language-options .language {
    display:flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border-radius:6px;
    color:#fff;
    font-size:12px;
    font-weight:600;
    letter-spacing:.1em;
    opacity:1;
  }
  .languages .language-options .language.is-active { display:none; }
  .languages .language-options .language:hover,.languages .language-options .language:focus-visible { background:rgba(255,255,255,.15); }
  .identity { top:calc(env(safe-area-inset-top,0px) + 96px); }
  .wordmark { font-size:clamp(27px,8vw,33px); letter-spacing:.3em; text-indent:.3em; }
  .portals { padding-top:calc(env(safe-area-inset-top,0px) + 226px); padding-bottom:78px; }
  .home-floating-video { top:auto; margin:10px auto 12px; }
}

/* Mobile filter accordion flows below the search fields and grows the hero instead of overlaying them. */
@media (max-width:640px) {
  .estate-search-stack.is-search-open { max-height:none; overflow:visible; overscroll-behavior:auto; padding:0; }
  .estate-search-stack.is-search-open .property-search { max-height:none; overflow:visible; }
  .estate-search-stack .advanced-filter-panel { grid-column:1 / -1; order:0; width:100%; max-height:none; overflow:visible; margin:0; padding:15px 13px 12px; }
  .estate-search-stack .advanced-filter-footer { align-items:stretch; flex-direction:column; gap:9px; }
  .estate-search-stack .filter-apply { min-height:48px; font-size:9px; }
}

/* Smartphone real-estate search: keep the hero clear until visitors ask to search. */
@media (max-width:640px) {
  .business-topbar.estate-topbar .estate-nav-cluster { position:relative; gap:8px; }
  .mobile-nav-toggle {
    display:flex;
    width:34px;
    height:32px;
    flex:0 0 34px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:0;
    border:1px solid rgba(38,50,56,.22);
    border-radius:6px;
    color:#263238;
    background:rgba(246,240,231,.2);
    cursor:pointer;
  }
  .mobile-nav-toggle span { width:15px; height:1.5px; border-radius:2px; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
  .mobile-nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(5.5px) rotate(45deg); }
  .mobile-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .mobile-nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-5.5px) rotate(-45deg); }
  .business-topbar.estate-topbar .business-global {
    display:none;
    position:absolute;
    z-index:30;
    top:calc(100% + 8px);
    left:0;
    width:188px;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:6px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:8px;
    background:rgba(17,27,31,.88);
    box-shadow:0 14px 32px rgba(13,20,22,.25),inset 0 1px rgba(255,255,255,.2);
    -webkit-backdrop-filter:blur(20px) saturate(155%);
    backdrop-filter:blur(20px) saturate(155%);
  }
  .estate-nav-cluster.is-menu-open .business-global { display:flex; }
  .business-topbar.estate-topbar .business-global a {
    min-height:38px;
    display:flex;
    align-items:center;
    padding:0 11px;
    border-radius:5px;
    color:#fff !important;
    font-size:8px;
    letter-spacing:.1em;
  }
  .business-topbar.estate-topbar .business-global a:hover,
  .business-topbar.estate-topbar .business-global a:focus-visible { color:#fff !important; background:rgba(255,255,255,.14); }
  .business-topbar.estate-topbar .business-languages { position:relative; display:block; gap:0; }
  .mobile-language-toggle {
    display:flex;
    min-width:40px;
    min-height:32px;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 7px;
    border:1px solid rgba(38,50,56,.22);
    border-radius:6px;
    color:#263238;
    background:rgba(246,240,231,.2);
    font:inherit;
    font-size:7px;
    font-weight:500;
    letter-spacing:.1em;
    cursor:pointer;
  }
  .mobile-language-toggle svg { width:9px; height:6px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
  .mobile-language-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
  .business-topbar.estate-topbar .language-options {
    display:none;
    position:absolute;
    z-index:40;
    top:calc(100% + 8px);
    right:0;
    min-width:55px;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:4px;
    border:1px solid rgba(255,255,255,.62);
    border-radius:7px;
    background:rgba(17,27,31,.88);
    box-shadow:0 14px 32px rgba(13,20,22,.25),inset 0 1px rgba(255,255,255,.2);
    -webkit-backdrop-filter:blur(20px) saturate(155%);
    backdrop-filter:blur(20px) saturate(155%);
  }
  .business-topbar.estate-topbar .business-languages.is-language-open .language-options { display:flex; }
  .business-topbar.estate-topbar .language-options .language {
    display:flex;
    width:100%;
    min-height:30px;
    align-items:center;
    justify-content:center;
    padding:0 8px;
    border:0;
    border-radius:6px;
    color:#fff !important;
    background:transparent;
    font-size:8px;
    letter-spacing:.1em;
    opacity:1;
  }
  .business-topbar.estate-topbar .language-options .language.is-active { display:none; }
  .business-topbar.estate-topbar .language-options .language:hover,
  .business-topbar.estate-topbar .language-options .language:focus-visible { background:rgba(255,255,255,.14); }
  .estate-brand {
    left:14px;
    max-width:calc((100vw - 48px) / 2);
  }
  .brand-lockup--hero .brand-lockup-primary { font-size:clamp(18px,5.6vw,24px); }
  .brand-lockup--hero .brand-lockup-secondary { font-size:clamp(10px,2.8vw,12px); }
  .estate-market-cta {
    right:14px;
    max-width:calc((100vw - 48px) / 2);
    gap:5px;
    padding:7px 8px;
    font-size:clamp(5.5px,1.65vw,6.8px);
    letter-spacing:.04em;
    line-height:1.2;
  }
  .estate-market-cta span:first-child { min-width:0; overflow-wrap:anywhere; text-align:center; }
  .estate-market-cta span[aria-hidden="true"] { flex:0 0 auto; }
  .estate-search-stack {
    bottom:14px;
    width:calc(100% - 28px);
  }
  .mobile-search-toggle {
    display:flex;
    width:100%;
    min-height:60px;
    align-items:center;
    gap:13px;
    padding:0 17px;
    border:1px solid rgba(255,255,255,.76);
    border-radius:8px;
    color:#fff;
    background:var(--signal-green);
    box-shadow:0 15px 34px rgba(10,33,25,.28),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.12);
    -webkit-backdrop-filter:blur(18px) saturate(165%);
    backdrop-filter:blur(18px) saturate(165%);
    font-family:inherit;
    font-size:10px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:.12em;
    text-align:left;
    cursor:pointer;
  }
  .mobile-search-toggle:hover,.mobile-search-toggle:focus-visible { background:var(--signal-green-hover); }
  .mobile-search-toggle:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  .mobile-search-icon { width:21px; height:21px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-search-label { flex:1 1 auto; }
  .mobile-search-toggle[aria-expanded="true"] .mobile-search-open-label { display:none; }
  .mobile-search-arrow { flex:0 0 auto; font-size:18px; font-weight:300; }
  .estate-search-stack:not(.is-search-open) > :not(.mobile-search-toggle) { display:none !important; }
  .estate-search-stack.is-search-open {
    max-height:calc(100svh - 124px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:2px;
  }
  .estate-search-stack.is-search-open .mobile-search-toggle { margin-bottom:8px; }
  .estate-search-stack.is-search-open .property-search { max-height:50svh; overflow-y:auto; }
  .estate-search-stack.is-search-open .advanced-filter-panel { max-height:26svh; }
}

/* Mobile estate header: edge navigation, centered brand, no floating market CTA. */
@media (max-width:640px) {
  body.estate-home-page { --business-header-height:calc(64px + env(safe-area-inset-top,0px)); }
  body.estate-home-page main { padding-top:var(--business-header-height); }
  body.estate-home-page .business-topbar.estate-topbar {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    max-width:none;
    height:var(--business-header-height);
    min-height:var(--business-header-height);
    z-index:50;
    padding:env(safe-area-inset-top,0px) 14px 0;
    background:#e4d5c4;
    transform:none;
    justify-content:space-between;
  }
  body.estate-home-page .business-topbar.estate-topbar::before { display:none; }
  body.estate-home-page .estate-nav-cluster { width:auto; margin-left:auto; justify-content:flex-end; gap:2px; }
  body.estate-home-page .business-languages { order:2; margin:0; }
  body.estate-home-page .mobile-nav-toggle { order:3; }
  body.estate-home-page .business-topbar.estate-topbar .business-global { right:0; left:auto; }
  body.estate-home-page .business-topbar.estate-topbar .business-languages .language-options { right:0; left:auto; }
  body.estate-home-page .mobile-nav-toggle {
    width:44px;
    height:44px;
    flex-basis:44px;
    border:0;
    border-radius:0;
    color:#263238;
    background:transparent;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  body.estate-home-page .mobile-language-toggle {
    min-width:44px;
    min-height:44px;
    padding:0 4px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#263238;
    font-size:12px;
    font-weight:600;
    letter-spacing:.09em;
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  body.estate-home-page .estate-nav-cluster > .estate-mobile-home-shortcut {
    display:flex;
    order:1;
    width:44px;
    height:44px;
    flex:0 0 44px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    border-radius:0;
    color:#263238;
    background:transparent;
  }
  body.estate-home-page .estate-mobile-home-shortcut svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
  body.estate-home-page .estate-mobile-home-shortcut > span[data-copy="home"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  body.estate-home-page .business-topbar.estate-topbar .business-global {
    width:min(276px,calc(100vw - 28px));
    gap:4px;
    padding:8px;
    border:1px solid rgba(255,255,255,.52);
    border-radius:7px;
    background:linear-gradient(135deg,rgba(248,248,246,.26),rgba(234,239,241,.09));
    box-shadow:0 9px 26px rgba(13,20,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.1);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    backdrop-filter:blur(20px) saturate(150%);
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global a {
    min-height:46px;
    padding:0 13px;
    border-radius:7px;
    color:#fff !important;
    font-size:9px;
    font-weight:600;
    letter-spacing:.065em;
    text-shadow:0 1px 8px rgba(0,0,0,.46);
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global a:hover,
  body.estate-home-page .business-topbar.estate-topbar .business-global a:focus-visible { color:#fff !important; background:linear-gradient(135deg,rgba(248,248,246,.34),rgba(234,239,241,.15)); }
  body.estate-home-page .business-topbar.estate-topbar .language-options {
    min-width:94px;
    gap:3px;
    padding:7px;
    border:1px solid rgba(255,255,255,.52);
    border-radius:7px;
    background:linear-gradient(135deg,rgba(248,248,246,.26),rgba(234,239,241,.09));
    box-shadow:0 9px 26px rgba(13,20,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.1);
    -webkit-backdrop-filter:blur(20px) saturate(150%);
    backdrop-filter:blur(20px) saturate(150%);
  }
  body.estate-home-page .business-topbar.estate-topbar .language-options .language {
    min-height:43px;
    border-radius:6px;
    color:#fff !important;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-shadow:0 1px 8px rgba(0,0,0,.46);
    opacity:1;
  }
  body.estate-home-page .business-topbar.estate-topbar .language-options .language:hover,
  body.estate-home-page .business-topbar.estate-topbar .language-options .language:focus-visible { background:linear-gradient(135deg,rgba(248,248,246,.34),rgba(234,239,241,.15)); }
  body.estate-home-page .business-global .estate-market-cta {
    display:flex;
    position:static;
    top:auto;
    right:auto;
    z-index:auto;
    width:100%;
    max-width:none;
    min-height:50px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:4px;
    padding:0 11px;
    border-radius:5px;
    color:#fff !important;
    background:var(--signal-red);
    box-shadow:none;
    transform:none;
    font-size:7.8px;
    font-weight:700;
    letter-spacing:.065em;
    text-shadow:0 1px 3px rgba(80,0,0,.22);
  }
  body.estate-home-page .business-global .estate-market-cta:hover,
  body.estate-home-page .business-global .estate-market-cta:focus-visible { color:#fff !important; background:var(--signal-red-hover); transform:none; }
  body.estate-home-page .business-global .estate-market-cta span:first-child { text-align:left; }
  body.estate-home-page .business-topbar .estate-brand {
    display:grid !important;
    position:absolute;
    z-index:5;
    top:calc(env(safe-area-inset-top,0px) + 34px);
    left:14px;
    right:auto;
    width:max-content;
    max-width:calc(100vw - 174px);
    margin:0;
    transform:translateY(-50%);
    justify-items:center;
    text-align:center;
    color:var(--ink-dark);
    text-shadow:0 1px 12px rgba(255,255,255,.2);
  }
  body.estate-home-page .business-topbar .estate-brand .brand-lockup-primary,
  body.estate-home-page .business-topbar .estate-brand .brand-lockup-secondary { text-shadow:0 1px 12px rgba(255,255,255,.2); }
  body.estate-home-page .brand-lockup--hero .brand-lockup-primary { font-size:clamp(15px,4.3vw,18px); }
  body.estate-home-page .brand-lockup--hero .brand-lockup-secondary { font-size:clamp(8px,2.2vw,10px); }
  body.estate-home-page .estate-search-hero { --estate-clearance:0px; height:calc(100svh - var(--business-header-height)); min-height:600px; }
  body.estate-home-page .estate-slideshow { top:0; }
  body.estate-home-page .estate-hero-claim {
    display:block;
    position:absolute;
    z-index:3;
    top:auto;
    bottom:calc(14px + 46px + 12px + 34px + 18px);
    left:22px;
    right:22px;
    margin:0;
    color:#fff;
    font-family:"Snell Roundhand","Apple Chancery","Brush Script MT",cursive;
    font-size:clamp(29px,7.8vw,38px);
    font-style:italic;
    font-weight:400;
    line-height:1.14;
    letter-spacing:.005em;
    text-align:left;
    text-shadow:0 2px 18px rgba(0,0,0,.62),0 1px 4px rgba(0,0,0,.42);
    text-wrap:initial;
    pointer-events:none;
  }
  body.estate-home-page .estate-hero-claim span { display:block; white-space:nowrap; }
  body.estate-home-page .estate-hero-claim span + span { margin-left:var(--claim-continuation-indent,0px); }
  body.estate-home-page .estate-search-hero > .estate-market-cta { display:none !important; }
  body.estate-home-page .estate-search-stack { width:calc(100% - 28px); }
  body.estate-home-page .mobile-search-toggle {
    width:min(72vw,270px);
    min-height:46px;
    justify-content:center;
    gap:9px;
    margin:0 auto;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.52);
    border-radius:7px;
    color:#fff;
    background:linear-gradient(135deg,rgba(248,248,246,.26),rgba(234,239,241,.09));
    box-shadow:0 9px 26px rgba(13,20,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.1);
    font-size:8.5px;
    font-weight:500;
    letter-spacing:.12em;
    text-align:center;
  }
  body.estate-home-page .mobile-search-toggle:hover,
  body.estate-home-page .mobile-search-toggle:focus-visible { background:linear-gradient(135deg,rgba(248,248,246,.34),rgba(234,239,241,.15)); }
  body.estate-home-page .mobile-search-icon { width:18px; height:18px; }
  body.estate-home-page .mobile-search-label { flex:0 1 auto; }
  body.estate-home-page .mobile-search-arrow { font-size:14px; }
}

.estate-hero-claim { display:none; }

/* Mobile search flow: the panel expands upward, filters flow before the sole search action. */
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open {
    max-height:none;
    overflow:visible;
    overscroll-behavior:auto;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search {
    max-height:none;
    overflow:visible;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-panel {
    max-height:none;
    overflow:visible;
  }
  body.estate-home-page .advanced-filter-footer {
    display:none;
  }
  body.estate-home-page .filter-count {
    border:1px solid rgba(81,67,51,.22);
    color:#383a38;
    background:rgba(255,252,246,.56);
    box-shadow:inset 0 1px rgba(255,255,255,.72);
    text-shadow:none;
  }
  body.estate-home-page .property-search-submit {
    width:100%;
    margin-top:8px;
  }
  body.estate-home-page .estate-search-hero.is-search-active .estate-slideshow {
    filter:none;
  }
  body.estate-home-page .estate-search-hero.is-search-active .estate-slide {
    transform:scale(1.015) !important;
    transition:none !important;
    filter:none !important;
  }
  body.estate-home-page .estate-search-hero.is-search-active .estate-slideshow::after {
    display:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search {
    border-color:rgba(255,255,255,.9);
    color:#343735;
    background:rgba(237,226,209,.985);
    backdrop-filter:blur(18px) saturate(110%);
    -webkit-backdrop-filter:blur(18px) saturate(110%);
    box-shadow:0 18px 44px rgba(52,42,31,.2),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(103,82,59,.08);
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search > label,
  body.estate-home-page .estate-search-stack.is-search-open .search-location,
  body.estate-home-page .estate-search-stack.is-search-open .search-price-range {
    border-color:rgba(89,75,58,.16);
    background:rgba(255,252,246,.34);
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search label span,
  body.estate-home-page .estate-search-stack.is-search-open .search-field-heading,
  body.estate-home-page .estate-search-stack.is-search-open .price-input,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle {
    color:#403c36 !important;
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder {
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder {
    opacity:.72;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle {
    border-color:rgba(89,75,58,.26);
    background:rgba(255,252,246,.48);
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    background:rgba(255,255,255,.68);
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-count {
    color:#383a38;
    background:rgba(255,252,246,.68);
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select {
    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 6 6.5 11 1.5' fill='none' stroke='%23403c36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select option {
    color:#343735;
    background-color:#f4eee4;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input[type="number"]::-webkit-inner-spin-button {
    filter:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-panel {
    border-color:rgba(255,255,255,.86);
    color:#343735;
    background:rgba(220,204,182,.985);
    backdrop-filter:blur(18px) saturate(108%);
    -webkit-backdrop-filter:blur(18px) saturate(108%);
    box-shadow:0 16px 38px rgba(52,42,31,.18),inset 0 1px 0 rgba(255,255,255,.82),inset 0 -1px 0 rgba(103,82,59,.09);
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading .business-kicker,
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading h2,
  body.estate-home-page .estate-search-stack.is-search-open .filter-group legend,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers label,
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks label,
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset {
    color:#403c36 !important;
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset {
    border-bottom-color:rgba(89,75,58,.38);
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input {
    border-color:rgba(89,75,58,.28);
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    background:rgba(255,252,246,.6);
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input::placeholder {
    color:rgba(52,55,53,.7) !important;
    -webkit-text-fill-color:rgba(52,55,53,.7);
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select {
    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 6 6.5 11 1.5' fill='none' stroke='%23403c36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select option {
    color:#343735;
    background-color:#f4eee4;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input[type="number"]::-webkit-inner-spin-button {
    filter:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input {
    accent-color:var(--signal-green);
  }
  /* Keep the opened mobile search to two beige surfaces and one clear type scale. */
  body.estate-home-page .estate-search-stack.is-search-open .property-search {
    background:rgba(237,226,209,.985);
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search > label,
  body.estate-home-page .estate-search-stack.is-search-open .search-location,
  body.estate-home-page .estate-search-stack.is-search-open .search-price-range,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .filter-group {
    background:transparent;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search > label,
  body.estate-home-page .estate-search-stack.is-search-open .search-location,
  body.estate-home-page .estate-search-stack.is-search-open .search-price-range {
    border-color:rgba(89,75,58,.2);
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-control,
  body.estate-home-page .estate-search-stack.is-search-open .location-control input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .price-input input,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input {
    background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestions {
    color:#343735;
    background:rgba(237,226,209,.99);
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion,
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion-note {
    color:#343735;
    text-shadow:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion:hover,
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion[aria-selected="true"] {
    background:rgba(220,204,182,.72);
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-location > label,
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-type > span,
  body.estate-home-page .estate-search-stack.is-search-open .search-field-heading,
  body.estate-home-page .estate-search-stack.is-search-open .search-price-bound > label,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle {
    font-family:inherit;
    font-size:11px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.065em;
    color:#403c36 !important;
    -webkit-text-fill-color:#403c36;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle {
    min-width:0;
    gap:7px;
    padding-inline:10px;
    border-color:rgba(89,75,58,.24);
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-count {
    flex:0 0 auto;
    background:#dcccb6;
    font-size:10px;
    letter-spacing:0;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder {
    font-family:inherit;
    font-size:14px;
    font-weight:500;
    line-height:1.3;
    letter-spacing:0;
  }
  body.estate-home-page .estate-search-stack.is-search-open .price-input input {
    font-size:14px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading .business-kicker {
    font-size:10px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.08em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading h2 {
    font-size:14px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.08em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-group {
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-group legend {
    font-size:11px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:.07em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:10px 12px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers legend {
    grid-column:1 / -1;
    width:100%;
    margin:0 0 2px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers label {
    display:flex;
    width:100%;
    min-width:0;
    flex-direction:column;
    gap:6px;
    margin:0;
    padding:0;
    font-size:11px;
    font-weight:500;
    line-height:1.3;
    letter-spacing:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input {
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 32px 8px 10px;
    border:1px solid rgba(89,75,58,.3);
    border-radius:6px;
    font-family:inherit;
    font-size:14px;
    font-weight:500;
    line-height:1.25;
    letter-spacing:0;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select {
    appearance:none;
    -webkit-appearance:none;
    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 6 6.5 11 1.5' fill='none' stroke='%23403c36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 10px center;
    background-size:12px 8px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks label {
    font-size:12px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:0;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset {
    max-width:45%;
    font-size:10px;
    font-weight:600;
    line-height:1.3;
    letter-spacing:.07em;
    text-align:right;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-location > label,
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-type > span,
  body.estate-home-page .estate-search-stack.is-search-open .search-field-heading,
  body.estate-home-page .estate-search-stack.is-search-open .search-price-bound > label,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading .business-kicker,
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading h2,
  body.estate-home-page .estate-search-stack.is-search-open .filter-group legend,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers label,
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks label,
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input::placeholder {
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    background:transparent !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks label {
    font-size:11px;
  }
}

/* Mobile search hierarchy: clear headings, softer default values, and one filter action state. */
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-location > label,
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-type > span,
  body.estate-home-page .estate-search-stack.is-search-open .property-search .search-purpose > span,
  body.estate-home-page .estate-search-stack.is-search-open .search-field-heading {
    font-size:14px;
    font-weight:650;
    line-height:1.2;
    letter-spacing:.045em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-price-bound > label {
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:.055em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder {
    font-size:12px;
    font-weight:500;
    line-height:1.25;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input::placeholder {
    color:#827c73 !important;
    -webkit-text-fill-color:#827c73;
    opacity:1;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select.is-default-choice,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select.is-default-choice {
    color:#827c73 !important;
    -webkit-text-fill-color:#827c73;
    font-weight:400;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    min-height:48px;
    background:rgba(220,204,182,.985) !important;
    border-color:rgba(255,255,255,.86);
    font-size:12px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:.045em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-count {
    background:#ede2d1;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-heading h2 {
    font-size:15px;
    font-weight:650;
    line-height:1.2;
    letter-spacing:.055em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-group legend {
    font-size:13px;
    font-weight:650;
    line-height:1.25;
    letter-spacing:.05em;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers label {
    font-size:13px;
    font-weight:600;
    line-height:1.25;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input {
    min-height:42px;
    font-size:12px;
    font-weight:500;
    line-height:1.25;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks label {
    font-size:12px;
    font-weight:500;
    line-height:1.3;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset {
    color:#87423c !important;
    border-bottom-color:rgba(135,66,60,.58);
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset:hover,
  body.estate-home-page .estate-search-stack.is-search-open .filter-reset:focus-visible {
    color:#6f332e !important;
    border-bottom-color:rgba(111,51,46,.82);
  }
}

/* Mobile search surfaces stay fully opaque while the form is in use. */
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .property-search {
    background:#ede2d1;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-panel,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    background:#dcccb6 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-control,
  body.estate-home-page .estate-search-stack.is-search-open .location-control input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .price-input,
  body.estate-home-page .estate-search-stack.is-search-open .price-input input {
    background-color:#ede2d1 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input {
    background-color:#dcccb6 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input:focus,
  body.estate-home-page .estate-search-stack.is-search-open .property-search input:active,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select:focus,
  body.estate-home-page .estate-search-stack.is-search-open .property-search select:active {
    background-color:#ede2d1 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select {
    appearance:none;
    -webkit-appearance:none;
    color-scheme:light;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select option {
    color:#343735;
    background-color:#ede2d1 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select:focus,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select:active,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input:focus,
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers input:active {
    background-color:#dcccb6 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select {
    appearance:none;
    -webkit-appearance:none;
    color-scheme:light;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-numbers select option {
    color:#343735;
    background-color:#dcccb6 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input[type="checkbox"] {
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    place-items:center;
    width:13px;
    height:13px;
    border:1px solid rgba(89,75,58,.52);
    border-radius:2px;
    background-color:#ede2d1 !important;
    accent-color:#ede2d1;
    box-shadow:inset 0 1px 1px rgba(64,52,38,.08);
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input[type="checkbox"]::after {
    content:"";
    width:3px;
    height:6px;
    border:solid #fff;
    border-width:0 1.5px 1.5px 0;
    transform:translateY(-1px) rotate(45deg) scale(0);
    transition:transform .12s ease-out;
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input[type="checkbox"]:checked {
    border-color:var(--signal-green);
    background-color:var(--signal-green) !important;
    accent-color:var(--signal-green);
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input[type="checkbox"]:checked::after {
    transform:translateY(-1px) rotate(45deg) scale(1);
  }
  body.estate-home-page .estate-search-stack.is-search-open .filter-checks input[type="checkbox"]:focus-visible {
    outline:2px solid rgba(94,81,66,.72);
    outline-offset:2px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestions {
    background:#ede2d1;
  }
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion:hover,
  body.estate-home-page .estate-search-stack.is-search-open .location-suggestion[aria-selected="true"] {
    background:#dcccb6;
  }
}

/* Desktop search styling follows the mobile hierarchy while retaining the desktop grid and placement. */
@media (min-width:1051px) {
  body.estate-home-page .estate-search-stack .property-search {
    color:#343735; background:#ede2d1; border-color:rgba(89,75,58,.22);
    box-shadow:0 12px 34px rgba(42,34,25,.12),inset 0 1px rgba(255,255,255,.68),inset 0 -1px rgba(89,75,58,.08);
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .property-search > label,
  body.estate-home-page .estate-search-stack .property-search .search-location,
  body.estate-home-page .estate-search-stack .property-search .search-price-range,
  body.estate-home-page .estate-search-stack .property-search .location-control,
  body.estate-home-page .estate-search-stack .property-search .price-input {
    color:#343735; background-color:#ede2d1; border-color:rgba(89,75,58,.18);
  }
  body.estate-home-page .estate-search-stack .property-search .search-location > label,
  body.estate-home-page .estate-search-stack .property-search .search-type > span,
  body.estate-home-page .estate-search-stack .property-search .search-purpose > span,
  body.estate-home-page .estate-search-stack .search-field-heading {
    color:#403c36 !important; font-size:14px; font-weight:650; line-height:1.2;
    letter-spacing:.045em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .property-search .search-price-bound > label {
    color:#403c36 !important; font-size:12px; font-weight:600; line-height:1.2;
    letter-spacing:.055em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .property-search input,
  body.estate-home-page .estate-search-stack .property-search select {
    color:#343735 !important; -webkit-text-fill-color:#343735; font-size:13px;
    font-weight:500; line-height:1.25; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .property-search input::placeholder {
    color:#827c73 !important; -webkit-text-fill-color:#827c73; font-size:13px;
    font-weight:500; opacity:1; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .property-search select.is-default-choice,
  body.estate-home-page .estate-search-stack .filter-numbers select.is-default-choice {
    color:#827c73 !important; -webkit-text-fill-color:#827c73; font-weight:400;
  }
  body.estate-home-page .estate-search-stack .property-search select,
  body.estate-home-page .estate-search-stack .filter-numbers select {
    appearance:none; -webkit-appearance:none; padding-right:24px; color-scheme:light;
    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 6 6.5 11 1.5' fill='none' stroke='%23594b3a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 4px center; background-size:12px 8px;
  }
  body.estate-home-page .estate-search-stack .property-search select { background-color:#ede2d1 !important; }
  body.estate-home-page .estate-search-stack .property-search select option {
    color:#343735; background-color:#ede2d1; text-shadow:none;
  }
  body.estate-home-page .estate-search-stack .property-search .price-input input { font-size:13px; font-weight:500; }
  body.estate-home-page .estate-search-stack .property-search .price-input input::placeholder {
    color:#827c73 !important; -webkit-text-fill-color:#827c73; font-size:13px;
  }
  body.estate-home-page .estate-search-stack .search-filter-toggle,
  body.estate-home-page .estate-search-stack .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack .search-filter-toggle[aria-expanded="true"] {
    color:#343735 !important; background:#dcccb6 !important; border-color:rgba(89,75,58,.24);
    font-size:13px; font-weight:600; line-height:1.2; letter-spacing:.045em;
    text-shadow:none !important; -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .filter-count {
    color:#343735; background:#ede2d1; font-size:10px; font-weight:600;
  }
  body.estate-home-page .estate-search-stack .advanced-filter-panel {
    color:#343735; background:#dcccb6; border-color:rgba(89,75,58,.24);
    box-shadow:0 14px 36px rgba(42,34,25,.12),inset 0 1px rgba(255,255,255,.62),inset 0 -1px rgba(89,75,58,.08);
    text-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .advanced-filter-heading .business-kicker {
    color:#655d52 !important; font-size:11px; font-weight:600; letter-spacing:.11em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .advanced-filter-heading h2 {
    color:#343735 !important; font-size:16px; font-weight:650; line-height:1.2;
    letter-spacing:.055em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .advanced-filter-heading { border-bottom-color:rgba(89,75,58,.2); }
  body.estate-home-page .estate-search-stack .filter-reset {
    color:#87423c !important; border-bottom-color:rgba(135,66,60,.58); font-size:12px;
    font-weight:600; letter-spacing:.045em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-reset:hover,
  body.estate-home-page .estate-search-stack .filter-reset:focus-visible {
    color:#6f332e !important; border-bottom-color:rgba(111,51,46,.82);
  }
  body.estate-home-page .estate-search-stack .filter-group {
    border-color:rgba(89,75,58,.18); background:#dcccb6;
  }
  body.estate-home-page .estate-search-stack .filter-group legend {
    color:#403c36 !important; font-size:14px; font-weight:650; line-height:1.25;
    letter-spacing:.05em; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-numbers label {
    color:#403c36 !important; font-size:13px; font-weight:600; line-height:1.25; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-numbers select,
  body.estate-home-page .estate-search-stack .filter-numbers input {
    min-height:42px; color:#343735 !important; -webkit-text-fill-color:#343735;
    background-color:#dcccb6 !important; border-color:rgba(89,75,58,.3);
    font-size:13px; font-weight:500; line-height:1.25; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-numbers input[type="number"] {
    padding-right:27px; appearance:textfield; -moz-appearance:textfield; -webkit-appearance:textfield;
  }
  body.estate-home-page .estate-search-stack .filter-numbers input::placeholder {
    color:#827c73 !important; -webkit-text-fill-color:#827c73; opacity:1; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-numbers select option {
    color:#343735; background-color:#dcccb6; text-shadow:none;
  }
  body.estate-home-page .estate-search-stack .filter-checks label {
    color:#343735 !important; font-size:13px; font-weight:500; line-height:1.3; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-checks input[type="checkbox"] {
    appearance:none; -webkit-appearance:none; display:grid; place-items:center;
    width:14px; height:14px; flex:0 0 auto; border:1px solid rgba(89,75,58,.52);
    border-radius:2px; background-color:#ede2d1; accent-color:#ede2d1;
    box-shadow:inset 0 1px 1px rgba(64,52,38,.08);
  }
  body.estate-home-page .estate-search-stack .filter-checks input[type="checkbox"]::after {
    content:""; width:3px; height:6px; border:solid #fff; border-width:0 1.5px 1.5px 0;
    transform:translateY(-1px) rotate(45deg) scale(0); transition:transform .12s ease-out;
  }
  body.estate-home-page .estate-search-stack .filter-checks input[type="checkbox"]:checked {
    border-color:var(--signal-green); background-color:var(--signal-green); accent-color:var(--signal-green);
  }
  body.estate-home-page .estate-search-stack .filter-checks input[type="checkbox"]:checked::after {
    transform:translateY(-1px) rotate(45deg) scale(1);
  }
  body.estate-home-page .estate-search-stack .filter-checks input[type="checkbox"]:focus-visible,
  body.estate-home-page .estate-search-stack .property-search :focus-visible,
  body.estate-home-page .estate-search-stack .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack .filter-reset:focus-visible { outline-color:rgba(94,81,66,.72); }
  body.estate-home-page .estate-search-stack .advanced-filter-footer {
    color:#655d52 !important; border-top-color:rgba(89,75,58,.2); font-size:12px; text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack .filter-apply {
    min-height:40px; color:#fff; font-size:12px; font-weight:600; letter-spacing:.045em;
  }
  body.estate-home-page .estate-search-stack .advanced-filter-panel { padding:14px 21px 10px; }
  body.estate-home-page .estate-search-stack .filter-groups { row-gap:8px; padding:6px 0; }
  body.estate-home-page .estate-search-stack .location-suggestions {
    color:#343735; background:#ede2d1; border-color:rgba(89,75,58,.2);
    box-shadow:0 12px 24px rgba(42,34,25,.14); text-shadow:none;
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .location-suggestion { color:#343735; text-shadow:none; }
  body.estate-home-page .estate-search-stack .location-suggestion:hover,
  body.estate-home-page .estate-search-stack .location-suggestion[aria-selected="true"] {
    color:#343735; background:#dcccb6;
  }
  body.estate-home-page .estate-search-stack .location-suggestion-note { color:#655d52; text-shadow:none; }
  body.estate-home-page .estate-search-stack input[type="search"],
  body.estate-home-page .estate-search-stack input[type="number"] { color-scheme:light; }
  body.estate-home-page .estate-search-stack .property-search input[type="search"]::-webkit-search-cancel-button,
  body.estate-home-page .estate-search-stack .property-search input[type="number"]::-webkit-inner-spin-button,
  body.estate-home-page .estate-search-stack .filter-numbers input[type="number"]::-webkit-inner-spin-button {
    opacity:1; filter:none; cursor:pointer;
  }
  body.estate-home-page .estate-search-stack .filter-numbers input[type="number"]::-webkit-inner-spin-button,
  body.estate-home-page .estate-search-stack .filter-numbers input[type="number"]::-webkit-outer-spin-button {
    appearance:none; -webkit-appearance:none; margin:0;
  }
  body.estate-home-page .estate-search-stack .number-stepper-field { position:relative; display:flex; width:100%; min-width:0; }
  body.estate-home-page .estate-search-stack .number-stepper-buttons {
    position:absolute; z-index:2; top:1px; right:1px; bottom:1px; display:flex; width:18px;
    flex-direction:column; overflow:hidden; border-left:1px solid rgba(89,75,58,.22);
    border-radius:0 4px 4px 0; background:#ede2d1;
  }
  body.estate-home-page .estate-search-stack .number-stepper-button {
    display:grid; flex:1 1 50%; min-height:0; place-items:center; padding:0; border:0;
    color:#594b3a; background:#ede2d1; cursor:pointer;
  }
  body.estate-home-page .estate-search-stack .number-stepper-button + .number-stepper-button {
    border-top:1px solid rgba(89,75,58,.17);
  }
  body.estate-home-page .estate-search-stack .number-stepper-button:hover,
  body.estate-home-page .estate-search-stack .number-stepper-button:focus-visible { background:#dcccb6; }
  body.estate-home-page .estate-search-stack .number-stepper-button:focus-visible { position:relative; z-index:3; outline:2px solid #594b3a; outline-offset:-2px; }
  body.estate-home-page .estate-search-stack .number-stepper-button svg { display:block; width:8px; height:5px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  body.estate-home-page .estate-search-stack .filter-numbers-field .number-stepper-field { min-height:42px; }
  body.estate-home-page .estate-search-stack .filter-numbers-field .number-stepper-field input { height:42px; padding-right:27px; }
  body.estate-home-page .estate-search-stack .property-search .number-stepper-field { min-height:30px; flex:1 1 auto; }
  body.estate-home-page .estate-search-stack .property-search .price-input input[type="number"] {
    height:30px; min-height:30px; padding:0 27px 0 0; background:#ede2d1; border-radius:4px;
    appearance:textfield; -moz-appearance:textfield; -webkit-appearance:textfield;
  }
  body.estate-home-page .estate-search-stack .property-search .number-stepper-buttons { background:#ede2d1; }
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:hover,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:focus-visible { background:#ede2d1; }
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:hover,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:focus-visible { background:#dcccb6; }
  body.estate-home-page .estate-search-stack .property-search .price-input { background:transparent; }
  body.estate-home-page .estate-search-stack .property-search input[type="number"]::-webkit-inner-spin-button,
  body.estate-home-page .estate-search-stack .property-search input[type="number"]::-webkit-outer-spin-button {
    display:none; -webkit-appearance:none; margin:0;
  }
}

/* Keep the desktop search frosted while idle; use solid beige surfaces while a field or filter is active. */
@media (min-width:1051px) {
  body.estate-home-page .estate-search-stack .property-search {
    background:rgba(255,255,255,.3); border-color:rgba(255,255,255,.68);
    box-shadow:0 12px 34px rgba(20,24,23,.16),inset 0 1px rgba(255,255,255,.66);
    -webkit-backdrop-filter:blur(15px) saturate(138%); backdrop-filter:blur(15px) saturate(138%);
  }
  body.estate-home-page .estate-search-stack .property-search > label,
  body.estate-home-page .estate-search-stack .property-search .search-location,
  body.estate-home-page .estate-search-stack .property-search .search-price-range,
  body.estate-home-page .estate-search-stack .property-search .location-control,
  body.estate-home-page .estate-search-stack .property-search .price-input {
    background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack .property-search select,
  body.estate-home-page .estate-search-stack .property-search .price-input input[type="number"] {
    background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack .property-search .number-stepper-buttons,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:hover,
  body.estate-home-page .estate-search-stack .property-search .number-stepper-button:focus-visible {
    background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack .property-search .price-input > span[aria-hidden="true"] {
    color:#343735 !important; -webkit-text-fill-color:#343735;
  }
  body.estate-home-page .estate-search-stack .search-filter-toggle,
  body.estate-home-page .estate-search-stack .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack .search-filter-toggle[aria-expanded="false"] {
    background:transparent !important; -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .filter-count {
    color:#343735 !important; background:transparent !important;
    border:1px solid rgba(89,75,58,.3); font-size:10px; font-weight:600;
  }
  body.estate-home-page .estate-search-stack .property-search input::placeholder {
    color:#403c36 !important; -webkit-text-fill-color:#403c36; opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack .property-search select.is-default-choice {
    color:#403c36 !important; -webkit-text-fill-color:#403c36; opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search input::placeholder {
    color:#403c36 !important; -webkit-text-fill-color:#403c36; opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack.is-search-open .property-search select.is-default-choice {
    color:#403c36 !important; -webkit-text-fill-color:#403c36; opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack .property-search:focus-within,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search {
    background:#ede2d1; border-color:rgba(89,75,58,.22);
    box-shadow:0 12px 34px rgba(42,34,25,.12),inset 0 1px rgba(255,255,255,.68),inset 0 -1px rgba(89,75,58,.08);
    -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack .property-search:focus-within > label,
  body.estate-home-page .estate-search-stack .property-search:focus-within .search-location,
  body.estate-home-page .estate-search-stack .property-search:focus-within .search-price-range,
  body.estate-home-page .estate-search-stack .property-search:focus-within .location-control,
  body.estate-home-page .estate-search-stack .property-search:focus-within .price-input,
  body.estate-home-page .estate-search-stack .property-search:focus-within .price-input input[type="number"],
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search > label,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search .search-location,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search .search-price-range,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search .location-control,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search .price-input,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .property-search .price-input input[type="number"] {
    background-color:#ede2d1 !important;
  }
  body.estate-home-page .estate-search-stack .property-search:focus-within .search-filter-toggle,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .search-filter-toggle { background:#ede2d1 !important; }
}

/* White text on the inactive desktop glass bar, matching the mobile hero search. */
@media (min-width:1051px) {
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) {
    color:#fff; background:rgba(16,24,27,.32); border-color:rgba(255,255,255,.68);
    -webkit-backdrop-filter:blur(18px) saturate(138%); backdrop-filter:blur(18px) saturate(138%);
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) > label,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-location,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-price-range {
    border-color:rgba(255,255,255,.22); background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-location > label,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-type > span,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-purpose > span,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-field-heading,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .search-price-bound > label {
    color:#fff !important; text-shadow:0 1px 5px rgba(10,17,20,.78) !important;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) input,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) select {
    color:#fff !important; -webkit-text-fill-color:#fff; text-shadow:0 1px 5px rgba(10,17,20,.78) !important;
    background-color:transparent !important;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) input::placeholder {
    color:rgba(255,255,255,.96) !important; -webkit-text-fill-color:rgba(255,255,255,.96);
    opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) select.is-default-choice {
    color:#fff !important; -webkit-text-fill-color:#fff; opacity:1; font-weight:500;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) select {
    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 6 6.5 11 1.5' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .price-input > span[aria-hidden="true"] {
    color:#fff !important; -webkit-text-fill-color:#fff; text-shadow:0 1px 5px rgba(10,17,20,.78);
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .number-stepper-buttons {
    background:transparent !important; border-left-color:rgba(255,255,255,.3);
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .number-stepper-button,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .number-stepper-button:hover,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:not(:focus-within) .number-stepper-button:focus-visible {
    color:#fff; background:transparent !important; text-shadow:0 1px 4px rgba(10,17,20,.8);
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .search-filter-toggle {
    color:#fff !important; border-color:rgba(255,255,255,.22); text-shadow:0 1px 5px rgba(10,17,20,.78) !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open:not(:has(.advanced-filter-panel:not([hidden]))) .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open:not(:has(.advanced-filter-panel:not([hidden]))) .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open:not(:has(.advanced-filter-panel:not([hidden]))) .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open:not(:has(.advanced-filter-panel:not([hidden]))) .search-filter-toggle[aria-expanded="false"] {
    color:#fff !important; background:transparent !important; border-color:rgba(255,255,255,.22);
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .filter-count {
    color:#fff !important; background:transparent !important;
    border-color:rgba(255,255,255,.52); text-shadow:0 1px 4px rgba(10,17,20,.8);
  }
  body.estate-home-page .estate-search-stack.is-search-open:not(:has(.advanced-filter-panel:not([hidden]))) .filter-count {
    color:#fff !important; background:transparent !important; border-color:rgba(255,255,255,.52);
  }
}

/* The filter button follows the active search field, then the open filter panel. */
@media (min-width:1051px) {
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:focus-within .search-filter-toggle,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:focus-within .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:focus-within .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:focus-within .search-filter-toggle[aria-expanded="false"] {
    color:#343735 !important; background:#ede2d1 !important; border-color:rgba(89,75,58,.24);
    text-shadow:none !important; -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack:not(:has(.advanced-filter-panel:not([hidden]))) .property-search:focus-within .filter-count {
    color:#343735 !important; background:transparent !important; border-color:rgba(89,75,58,.3); text-shadow:none;
  }
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .search-filter-toggle,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .search-filter-toggle[aria-expanded="true"] {
    color:#343735 !important; background:#dcccb6 !important; border-color:rgba(89,75,58,.24);
    text-shadow:none !important; -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  body.estate-home-page .estate-search-stack:has(.advanced-filter-panel:not([hidden])) .filter-count {
    color:#343735 !important; background:transparent !important; border-color:rgba(89,75,58,.3); text-shadow:none;
  }
}

/* Active filter toggle: use a warm neutral surface so it stands out without reading as an alert. */
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    width:100%;
    min-height:50px;
    gap:9px;
    padding:0 14px;
    border:1px solid rgba(89,75,58,.42);
    border-radius:8px;
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    background:#dcccb6 !important;
    box-shadow:0 4px 11px rgba(65,52,37,.12),inset 0 1px 0 rgba(255,255,255,.62);
    text-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle::before {
    width:16px;
    height:14px;
    flex:0 0 16px;
    background:currentColor;
    clip-path:polygon(0 0,100% 0,61% 43%,61% 100%,39% 100%,39% 43%);
    content:"";
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle .filter-chevron {
    margin-left:0;
    color:#343735;
    font-size:15px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle .filter-count {
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    background:#ede2d1 !important;
    border-color:rgba(89,75,58,.3);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:hover {
    background:#d4c2a8 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle[aria-expanded="true"] {
    border-color:rgba(89,75,58,.58);
    box-shadow:0 3px 9px rgba(65,52,37,.12),inset 0 1px 2px rgba(89,75,58,.12);
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:focus-visible {
    outline:3px solid #343735;
    outline-offset:3px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .search-filter-toggle:active {
    transform:translateY(1px);
  }
}

/* Desktop: keep the same neutral filter treatment while preserving the desktop geometry. */
@media (min-width:1051px) {
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle,
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle:hover,
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle:focus-visible,
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle[aria-expanded="true"] {
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    background:#dcccb6 !important;
    border-color:rgba(89,75,58,.42) !important;
    box-shadow:0 4px 11px rgba(65,52,37,.12),inset 0 1px 0 rgba(255,255,255,.62);
    text-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle::before {
    width:14px;
    height:12px;
    flex:0 0 14px;
    background:currentColor;
    clip-path:polygon(0 0,100% 0,61% 43%,61% 100%,39% 100%,39% 43%);
    content:"";
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle .filter-count {
    color:#343735 !important;
    -webkit-text-fill-color:#343735;
    background:#ede2d1 !important;
    border-color:rgba(255,255,255,.72);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
    text-shadow:none !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle:hover {
    background:#d4c2a8 !important;
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle[aria-expanded="true"] {
    border-color:rgba(89,75,58,.58) !important;
    box-shadow:0 3px 9px rgba(65,52,37,.12),inset 0 1px 2px rgba(89,75,58,.12);
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle:focus-visible {
    outline:3px solid #343735;
    outline-offset:3px;
  }
  body.estate-home-page .estate-search-stack.is-search-open #advanced-filter-toggle:active {
    transform:translateY(1px);
  }
}

/* Text-only close affordances: remove the extra X controls and keep the filter state clear. */
.advanced-filter-heading { padding-right:0; }
body.estate-home-page .estate-search-stack .search-filter-toggle[aria-expanded="true"] #advanced-filter-label {
  color:#87423c !important;
  -webkit-text-fill-color:#87423c;
  text-shadow:none !important;
}
body.estate-home-page .mobile-search-close-text { display:none; }
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-toggle { display:none !important; }
  body.estate-home-page .estate-search-stack.is-search-open .property-search { position:relative; }
  body.estate-home-page .estate-search-stack.is-search-open .property-search { padding-top:52px; }
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text {
    position:absolute;z-index:6;top:7px;right:11px;
    display:flex;flex-direction:column;align-items:flex-end;gap:1px;
    margin:0;width:max-content;max-width:calc(100% - 22px);min-height:36px;
    padding:0;border:0;color:#87423c;background:transparent;box-shadow:none;
    font-family:inherit;font-size:9px;font-weight:500;line-height:1.2;letter-spacing:.04em;
    text-align:right;text-decoration:none;text-shadow:none;cursor:pointer;
  }
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text > span[aria-hidden="true"] {
    display:block;font-size:23px;font-weight:300;line-height:1;
  }
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text > span[data-copy="mobileSearchClose"] {
    display:block;max-width:100%;font-size:9px;line-height:1.25;white-space:normal;
    overflow-wrap:normal;word-break:normal;hyphens:none;text-shadow:none;
  }
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text:hover,
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text:focus-visible {
    color:#6f332e;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .mobile-search-close-text:focus-visible {
    outline:2px solid rgba(135,66,60,.42);
    outline-offset:3px;
  }
}

/* Desktop price-range currency symbols stay crisp without the inherited glass-text shadow. */
@media (min-width:641px) {
  body.estate-home-page .estate-search-stack .property-search .price-input > span[aria-hidden="true"] {
    text-shadow:none !important;
  }
}

/* Desktop real-estate home: one fixed header holds the brand and right-aligned navigation. */
@media (min-width:981px) {
  body.estate-home-page { --business-header-height:136px; }
  body.estate-home-page main { padding-top:var(--business-header-height); }
  body.estate-home-page .business-topbar.estate-topbar {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    max-width:none;
    height:var(--business-header-height);
    min-height:var(--business-header-height);
    padding:0 clamp(24px,5vw,78px);
    transform:none;
    justify-content:center;
    background:#e4d5c4;
    border-bottom:1px solid rgba(38,50,56,.12);
    box-shadow:0 3px 14px rgba(46,42,36,.08);
  }
  body.estate-home-page .business-topbar.estate-topbar::before { display:none; }
  body.estate-home-page .estate-nav-cluster {
    width:100%;
    justify-content:space-between;
    gap:clamp(24px,3vw,44px);
  }
  body.estate-home-page .business-topbar.estate-topbar .estate-brand {
    position:static;
    top:auto;
    left:auto;
    right:auto;
    flex:0 0 auto;
    transform:none;
    justify-items:start;
    text-align:left;
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global {
    display:flex;
    align-items:center;
    gap:clamp(16px,1.7vw,26px);
    margin-left:auto;
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta) {
    color:rgba(38,50,56,.86);
    font-size:11px;
    font-weight:500;
    letter-spacing:.1em;
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta):hover,
  body.estate-home-page .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta):focus-visible {
    color:#11191c;
  }
  body.estate-home-page .business-topbar.estate-topbar .business-global .property-home-link {
    min-height:0;
    gap:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  body.estate-home-page .business-topbar.estate-topbar .property-home-link svg { width:17px; height:17px; }
  body.estate-home-page .business-topbar.estate-topbar .property-home-link > span[data-copy="home"] {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  body.estate-home-page .business-topbar.estate-topbar .business-languages {
    margin-left:clamp(14px,1.5vw,22px);
    padding-left:clamp(14px,1.4vw,20px);
    border-left:1px solid rgba(38,50,56,.2);
  }
  body.estate-home-page .business-topbar.estate-topbar .mobile-language-toggle {
    min-width:0;
    min-height:32px;
    gap:8px;
    padding:0;
    color:#263238;
    font-size:11px;
    font-weight:600;
    letter-spacing:.04em;
  }
  body.estate-home-page .business-topbar.estate-topbar .language-code { display:none; }
  body.estate-home-page .business-topbar.estate-topbar .language-name { display:inline; }
  body.estate-home-page .business-topbar.estate-topbar .language-options {
    min-width:160px;
    padding:6px;
  }
  body.estate-home-page .business-topbar.estate-topbar .language-options .language {
    justify-content:flex-start;
    min-height:34px;
    padding:0 11px;
    font-size:11px;
    letter-spacing:.025em;
  }
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link {
    position:static;
    top:auto;
    right:auto;
    z-index:auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    color:#f00000;
    background:transparent;
    box-shadow:none;
    transform:none;
    font-size:10px;
    font-weight:600;
    letter-spacing:.06em;
    text-decoration:none;
  }
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link:hover,
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link:focus-visible {
    color:#d50000;
    background:transparent;
    box-shadow:none;
    transform:none;
    text-decoration:underline;
    text-underline-offset:4px;
  }
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link:focus-visible {
    outline:none;
    text-decoration:underline;
    text-underline-offset:4px;
  }
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link > span[aria-hidden="true"] { font-size:14px; }
  body.estate-home-page .estate-search-hero {
    --estate-clearance:0px;
    height:calc(100svh - var(--business-header-height));
  }
  body.estate-home-page .estate-slideshow { inset:0; }
}

/* Keep the compact language codes in the existing phone navigation. */
@media (max-width:980px) {
  body.estate-home-page .business-topbar.estate-topbar .language-code { display:inline; }
  body.estate-home-page .business-topbar.estate-topbar .language-name { display:none; }
}


/* Focused closing CTA: the three problem cards remain the proof, this is the single next action. */
.owner-final-cta {
  margin:clamp(74px,10vh,116px) 0 0;
}
.owner-final-cta-inner {
  max-width:1060px;
  margin:0 auto;
  padding:clamp(40px,5.5vw,68px) clamp(24px,6vw,76px) clamp(42px,5.8vw,72px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
  color:#f5f1e9;
  background:linear-gradient(125deg,rgba(102,128,122,.22),rgba(40,51,56,.98) 56%,rgba(35,45,49,.98));
  box-shadow:0 18px 38px rgba(52,66,71,.13),inset 0 1px rgba(255,255,255,.17);
  text-align:center;
}
.owner-final-cta .business-kicker {
  margin:0 0 17px;
  color:rgba(245,241,233,.68);
}
.owner-final-cta h2 {
  max-width:780px;
  margin:0 auto;
  color:#fff;
  font-size:clamp(30px,4vw,52px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.owner-final-cta-inner > p:not(.business-kicker) {
  max-width:650px;
  margin:19px auto 0;
  color:rgba(245,241,233,.8);
  font-size:15px;
  font-weight:300;
  line-height:1.7;
}
.owner-final-cta .owner-final-cta-button {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  margin:28px auto 0;
}
body.estate-owner-page .owner-final-cta-inner {
  --cta-button-gap:clamp(38px,4.2vw,58px);
  padding-bottom:var(--cta-button-gap);
}
body.estate-owner-page .owner-final-cta .owner-final-cta-button {
  margin-top:var(--cta-button-gap);
}
@media(max-width:760px) {
  .owner-final-cta { margin-top:76px; }
  .owner-final-cta-inner { padding:35px 20px 38px; border-radius:13px; }
  .owner-final-cta h2 { font-size:clamp(29px,8vw,43px); }
  .owner-final-cta-inner > p:not(.business-kicker) { font-size:14px; }
  body.estate-owner-page .owner-final-cta-inner { --cta-button-gap:30px; padding-bottom:var(--cta-button-gap); }
  body.estate-owner-page .owner-final-cta .owner-final-cta-button { width:100%; max-width:370px; margin-top:var(--cta-button-gap); }
}

/* Real-estate subpages share the fixed header and responsive navigation of the search page. */
body.estate-subpage { --business-header-height:136px; }
body.estate-subpage main { padding-top:var(--business-header-height); }
body.estate-subpage .business-topbar.estate-topbar {
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  max-width:none;
  height:var(--business-header-height);
  min-height:var(--business-header-height);
  padding:0 clamp(24px,5vw,78px);
  transform:none;
  justify-content:center;
  background:#e4d5c4;
  border-bottom:1px solid rgba(38,50,56,.12);
  box-shadow:0 3px 14px rgba(46,42,36,.08);
}
body.estate-subpage .business-topbar.estate-topbar::before { display:none; }
body.estate-subpage .estate-nav-cluster { width:100%; justify-content:space-between; gap:clamp(24px,3vw,44px); }
body.estate-subpage .estate-header-brand { position:static; flex:0 0 auto; justify-items:start; text-align:left; }
body.estate-subpage .business-topbar.estate-topbar .business-global { display:flex; align-items:center; gap:clamp(16px,1.7vw,26px); margin-left:auto; }
body.estate-subpage .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta) { color:rgba(38,50,56,.86); font-size:11px; font-weight:500; letter-spacing:.1em; }
body.estate-subpage .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta):hover,
body.estate-subpage .business-topbar.estate-topbar .business-global > a:not(.estate-market-cta):focus-visible { color:#11191c; }
body.estate-subpage .business-topbar.estate-topbar .business-global .property-home-link { min-height:0; gap:0; padding:0; border:0; border-radius:0; background:transparent; }
body.estate-subpage .business-topbar.estate-topbar .property-home-link svg { width:17px; height:17px; }
body.estate-subpage .business-topbar.estate-topbar .property-home-link > span[data-copy="home"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.estate-subpage .business-topbar.estate-topbar .business-languages { margin-left:clamp(14px,1.5vw,22px); padding-left:clamp(14px,1.4vw,20px); border-left:1px solid rgba(38,50,56,.2); }
body.estate-subpage .business-topbar.estate-topbar .mobile-language-toggle { min-width:0; min-height:32px; gap:8px; padding:0; color:#263238; font-size:11px; font-weight:600; letter-spacing:.04em; }
body.estate-subpage .business-topbar.estate-topbar .language-code { display:none; }
body.estate-subpage .business-topbar.estate-topbar .language-name { display:inline; }
body.estate-subpage .business-topbar.estate-topbar .language-options { min-width:160px; padding:6px; }
body.estate-subpage .business-topbar.estate-topbar .language-options .language { justify-content:flex-start; min-height:34px; padding:0 11px; font-size:11px; letter-spacing:.025em; }
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link { position:static; top:auto; right:auto; z-index:auto; display:inline-flex; align-items:center; gap:8px; padding:0; border:0; border-radius:0; color:#f00000; background:transparent; box-shadow:none; transform:none; font-size:10px; font-weight:600; letter-spacing:.06em; text-decoration:none; }
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link:hover,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link:focus-visible { color:#d50000; background:transparent; box-shadow:none; transform:none; text-decoration:underline; text-underline-offset:4px; }
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link > span[aria-hidden="true"] { font-size:14px; }

/* The standalone Real Estate contact form keeps the website form sequence and fits a phone viewport. */
body.estate-contact-page .estate-contact-section { min-height:calc(100svh - var(--business-header-height)); padding:clamp(26px,4vw,56px) clamp(18px,6vw,88px); gap:18px; }
body.estate-contact-page .estate-contact-panel { width:min(100%,1160px); grid-template-columns:.8fr 1.2fr; align-items:center; gap:clamp(28px,5vw,72px); padding:clamp(26px,4vw,54px); }
body.estate-contact-page .estate-contact-panel { background:#e4d5c4; backdrop-filter:none; -webkit-backdrop-filter:none; }
body.estate-contact-page .estate-contact-close { position:absolute; top:14px; right:18px; z-index:3; display:grid; width:38px; height:38px; place-items:center; border:0; color:var(--ink-dark); background:transparent; font-size:31px; font-weight:300; line-height:1; text-decoration:none; opacity:.82; transition:color .18s ease,opacity .18s ease,transform .18s ease; }
body.estate-contact-page .estate-contact-close:hover { color:var(--signal-red); opacity:1; transform:scale(1.06); }
body.estate-contact-page .estate-contact-close:focus-visible { outline:2px solid var(--signal-red); outline-offset:2px; border-radius:4px; opacity:1; }
body.corporate-contact-page .corporate-contact-close { position:absolute; top:14px; right:18px; z-index:3; display:grid; width:38px; height:38px; place-items:center; border:0; color:var(--ink-dark); background:transparent; font-size:31px; font-weight:300; line-height:1; text-decoration:none; opacity:.82; transition:color .18s ease,opacity .18s ease,transform .18s ease; }
body.corporate-contact-page .corporate-contact-close:hover { color:var(--signal-red); opacity:1; transform:scale(1.06); }
body.corporate-contact-page .corporate-contact-close:focus-visible { outline:2px solid var(--signal-red); outline-offset:2px; border-radius:4px; opacity:1; }
.site-footer .footer-estate-lockup,.site-footer .footer-estate-lockup:hover,.site-footer .footer-estate-lockup:focus-visible { text-decoration:none; }
.site-footer .footer-estate-lockup { justify-items:start; align-items:start; gap:3px; color:var(--ink); }
.site-footer .footer-estate-lockup .brand-lockup-primary { font-size:20px; letter-spacing:.28em; text-indent:0; }
.site-footer .footer-estate-lockup .brand-lockup-secondary { width:90%; margin:0 auto; font-size:8px; letter-spacing:.48em; }
body.estate-contact-page .contact-intro { min-width:0; text-align:left; }
body.estate-contact-page .estate-contact-logo { margin:0 0 30px; color:var(--ink-dark); }
body.corporate-contact-page .corporate-contact-logo--property-service,
body.corporate-contact-page .corporate-contact-logo--project-development,
body.corporate-contact-page .corporate-contact-logo--tax-legal,
body.corporate-contact-page .corporate-contact-logo--media { display:flex; width:max-content; max-width:100%; flex-direction:column; justify-items:initial; align-items:stretch; gap:7px; text-align:left; white-space:nowrap; }
body.corporate-contact-page .corporate-contact-logo--property-service .brand-lockup-primary,
body.corporate-contact-page .corporate-contact-logo--project-development .brand-lockup-primary,
body.corporate-contact-page .corporate-contact-logo--tax-legal .brand-lockup-primary,
body.corporate-contact-page .corporate-contact-logo--media .brand-lockup-primary { align-self:flex-start; font-size:clamp(27px,2.5vw,36px); letter-spacing:.2em; text-indent:.2em; }
body.corporate-contact-page .corporate-contact-brand-secondary { display:flex; align-self:stretch; justify-content:space-between; min-width:0; font-size:clamp(9px,.85vw,12px); font-weight:300; letter-spacing:0; line-height:1.05; white-space:nowrap; }
body.corporate-contact-page .corporate-contact-brand-secondary--media { align-self:center; width:auto; justify-content:center; gap:.3em; font-size:clamp(17px,1.8vw,25px); }
body.corporate-contact-page .tax-legal-subject-field[hidden] { display:none !important; }
body.estate-contact-page .estate-contact-panel h1 { margin:0; color:var(--ink-dark); font-size:clamp(25px,3vw,42px); font-weight:300; letter-spacing:.045em; line-height:1.2; }
body.estate-contact-page .estate-contact-panel .contact-intro p { margin:14px 0 0; }
body.estate-contact-page .estate-contact-form { gap:21px; }

/* Final owner-entry treatment: a compact, calm header action across Real Estate pages. */
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.96);
  border-radius:6px;
  color:#234b36;
  background:linear-gradient(116deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.58) 28%,rgba(255,255,255,.27) 64%,rgba(222,236,226,.48) 100%);
  box-shadow:0 9px 24px rgba(18,27,29,.18), inset 0 2px 0 rgba(255,255,255,.98), inset 0 -2px 0 rgba(255,255,255,.36), inset 1px 0 0 rgba(255,255,255,.7), inset -1px 0 0 rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  backdrop-filter:blur(24px) saturate(180%);
  font-size:10px;
  font-weight:600;
  letter-spacing:.07em;
  line-height:1.2;
  text-decoration:none;
}
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link::before,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:-50%;
  bottom:-50%;
  left:-12%;
  width:52%;
  transform:skewX(-18deg);
  background:linear-gradient(105deg,rgba(255,255,255,.78),rgba(255,255,255,0));
  opacity:.9;
  pointer-events:none;
}
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link > span,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link > span { position:relative; z-index:1; }
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link:hover,
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link:focus-visible,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link:hover,
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link:focus-visible {
  color:#fff;
  background:linear-gradient(116deg,rgba(83,157,103,.92),rgba(38,102,60,.78));
  border-color:rgba(255,255,255,.72);
  box-shadow:0 9px 22px rgba(10,50,31,.22), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -1px 0 rgba(0,0,0,.12);
  text-decoration:none;
  transform:translateY(-1px);
}
body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link > span[aria-hidden="true"],
body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link > span[aria-hidden="true"] { font-size:14px; }
@media (max-width:980px) {
  body.estate-home-page .business-topbar.estate-topbar .estate-nav-market-link,
  body.estate-subpage .business-topbar.estate-topbar .estate-nav-market-link {
    gap:5px;
    padding:7px 10px;
    font-size:clamp(5.7px,1.55vw,6.7px);
    letter-spacing:.05em;
  }
}

/* Filter actions: keep the primary apply action and the quieter reset action together. */
body.estate-home-page .estate-search-stack .advanced-filter-heading {
  justify-content:flex-start;
}
body.estate-home-page .estate-search-stack .advanced-filter-footer {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-direction:row;
  flex-wrap:wrap;
  gap:10px;
}
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-apply,
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-reset {
  flex:0 0 auto;
  min-height:40px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  border-radius:5px;
  line-height:1.2;
  white-space:nowrap;
}
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-apply {
  order:1;
  padding:0 14px;
}
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-reset {
  order:2;
  padding:0 12px;
  border:1px solid rgba(135,66,60,.5);
  border-bottom:1px solid rgba(135,66,60,.5);
  color:#87423c !important;
  background:transparent;
  text-decoration:none;
  text-shadow:none !important;
}
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-reset:hover,
body.estate-home-page .estate-search-stack .advanced-filter-footer .filter-reset:focus-visible {
  border-color:#6f332e;
  color:#6f332e !important;
  background:rgba(135,66,60,.07);
  text-decoration:none;
}
@media (max-width:640px) {
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-footer {
    display:flex;
    align-items:stretch;
    justify-content:stretch;
    flex-direction:row;
    flex-wrap:wrap;
    gap:9px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-footer .filter-apply {
    flex:1 1 170px;
  }
  body.estate-home-page .estate-search-stack.is-search-open .advanced-filter-footer .filter-reset {
    flex:0 1 auto;
    max-width:none;
    text-align:center;
    overflow-wrap:normal;
  }
}

@media (max-width:980px) {
  body.estate-home-page .business-topbar.estate-topbar .business-global .estate-nav-market-link,
  body.estate-subpage .business-topbar.estate-topbar .business-global .estate-nav-market-link {
    border:1px solid rgba(255,255,255,.96);
    border-radius:6px;
    color:#234b36 !important;
    background:linear-gradient(116deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.58) 28%,rgba(255,255,255,.27) 64%,rgba(222,236,226,.48) 100%);
    box-shadow:0 8px 20px rgba(18,27,29,.16), inset 0 2px 0 rgba(255,255,255,.98), inset 0 -2px 0 rgba(255,255,255,.36);
    -webkit-backdrop-filter:blur(24px) saturate(180%);
    backdrop-filter:blur(24px) saturate(180%);
  }
}


/* Owner marketing hero: full-bleed collage for sale, long-term rental and holiday rental. */
body.estate-owner-page .owner-cover {
  width:100vw;
  min-height:clamp(560px,72svh,760px);
  margin-left:calc(50% - 50vw);
  grid-template-columns:minmax(0,1.22fr) minmax(380px,.78fr);
  gap:0;
  background:#d9c9b2;
}
body.estate-owner-page .owner-cover-photo {
  height:clamp(560px,72svh,760px);
  min-height:clamp(560px,72svh,760px);
  box-shadow:none;
}
body.estate-owner-page .owner-cover-photo::after {
  display:none;
}
body.estate-owner-page .owner-cover-photo img { object-position:center; }
body.estate-owner-page .owner-cover-copy {
  align-self:stretch;
  min-width:0;
  width:100%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:none;
  padding:clamp(48px,7vw,100px) clamp(30px,4vw,72px);
  background:rgba(229,216,197,.94);
  box-shadow:-22px 0 38px rgba(54,45,34,.07);
}
body.estate-owner-page { overflow-x:clip; }
body.estate-owner-page .owner-signal-heading {
  display:flex;
  max-width:100%;
  flex-direction:column;
  align-items:flex-start;
  gap:52px;
  margin:0;
  color:var(--ink-dark);
  font-size:clamp(34px,3.65vw,58px);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.065em;
  text-wrap:balance;
  transform:rotate(-1.8deg);
  transform-origin:left center;
}
body.estate-owner-page .owner-signal-line {
  display:block;
  width:100%;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body.estate-owner-page .owner-signal-word {
  display:inline;
  padding:.13em .22em .18em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  white-space:normal;
  hyphens:none;
}
body.estate-owner-page .owner-signal-line--cost {
  margin-left:0;
  font-size:.9em;
  transform:skewX(-3deg);
}
body.estate-owner-page .owner-signal-line--cost .owner-signal-word {
  color:#f7f2e9;
  background:#354347;
}
body.estate-owner-page .owner-signal-line--tourism {
  margin-left:13px;
  font-size:.9em;
  transform:skewX(-3deg);
}
body.estate-owner-page .owner-signal-line--tourism .owner-signal-word {
  color:#fff8ef;
  background:#b4553e;
}
body.estate-owner-page .owner-signal-line--time {
  margin-left:27px;
  transform:skewX(-3deg);
}
body.estate-owner-page .owner-signal-line--time .owner-signal-word {
  color:#f7f2e9;
  background:#2e5d4a;
}
@media (min-width:761px) {
  body.estate-owner-page .owner-cover-photo {
    align-self:stretch;
    height:auto;
    min-height:100%;
  }
  body.estate-owner-page .owner-signal-line--tourism {
    font-size:clamp(26px,2.8vw,52px);
  }
}
body.estate-owner-page .owner-marketing-lead {
  flex:1 1 0;
  min-width:0;
  max-width:none;
  margin:0;
  color:#3f4849;
  font-size:clamp(19px,1.45vw,21px);
  font-weight:700;
  letter-spacing:-.018em;
  line-height:1.3;
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body.estate-owner-page .owner-action-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  max-width:560px;
  margin-top:auto;
  margin-left:auto;
  margin-right:auto;
  padding:24px 22px;
  box-sizing:border-box;
  background:rgba(74,126,91,.12);
  border:1px solid rgba(74,126,91,.24);
  border-radius:12px;
  box-shadow:0 12px 26px rgba(77,63,47,.08), inset 0 1px 0 rgba(255,255,255,.38);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  transform:translateY(16px);
}
body.estate-owner-page .owner-contact-button {
  flex:0 0 auto;
  margin-top:0;
  min-width:220px;
  min-height:64px;
  padding:0 24px;
  font-size:11px;
  font-weight:600;
}
body.estate-owner-page .owner-cover-note {
  margin-top:13px;
  font-weight:500;
}
body.estate-owner-page .owner-action-row {
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
body.estate-owner-page .owner-marketing-lead {
  width:100%;
  max-width:360px;
}
body.estate-owner-page .owner-contact-button {
  max-width:100%;
  margin-left:0;
}
@media(max-width:760px) {
  body.estate-owner-page .owner-cover {
    min-height:0;
    grid-template-columns:1fr;
    gap:0;
  }
  body.estate-owner-page .owner-cover-photo {
    order:0;
    min-height:clamp(240px,68vw,520px);
    height:clamp(240px,68vw,520px);
  }
  body.estate-owner-page .owner-cover-copy {
    order:1;
    padding:42px 20px 48px;
    background:rgba(229,216,197,.98);
    box-shadow:none;
  }
  body.estate-owner-page .owner-signal-heading {
    gap:30px;
    font-size:clamp(27px,7.6vw,40px);
    line-height:.98;
  }
  body.estate-owner-page .owner-signal-line,
  body.estate-owner-page .owner-signal-word {
    line-height:1.12;
  }
  body.estate-owner-page .owner-signal-word {
    padding:.08em .20em .12em;
  }
  body.estate-owner-page .owner-signal-line--time .owner-signal-word {
    max-width:100%;
  }
  body.estate-owner-page .owner-signal-line {
    width:calc(100% - 4px);
    max-width:calc(100% - 4px);
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  body.estate-owner-page .owner-signal-line--tourism { margin-left:6px; transform:skewX(-3deg); }
  body.estate-owner-page .owner-signal-line--time { margin-left:12px; transform:skewX(-3deg); }
  body.estate-owner-page .owner-action-row { flex-direction:column; align-items:center; gap:16px; width:100%; max-width:none; margin:34px 0 0; padding:22px 18px 24px; transform:none; }
  body.estate-owner-page .owner-marketing-lead { flex:0 1 auto; width:100%; max-width:none; font-size:17px; text-align:center; white-space:normal; }
  body.estate-owner-page .owner-contact-button { min-width:0; min-height:54px; margin-top:0; padding:0 16px; align-self:center; font-size:9px; }
}

@media (max-width:980px) {
  body.estate-subpage { --business-header-height:76px; }
  body.estate-subpage main { padding-top:var(--business-header-height); }
  body.estate-subpage .business-topbar.estate-topbar { z-index:50; padding:0 18px; }
  body.estate-subpage .estate-nav-cluster { position:relative; width:100%; justify-content:space-between; gap:0; }
  body.estate-subpage .mobile-nav-toggle { display:flex; order:1; width:44px; height:44px; flex:0 0 44px; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:0; border-radius:0; color:#263238; background:transparent; cursor:pointer; }
  body.estate-subpage .mobile-nav-toggle span { width:20px; height:1.7px; border-radius:2px; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
  body.estate-subpage .mobile-nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(6.7px) rotate(45deg); }
  body.estate-subpage .mobile-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  body.estate-subpage .mobile-nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-6.7px) rotate(-45deg); }
  body.estate-subpage .estate-header-brand { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); justify-items:center; text-align:center; }
  body.estate-subpage .estate-header-brand .brand-lockup-primary { font-size:clamp(19px,4vw,25px); }
  body.estate-subpage .estate-header-brand .brand-lockup-secondary { font-size:clamp(9px,2vw,12px); }
  body.estate-subpage .business-topbar.estate-topbar .business-languages { order:3; margin:0; padding:0; border:0; }
  body.estate-subpage .business-topbar.estate-topbar .mobile-language-toggle { min-width:44px; min-height:44px; gap:5px; padding:0 3px; font-size:11px; }
  body.estate-subpage .business-topbar.estate-topbar .language-code { display:inline; }
  body.estate-subpage .business-topbar.estate-topbar .language-name { display:none; }
  body.estate-subpage .business-topbar.estate-topbar .business-global { display:none; position:absolute; z-index:60; top:calc(100% + 5px); left:0; width:min(276px,calc(100vw - 28px)); flex-direction:column; align-items:stretch; gap:4px; margin:0; padding:8px; border:1px solid rgba(255,255,255,.52); border-radius:7px; background:linear-gradient(135deg,rgba(248,248,246,.26),rgba(234,239,241,.09)); box-shadow:0 9px 26px rgba(13,20,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.1); -webkit-backdrop-filter:blur(20px) saturate(150%); backdrop-filter:blur(20px) saturate(150%); }
  body.estate-subpage .estate-nav-cluster.is-menu-open .business-global { display:flex; }
  body.estate-subpage .business-topbar.estate-topbar .business-global a { min-height:44px; display:flex; align-items:center; padding:0 12px; border-radius:6px; color:#fff !important; font-size:9px; font-weight:600; letter-spacing:.065em; text-shadow:0 1px 8px rgba(0,0,0,.46); }
  body.estate-subpage .business-topbar.estate-topbar .business-global a:hover,
  body.estate-subpage .business-topbar.estate-topbar .business-global a:focus-visible { color:#fff !important; background:linear-gradient(135deg,rgba(248,248,246,.34),rgba(234,239,241,.15)); }
  body.estate-subpage .business-topbar.estate-topbar .business-global .estate-nav-market-link { justify-content:space-between; margin-top:3px; color:#fff !important; background:#f00000; text-shadow:none; }
  body.estate-subpage .business-topbar.estate-topbar .language-options { right:0; min-width:108px; gap:3px; padding:7px; border:1px solid rgba(255,255,255,.52); border-radius:7px; background:linear-gradient(135deg,rgba(248,248,246,.26),rgba(234,239,241,.09)); box-shadow:0 9px 26px rgba(13,20,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.1); -webkit-backdrop-filter:blur(20px) saturate(150%); backdrop-filter:blur(20px) saturate(150%); }
  body.estate-subpage .business-topbar.estate-topbar .language-options .language { min-height:40px; justify-content:center; color:#fff !important; font-size:11px; font-weight:600; letter-spacing:.08em; text-shadow:0 1px 8px rgba(0,0,0,.46); }
  body.estate-contact-page .estate-contact-section { min-height:calc(100svh - var(--business-header-height)); padding:24px 20px 32px; gap:17px; }
  body.estate-contact-page .estate-contact-panel { width:min(100%,620px); grid-template-columns:1fr; gap:24px; padding:26px 24px; }
  body.corporate-contact-page .corporate-contact-close, body.estate-contact-page .estate-contact-close { top:9px; right:10px; width:42px; height:42px; font-size:32px; }
  body.estate-contact-page .contact-intro { text-align:center; }
  body.estate-contact-page .estate-contact-logo { margin:0 auto 19px; }
  body.corporate-contact-page .corporate-contact-logo--property-service,
  body.corporate-contact-page .corporate-contact-logo--project-development,
  body.corporate-contact-page .corporate-contact-logo--tax-legal,
  body.corporate-contact-page .corporate-contact-logo--media { align-items:center; margin-inline:auto; }
  body.corporate-contact-page .corporate-contact-logo--property-service .brand-lockup-primary,
  body.corporate-contact-page .corporate-contact-logo--project-development .brand-lockup-primary,
  body.corporate-contact-page .corporate-contact-logo--tax-legal .brand-lockup-primary,
  body.corporate-contact-page .corporate-contact-logo--media .brand-lockup-primary { font-size:clamp(25px,7vw,32px); }
  body.corporate-contact-page .corporate-contact-brand-secondary { font-size:clamp(9px,2.5vw,11px); }
  body.corporate-contact-page .corporate-contact-brand-secondary--media { font-size:clamp(16px,4.8vw,21px); }
  body.estate-contact-page .estate-contact-panel h1 { font-size:clamp(25px,6vw,34px); }
  body.estate-contact-page .estate-contact-panel .contact-intro p { margin-top:10px; font-size:12px; }
  body.estate-contact-page .estate-contact-form { gap:19px; }
  body.estate-contact-page .estate-contact-form .form-row { grid-template-columns:1fr; gap:19px; }
  body.estate-contact-page .estate-contact-form label { gap:8px; font-size:10px; }
  body.estate-contact-page .estate-contact-form input:not([type="hidden"]):not([type="file"]),
  body.estate-contact-page .estate-contact-form textarea,
  body.estate-contact-page .estate-contact-form select { min-height:44px; padding:10px 12px; font-size:16px; }
  body.estate-contact-page .estate-contact-form textarea { min-height:112px; }
  body.estate-contact-page .estate-contact-form .form-submit-row { align-items:stretch; flex-direction:column; gap:10px; }
  body.estate-contact-page .estate-contact-form .contact-submit { width:100%; min-height:48px; justify-content:space-between; padding:0 15px; font-size:10px; }
  body.estate-contact-page .estate-contact-form .form-status { max-width:none; }
}

@media (max-width:640px) {
  body.estate-subpage { --business-header-height:calc(64px + env(safe-area-inset-top,0px)); }
  body.estate-subpage .business-topbar.estate-topbar { padding:env(safe-area-inset-top,0px) 14px 0; }
  body.estate-subpage .business-topbar.estate-topbar .estate-header-brand .brand-lockup-primary { font-size:clamp(18px,5.2vw,22px); }
  body.estate-subpage .business-topbar.estate-topbar .estate-header-brand .brand-lockup-secondary { font-size:clamp(8px,2.4vw,10px); }
  body.estate-contact-page .estate-contact-section { padding:20px 16px 26px; gap:14px; }
  body.estate-contact-page .estate-contact-panel { gap:20px; padding:23px 19px; }
  body.corporate-contact-page .corporate-contact-close, body.estate-contact-page .estate-contact-close { top:6px; right:7px; }
  body.estate-contact-page .estate-contact-logo { margin-bottom:15px; }
  body.estate-contact-page .estate-contact-panel h1 { font-size:clamp(24px,7vw,30px); }
  body.estate-contact-page .estate-contact-form { gap:17px; }
  body.estate-contact-page .estate-contact-form .form-row { gap:17px; }
}

/* Search landing and paged catalogue: shared map, mobile dock and desktop grid. */
body.estate-home-page .estate-results[hidden] { display:none !important; }
body.estate-home-page #listings, body.estate-home-page #newest-listings { scroll-margin-top:calc(var(--results-header-offset,136px) + 18px); }
body.estate-home-page #property-search { scroll-margin-top:calc(var(--results-header-offset,136px) + 12px); }
body.estate-home-page .newest-categories,
body.estate-home-page .newest-list,
body.estate-home-page .newest-all,
body.estate-home-page .results-pagination { width:min(1280px,calc(100% - 64px)); margin-left:auto; margin-right:auto; }
body.estate-home-page .newest-categories { display:flex; gap:8px; margin-bottom:22px; }
.newest-categories button,.results-back,.newest-all,.pagination-controls button,.map-toolbar button { padding:11px 16px; border:1px solid rgba(52,67,72,.25); border-radius:5px; color:#344348; background:#e8dccb; font:inherit; font-size:11px; font-weight:600; line-height:1.3; letter-spacing:.035em; cursor:pointer; }
.newest-categories button.is-active { color:#fff; background:#344348; border-color:#344348; }
body.estate-home-page .newest-all { display:block; width:auto; margin-top:24px; background:transparent; }
body.estate-home-page .results-heading-row { flex-wrap:wrap; gap:16px; }
body.estate-home-page #listings > .results-back { display:block; width:min(1280px,calc(100% - 64px)); margin:0 auto 14px; padding:0; border:0; background:transparent; text-align:left; font-size:11px; letter-spacing:.035em; }
body.estate-home-page #listings > .results-back:hover { text-decoration:underline; text-underline-offset:4px; }
body.estate-home-page #listings > .results-workspace { z-index:5; }
body.estate-home-page .results-workspace { grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:start; min-height:0; gap:22px; }
body.estate-home-page .listing-list { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:18px; align-content:start; }
body.estate-home-page .newest-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.estate-home-page .listing-card { grid-template-columns:1fr; gap:12px; padding:10px; align-content:start; }
body.estate-home-page .listing-image { height:auto; aspect-ratio:4/3; min-height:0; }
body.estate-home-page .listing-image > img { width:100%; height:100%; min-height:0; }
body.estate-home-page .listing-card > div:last-child { padding:3px 6px 9px; align-self:start; }
body.estate-home-page .listing-card h3 { font-size:17px; line-height:1.35; }
body.estate-home-page .listing-meta { font-size:9px; letter-spacing:.065em; line-height:1.5; }
body.estate-home-page .listing-place { font-size:12px; line-height:1.5; }
body.estate-home-page .listing-price { font-size:16px; }
body.estate-home-page .listing-facts { font-size:11px; }
body.estate-home-page .listing-detail-link { font-size:10px; padding:11px 13px; }
body.estate-home-page .listing-map-button { font-size:10px; }
body.estate-home-page .listing-card { scroll-margin-top:calc(var(--results-header-offset,136px) + 18px); }
body.estate-home-page .newest-list .listing-map-button { display:none; }
body.estate-home-page .listing-list > .prototype-note { grid-column:1/-1; }
body.estate-home-page .map-panel { position:sticky; top:calc(var(--results-header-offset,136px) + 18px); min-height:0; height:min(620px,calc(100svh - var(--results-header-offset,136px) - 44px)); display:flex; flex-direction:column; background:#e8dccb; }
body.estate-home-page .map-toolbar { position:relative; z-index:2; display:flex; align-items:center; gap:8px; min-height:44px; flex:0 0 auto; padding:7px 10px; background:#e8dccb; color:#344348; font-size:11px; }
body.estate-home-page .map-toolbar > span { margin-right:auto; font-weight:600; }
body.estate-home-page .map-toolbar button { padding:7px 9px; font-size:10px; background:transparent; }
body.estate-home-page .map-collapse { display:none; }
body.estate-home-page .map-canvas { flex:1; min-height:0; height:auto; }
body.estate-home-page #property-map { position:absolute; inset:0; width:100%; height:100%; }
body.estate-home-page .map-instruction { display:none; }
body.estate-home-page .map-area-search { font-size:9px; max-width:calc(100% - 60px); padding:8px; }
body.estate-home-page .live-map-marker.is-selected { z-index:5; color:#fff; background:#00833e; border-color:#fff; box-shadow:0 3px 12px rgba(0,0,0,.3); }
body.estate-home-page .results-workspace[data-results-view="map"], body.estate-home-page .results-workspace[data-results-view="list"] { grid-template-columns:1fr; }
body.estate-home-page .results-workspace[data-results-view="map"] .listing-list { display:none; }
body.estate-home-page .results-workspace[data-results-view="list"] .map-panel { display:none; }
body.estate-home-page .results-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-top:28px; }
.pagination-controls { display:flex; align-items:center; justify-content:center; gap:15px; }
.results-range,.page-position { color:#344348; font-size:12px; line-height:1.5; }
.pagination-controls button { min-height:44px; }
.pagination-controls button:disabled,.newest-all:disabled { opacity:.45; cursor:default; }
body.has-fullscreen-map { overflow:hidden; }
body.estate-home-page .map-panel.is-fullscreen { display:flex !important; position:fixed !important; z-index:80; inset:calc(var(--results-header-offset,136px) - 1px) 0 0; width:100%; height:auto; max-height:none; margin:0; border-radius:0; }
body.estate-home-page.has-fullscreen-map .business-topbar.estate-topbar { z-index:100; }
body.estate-home-page .map-panel.is-fullscreen .map-collapse { display:none; }
body.estate-home-page .map-panel.is-fullscreen .map-canvas { display:block; }
.newest-categories button:focus-visible,.results-back:focus-visible,.newest-all:focus-visible,.pagination-controls button:focus-visible,.map-toolbar button:focus-visible { outline:2px solid #344348; outline-offset:3px; }
@media (max-width:980px) and (min-width:641px) {
  body.estate-home-page .results-workspace { grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:14px; }
  body.estate-home-page .listing-list { gap:12px; }
  body.estate-home-page .listing-card h3 { font-size:15px; }
  body.estate-home-page .listing-actions { gap:10px; }
}
@media (max-width:640px) {
  body.estate-home-page { --mobile-map-height:clamp(170px,25svh,230px); }
  body.estate-home-page .newest-categories,body.estate-home-page .newest-list,body.estate-home-page .results-pagination { width:calc(100% - 40px); }
  body.estate-home-page .newest-categories { gap:6px; }
  .newest-categories button { flex:1; min-width:0; padding:11px 7px; font-size:10px; letter-spacing:0; overflow-wrap:normal; word-break:normal; hyphens:none; }
  body.estate-home-page .newest-list,body.estate-home-page .listing-list { grid-template-columns:1fr; }
  body.estate-home-page .results-workspace { display:block; }
  body.estate-home-page .results-heading-row { gap:12px; }
  body.estate-home-page .results-heading-row h2 { font-size:16px; letter-spacing:.06em; }
  body.estate-home-page #listings > .results-back { width:calc(100% - 40px); margin-bottom:12px; font-size:10px; }
  body.estate-home-page .results-view-switch { width:100%; }
  body.estate-home-page .listing-card { grid-template-columns:1fr; gap:11px; }
  body.estate-home-page .listing-image { aspect-ratio:16/10; }
  body.estate-home-page .listing-card h3 { font-size:18px; }
  body.estate-home-page .listing-actions { justify-content:space-between; }
  body.estate-home-page .listing-detail-link { min-height:42px; }
  body.estate-home-page .results-pagination { flex-direction:column; align-items:center; }
  .pagination-controls { gap:12px; width:100%; justify-content:space-between; }
  .pagination-controls button { padding:10px; font-size:10px; }
  body.estate-home-page #listings { padding-bottom:calc(var(--mobile-map-height) + env(safe-area-inset-bottom,0px) + 40px); }
  body.estate-home-page .map-panel { display:none; }
  body.estate-home-page.has-visible-results-map .results-workspace:not([data-results-view="list"]) .map-panel { position:fixed; z-index:40; top:auto; left:0; right:0; bottom:0; display:flex; width:100%; height:calc(var(--mobile-map-height) + env(safe-area-inset-bottom,0px)); padding-bottom:env(safe-area-inset-bottom,0px); border-radius:10px 10px 0 0; box-shadow:0 -3px 18px rgba(36,40,36,.2); }
  body.estate-home-page.has-visible-results-map .results-workspace:not([data-results-view="list"]) .map-panel.is-footer-docked { height:calc(44px + env(safe-area-inset-bottom,0px)) !important; }
  body.estate-home-page .map-panel.is-footer-docked .map-canvas { display:none; }
  body.estate-home-page .map-collapse { display:block; }
  body.estate-home-page .map-toolbar { min-height:44px; }
  body.estate-home-page.has-visible-results-map .map-panel.is-collapsed { height:calc(44px + env(safe-area-inset-bottom,0px)) !important; }
  body.estate-home-page .map-panel.is-collapsed .map-canvas { display:none; }
  body.estate-home-page .map-panel.is-fullscreen { top:calc(var(--results-header-offset,76px) - 1px) !important; height:auto !important; border-radius:0 !important; }
  body.estate-home-page .map-canvas { min-height:0 !important; }
  body.estate-home-page .map-area-search:disabled { display:none; }
  body.estate-home-page .live-map-marker { font-size:9px; padding:5px 7px; }
}
body.estate-home-page .live-map-marker.is-in-view:not(.is-selected) { border-color:#00833e; box-shadow:0 0 0 2px rgba(0,131,62,.22); }
body.estate-home-page.has-fullscreen-map .results-workspace { z-index:70; }

/* All general GLAMBURY subpages keep a solid fixed header while content passes beneath it. */
body.business-page:not(.estate-home-page):not(.estate-subpage) .business-topbar {
  position:fixed;
  inset:0 0 auto;
  z-index:50;
  background:#e4d5c4;
  border-bottom:1px solid rgba(38,50,56,.12);
  box-shadow:0 3px 14px rgba(46,42,36,.08);
}
body.business-page:not(.estate-home-page):not(.estate-subpage) .business-topbar::before { display:none; }
body.business-page:not(.estate-home-page):not(.estate-subpage) main { padding-top:var(--business-header-height,86px); }

/* Dachseite: portal-first entry with the page scrolling beneath the header. */
body:not(.business-page) .stage {
  height:100svh;
  min-height:680px;
  overflow:hidden;
  padding-top:0;
}
body:not(.business-page) .topbar {
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:88px;
  padding:0 clamp(24px,6vw,96px);
  z-index:50;
  background:rgba(239,234,224,.92);
  -webkit-backdrop-filter:blur(16px) saturate(138%);
  backdrop-filter:blur(16px) saturate(138%);
  box-shadow:0 10px 28px rgba(58,45,33,.10);
}
body:not(.business-page) .topbar::before { opacity:0; display:none; }
body:not(.business-page) .topbar-wordmark {
  position:relative;
  display:block;
  color:var(--ink-dark);
  font-size:clamp(20px,2.2vw,30px);
  font-weight:300;
  letter-spacing:.30em;
  line-height:1;
  text-decoration:none;
}
body:not(.business-page) .topbar-wordmark::after {
  content:"©";
  position:absolute;
  top:-.25em;
  right:-.78em;
  font-size:.25em;
  letter-spacing:0;
}
body:not(.business-page) .identity { display:none; }
body:not(.business-page) .portals {
  position:absolute;
  top:53%;
  left:clamp(24px,7vw,112px);
  width:min(42vw,560px);
  margin:0;
  padding:0;
  transform:translateY(-50%);
  grid-template-columns:1fr;
  gap:16px;
  z-index:3;
}
body:not(.business-page) .portal {
  min-height:178px;
  border-color:rgba(255,255,255,.84);
  background:linear-gradient(145deg,rgba(255,249,239,.10),rgba(88,65,44,.06));
  box-shadow:0 20px 48px rgba(76,51,28,.18),inset 0 1px 0 rgba(255,255,255,.90),inset 0 -1px 0 rgba(255,255,255,.34);
}
body:not(.business-page) .portal-content { padding:24px 28px 22px; }
body:not(.business-page) .portal-title { margin:0; }
body:not(.business-page) .brand-lockup--tile .brand-lockup-primary { font-size:clamp(24px,2.3vw,34px); }
body:not(.business-page) .brand-lockup--tile .brand-lockup-secondary { font-size:clamp(11px,1vw,15px); }
body:not(.business-page) .brand-lockup--development .brand-lockup-secondary { font-size:clamp(7px,.62vw,10px); letter-spacing:.10em; }
body:not(.business-page) .portal-rule { margin:13px 0 13px; }
body:not(.business-page) .portal-subtitle { max-width:390px; font-size:10px; letter-spacing:.20em; line-height:1.65; }
body:not(.business-page) .portal-arrow { margin-top:17px; font-size:19px; }
body:not(.business-page) .holding-visual {
  position:absolute;
  top:50%;
  right:clamp(24px,8vw,130px);
  width:min(42vw,560px);
  transform:translateY(-48%);
  z-index:2;
  text-align:right;
}
body:not(.business-page) .holding-visual-mark {
  position:relative;
  display:block;
  width:min(31vw,380px);
  aspect-ratio:1;
  margin:0 auto 24px;
  border-radius:48% 52% 44% 56%;
  transform:rotate(-11deg);
  background:linear-gradient(140deg,rgba(38,58,64,.96),rgba(132,113,92,.90) 55%,rgba(224,202,177,.74));
  box-shadow:24px 30px 54px rgba(68,50,34,.24);
}
body:not(.business-page) .holding-visual-mark::after {
  content:"";
  position:absolute;
  inset:17%;
  border:1px solid rgba(255,255,255,.62);
  border-radius:52% 48% 56% 44%;
  background:radial-gradient(ellipse at 40% 32%,rgba(255,247,229,.22),transparent 62%);
}
body:not(.business-page) .holding-visual-claim {
  margin:0;
  color:var(--ink-dark);
  font-size:clamp(22px,2.55vw,38px);
  font-weight:300;
  line-height:1.13;
  letter-spacing:.04em;
}
body:not(.business-page) .home-scroll-cue { display:none; }

@media (max-width:640px) {
  body:not(.business-page) .stage {
    height:auto;
    min-height:100svh;
    overflow:visible;
    padding-top:74px;
  }
  body:not(.business-page) .topbar {
    height:74px;
    padding:0 18px;
  }
  body:not(.business-page) .topbar-wordmark { font-size:20px; }
  body:not(.business-page) .portals {
    position:relative;
    top:auto;
    left:auto;
    width:auto;
    margin:0 18px;
    padding:18px 0 28px;
    transform:none;
    gap:12px;
  }
  body:not(.business-page) .portal { min-height:205px; }
  body:not(.business-page) .portal-content { padding:22px 16px; }
  body:not(.business-page) .brand-lockup--development .brand-lockup-secondary { font-size:8px; letter-spacing:.08em; }
  body:not(.business-page) .portal-subtitle { font-size:9px; letter-spacing:.14em; }
  body:not(.business-page) .holding-visual {
    position:relative;
    top:auto;
    right:auto;
    width:min(78vw,390px);
    margin:22px auto 52px;
    transform:none;
    text-align:center;
  }
  body:not(.business-page) .holding-visual-mark { width:min(67vw,280px); margin-bottom:20px; }
  body:not(.business-page) .holding-visual-claim { font-size:24px; }
}

/* Full replacement layout for the Dachseite. */
body.corporate-home-page {
  min-height:100%;
  background:#dfccb5;
  color:var(--ink-dark);
}
body.corporate-home-page .corporate-stage {
  position:relative;
  min-height:clamp(680px,100svh,900px);
  height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(145deg,#d8c0a5 0%,#eee2d3 50%,#cfb397 100%);
}
body.corporate-home-page .corporate-header {
  position:fixed;
  z-index:50;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:88px;
  padding:0 clamp(24px,6vw,96px);
  background:rgba(239,234,224,.94);
  border-bottom:1px solid rgba(255,255,255,.68);
  box-shadow:0 10px 28px rgba(58,45,33,.10);
  -webkit-backdrop-filter:blur(16px) saturate(138%);
  backdrop-filter:blur(16px) saturate(138%);
}
body.corporate-home-page .corporate-header::before { display:none; }
body.corporate-home-page .topbar-wordmark {
  position:relative;
  display:block;
  color:var(--ink-dark);
  font-size:clamp(20px,2.2vw,30px);
  font-weight:300;
  letter-spacing:.30em;
  line-height:1;
  text-decoration:none;
}
body.corporate-home-page .topbar-wordmark::after {
  content:"©";
  position:absolute;
  top:-.25em;
  right:-.78em;
  font-size:.25em;
  letter-spacing:0;
}
body.corporate-home-page .corporate-navigation { margin-left:auto; }
body.corporate-home-page .corporate-languages { margin-left:clamp(22px,4vw,58px); }
body.corporate-home-page .corporate-backdrop {
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
body.corporate-home-page .corporate-backdrop::before {
  content:"";
  position:absolute;
  width:64vw;
  height:64vw;
  right:-17vw;
  top:-20vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,249,239,.42),rgba(255,249,239,.10) 48%,transparent 70%);
}
body.corporate-home-page .corporate-backdrop span { position:absolute; display:block; border-radius:50%; filter:blur(24px); }
body.corporate-home-page .corporate-backdrop span:nth-child(1) { width:42vw; height:33vw; left:-15vw; bottom:-13vw; background:rgba(165,124,85,.22); }
body.corporate-home-page .corporate-backdrop span:nth-child(2) { width:32vw; height:28vw; left:26vw; top:15vw; background:rgba(255,247,229,.22); }
body.corporate-home-page .corporate-backdrop span:nth-child(3) { width:38vw; height:30vw; right:-12vw; bottom:-10vw; background:rgba(94,79,65,.14); }
body.corporate-home-page .corporate-portals {
  position:absolute;
  z-index:3;
  top:53%;
  left:clamp(24px,7vw,112px);
  display:grid;
  width:min(42vw,560px);
  margin:0;
  padding:0;
  gap:16px;
  transform:translateY(-50%);
  grid-template-columns:1fr;
}
body.corporate-home-page .corporate-portal {
  min-height:178px;
  border-color:rgba(255,255,255,.84);
  background:linear-gradient(145deg,rgba(255,249,239,.46),rgba(183,150,117,.20));
  box-shadow:0 20px 48px rgba(76,51,28,.18),inset 0 1px 0 rgba(255,255,255,.90),inset 0 -1px 0 rgba(255,255,255,.34);
}
body.corporate-home-page .corporate-portal .portal-content { padding:24px 28px 22px; }
body.corporate-home-page .corporate-portal .portal-subtitle { max-width:410px; font-size:10px; letter-spacing:.20em; line-height:1.65; }
body.corporate-home-page .corporate-portal .portal-rule { margin:13px 0; }
body.corporate-home-page .corporate-portal .portal-arrow { margin-top:17px; font-size:19px; }
body.corporate-home-page .corporate-portal .brand-lockup--development .brand-lockup-secondary { font-size:clamp(7px,.62vw,10px); letter-spacing:.10em; }
body.corporate-home-page .corporate-mark-area {
  position:absolute;
  z-index:2;
  top:53%;
  right:clamp(24px,8vw,130px);
  width:min(42vw,560px);
  transform:translateY(-48%);
  text-align:right;
}
body.corporate-home-page .corporate-mark {
  position:relative;
  display:block;
  width:min(31vw,380px);
  aspect-ratio:1;
  margin:0 auto 24px;
  border-radius:48% 52% 44% 56%;
  transform:rotate(-11deg);
  background:linear-gradient(140deg,rgba(38,58,64,.96),rgba(132,113,92,.90) 55%,rgba(224,202,177,.74));
  box-shadow:24px 30px 54px rgba(68,50,34,.24);
}
body.corporate-home-page .corporate-mark::after {
  content:"";
  position:absolute;
  inset:17%;
  border:1px solid rgba(255,255,255,.62);
  border-radius:52% 48% 56% 44%;
  background:radial-gradient(ellipse at 40% 32%,rgba(255,247,229,.22),transparent 62%);
}
body.corporate-home-page .corporate-claim {
  margin:0;
  color:var(--ink-dark);
  font-size:clamp(22px,2.55vw,38px);
  font-weight:300;
  line-height:1.13;
  letter-spacing:.04em;
}
body.corporate-home-page .home-scroll-cue { display:none; }
body.corporate-home-page .home-floating-video { z-index:60; }
body.corporate-home-page .corporate-video-section {
  min-height:78svh;
  padding:clamp(78px,9vw,120px) clamp(24px,8vw,120px);
  background:linear-gradient(140deg,#e4d5c4 0%,#d5c1aa 58%,#c8b29b 100%);
}
body.corporate-home-page .corporate-film-teaser { width:min(76vw,1220px); }
body.corporate-home-page .corporate-video-signal {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:grid;
  width:clamp(124px,13vw,168px);
  aspect-ratio:1.58;
  place-items:center;
  transform:translate(-50%,-50%);
  overflow:hidden;
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,24,43,.48),rgba(205,0,24,.28));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(255,255,255,.12),inset 0 0 24px rgba(255,38,56,.16),0 18px 42px rgba(0,0,0,.36),0 0 30px rgba(255,0,28,.26);
  -webkit-backdrop-filter:blur(28px) saturate(190%) brightness(1.24);
  backdrop-filter:blur(28px) saturate(190%) brightness(1.24);
  transition:transform .2s ease,filter .2s ease;
}
body.corporate-home-page .corporate-video-signal::before {
  content:"";
  position:relative;
  z-index:1;
  width:0;
  height:0;
  margin-left:7px;
  border-top:clamp(15px,1.7vw,21px) solid transparent;
  border-bottom:clamp(15px,1.7vw,21px) solid transparent;
  border-left:clamp(25px,2.5vw,33px) solid #fff;
  filter:drop-shadow(0 1px 3px rgba(10,18,19,.35));
}
body.corporate-home-page .corporate-video-signal::after { content:"";position:absolute;inset:1px 1px 54%;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0)); }
body.corporate-home-page .corporate-film-teaser:hover .corporate-video-signal,body.corporate-home-page .corporate-film-teaser:focus-visible .corporate-video-signal { transform:translate(-50%,-50%) scale(1.05);filter:brightness(1.10); }

/* Brand lockups across the site: descriptor centered at 80% of the GLAMBURY wordmark width. */
.brand-lockup > .brand-lockup-secondary { width:80%;max-width:80%;justify-self:center;margin-inline:auto;text-align:center; }
.brand-lockup--real-estate .brand-lockup-secondary { width:80%;max-width:80%;justify-content:center;margin-inline:auto;transform:none; }
.brand-lockup--real-estate .brand-lockup-word { width:100%;flex:1 1 100%;justify-content:space-between; }
body .owner-cover-copy .brand-lockup--real-estate .brand-lockup-secondary { justify-content:center; }
body .site-footer .footer-estate-lockup .brand-lockup-secondary { width:80%;max-width:80%;margin-inline:auto;justify-self:center;text-align:center; }
body.corporate-contact-page .corporate-contact-logo--property-service .brand-lockup-primary,
body.corporate-contact-page .corporate-contact-logo--project-development .brand-lockup-primary,
body.corporate-contact-page .corporate-contact-logo--tax-legal .brand-lockup-primary { align-self:center; }
body.corporate-contact-page .corporate-contact-brand-secondary { width:80%;max-width:80%;align-self:center; }
@media (max-width:640px) {
  body.estate-home-page .listing-meta { display:none; }
  body.corporate-home-page .corporate-stage { min-height:100svh;height:auto;overflow:visible;padding-top:74px; }
  body.corporate-home-page .corporate-header { height:74px;padding:0 18px; }
  body.corporate-home-page .topbar-wordmark { font-size:20px; }
  body.corporate-home-page .corporate-navigation { margin-left:auto; }
  body.corporate-home-page .corporate-languages { margin-left:10px; }
  body.corporate-home-page .corporate-portals { position:relative;top:auto;left:auto;width:auto;margin:0 18px;padding:18px 0 28px;transform:none;gap:12px; }
  body.corporate-home-page .corporate-portal { min-height:205px; }
  body.corporate-home-page .corporate-portal .portal-content { padding:22px 16px; }
  body.corporate-home-page .corporate-portal .portal-subtitle { font-size:9px;letter-spacing:.14em; }
  body.corporate-home-page .corporate-portal .brand-lockup--development .brand-lockup-secondary { font-size:8px;letter-spacing:.08em; }
  body.corporate-home-page .corporate-mark-area { position:relative;top:auto;right:auto;width:min(78vw,390px);margin:22px auto 52px;transform:none;text-align:center; }
  body.corporate-home-page .corporate-mark { width:min(67vw,280px);margin-bottom:20px; }
  body.corporate-home-page .corporate-claim { font-size:24px; }
  body.corporate-home-page .corporate-video-section { padding:82px 18px; }
  body.corporate-home-page .corporate-film-teaser { width:100%; }
}

@media screen and (min-width:981px) {
  .property-detail-columns { display:block; }
  .property-description { width:100%; max-width:none; }
  .property-attributes { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:34px; }
  .property-attributes li { font-size:15px; line-height:1.6; }
}

@media (max-width:640px) {
  .service-location-map { height:220px; }
  .service-location-map-toggle { min-height:42px; max-width:100%; text-align:left; }
}

/* Project Development: references directly follow the proof panel; details live inside investor projects. */
.project-development-page .development-proof { margin-bottom:24px; }
.project-development-page .development-portraits { margin-bottom:56px; }
.project-development-page .development-portraits-action { display:flex; justify-content:center; margin-top:28px; }
.project-development-page .development-portraits-action .development-contact-button { margin-top:0; }
.project-development-page .business-paths .business-path { display:flex; flex-direction:column; color:inherit; text-decoration:none; }
.project-development-page .business-path > p:nth-of-type(3) { margin:10px 0 0; color:rgba(70,61,50,.79); font-size:12px; line-height:1.75; letter-spacing:.015em; }
.project-development-page .business-path:hover { transform:translateY(-3px); border-color:var(--path-accent); box-shadow:0 17px 34px rgba(66,55,43,.14),inset 0 1px rgba(255,255,255,.62); }
.project-development-page .development-path-action { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; width:fit-content; margin-top:auto; padding:12px 0 0; color:var(--ink-dark); font-size:10px; font-weight:600; line-height:1.5; letter-spacing:.08em; text-decoration:none; }
.project-development-page .development-path-action::after { content:"→"; color:var(--signal-green); font-size:16px; transition:transform .18s ease; }
.project-development-page .development-path-action:hover::after,.project-development-page .development-path-action:focus-visible::after { transform:translateX(3px); }
.project-development-page .development-path-action:focus-visible,.project-development-page .development-investor-flow summary:focus-visible { outline:2px solid var(--path-accent); outline-offset:4px; border-radius:2px; }
.project-development-page .development-investor-flow { margin:18px 0 14px; border-top:1px solid rgba(70,61,50,.2); border-bottom:1px solid rgba(70,61,50,.2); }
.project-development-page .development-investor-flow > summary { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:12px; color:var(--ink-dark); font-size:10px; font-weight:600; line-height:1.45; letter-spacing:.07em; cursor:pointer; list-style:none; }
.project-development-page .development-investor-flow > summary::-webkit-details-marker { display:none; }
.project-development-page .development-investor-flow > summary::after { content:"+"; flex:0 0 auto; color:var(--path-accent); font-size:19px; font-weight:300; }
.project-development-page .development-investor-flow[open] > summary::after { content:"−"; }
.project-development-page .development-investor-flow-content { padding:2px 0 15px; }
.project-development-page .development-investor-flow-content .business-kicker { margin:8px 0 7px; color:rgba(70,61,50,.65); font-size:8px; }
.project-development-page .development-investor-flow-content h4 { margin:0 0 13px; color:var(--ink-dark); font-size:14px; font-weight:400; line-height:1.4; letter-spacing:.015em; }
.project-development-page .development-investor-flow .development-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
.project-development-page .development-investor-flow .development-process-list li { min-height:38px; flex-direction:row; align-items:center; justify-content:flex-start; gap:8px; padding:5px 2px; border-top:0; color:rgba(48,55,52,.9); font-size:9px; line-height:1.35; letter-spacing:0; }
.project-development-page .development-investor-flow .development-process-list li::before { content:""; display:none; }
.project-development-page .development-investor-flow .development-process-list svg { display:block; flex:0 0 18px; width:18px; height:18px; fill:none; stroke:var(--path-accent); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.55; }
@media (max-width:760px) {
  .project-development-page .business-paths { grid-template-columns:1fr; gap:14px; padding:14px 0 58px; }
  .project-development-page .business-path { min-height:0; padding:21px 18px 23px; }
  .project-development-page .development-proof { margin-bottom:18px; }
  .project-development-page .development-portraits { margin-bottom:42px; }
  .project-development-page .development-portraits-action { margin-top:20px; }
  .project-development-page .development-investor-flow .development-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Project Development: clearer section rhythm, proof hierarchy and full-width routes. */
.project-development-page .development-proof {
  margin:30px auto 0;
  border-color:rgba(255,255,255,.42);
  background:linear-gradient(118deg,#4e625d 0%,#3b4c4f 58%,#344247 100%);
  box-shadow:0 18px 42px rgba(39,47,48,.16),inset 0 1px rgba(255,255,255,.2);
}
.project-development-page .development-proof .business-kicker { margin-bottom:10px; color:rgba(247,241,231,.82); font-size:10px; letter-spacing:.2em; }
.project-development-page .development-proof h2 { max-width:590px; font-size:clamp(25px,3vw,37px); line-height:1.2; letter-spacing:.02em; }
.project-development-page .development-projects-copy { max-width:460px; margin-top:10px; font-size:15px; line-height:1.5; }
.project-development-page .development-project-volume { min-width:275px; gap:8px; }
.project-development-page .development-project-volume strong { font-size:clamp(38px,5vw,60px); font-weight:400; letter-spacing:.01em; }
.project-development-page .development-project-volume span { max-width:250px; font-size:12px; line-height:1.5; letter-spacing:.09em; }

.project-development-page .development-portraits {
  width:100%;
  margin:0;
  padding:clamp(34px,4vw,54px) 24px clamp(42px,5vw,64px);
  background:linear-gradient(135deg,#eee7db 0%,#e7ddce 100%);
  border-top:1px solid rgba(255,255,255,.62);
  border-bottom:1px solid rgba(255,255,255,.56);
}
.project-development-page .development-portrait-grid,
.project-development-page .development-portraits-action { width:min(1120px,100%); margin-inline:auto; }
.project-development-page .development-portrait { border-color:rgba(255,255,255,.82); background:linear-gradient(145deg,rgba(255,252,246,.78),rgba(231,221,206,.78)); }
.project-development-page .development-portraits-action { margin-top:27px; }

.project-development-page .development-path-section {
  width:100%;
  margin:0;
  padding:clamp(42px,5vw,68px) 24px clamp(50px,6vw,78px);
  background:linear-gradient(135deg,#e8e9e1 0%,#dce2df 58%,#d4dddc 100%);
  border-top:1px solid rgba(255,255,255,.65);
}
.project-development-page .development-path-inner { width:min(1120px,100%); margin-inline:auto; }
.project-development-page .development-section-heading { margin-bottom:30px; }
.project-development-page .development-path-section .development-section-heading h2 { color:#344247; font-size:clamp(29px,3.8vw,46px); font-weight:400; line-height:1.2; letter-spacing:.025em; }
.project-development-page .business-paths { display:grid; width:100%; grid-template-columns:1fr; gap:16px; padding:0; }
.project-development-page .business-paths .business-path {
  display:grid;
  grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);
  grid-template-rows:auto auto auto auto;
  align-items:center;
  gap:10px 34px;
  min-height:0;
  padding:26px 30px;
  border-radius:9px;
  box-shadow:0 10px 24px rgba(54,64,61,.075),inset 0 1px rgba(255,255,255,.72);
}
.project-development-page .development-path-intro { grid-column:1; grid-row:1 / span 2; align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-right:24px; border-right:1px solid color-mix(in srgb,var(--path-accent) 34%,transparent); }
.project-development-page .development-path-intro .business-kicker { align-self:flex-start; margin:0 0 11px; color:var(--path-accent); font-size:11px; font-weight:600; letter-spacing:.17em; }
.project-development-page .development-path-intro h3 { max-width:270px; font-size:clamp(16px,1.7vw,21px); font-weight:500; letter-spacing:.09em; line-height:1.4; }
.project-development-page .development-path-content { grid-column:2; grid-row:1; }
.project-development-page .development-path-content .development-path-prompt { margin:0 0 7px; font-size:16px; font-weight:500; line-height:1.45; }
.project-development-page .development-path-content > p:last-child { margin:0; color:rgba(52,54,51,.82); font-size:14px; line-height:1.65; letter-spacing:.005em; }
.project-development-page .development-path-action { grid-column:2; grid-row:2; align-self:start; margin:3px 0 0; padding:11px 15px; border-radius:5px; color:#fff; background:var(--signal-green); box-shadow:0 6px 16px rgba(0,76,32,.16); font-size:10px; letter-spacing:.075em; }
.project-development-page .development-path-action::after { color:#fff; }
.project-development-page .development-path-action:hover,.project-development-page .development-path-action:focus-visible { color:#fff; background:var(--signal-green-hover); }
.project-development-page .development-path-action:focus-visible { outline-color:var(--ink-dark); }
.project-development-page .business-path[data-path-theme="private"] { --path-accent:#71836f; background:linear-gradient(115deg,#f1f2e9,#faf8f1); }
.project-development-page .business-path[data-path-theme="glambury"] { --path-accent:#a98660; background:linear-gradient(115deg,#f2e7d7,#fbf7ef); }
.project-development-page .business-path[data-path-theme="investor"] { --path-accent:#71828a; background:linear-gradient(115deg,#e3eae7,#f6f7f2); }
.project-development-page .development-investor-flow { grid-column:1 / -1; grid-row:3; margin:8px 0 0; padding:9px 0 0; border-top:1px solid rgba(70,61,50,.2); border-bottom:0; }
.project-development-page .development-investor-flow > summary { min-height:44px; font-size:11px; }
.project-development-page .development-investor-flow-content { padding:8px 0 2px; }
.project-development-page .development-investor-flow-content .business-kicker { margin:4px 0 7px; font-size:9px; }
.project-development-page .development-investor-flow-content h4 { margin-bottom:15px; font-size:18px; }
.project-development-page .development-investor-flow .development-process-list { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.project-development-page .development-investor-flow .development-process-list li {
  position:relative;
  display:grid;
  grid-template-rows:24px 34px minmax(32px,auto);
  justify-items:center;
  align-content:start;
  gap:6px;
  min-height:108px;
  padding:4px 5px 9px;
  border:1px solid rgba(113,130,138,.15);
  border-radius:6px;
  background:rgba(255,255,255,.42);
  text-align:center;
  font-size:11px;
  line-height:1.35;
}
.project-development-page .development-investor-flow .development-process-list li::before { content:"0" counter(development-stage); display:grid; width:23px; height:23px; place-items:center; border:1px solid color-mix(in srgb,var(--path-accent) 50%,transparent); border-radius:50%; color:var(--path-accent); background:#eef1ec; font-size:9px; font-weight:600; letter-spacing:0; }
.project-development-page .development-investor-flow .development-process-list li:not(:last-child)::after { content:""; position:absolute; z-index:2; top:15px; left:calc(50% + 12px); width:calc(100% - 16px); border-top:1px solid color-mix(in srgb,var(--path-accent) 42%,transparent); }
.project-development-page .development-investor-flow .development-process-list svg { grid-row:2; width:24px; height:24px; }
.project-development-page .development-investor-flow .development-process-list li span { grid-row:3; }
.project-development-page .business-path[data-path-theme="investor"] .development-path-action { grid-column:2; grid-row:4; }

@media (max-width:760px) {
  .project-development-page .development-proof { width:calc(100% - 40px); align-items:flex-start; flex-direction:column; gap:20px; margin-top:20px; padding:25px 21px; }
  .project-development-page .development-proof h2 { font-size:clamp(24px,6vw,31px); }
  .project-development-page .development-projects-copy { font-size:14px; }
  .project-development-page .development-project-volume { min-width:0; align-items:flex-start; text-align:left; }
  .project-development-page .development-project-volume strong { font-size:clamp(38px,11vw,54px); }
  .project-development-page .development-portraits { padding:30px 20px 40px; }
  .project-development-page .development-portrait-grid { grid-template-columns:1fr; gap:16px; }
  .project-development-page .development-portraits-action { margin-top:20px; }
  .project-development-page .development-path-section { padding:36px 20px 48px; }
  .project-development-page .development-section-heading { margin-bottom:22px; }
  .project-development-page .development-path-section .development-section-heading h2 { font-size:clamp(27px,7vw,35px); }
  .project-development-page .business-paths { gap:13px; }
  .project-development-page .business-paths .business-path { grid-template-columns:1fr; grid-template-rows:auto; gap:12px; padding:20px 18px 21px; }
  .project-development-page .development-path-intro { grid-column:1; grid-row:auto; align-self:auto; padding:0 0 12px; border-right:0; border-bottom:1px solid color-mix(in srgb,var(--path-accent) 34%,transparent); }
  .project-development-page .development-path-intro .business-kicker { margin-bottom:6px; font-size:10px; }
  .project-development-page .development-path-intro h3 { max-width:none; font-size:17px; }
  .project-development-page .development-path-content { grid-column:1; grid-row:auto; }
  .project-development-page .development-path-content .development-path-prompt { font-size:15px; }
  .project-development-page .development-path-content > p:last-child { font-size:13px; }
  .project-development-page .development-path-action,.project-development-page .business-path[data-path-theme="investor"] .development-path-action { grid-column:1; grid-row:auto; margin-top:2px; }
  .project-development-page .development-investor-flow { grid-column:1; grid-row:auto; }
  .project-development-page .development-investor-flow .development-process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .project-development-page .development-investor-flow .development-process-list li { min-height:86px; grid-template-rows:21px 27px minmax(24px,auto); font-size:10px; }
  .project-development-page .development-investor-flow .development-process-list li:not(:last-child)::after { display:none; }
}

/* Project Development: unify project proof, clarify the route heading and soften repeated actions. */
.project-development-page .development-case-section {
  width:100%;
  padding:clamp(30px,4vw,52px) 24px clamp(38px,5vw,64px);
  border-block:1px solid rgba(255,255,255,.62);
  background:linear-gradient(135deg,#eee7db 0%,#e8ddce 52%,#eee7db 100%);
}
.project-development-page .development-proof {
  width:min(1120px,100%);
  margin:0 auto 24px !important;
  padding:8px 0 24px !important;
  border:0 !important;
  border-bottom:1px solid rgba(70,61,50,.2) !important;
  border-radius:0 !important;
  color:var(--ink-dark);
  background:transparent !important;
  box-shadow:none !important;
}
.project-development-page .development-proof .business-kicker { color:rgba(70,61,50,.65); }
.project-development-page .development-proof h2 { color:var(--ink-dark); }
.project-development-page .development-projects-copy { color:rgba(70,61,50,.76); }
.project-development-page .development-project-volume { align-items:flex-end; }
.project-development-page .development-project-volume strong { color:var(--ink-dark); }
.project-development-page .development-project-volume span { color:rgba(70,61,50,.72); }
.project-development-page .development-portraits {
  width:min(1120px,100%);
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.project-development-page .development-portrait-grid,
.project-development-page .development-portraits-action { width:100%; }
.project-development-page .development-portraits-action { justify-content:flex-end; margin-top:22px !important; padding-right:30px; }
.project-development-page .development-portraits-action .development-contact-button {
  min-height:40px;
  margin:0;
  gap:13px;
  padding:11px 15px;
  border:1px solid rgba(0,87,39,.34);
  color:var(--ink-dark);
  background:color-mix(in srgb,var(--signal-green) 46%,#eee7db);
  box-shadow:0 4px 12px rgba(0,76,32,.09);
  font-size:9px;
  letter-spacing:.075em;
}
.project-development-page .development-portraits-action .development-contact-button:hover,
.project-development-page .development-portraits-action .development-contact-button:focus-visible {
  color:var(--ink-dark);
  background:color-mix(in srgb,var(--signal-green) 56%,#eee7db);
}
.project-development-page .development-path-section {
  background:linear-gradient(135deg,#e9dece 0%,#e3d4c0 52%,#e9dece 100%);
  border-block:1px solid rgba(255,255,255,.68);
}
.project-development-page .development-section-heading { text-align:left; }
.project-development-page .development-section-heading h2 { max-width:850px; }
.project-development-page .business-paths .business-path:not([data-path-theme="investor"]) {
  grid-template-rows:auto 1fr;
}
.project-development-page .business-paths .business-path[data-path-theme="investor"] {
  grid-template-rows:auto auto 1fr auto;
}
.project-development-page .development-path-action,
.project-development-page .business-path[data-path-theme="investor"] .development-path-action {
  display:inline-flex;
  align-items:center;
  justify-self:end;
  align-self:end;
  width:fit-content;
  min-height:40px;
  margin:0;
  padding:9px 13px;
  border:1px solid rgba(0,87,39,.34);
  border-radius:5px;
  color:var(--ink-dark);
  background:color-mix(in srgb,var(--signal-green) 46%,#eee7db);
  box-shadow:0 4px 12px rgba(0,76,32,.09);
  font-size:9px;
  letter-spacing:.065em;
}
.project-development-page .development-path-action::after { color:var(--ink-dark); }
.project-development-page .development-path-action:hover,
.project-development-page .development-path-action:focus-visible {
  color:var(--ink-dark);
  background:color-mix(in srgb,var(--signal-green) 56%,#eee7db);
  box-shadow:0 6px 15px rgba(0,76,32,.12);
}
.project-development-page .development-path-action:focus-visible { outline-color:var(--ink-dark); }
.project-development-page .business-path[data-path-theme="investor"] .development-path-action {
  grid-column:1 / -1;
  grid-row:4;
}
.project-development-page .development-investor-flow {
  grid-column:1 / -1;
  grid-row:3;
  margin:8px 0 0;
  padding:0;
  border:0;
}
.project-development-page .development-investor-flow-content { padding:8px 0 2px; }
.project-development-page .development-investor-flow-content h4 {
  margin:0 0 15px;
  color:var(--ink-dark);
  font-size:18px;
  font-weight:400;
  line-height:1.4;
  letter-spacing:.015em;
}

@media (max-width:760px) {
  .project-development-page .development-case-section { padding:28px 20px 40px; }
  .project-development-page .development-proof { width:100%; margin:0 auto 20px !important; padding:4px 0 20px !important; }
  .project-development-page .development-proof .development-project-volume { align-items:flex-start; }
  .project-development-page .development-portraits { width:100%; }
  .project-development-page .development-path-section { background:linear-gradient(135deg,#e9dece 0%,#e4d6c3 52%,#e9dece 100%); }
  .project-development-page .development-section-heading { text-align:left; }
  .project-development-page .business-paths .business-path:not([data-path-theme="investor"]) { grid-template-rows:auto; }
  .project-development-page .business-paths .business-path[data-path-theme="investor"] { grid-template-rows:auto; }
  .project-development-page .development-path-action,
  .project-development-page .business-path[data-path-theme="investor"] .development-path-action { grid-column:1; grid-row:auto; justify-self:end; align-self:end; width:fit-content; max-width:100%; }
  .project-development-page .development-investor-flow { grid-column:1; grid-row:auto; }
  .project-development-page .development-investor-flow-content h4 { font-size:16px; }
  .project-development-page .development-portraits-action { justify-content:flex-end; padding-right:18px; }
  .project-development-page .development-portraits-action .development-contact-button { width:auto; max-width:100%; }
}

/* Project Development concept V2: same approved layout on the working page. */
.project-development-page.pd-v2 { --pd-sand:#e4d5c4; --pd-sand-light:#efe8dc; --pd-paper:#f5f1e8; --pd-ink:#263238; --pd-ink-soft:#46565b; --pd-green:#137b43; background:var(--pd-sand-light); color:var(--pd-ink); }
.project-development-page.pd-v2 main { padding-top:var(--business-header-height,86px); }
.pd-v2 .pd-inner,.pd-v2 .pd-proof-inner { width:min(1320px,calc(100% - 48px)); margin:0 auto; }
.pd-v2 .pd-hero { background:var(--pd-sand); }
.pd-v2 .pd-hero-intro { position:relative; display:grid; width:min(1480px,calc(100% - 64px)); grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(64px,7vw,112px); margin:0 auto; padding:24px 0 26px; }
.pd-v2 .pd-brand-lockup { --pd-brand-size:clamp(39px,3.05vw,54px); display:inline-flex; width:fit-content; flex-direction:column; align-items:center; justify-self:center; color:var(--pd-ink); }
.pd-v2 .pd-brand-main { position:relative; font-size:var(--pd-brand-size); font-weight:300; letter-spacing:.25em; line-height:.95; white-space:nowrap; }
.pd-v2 .pd-brand-main::after { position:absolute; top:-.12em; right:-.74em; content:"©"; font-size:.2em; letter-spacing:0; }
.pd-v2 .pd-brand-sub { width:80%; margin-top:9px; text-align:center; font-size:calc(var(--pd-brand-size) * .309); font-weight:400; letter-spacing:.35em; line-height:1.1; white-space:nowrap; }
.pd-v2 .pd-hero-copy { min-width:0; }
.pd-v2 .pd-hero-copy h1 { max-width:700px; margin:0; color:var(--pd-ink); font-size:clamp(30px,2.7vw,40px); font-weight:300; letter-spacing:-.035em; line-height:1.08; }
.pd-v2 .pd-hero-copy > p { max-width:620px; margin:10px 0 0; color:rgba(38,50,56,.76); font-size:clamp(14px,1vw,16px); line-height:1.55; }
.pd-v2 .pd-hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:17px; }

@media (min-width:621px) {
  .pd-v2 .pd-hero-intro::after {
    position:absolute;
    top:27%;
    bottom:27%;
    left:50%;
    width:1px;
    content:"";
    border-radius:999px;
    background:rgba(38,50,56,.25);
  }
  .pd-v2 .pd-hero-copy {
    justify-self:end;
    width:min(100%,700px);
    text-align:right;
  }
  .pd-v2 .pd-hero-copy > p { margin-right:0; margin-left:auto; }
  .pd-v2 .pd-hero-actions { justify-content:flex-end; }
}

.pd-v2 .pd-button { display:inline-flex; min-height:43px; align-items:center; justify-content:center; gap:12px; padding:0 16px; border:1px solid transparent; border-radius:4px; font-size:10px; font-weight:700; letter-spacing:.045em; line-height:1.3; text-decoration:none; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.pd-v2 .pd-button:hover { transform:translateY(-2px); }
.pd-v2 .pd-button span:last-child { font-size:17px; font-weight:400; }
.pd-v2 .pd-button-primary { color:#fff; background:var(--pd-green); box-shadow:0 8px 20px rgba(19,123,67,.16); }
.pd-v2 .pd-button-primary:hover,.pd-v2 .pd-button-primary:focus-visible { background:#0f6c3a; }
.pd-v2 .pd-button-outline { border-color:rgba(38,50,56,.46); color:var(--pd-ink); background:rgba(255,255,255,.4); }
.pd-v2 .pd-hero-image { width:100%; height:clamp(330px,30vw,470px); margin:0; overflow:hidden; background:#9eaa9d; }
.pd-v2 .pd-hero-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.pd-v2 .pd-proof { width:min(1320px,calc(100% - 48px)); margin:clamp(24px,3vw,32px) auto 0; padding:58px clamp(30px,4vw,56px) 68px; color:#f1ece2; background:var(--pd-ink); }
.pd-v2 .pd-proof-inner { width:100%; }
.pd-v2 .pd-proof-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:27px; }
.pd-v2 .pd-proof-subtitle { margin:10px 0 0; color:rgba(241,236,226,.88); font-size:clamp(21px,1.85vw,25px); font-weight:300; letter-spacing:-.015em; line-height:1.25; }
.pd-v2 .pd-kicker { margin:0 0 14px; color:#c0c9bd; font-size:10px; font-weight:700; letter-spacing:.2em; line-height:1.5; text-transform:uppercase; }
.pd-v2 .pd-proof .pd-kicker { margin-bottom:16px; }
.pd-v2 .pd-proof h2,.pd-v2 .pd-section-heading h2,.pd-v2 .pd-process-heading h2,.pd-v2 .pd-closing h2 { max-width:850px; margin:0; font-size:clamp(30px,3.7vw,50px); font-weight:300; letter-spacing:-.025em; line-height:1.08; }
.pd-v2 .pd-proof h2 { font-size:clamp(30px,4vw,52px); }
.pd-v2 .pd-proof h2 span { display:block; }
.pd-v2 .pd-proof-copy { max-width:600px; margin:12px 0 0; color:rgba(241,236,226,.72); font-size:14px; line-height:1.6; }
.pd-v2 .pd-proof-volume {
  display:flex;
  width:max-content;
  flex:0 0 auto;
  max-width:100%;
  min-height:118px;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  margin:0;
  padding:18px 24px 16px;
  border:1px solid rgba(241,236,226,.3);
  border-radius:16px;
  text-align:right;
  white-space:normal;
  background:rgba(255,255,255,.065);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(0,0,0,.09);
}
.pd-v2 .pd-proof-volume strong { display:block; max-width:100%; color:#f1ece2; font-size:clamp(37px,4vw,54px); font-weight:300; letter-spacing:-.045em; line-height:1; }
.pd-v2 .pd-proof-volume span { display:block; max-width:100%; margin-top:8px; color:rgba(241,236,226,.68); font-size:10px; letter-spacing:.1em; }
.pd-v2 .pd-project-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pd-v2 .pd-project-card { min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.045); }
.pd-v2 .pd-project-media { position:relative; width:100%; aspect-ratio:16/8.2; min-height:0; margin:0; overflow:hidden; background:linear-gradient(140deg,#5c6b6b,#34454b 64%,#263238); }
.pd-v2 .pd-project-media .development-portrait-art { display:block; width:100%; height:100%; object-fit:cover; }
.pd-v2 .pd-project-media .development-media-label { position:absolute; z-index:2; right:15px; bottom:15px; left:15px; width:auto; margin:0; color:rgba(255,255,255,.88); font-size:9px; letter-spacing:.15em; text-align:left; }
.pd-v2 .pd-project-media:has([data-gallery-controls]:not([hidden])) .development-media-label { display:none; }
.pd-v2 .pd-project-media .development-gallery-controls { z-index:4; }
.pd-v2 .pd-project-media video { position:absolute; z-index:3; inset:0; width:100%; height:100%; object-fit:contain; background:#111; }
.pd-v2 .pd-project-media .development-youtube-slot { position:absolute; z-index:3; inset:0; }
.pd-v2 .pd-project-media .development-gallery-controls { right:16px; bottom:16px; left:16px; justify-content:space-between; gap:6px; }
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle] {
  position:relative; z-index:5; display:inline-flex; min-width:204px; min-height:62px; align-items:center; justify-content:flex-start;
  padding:0 18px 0 78px; overflow:hidden; border:1px solid rgba(255,255,255,.68); border-radius:12px;
  color:#fff; background:linear-gradient(145deg,rgba(24,30,31,.78),rgba(15,20,21,.6));
  box-shadow:0 12px 30px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(22px) saturate(165%); backdrop-filter:blur(22px) saturate(165%);
  font-size:11px; font-weight:700; letter-spacing:.15em; text-shadow:0 1px 4px rgba(0,0,0,.48);
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]::before {
  position:absolute; top:50%; left:13px; display:block; width:49px; height:34px; border:1px solid rgba(255,255,255,.43);
  border-radius:8px; background:linear-gradient(145deg,rgba(255,42,58,.82),rgba(194,0,24,.7));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),inset 0 -1px 0 rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.3),0 0 15px rgba(255,0,28,.2);
  content:""; transform:translateY(-50%);
}
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]::after {
  position:absolute; top:50%; left:33px; width:0; height:0; border-top:8px solid transparent; border-bottom:8px solid transparent;
  border-left:12px solid #fff; content:""; filter:drop-shadow(0 1px 2px rgba(53,0,0,.3)); transform:translateY(-50%);
}
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]:hover,
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]:focus-visible { transform:translateY(-2px); filter:brightness(1.1); box-shadow:0 15px 34px rgba(0,0,0,.38),0 0 18px rgba(255,0,28,.19),inset 0 1px 0 rgba(255,255,255,.3); }
.pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.pd-v2 .pd-project-copy { padding:19px 21px 22px; }
.pd-v2 .pd-project-copy .pd-kicker { margin-bottom:7px; color:rgba(241,236,226,.58); font-size:9px; }
.pd-v2 .pd-project-copy h3 { width:fit-content; max-width:100%; margin:0; color:#f1ece2; font-size:18px; font-weight:400; line-height:1.35; text-decoration:underline; text-decoration-color:#b9c5bd; text-decoration-thickness:1.5px; text-underline-offset:6px; text-decoration-skip-ink:none; }
.pd-v2 .pd-project-copy > p:last-child { margin:8px 0 0; color:rgba(241,236,226,.7); font-size:13px; line-height:1.6; }
.pd-v2 .pd-project-copy > .pd-project-story { margin:8px 0 0; color:rgba(241,236,226,.78); font-size:13px; line-height:1.65; }
.pd-v2 .pd-project-copy > .pd-project-info { margin:11px 0 0; color:rgba(241,236,226,.68); font-size:12px; line-height:1.6; }
.pd-v2 .pd-project-contact { color:#d6c2a3; font-weight:600; text-decoration:underline; text-decoration-color:rgba(214,194,163,.72); text-decoration-thickness:1px; text-underline-offset:3px; }
.pd-v2 .pd-project-contact:hover,.pd-v2 .pd-project-contact:focus-visible { color:#f1ece2; text-decoration-color:currentColor; }
.pd-v2 .pd-project-contact:focus-visible { outline:2px solid #d6c2a3; outline-offset:3px; }
.pd-v2 .pd-paths {
  padding:76px 0 38px;
  background:var(--pd-sand-light);
}
.pd-v2 .pd-paths > .pd-inner {
  padding:clamp(30px,4vw,50px);
  border:1px solid rgba(52,66,71,.14);
  background:#e7ebe6;
  box-shadow:0 18px 38px rgba(52,66,71,.09),inset 0 1px rgba(255,255,255,.72);
}
.pd-v2 .pd-paths .pd-section-heading { margin-bottom:30px; }
.pd-v2 .pd-paths .pd-audience-card {
  background:#f7f3ea;
  box-shadow:0 10px 24px rgba(68,53,37,.08),inset 0 1px rgba(255,255,255,.72);
}
.pd-v2 .pd-paths .pd-private-card { border-top:4px solid #a98b6e; }
.pd-v2 .pd-paths .pd-investor-card { border-top:4px solid #6f8f78; }

.pd-v2 .pd-section-heading { display:block; margin-bottom:26px; }
.pd-v2 .pd-section-heading .pd-kicker,.pd-v2 .pd-process-heading .pd-kicker { margin-bottom:12px; color:#68766f; }
.pd-v2 .pd-section-heading h2 {
  display:inline-block;
  max-width:720px;
  font-size:clamp(30px,3.35vw,45px);
  line-height:1.08;
  text-wrap:balance;
}
.pd-v2 .pd-section-heading h2::after {
  display:block;
  width:clamp(72px,10vw,118px);
  height:3px;
  margin-top:18px;
  border-radius:999px;
  background:linear-gradient(90deg,#b9c9ba,#137b43);
  content:"";
}
.pd-v2 .pd-section-heading > p { max-width:380px; margin:0; color:rgba(38,50,56,.72); font-size:14px; line-height:1.7; }
@media (min-width:851px) {
  .pd-v2 .pd-section-heading > p { text-align:right; }
}
.pd-v2 .pd-audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pd-v2 .pd-audience-card { position:relative; display:flex; min-height:332px; flex-direction:column; align-items:flex-start; padding:clamp(27px,3.4vw,45px); border:1px solid rgba(38,50,56,.15); background:var(--pd-paper); box-shadow:0 14px 36px rgba(68,53,37,.065); }
.pd-v2 .pd-investor-card { border-top:4px solid #78918d; background:#e8ece6; }
.pd-v2 .pd-card-number { margin:0 0 12px; color:#728079; font-size:10px; font-weight:700; letter-spacing:.14em; line-height:1.5; }
.pd-v2 .pd-audience-card h3 { width:fit-content; max-width:100%; margin:0; color:var(--pd-ink); font-size:clamp(25px,2.7vw,36px); font-weight:400; line-height:1.15; overflow-wrap:break-word; hyphens:auto; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; text-decoration-skip-ink:none; }
.pd-v2 .pd-private-card h3 { text-decoration-color:#927957; }
.pd-v2 .pd-investor-card h3 { text-decoration-color:#78918d; }
.pd-v2 .pd-audience-card > p:not(.pd-card-number):not(.pd-audience-card-lead) { max-width:550px; margin:8px 0 25px; color:rgba(38,50,56,.74); font-size:14px; line-height:1.65; }
.pd-v2 .pd-audience-card .pd-audience-card-lead { max-width:550px; margin:12px 0 0; color:rgba(38,50,56,.84); font-size:15px; font-weight:500; line-height:1.5; }
.pd-v2 .pd-audience-card .pd-button { margin-top:auto; }
.pd-v2 .pd-own-projects { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; padding:18px 2px; border-top:1px solid rgba(38,50,56,.16); color:var(--pd-ink); text-decoration:none; }
.pd-v2 .pd-own-projects > span:first-child { display:flex; flex-direction:column; gap:5px; color:rgba(38,50,56,.74); font-size:12px; }
.pd-v2 .pd-own-projects strong { font-size:12px; font-weight:500; }
.pd-v2 .pd-own-projects > span:last-child { color:var(--pd-green); font-size:20px; }
.pd-v2 .pd-process-section { padding:20px 0 70px; background:var(--pd-sand-light); }
.pd-v2 .pd-process-panel { padding:clamp(28px,4vw,50px); border:1px solid rgba(38,50,56,.13); background:var(--pd-paper); }
.pd-v2 .pd-process-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.pd-v2 .pd-process-heading > p { max-width:390px; margin:0; color:rgba(38,50,56,.7); font-size:13px; line-height:1.65; }
.pd-v2 .pd-process-list { position:relative; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.pd-v2 .pd-process-list::before { position:absolute; top:14px; right:7.14%; left:7.14%; height:1px; content:""; background:rgba(38,50,56,.24); }
.pd-v2 .pd-process-list li { position:relative; display:flex; min-height:134px; flex-direction:column; align-items:center; gap:12px; padding:0 6px; color:var(--pd-ink-soft); text-align:center; }
.pd-v2 .pd-process-number { position:relative; z-index:1; display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border:1px solid rgba(38,50,56,.38); border-radius:50%; color:var(--pd-ink); background:var(--pd-paper); font-size:9px; font-weight:600; }
.pd-v2 .pd-process-icon { display:grid; width:54px; height:54px; flex:0 0 54px; place-items:center; border:2px solid rgba(38,50,56,.24); border-radius:50%; color:#455559; background:radial-gradient(circle at 29% 22%,#fffdf7 0%,#e0d4c4 55%,#b99b78 100%); box-shadow:0 5px 0 rgba(38,50,56,.15),0 10px 18px rgba(63,47,33,.14),inset -4px -5px 8px rgba(118,84,53,.14),inset 3px 3px 7px rgba(255,255,255,.9); }


.pd-v2 .pd-process-icon svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(1px 1px 0 rgba(255,255,255,.65)) drop-shadow(1px 2px 0 rgba(80,59,39,.14)); }

.pd-v2 .pd-process-list li:nth-child(1) .pd-process-icon { color:#819487; border-color:#d7e5d9; background:radial-gradient(circle at 29% 22%,#ffffff 0%,#f4faf4 55%,#e2efe4 100%); box-shadow:0 4px 0 rgba(38,50,56,.08),0 8px 14px rgba(63,47,33,.08),inset -3px -4px 7px rgba(118,84,53,.08),inset 3px 3px 7px rgba(255,255,255,.95); }
.pd-v2 .pd-process-list li:nth-child(2) .pd-process-icon { color:#5c7662; border-color:#b2ceb8; background:radial-gradient(circle at 29% 22%,#f8fcf8 0%,#d9ebdc 55%,#b3d2bb 100%); }
.pd-v2 .pd-process-list li:nth-child(3) .pd-process-icon { color:#52705a; border-color:#9fc1a6; background:radial-gradient(circle at 29% 22%,#f4faf5 0%,#cce3d0 55%,#9ac1a5 100%); }
.pd-v2 .pd-process-list li:nth-child(4) .pd-process-icon { color:#486a52; border-color:#8daf95; background:radial-gradient(circle at 29% 22%,#f0f8f1 0%,#bed9c4 55%,#78aa87 100%); }
.pd-v2 .pd-process-list li:nth-child(5) .pd-process-icon { color:#3f634b; border-color:#7fa78a; background:radial-gradient(circle at 29% 22%,#edf6ee 0%,#a9cdb0 55%,#57976c 100%); }
.pd-v2 .pd-process-list li:nth-child(6) .pd-process-icon { color:#355b41; border-color:#6f9977; background:radial-gradient(circle at 29% 22%,#e7f2e9 0%,#8fbea0 55%,#318954 100%); }
.pd-v2 .pd-process-list li:nth-child(7) .pd-process-icon { color:#263238; border-color:#0f6c3a; background:radial-gradient(circle at 29% 22%,#d4e9d8 0%,#5caf76 55%,#137b43 100%); box-shadow:0 6px 0 rgba(15,108,58,.32),0 12px 22px rgba(13,78,39,.24),inset -4px -5px 8px rgba(7,74,37,.18),inset 3px 3px 7px rgba(255,255,255,.72); }
.pd-v2 .pd-process-list li:nth-child(7) .pd-process-icon svg { color:#263238; }
.pd-v2 .pd-process-label { max-width:100%; color:var(--pd-ink); font-size:clamp(12px,.98vw,14px); font-weight:600; line-height:1.35; }
.pd-v2 .pd-closing-section { padding:0 0 64px; background:var(--pd-sand-light); }
.pd-v2 .pd-closing { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:clamp(42px,6vw,76px); color:#fff; background:linear-gradient(115deg,#263238,#3d514f); }
.pd-v2 .pd-closing .pd-kicker { color:#c4d2c7; }
.pd-v2 .pd-closing h2 { font-size:clamp(30px,3.7vw,48px); }
.pd-v2 .pd-closing > div > p:last-child { max-width:610px; margin:14px 0 0; color:rgba(255,255,255,.76); font-size:15px; line-height:1.7; }
.pd-v2 .pd-closing > a { flex:0 0 auto; }
@media(max-width:850px) {
  .pd-v2 .pd-hero-intro { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:30px; }
  .pd-v2 .pd-brand-lockup { --pd-brand-size:clamp(35px,4vw,49px); }
  .pd-v2 .pd-proof-heading,.pd-v2 .pd-section-heading,.pd-v2 .pd-process-heading { align-items:flex-start; flex-direction:column; }
  .pd-v2 .pd-proof-volume { align-self:flex-end; text-align:right; }
}
@media(max-width:620px) {
  .project-development-page.pd-v2 main { padding-top:var(--business-header-height,78px); }
  .pd-v2 .pd-inner,.pd-v2 .pd-proof-inner,.pd-v2 .pd-hero-intro { width:calc(100% - 40px); }
  .pd-v2 .pd-hero-intro { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; background:linear-gradient(135deg,#dfcfbb 0%,#e6d8c7 100%); }
  .pd-v2 .pd-brand-lockup { --pd-brand-size:clamp(34px,8.7vw,40px); align-self:center; justify-self:auto; margin:18px 20px 17px; }
  .pd-v2 .pd-brand-sub { margin-top:7px; }
  .pd-v2 .pd-hero-copy { width:100%; padding:20px; background:var(--pd-sand-light); }
  .pd-v2 .pd-hero-copy h1 { font-size:clamp(27px,7.6vw,31px); line-height:1.08; }
  .pd-v2 .pd-hero-copy > p { margin-top:8px; font-size:13px; line-height:1.5; }
  .pd-v2 .pd-hero-actions { display:grid; grid-template-columns:1fr; gap:7px; margin-top:12px; }
  .pd-v2 .pd-hero-actions .pd-button { justify-content:space-between; }
  .pd-v2 .pd-hero-actions .pd-button-outline { border-color:rgba(38,50,56,.64); color:#f5f1e8; background:#344248; box-shadow:0 5px 14px rgba(38,50,56,.14); }
  .pd-v2 .pd-hero-actions .pd-button-outline:hover,.pd-v2 .pd-hero-actions .pd-button-outline:focus-visible { border-color:#263238; color:#fff; background:#263238; }
  .pd-v2 .pd-hero-image { height:auto; aspect-ratio:16/10; }
  .pd-v2 .pd-hero-image img { object-position:30% center; }
  .pd-v2 .pd-proof { width:100%; margin-top:24px; padding:34px 20px 40px; }
  .pd-v2 .pd-proof-inner { width:100%; }
  .pd-v2 .pd-proof-heading { gap:13px; margin-bottom:18px; }
  .pd-v2 .pd-proof-subtitle { margin-top:8px; font-size:18px; line-height:1.3; }
  .pd-v2 .pd-proof h2 { font-size:clamp(25px,7vw,28px); line-height:1.12; }
  .pd-v2 .pd-proof-copy { font-size:13px; }
  .pd-v2 .pd-proof-volume { width:fit-content; min-height:0; align-self:flex-end; padding:14px 16px 12px; }
  .pd-v2 .pd-proof-volume strong { font-size:clamp(20px,5.4vw,22px); font-weight:400; letter-spacing:-.015em; }
  .pd-v2 .pd-proof-volume span { margin-top:5px; font-size:10px; letter-spacing:.06em; white-space:normal; }
  .pd-v2 .pd-project-grid,.pd-v2 .pd-audience-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .pd-v2 .pd-project-media { aspect-ratio:16/9; }
  .pd-v2 .pd-project-copy { padding:15px 16px 18px; }
  .pd-v2 .pd-paths { padding:48px 0 25px; }
  .pd-v2 .pd-paths > .pd-inner { width:calc(100% - 24px); padding:25px 16px 22px; }
  .pd-v2 .pd-paths .pd-section-heading { margin-bottom:22px; }

  .pd-v2 .pd-section-heading { margin-bottom:22px; }
  .pd-v2 .pd-section-heading h2 { max-width:100%; }
  .pd-v2 .pd-section-heading h2::after { width:82px; height:2px; margin-top:13px; }
  .pd-v2 .pd-section-heading > p,.pd-v2 .pd-process-heading > p { font-size:13px; }
  .pd-v2 .pd-audience-card { min-height:0; padding:25px 22px; }
  .pd-v2 .pd-card-number { margin-bottom:10px; }
  .pd-v2 .pd-audience-card h3 { font-size:29px; }
  .pd-v2 .pd-audience-card .pd-audience-card-lead { margin-top:10px; font-size:14px; }
  .pd-v2 .pd-audience-card > p:not(.pd-card-number):not(.pd-audience-card-lead) { margin:7px 0 21px; font-size:14px; }
  .pd-v2 .pd-audience-card .pd-button { width:100%; }
  .pd-v2 .pd-own-projects { align-items:flex-start; margin-top:14px; }
  .pd-v2 .pd-process-section { padding:0 0 44px; }
  .pd-v2 .pd-process-panel { padding:25px 20px; }
  .pd-v2 .pd-process-heading { gap:13px; margin-bottom:22px; }
  .pd-v2 .pd-process-list { grid-template-columns:1fr; gap:13px; }
  .pd-v2 .pd-process-list::before { top:14px; right:auto; bottom:14px; left:13px; width:1px; height:auto; }
  .pd-v2 .pd-process-list li { display:grid; min-height:46px; grid-template-columns:27px 38px minmax(0,1fr); align-items:center; justify-items:start; gap:12px; padding:0; text-align:left; }
  .pd-v2 .pd-process-number { width:27px; height:27px; flex-basis:27px; font-size:8px; }
  .pd-v2 .pd-process-icon { width:44px; height:44px; flex-basis:44px; }
  .pd-v2 .pd-process-icon svg { width:29px; height:29px; }
  .pd-v2 .pd-process-label { font-size:14px; }
  .pd-v2 .pd-closing-section { padding-bottom:40px; }
  .pd-v2 .pd-closing { align-items:flex-start; flex-direction:column; gap:23px; padding:31px 23px; }
  .pd-v2 .pd-closing > div > p:last-child { font-size:14px; }
  .pd-v2 .pd-closing > a { width:100%; }
}

@media (max-width:760px) {
  .pd-v2 .pd-project-media .development-gallery-controls { bottom:12px; left:12px; gap:4px; }
  .pd-v2 .pd-project-media .development-gallery-controls button { min-width:32px; min-height:32px; padding:0 7px; }
  .pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle] { min-width:168px; min-height:54px; padding:0 10px 0 66px; font-size:9px; letter-spacing:.11em; }
  .pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]::before { left:10px; width:42px; height:29px; }
  .pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle]::after { left:27px; border-top-width:7px; border-bottom-width:7px; border-left-width:10px; }
  .project-development-page .footer-main { align-items:center;flex-direction:row;gap:10px;padding-bottom:16px; }
  .project-development-page .footer-wordmark { flex:none;font-size:clamp(12px,3.3vw,14px);letter-spacing:.12em; }
  .project-development-page .footer-nav { width:auto;min-width:0;flex:1;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(7px,2vw,12px);text-align:right; }
  .project-development-page .footer-nav a,.project-development-page .footer-nav button { padding:5px 0;font-size:clamp(6px,1.55vw,7px);letter-spacing:.035em;white-space:nowrap; }
}

@media (max-width:390px) {
  .pd-v2 .pd-project-media .development-gallery-controls [data-photo-count] { display:none; }
  .pd-v2 .pd-project-media .development-gallery-controls button[data-video-toggle] { min-width:156px; }
}

/* Real Estate keeps its area wordmark but follows the shared compact footer system. */
@media (max-width:760px) {
  body.estate-home-page .site-footer .footer-main,
  body.estate-subpage .site-footer .footer-main { align-items:center;flex-direction:row;gap:10px;padding-bottom:16px; }
  body.estate-home-page .site-footer .footer-estate-lockup,
  body.estate-subpage .site-footer .footer-estate-lockup { flex:none;gap:2px; }
  body.estate-home-page .site-footer .footer-estate-lockup .brand-lockup-primary,
  body.estate-subpage .site-footer .footer-estate-lockup .brand-lockup-primary { font-size:clamp(12px,3.3vw,14px);letter-spacing:.12em; }
  body.estate-home-page .site-footer .footer-estate-lockup .brand-lockup-secondary,
  body.estate-subpage .site-footer .footer-estate-lockup .brand-lockup-secondary { width:80%;max-width:80%;margin-inline:auto;font-size:clamp(5px,1.35vw,5.5px);letter-spacing:0; }
  body.estate-home-page .site-footer .footer-nav,
  body.estate-subpage .site-footer .footer-nav { width:auto;min-width:0;flex:1;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(7px,2vw,12px);text-align:right; }
  body.estate-home-page .site-footer .footer-nav a,
  body.estate-home-page .site-footer .footer-nav button,
  body.estate-subpage .site-footer .footer-nav a,
  body.estate-subpage .site-footer .footer-nav button { padding:5px 0;font-size:clamp(6px,1.55vw,7px);letter-spacing:.035em;white-space:nowrap; }
}

/* Contact actions across the distribution: right aligned and kept to half of their box. */
.form-submit-row { align-items:flex-end; }
.form-submit-row .contact-submit {
  align-self:flex-end;
  width:fit-content;
  max-width:50%;
  min-width:0;
  white-space:normal;
  text-align:left;
}
.estate-contact-page .estate-contact-form .form-submit-row { align-items:flex-end; }
.estate-contact-page .estate-contact-form .form-submit-row .contact-submit {
  align-self:flex-end;
  width:fit-content;
  max-width:50%;
  min-width:0;
  white-space:normal;
}
.property-contact-cta .property-contact-link {
  flex:0 1 auto;
  width:fit-content;
  min-width:0;
  max-width:50%;
  margin-left:auto;
  gap:10px;
  padding-inline:12px;
  white-space:normal;
  text-align:left;
}
.property-inquiry-dialog .inquiry-submit-row { justify-items:end; }
.property-inquiry-dialog .inquiry-submit {
  justify-self:end;
  width:fit-content;
  min-width:0;
  max-width:50%;
  gap:10px;
  padding-inline:12px;
  white-space:normal;
  text-align:left;
}
.owner-contact-button {
  display:flex;
  width:fit-content;
  max-width:50%;
  margin-left:auto;
  gap:10px;
  padding-inline:14px;
  white-space:normal;
}
body.estate-owner-page .owner-handover-button {
  width:fit-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:760px) {
  body.estate-owner-page .owner-handover-button {
    width:100%;
    max-width:370px;
  }
}
.pd-v2 .pd-hero-actions { justify-content:flex-end; }
.pd-v2 .pd-hero-actions .pd-button,
.pd-v2 .pd-audience-card .pd-button,
.pd-v2 .pd-closing > a {
  width:fit-content;
  min-width:0;
  max-width:50%;
  padding-inline:12px;
  gap:9px;
  white-space:normal;
  text-align:left;
}
.pd-v2 .pd-hero-actions .pd-button { justify-content:space-between; }
.pd-v2 .pd-audience-card .pd-button,
.pd-v2 .pd-closing > a { align-self:flex-end; justify-content:space-between; }
.pd-v2 .pd-project-contact {
  display:flex;
  width:fit-content;
  max-width:50%;
  margin:10px 0 0 auto;
  text-align:right;
}
@media(max-width:760px) {
  .pd-v2 .pd-hero-actions .pd-button { justify-self:end; }
}

/* Exposé preview cards: keep the primary action at the lower right of every card. */
body.estate-home-page .newest-list,
body.estate-home-page .listing-list {
  align-items:stretch;
}
body.estate-home-page .listing-card > div:last-child {
  align-self:stretch;
  min-height:0;
}
body.estate-home-page .listing-card {
  grid-template-rows:auto minmax(0,1fr);
  align-content:stretch;
  align-self:stretch;
}
body.estate-home-page .listing-actions {
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  margin-top:auto;
  align-self:stretch;
}
body.estate-home-page .listing-map-button {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid rgba(52,67,72,.34);
  border-radius:5px;
  color:#344348;
  background:transparent;
  font-size:10px;
  letter-spacing:.09em;
  line-height:1.2;
  white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
body.estate-home-page .listing-map-button:hover,
body.estate-home-page .listing-map-button:focus-visible {
  border-color:#344348;
  color:#344348;
  background:rgba(52,67,72,.06);
  text-decoration:none;
  transform:translateY(-1px);
}
body.estate-home-page .listing-detail-link {
  flex:1 1 auto;
  width:auto;
  max-width:none;
  min-height:42px;
  box-sizing:border-box;
  margin-left:auto;
}

/* Keep the glass CTA treatment active after the compact mobile navigation rules. */
@media (max-width:980px) {
  body.estate-home-page .business-topbar.estate-topbar .business-global .estate-nav-market-link,
  body.estate-subpage .business-topbar.estate-topbar .business-global .estate-nav-market-link {
    border:1px solid rgba(255,255,255,.96);
    border-radius:6px;
    color:#234b36 !important;
    background:linear-gradient(116deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.58) 28%,rgba(255,255,255,.27) 64%,rgba(222,236,226,.48) 100%);
    box-shadow:0 8px 20px rgba(18,27,29,.16), inset 0 2px 0 rgba(255,255,255,.98), inset 0 -2px 0 rgba(255,255,255,.36);
    -webkit-backdrop-filter:blur(24px) saturate(180%);
    backdrop-filter:blur(24px) saturate(180%);
  }
}

/* Final cascade for translation-safe badges and labels. */
.pd-v2 .pd-proof-volume {
  box-sizing:border-box;
  width:min(100%,360px);
  max-width:100%;
}
.pd-v2 .pd-proof-volume strong,
.pd-v2 .pd-proof-volume span { white-space:normal; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:balance; }
.pd-v2 .pd-process-label { width:100%; min-width:0; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:pretty; }
.tax-legal-page .tl-area-action { max-width:100%; white-space:normal; text-align:left; }
.tax-legal-page .tl-area-action > span:first-child { min-width:0; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:pretty; }
.tax-legal-page .tl-area-card h3,
.tax-legal-page .tl-area-card p,
.tax-legal-page .tl-process-list strong { min-width:0; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:pretty; }
.estate-owner-page .owner-problem-card h3,
.estate-owner-page .owner-problem-card p,
.estate-owner-page .owner-problem-detail-sections h4,
.estate-owner-page .owner-problem-detail-sections section p,
.estate-owner-page .owner-problem-detail-benefit span { min-width:0; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:pretty; }
@media (max-width:620px) {
  .pd-v2 .pd-proof-volume { width:min(100%,360px); }
}
