/* The approach is a quiet silhouette scene; tea welcomes the contact conversation. */
.film-media{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.film-still,.film-initial,.scroll-film-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.film-initial,.scroll-film-canvas{opacity:0}
.film-motion-on .film-initial,.film-motion-on .scroll-film-canvas.is-ready{opacity:1}
#firm .approach-media{max-width:none;z-index:0;transform-origin:75% 55%}
#firm .approach-media>*{object-position:right center;filter:brightness(.83) saturate(.76)}
#firm.film-motion-on .approach-media{transform:scale(calc(1.025 + var(--film-progress,0)*.075)) translateX(calc(var(--film-progress,0)*-1.2%))}
.approach-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#17120ff5 0%,#17120fdd 27%,#17120f5c 49%,transparent 76%),linear-gradient(0deg,#17120fc7,transparent 60%);pointer-events:none}
#firm .firm-content>div,#firm .firm-copy{width:48%;max-width:560px}
#firm .firm-content{z-index:1}
html.motion-ready #firm.film-motion-on{height:220svh}
html.motion-ready #firm.film-motion-on .firm-stage{position:sticky;top:0;height:100svh;min-height:0;padding:0;display:flex;justify-content:center}
#firm .principles>div{border-color:#d5b99266}
.contact-section{padding:0;background:#17120f}
.contact-welcome{position:relative;border-top:1px solid #594635;background:#17120f}
.contact-welcome-stage{position:relative;min-height:740px;overflow:hidden;isolation:isolate;display:flex;align-items:center}
.contact-tea-media{left:36%;mask-image:linear-gradient(90deg,transparent,#000 15%)}
.contact-tea-media>*{object-fit:contain;object-position:center}
.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,#17120f 0%,#17120ff2 28%,#17120fa3 43%,#17120f1f 66%,transparent 80%);pointer-events:none}
.welcome-content{position:relative;z-index:1;padding-block:125px 140px}
.welcome-content>.eyebrow{margin-bottom:24px}
.welcome-content>.assessment-label{display:inline-block;margin-bottom:20px}
.welcome-content>h2{max-width:570px;font-size:clamp(48px,5.7vw,82px);line-height:1.04}
.welcome-content>p:last-child{max-width:390px;margin-top:30px;color:var(--muted);font-size:14px;line-height:1.8}
.welcome-footer{position:absolute;bottom:55px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:25px}
.welcome-footer>span{font-family:Georgia,serif;font-size:23px;font-style:italic;color:#d5b992}
.welcome-footer>.text-link{min-width:150px;justify-content:space-between;font-size:13px}
.contact-welcome.film-motion-on{height:165svh}
.contact-welcome.film-motion-on .contact-welcome-stage{position:sticky;top:0;height:100svh;min-height:0}
.contact-body{padding-block:100px 120px;border-top:1px solid #594635}
.contact-reach h3{font-family:Georgia,serif;font-size:42px;margin:20px 0 28px}
.contact-reach .contact-paths{margin-top:0}
.contact-reach .contact-details{margin-top:40px}
#inquiry-form{scroll-margin-top:110px}
@media(max-width:900px){
 #firm .firm-content>div,#firm .firm-copy{width:85%;max-width:530px}
 #firm .approach-media{inset:24% 0 0}
 #firm .approach-media>*{object-position:right center}
 #firm.film-motion-on .firm-content{opacity:clamp(0,calc((.62 - var(--film-progress,0))*5),1);transform:translateY(calc(clamp(0,calc((var(--film-progress,0) - .42)*5),1)*-32px))}
 .approach-shade{background:linear-gradient(180deg,#17120ff5 0%,#17120fe0 25%,#17120f6b 65%,#17120fb0)}
 #firm.film-motion-on .approach-shade{opacity:clamp(.15,calc((.75 - var(--film-progress,0))*3),1)}
 .welcome-content>h2{font-size:55px;max-width:400px}
 .welcome-content>p:last-child{max-width:310px;font-size:12px;margin-top:20px}
 .contact-tea-media{left:30%}
 .welcome-footer>span{font-size:20px}
}
@media(max-width:640px){
 #firm .firm-content>div,#firm .firm-copy{width:100%;max-width:450px}
 #firm .approach-media{inset:auto 0;top:38%;height:auto;aspect-ratio:1;transform-origin:70% 50%}
 html.motion-ready #firm.film-motion-on{height:240svh}
 .contact-welcome-stage{display:block;min-height:860px}
 .contact-welcome.film-motion-on{height:170svh}
 .welcome-content{padding:120px 0 0}
 .welcome-content>.eyebrow{margin-bottom:16px;font-size:8px}
 .welcome-content>.assessment-label{font-size:7px;margin-bottom:18px}
 .welcome-content>h2{font-size:46px;max-width:340px}
 .welcome-content>p:last-child{font-size:11px;max-width:340px;margin-top:17px;line-height:1.65}
 .contact-tea-media{inset:43% 0 13%;mask-image:none}
 .contact-tea-media>*{object-fit:cover;object-position:57% center}
 .welcome-shade{background:linear-gradient(180deg,#17120f 0%,#17120f 35%,#17120f50 48%,transparent 70%,#17120f77 86%,#17120f 100%)}
 .welcome-footer{bottom:30px;align-items:flex-end;gap:20px}
 .welcome-footer>span{font-size:17px;max-width:160px;line-height:1.35}
 .welcome-footer>.text-link{font-size:11px;min-width:115px}
 .contact-body{padding-block:70px 80px}
 .contact-reach h3{font-size:36px}
}
@media(max-height:740px) and (max-width:640px){
 .welcome-content{padding-top:110px}
 .welcome-content>.eyebrow{margin-bottom:9px}.welcome-content>.assessment-label{margin-bottom:10px}
 .welcome-content>h2{font-size:38px}.welcome-content>p:last-child{font-size:10px;margin-top:12px}
 .contact-tea-media{top:47%;bottom:14%}
}
@media(max-height:520px){
 html.motion-ready #firm.film-motion-on{height:240svh}
 html.motion-ready #firm.film-motion-on .firm-content{padding-block:88px 15px}
 #firm .firm-content>div,#firm .firm-copy{width:44%;max-width:470px}
 #firm .statement{font-size:30px}
 #firm .firm-stage .eyebrow{font-size:8px;margin-bottom:12px}
 #firm .firm-copy{margin-top:12px}
 #firm .firm-copy>p:first-child{font-size:12px;line-height:1.5}
 #firm .firm-copy .support{font-size:9px;line-height:1.45;margin-top:8px}
 #firm .firm-copy>.text-link{font-size:9px;margin-top:5px;padding-block:5px}
 #firm .principles{margin-top:10px;gap:10px}
 #firm .principles>div{padding-top:8px}
 #firm .principles strong{font-size:8px}#firm .principles p{font-size:7px;line-height:1.5;margin-top:4px}
 #firm .approach-media{inset:0;aspect-ratio:auto}
 .welcome-content{padding-block:95px 75px}
 .welcome-content>h2{font-size:38px;max-width:350px}.welcome-content>.eyebrow{margin-bottom:10px}
 .welcome-content>.assessment-label{font-size:7px;margin-bottom:12px}
 .welcome-content>p:last-child{font-size:11px;max-width:300px;margin-top:15px}
 .contact-tea-media{inset:70px 0 55px 35%;mask-image:linear-gradient(90deg,transparent,#000 15%)}
 .contact-tea-media>*{object-fit:contain}
 .welcome-footer{bottom:20px}.welcome-footer>span{font-size:16px}
}
@media(max-height:520px) and (max-width:640px){
 #firm .firm-content>div,#firm .firm-copy{width:100%;max-width:100%}
 #firm .statement{font-size:28px}
 .welcome-content>h2{font-size:30px}.welcome-content>p:last-child{max-width:220px;font-size:9px}
 .contact-tea-media{left:34%;top:80px;bottom:55px}
 .welcome-footer>span{font-size:13px;max-width:140px}
}
@media print{.film-media,.approach-shade,.welcome-shade{display:none!important}html.motion-ready #firm.film-motion-on,.contact-welcome.film-motion-on{height:auto!important}html.motion-ready #firm.film-motion-on .firm-stage,.contact-welcome.film-motion-on .contact-welcome-stage{position:static!important;height:auto!important;min-height:0!important}#firm.film-motion-on .firm-content{opacity:1!important;transform:none!important}.welcome-footer{position:static}}
