@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('assets/newsreader-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#ffffff;--ink:#1d292f;--mineral:#466479;--mist:#d6e0e3;--accent:#dde7b8;--muted:#59666d;--line:#bdc7c8;--gutter:clamp(24px,5.5vw,88px);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--mineral);outline-offset:6px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{line-height:1.06;letter-spacing:-.055em}em{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(2.6rem,4.25vw,4.25rem)}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.5}.section{padding-block:104px}.skip-link{position:fixed;z-index:20;top:12px;left:20px;padding:12px 24px;background:var(--ink);color:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:none}.header{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:32px;position:relative}.header:after{content:'';height:1px;background:var(--line);position:absolute;bottom:0;left:var(--gutter);right:var(--gutter)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:143px}.brand span{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;padding-top:7px}.header nav{display:flex;align-items:center;gap:32px;font-size:.875rem;font-weight:500}.header nav a{padding-block:12px;position:relative}.header nav a:not(.nav-contact):after{content:'';position:absolute;height:1px;background:currentColor;bottom:7px;left:0;width:0;transition:width .25s}.header nav a:hover:after{width:100%}.header .nav-contact{border:1px solid var(--ink);padding:10px 18px;display:flex;align-items:center;gap:26px}.nav-contact:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:0 7%;padding-top:72px}.hero-copy{align-self:center;padding-bottom:14px}.hero .eyebrow{color:var(--mineral);margin-bottom:30px}h1{font-size:clamp(3.7rem,6.6vw,6.4rem);line-height:1.05;letter-spacing:-.06em}h1 em{color:var(--mineral)}.hero-description{font-size:1rem;max-width:440px;margin-top:30px;line-height:1.8}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:56px;padding:15px 24px;font-size:.875rem;font-weight:500;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button span{font-size:1.4rem;line-height:1}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--mineral);transform:translateY(-2px)}.hero .button{margin-top:32px}.hero-visual{background:var(--mineral);color:var(--paper);aspect-ratio:1/1.13;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;animation:arrive .6s both}.visual-top,.visual-bottom{padding:25px 28px;display:flex;justify-content:space-between;gap:16px}.visual-top{font-size:.6875rem;letter-spacing:.11em;text-transform:uppercase}.hero-symbol{width:49%;max-height:245px;align-self:center;margin-block:22px;object-fit:contain}.visual-bottom{font-size:.8125rem;align-items:end;padding-bottom:24px}.visual-signature{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:1.2rem;white-space:nowrap}.visual-foot{background:var(--accent);color:var(--ink);padding:16px 28px;display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.04em}.hero-baseline{grid-column:1/-1;display:flex;justify-content:space-between;gap:24px;margin-top:48px;padding-block:23px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.hero-baseline a{display:flex;gap:32px;color:var(--ink)}.hero-baseline a span{font-size:1.1rem}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:24px;color:var(--mineral)}.section-heading>p{max-width:375px;font-size:.9375rem;color:var(--muted);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px}.project-content{padding-top:80px}.project-art{display:block;position:relative;overflow:hidden;aspect-ratio:1.18}.identity-art{background:var(--ink);color:var(--paper);display:flex;flex-direction:column}.identity-main{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px;position:relative}.art-label{position:absolute;top:26px;left:28px;font-size:.625rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mist)}.identity-main img{width:72%;margin-top:28px;transition:transform .5s}.identity-tagline{font-family:Newsreader,Georgia,serif;font-size:clamp(1.3rem,2vw,2rem);font-style:italic;margin-top:8px}.identity-strip{display:grid;grid-template-columns:1.2fr 1fr .7fr;min-height:65px;color:var(--ink);font-size:.625rem}.identity-strip span{display:flex;align-items:center;padding-left:24px}.identity-strip span:nth-child(1){background:var(--paper);border:1px solid var(--line)}.identity-strip span:nth-child(2){background:var(--mineral);color:var(--paper)}.identity-strip span:nth-child(3){background:var(--accent)}.project-arrow{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.4rem;transition:transform .25s}.project-art:hover .project-arrow{transform:rotate(45deg)}.project-art:hover .identity-main img{transform:translateY(-5px)}.content-art{background:var(--mist);display:flex;gap:5%;justify-content:center;align-items:center;padding:40px 30px}.content-art img{width:44%;box-shadow:0 12px 22px #1d292f12;transition:transform .5s}.content-art img:first-child{transform:translateY(-16px)}.content-art img:nth-child(2){transform:translateY(16px)}.content-art:hover img{transform:translateY(0)}.project-caption{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-top:22px}.project-caption h3{font-size:1.05rem;letter-spacing:-.02em}.project-caption p{font-size:.8125rem;color:var(--muted);margin-top:5px}.tag{font-size:.6875rem;line-height:1.4;padding:6px 9px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}.case-study{margin-top:56px;border-block:1px solid var(--line);scroll-margin-top:32px}.case-study summary{list-style:none;display:flex;align-items:center;gap:24px;padding-block:26px;font-size:.9375rem;font-weight:500}.case-study summary::-webkit-details-marker{display:none}.summary-note{margin-left:auto;color:var(--muted);font-size:.8125rem;font-weight:400}.plus{width:16px;height:16px;position:relative;margin-left:8px;flex-shrink:0}.plus:before,.plus:after{content:'';background:currentColor;position:absolute;left:0;top:7px;width:16px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:none}.case-body{display:grid;grid-template-columns:1fr 1.25fr;gap:7%;padding-block:16px 40px}.case-body h3{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin-block:16px 24px}.case-body p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:16px}.case-body .case-disclosure{font-size:.8125rem!important}.case-body figure{margin:0;align-self:center}.case-body img{border:1px solid var(--line)}figcaption{font-size:.75rem;color:var(--muted);margin-top:12px}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.services{background:var(--ink);color:var(--paper)}.services .eyebrow{color:var(--accent)}.services .section-heading>p{color:var(--mist)}.services h2 em{color:var(--accent)}.service{display:grid;grid-template-columns:40px .85fr 1fr 72px;gap:24px;align-items:start;border-top:1px solid #657177;padding-block:36px}.service-number{font-size:.75rem;color:var(--mist);padding-top:10px}.service h3{font-size:clamp(2rem,3.1vw,3rem);line-height:1.25;letter-spacing:-.04em}.service>div>p{font-size:.9375rem;max-width:430px;color:var(--mist)}.service ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:20px 0 0;font-size:.75rem;color:var(--paper)}.service ul li{border-bottom:1px solid #657177;padding-bottom:4px}.service-index{text-align:right;font-size:2.7rem;font-family:Newsreader,Georgia,serif;font-style:italic;color:var(--accent)}.about>.eyebrow{color:var(--mineral);margin-bottom:40px}.about-content{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.about-copy p{font-size:.9375rem;color:var(--muted);margin-bottom:22px}.about-copy .about-lead{font-size:1.25rem;line-height:1.5;color:var(--ink);letter-spacing:-.025em}.text-link{display:inline-flex;align-items:center;gap:44px;border-bottom:1px solid var(--ink);padding-block:8px;font-size:.875rem}.text-link:hover{color:var(--mineral)}.principles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding-block:32px 0;margin-top:64px;border-top:1px solid var(--line);font-size:.875rem}.principles span:nth-child(2){text-align:center}.principles span:nth-child(3){text-align:right}.process{padding-top:24px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.process-grid article{border-top:1px solid var(--ink);padding-top:20px}.step{font-size:.75rem;color:var(--mineral);letter-spacing:.06em}.process-grid h3{font-size:1.3rem;letter-spacing:-.03em;margin-top:36px;margin-bottom:16px}.process-grid p{font-size:.9375rem;color:var(--muted)}.contact{background:var(--accent)}.contact-inner{padding-block:80px;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}.contact .eyebrow{margin-bottom:28px}.contact h2{font-size:clamp(3rem,5.75vw,5.5rem)}.contact-description{font-size:.9375rem;margin-top:24px}.contact-action{display:flex;flex-direction:column;align-items:flex-end;gap:32px}.contact-action>img{width:86px}.contact-pending{font-size:.9375rem;text-align:right}.contact-action noscript{max-width:280px;font-size:.875rem}.contact-action .button{min-width:235px}.contact-action .contact-email{display:block;font-size:.875rem;text-align:right;margin-top:16px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-action a:focus-visible{outline-color:var(--ink)}.footer{padding-top:40px;padding-bottom:24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top p{font-size:.8125rem;color:var(--muted)}.back-top{font-size:.8125rem;display:flex;gap:24px;align-items:center;min-height:44px}.footer-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}[hidden]{display:none!important}.visual-top,.visual-foot,.art-label,.identity-strip,.tag{font-size:.75rem}
@media(min-width:1441px){.hero{padding-top:88px}}
@media(max-width:1000px){.header nav{gap:20px}.brand span{display:none}.hero{gap:0 5%}.hero-symbol{margin-block:8px}.visual-top,.visual-bottom{padding:20px}.visual-signature{display:none}.project-grid{gap:24px}.section{padding-block:80px}}
@media(max-width:760px){html{scroll-padding-top:24px}.header{min-height:88px}.brand img{width:125px}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:transparent;color:var(--ink);padding:12px 0 12px 16px;font-size:.875rem;min-height:44px}.menu-glyph{width:20px;height:12px;border-block:1px solid currentColor}.menu-toggle[aria-expanded=true] .menu-glyph{height:1px;border-bottom:0}.header nav{display:none;position:absolute;z-index:10;top:87px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px var(--gutter);box-shadow:0 16px 24px #1d292f0c}.header nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:8px}.header nav a{padding-block:12px}.header .nav-contact{justify-content:space-between;margin-top:8px}.hero{grid-template-columns:1fr;padding-top:48px;gap:36px}.hero .eyebrow{font-size:.6875rem;margin-bottom:24px}h1{font-size:clamp(3.5rem,10.5vw,5rem)}.hero-copy{padding:0}.hero-description{margin-top:24px;font-size:.9375rem}.hero .button{margin-top:24px}.hero-visual{aspect-ratio:1.25;max-height:420px}.hero-symbol{width:37%;max-height:175px;margin-block:0}.visual-top,.visual-bottom{padding:18px 24px}.visual-signature{display:block}.visual-foot{padding:13px 24px}.hero-baseline{margin-top:0;padding-top:20px;font-size:.75rem}.hero-baseline>span{max-width:190px}.hero-baseline a{gap:12px;align-items:center;white-space:nowrap}.section{padding-block:64px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{margin-top:24px;font-size:.9375rem}h2{font-size:clamp(2.65rem,8.8vw,3.5rem)}.project-grid{grid-template-columns:1fr;gap:40px}.project-content{padding:0}.project-art{aspect-ratio:1.14}.project-caption h3{font-size:1rem}.identity-main img{width:70%}.identity-tagline{font-size:1.65rem}.case-study{margin-top:40px}.summary-note{display:none}.case-study summary{justify-content:space-between;font-size:.875rem}.case-body{grid-template-columns:1fr;gap:32px}.case-body h3{font-size:1.75rem}.case-body p:not(.eyebrow){font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:1000px){.service{grid-template-columns:30px .75fr 1fr;gap:20px}.service-index{display:none}.footer-top p{max-width:200px}.contact-inner{grid-template-columns:1.3fr 1fr}}
@media(max-width:760px){.service{grid-template-columns:24px 1fr;gap:12px 18px;padding-block:28px}.service>div{grid-column:2}.service-number{padding-top:5px}.service h3{font-size:2rem}.service>div>p{font-size:.875rem}.service ul{gap:8px 16px;font-size:.75rem}.about>.eyebrow{margin-bottom:24px}.about-content{grid-template-columns:1fr;gap:32px}.about-copy .about-lead{font-size:1.2rem}.principles{grid-template-columns:1fr;gap:12px;margin-top:40px;padding-top:24px}.principles span:nth-child(n){text-align:left}.process{padding-top:8px}.process-grid{grid-template-columns:1fr;gap:32px}.process-grid h3{margin-top:18px;margin-bottom:12px;font-size:1.25rem}.process-grid p{max-width:450px}.contact-inner{grid-template-columns:1fr;padding-block:56px;gap:36px}.contact h2{font-size:3.25rem}.contact .eyebrow{font-size:.6875rem}.contact-action{align-items:flex-start;gap:20px}.contact-action>img{display:none}.contact-pending{text-align:left}.contact-action .contact-email{text-align:left}.contact-action .button{min-width:240px}.footer-top{flex-wrap:wrap;gap:12px 24px}.footer-top p{order:3;max-width:none;width:100%}.footer-brand span{display:inline}.footer-brand img{width:112px}.back-top{gap:12px;font-size:.75rem}.footer-bottom{margin-top:24px;font-size:.6875rem}.visual-top{font-size:.625rem}.visual-foot{font-size:.6875rem}.visual-bottom{font-size:.75rem}.art-label{font-size:.6875rem}.tag{font-size:.6875rem}.identity-strip{font-size:.6875rem}}
@media(max-width:360px){:root{--gutter:20px}.visual-signature{display:none}.hero-baseline{font-size:.6875rem}.hero-baseline>span{max-width:140px}.project-caption{gap:8px}.project-caption h3{font-size:.9375rem}.brand span{font-size:.625rem}.footer-top{gap:12px}.contact h2{font-size:2.9rem}}
@media(max-width:760px){html:not(.js) .header{flex-wrap:wrap;padding-block:16px}html:not(.js) .header nav{position:static;display:flex;flex-wrap:wrap;box-shadow:none;padding:0;border:0;gap:16px}html:not(.js) .header .menu-toggle{display:none}}
.hero-copy,.hero-visual{min-width:0}.button{max-width:100%}.visual-bottom{flex-wrap:wrap}.visual-signature{white-space:normal}.hero-baseline{flex-wrap:wrap}
.section-heading>p,.service>div>p,.about-copy p,.process-grid p,.contact-description,.hero-description{font-size:1rem}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}h1,h2{overflow-wrap:anywhere}.hero-visual{min-height:300px;max-height:none;aspect-ratio:auto}.hero-symbol{margin-block:16px}.visual-top,.visual-foot{font-size:.75rem}.art-label,.tag,.identity-strip,.footer-bottom{font-size:.75rem}}
