/* Main home-page version: the first screen stays intact; the following scene lives on its right half. */

.v2-loader{position:fixed;z-index:10001;inset:0;overflow:hidden;background:var(--ink);isolation:isolate}
.v2-loader__tiles{position:absolute;z-index:0;inset:0;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));overflow:visible}
.v2-loader__tile{display:block;background:var(--ink);transform:none;backface-visibility:hidden;transition:transform 1.05s cubic-bezier(.65,0,.25,1);transition-delay:var(--tile-delay,0ms)}
.v2-loader.is-leaving{background:transparent}
.v2-loader.is-leaving .v2-loader__tile{transform:translate3d(-110vw,0,0)}
.v2-loader__mark{position:absolute;z-index:1;top:50%;left:50%;width:clamp(110px,11vw,164px);aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 9px rgba(232,226,218,.14))}
.v2-loader__mark svg{display:block;width:100%;height:100%;overflow:visible}
.v2-loader__stroke{fill:none;stroke:var(--paper);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:v2LogoDraw 1.25s cubic-bezier(.22,1,.36,1) forwards}
.v2-loader__stroke--top-left{animation-delay:.12s}
.v2-loader__stroke--top-right{animation-delay:.34s}
.v2-loader__stroke--bottom-left{animation-delay:.56s}
.v2-loader__stroke--bottom-right{animation-delay:.78s}
.v2-loader__stroke--axis-top{animation-delay:1.08s}
.v2-loader__stroke--axis-right{animation-delay:1.28s}
.v2-loader__stroke--axis-bottom{animation-delay:1.48s}
.v2-loader__stroke--axis-left{animation-delay:1.68s}
.v2-loader__center{fill:var(--paper);opacity:0;animation:v2LogoCenter .45s cubic-bezier(.22,1,.36,1) 1.88s forwards}
@keyframes v2LogoDraw{0%{opacity:.18;stroke-dashoffset:1}100%{opacity:1;stroke-dashoffset:0}}
@keyframes v2LogoCenter{from{opacity:0;transform:scale(.2);transform-origin:30.25px 30.45px}to{opacity:1;transform:scale(1);transform-origin:30.25px 30.45px}}
.v2-loader.is-leaving .v2-loader__mark{opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity .32s ease,transform .32s ease}

@media(max-width:800px){
  .v2-loader__tiles{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr))}
}

/* Burger navigation: the footer-inspired travelling underline replaces the fill. */
.home--variant-2 .mobile-nav>a::before{display:none!important}
.home--variant-2 .mobile-nav>a::after{top:auto!important;right:var(--nav-gutter)!important;bottom:10px!important;left:var(--nav-gutter)!important;z-index:1!important;height:1px!important;background:currentColor!important;clip-path:none!important;opacity:.82!important;transform:translateX(-105%) rotate(.001deg)!important;transition:none!important}
.home--variant-2 .mobile-nav>a:hover,.home--variant-2 .mobile-nav>a:focus-visible{padding-left:calc(var(--nav-gutter) + 8px)!important;background:transparent!important;color:var(--paper)!important}
.home--variant-2 .mobile-nav>a:hover span,.home--variant-2 .mobile-nav>a:focus-visible span{color:var(--paper)!important;transform:translateX(-4px)}
@keyframes v2MenuLineIn{from{transform:translateX(-105%) rotate(.001deg)}to{transform:translateX(0) rotate(.001deg)}}
@keyframes v2MenuLineOut{from{transform:translateX(0) rotate(.001deg)}to{transform:translateX(105%) rotate(.001deg)}}
@media(hover:hover){
  .home--variant-2 .mobile-nav>a:not(:hover)::after{animation:v2MenuLineOut .6s cubic-bezier(.16,1,.3,1) forwards}
  .home--variant-2 .mobile-nav>a:hover::after{animation:v2MenuLineIn .6s cubic-bezier(.16,1,.3,1) forwards}
}
.home--variant-2 .mobile-nav>a:focus-visible::after{animation:v2MenuLineIn .6s cubic-bezier(.16,1,.3,1) forwards}

@media(max-width:800px){
  .home--variant-2 .mobile-nav{opacity:0;visibility:hidden;transform:translate3d(-104%,0,0);box-shadow:18px 0 44px rgba(3,21,17,.22);transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .42s ease,visibility 0s linear .72s}
  .home--variant-2 .mobile-nav.open{opacity:1;visibility:visible;transform:translate3d(0,0,0);transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .42s ease,visibility 0s}
  .home--variant-2 .mobile-nav>a{transition:opacity .46s ease,transform .62s cubic-bezier(.16,1,.3,1),color .3s ease,padding-left .38s var(--ease)}
}

/* Partner carousel: the centered mark takes focus without a light card fill. */
.home--variant-2 .home-reputation__heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.home--variant-2 .home-reputation__controls{position:relative;display:flex;gap:0;flex:0 0 auto;padding:3px;border:1px solid rgba(8,34,29,.28);border-radius:999px;background:transparent;box-shadow:none}
.home--variant-2 .home-reputation__controls::before{position:absolute;top:8px;bottom:8px;left:50%;width:1px;content:"";background:rgba(8,34,29,.22)}
.home--variant-2 .home-reputation__control{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font:400 20px/1 var(--sans);cursor:pointer;transition:background-color .28s var(--ease),transform .28s var(--ease)}
.home--variant-2 .home-reputation__control:hover,.home--variant-2 .home-reputation__control:focus-visible{background:rgba(8,34,29,.09);box-shadow:none}
.home--variant-2 .home-reputation__control[data-reputation-direction="-1"]:hover,.home--variant-2 .home-reputation__control[data-reputation-direction="-1"]:focus-visible{transform:translateX(-2px)}
.home--variant-2 .home-reputation__control[data-reputation-direction="1"]:hover,.home--variant-2 .home-reputation__control[data-reputation-direction="1"]:focus-visible{transform:translateX(2px)}
.home--variant-2 .home-reputation__viewport{padding-block:24px;margin-block:-24px;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;cursor:grab}
.home--variant-2 .home-reputation__viewport::-webkit-scrollbar{display:none}
.home--variant-2 .home-reputation__viewport.is-dragging{cursor:grabbing;scroll-behavior:auto}
.home--variant-2 .home-reputation__track{display:flex;width:max-content;min-width:100%;animation:none}
.home--variant-2 .home-reputation__group{display:flex;align-items:center;gap:clamp(12px,1.8vw,26px);padding-right:clamp(12px,1.8vw,26px)}
.home--variant-2 .home-reputation__group[aria-hidden="true"]{display:flex;pointer-events:none}
.home--variant-2 .home-reputation__item,.home--variant-2 .home-reputation__photo{position:relative;isolation:isolate;scroll-snap-align:center;opacity:.52;filter:none;transform:scale(.68);transform-origin:center;transition:transform .72s var(--ease),opacity .52s var(--ease)}
.home--variant-2 .home-reputation__item{transform:scale(.76)}
.home--variant-2 .home-reputation__item{display:block;box-sizing:border-box;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;line-height:0}
.home--variant-2 .home-reputation__item img{position:absolute;z-index:1;inset:2px 0 0;width:100%;height:calc(100% - 2px);max-width:none;max-height:none;object-fit:contain;object-position:center 58%}
.home--variant-2 .home-reputation__photo{display:grid;place-items:center;box-sizing:border-box;padding:0;overflow:hidden;border:1px solid rgba(8,34,29,.18);border-radius:50%;background:#f4f1ea;box-shadow:none}
.home--variant-2 .home-reputation__photo img{position:relative;z-index:1;box-sizing:border-box;width:100%;height:100%;padding:10px 8px 16px;border-radius:50%;object-fit:contain;object-position:center;filter:none;opacity:1;transform:none!important;transition:none}
.home--variant-2 .home-reputation__item::before,.home--variant-2 .home-reputation__item::after{display:none}
.home--variant-2 .home-reputation__item .home-reputation__mono{opacity:1;transition:opacity .3s var(--ease)}
.home--variant-2 .home-reputation__item .home-reputation__real{opacity:0;filter:none;transition:opacity .3s var(--ease)}
.home--variant-2 .home-reputation__item.is-active,.home--variant-2 .home-reputation__photo.is-active{opacity:1;filter:none;box-shadow:none}
.home--variant-2 .home-reputation__item.is-active{transform:scale(1.08)}
.home--variant-2 .home-reputation__photo.is-active{transform:scale(1.08)}
.home--variant-2 .home-reputation__item.is-active .home-reputation__mono{opacity:0}
.home--variant-2 .home-reputation__item.is-active .home-reputation__real{opacity:1;filter:none}
.home--variant-2 .home-reputation__item:hover .home-reputation__mono,.home--variant-2 .home-reputation__item:focus-visible .home-reputation__mono{opacity:0}
.home--variant-2 .home-reputation__item:hover .home-reputation__real,.home--variant-2 .home-reputation__item:focus-visible .home-reputation__real{opacity:1}
.home--variant-2 .home-reputation__photo-name{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding:12px;border-radius:50%;background:rgba(8,34,29,.76);color:var(--paper);font:500 clamp(10px,1vw,14px)/1.2 var(--sans);letter-spacing:0;text-align:center;opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}
.home--variant-2 .home-reputation__photo:hover,.home--variant-2 .home-reputation__photo:focus-visible{opacity:1}
.home--variant-2 .home-reputation__photo:hover .home-reputation__photo-name,.home--variant-2 .home-reputation__photo:focus-visible .home-reputation__photo-name{opacity:1}
.home--variant-2 .home-contact{background:var(--paper);color:var(--ink)}
.home--variant-2 .home-contact::before{display:none}
.home--variant-2 .home-contact__main::before{background:rgba(8,34,29,.18)}
.home--variant-2 .home-contact__main::after{background:var(--ink);box-shadow:none}
.home--variant-2 .home-contact__details span{color:var(--ink);opacity:.58}
.home--variant-2 .home-contact__details a{color:var(--ink)}

@media(min-width:801px){
  .home--variant-2 .horizontal-stage{height:calc(100svh + 360vw);background:var(--ink)}
  .home--variant-2 .horizontal-stage__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
  .home--variant-2 .horizontal-track{position:relative;display:block;width:100vw!important;height:100%;transform:none!important}
  .home--variant-2 .horizontal-track>.home-hero{position:absolute;z-index:1;top:0;left:0;width:100vw;height:100svh;min-height:0}

  .home--variant-2 .horizontal-track>.practices-intro{position:absolute;z-index:4;top:0;left:50vw;width:50vw;height:100svh;min-height:0;padding:0;overflow:hidden;transform:translate3d(50vw,0,0);will-change:transform}
  .home--variant-2 .practices-intro__content{position:relative;display:block;height:100%;margin:0}
  .home--variant-2 .practices-intro__heading{position:absolute;top:clamp(90px,13vh,152px);right:clamp(28px,4.5vw,80px);left:clamp(28px,4.5vw,80px);display:block;width:auto;opacity:1;transform:none;transition:none}
  .home--variant-2 .practices-intro h2{margin:0;font:500 clamp(56px,6.2vw,104px)/.86 var(--sans);letter-spacing:0}
  .home--variant-2 .practices-intro__rule,.home--variant-2 .practices-intro__corner{display:none}
  .home--variant-2 .practices-intro__copy{position:absolute;right:clamp(28px,4.5vw,80px);bottom:clamp(58px,10vh,130px);left:clamp(28px,4.5vw,80px);max-width:none;opacity:1;transform:none;transition:none}
  .home--variant-2 .practices-intro__copy>p:not(.practices-intro__lead){max-width:29ch;margin:0;font-size:clamp(15px,1.45vw,21px);line-height:1.45}

  .home--variant-2 .horizontal-track>.practice-panels{position:absolute;z-index:7;top:40svh;left:50vw;display:block;width:50vw;height:60svh;overflow:visible;background:transparent;pointer-events:none}
  .home--variant-2 .horizontal-track>.practice-panels>.practice-panel{position:absolute;top:0;left:0;display:block;width:50vw;min-width:50vw;height:60svh;min-height:0;overflow:hidden;pointer-events:none;transform:translate3d(50vw,0,0);will-change:transform;transition:none}
  .home--variant-2 .practice-panel.is-entered{pointer-events:auto}
  .home--variant-2 .practice-panel__content{right:clamp(18px,2vw,34px);bottom:158px;left:clamp(18px,2vw,34px)}
  .home--variant-2 .practice-panel h3{font-size:clamp(28px,3.2vw,50px);line-height:.94;letter-spacing:0}
  .home--variant-2 .practice-panel__content>p{display:block;margin-bottom:12px;font-size:7px}
  .home--variant-2 .practice-panel__description{max-width:41ch;margin-top:16px;font-size:clamp(12px,1.15vw,16px);line-height:1.5}
  .home--variant-2 .practice-panel__arrow{right:clamp(15px,1.4vw,24px);bottom:158px;width:27px;height:27px;font-size:13px}
  .home--variant-2 .practice-panel::before{opacity:.82;filter:saturate(.35)}
  .home--variant-2 .practice-panel::after{opacity:1;background:rgba(8,34,29,.58)}

  .home--variant-2 .horizontal-track>.home-contact{position:absolute;z-index:12;top:0;left:50vw;display:flex;width:50vw;height:100svh;min-height:0;padding:clamp(84px,10vh,128px) clamp(28px,4.5vw,80px) clamp(38px,5vh,64px);overflow:hidden;background:var(--paper);color:var(--ink);justify-content:space-between;transform:translate3d(50vw,0,0);will-change:transform}
  .home--variant-2 .home-contact::before{display:none}
  .home--variant-2 .home-reputation{width:auto;margin:0;padding:0;border:0}
  .home--variant-2 .home-reputation__heading{padding:0}
  .home--variant-2 .home-reputation__heading h2{font-size:clamp(34px,3.5vw,56px);font-weight:400}
  .home--variant-2 .home-reputation__viewport{width:calc(100% + clamp(56px,9vw,160px));margin-top:clamp(20px,3vh,38px);margin-left:clamp(-80px,-4.5vw,-28px)}
  .home--variant-2 .home-reputation__item{transform:scale(.72)}
  .home--variant-2 .home-reputation__photo{transform:scale(.58)}
  .home--variant-2 .home-reputation__item{width:320px;height:184px;flex-basis:320px}
  .home--variant-2 .home-reputation__photo{width:212px;height:212px;flex-basis:212px}
  .home--variant-2 .home-contact__main{display:block;margin-top:auto;margin-bottom:calc(158px - clamp(38px,5vh,64px));padding-top:clamp(20px,3vh,34px)}
  .home--variant-2 .home-contact h2{font-size:clamp(44px,4.4vw,68px);font-weight:400}
  .home--variant-2 .home-contact__details{gap:18px;padding-top:28px}
  .home--variant-2 .home-contact__details a{font-size:clamp(15px,1.35vw,20px)}
  .home--variant-2 .home-contact__main::after{animation:none}

}

@media(min-width:1100px) and (max-width:1279px){
  .home--variant-2 .home-reputation__item{transform:scale(.68)}
  .home--variant-2 .home-reputation__photo{transform:scale(.54)}
  .home--variant-2 .home-reputation__item{width:286px;height:170px;flex-basis:286px}
  .home--variant-2 .home-reputation__photo{width:195px;height:195px;flex-basis:195px}
}

@media(min-width:801px) and (max-width:1099px){
  .home--variant-2 .home-reputation__item{transform:scale(.64)}
  .home--variant-2 .home-reputation__photo{transform:scale(.5)}
  .home--variant-2 .home-reputation__item{width:250px;height:150px;flex-basis:250px}
  .home--variant-2 .home-reputation__photo{width:170px;height:170px;flex-basis:170px}
}

/* Practice cards stay steady on hover; movement is reserved for the scroll choreography. */
.home--variant-2 .practice-panel:hover,
.home--variant-2 .practice-panel:focus-within{background-color:var(--ink)!important;color:var(--paper)!important}
.home--variant-2 .practice-panel:hover::before,
.home--variant-2 .practice-panel:focus-within::before{opacity:.82!important;filter:saturate(.35)!important;transform:scale(1.02)!important}
.home--variant-2 .practice-panel:hover::after,
.home--variant-2 .practice-panel:focus-within::after{opacity:1!important}
.home--variant-2 .practice-panel:hover .practice-panel__content,
.home--variant-2 .practice-panel:focus-within .practice-panel__content,
.home--variant-2 .practice-panel:hover .practice-panel__description,
.home--variant-2 .practice-panel:focus-within .practice-panel__description{color:var(--paper)!important}
.home--variant-2 .practice-panel:hover .practice-panel__cross,
.home--variant-2 .practice-panel:focus-within .practice-panel__cross,
.home--variant-2 .practice-panel:hover .practice-panel__arrow,
.home--variant-2 .practice-panel:focus-within .practice-panel__arrow{transform:none!important;background:transparent!important;color:inherit!important}

/* One calm enlargement per stop keeps every logo and portrait legible. */
.home--variant-2 .home-reputation__item{--reputation-rest-scale:.76;--reputation-active-scale:.9;transform:scale(var(--reputation-rest-scale));will-change:transform,opacity;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .42s var(--ease)}
.home--variant-2 .home-reputation__photo{--reputation-rest-scale:.68;--reputation-active-scale:.81;transform:scale(var(--reputation-rest-scale));will-change:transform,opacity;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .42s var(--ease)}
.home--variant-2 .home-reputation__item.is-active{transform:scale(var(--reputation-active-scale))}
.home--variant-2 .home-reputation__photo.is-active{transform:scale(var(--reputation-active-scale))}

@media(min-width:1280px){
  .home--variant-2 .home-reputation__item{--reputation-rest-scale:.72;--reputation-active-scale:.84}
  .home--variant-2 .home-reputation__photo{--reputation-rest-scale:.58;--reputation-active-scale:.68}
}
@media(min-width:1100px) and (max-width:1279px){
  .home--variant-2 .home-reputation__item{--reputation-rest-scale:.68;--reputation-active-scale:.8}
  .home--variant-2 .home-reputation__photo{--reputation-rest-scale:.54;--reputation-active-scale:.64}
}
@media(min-width:801px) and (max-width:1099px){
  .home--variant-2 .home-reputation__item{--reputation-rest-scale:.64;--reputation-active-scale:.76}
  .home--variant-2 .home-reputation__photo{--reputation-rest-scale:.5;--reputation-active-scale:.6}
}

/* The menu is a deliberate left-hand reveal, with a bright directional hover state. */
.home--variant-2 .mobile-nav{--menu-accent:#a7d9bf;transform:translate3d(-105%,0,0);will-change:transform,opacity;transition:transform .88s cubic-bezier(.16,1,.3,1),opacity .5s ease,visibility 0s linear .88s}
.home--variant-2 .mobile-nav.open{transform:translate3d(0,0,0);transition:transform .88s cubic-bezier(.16,1,.3,1),opacity .5s ease,visibility 0s}
.home--variant-2 .mobile-nav>a{transition:opacity .72s var(--ease),transform .52s var(--ease),color .42s var(--ease),padding-left .52s var(--ease),text-shadow .42s var(--ease)}
.home--variant-2 .mobile-nav>a::before{position:absolute!important;z-index:0!important;top:11px!important;bottom:11px!important;left:0!important;width:2px!important;height:auto!important;display:block!important;content:""!important;background:var(--menu-accent)!important;clip-path:none!important;opacity:1!important;transform:scaleY(0)!important;transform-origin:bottom!important;transition:transform .46s cubic-bezier(.16,1,.3,1)!important}
.home--variant-2 .mobile-nav>a::after{background:var(--menu-accent)!important}
.home--variant-2 .mobile-nav>a:hover,.home--variant-2 .mobile-nav>a:focus-visible{padding-left:calc(var(--nav-gutter) + 14px)!important;color:var(--menu-accent)!important;transform:translate3d(10px,0,0)!important;text-shadow:0 0 16px rgba(167,217,191,.2)}
.home--variant-2 .mobile-nav>a:hover::before,.home--variant-2 .mobile-nav>a:focus-visible::before{transform:scaleY(1)!important}
.home--variant-2 .mobile-nav>a:hover span,.home--variant-2 .mobile-nav>a:focus-visible span{color:var(--paper)!important;transform:translateX(-10px)!important}

@media(prefers-reduced-motion:reduce){
  .home--variant-2 .mobile-nav{transition:transform .88s cubic-bezier(.16,1,.3,1),opacity .5s ease,visibility 0s linear .88s!important}
  .home--variant-2 .mobile-nav.open{transition:transform .88s cubic-bezier(.16,1,.3,1),opacity .5s ease,visibility 0s!important}
  .home--variant-2 .mobile-nav>a{transition:opacity .72s var(--ease),transform .52s var(--ease),color .42s var(--ease),padding-left .52s var(--ease),text-shadow .42s var(--ease)!important}
}

/* Cream fill rises from the bottom of the hovered menu row. */
.home--variant-2 .mobile-nav>a::before{top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:-1!important;width:auto!important;background:var(--paper)!important;transform:none!important;clip-path:inset(100% 0 0 0)!important;transition:clip-path .5s cubic-bezier(.16,1,.3,1)!important}
.home--variant-2 .mobile-nav>a:hover::before,
.home--variant-2 .mobile-nav>a:focus-visible::before{clip-path:inset(0)!important}
.home--variant-2 .mobile-nav>a:hover,
.home--variant-2 .mobile-nav>a:focus-visible{color:var(--ink)!important;text-shadow:none}
.home--variant-2 .mobile-nav>a:hover span,
.home--variant-2 .mobile-nav>a:focus-visible span{color:var(--ink)!important}
.home--variant-2 .mobile-nav>a:hover::after,
.home--variant-2 .mobile-nav>a:focus-visible::after{background:var(--ink)!important}
