@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("assets/fonts/space-grotesk-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url("assets/fonts/space-grotesk-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("assets/fonts/dm-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("assets/fonts/dm-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--color-paper:#f5f2ec;--color-ink:#202020;--color-red:#e74932;--color-red-text:#b82e1f;--color-muted:#5d5a55;--color-line:#dad6ce;--page-gutter:64px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--color-ink);color:var(--color-paper)}
a{color:inherit;text-underline-offset:6px}
a:focus-visible{outline:2px solid var(--color-red-text);outline-offset:7px}
p,h1,h2,h3{margin:0}
svg,img{display:block;max-width:100%}
.container{width:calc(100% - var(--page-gutter)*2);max-width:1280px;margin-inline:auto}
.skip-link{position:fixed;top:16px;left:16px;z-index:5;background:var(--color-paper);padding:14px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-line)}
.brand{position:relative;display:block;flex-shrink:0;width:214px;height:80px;overflow:hidden}
.brand img{position:absolute;width:214px;max-width:none;height:auto;top:-3px;left:0}
.site-header .brand,.site-footer .brand{margin-left:-26px}
nav{display:flex;gap:40px;align-items:center}
nav a{font-size:1rem;font-weight:500;min-height:44px;display:flex;align-items:center;gap:12px;text-decoration:none}
nav a:hover{text-decoration:underline}
nav a span{font-size:1.25rem}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;font-weight:700}
h1{font-size:clamp(3.5rem,7.2vw,6.5rem);letter-spacing:-.06em;line-height:1.02;position:relative;z-index:1;pointer-events:none}
h1>span{display:block}
.red{color:var(--color-red)}
.hero{padding-top:64px;position:relative}
.hero-copy{max-width:470px;margin-top:32px;position:relative;z-index:1}
.hero-copy p{font-size:1.1875rem;line-height:1.6}
.text-link{display:inline-flex;align-items:center;gap:28px;margin-top:24px;min-height:48px;font-size:1.0625rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--color-ink)}
.text-link span,.email-link span{display:inline-block;transition:transform 250ms ease}
.text-link:hover span,.email-link:hover span{transform:translate(3px,-3px)}
.text-link:hover,.email-link:hover{color:var(--color-red-text);border-color:currentColor}
.hero-art{position:absolute;width:43%;height:auto;right:-12px;bottom:100px;animation:open-space 450ms ease-out both}
@keyframes open-space{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:48px 28px;border-bottom:1px solid var(--color-line)}
.eyebrow{text-transform:uppercase;font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:.15em}
.down-mark{font-size:1.5rem}
.section{padding-block:112px}
h2{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.05em}
.idea{display:grid;grid-template-columns:1fr 2fr;gap:32px}
.section-side{padding-top:9px}
.small-frame{display:block;width:54px;height:66px;margin-top:64px;border:5px solid var(--color-red);position:relative}
.small-frame:after{content:"";position:absolute;left:-6px;bottom:8px;width:7px;height:15px;background:var(--color-paper)}
.idea-content{max-width:752px}
.idea-body{margin-top:40px;max-width:660px;font-size:1.1875rem;line-height:1.65}
.idea-body p+p{margin-top:24px}
.idea-closing{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.5625rem,2.65vw,2.375rem);font-weight:600;line-height:1.25;letter-spacing:-.035em;margin-top:48px}
.idea-closing span{color:var(--color-red-text)}
.areas{border-top:1px solid var(--color-line)}
.areas-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px}
.areas-heading>p{font-size:1.125rem;line-height:1.6;padding-bottom:4px;padding-right:56px}
.area-row{display:grid;grid-template-columns:40px 1.05fr 1.2fr 64px;align-items:center;gap:24px;padding-block:36px;border-top:1px solid var(--color-line)}
.area-row:last-child{border-bottom:1px solid var(--color-line)}
.area-number{font-size:1rem;color:var(--color-muted);align-self:start;padding-top:11px}
.area-row h3{font-size:clamp(1.875rem,3.2vw,2.75rem);text-transform:uppercase;letter-spacing:-.055em;line-height:1.15}
.area-copy>p{font-size:1.125rem;line-height:1.55;max-width:420px}
.area-copy .area-examples{font-size:1rem;line-height:1.6;margin-top:12px;color:var(--color-muted)}
.area-symbol{width:48px;height:48px;justify-self:end;color:var(--color-red)}
.area-row:nth-child(3) .area-symbol,.area-row:nth-child(4) .area-symbol{color:var(--color-ink)}
.contact{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding-bottom:128px}
.contact>.eyebrow{padding-top:10px}
.contact h2{font-size:clamp(3rem,5.3vw,4.75rem)}
.contact-content>p{font-size:1.1875rem;line-height:1.6;max-width:490px;margin-top:32px}
.email-link{display:inline-flex;align-items:center;gap:32px;font-size:clamp(1.125rem,2.25vw,1.875rem);font-weight:500;letter-spacing:-.035em;text-decoration:none;border-bottom:1px solid var(--color-ink);padding-block:12px;margin-top:28px;min-height:48px}
.site-footer{border-top:1px solid var(--color-line);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px 32px}
.site-footer p{font-size:1rem;line-height:1.55}

@media(min-width:1600px){.hero-art{width:44%}.hero{padding-top:80px}}
@media(max-width:1100px){:root{--page-gutter:40px}.hero-art{width:42%;right:-8px;bottom:126px}.hero-copy{max-width:440px}.area-row{grid-template-columns:28px 1fr 1.1fr 40px;gap:16px}.area-symbol{width:36px}.areas-heading>p{padding-right:0}.idea,.contact{grid-template-columns:1fr 2.4fr}}
@media(max-width:800px){:root{--page-gutter:32px}.site-header{height:96px}nav{gap:28px}.hero{padding-top:48px}h1{font-size:clamp(3.25rem,8.5vw,4.25rem)}.hero-copy{max-width:55%}.hero-copy p{font-size:1.125rem}.hero-art{width:42%;bottom:115px;right:-8px}.section{padding-block:80px}.idea,.contact{grid-template-columns:1fr;gap:32px}.small-frame{display:none}.idea-content{max-width:640px}.area-row{grid-template-columns:24px 1fr 1.2fr 32px;gap:16px}.area-row h3{font-size:1.6875rem}.area-copy>p{font-size:1.0625rem}.areas-heading>p{font-size:1.0625rem}.area-symbol{width:30px}.contact-content>p{max-width:520px}}
@media(max-width:600px){:root{--page-gutter:24px}html{scroll-padding-top:24px}.site-header{height:88px}.brand{width:180px;height:72px}.brand img{width:180px;top:-1px}.site-header .brand,.site-footer .brand{margin-left:-22px}nav{gap:16px}nav a{font-size:1rem}nav a:not(:last-child){display:none}.hero{padding-top:40px}h1{font-size:clamp(2.5rem,10.5vw,3.75rem);letter-spacing:-.055em;line-height:1.05}h1>span:first-child{margin-bottom:6px}.hero-copy{max-width:100%;margin-top:24px}.hero-copy p{font-size:1.0625rem;line-height:1.6;max-width:390px}.text-link{margin-top:18px;font-size:1rem;gap:24px}.hero-art{position:relative;width:72%;right:auto;bottom:auto;margin:-6px 0 0 auto;max-height:260px}.hero-bottom{padding-block:20px 24px;gap:12px}.eyebrow{font-size:1rem;letter-spacing:.105em}.hero-bottom .eyebrow{font-size:1rem;letter-spacing:.075em}.down-mark{font-size:1.25rem}.section{padding-block:64px}h2{font-size:2.25rem;line-height:1.12}.idea,.contact{gap:24px}.section-side{padding:0}.idea-body{margin-top:28px;font-size:1.0625rem;line-height:1.65}.idea-body p+p{margin-top:20px}.idea-closing{font-size:1.6875rem;margin-top:32px}.areas-heading{display:block;margin-bottom:32px}.areas-heading>p{margin-top:24px;font-size:1.0625rem}.areas-heading>p br{display:none}.area-row{position:relative;grid-template-columns:24px 1fr 40px;gap:14px;padding-block:28px}.area-number{padding-top:7px}.area-row h3{font-size:1.9375rem}.area-copy{grid-column:2/4;padding-right:8px}.area-copy>p{font-size:1.0625rem}.area-copy .area-examples{font-size:1rem;margin-top:12px}.area-symbol{grid-column:3;grid-row:1;width:32px;height:32px}.contact>.eyebrow{padding:0}.contact h2{font-size:2.6875rem}.contact-content>p{font-size:1.0625rem;margin-top:24px}.email-link{font-size:1.125rem;gap:12px;letter-spacing:-.035em;margin-top:20px}.site-footer{padding-block:16px 24px;gap:16px;flex-wrap:wrap}.site-footer .brand{width:152px;height:64px;margin-left:-18px}.site-footer .brand img{width:152px;top:0}.site-footer p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep enlarged text and long addresses inside their layout. */
h1,h2,h3{overflow-wrap:anywhere}
.contact-content,.area-copy,.area-row h3{min-width:0}
.email-link{max-width:100%}
.email-link span{flex-shrink:0}
.email-address{white-space:nowrap}

/* Partner projects extend the existing two-column section grid. */
.projects,.about{border-top:1px solid var(--color-line)}
.projects-heading,.project-group,.projects-context{display:grid;grid-template-columns:1fr 2fr;gap:32px}
.projects-heading>.eyebrow{padding-top:9px}
.projects-intro,.projects-context p{max-width:660px;font-size:1.1875rem;line-height:1.65}
.projects-intro{margin-top:40px}
.projects-intro a:hover{color:var(--color-red-text)}
.project-groups{margin-top:56px}
.project-group{padding-block:32px;border-top:1px solid var(--color-line);align-items:start}
.project-group:last-child{border-bottom:1px solid var(--color-line)}
.project-group h3{font-family:"DM Sans",sans-serif;font-weight:500;padding-top:13px;overflow-wrap:normal}
.project-links{display:flex;flex-wrap:wrap;align-items:start;gap:16px 40px;list-style:none;margin:0;padding:0;min-width:0}
.project-links li{max-width:100%}
.project-links a,.project-name{display:inline-flex;align-items:baseline;gap:16px;min-height:44px;max-width:100%;font-size:1.5rem;line-height:1.4;letter-spacing:-.025em;text-decoration-thickness:1px;text-decoration-color:var(--color-muted);padding-block:5px}
.project-links a span:first-child{min-width:0;overflow-wrap:anywhere}
.project-links a span[aria-hidden]{font-size:1.125rem;flex-shrink:0;transition:transform 250ms ease}
.project-links a:hover{color:var(--color-red-text)}
.project-links a:hover span[aria-hidden]{transform:translate(3px,-3px)}
.projects-context{margin-top:40px}
.projects-context p{grid-column:2}

@media(max-width:1100px){.projects-heading,.project-group,.projects-context{grid-template-columns:1fr 2.4fr}}
@media(max-width:800px){.projects-heading,.project-group,.projects-context{grid-template-columns:1fr;gap:24px}.projects-context p{grid-column:1}.project-group h3{padding-top:0}.projects-intro,.projects-context p{max-width:640px}.project-links{gap:12px 32px}}
@media(max-width:600px){.projects-intro,.projects-context p{font-size:1.0625rem}.projects-intro{margin-top:28px}.project-groups{margin-top:32px}.project-group{padding-block:24px;gap:16px}.project-links{flex-direction:column;gap:8px}.project-links a,.project-name{font-size:1.25rem;gap:12px}.projects-context{margin-top:28px}.projects-heading>.eyebrow{padding:0}}

.project-name{overflow-wrap:anywhere}

.about{padding-block:96px}
.about .about-signature{margin-top:24px;font-size:1rem;line-height:1.6;color:var(--color-muted)}
.about .about-thought{max-width:660px;margin-top:32px;font-family:"Space Grotesk",sans-serif;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:600;line-height:1.45;letter-spacing:-.025em}
@media(max-width:800px){.about{padding-block:80px}}
@media(max-width:600px){.about{padding-block:64px}}
