/* 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 Editorial Mineral hero registration.
   One stable minimum frame and headline datum; content may expand it.
   Historical --circumpunct class remains as the site-wide geometry hook only. */
:root{
  --estate-hero-height:clamp(420px,40vw,580px);
  --estate-hero-content-top:clamp(90px,9vw,132px);
  --estate-hero-bottom-reserve:clamp(64px,7.5vw,98px);
}
.estate-hero--circumpunct{
  position:relative;
  box-sizing:border-box;
  height:auto!important;
  min-height:var(--estate-hero-height)!important;
  max-height:none!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:auto!important;
  min-height:var(--estate-hero-height)!important;
  padding-top:var(--estate-hero-content-top)!important;
  padding-bottom:var(--estate-hero-bottom-reserve)!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);
    --estate-hero-bottom-reserve:clamp(65px,17vw,82px);
  }
}

/* Historical ornamental mark nodes are not part of the Editorial Mineral hero.
   Fails closed if older HTML is accidentally restored. The identity lockup remains intact. */
.estate-hero--circumpunct .pe-hero__circ,
.estate-hero--circumpunct .vw-hero__circ { display:none!important }

/* 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}}


/* H5 · Editorial Mineral / Precise Signal — canonical material.
   No copper bloom, raster hero emblem, or decorative glow. One quiet
   stone-green field is shared by statement and governance heroes.
   Developers/Labs/Roadmap own purpose-built compositions in their sources. */
@media (forced-colors: none) {
  html body .estate-hero--r5.estate-hero--circumpunct,
  html body .platform-next .pn-hero.estate-hero--r5.estate-hero--circumpunct,
  html body .labs-hero.estate-hero--circumpunct {
    background-color:#111713;
    background-image:linear-gradient(105deg,#111713 0%,#151b16 100%);
    border-bottom:1px solid rgba(249,247,241,.15);
  }
}

/* W2U · Desktop statement-hero registration, optical acceptance successor.
   Exactly 594 CSS pixels at >=1280px. Independent application, identity,
   recovery, publication and legal surfaces retain their own visual grammar.
   The headline datum is preserved; oversized marks and penumbra are retired.
   Shorter breakpoints are intentionally content-adaptive following full-page
   tablet/mobile optical comparison; do not add a fixed tablet/mobile height. */
@media (min-width:1280px) {
  html body .estate-hero--r5.estate-hero--circumpunct,
  html body .platform-next .pn-hero.estate-hero--r5.estate-hero--circumpunct,
  html body .labs-hero.estate-hero--circumpunct {
    min-height:594px!important;
  }
  html body.f50-home-lock .estate-hero--r5.estate-hero--circumpunct>.pe-rail,
  html body.f50-home-lock .platform-next .pn-hero.estate-hero--r5.estate-hero--circumpunct>.pe-rail,
  html body .estate-hero--r5.estate-hero--circumpunct>.pe-rail {
    min-height:593px!important;
  }
  html body .labs-hero.estate-hero--circumpunct>.pe-rail {
    min-height:594px!important;
    padding-top:calc(var(--estate-hero-content-top) + 34px)!important;
  }
  /* These pages had an optically early headline despite identical outer frames. */
  html body.deployment-page .dep-hero.estate-hero--r5>.pe-rail {
    padding-top:calc(var(--estate-hero-content-top) + 34px)!important;
  }
  html body.platform-corporate-r1 .pn-hero__inner>* {
    position:relative;
    top:34px;
  }
  html body.cloud-r6 .cloud-hero.estate-hero--r5>.pe-rail {
    padding-top:calc(var(--estate-hero-content-top) - 13.5px)!important;
  }
  /* An existing Whole-Act coordinate occupied 3.625 extra pixels above H1. */
  html body .wa-hero.estate-hero--r5 .estate-hero-coordinate {
    margin-bottom:20.375px!important;
  }
  /* Labs lacks the canonical one-pixel bottom border. Register the mask to
     the same exact screen position as the other estate heroes. */
  html body .labs-hero.estate-hero--circumpunct .pe-hero__circ {
    bottom:calc(var(--estate-hero-mark-bottom) + 1px)!important;
  }
}

/* W2W — Labs research hero: optical successor to the locked R11.5 editorial.
   The exact approved words, CSS source custody, and shell remain unchanged.
   The old descendant p reset erased the hero lede margin. Restore deliberate
   separation and give the headline a composed, readable measure. */
html body.labs-v11 .labs-hero h1.estate-hero-headline{
  max-width:min(100%,780px)!important;
  font-size:clamp(54px,4.72vw,68px)!important;
  line-height:1.055!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
}
html body.labs-v11 .labs-hero h1.estate-hero-headline>.estate-headline-line{
  white-space:normal!important;
}
html body.labs-v11 .labs-hero .labs-hero__lede{
  margin-top:clamp(24px,2.4vw,30px)!important;
  max-width:790px;
  line-height:1.64;
}
@media(min-width:681px) and (max-width:1279px){
  html body.labs-v11 .labs-hero h1.estate-hero-headline{max-width:min(100%,710px)!important}
}
@media(max-width:680px){
  html body.labs-v11 .labs-hero h1.estate-hero-headline{
    font-size:clamp(39px,9.7vw,43px)!important;
    line-height:1.075!important;
  }
  html body.labs-v11 .labs-hero .labs-hero__lede{
    margin-top:23px!important;
    font-size:16px;
    line-height:1.63;
  }
}
@media(max-width:340px){
  html body.labs-v11 .labs-hero h1.estate-hero-headline{font-size:38px!important}
}

/* W11 opt-in estate link semantics: label and directional mark share one link,
   but only the label is decorated. Do not restyle scholarly or inline links. */
a.pe-link--composed{display:inline-flex;max-width:100%;align-items:baseline;gap:.45em;text-decoration:none}
a.pe-link--composed>.pe-link__label{min-width:0;text-decoration:none}
a.pe-link--composed>.pe-link__arrow{flex:none;white-space:nowrap;text-decoration:none}
a.pe-link--composed:not(.pe-link--button):is(:hover,:focus-visible)>.pe-link__label{
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px
}
@media(forced-colors:active){
 a.pe-link--composed:focus-visible{outline:2px solid CanvasText;outline-offset:3px}
}

/* Iteration 2 editorial closure: measured mobile orphan fixes only.
   Preserve authored desktop lineation and approved unaffected headlines. */
@media (max-width:680px) {
  body.collections-r10 .estate-hero-headline[data-compose="authored"] > .estate-headline-line,
  body.cloud-r6 .estate-hero-headline[data-compose="authored"] > .estate-headline-line,
  body.review-page .estate-hero-headline[data-compose="authored"] > .estate-headline-line {
    text-wrap:balance!important;
  }
}
/* Collections has a longer authored proposition: preserve the H11 mobile visual
   hierarchy while preventing a single-word middle line at narrow viewports. */
@media (max-width:430px) {
  body.collections-r10 .estate-hero-headline[data-compose="authored"] {
    font-size:clamp(34px,calc(13.33vw - 14px),42px)!important;
  }
}

/* ITERATION 3: scope-limited responsive headline corrections.
   Only confirmed source-pinned H2/H3 orphans are balanced; all unrelated headings
   retain their approved composition. Architecture's inline source is handled
   in its own exact successor, not via this shared stylesheet. */
/* labs.html: The theory must answer to reality */
html #labs-close-heading{text-wrap:balance!important}
/* cognitive-contracts.html: Production authority follows the exact build being released */
html #cc-release-title{text-wrap:balance!important}
/* cognitive-contracts.html: Use Cognitive Contracts wherever AI crosses a boundary that matters */
html #cc-final-title{text-wrap:balance!important}
/* work.html: The Work ends when reality warrants it. */
html #main > section.vw-paper:nth-of-type(6) > div.pe-rail > div.vw-prose > h2{text-wrap:balance!important}
/* whole-act-governance.html: Uncertainty stays on the record. */
html #main > section.vh-platform:nth-of-type(3) > div.pe-rail > div.vh-prose > h2{text-wrap:balance!important}
/* whole-act-governance.html: Capability waits at the boundary. */
html #main > section.pe-section:nth-of-type(4) > div.pe-rail > div.vh-prose > h2{text-wrap:balance!important}
/* settlement.html: Completion should not be self‑declared */
html #main > section.vh-story:nth-of-type(2) > div.pe-rail > div.vh-prose:nth-of-type(1) > h2{text-wrap:balance!important}
/* settlement.html: Measure accomplished Work, not just AI activity */
html #main > section.vh-platform:nth-of-type(5) > div.pe-rail > div.vh-prose:nth-of-type(1) > h2{text-wrap:balance!important}
/* settlement.html: One result across the enterprise */
html #main > section.vh-platform:nth-of-type(5) > div.pe-rail > div.vh-prose:nth-of-type(2) > h2{text-wrap:balance!important}
/* settlement.html: Carry forward what the institution can stand behind */
html #main > section.vh-close:nth-of-type(6) > div.pe-rail > h2{text-wrap:balance!important}
/* collections.html: Your data estate remains authoritative */
html #main > section.cr10-paper:nth-of-type(2) > div.pe-rail > article.cr10-prose > h2{text-wrap:balance!important}
/* collections.html: A Collection publishes a governed domain */
html #main > section.cr10-stone:nth-of-type(3) > div.pe-rail > div.cr10-split > div.cr10-split__heading:nth-of-type(1) > h2{text-wrap:balance!important}
/* collections.html: Govern everyday information without creating a data-engineering project */
html #main > section.cr10-paper:nth-of-type(4) > div.pe-rail > article.cr10-prose > h2{text-wrap:balance!important}
/* collections.html: Keep the systems that run the business */
html #main > section.cr10-close:nth-of-type(9) > div.pe-rail > h2{text-wrap:balance!important}
/* platform.html: The application is the entry point. */
html #developer-title{text-wrap:balance!important}
/* platform.html: Your systems remain part of the undertaking. */
html #authority-title{text-wrap:balance!important}
/* platform.html: Build on more than an interface. */
html #conclusion-title{text-wrap:balance!important}
/* deployment.html: Change the environment, not the Work */
html #main > section.dep-opening:nth-of-type(2) > div.pe-rail > div.vh-prose:nth-of-type(1) > h2{text-wrap:balance!important}
/* deployment.html: Infrastructure control is only the beginning */
html #main > section.dep-sovereignty:nth-of-type(3) > div.pe-rail > div.vh-prose > h2{text-wrap:balance!important}
/* deployment.html: Use the right model inside the right boundary */
html #main > section.dep-envelope:nth-of-type(4) > div.pe-rail > div.vh-prose:nth-of-type(3) > h2{text-wrap:balance!important}
/* deployment.html: Know what ran under which controls */
html #main > section.dep-proof:nth-of-type(6) > div.pe-rail > div.dep-proof__lead:nth-of-type(1) > div.vh-prose > h2{text-wrap:balance!important}
/* deployment.html: Move the boundary without losing the Work */
html #main > section.vh-close:nth-of-type(9) > div.pe-rail > h2{text-wrap:balance!important}
/* integrations.html: A connection does not grant authority */
html #main > section.integrations-night:nth-of-type(3) > div.pe-rail > div.integrations-prose > h2{text-wrap:balance!important}
/* security.html: Security begins with the undertaking */
html #main > section.sec-story:nth-of-type(2) > div.pe-rail > div.sec-prose:nth-of-type(1) > h2{text-wrap:balance!important}
/* review.html: What happens during the Review */
html #main > section.review-engagement-r4:nth-of-type(6) > div.pe-rail > div.review-r4-head:nth-of-type(1) > div.vh-prose > h2{text-wrap:balance!important}
/* review.html: Bring the Work you are ready to improve. */
html #main > section.review-commercial-r4:nth-of-type(7) > div.pe-rail > div.review-commercial-r4__close:nth-of-type(3) > div:nth-of-type(1) > h2{text-wrap:balance!important}

/* Four resistant narrow-screen compositions. Authoritative copy retained.
   H1 changes are mobile-only; no tablet or desktop hero lineation moves. */
@media(max-width:430px){
 html body.cognitive-contracts-page #cc-hero-title{font-size:38px!important}
 html body.collections-r10 section.cr10-authoring article.cr10-prose--wide>h2{font-size:24px!important}
 html body.f50-home-lock section.vh-platform .vh-reference-chapter>h3{font-size:27px!important}
 html body.deployment-page .dep-hero .estate-hero-headline{font-size:38px!important;text-wrap:balance!important}
 html body.deployment-page .dep-hero .estate-hero-headline>.estate-headline-line{display:inline!important;white-space:normal!important}
 html body.deployment-page .dep-hero .estate-hero-headline>.estate-headline-line:first-child::after{content:" ";white-space:pre}
}
