/* A firm identity: open space, direct language, and a stone edge. */
html{scroll-behavior:auto;scroll-padding-top:115px}
.firm-header{background:#fafaf8f2;border:0;backdrop-filter:blur(20px)}
.firm-header .nav{height:104px;border-bottom:1px solid #d7d7d2;gap:35px}
.firm-brand{display:flex;align-items:center;gap:20px;color:#202320}
.brand-name{font-size:30px;font-weight:650;letter-spacing:-1.6px;line-height:.83;display:block}
.brand-name>span{display:block;margin-top:5px}
.brand-descriptor{font-size:12px;letter-spacing:2px;color:#74766e;padding-left:20px;border-left:1px solid #c7c9c1;line-height:36px}
.firm-header .navlinks{margin-left:auto;gap:30px;font-size:14px;color:#565b53}
.firm-header .navlinks a{position:relative;padding:13px 0}
.firm-header .navlinks a:after{content:"";position:absolute;bottom:5px;left:0;right:100%;height:1px;background:#282e25;transition:right .3s ease}
.firm-header .navlinks a:hover:after,.firm-header .navlinks a:focus-visible:after{right:0}
.firm-header .navlinks a:hover{color:#202320}
.firm-contact{display:flex;align-items:center;gap:17px;font-size:14px;padding-left:30px;border-left:1px solid #d7d7d2;min-height:42px}
.firm-contact>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #a9aea1;border-radius:50%;font-size:18px;transition:background .3s,color .3s}
.firm-contact:hover>span{background:#252b22;color:#fff}
.cinematic-hero{background:#fafaf8;color:#252b22;position:relative}
.hero-stage{position:relative;min-height:520px;height:clamp(520px,64svh,710px);overflow:hidden;isolation:isolate;display:flex;align-items:center}
.stone-scene{position:absolute;inset:28px 0 28px 64%;z-index:1;overflow:hidden;background:#191919}
.stone-scene img{position:absolute;left:28%;top:-160px;width:1250px;max-width:none;height:auto;transform:translateX(-50%) scale(var(--stone-scale,1));transform-origin:50% 20%;filter:saturate(.5);opacity:.85}
.stone-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#09090805,#09090810 60%,#090908bd)}
.stone-light{position:absolute;inset:-35%;background:radial-gradient(ellipse at 50% 45%,#ead2a83d,transparent 48%);mix-blend-mode:screen;transform:translate(-12%,-5%);opacity:.6}
.stone-caption{position:absolute;left:34px;bottom:34px;z-index:2;font-size:18px;line-height:1.4;letter-spacing:-.35px;color:#e1d9cb}
.cinematic-hero .hero{padding:55px 0;text-align:left;position:relative;z-index:2;pointer-events:none;transform:none;opacity:1}
.hero-copy{width:62%;padding-right:50px;pointer-events:auto}
.cinematic-hero .eyebrow{color:#656d5d;font-size:12px;font-weight:500;letter-spacing:1.7px;margin-bottom:38px}
.cinematic-hero .hero h1{font-size:clamp(58px,6.5vw,94px);font-weight:500;letter-spacing:-.065em;line-height:1.02;animation:none}
.cinematic-hero .hero h1 span{color:#727b68}
.cinematic-hero .intro{color:#62675e;font-size:18px;line-height:1.6;margin:29px 0 0;letter-spacing:-.2px;animation:none}
.cinematic-hero .hero-actions{justify-content:flex-start;margin:28px 0 0;animation:none}
.cinematic-hero .text-link{color:#293025;font-size:15px;padding-bottom:9px;border-bottom:1px solid #adb3a5;display:flex;justify-content:space-between;gap:45px;min-width:166px}
.cinematic-hero .text-link span{margin:0}
.hero-signature{font-size:12px;color:#808678;margin:43px 0 0;letter-spacing:.3px}
.firm-paths{display:grid;grid-template-columns:repeat(3,1fr);padding:19px 0 20px;border-top:1px solid #d7d7d2;gap:36px}
.firm-paths>a{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:500;min-height:36px}
.firm-paths>a>span:first-child{font-size:12px;color:#878e7e;font-weight:400}
.firm-paths>a>span:last-child{margin-left:auto;font-size:18px;color:#747d6a}
.firm-paths>a:hover{color:#727b68}
.mission-section{padding:125px 0 80px;background:#f6f5f2}
.mission-layout{display:grid;grid-template-columns:1fr 2fr;gap:55px}
.mission-label{padding-top:12px}
.mission-label .eyebrow{color:var(--brass);font-size:11px}
.mission-label h2{font-size:46px}
.mission-reference{font-size:10px;letter-spacing:1.5px;margin-top:20px}
.mission-lines>p{font-size:clamp(34px,4.2vw,61px);font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:0 0 27px;color:#272622}
.mission-lines>p span{display:block;color:#87847f}
.mission-foot{font-size:12px;color:#7c7871;border-top:1px solid #d9d5cd;margin-top:40px;padding-top:23px}
#engage{padding-top:105px}
.portfolio{overflow:hidden;background:#151516;padding-bottom:70px}
.portfolio .section-heading{margin-bottom:55px}
.portfolio-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(48px,calc((100vw - 1200px)/2)) 15px;scroll-padding-left:max(48px,calc((100vw - 1200px)/2));scrollbar-width:none;overscroll-behavior-x:contain}
.portfolio-track::-webkit-scrollbar{display:none}
.portfolio-track:after{content:"";flex:0 0 max(0px,calc(100vw - 460px - max(48px,(100vw - 1200px)/2) * 2 - 22px))}
.venture-card{position:relative;flex:0 0 460px;height:345px;background:linear-gradient(140deg,#2d2d2e,#232324);border:1px solid #ffffff0c;border-radius:18px;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;overflow:hidden}
.venture-card:nth-child(even){background:linear-gradient(140deg,#2d2c2a,#242321)}
.venture-top{position:absolute;top:28px;left:30px;right:30px;display:flex;justify-content:space-between;color:#aaa7a1;font-size:9px;letter-spacing:1.4px}
.venture-card img{width:auto;max-width:64%;max-height:82px;filter:grayscale(1) brightness(0) invert(1);opacity:.93;object-fit:contain}
.venture-card>p{position:absolute;bottom:20px;left:30px;font-size:14px;color:#cecbc5}
.gallery-controls{display:flex;align-items:center;gap:22px;margin:22px 0 30px}
.gallery-status{font-size:11px;color:#aaa7a1;letter-spacing:1px;min-width:52px}
.gallery-progress{height:2px;max-width:180px;flex:1;background:#ffffff1a;overflow:hidden}
.gallery-progress span{display:block;height:100%;background:#bba27b;width:20%;transform:translateX(var(--gallery-progress,0%))}
.gallery-buttons{display:flex;gap:10px;margin-left:auto}
.gallery-buttons button{border:0;border-radius:50%;width:44px;height:44px;background:#333334;color:#eee;font-size:23px;cursor:pointer}
.gallery-buttons button:disabled{opacity:.3;cursor:default}
.gallery-buttons button:hover:not(:disabled){background:#4b4740}
.portfolio-note{border-top:1px solid #ffffff20;padding-top:15px;margin-top:0}
.motion-toggle{position:fixed;right:22px;bottom:20px;z-index:30;display:flex;align-items:center;gap:9px;border:1px solid #ffffff26;border-radius:30px;background:#282827e8;color:#eee9e0;padding:11px 16px;box-shadow:0 3px 20px #0002;backdrop-filter:blur(15px);font-size:11px;cursor:pointer;min-height:40px}
.motion-toggle[hidden]{display:none}
.motion-icon{font-size:10px;width:10px}
footer{padding-bottom:80px}
html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="on"] .stone-light{animation:light-drift 16s ease-in-out infinite alternate!important}
html[data-motion="on"] .stone-scene img{will-change:transform}
html[data-motion="on"] .hero-copy{animation:cinematic-enter .8s var(--ease) both!important}
html[data-motion="on"] .mission-lines>p{color:#86837c;transition:color .65s ease,transform .85s var(--ease)!important;transform:translateY(8px)}
html[data-motion="on"] .mission-lines>p span{color:inherit}
html[data-motion="on"] .mission-lines>p.is-current{color:#272622;transform:translateY(0)}
html[data-motion="on"] .mission-lines>p.is-current span{color:#78756e}
html[data-motion="on"] .reveal-pending{opacity:0;transform:translateY(22px)}
html[data-motion="on"] .reveal-pending.is-visible{opacity:1;transform:translateY(0);transition:opacity .85s var(--ease),transform .95s var(--ease)!important;transition-delay:var(--reveal-delay,0ms)!important}
html[data-motion="on"] .venture-card img{transition:transform .8s var(--ease)!important}
html[data-motion="on"] .venture-card:hover img{transform:scale(1.06)}
html[data-motion="on"] .gallery-progress span{transition:transform .4s var(--ease)!important}
html[data-motion="on"] .portrait img{transform:scale(var(--portrait-scale,1));will-change:transform}
html[data-motion="on"][data-page-hidden] .stone-light{animation-play-state:paused!important}
@keyframes light-drift{from{transform:translate(-12%,-5%);opacity:.35}to{transform:translate(14%,7%);opacity:.85}}
@keyframes cinematic-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.mission-layout{grid-template-columns:1fr 1.7fr;gap:30px}.venture-card{flex-basis:410px}.portfolio-track:after{flex-basis:max(0px,calc(100vw - 410px - 96px - 22px))}}
@media(max-width:700px){
 .mission-section{padding:75px 0 64px}.mission-layout{grid-template-columns:1fr;gap:47px}.mission-label{padding:0;display:grid;grid-template-columns:1fr 1fr;align-items:end}.mission-label .eyebrow{grid-column:1/-1;margin-bottom:20px}.mission-label h2{font-size:42px}.mission-reference{margin:0 0 6px;text-align:right;font-size:9px}.mission-lines>p{font-size:clamp(33px,8.3vw,49px);margin-bottom:25px}.mission-foot{margin-top:30px}#engage{padding-top:78px}.portfolio .section-heading{margin-bottom:35px}.portfolio-track{padding:0 20px 12px;scroll-padding-left:20px;gap:14px}.venture-card{flex-basis:calc(100vw - 64px);height:300px;border-radius:14px}.portfolio-track:after{flex-basis:10px}.venture-top{top:25px;left:24px;right:24px;font-size:8px}.venture-card>p{left:24px;bottom:15px}.venture-card img{max-height:66px;max-width:68%}.gallery-controls{margin-top:12px}.portfolio-note{font-size:11px}.motion-toggle{right:14px;bottom:14px;font-size:12px;padding:10px 13px}.portfolio{padding-bottom:60px}
}
@media(max-width:1100px){.brand-descriptor{display:none}.firm-header .nav{gap:27px}.firm-header .navlinks{gap:23px}.firm-contact{padding-left:25px;gap:12px}.hero-copy{padding-right:30px}.cinematic-hero .intro{font-size:17px}.firm-paths{gap:25px}.firm-paths>a{font-size:14px;gap:12px}}
@media(max-width:800px){.firm-header .nav{gap:20px}.firm-header .navlinks{gap:20px}.firm-contact{font-size:0;padding-left:20px;gap:0}.firm-contact>span{font-size:21px;width:39px;height:39px}.hero-copy{width:64%;padding-right:28px}.cinematic-hero .hero h1{font-size:clamp(50px,7.2vw,66px)}.cinematic-hero .eyebrow{font-size:12px;letter-spacing:.9px}.cinematic-hero .intro{font-size:16px}.stone-caption{left:24px;bottom:28px;font-size:16px}.firm-paths>a{font-size:14px;gap:9px;flex-wrap:wrap}.firm-paths>a>span:first-child{flex-basis:100%}}
@media(max-width:600px){
 html{scroll-padding-top:103px}.firm-header .nav{height:88px;gap:20px}.brand-name{font-size:27px;letter-spacing:-1.3px}.brand-descriptor{display:block;font-size:10px;letter-spacing:1.4px;padding-left:16px;line-height:28px}.firm-brand{gap:16px}.firm-header .navlinks{display:none}.firm-contact{margin-left:auto;border:0;padding:0;font-size:13px;gap:12px}.firm-contact>span{width:33px;height:33px;font-size:17px}.firm-contact{font-size:0}.hero-stage{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;overflow:hidden}.cinematic-hero .hero{padding:49px 0 36px;order:0}.hero-copy{width:100%;padding-right:0}.cinematic-hero .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:29px}.cinematic-hero .hero h1{font-size:clamp(51px,13.4vw,76px);line-height:1.01}.cinematic-hero .intro{font-size:17px;margin-top:25px;line-height:1.6}.cinematic-hero .hero-actions{margin-top:25px}.hero-signature{font-size:12px;margin-top:31px}.stone-scene{position:relative;inset:auto;order:1;width:calc(100% - 40px);margin:0 0 0 auto;height:175px;flex-shrink:0}.stone-scene img{width:1050px;left:28%;top:-105px}.stone-caption{font-size:16px;left:24px;bottom:22px}.firm-paths{grid-template-columns:1fr;gap:0;border-top:0;padding:22px 0 27px}.firm-paths>a{font-size:15px;gap:17px;padding:14px 0;border-bottom:1px solid #d7d7d2;flex-wrap:nowrap}.firm-paths>a>span:first-child{flex-basis:auto}.motion-toggle{font-size:12px}
}
