
:root{--ha-green:#164f3d;--ha-dark:#0e241b;--ha-line:#cfdad4}
.nest-ha-host{width:100%;height:100%}
.nest-ha{--ha-text-scale:1;--word:clamp(calc(7rem * var(--ha-text-scale)),calc(11vw * var(--ha-text-scale)),calc(13rem * var(--ha-text-scale)));position:relative;width:100%;min-height:430px;padding:44px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--ha-dark);font-family:inherit;box-sizing:border-box;isolation:isolate}
.nest-ha-medium{--word:clamp(5rem,8vw,9rem);min-height:330px}.nest-ha-xlarge{--word:clamp(8rem,14vw,16rem);min-height:500px}
.nest-ha-align-right{text-align:right;align-items:flex-end}.nest-ha-align-left{text-align:left;align-items:flex-start}.nest-ha-align-center{text-align:center;align-items:center}
.nest-ha-topline{position:absolute;top:0;left:44px;right:44px;height:1px;background:var(--ha-line)}.nest-ha-topline span{display:block;width:78px;height:4px;background:var(--ha-green);transform:translateY(-1px)}.nest-ha-align-right .nest-ha-topline span{margin-left:auto}.nest-ha-align-center .nest-ha-topline span{margin:auto}
.nest-ha-eyebrow{z-index:2;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--ha-green);margin-bottom:18px}
.nest-ha-word{z-index:2;display:flex;font-size:var(--word);line-height:.78;font-weight:800;letter-spacing:-.08em;white-space:nowrap}.nest-ha-word span{display:inline-block}
.nest-ha-meta{z-index:2;width:min(460px,100%);display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--ha-green);margin-top:34px;padding-top:12px;font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--ha-green)}
.nest-ha-orbit{position:absolute;z-index:1;width:320px;height:320px;border:1px solid rgba(22,79,61,.12);border-radius:50%;right:-60px;top:50%;transform:translateY(-50%)}.nest-ha-align-left .nest-ha-orbit{right:auto;left:-60px}.nest-ha-orbit:before,.nest-ha-orbit:after{content:"";position:absolute;inset:38px;border:1px solid rgba(22,79,61,.08);border-radius:50%}.nest-ha-orbit:after{inset:94px}.nest-ha-orbit i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ha-green);top:34px;left:49%;box-shadow:0 0 0 8px rgba(22,79,61,.06)}
.nest-ha-reveal .nest-ha-word span{opacity:0;transform:translateY(34px);animation:haReveal .75s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.08s + (var(--i)*.09s))}.nest-ha-reveal .nest-ha-eyebrow,.nest-ha-reveal .nest-ha-meta{opacity:0;animation:haFade .6s ease forwards}.nest-ha-reveal .nest-ha-meta{animation-delay:.6s}
@keyframes haReveal{to{opacity:1;transform:none}}@keyframes haFade{to{opacity:1}}
.nest-ha-scan:after{content:"";position:absolute;z-index:1;top:0;bottom:0;width:28%;background:linear-gradient(90deg,transparent,rgba(22,79,61,.07),transparent);animation:haScan 5s ease-in-out infinite}
@keyframes haScan{0%,20%{left:-35%}70%,100%{left:110%}}
.nest-ha-breathe .nest-ha-word{animation:haBreathe 4.2s ease-in-out infinite}.nest-ha-breathe .nest-ha-orbit{animation:haOrbit 12s linear infinite}
@keyframes haBreathe{0%,100%{opacity:1;letter-spacing:-.08em}50%{opacity:.9;letter-spacing:-.065em}}@keyframes haOrbit{to{rotate:360deg}}
@media(max-width:900px){.nest-ha{min-height:300px;padding:28px}.nest-ha-topline{left:28px;right:28px}.nest-ha-word{font-size:clamp(5rem,20vw,9rem)}}
@media(prefers-reduced-motion:reduce){.nest-ha *,.nest-ha:after{animation:none!important}.nest-ha-reveal .nest-ha-word span,.nest-ha-reveal .nest-ha-eyebrow,.nest-ha-reveal .nest-ha-meta{opacity:1!important;transform:none!important}}


/* v1.2 automatic page placement — SAFE ABSOLUTE OVERLAY */
.nest-ha-auto-source{display:none}
.nest-ha-auto-source.is-mounted{display:block}
.nest-ha-auto-target{position:relative!important}

/* Hero mode NEVER enters normal document flow. */
.nest-ha-auto-right{
  --ha-auto-width:44%;
  --ha-auto-top:12%;
  --ha-auto-right:2%;
  --ha-auto-maxh:72%;
  position:absolute!important;
  z-index:8;
  right:var(--ha-auto-right)!important;
  top:var(--ha-auto-top)!important;
  width:var(--ha-auto-width)!important;
  height:auto!important;
  max-height:var(--ha-auto-maxh)!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
  contain:layout paint;
}
.nest-ha-auto-right .nest-ha{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:100%!important;
  padding:18px 24px 20px!important;
  background:transparent!important;
}
.nest-ha-auto-right .nest-ha-orbit{opacity:.72}

/* Content-top remains a normal optional mode. */
.nest-ha-auto-top{
  position:relative;
  width:100%;
  margin:0 0 28px;
  pointer-events:none;
}
.nest-ha-auto-top .nest-ha{min-height:360px}

/* On narrower screens the accent becomes a contained overlay, still not pushing hero content. */
@media(max-width:1080px){
  .nest-ha-auto-right{
    right:2%!important;
    top:8%!important;
    width:42%!important;
    max-height:62%!important;
    opacity:.92;
  }
  .nest-ha-auto-right .nest-ha{padding:12px 14px!important}
}
@media(max-width:760px){
  .nest-ha-auto-right{display:none!important}
}
