@layer site-blocks.estal {
/* Estal: photographic opening, condensed headings, open white sections.
   Shared block mechanics live in the Horizon stylesheets; this file owns the visual differences. */
html:has(.layout-estal) { scroll-behavior:auto; }
body .broker-site.has-estal-hero { padding:0; max-width:none; }
body .broker-site.has-estal-hero > main > section:not(.broker-site-hero),
body .property-site .site-section.layout-estal { width:min(1440px,calc(100% - 120px)); margin-inline:auto; }
body .broker-site .layout-estal,
body .property-site .layout-estal { --resolved-title-size:var(--block-title-size,56px); }
body :is(.broker-site,.property-site) .layout-estal :is(h1,h2) { font-family:var(--resolved-heading-font); font-weight:600; letter-spacing:-.025em; line-height:1.08; text-transform:uppercase; text-wrap:pretty; }
body :is(.broker-site,.property-site) .layout-estal p { color:inherit; }
body .broker-site .layout-estal .horizon-eyebrow,
body .broker-site .layout-estal .horizon-location { display:none; }
body .broker-site.has-estal-hero,
body .property-site[data-hero-layout=estal] { position:relative; max-width:none; }
body .broker-site .broker-site-hero.layout-estal,
body .property-site .site-hero.layout-estal { --resolved-title-size:var(--block-title-size,88px); width:100%; margin:0; min-height:800px; height:auto; border-radius:0; color:var(--block-text,#fff); background:var(--block-background,var(--site-accent)); display:grid; align-items:center; padding:100px 0 60px; }
body .broker-site .layout-estal .broker-site-hero-copy,
body .property-site .site-hero.layout-estal .site-hero-content { max-width:100%; width:900px; align-self:center; padding:var(--resolved-top) 60px var(--resolved-bottom); }
body .broker-site .layout-estal .broker-site-hero-copy h1,
body .property-site .site-hero.layout-estal h1 { max-width:800px; }
body .broker-site .layout-estal .broker-site-hero-copy p,
body .property-site .site-hero.layout-estal .site-hero-copy { max-width:620px; font-size:22px; line-height:1.5; }
body .broker-site .layout-estal .broker-site-hero-copy .broker-site-button,
body .property-site .site-hero.layout-estal .site-button { width:fit-content; padding:16px 26px; background:var(--block-accent,#ffffff24); color:var(--block-on-accent,#fff); border:1px solid #ffffffa0; backdrop-filter:blur(8px); font:400 16px/1.4 "Geist Variable",Arial,sans-serif; }
body .broker-site .layout-estal .broker-site-hero-copy .horizon-arrow,
body .property-site .site-hero.layout-estal .site-section-icon { padding:0; background:none; border-radius:0; color:inherit; width:22px; height:22px; }
body .property-site .site-hero.layout-estal .site-hero-shade { background:linear-gradient(90deg,#0006,#0002 65%,transparent); }
body .property-site .site-hero.layout-estal { padding-bottom:180px; }
body .property-site .estal-hero-facts { position:absolute; right:60px; bottom:38px; max-width:calc(100% - 120px); }
body .property-site .estal-hero-facts dl { display:flex; flex-wrap:wrap; gap:0; margin:0 0 12px; border:1px solid #ffffff60; border-radius:16px; background:#191b1d45; backdrop-filter:blur(12px); overflow:hidden; }
body .property-site .estal-hero-facts dl > div { display:flex; flex-direction:column-reverse; padding:18px 24px; border-right:1px solid #ffffff50; }
body .property-site .estal-hero-facts dl > div:last-child { border:0; }
body .property-site .estal-hero-facts dd { font:500 30px/1.3 var(--resolved-heading-font); margin:0 0 6px; }
body .property-site .estal-hero-facts dt { font-size:13px; opacity:.8; }
body .property-site .estal-hero-facts p { font-size:14px; margin:0; }
body .property-site .site-facts.layout-estal { display:none; }
body .broker-site .broker-site-story.layout-estal { gap:64px; padding-inline:0; }
body .broker-site .layout-estal .site-media-frame { height:560px; }
body .broker-site .layout-estal .broker-site-story-image { height:100%; max-height:none; aspect-ratio:auto; }
body .broker-site .layout-estal[data-site-section=expertise] { --resolved-title-size:var(--block-title-size,56px); }
body .broker-site .layout-estal[data-site-section=expertise] > .site-media-frame { order:1; }
body .broker-site .layout-estal .horizon-points dt { font-family:var(--resolved-heading-font); font-weight:500; text-transform:uppercase; }
body .broker-site .layout-estal .horizon-text-link { border-radius:99px; padding:16px 24px; background:var(--block-accent,var(--site-accent)); color:var(--block-on-accent,var(--site-on-accent)); text-decoration:none; }
body .broker-site .layout-estal .horizon-text-link svg { border:0; padding:0; }
body .broker-site .layout-estal[data-site-section=objects] { padding-inline:0; }
body .broker-site .layout-estal[data-site-section=objects] > header { display:block; text-align:center; margin-bottom:40px; }
body .broker-site .layout-estal[data-site-section=objects] > header h2 { margin-bottom:20px; }
body .broker-site .layout-estal[data-site-section=objects] > header p { font-size:18px; }
body .broker-site .layout-estal .broker-site-properties { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body .broker-site .layout-estal .broker-site-properties > a { display:flex; flex-direction:column; justify-content:end; position:relative; isolation:isolate; min-height:430px; padding:220px 28px 28px; border-radius:var(--resolved-radius); overflow:hidden; color:#fff; }
body .broker-site .layout-estal .broker-site-property-image { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; z-index:-2; }
body .broker-site .layout-estal .broker-site-properties > a::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#000c,transparent 72%); pointer-events:none; }
body .broker-site .layout-estal .broker-site-properties small { margin:0 0 10px; color:#fff; opacity:.85; }
body .broker-site .layout-estal .broker-site-properties h3 { font:500 30px/1.15 var(--resolved-heading-font); text-transform:uppercase; margin:0 0 12px; }
body .broker-site .layout-estal .broker-site-properties > a > b { font:500 28px/1.2 var(--resolved-heading-font); }
body .broker-site .layout-estal .horizon-property-facts { border:0; opacity:1; padding:0; margin-top:14px; }
body .broker-site .layout-estal .horizon-deal { background:#191b1d; color:#fff; }
body .broker-site .layout-estal[data-site-section=reviews] { text-align:left; }
body .broker-site .layout-estal .site-review { display:grid; grid-template-columns:220px minmax(0,1fr); gap:60px; padding:40px 0; }
body .broker-site .layout-estal .site-review blockquote { grid-column:2; grid-row:1; font-size:30px; margin:0; }
body .broker-site .layout-estal .site-review-author { grid-column:1; grid-row:1; display:flex; flex-direction:column; text-align:center; gap:10px; }
body .broker-site .layout-estal .site-review-author img { width:120px; height:120px; margin-bottom:8px; }
body .broker-site .layout-estal .site-review-author strong { font:500 24px/1.3 var(--resolved-heading-font); text-transform:uppercase; }
body .broker-site .layout-estal[data-site-section=faq] { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:70px; padding-inline:0; }
body .broker-site .layout-estal .broker-site-faq summary { font:500 24px/1.3 var(--resolved-heading-font); text-transform:uppercase; }
body .broker-site .layout-estal .horizon-faq-icon circle { display:none; }
body .broker-site .broker-site-contact.layout-estal,
body .property-site .site-contact.layout-estal { --resolved-title-size:var(--block-title-size,56px); padding-inline:0; margin-top:0; border-radius:0; background:var(--block-background,var(--site-background)); color:var(--block-text,var(--site-text)); box-shadow:none; }
body .broker-site .layout-estal[data-site-section=contact] button[type=submit],
body .property-site .site-contact.layout-estal button[type=submit] { background:var(--block-accent,var(--site-accent)); color:var(--block-on-accent,var(--site-on-accent)); justify-content:center; }
body .broker-site .layout-estal .horizon-contact-image { height:280px; aspect-ratio:auto; margin:32px 0 0; }
body .property-site .site-story.layout-estal .site-story-media { height:560px; grid-column:1; }
body .property-site .site-story.layout-estal .site-section-copy { grid-column:2; }
body .property-site .site-gallery.layout-estal .site-gallery-heading { display:block; text-align:center; }
body .property-site .site-gallery.layout-estal .site-gallery-heading h2 { margin-bottom:20px; }
body .property-site .site-gallery.layout-estal figure img { height:400px; }
body .property-site .site-gallery.layout-estal figcaption { border:0; margin:0; font:500 24px/1.3 var(--resolved-heading-font); text-transform:uppercase; }
body .property-site .site-location.layout-estal { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
body .property-site .site-location.layout-estal > .site-section-copy,
body .property-site .layout-estal .site-location-detail > :is(address,p,a,dl) { grid-column:1; }
body .property-site .layout-estal .site-location-media { grid-column:2; height:550px; }
body .property-site .layout-estal .site-contact-media { height:280px; }
@media(max-width:1100px) {
  body .has-estal-hero .broker-site-mobile-nav[open] nav { color:var(--site-text); }
  body .broker-site .layout-estal .broker-site-hero-copy,
body .property-site .site-hero.layout-estal .site-hero-content { width:100%; max-width:850px; padding-inline:32px; }
  body .broker-site.has-estal-hero > main > section:not(.broker-site-hero),
body .property-site .site-section.layout-estal { width:calc(100% - 64px); }
  body .broker-site .broker-site-hero.layout-estal,
body .property-site .site-hero.layout-estal { width:100%; --resolved-title-size:var(--block-title-size,72px); }
}
@media(max-width:700px) {
  body .broker-site.has-estal-hero > main > section:not(.broker-site-hero),
body .property-site .site-section.layout-estal { width:calc(100% - 40px); }
  body .broker-site .layout-estal,
body .property-site .layout-estal,
body .broker-site .layout-estal[data-site-section=expertise],
body .broker-site .layout-estal[data-site-section=contact],
body .property-site .site-contact.layout-estal { --resolved-title-size:var(--mobile-title-size,var(--block-title-size,36px)); }
  body .broker-site .broker-site-hero.layout-estal,
body .property-site .site-hero.layout-estal { width:100%; --resolved-title-size:var(--mobile-title-size,var(--block-title-size,46px)); min-height:660px; padding:100px 0 60px; }
  body .broker-site .layout-estal .broker-site-hero-copy,
body .property-site .site-hero.layout-estal .site-hero-content { padding:var(--resolved-top) 24px var(--resolved-bottom); }
  body .broker-site .layout-estal .broker-site-hero-copy p,
body .property-site .site-hero.layout-estal .site-hero-copy { font-size:18px; }
  body .property-site .site-hero.layout-estal { padding-bottom:0; }
  body .property-site .estal-hero-facts { position:relative; right:auto; bottom:auto; max-width:none; margin:10px 24px 32px; }
  body .property-site .estal-hero-facts dl > div { padding:12px 16px; flex:1 1 50%; }
  body .property-site .estal-hero-facts dl > div:nth-child(2) { border-right:0; }
  body .property-site .estal-hero-facts dl > div:nth-child(3) { flex-basis:100%; border-top:1px solid #ffffff50; }
  body .property-site .estal-hero-facts dd { font-size:24px; }
  body .broker-site .layout-estal .broker-site-properties,
body .broker-site .layout-estal[data-site-section=faq] { grid-template-columns:1fr; gap:28px; }
  body .broker-site .layout-estal .broker-site-properties > a { min-height:380px; padding:200px 22px 24px; }
  body .broker-site .layout-estal .site-media-frame,
body .property-site .site-story.layout-estal .site-story-media { height:350px; }
  body .broker-site .layout-estal[data-site-section=expertise] > .site-media-frame { order:var(--mobile-media-first,1); }
  body .broker-site .layout-estal .site-review { display:flex; flex-direction:column; gap:24px; padding:28px 0; }
  body .broker-site .layout-estal .site-review blockquote { font-size:22px; }
  body .broker-site .layout-estal .site-review-author { align-items:flex-start; text-align:left; }
  body .broker-site .layout-estal .site-review-author img { width:80px; height:80px; }
  body .broker-site .broker-site-contact.layout-estal,
body .property-site .site-contact.layout-estal { padding-inline:0; }
  body .property-site .site-gallery.layout-estal figure img { height:300px; }
  body .property-site .layout-estal .site-location-media { height:320px; }
}
}
