.scroll-scrub{--ss-progress: 0;position:relative;isolation:isolate;color:var(--ss-ink);background:var(--ss-bg)}.scroll-scrub__stage{position:sticky;top:0;z-index:0;width:100%;height:100dvh;overflow:hidden;background:var(--ss-bg)}.scroll-scrub__media,.scroll-scrub__layer,.scroll-scrub__picture,.scroll-scrub__poster,.scroll-scrub__video{position:absolute;inset:0;width:100%;height:100%}.scroll-scrub__media{z-index:0}.scroll-scrub__layer{margin:0;overflow:hidden;opacity:0;will-change:opacity}.scroll-scrub__layer:first-child{opacity:1}.scroll-scrub__poster,.scroll-scrub__video{display:block;object-fit:cover;object-position:var(--ss-object-position)}.scroll-scrub__poster{z-index:0}.scroll-scrub__video{z-index:1}.scroll-scrub__layer[data-video-painted=true] .scroll-scrub__poster{visibility:hidden}.scroll-scrub__progress{position:absolute;z-index:5;top:0;right:0;left:0;height:2px;background:color-mix(in srgb,var(--ss-ink) 14%,transparent);pointer-events:none}.scroll-scrub__progress span{display:block;width:100%;height:100%;background:var(--ss-accent);transform:scaleX(var(--ss-progress));transform-origin:left center}.scroll-scrub__route{position:absolute;z-index:6;top:clamp(1rem,3vw,2rem);right:clamp(1rem,4vw,4rem);left:clamp(1rem,4vw,4rem);display:flex;justify-content:flex-end;gap:.25rem;pointer-events:auto}.scroll-scrub__route-button{min-height:2.75rem;padding:.65rem .9rem;border:0;color:var(--ss-muted);background:transparent;font:inherit;cursor:pointer}.scroll-scrub__route-button:hover,.scroll-scrub__route-button[aria-current=step]{color:var(--ss-ink)}.scroll-scrub__route-button[aria-current=step]{text-decoration:underline;text-decoration-color:var(--ss-accent);text-decoration-thickness:.15em;text-underline-offset:.3em}.scroll-scrub__route-button:focus-visible{outline:2px solid var(--ss-accent);outline-offset:3px}.scroll-scrub__story{position:relative;z-index:3;margin-top:-100dvh;pointer-events:none}.scroll-scrub__chapter,.scroll-scrub__connector-band{position:relative}.scroll-scrub__chapter-pin{position:sticky;top:0;display:flex;align-items:center;min-height:100dvh;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,6vw,6rem);pointer-events:none}.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{justify-content:flex-end}.scroll-scrub__copy{position:relative;width:min(40rem,48vw);pointer-events:auto}.scroll-scrub__copy:before{position:absolute;z-index:-1;inset:-3rem -5rem;content:"";background:radial-gradient(ellipse at center,color-mix(in srgb,var(--ss-bg) 88%,transparent) 0%,color-mix(in srgb,var(--ss-bg) 58%,transparent) 52%,transparent 76%);pointer-events:none}.scroll-scrub__kicker{max-width:30ch;margin:0 0 1rem;color:var(--ss-accent);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.scroll-scrub__title{max-width:13ch;margin:0;color:var(--ss-ink);font:inherit;font-size:clamp(2.75rem,6vw,6.75rem);font-weight:700;line-height:.94;letter-spacing:-.045em;text-wrap:balance}.scroll-scrub__body{max-width:42ch;margin:1.5rem 0 0;color:var(--ss-muted);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.scroll-scrub__tags{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none}.scroll-scrub__tags li{padding:.45rem .7rem;border:1px solid color-mix(in srgb,var(--ss-ink) 20%,transparent);color:var(--ss-ink);font-size:.82rem}.scroll-scrub__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}@media(max-width:860px){.scroll-scrub__poster,.scroll-scrub__video{object-position:var(--ss-mobile-position)}.scroll-scrub__route{right:max(.75rem,env(safe-area-inset-right));left:max(.75rem,env(safe-area-inset-left));justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.scroll-scrub__route-button{flex:0 0 auto}.scroll-scrub__chapter-pin,.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{align-items:flex-end;justify-content:flex-start;padding:6.5rem max(1.25rem,env(safe-area-inset-right)) calc(4rem + env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}.scroll-scrub__copy{width:min(100%,36rem)}.scroll-scrub__copy:before{inset:-3rem -2rem;background:linear-gradient(to top,var(--ss-bg) 0%,color-mix(in srgb,var(--ss-bg) 82%,transparent) 58%,transparent 100%)}.scroll-scrub__title{max-width:14ch;font-size:clamp(2.3rem,11vw,4.5rem)}}@media(prefers-reduced-motion:reduce){.scroll-scrub__chapter{min-height:100dvh!important}.scroll-scrub__connector-band{display:none}.scroll-scrub__progress span{transition:none}}
/* Adjustable video casting, independent of the site's light/dark preference. */
.mountain-hero .scroll-scrub__media:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--hero-casting);opacity:var(--hero-casting-opacity,1)}
.mountain-hero{--hero-casting:linear-gradient(90deg,#00202578,#0024280d 80%),linear-gradient(0deg,rgba(0,34,38,.72),transparent 50%,rgba(0,34,38,.18))}
html[data-hero-casting=soft] .mountain-hero{--hero-casting:linear-gradient(90deg,#003b405e,#003b4010 85%),linear-gradient(0deg,#002e3266,transparent 65%)}
html[data-hero-casting=slate] .mountain-hero{--hero-casting:linear-gradient(90deg,#172c4e99,#24395126 85%),linear-gradient(0deg,#10213588,transparent 70%)}
html[data-hero-casting=warm] .mountain-hero{--hero-casting:linear-gradient(90deg,#46322685,#86664026 85%),linear-gradient(0deg,#30241880,transparent 70%)}
html[data-hero-casting=neutral] .mountain-hero{--hero-casting:linear-gradient(90deg,#10141699,#1014161a 85%),linear-gradient(0deg,#10141699,transparent 70%)}
.hero-casting-controls{position:fixed;right:24px;bottom:88px;z-index:44;width:290px;max-width:calc(100vw - 32px);border:1px solid rgb(var(--lmg-gold-rgb) / 0.3333);border-radius:16px;background:#00282cf2;color:#f3f6f4;box-shadow:0 8px 32px #001b1e33;backdrop-filter:blur(16px);font-family:var(--lmg-body);font-size:13px;color-scheme:dark}
.hero-casting-controls[hidden]{display:none}
.hero-casting-controls summary{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-weight:600;list-style:none}
.hero-casting-controls summary::-webkit-details-marker{display:none}
.hero-casting-controls:not([open]) summary>span{transform:rotate(180deg)}
.casting-settings{padding:0 18px 18px;border-top:1px solid rgb(var(--lmg-gold-rgb) / 0.149)}
.casting-settings>label{display:block;margin:18px 0 9px;color:#c2d1cf}
.casting-style-row{display:flex;gap:8px}
.casting-style-row select{flex:1;min-width:0;width:100%;background:#073e40;color:#f3f6f4;border:1px solid rgb(var(--lmg-gold-rgb) / 0.4);border-radius:6px;padding:10px;font:inherit}
.casting-next{width:44px;min-height:44px;border:1px solid rgb(var(--lmg-gold-rgb) / 0.4);border-radius:6px;background:#073e40;color:#f3f6f4;font-size:22px;cursor:pointer}
.casting-opacity-label{display:flex;justify-content:space-between;align-items:center;margin:22px 0 4px;color:#c2d1cf}
.casting-opacity-label output{font-variant-numeric:tabular-nums;color:#f3f6f4}
.casting-settings input[type=range]{display:block;width:100%;height:36px;margin:0;accent-color:var(--lmg-gold);cursor:pointer;touch-action:pan-y}
.casting-reset{display:block;margin-top:6px;min-height:36px;padding:5px 0;background:none;border:0;color:var(--lmg-gold);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.hero-casting-controls :focus-visible{outline:2px solid var(--lmg-gold);outline-offset:4px}
@media(max-width:767px){
 .mountain-hero{--hero-casting:linear-gradient(90deg,#00202580,#0020251f),linear-gradient(0deg,rgba(0,34,38,.8),transparent 85%)}
 .hero-casting-controls{right:16px;bottom:76px;width:270px}
}

/* New homepage photography and a brighter sky behind the closing invitation. */
.lmg-site:has(.mountain-hero) .intro-image img{object-position:38% 50%}
.lmg-site:has(.mountain-hero) .approach-image img{object-position:50% 42%}
.lmg-site:has(.mountain-hero) .contact-scrim{background:linear-gradient(180deg,#fff8eacc,#fff7e95c 42%,#fff7e900 88%)}

/* Casting controls are temporarily hidden; presets and saved settings remain active. */
.hero-casting-controls{display:none!important}

/* Expose more of the animated cloud layer in the AI background video. */
.lmg-site:has(.mountain-hero) video.visibility-image{object-position:50% 10%}
@media(max-width:767px){.lmg-site:has(.mountain-hero) video.visibility-image{object-position:65% 10%}}

/* Full white body copy over the AI background video. */
.visibility-copy>p:not(.eyebrow){color:#fff}

/* Silent photo loops share the original crop and scroll movement. */
.photo-motion{position:absolute;inset:0;transform-origin:center}
.photo-motion>img,.photo-motion__video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.photo-motion__video{opacity:0;pointer-events:none;transition:opacity .45s ease}
.photo-motion.is-playing>.photo-motion__video{opacity:1}
.intro-image .photo-motion__video{object-position:38% 50%}
.approach-image .photo-motion__video{object-position:50% 42%}
@media(prefers-reduced-motion:reduce){.photo-motion__video{display:none!important}}

/* Decorative script: soft behind the composition, full gold over the photograph. */
.intro-section{padding-top:clamp(170px,15vw,260px);scroll-margin-top:110px}
.intro-bottom{position:relative;isolation:isolate}
.intro-copy{position:relative;z-index:4}
.intro-image-shell{position:relative;z-index:1;aspect-ratio:.92;min-width:0}
.intro-image-shell>.intro-image{position:absolute;inset:0 auto 0 0;width:calc(100% + var(--photo-expansion,0px));height:100%;aspect-ratio:auto}
.script-word{position:absolute;pointer-events:none;user-select:none;left:20%;top:clamp(-230px,-13vw,-135px);width:82%;height:clamp(285px,29vw,460px);overflow:visible;color:var(--lmg-gold,#c88a3d);transform:rotate(-9deg);transform-origin:center;z-index:0;opacity:.18}
.script-photo-layer{position:absolute;inset:0;z-index:3;pointer-events:none;clip-path:var(--photo-window,inset(100%));overflow:visible}
.script-word--front{opacity:1}
.script-word__pen{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.is-drawing .script-word__pen{animation:script-pen var(--stroke-duration) linear var(--stroke-delay) forwards}
@keyframes script-pen{from{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:0;opacity:1}}
.script-word__reveal{transform:translateX(var(--reveal-start))}
.is-drawing .script-word__reveal{animation:script-reveal var(--reveal-duration) linear both}
@keyframes script-reveal{from{transform:translateX(var(--reveal-start))}to{transform:translateX(var(--reveal-end))}}
.approach-section{isolation:isolate;padding-top:240px;scroll-margin-top:110px}
.approach-image{z-index:1}
.approach-image-shell{position:relative;z-index:1;aspect-ratio:.92;min-width:0}
.approach-image-shell>.approach-image{position:absolute;inset:0 0 0 auto;width:calc(100% + var(--photo-expansion,0px));height:100%;aspect-ratio:auto;max-height:none}
.approach-copy{position:relative;z-index:4}
.approach-section .script-word{left:-5%;top:18px;width:90%;height:clamp(260px,28vw,440px);bottom:auto}
@media(min-width:768px){.intro-bottom .script-word{left:34%;top:clamp(-180px,-10vw,-120px);width:70%;height:clamp(220px,20vw,320px)}}
@media(max-width:767px){
  .intro-section{padding-top:85px;padding-bottom:105px}
  .intro-bottom{row-gap:90px}
  .intro-image-shell{aspect-ratio:16/10}
  .script-word{left:2%;top:auto;bottom:clamp(70px,22vw,155px);width:98%;height:clamp(210px,56vw,360px)}
  .approach-section{padding-top:145px}
  .approach-image-shell{aspect-ratio:1.2;max-height:450px}
  .approach-section .script-word{left:-2%;top:30px;width:104%;height:clamp(150px,40vw,260px)}
}
@media(prefers-reduced-motion:reduce){.script-word__pen,.is-drawing .script-word__pen{animation:none;stroke-dashoffset:0;opacity:1}.script-word__reveal,.is-drawing .script-word__reveal{animation:none;transform:translateX(var(--reveal-end))}}

.photo-motion__toggle{display:none!important}

/* Homepage client headline and three continuous logo rows. */
.clients-section--home .clients-inner>h2{font-size:20px}
.clients-section--home .client-track{--client-gap:34px;gap:var(--client-gap);padding-right:var(--client-gap)}
@media(max-width:1024px){.clients-section--home .client-track{--client-gap:24px}}
@media(max-width:767px){.clients-section--home .clients-inner>h2{font-size:18px}.clients-section--home .client-track{--client-gap:14px}}
