/* Boulder "logo-text" section, ported from wearebouldergroup.com (s-logo-text component).
   Their root font-size is a fixed 18px; this site's root is fluid, so every size is
   anchored to --blt-rem instead of bare rem units. */

.s-logo-text{--blt-rem:18px;position:relative;z-index:2;height:300lvh;clip-path:inset(-100lvh 0 0)}
.s-logo-text .s__inner{position:fixed;top:0;left:0;width:100%;height:100lvh;background-color:#4C00FF}
.s-logo-text .blt-container{--blt-offset:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;height:100%;margin-right:auto;margin-left:auto;width:calc(100% - var(--blt-offset)*2);max-width:calc(1920px - var(--blt-offset)*2)}
.s-logo-text .s__logo-wrapper{position:absolute;top:50%;left:0;width:100%;transform:translate3d(0,-50%,0)}
.s-logo-text .s__logo{display:block;margin:0 auto;width:100%;max-width:calc(80.66*var(--blt-rem));height:auto;will-change:transform}
.s-logo-text .s__ruler{--width:calc(30*var(--blt-rem));margin:calc(-8*var(--blt-rem)) 0 calc(8*var(--blt-rem));width:var(--width);height:calc(var(--width)*.3638);pointer-events:none}
.s-logo-text .s__text{margin:0 auto;width:100%;max-width:calc(39.444*var(--blt-rem));font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:400;text-align:center;color:#fff}
.s-logo-text .s__text p{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit}
.s-logo-text .s__text strong{font-weight:800}
.s-logo-text .s__text .blt-line{overflow:hidden}
.s-logo-text .s__text .blt-line-inner{will-change:transform}

@media only screen and (max-width:1680px){
.s-logo-text .blt-container{--blt-offset:80px}
.s-logo-text .s__ruler{--width:calc(24*var(--blt-rem));margin:calc(-5*var(--blt-rem)) 0 calc(5*var(--blt-rem))}
.s-logo-text .s__text{font-size:20px}
}
@media only screen and (max-width:987px){
.s-logo-text .blt-container{--blt-offset:50px}
.s-logo-text .s__text{max-width:calc(30*var(--blt-rem))}
}
@media only screen and (max-width:767px) and (orientation:landscape),only screen and (max-width:576px){
.s-logo-text{height:200lvh}
.s-logo-text .blt-container{--blt-offset:30px}
.s-logo-text .s__ruler{--width:calc(15*var(--blt-rem))}
}

/* --- Fodl wordmark: live HTML/GSAP rebuild of the logo-reveal (replaces the Boulder video).
   Shape/dot geometry derives from the reference render: o ink box = "stage" (246x251 units);
   dot d=45.5% of stage width, hole=dot, ring stroke 26.8%, resting gap 12% below the dot. */
.s-logo-text .s__logo--fodl{width:-moz-fit-content;width:fit-content;max-width:none;margin:0 auto;position:relative;font-family:Geist,sans-serif;color:#fff;font-size:calc(23*var(--blt-rem));text-align:left;padding:.115em 0 .35em}
.s-logo-text .fodl-word{font-size:1em;font-weight:900;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.s-logo-text .fodl-slot{position:relative;display:inline-block;line-height:1}
.s-logo-text .fodl-o{display:inline-block;line-height:1;visibility:hidden}
.s-logo-text .fodl-stage{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.s-logo-text .fodl-shape,.s-logo-text .fodl-mark{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;display:block}
.s-logo-text .fodl-shape{visibility:hidden}
.s-logo-text .fodl-dot{position:absolute;left:27.25%;bottom:112%;width:45.5%;aspect-ratio:1/1;border-radius:50%;background:currentColor}
.s-logo-text .fodl-sub{position:absolute;left:0;bottom:0;width:100%;font-size:.345em;font-weight:500;line-height:.92;white-space:nowrap}
.s-logo-text .fodl-sub-base{display:inline-block}
.s-logo-text .fodl-sub-hl{position:absolute;display:inline-block;left:-.06em;top:0;padding:0 0 .04em .06em;color:#000;background:#fff;clip-path:inset(0 100% 0 0)}
.s-logo-text .fodl-sub-hl span:last-child{letter-spacing:0}
/* Fodl lockup is much narrower than the Boulder video; ruler width scaled to keep the same
   shrink factor. Ruler height is set at runtime to match the lockup's aspect ratio. */
.s-logo-text .s__ruler{--width:calc(18.6*var(--blt-rem))}
@media only screen and (max-width:1680px){
.s-logo-text .s__ruler{--width:calc(14.9*var(--blt-rem))}
}
@media only screen and (max-width:767px) and (orientation:landscape),only screen and (max-width:576px){
.s-logo-text .s__ruler{--width:calc(9.3*var(--blt-rem))}
}
