@font-face{font-family:Arian;src:url(/brand/fonts/Arian_normal.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Arian;src:url(/brand/fonts/Arian_normal_italic_0.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Arian;src:url(/brand/fonts/Arian_bold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Arian;src:url(/brand/fonts/Arian_bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Arian;src:url(/brand/fonts/Arian_bold_italic.otf) format("opentype");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:Arian;src:url(/brand/fonts/Arian_bold_italic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}

:root{
  --leb-iri:linear-gradient(105deg,#047857 0%,#34d399 18%,#6ee7b7 38%,#a7f3d0 55%,#34d399 78%,#047857 100%)
}

html{
  font-kerning:normal!important;
  font-variant-ligatures:none!important
}
html,body,button,input,textarea,:host{
  font-family:Arian,Inter,sans-serif!important
}
.h1,.h2,.font-disp,.eco-orb__label,.eco-modal__title,.eco-modal__text,.font-zetta,.eyebrow,.btn__label,.sh-sound-toggle,.font-inter,.js-start-split-word{
  font-family:Arian,sans-serif!important;
  font-variant-ligatures:none!important;
  font-kerning:normal!important
}
.h1,.h2{
  font-weight:700;
  line-height:1.18!important
}

/* Rotating hero titles: roomy leading so SplitText line masks don't shear glyph tops */
h1.h1.stack{
  font-size:3.4rem;
  line-height:1.14!important;
  overflow-wrap:normal!important;
  word-break:normal!important
}
@media(min-width:650px){
  h1.h1.stack{
    font-size:7rem;
    line-height:1.12!important
  }
}
/* Hide inactive rotating titles even if GSAP autoAlpha lags */
h1.h1.stack > .js-item{
  padding-left:.04em;
  overflow:hidden!important
}
h1.h1.stack > .js-item.is-leb-inactive{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important
}
h1.h1.stack .overflow-hidden{
  overflow:hidden!important;
  padding:0!important;
  min-height:1.14em
}

.eco-orb__label,.eco-modal__title{
  font-family:Arian,sans-serif!important;
  font-size:1.7rem;
  letter-spacing:.02em;
  font-weight:700!important
}

.eco-modal__link{display:none!important}
footer a[href^="http"],
footer a[aria-label="Instagram"],
footer a[aria-label="Linkedin"]{display:none!important}

/* Start screen: dark type on light marble, not white */
.start .h1,
.start .js-start-split-word,
.start .text-white,
.mobile-intro .text-white{
  color:#01012e!important
}
.js-start-split-word:empty{display:none!important}

/* Start headline: Arian is wider than scream — fit the two lines, sit right of the orb */
.start .h1,
.mobile-intro .h1{
  font-size:3.4rem!important;
  line-height:.92!important
}
.mobile-intro .h1.\!text-90,
.mobile-intro .h1{
  font-size:clamp(2.8rem,9vw,4.2rem)!important;
  white-space:normal!important;
  max-width:92vw!important;
  text-align:center!important;
  line-height:.92!important
}
@media(min-width:650px){
  .start .h1{
    position:fixed!important;
    top:50%!important;
    left:auto!important;
    right:3.5vw!important;
    transform:translateY(-50%)!important;
    font-size:min(5.8vw, 6.8rem)!important;
    line-height:.88!important;
    width:max-content!important;
    max-width:46vw!important;
    text-align:right!important;
    z-index:6!important;
    pointer-events:none!important
  }
  .start .h1 > .overflow-hidden{
    overflow:visible!important;
    min-width:0!important;
    width:max-content!important;
    margin-left:auto!important
  }
  .start .h1 > .overflow-hidden > .flex{
    justify-content:flex-end!important;
    flex-wrap:nowrap!important
  }
}

@keyframes lebIri{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* Preloader: 4x Font, same green iridescence as footer */
.z-\[9999\] .h-\[3\.5em\],
.js-logo .h-\[3\.5em\]{
  height:14rem!important;
  gap:0!important
}
@media(min-width:650px){
  .z-\[9999\] .h-\[3\.5em\],
  .js-logo .h-\[3\.5em\]{height:16rem!important}
}
img.leb-font-logo,
img.js-logo-l{
  display:block;
  box-sizing:border-box!important;
  width:48rem!important;
  height:12.8rem!important;
  max-width:none!important;
  max-height:none!important;
  padding:12.8rem 48rem 0 0!important;
  border:0!important;
  filter:none!important;
  background-image:var(--leb-iri);
  background-size:280% 100%;
  animation:lebIri 7s ease-in-out infinite;
  -webkit-mask:url(/brand/font.svg) center / contain no-repeat;
  mask:url(/brand/font.svg) center / contain no-repeat
}
@media(max-width:649px){
  /* Preloader: one centered wordmark, no edge bleed of sibling glyphs */
  .fixed.z-\[9999\],
  .fixed[class*="z-[9999]"]{
    overflow:hidden!important
  }
  .z-\[9999\] .flex.justify-center.w-full,
  .z-\[9999\] .h-\[3\.5em\]{
    overflow:hidden!important;
    justify-content:center!important;
    gap:0!important;
    max-width:100vw!important
  }
  .z-\[9999\] .h-\[3\.5em\] > *:not(:first-child){
    display:none!important
  }
  .z-\[9999\] .h-\[3\.5em\],
  .js-logo .h-\[3\.5em\]{height:6.5rem!important}
  img.leb-font-logo,
  img.js-logo-l{
    width:min(78vw,24rem)!important;
    height:6.2rem!important;
    padding:6.2rem min(78vw,24rem) 0 0!important;
    margin:0 auto!important
  }
}

/* Start screen: dark LeBroCro */
svg.js-start-logo{
  width:15.5rem!important;
  height:2.1rem!important;
  overflow:hidden;
  background:url(/brand/font-dark.svg) left center/contain no-repeat!important
}
svg.js-start-logo *{opacity:0!important;fill:none!important}
@media(min-width:650px){
  svg.js-start-logo{width:18.5rem!important;height:2.5rem!important}
}

/* Header: dark main logo (circle + wordmark) */
.js-sh-logo{
  position:relative;
  width:22rem;height:5.6rem;
  transition:width .4s cubic-bezier(.19,1,.22,1),height .4s cubic-bezier(.19,1,.22,1)
}
.js-sh-logo svg{opacity:0!important;visibility:hidden!important;pointer-events:none;width:0!important;height:0!important;overflow:hidden}
.js-sh-logo::before,.js-sh-logo::after{
  content:"";position:absolute;pointer-events:none;
  transition:opacity .35s ease
}
.js-sh-logo::before{
  inset:0;
  background:url(/brand/logo-main-light.svg) left center/contain no-repeat;
  filter:none
}
.js-sh-logo::after{
  left:0;top:50%;transform:translateY(-50%);
  width:4.4rem;height:4.4rem;
  background:url(/brand/icon.svg) center/contain no-repeat;
  opacity:0
}
.js-sh-logo:has(.menu-logo.hide){width:4.4rem;height:4.4rem}
.js-sh-logo:has(.menu-logo.hide)::before{opacity:0}
.js-sh-logo:has(.menu-logo.hide)::after{opacity:1}

/* Menu overlay brand mark — only the left logo button, not the close burger */
.js-mm-mask header button:not(.mm-toggle){
  position:relative;width:18rem;height:4.4rem;display:block
}
.js-mm-mask header button:not(.mm-toggle)>svg{opacity:0!important;visibility:hidden}
.js-mm-mask header button:not(.mm-toggle)::before{
  content:"";position:absolute;inset:0;
  background:url(/brand/font.svg) left center/contain no-repeat
}

/* Nav overlay: same vertical center as the CTA button */
@media(min-width:650px){
  header.js-sh .absolute.inset-0.pt-40{
    padding-top:0!important;
    padding-bottom:0!important
  }
  header.js-sh ul.s\:col-start-9{
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:2.2rem!important;
    min-height:6.8rem
  }
  header.js-sh ul.s\:col-start-9 > li{
    display:flex;
    align-items:center;
    height:100%
  }
  header.js-sh ul.s\:col-start-9 .eyebrow{
    display:flex;
    align-items:center;
    line-height:1!important
  }
}

/* Header nav: rem shrinks below 1920 — keep links readable */
@media(min-width:650px){
  header.js-sh ul.s\:col-start-9 .eyebrow,
  header.js-sh .leb-lang__btn,
  header.js-sh .sh-sound-toggle{
    font-size:13px!important;
    letter-spacing:.12em
  }
  header.js-sh .btn__label{
    font-size:14px!important
  }
}
/* Button label stack: clip hover twin without crushing label (1.15em was ~5px) */
.btn .stack{
  display:grid!important;
  overflow:hidden!important;
  line-height:1.2!important;
  font-size:14px!important;
  max-height:1.35em!important;
  min-height:1.2em!important
}
.btn .stack > *{grid-area:1/1}
.btn__label{line-height:1.2!important}
.btn__label:nth-child(2){transform:translateY(110%)!important}
@media(hover:hover) and (pointer:fine){
  .btn:hover .btn__label:nth-child(1){transform:translateY(-110%)!important}
  .btn:hover .btn__label:nth-child(2){transform:translateY(0)!important}
}

.leb-lang{
  position:relative;
  left:auto;right:auto;top:auto;transform:none;
  pointer-events:auto;z-index:21;margin:0;flex-shrink:0;
  display:flex;align-items:center
}
.leb-header-right{
  display:flex!important;
  align-items:center;
  flex-shrink:0;
  margin-left:auto;
  gap:0;
  z-index:22
}
.leb-header-right .leb-lang{
  position:relative;
  z-index:23
}
.leb-lang-li{
  margin-right:.85rem;
  flex-shrink:0
}
header.js-sh ul.s\:col-start-9{
  flex-wrap:nowrap;
  align-items:center;
  gap:.35rem
}
/* Leave room for header RU + Связаться — use px (site rem is tiny/fluid) */
@media(min-width:650px){
  header.js-sh .absolute.inset-0 .site-grid ul.s\:col-start-9,
  header.js-sh ul.flex.s\:col-start-9{
    padding-right:200px!important;
    box-sizing:border-box;
    justify-content:flex-end
  }
  header.js-sh .relative.px-23,
  header.js-sh .relative.s\:px-60{
    padding-right:max(1.5rem,36px)!important
  }
  .leb-header-right{
    margin-right:4px
  }
}
.leb-lang__btn{
  border:0;background:transparent;padding:0;cursor:pointer;
  font-family:Arian,sans-serif;font-size:.9rem;letter-spacing:.16em;
  text-transform:uppercase;color:currentColor;line-height:1
}
.leb-lang__btn span{border-bottom:.06em solid currentColor;padding-bottom:.14em}
.leb-lang__menu{
  position:absolute;top:calc(100% + .9rem);left:0;min-width:4.2rem;
  display:none;padding:.2rem 0;flex-direction:column;align-items:flex-start;gap:.45rem
}
.leb-lang.is-open .leb-lang__menu{display:flex}
.leb-lang__opt{
  border:0;background:transparent;padding:.15rem 0;cursor:pointer;
  font-family:Arian,sans-serif;font-size:.9rem;letter-spacing:.16em;
  text-transform:uppercase;color:currentColor;opacity:.4;text-align:left;line-height:1
}
.leb-lang__opt:hover,.leb-lang__opt.is-active{opacity:1}
.leb-lang--bar{
  position:absolute;
  left:auto;right:18rem;top:50%;transform:translateY(-50%)
}
.leb-lang--bar .leb-lang__menu{left:auto;right:0;align-items:flex-end}

/* Footer wordmark: same green wash, more transparent */
footer .relative.w-full.pt-35{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important
}
footer .media-contain{
  opacity:.38;
  background-image:var(--leb-iri);
  background-size:280% 100%;
  animation:lebIri 7s ease-in-out infinite;
  -webkit-mask:url(/brand/font.svg) center / 100% auto no-repeat;
  mask:url(/brand/font.svg) center / 100% auto no-repeat
}
footer .media-contain img,
footer .media-contain picture,
footer .media-contain > div{opacity:0!important}
footer .media-contain [class*="pt-"]{padding-top:18%!important}

@media(max-width:649px){
  .js-sh-logo{width:16rem;height:4rem}
  .js-sh-logo::after,.js-sh-logo:has(.menu-logo.hide){width:3.2rem;height:3.2rem}
  .js-mm-mask header button:not(.mm-toggle){width:14rem;height:3.4rem}
  footer .media-contain [class*="pt-"]{padding-top:22%!important}
}

/* Phone + tablet (matches JS small ≤900): compact UI + hamburger */
@media(max-width:900px){
  /* Keep line breaks — base CSS hides br and creates one oversized word */
  .h1 br,.h2 br{display:inline!important}
  .h1,.h2,article .h1,article h1,.text-90,.\!text-90,
  .js-mm-link,.font-disp.uppercase.text-90{
    font-size:clamp(30px,8.5vw,44px)!important;
    line-height:.94!important;
    white-space:normal!important;
    max-width:100%!important;
    overflow-wrap:anywhere
  }
  h1.h1.stack{
    font-size:clamp(28px,8vw,40px)!important;
    line-height:1.16!important;
    overflow-wrap:normal!important;
    word-break:normal!important
  }
  h1.h1.stack .overflow-hidden{min-height:1.2em}
  /* Always show full wordmark on phone/tablet — Nuxt .menu-logo.hide collapses too early */
  .js-sh-logo,
  .js-sh-logo:has(.menu-logo.hide){
    width:min(150px,42vw)!important;
    height:36px!important
  }
  .js-sh-logo:has(.menu-logo.hide)::before{opacity:1!important}
  .js-sh-logo:has(.menu-logo.hide)::after{opacity:0!important;width:0!important;height:0!important}
  .start .h1,.mobile-intro .h1,.mobile-intro .h1.\!text-90{
    font-size:clamp(26px,8vw,38px)!important;
    line-height:.94!important;
    white-space:normal!important;
    position:static!important;
    transform:none!important;
    max-width:100%!important;
    text-align:left!important;
    right:auto!important
  }
  .js-section-services h2.h1,.service-section h2.h1{
    font-size:clamp(32px,9vw,48px)!important;
    max-width:100%!important;
    line-height:.9!important
  }

  /* Header: logo | RU + stylish burger */
  header.js-sh .relative.px-23,
  header.js-sh .relative.s\:px-60{
    padding-top:16px!important;
    padding-bottom:12px!important;
    padding-left:max(16px,1.2rem)!important;
    padding-right:max(12px,1rem)!important
  }
  header.js-sh .flex.items-center.justify-between{
    gap:12px;
    align-items:center
  }
  .js-sh-logo{width:min(150px,42vw)!important;height:36px!important}
  .leb-header-mobile{
    display:flex!important;
    align-items:center;
    gap:12px;
    margin-left:auto;
    flex-shrink:0;
    z-index:24
  }
  .leb-header-right{display:none!important}
  header.js-sh ul.s\:col-start-9,
  header.js-sh .absolute.inset-0{display:none!important}
  .leb-lang--bar{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;
    transform:none!important
  }
  .leb-lang__btn{
    font-size:12px!important;
    letter-spacing:.14em
  }

  header.js-sh .mm-toggle.js-mm-toggle,
  header.js-sh button.mm-toggle{
    width:44px!important;
    height:44px!important;
    min-width:44px;
    min-height:44px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    opacity:1!important;
    visibility:visible!important;
    color:#01012e!important;
    pointer-events:auto!important;
    z-index:25;
    flex-shrink:0;
    border-radius:999px;
    transition:background-color .35s cubic-bezier(.19,1,.22,1),color .35s ease
  }
  header.js-sh .mm-toggle__content{
    width:22px!important;
    height:2px!important;
    position:relative;
    display:block!important;
    background:transparent!important
  }
  header.js-sh .mm-toggle__content::before,
  header.js-sh .mm-toggle__content::after{
    background-color:currentColor!important;
    content:""!important;
    height:2px!important;
    width:22px!important;
    left:0!important;
    top:0!important;
    border-radius:1px;
    transition:transform .55s cubic-bezier(.19,1,.22,1)!important
  }
  header.js-sh .mm-toggle__content::before{transform:translateY(-5px)!important}
  header.js-sh .mm-toggle__content::after{transform:translateY(5px)!important}
  header.js-sh .mm-toggle.is-active .mm-toggle__content::before{
    transform:translateY(0) rotate(45deg)!important
  }
  header.js-sh .mm-toggle.is-active .mm-toggle__content::after{
    transform:translateY(0) rotate(-45deg)!important
  }
  .js-mm-mask header .mm-toggle,
  aside .mm-toggle{
    width:44px!important;
    height:44px!important;
    opacity:1!important;
    color:#c4f7e6!important
  }
  .js-mm-mask .js-mm-link{
    font-size:clamp(32px,9vw,48px)!important;
    letter-spacing:-.01em
  }

  /* Section rhythm: kill huge desktop paddings on small screens */
  .how-section,
  .service-section,
  article .relative.bg-bg-red,
  article .relative.bg-bg-blue,
  article .relative.bg-bg-midnight{
    min-height:0!important;
    padding-top:2.5rem!important;
    padding-bottom:2.5rem!important
  }
  .how-section [class*="pb-150"],
  .how-section .item{
    padding-bottom:2rem!important;
    min-height:0!important
  }
  .how-section .absolute.top-30,
  .how-section .absolute[class*="top-"]{
    display:none!important;
    height:0!important;
    margin:0!important;
    width:0!important;
    overflow:hidden!important
  }
  .how-section .hww-card,
  .how-section .hww-card__content{
    min-height:0!important;
    height:auto!important;
    padding:1rem 0!important
  }
  .how-section .site-max.grid{
    gap:1.25rem!important
  }
  .how-section .relative.mt-75,
  .how-section .relative.s\:mt-250{
    margin-top:1.25rem!important
  }
  .site-max{
    padding-left:max(16px,1.2rem)!important;
    padding-right:max(16px,1.2rem)!important
  }
  /* Footer: signup full-width, then Sitemap | Location */
  footer{
    padding-bottom:0!important
  }
  footer .site-max.pt-30,
  footer .site-max.s\:pt-100{
    padding-top:1.75rem!important;
    padding-bottom:1.25rem!important
  }
  footer .site-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1.35rem 1.25rem!important;
    align-items:start
  }
  footer .site-grid > [class*="col-span"]{
    margin-top:0!important;
    grid-column:auto!important
  }
  footer .site-grid > [class*="col-span"]:first-child{
    grid-column:1 / -1!important
  }
  footer .site-grid > .leb-footer-loc{
    display:block!important;
    margin-top:0!important
  }
  footer .mt-25,footer .mt-45,footer .s\:mt-35,footer .s\:mt-100,footer .s\:mt-0{
    margin-top:.7rem!important
  }
  footer .leb-footer-loc .mt-25,
  footer .leb-footer-loc .mt-15,
  footer .leb-footer-loc h3.eyebrow{
    margin-top:0!important
  }
  footer .leb-footer-loc .mt-25{margin-top:.7rem!important}
  footer .leb-footer-loc .mt-15{margin-top:.4rem!important}
  footer .signup__input{
    height:48px!important;
    padding:0 3.2rem 0 1.1rem!important;
    font-size:14px!important
  }
  footer .signup button.absolute{
    padding-left:1rem!important;
    padding-right:1rem!important
  }
  footer ul.flex.flex-col{
    gap:.35rem!important;
    margin-top:.55rem!important
  }
  footer ul.flex.flex-col a{
    font-size:clamp(17px,4.8vw,22px)!important;
    line-height:1.2!important
  }
  footer .text-20{
    font-size:13px!important;
    line-height:1.35!important;
    margin-top:.35rem!important
  }
  footer p.mt-25,footer p.mt-15{
    margin-top:.4rem!important;
    font-size:13px!important
  }
  footer .site-max.flex.justify-between{
    flex-wrap:wrap;
    gap:.5rem 1rem;
    padding-top:.75rem!important;
    padding-bottom:.5rem!important;
    font-size:12px!important
  }
  footer .relative.w-full.pt-35,
  footer .relative.w-full.s\:pt-50{
    padding:0.65rem 0 0.85rem!important
  }
  footer .media-contain{
    opacity:.32;
    max-height:56px;
    overflow:hidden
  }
  footer .media-contain [class*="pt-"]{
    padding-top:14%!important
  }
  footer .site-grid > div:has(> h3.eyebrow):has(a[aria-label]):not(.leb-footer-loc){
    display:none!important
  }
}

/* Desktop: Location sits in the freed social column (right of Sitemap) */
@media(min-width:901px){
  footer .site-grid > .leb-footer-loc{
    display:block!important
  }
  footer .leb-footer-loc h3.eyebrow{
    margin-top:0!important
  }
  footer .leb-footer-loc .mt-25{margin-top:1.4rem!important}
  footer .leb-footer-loc .mt-15{margin-top:.75rem!important}
  footer .site-grid > div:has(> h3.eyebrow):has(a[aria-label]):not(.leb-footer-loc){
    display:none!important
  }
}

@media(min-width:650px) and (max-width:900px){
  .js-sh-logo{width:170px!important;height:40px!important}
  footer .site-grid{
    gap:1.25rem 1.5rem!important
  }
}

/* Desktop-only tablet band no longer used for nav — keep type tame if >900 */
@media(min-width:901px) and (max-width:1100px){
  .start .h1{
    font-size:min(5.2vw,5.2rem)!important;
    max-width:48vw!important;
    right:2.5vw!important
  }
  h1.h1.stack{
    font-size:clamp(3.6rem,6.2vw,6rem)!important
  }
  header.js-sh ul.s\:col-start-9{
    gap:1.4rem!important;
    padding-right:170px!important
  }
  header.js-sh ul.s\:col-start-9 .eyebrow,
  header.js-sh .leb-lang__btn{
    font-size:12px!important
  }
  .js-section-services h2.h1,.service-section h2.h1{
    font-size:clamp(4.8rem,7.5vw,8rem)!important;
    max-width:min(54vw,68rem)!important
  }
}


/* Services copy must sit above full-screen WebGL canvas */
.js-section-services .eco-services-wrap,
.js-section-services .site-max,
.service-section .site-max{
  position:relative;
  z-index:8
}
.js-section-services h1,
.js-section-services h2,
.service-section h1,
.service-section h2{
  position:relative;
  z-index:9
}

/* svc-title-room: desktop only — 9.2rem is too large on tablet */
@media(min-width:901px){
  .js-section-services h2.h1,
  .js-section-services h2.h1.s\:max-w-\[85rem\],
  .service-section h2.h1{
    max-width:min(50vw,72rem)!important;
    font-size:9.2rem!important;
    line-height:.88!important;
    z-index:9
  }
}

/* Tablet rem was ~4px (10*768/1920) — match phone/desktop ~10px rem */
@media(min-width:650px) and (max-width:900px){
  :root{--size:768!important}
}

/* === Mobile + tablet: keep scroll natural (Altermind model) === */
@media(max-width:900px){
  article .s\:h-full-screen.pt-105{
    background:transparent!important
  }
  /* Do NOT clamp 300vh sections to 100svh — kills document scrollHeight */
  .js-section-services h2.h1,.service-section h2.h1,
  .js-section-services h3.eyebrow{
    max-width:none!important
  }

  h1.h1.stack{
    font-size:clamp(28px,7.2vw,48px)!important;
    line-height:1.12!important;
    max-width:min(92vw,34rem)!important;
    min-height:2.6em!important;
    width:auto!important
  }
  h1.h1.stack > .js-item:not(.is-leb-inactive){
    opacity:1!important;
    visibility:visible!important
  }
  h1.h1.stack .overflow-hidden > * + *{
    margin-left:.22em
  }

  aside.fixed.bottom-30{
    z-index:30!important;
    max-width:min(360px,92vw)!important
  }
}

/* === Phone intro: light polish only — leave Nuxt Small structure alone === */
@media(max-width:649px){
  html.leb-webgl-ready:not(.leb-started) .mobile-intro,
  html.leb-webgl-ready:not(.leb-started) .fixed.flex.items-center.justify-center.inset-0.text-blue-midnight{
    cursor:pointer!important
  }
  .mobile-intro .h1{
    white-space:normal!important;
    max-width:92vw!important;
    text-align:center!important
  }
  html.leb-started .js-canvas-wrapper{
    pointer-events:none!important
  }
  article .h1,article h1.h1,article .eyebrow,article h3{
    color:#01012e!important
  }
}

/* Desktop: keep hero copy inside viewport */
@media(min-width:650px){
  .leb-desk-hero-safe{}
  article .h1, article h1.h1.stack{
    max-width:min(46vw,16.5em)!important;
    overflow-wrap:anywhere;
    word-break:normal
  }
  header.js-sh{overflow:visible!important}
  .js-t-mask,.js-canvas-wrapper{max-width:100vw;overflow:hidden}
}
