/* Indwel Public Estate — shared design contract
   Home V11 is the founding visual authority. New pages inherit these rules.
   Page-specific deviation requires an explicit reason, not ad hoc CSS. */
:root{
  --estate-display-max:1050px;
  --estate-control-height:52px;
  --estate-control-pad-x:15px;
  --estate-control-select-pad-right:48px;
  --estate-motion-fast:170ms;
  --estate-motion-state:220ms;
}


/* Public Estate universal circumpunct hero geometry.
   This frame is estate infrastructure: page copy may not resize or reposition it. */
:root{
  --estate-hero-height:clamp(420px,40vw,580px);
  --estate-hero-content-top:clamp(90px,9vw,132px);
  --estate-hero-mark-size:clamp(420px,50vw,760px);
  --estate-hero-mark-right:calc(var(--estate-hero-mark-size) * -0.375);
  --estate-hero-mark-bottom:calc(var(--estate-hero-mark-size) * -0.334);
}
.estate-hero--circumpunct{
  position:relative;
  box-sizing:border-box;
  height:var(--estate-hero-height)!important;
  min-height:var(--estate-hero-height)!important;
  max-height:var(--estate-hero-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:hidden;
}
.estate-hero--circumpunct > .pe-rail{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  height:100%!important;
  padding-top:var(--estate-hero-content-top)!important;
  padding-bottom:0!important;
}
.estate-hero--circumpunct .pe-hero__circ,
.estate-hero--circumpunct .vw-hero__circ{
  width:var(--estate-hero-mark-size)!important;
  height:var(--estate-hero-mark-size)!important;
  right:var(--estate-hero-mark-right)!important;
  top:auto!important;
  bottom:var(--estate-hero-mark-bottom)!important;
}
@media(max-width:680px){
  :root{
    --estate-hero-height:clamp(420px,calc(724.8px - 44.83vw),580px);
    --estate-hero-content-top:clamp(72px,calc(47.8px + 6.2vw),90px);
  }
}

/* High-salience display typography: browser balancing is not design authority. */
.estate-hero-headline{
  max-width:var(--estate-display-max)!important;
  text-wrap:unset!important;
}
.estate-headline-line{display:block}
@media(min-width:681px){
  .estate-hero-headline>.estate-headline-line{white-space:nowrap}
}
@media(max-width:680px){
  .estate-hero-headline>.estate-headline-line{white-space:normal}
}


/* Authored section/key-statement lineation where rhetoric materially depends on the break. */
.estate-composed-heading>.estate-headline-line{display:block}
@media(min-width:681px){.estate-composed-heading>.estate-headline-line{white-space:nowrap}}
@media(max-width:680px){.estate-composed-heading>.estate-headline-line{white-space:normal}}

/* One desktop line may become a deliberately different mobile composition. */
.estate-responsive-segment{display:inline}
@media(max-width:680px){.estate-responsive-segment{display:block}}


/* Responsive authored line breaks. The words stay singular in the DOM; only break opportunities change. */
.estate-break--mobile{display:none}
.estate-break--desktop{display:inline}
@media(max-width:680px){
  .estate-break--mobile{display:inline}
  .estate-break--desktop{display:none}
}

/* Native select: real HTML select, estate-authored visual affordance. */
.estate-native-select{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-right:var(--estate-control-select-pad-right)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23585d56' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 17px center!important;
  background-size:14px 8px!important;
}
.estate-native-select:disabled{opacity:.62}

/* Footer proposition: the lineation is authored, not incidental. */
.f50-footer .pe-footer__statement.estate-footer-statement{
  max-width:330px;
  font-size:20px;
  line-height:1.28;
  text-wrap:unset;
}
.estate-footer-statement>.estate-headline-line{display:block}
@media(min-width:1091px){
  .estate-footer-statement>.estate-headline-line{white-space:nowrap}
}
@media(max-width:1090px){
  .f50-footer .pe-footer__statement.estate-footer-statement{max-width:440px}
}
@media(max-width:680px){
  .f50-footer .pe-footer__statement.estate-footer-statement{max-width:340px;font-size:19px}
  .estate-footer-statement>.estate-headline-line{white-space:normal}
}

/* Authored prose/key-copy composition uses the same line authority without adopting heading metrics. */
.estate-composed-copy>.estate-headline-line{display:block}
@media(min-width:681px){.estate-composed-copy>.estate-headline-line{white-space:nowrap}}
@media(max-width:680px){.estate-composed-copy>.estate-headline-line{white-space:normal}}
