.what-we-do{padding:clamp(95px,9vw,150px) clamp(22px,5vw,80px) clamp(100px,9vw,150px);overflow:clip;background:#f8f6f0;color:#111}
.what-we-do__head{width:min(760px,100%);margin:0 auto clamp(70px,8vw,120px);text-align:center}.what-we-do__head h2{max-width:700px;margin:0 auto;font:400 clamp(40px,4.7vw,75px)/1.14 var(--serif),Georgia,serif;letter-spacing:-.045em}.what-we-do__head p{max-width:390px;margin:22px auto 0;color:#79746e;font:400 var(--secondary-copy-size)/var(--secondary-copy-leading) var(--sans),Arial,sans-serif;letter-spacing:0}
.what-we-do__scrolly{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,880px);justify-content:center;gap:clamp(60px,8vw,125px);width:min(1380px,100%);margin:0 auto}.what-we-do__steps{min-width:0}.what-we-do__step{display:flex;min-height:68vh;max-width:330px;flex-direction:column;justify-content:center;opacity:.38;transition:opacity .45s ease;scroll-margin-top:17vh}.what-we-do__step.is-active{opacity:1}.what-we-do__step h3{margin:0;font:400 clamp(26px,2.35vw,36px)/1.16 var(--serif),Georgia,serif;letter-spacing:-.035em}.what-we-do__step p{max-width:250px;margin:25px 0 0;color:#79746e;font:400 var(--secondary-copy-size)/var(--secondary-copy-leading) var(--sans),Arial,sans-serif}.what-we-do__step>button{display:inline-flex;align-items:center;gap:13px;width:max-content;margin:31px 0 0;padding:0 0 8px;border:0;border-bottom:1px solid currentColor;background:transparent;color:#111;font:750 12px/1 var(--sans),Arial,sans-serif;cursor:pointer}.what-we-do__step>button span{transition:transform .25s ease}.what-we-do__step>button:hover span{transform:translateX(5px)}
.what-we-do__visual-column{position:relative}.what-we-do__visual{position:sticky;top:calc((100vh - min(61vh,600px))/2);width:100%;height:min(61vh,600px);min-height:500px;overflow:hidden;border-radius:clamp(26px,2.5vw,42px);background:#f1eee7;box-shadow:0 28px 70px rgba(34,52,42,.12);isolation:isolate}.what-we-do__photos{position:absolute;inset:0;background:#f1eee7}.what-we-do__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity;transition:opacity .52s cubic-bezier(.22,.7,.2,1)}.what-we-do__photo.is-active{opacity:1}.what-we-do__mark{position:absolute;z-index:2;right:25px;bottom:23px;width:clamp(56px,4vw,76px);height:auto;opacity:.32;filter:brightness(0) invert(1);transition:opacity .3s ease}
.what-we-do__overlay{position:absolute;inset:0;z-index:4;overflow:hidden;color:#fffaf2;background:linear-gradient(120deg,rgba(10,29,22,.91),rgba(17,52,40,.78));clip-path:circle(0 at calc(100% - 30px) 30px);visibility:hidden;pointer-events:none;will-change:clip-path;transform:translateZ(0);transition:clip-path .78s cubic-bezier(.77,0,.18,1),visibility 0s .8s}.what-we-do__visual.is-open .what-we-do__overlay{clip-path:circle(150vmax at calc(100% - 30px) 30px);visibility:visible;pointer-events:auto;transition:clip-path .88s cubic-bezier(.77,0,.18,1),visibility 0s}.what-we-do__visual.is-open .what-we-do__mark{opacity:0}.what-we-do__overlay-copy{position:relative;z-index:2;display:flex;height:100%;flex-direction:column;align-items:flex-start;padding:clamp(38px,4.5vw,68px);opacity:0;transition:opacity .24s ease}.what-we-do__visual.is-open .what-we-do__overlay-copy{opacity:1;transition-delay:.42s}.what-we-do__overlay h4{margin:0;font:400 clamp(27px,2.6vw,39px)/1.05 var(--serif),Georgia,serif;letter-spacing:-.035em}.what-we-do__overlay-body{max-width:680px;margin-top:28px}.what-we-do__overlay-body p{margin:0 0 15px;color:rgba(255,250,242,.79);font:400 clamp(14px,1.05vw,17px)/1.62 var(--sans),Arial,sans-serif}.what-we-do__overlay a{display:inline-flex;align-items:center;gap:13px;margin-top:auto;padding-bottom:8px;border-bottom:1px solid currentColor;color:#fffaf2;font:750 12px/1 var(--sans),Arial,sans-serif;text-decoration:none}.what-we-do__overlay a span{transition:transform .25s ease}.what-we-do__overlay a:hover span{transform:translateX(5px)}
.what-we-do__close{position:absolute;z-index:3;top:22px;right:24px;display:flex;align-items:center;gap:11px;padding:8px;border:0;background:transparent;color:#fffaf2;font:650 11px var(--sans),Arial,sans-serif;opacity:0;cursor:pointer;transition:opacity .2s ease}.what-we-do__visual.is-open .what-we-do__close{opacity:1;transition-delay:.42s}.what-we-do__close i{position:relative;width:23px;height:23px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.what-we-do__close i:before,.what-we-do__close i:after{content:"";position:absolute;top:11px;left:2px;width:20px;height:1px;background:currentColor;transform:rotate(45deg)}.what-we-do__close i:after{transform:rotate(-45deg)}.what-we-do__close:hover i{transform:rotate(90deg)}
.what-we-do__step>button:focus-visible,.what-we-do__overlay a:focus-visible,.what-we-do__close:focus-visible{outline:3px solid #d8c18f;outline-offset:6px}
@media(max-width:900px){.what-we-do__scrolly{grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:40px}.what-we-do__visual{top:14vh;height:58vh;min-height:470px}.what-we-do__step{min-height:66vh}.what-we-do__overlay-copy{padding:54px 34px 34px}.what-we-do__overlay-body{margin-top:20px}}
@media(max-width:700px){.what-we-do{padding:82px 16px 105px}.what-we-do__head{width:calc(100% - 20px);margin-bottom:65px}.what-we-do__head h2{font-size:clamp(40px,11vw,48px);line-height:1.08}.what-we-do__head p{max-width:300px;margin-top:18px;font-size:var(--secondary-copy-size);line-height:var(--secondary-copy-leading)}.what-we-do__scrolly{display:flex;flex-direction:column;gap:0}.what-we-do__steps{display:contents}.what-we-do__step{min-height:0;max-width:none;padding:0 2px 32px;opacity:1}.what-we-do__step:not(:first-child){margin-top:78px}.what-we-do__step h3 br{display:none}.what-we-do__step h3{font-size:29px;line-height:1.16}.what-we-do__step p{max-width:300px;margin-top:16px;font-size:var(--secondary-copy-size);line-height:var(--secondary-copy-leading)}.what-we-do__step>button{margin-top:23px}.what-we-do__visual-column{position:sticky;bottom:14px;order:4;margin-top:35px}.what-we-do__visual{position:relative;top:auto;height:54vh;min-height:430px;border-radius:25px}.what-we-do__visual.is-open{position:fixed;z-index:80;inset:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));width:auto;height:auto;min-height:0;border-radius:24px;box-shadow:0 24px 80px rgba(3,18,13,.34)}.what-we-do__visual.is-open .what-we-do__overlay{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(145deg,rgba(6,24,17,.96),rgba(9,38,28,.93));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.what-we-do__overlay-copy{height:auto;min-height:100%;padding:72px 22px 28px}.what-we-do__overlay h4{font-size:31px;line-height:1.08}.what-we-do__overlay-body{max-width:none;margin-top:22px}.what-we-do__overlay-body p{font-size:14px;line-height:1.58;margin-bottom:14px}.what-we-do__overlay a{margin-top:auto;min-height:38px;padding-top:24px}.what-we-do__close{position:fixed;top:max(22px,calc(env(safe-area-inset-top) + 10px));right:22px}.mobile-overlay-open{overflow:hidden}}
@media(max-width:1050px) and (min-width:701px){.what-we-do__step h3{font-size:clamp(21px,2.4vw,27px)}}
@media(prefers-reduced-motion:reduce){.what-we-do__photo,.what-we-do__overlay,.what-we-do__overlay-copy,.what-we-do__close,.what-we-do__close i,.what-we-do__step{transition:none}}

/* Match the mobile editorial story: a stationary image with scrolling copy. */
@media(max-width:700px){
  .what-we-do__scrolly{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .what-we-do__steps{display:block;position:relative;z-index:3;grid-area:1/1;min-width:0}
  .what-we-do__step{min-height:100svh;max-width:none;padding:65svh 2px 40px;justify-content:flex-start;pointer-events:none}
  .what-we-do__step:not(:first-child){margin-top:0}
  .what-we-do__step>button{pointer-events:auto}
  .what-we-do__visual-column{position:sticky;z-index:2;top:12svh;bottom:auto;grid-area:1/1;align-self:start;height:40svh;margin:0}
  .what-we-do__visual-column:has(.what-we-do__visual.is-open){z-index:80}
  .what-we-do__visual{position:relative;top:auto;height:40svh;min-height:0;border-radius:24px}
  .what-we-do__visual.is-open{position:fixed;height:auto;min-height:0}
  .what-we-do__overlay h4{font-size:29px}
}
