@font-face{font-family:FFSans;src:url('assets/inter-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:FFSerif;src:url('assets/caslon-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#f7f7f4;--ink:#202020;--editorial:#1b1630;--muted:#706b7b;--inset:6.1vw}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:40px}
body{margin:0;background:#fff;color:var(--ink);font-family:FFSans,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
a:focus-visible{outline:2px solid #315eae;outline-offset:7px}
.skip{position:fixed;left:20px;top:-100px;padding:15px;background:white;z-index:20}.skip:focus{top:12px}
.site-header{height:100px;display:grid;grid-template-columns:43% 1fr auto;align-items:center;padding:0 var(--inset);background:var(--paper)}
.brand{display:flex;align-items:center;gap:10px;letter-spacing:-1.1px;font-size:24px;font-weight:600;width:max-content}
.brand img{width:28px;height:28px}
.site-header nav{display:flex;gap:34px;font-size:17px}
.site-header nav a{padding:8px 0}
.talk-link{font-size:17px;border-bottom:1px solid;padding:6px 0}
.site-header a:hover,.text-link:hover,.back-top:hover{opacity:.65}
.hero{height:calc(100svh - 100px);min-height:640px;max-height:1100px;position:relative;background:var(--paper);overflow:hidden}
.hero h1{position:absolute;left:var(--inset);right:var(--inset);top:40%;font-size:clamp(72px,6.8vw,132px);line-height:1.1;letter-spacing:-.04em;font-weight:350;z-index:2}
.hero h1 span{display:block;white-space:nowrap}
.hero-photo{position:absolute;right:var(--inset);top:3%;width:27vw;aspect-ratio:3/2;overflow:hidden}
.hero-photo img{object-position:65% 60%}
.hero-note{position:absolute;left:var(--inset);bottom:8%;max-width:460px;font-size:17px;line-height:1.6}
.scroll-link{position:absolute;right:var(--inset);bottom:8%;display:block;width:28px;height:36px}
.scroll-link svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}
.section-inset{padding-left:var(--inset);padding-right:var(--inset)}
.eyebrow{font-size:15px;line-height:1.5}
.muted{color:var(--muted)}
h2{font-family:FFSerif,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:normal;line-height:1.125}
.perspective{padding-top:115px;padding-bottom:30px;color:var(--editorial)}
.perspective-heading{display:grid;grid-template-columns:43% 49%;gap:8%;align-items:start}
.perspective h2{font-size:clamp(42px,3.45vw,66px)}
.perspective-intro{padding-top:3px;font-size:17px;line-height:1.65;color:var(--muted);max-width:560px}
.perspective-intro p+p{margin-top:22px}
.perspective-detail{display:grid;grid-template-columns:43% 49%;column-gap:8%;margin-top:52px;padding-top:30px;border-top:1px solid #1b163022;font-size:17px;line-height:1.65;color:var(--muted)}
.perspective-detail p{max-width:560px}
.perspective-detail p:first-child{max-width:460px}
.feature{display:grid;grid-template-columns:43% 49%;column-gap:8%;row-gap:36px;align-items:center;padding-top:100px;padding-bottom:130px;color:var(--editorial)}
.feature figure{aspect-ratio:1/1;height:auto;overflow:hidden}
.feature figure img{object-position:45% 50%}
.feature h2{font-size:clamp(42px,3.45vw,66px);margin:15px 0 30px}
.body-copy{font-size:17px;line-height:1.65;color:var(--muted);max-width:560px}
.body-copy p+p{margin-top:22px}
.feature-detail{align-self:start}
.text-link{display:inline-flex;justify-content:space-between;gap:40px;font-size:16px;border-bottom:1px solid;padding:5px 0;margin-top:30px}
.collective{padding-top:25px;padding-bottom:125px;overflow:hidden;color:var(--editorial)}
.collective h2{font-size:clamp(32px,2.55vw,49px);line-height:1.2;margin:0 var(--inset) 54px}
.partnership-main,.partnership-detail{display:grid;grid-template-columns:43% 49%;column-gap:8%;align-items:start}
.partner-portrait figure{width:72%;height:32vw;max-height:550px;overflow:hidden}
.partner-portrait img{object-position:52% 52%}
.partner-portrait .eyebrow{margin-top:24px}
.partner-conversation{height:24vw;max-height:415px;overflow:hidden}
.partner-conversation img{object-position:50% 58%}
.partnership-copy{max-width:560px;font-size:17px;line-height:1.65}
.partnership-main .partnership-copy{margin-top:32px}
.partnership-copy p+p{margin-top:24px}
.partnership-detail{margin-top:70px;align-items:center}
.partnership-detail .working-detail{width:70%;height:19vw;max-height:310px;justify-self:end;overflow:hidden}
.working-detail img{object-position:65% 100%}
.conversation{background:#1b1825;color:#f7f5ee;padding-top:62px;padding-bottom:55px}
.conversation-top{display:flex;justify-content:space-between;align-items:start}
.conversation-bottom{display:grid;grid-template-columns:58% 34%;gap:8%;align-items:end;margin-top:70px}
.back-top{font-size:13px;display:flex;gap:22px}
.conversation h2{font-size:clamp(64px,6vw,116px);line-height:1.08;margin:0 0 32px}
.conversation-intro>p{max-width:560px;font-size:17px;line-height:1.65}
.contact-invitation{font-size:17px;line-height:1.65}
.site-footer{background:#1b1825;color:#f7f5ee;padding-top:25px;padding-bottom:24px}
.footer-brand{display:block;font-size:12vw;letter-spacing:-.055em;font-weight:400;line-height:1.25;padding-top:35px;padding-bottom:50px}
.footer-bottom{border-top:1px solid #ffffff30;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#c7c4ce}
.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1700px){.perspective{padding-top:135px}.eyebrow{font-size:17px}.feature{padding-top:120px;padding-bottom:160px}.text-link{font-size:18px}.collective{padding-bottom:155px}.body-copy,.perspective-intro,.partnership-copy{font-size:19px;max-width:650px}.perspective-detail{font-size:19px}.perspective-detail p{max-width:650px}.perspective-detail p:first-child{max-width:540px}}
@media(max-width:1300px){.site-header nav{gap:24px;font-size:15px}.talk-link{font-size:15px}.brand{font-size:22px}.feature h2,.perspective h2{font-size:3.45vw}.body-copy,.perspective-intro,.perspective-detail,.partnership-copy{font-size:16px}.feature .eyebrow{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

a,button{transition:opacity .2s ease,color .2s ease}
::selection{background:#dce3f1;color:#1b1630}
.contact-action{display:grid;gap:28px;min-width:0;padding-top:24px;border-top:1px solid #ffffff30}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.contact-action .contact-person{font-size:13px;line-height:1.5;color:#c7c4ce}
.contact-email{font-size:18px;letter-spacing:-.025em;border-bottom:1px solid #f7f5ee80;padding-bottom:7px}
.contact-email:hover{opacity:.7}
.copy-email{font:inherit;font-size:12px;padding:8px 0;background:none;color:inherit;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
button:focus-visible{outline:2px solid #98b8f4;outline-offset:5px}
.copy-status{font-size:12px;min-height:18px;color:#c7c4ce}
.contact-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}
.copy-status:empty{display:none}
@media(max-height:800px) and (min-width:1000px){.hero{min-height:600px}.hero h1{top:37%;font-size:min(6.8vw,110px)}.hero-photo{width:25vw;max-height:34%;aspect-ratio:3/2}.hero-note{bottom:7%;font-size:16px}}
@media(prefers-reduced-motion:reduce){a,button{transition:none}}

.conversation a:focus-visible,.site-footer a:focus-visible{outline-color:#98b8f4}

.booking-entry{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#f7f5ee;color:#1b1825;border:1px solid #f7f5ee;padding:18px 22px;font-size:17px}
.booking-entry:hover{opacity:.85}
.booking-entry-note{display:block;font-size:12px;line-height:1.5;color:#c7c4ce;margin-top:10px}
