@font-face{font-family:'Satoshi';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/satoshi-400.woff2') format('woff2')}
@font-face{font-family:'Satoshi';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/satoshi-500.woff2') format('woff2')}
@font-face{font-family:'Satoshi';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/satoshi-700.woff2') format('woff2')}
@font-face{font-family:'Satoshi';font-weight:900;font-style:normal;font-display:swap;src:url('fonts/satoshi-900.woff2') format('woff2')}
:root{--ink:#121210;--paper:#fff;--stone:#F4F1EC;--ember:#F0661E;--muted:#6B6660;--char:#2B2A28;--max:1120px;--measure:680px;--pad:112px;--gut:24px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;background:var(--ink)}
body{font-family:'Satoshi',system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--char);background:var(--paper)}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.band{padding:var(--pad) 0}
.band.stone{background:var(--stone)}
.band.ink{background:var(--ink);color:var(--paper)}
.band.ink .label{color:#A8A39B}
.label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
h1,h2,.fig{font-weight:900;color:var(--ink);letter-spacing:-.035em;line-height:.98}
.band.ink h2,.band.ink .fig{color:var(--paper)}
h1{font-size:72px}
h2{font-size:40px;letter-spacing:-.02em;line-height:1.05}
.fig{font-size:72px;font-variant-numeric:tabular-nums}
p{max-width:var(--measure)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border-radius:9999px;font-weight:700;font-size:16px;line-height:1;white-space:nowrap}
.pill.ember{background:var(--ember);color:var(--ink)}
.pill.ink{background:var(--ink);color:var(--paper)}
.rule{width:48px;height:3px;background:var(--ember);border:0;margin:0 0 28px}
.band.ink .rule{background:var(--paper)}
/* nav */
.nav{padding:28px 0}
.nav .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--ink)}
.mark{width:40px;height:40px;flex:none}
.nav ul{display:flex;gap:32px;list-style:none;font-size:15px;font-weight:500;color:var(--ink)}
.nav .menu{display:none;border:0;cursor:pointer;font-family:inherit}
.mnav{display:none}
/* hero */
.hero{padding:72px 0 var(--pad)}
.hero .wrap{display:grid;grid-template-columns:1fr 400px;gap:48px;align-items:center}
.hero .label{margin-bottom:28px}
.hero h1{margin-bottom:32px;max-width:520px}
.hero p{font-size:20px;line-height:1.5;margin-bottom:40px;max-width:630px}
.portrait{aspect-ratio:4/5;border-radius:12px;background:var(--stone);border:1px solid #E6E1D9;display:flex;align-items:flex-end;padding:24px}
.portrait .ph{font-size:13px;color:var(--muted);line-height:1.4;max-width:24ch}
.caption{margin-top:20px}
.caption .name{font-weight:900;font-size:24px;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.caption .label{margin-top:6px;display:block}
/* about */
.about .wrap{display:grid;grid-template-columns:325px 1fr;gap:48px}
.about p{max-width:none}
.about h2{max-width:12ch}
.about p+p{margin-top:24px}
.about .sig{font-weight:700;color:var(--ink)}
/* proof */
.proof .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:56px}
.proof .lead{margin-top:24px;color:#D8D3CB}
.proof .fig{margin-bottom:16px}
.proof .fig.accent{color:var(--ember)}
.proof .label{margin-bottom:12px;display:block}
.proof p{font-size:16px;color:#D8D3CB}
.proof .after{margin-top:64px;color:#D8D3CB;font-size:16px}
/* roles */
.roles .head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px}
.roles .head p{margin-top:16px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--stone);border:1px solid #E6E1D9;border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:14px;min-height:260px}
.card h3{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--ink);min-height:2.6em}
.card .meta{display:flex;gap:16px}
.card p{font-size:16px;flex:1}
.card .more{font-weight:700;color:var(--ink);font-size:15px;text-decoration:underline;text-underline-offset:3px}
.jobadder{margin-top:24px;font-size:13px;color:var(--muted)}
.roles .all{font-weight:700;color:var(--ink);font-size:16px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
/* contact */
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact h2{max-width:12ch}
.contact .lead{margin-top:24px}
.contact .lines{font-size:17px;font-weight:400;color:var(--char);line-height:1.6}
.contact .lines a{text-decoration:underline;text-underline-offset:3px}
.contact .addr{margin-top:20px;font-size:16px;color:var(--muted)}
.contact .pill{margin-top:0;margin-bottom:32px}
/* footer */
.foot{padding:72px 0 40px;font-size:15px;color:#D8D3CB}
.foot .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;align-items:start}
.foot .brand{color:var(--paper);font-size:17px}
.foot .fbrand p{margin-top:20px;max-width:30em;color:#A8A39B}
.foot .label{display:block;color:#A8A39B;margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:10px;line-height:1.5}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot .fbar{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid #2B2A28;font-size:13px;color:#A8A39B}
.foot .fbar ul{display:flex;gap:24px}


@media (max-width:767px){
 :root{--pad:72px;--gut:16px}
 h1{font-size:44px}h2{font-size:30px}.fig{font-size:48px}
 body{font-size:16px}
 .nav ul{display:none}.nav .menu{display:inline-flex;min-height:44px;padding:10px 18px}
 .mnav{display:block;background:var(--paper);border-top:1px solid #E6E1D9;border-bottom:1px solid #E6E1D9}
 .mnav[hidden]{display:none}
 .mnav ul{list-style:none;padding:8px var(--gut)}
 .mnav li a{display:block;padding:14px 0;font-size:20px;font-weight:700;color:var(--ink);border-bottom:1px solid #F0ECE6}
 .mnav li:last-child a{border-bottom:0}
 .mnav li a.on{color:var(--ember)}
 .mnav .mctas{display:flex;gap:12px;flex-wrap:wrap;padding:12px var(--gut) 24px}
 .mnav .mctas .pill{margin:0}
 .hero{padding:40px 0 var(--pad)}
 .hero .wrap,.about .wrap,.contact .wrap{grid-template-columns:1fr;gap:40px}
 .card h3{min-height:0}
 .hero p{font-size:18px}
 .proof .grid,.cards{grid-template-columns:1fr;gap:40px}
 .roles .head{flex-direction:column;align-items:flex-start}
 .foot .fgrid{grid-template-columns:1fr;gap:32px}
 .foot .fbar{flex-direction:column;align-items:flex-start}
 .about h2,.contact h2{max-width:none}
}
/* inner pages */
.nav a.on{text-decoration:underline;text-underline-offset:6px}
.phero{padding:72px 0 var(--pad)}
.phero .label{display:block;margin-bottom:28px}
.phero h1{max-width:12ch;margin-bottom:32px}
.phero p{font-size:20px;line-height:1.5;max-width:630px}
.phero .wrap{display:grid;grid-template-columns:1fr 400px;gap:48px;align-items:center}
.phero.plain .wrap{display:block}
.prose .wrap{display:grid;grid-template-columns:325px 1fr;gap:48px}
.prose h2{max-width:12ch}
.prose p{max-width:none}
.prose p+p{margin-top:24px}
.prose .sig{font-weight:700;color:var(--ink)}
.prose .label{display:block;margin-bottom:12px}
.prose .item{padding-top:32px}
.prose .item:first-child{padding-top:0}
.stories .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.stories h2{grid-column:1/-1;margin-bottom:8px}
.stories .fig{margin-bottom:16px}
.stories .fig.accent{color:var(--ember)}
.stories .label{display:block;margin-bottom:12px}
.stories p{font-size:16px}
.band.ink .stories p,.band.ink p{color:#D8D3CB}
.band.ink h1,.band.ink .name{color:var(--paper)}
.cta .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.cta h2{max-width:12ch}
.cta .lead{margin-top:24px}
.cta .pill{margin-top:0;margin-bottom:32px}
.cta .lines{font-size:17px;line-height:1.6}
.cta .lines a{text-decoration:underline;text-underline-offset:3px}
.cta .addr{margin-top:20px;font-size:16px;color:var(--muted)}
.widget{margin-top:48px;border:1px dashed #C9C3B9;border-radius:12px;padding:32px;color:var(--muted);font-size:15px;max-width:none}
.widget strong{color:var(--ink);font-weight:700}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.contact-grid .card{min-height:0;background:var(--paper)}
.contact-grid .card .label{display:block}
.contact-grid .card a{text-decoration:underline;text-underline-offset:3px;font-weight:700;color:var(--ink)}
@media (max-width:767px){
 .phero{padding:40px 0 var(--pad)}
 .phero .wrap,.prose .wrap,.cta .wrap{grid-template-columns:1fr;gap:40px}
 .phero p{font-size:18px}
 .stories .wrap,.contact-grid{grid-template-columns:1fr;gap:40px}
 .prose h2,.cta h2,.phero h1{max-width:none}
}

.pill+.pill{margin-left:12px}
@media (max-width:767px){.pill+.pill{margin-left:0;margin-top:12px}.hero .pill,.cta .pill,.contact .pill,.phero .pill{display:inline-flex}}

.portrait img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}
.portrait:has(img),.portrait:has(video){padding:0;overflow:hidden}
.support .item{display:grid;grid-template-columns:96px 1fr;column-gap:24px}
.support .item .plogo{grid-row:1/3;width:96px;height:auto;max-height:72px;object-fit:contain;filter:grayscale(1);opacity:.85;align-self:start;mix-blend-mode:multiply}
.support .item .label{margin-bottom:8px}
.support .item p a{text-decoration:underline;text-underline-offset:3px}
.support+.cta{background:var(--paper)}
@media (max-width:767px){.support .item{grid-template-columns:72px 1fr;column-gap:16px}.support .item .plogo{width:72px}}
