@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f4f5f0;--ink:#18231b;--muted:#60685e;--lime:#dcf990;--line:#cdd1c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #677f35;outline-offset:6px}.skip{position:fixed;top:-70px;left:20px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}.header{height:108px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;line-height:1.1;font-family:Manrope,sans-serif;font-weight:750;font-size:25px;letter-spacing:-1px}.agency{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:3.5px;margin-top:6px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a:hover,.text-link:hover{opacity:.6}.nav-cta{font-size:14px;border-bottom:1px solid;padding:9px 0}.nav-cta span{margin-left:32px}.hero{padding:34px 4.6% 0}.hero-top,.hero-bottom,.section-label{display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow,.edition,.section-label,.small,.visual-caption{font-size:12px;font-weight:500;letter-spacing:1.15px}.eyebrow{margin:0}.edition{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:12px;align-items:center;padding:38px 0 46px}.hero-copy{padding:10px 0 24px;position:relative;z-index:1}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(65px,6.8vw,112px);font-weight:500;letter-spacing:-.075em;line-height:1.04;margin-bottom:32px}em{font-family:Georgia,serif;font-weight:400}h1 em{letter-spacing:-.06em}.hero-role{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.5px;margin-bottom:18px}.intro{max-width:405px;color:var(--muted);font-size:16px;line-height:1.65;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:55px;padding:16px 22px;font-size:14px;font-weight:500;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#344934}.light{background:var(--lime);color:var(--ink)}.motion-panel{position:relative;background:var(--lime);aspect-ratio:1/1;border-radius:50% 50% 4px 4px;overflow:hidden;isolation:isolate}.ripple{display:block;width:100%;height:100%;transform:scale(1.08)}.rings{transform-origin:325px 325px;animation:turn 28s linear infinite;stroke-width:1.15}.rings ellipse:nth-child(2n){stroke-width:2}.orbit{transform-origin:325px 325px;animation:turn 17s linear infinite reverse}.visual-caption{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:10px}.motion-toggle{position:absolute;top:21px;left:50%;transform:translateX(-50%);background:var(--paper);border:0;border-radius:20px;padding:8px 13px;white-space:nowrap;font-size:12px;cursor:pointer}.motion-toggle span{margin-left:10px}.hero-bottom{border-top:1px solid var(--line);padding:20px 0;font-size:12px;color:var(--muted)}.hero-bottom a{color:var(--ink)}.section{padding:90px 4.6%}.section-label{margin-bottom:62px}.section-label span+span{color:var(--muted)}h2{font-size:clamp(38px,4.3vw,67px);font-weight:500;line-height:1.1;letter-spacing:-.06em;margin-bottom:28px}.thinking{padding-top:94px}.thinking-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.thinking-grid p{max-width:510px;color:var(--muted);font-size:16px}.thinking-grid .statement{font-size:26px;line-height:1.4;color:var(--ink);letter-spacing:-.6px;margin-bottom:25px}.effect-strip{display:flex;align-items:center;gap:6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-top:40px}.effect-strip p{margin:7px 0 0;font-size:23px;letter-spacing:-.5px}.effect-strip .small{color:var(--muted)}.connector{font-size:40px;font-weight:400}.effect-mark{margin-left:auto;font-size:58px;line-height:1}.system{background:#e9ece3}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-heading h2{margin:0}.section-heading p{max-width:360px;font-size:16px;color:var(--muted);margin:0}.services details{border-top:1px solid #bcc4b5}.services details:last-child{border-bottom:1px solid #bcc4b5}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.services summary{display:flex;align-items:center;gap:50px;padding:26px 0}.service-num{font-size:13px;color:var(--muted)}.services h3{font-size:clamp(24px,2.7vw,40px);font-weight:500;letter-spacing:-1.5px;margin:0}.plus{font-size:29px;margin-left:auto;transition:transform .3s}details[open] .plus{transform:rotate(45deg)}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding:0 0 35px 66px;font-size:16px;color:#515b4e}.service-body p{max-width:410px}.service-body ul{margin:0;padding:0;list-style:none;columns:2;column-gap:24px}.service-body li{margin-bottom:14px;break-inside:avoid}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.case-image{position:relative;aspect-ratio:1.38;overflow:hidden;background:#d4d8d0}.case-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.case:hover img{transform:scale(1.045)}.case-chip{position:absolute;left:20px;top:20px;padding:7px 12px;background:var(--paper);font-size:10px;letter-spacing:1px}.case-arrow{position:absolute;bottom:20px;right:20px;background:var(--paper);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px}.case-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.case-title h3{font-size:23px;letter-spacing:-.6px;font-weight:600;margin:0}.case-title span{font-size:13px;color:var(--muted)}.text-link{font-size:14px;white-space:nowrap;border-bottom:1px solid;padding-bottom:6px}.human{background:var(--ink);color:var(--paper)}.human .section-label span+span{color:#bdc4b8}.human-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center}.human h2{font-size:clamp(38px,4vw,61px)}.human h2 em{color:var(--lime)}.human p{color:#bdc4b8;max-width:410px;font-size:16px;margin:28px 0}.signal-system{padding:30px;border:1px solid #506048;transform:rotate(-3deg)}.signal-heading{font-size:11px;letter-spacing:1.5px;display:block;margin-bottom:40px}.signal-row{margin-bottom:25px}.signal-row span{font-size:16px;display:block;margin-bottom:10px}.signal-row i{display:block;height:8px;background:repeating-linear-gradient(90deg,var(--lime) 0 3px,transparent 3px 7px);width:var(--width);animation:signal 5s ease-in-out infinite;animation-delay:var(--delay);transform-origin:left}.signal-footer{display:flex;align-items:center;gap:16px;border-top:1px solid #506048;padding-top:20px;margin-top:40px;font-size:12px}.signal-footer img{filter:invert(1)}.human .illustrative{font-size:11px;margin:18px 0 0;color:#b1b9ac}.insights h2{margin-bottom:45px}.article-list>a{display:grid;grid-template-columns:230px 1fr 25px;gap:20px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.article-list>a:last-child{border-bottom:1px solid var(--line)}.article-list span{font-size:11px;letter-spacing:1px}.article-list span:last-child{font-size:22px}.article-list h3{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:0}.article-list a:hover h3{text-decoration:underline;text-underline-offset:6px}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;padding-top:30px}.faq h2{margin-top:20px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:18px}.faq details p{color:var(--muted);font-size:16px;padding-right:35px}.contact{background:var(--lime)}.contact .section-label{border-bottom:1px solid #afc776;padding-bottom:25px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}.contact h2{font-size:clamp(65px,7vw,110px);margin-top:5px}.contact-email{font-size:clamp(16px,1.7vw,25px);letter-spacing:-.5px;border-bottom:1px solid;padding-bottom:8px;display:inline-block}.contact p{font-size:14px;margin-top:25px}form{display:flex;flex-direction:column;align-items:start}form label{font-size:12px;margin-bottom:2px}form input,form textarea{width:100%;border:0;border-bottom:1px solid #afc776;background:transparent;border-radius:0;padding:10px 0 15px;margin-bottom:22px;resize:vertical;color:var(--ink);font-size:16px}form input::placeholder,form textarea::placeholder{color:#57683d}.contact .form-note{font-size:12px;margin-top:13px}footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:40px 4.6%}footer>span,footer>div{font-size:12px}footer>div{display:flex;gap:22px}footer .brand{font-size:23px}.motion-paused *{animation-play-state:paused!important}@keyframes turn{to{transform:rotate(360deg)}}@keyframes signal{0%,100%{transform:scaleX(.82);opacity:.65}50%{transform:scaleX(1);opacity:1}}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-grid{gap:45px}}@media(max-width:1000px){.header nav{gap:20px}.hero-grid{grid-template-columns:1.1fr 1fr}h1{font-size:70px}.hero-role{font-size:21px}.section{padding:70px 5%}.service-body{gap:30px}.service-body ul{columns:1}.article-list>a{grid-template-columns:170px 1fr 25px}.contact-grid{gap:7%}footer{flex-wrap:wrap}.edition{display:none}.human-grid{gap:5%}}@media(max-width:700px){.header{height:88px;padding:0 6%}.brand{font-size:21px}.brand img{width:39px;height:39px}.header nav{display:none}.nav-cta span{margin-left:13px}.hero{padding:25px 6% 0}.eyebrow{font-size:10px;letter-spacing:.7px}.hero-grid{grid-template-columns:1fr;padding:25px 0 30px;gap:30px}.hero-copy{padding:0}h1{font-size:clamp(56px,12vw,84px);letter-spacing:-.07em;margin-bottom:25px}.hero-role{font-size:21px}.intro{max-width:100%}.motion-panel{width:100%;max-width:480px;justify-self:center;aspect-ratio:1.08}.hero-bottom{align-items:start;font-size:11px;gap:20px}.hero-bottom>*{max-width:50%}.hero-bottom a{text-align:right}.section{padding:60px 6%}.section-label{margin-bottom:35px;font-size:10px}.section-label span+span{display:none}.thinking-grid,.human-grid,.contact-grid,.faq{grid-template-columns:1fr;gap:24px}h2{font-size:42px}.thinking-grid .statement{font-size:22px}.effect-strip{gap:16px;flex-wrap:wrap;margin-top:25px}.effect-strip p{font-size:17px}.effect-strip .small{font-size:9px;letter-spacing:.6px}.connector{font-size:25px}.effect-mark{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:25px}.section-heading .text-link{display:inline-block;margin-top:20px}.services summary{gap:21px;padding:23px 0}.services h3{font-size:23px;letter-spacing:-1px}.service-body{grid-template-columns:1fr;gap:10px;padding-left:36px}.service-body ul{columns:1}.work-grid{grid-template-columns:1fr;gap:40px}.case-title h3{font-size:22px}.case-title span{font-size:12px}.signal-system{transform:none;margin-top:28px;padding:25px}.human h2{font-size:39px}.human p{max-width:none}.article-list>a{grid-template-columns:1fr 25px;gap:10px;padding:25px 0}.article-list>a>span:first-child{grid-column:1/-1}.article-list h3{font-size:22px}.faq{gap:10px}.faq summary{font-size:16px}.contact h2{font-size:76px}.contact-email{font-size:18px}.contact-grid{gap:35px}footer{padding:30px 6%;gap:25px}footer>span{width:100%;order:3}footer>div{flex-wrap:wrap;font-size:11px;gap:17px}.button{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-toggle{display:none}}

/* A fixed mark column keeps the wordmark clear at every breakpoint. */
.brand{display:grid;grid-template-columns:52px max-content;gap:16px;align-items:center;flex:none;white-space:nowrap;letter-spacing:-.8px;line-height:1.2}
.brand>img{display:block;width:52px;height:52px;max-width:none;object-fit:contain}
.brand>span{display:block;min-width:0;padding:0}
.brand .agency{display:block;font-size:10px;line-height:1.4;margin-top:4px;letter-spacing:3.5px}
.header{position:relative;gap:28px;z-index:5}
.menu-toggle,.header nav .mobile-contact{display:none}
footer .brand{grid-template-columns:46px max-content;gap:14px}
footer .brand>img{width:46px;height:46px}
@media(max-width:1000px){
 .header{height:96px;gap:20px}
 .header nav{gap:18px}
 .brand{font-size:22px;grid-template-columns:46px max-content;gap:12px}
 .brand>img{width:46px;height:46px}
}
@media(max-width:800px){
 .header{height:86px;padding:0 6%;justify-content:space-between}
 .header>.nav-cta{display:none}
 .header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:16px 6% 24px;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #18231b0a;flex-direction:column;gap:0;font-size:18px}
 .header.menu-open nav{display:flex}
 .header nav a{display:block;padding:13px 0}
 .header nav .mobile-contact{display:block;border-top:1px solid var(--line);margin-top:8px}
 .menu-toggle{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}
 .menu-toggle span{display:block;background:var(--ink);width:18px;height:1.5px;transition:transform .2s}
 .menu-open .menu-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-open .menu-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
}
@media(max-width:700px){
 .brand{grid-template-columns:44px max-content;gap:12px;font-size:22px;letter-spacing:-.7px}
 .brand>img{width:44px;height:44px}
 .brand .agency{font-size:9px;letter-spacing:3px}
 .hero-grid{gap:32px}
 h1{font-size:clamp(48px,11.8vw,80px)}
 .motion-panel{aspect-ratio:1/1;max-width:440px}
 .visual-caption{font-size:10px;left:18px;right:18px;bottom:18px;letter-spacing:.5px}
 .hero-bottom{align-items:center;line-height:1.5}
 .effect-strip{display:grid;grid-template-columns:1fr;gap:12px;padding:24px 0}
 .effect-strip .connector{transform:rotate(90deg);justify-self:start;line-height:1}
 .effect-strip .small{font-size:11px}
 .effect-strip p{font-size:21px}
 .service-body{padding-left:0}
 .service-body ul{display:grid;gap:12px}
 .service-body li{margin:0}
 .case-title{align-items:start;flex-wrap:wrap;gap:5px 14px}
 .article-list span{font-size:12px}
 .faq .small{font-size:11px}
 .contact-email{overflow-wrap:anywhere}
 form input,form textarea{font-size:16px}
 footer{display:grid;grid-template-columns:1fr;gap:25px}
 footer>span{order:3}
 footer>div{font-size:12px;gap:24px}
}
@media(max-width:360px){
 .header{gap:12px}
 .brand{font-size:20px;grid-template-columns:38px max-content;gap:10px}
 .brand>img{width:38px;height:38px}
 h2,.human h2{font-size:36px}
 .services h3{font-size:21px;letter-spacing:-.8px}
 .services summary{gap:14px}
 .button{gap:20px;padding:16px 18px}
 .contact h2{font-size:68px}
}

/* Shared interior-page system. */
:root{--space-section:clamp(56px,7vw,112px);--content-width:1440px;--reading-width:720px}
.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
.page-hero{padding:64px 4.6% 72px;border-bottom:1px solid var(--line)}
.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:46px}
.breadcrumb a:hover{text-decoration:underline}.page-kicker{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.page-hero h1{max-width:1100px;font-size:clamp(48px,6.5vw,100px);line-height:1.08;letter-spacing:-.065em;margin-bottom:28px;overflow-wrap:break-word}
.page-hero .lede{font-size:clamp(19px,2vw,26px);line-height:1.5;max-width:760px;margin:0;color:var(--muted)}
.split-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:6%;align-items:center}
.identity-panel{background:var(--lime);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50% 50% 2px 2px}
.identity-panel img{width:70%;height:auto;display:block}
.interior-section{padding:var(--space-section) 4.6%}.interior-section h2{max-width:900px}
.editorial-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.editorial-grid p{color:var(--muted);max-width:650px}
.eyeline{font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.principle{padding-top:26px;border-top:1px solid var(--line)}.principle h3{font-size:27px;line-height:1.2;letter-spacing:-.8px;margin:30px 0 18px}.principle p{font-size:16px;color:var(--muted)}
.dark-section{background:var(--ink);color:var(--paper)}.dark-section p,.dark-section .eyeline{color:#c5ccbf}.dark-section .principle{border-color:#506048}
.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.service-links a{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;font-size:clamp(20px,2.3vw,32px);letter-spacing:-.5px}.service-links a:hover{color:#506238}
.service-links a span:last-child{margin-left:20px}.service-intro{max-width:740px;font-size:21px;line-height:1.65}.service-detail{display:grid;grid-template-columns:220px 1fr;gap:60px;padding:34px 0;border-top:1px solid var(--line)}.service-detail h3{font-size:25px;margin:0;line-height:1.3}.service-detail p{max-width:760px;margin-bottom:0;color:var(--muted)}
.cta-band{display:flex;gap:30px;align-items:center;justify-content:space-between;background:var(--lime);padding:64px 4.6%}.cta-band h2{font-size:clamp(36px,4vw,60px);margin:0}.cta-band .button{flex:none}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 28px}.project-grid .case:first-child{grid-column:1/-1}.project-grid .case:first-child .case-image{aspect-ratio:2.15}.project-grid .case-image{aspect-ratio:1.35}
.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px;padding-top:24px;border-top:1px solid var(--line)}.case-meta dt{font-size:14px;color:var(--muted);margin-bottom:8px}.case-meta dd{font-size:19px;margin:0}.project-cover{width:100%;max-height:720px;object-fit:cover;display:block}.project-body{display:grid;grid-template-columns:220px minmax(0,800px);gap:8%;padding:var(--space-section) 4.6%}.project-body aside{font-size:16px}.project-body aside p{color:var(--muted)}
.prose{font-size:18px;line-height:1.8;overflow-wrap:anywhere}.prose h2{font-size:clamp(29px,3.3vw,42px);line-height:1.2;letter-spacing:-1px;margin:50px 0 22px}.prose h3,.prose h4{font-size:25px;line-height:1.3;margin:35px 0 18px}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 25px}.prose ul,.prose ol{padding-left:25px;margin-bottom:30px}.prose li{margin-bottom:10px}.prose a{ text-decoration:underline;text-underline-offset:4px}.prose img{max-width:100%;height:auto}.prose blockquote{font-size:26px;border-left:3px solid var(--ink);padding:10px 0 10px 28px;margin:35px 0;line-height:1.5}.prose table{width:100%;border-collapse:collapse}.prose td,.prose th{padding:10px;border:1px solid var(--line)}
.article-hero{max-width:1150px;padding-bottom:60px}.article-hero h1{font-size:clamp(40px,5.8vw,82px)}.article-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-top:32px}.article-layout{display:grid;grid-template-columns:190px minmax(0,720px);gap:7%;padding:70px 4.6% 100px}.article-layout aside{font-size:14px;line-height:1.6}.article-layout aside a{display:block;margin:14px 0;text-decoration:underline;text-underline-offset:4px}.article-cover{display:block;width:100%;max-height:480px;object-fit:cover;margin-bottom:42px}
.journal-list a{display:grid;grid-template-columns:150px 1fr 26px;gap:32px;padding:36px 0;border-top:1px solid var(--line);align-items:start}.journal-list h2{font-size:clamp(26px,3vw,42px);line-height:1.2;letter-spacing:-1px;margin:0 0 16px}.journal-list p{font-size:16px;max-width:780px;color:var(--muted);margin:0}.journal-list time{font-size:14px;color:var(--muted)}.journal-list .category{display:block;font-size:14px;margin-top:12px}.journal-list a:hover h2{text-decoration:underline;text-underline-offset:6px}
.partner-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.partner-list p{font-size:28px;border-top:1px solid var(--line);padding:26px 0;margin:0;letter-spacing:-.8px}.contact-page{padding-top:65px}.contact-page h1{font-size:clamp(60px,7vw,110px)}.contact-page .contact-grid{gap:8%;grid-template-columns:1.2fr 1fr}.contact-page form{padding-top:16px}.contact-page form label{font-size:14px}.contact-page form select{width:100%;font:inherit;background:transparent;border:0;border-bottom:1px solid #afc776;padding:12px 0;margin-bottom:24px;color:var(--ink)}.contact-details{display:flex;flex-direction:column;align-items:start;gap:20px;margin-top:32px}.contact-details a{font-size:18px;text-decoration:underline;text-underline-offset:5px}.legal-layout{max-width:820px;margin:auto;padding:64px 5% 100px}.legal-layout.prose h1{font-size:50px}.not-found{min-height:65vh;padding:80px 6%;background:var(--lime)}.not-found h1{font-size:clamp(65px,10vw,150px);margin-bottom:30px}.not-found p{font-size:21px;max-width:530px}.site-footer{display:block;padding:55px 4.6% 30px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:35px;width:100%}.footer-nav{display:flex;gap:20px;flex-wrap:wrap;max-width:550px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:14px;width:100%}.footer-bottom div{display:flex;gap:24px}.service-body .text-link{display:inline-block;margin-top:16px;font-size:16px}
@media(max-width:1100px){.header{gap:16px}.header nav{gap:18px}.header .brand{font-size:22px;grid-template-columns:44px max-content;gap:12px}.header .brand>img{width:44px;height:44px}.nav-cta span{margin-left:12px}.project-body{gap:5%}}
@media(max-width:800px){.split-hero{grid-template-columns:1fr}.identity-panel{width:240px;margin-top:30px}.page-hero{padding:38px 6% 48px}.breadcrumb{margin-bottom:30px}.interior-section{padding:56px 6%}.editorial-grid{grid-template-columns:1fr;gap:24px}.principles{grid-template-columns:1fr;gap:30px}.principle h3{margin-top:20px}.service-links{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr;gap:16px}.cta-band{padding:45px 6%;flex-direction:column;align-items:start}.project-body,.article-layout{grid-template-columns:1fr;gap:25px;padding:48px 6%}.project-body aside,.article-layout aside{border-bottom:1px solid var(--line);padding-bottom:20px}.article-layout aside{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.article-layout aside p{margin:0}.project-grid{grid-template-columns:1fr;gap:40px}.project-grid .case:first-child .case-image{aspect-ratio:1.35}.case-meta{gap:20px}.case-meta dd{font-size:16px}.journal-list a{grid-template-columns:1fr 24px;gap:15px}.journal-list .journal-date{grid-column:1/-1;display:flex;gap:20px;align-items:center}.journal-list .category{margin:0}.partner-list{grid-template-columns:1fr}.contact-page .contact-grid{grid-template-columns:1fr;gap:35px}.footer-top{flex-direction:column}.site-footer .footer-bottom{font-size:14px}.footer-nav{gap:18px}.prose{font-size:17px}.article-cover{max-height:330px}}
@media(max-width:360px){.header .brand{font-size:20px;grid-template-columns:38px max-content;gap:10px}.header .brand>img{width:38px;height:38px}.case-meta{grid-template-columns:1fr}.page-hero h1{font-size:42px}.article-hero h1{font-size:36px}}
.category-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:50px}.category-nav a{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:30px;font-size:14px}.category-nav a:hover,.category-nav a[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.empty-category{padding:48px 0;max-width:720px}.empty-category p{color:var(--muted);font-size:19px;margin-bottom:30px}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:0 4.6% 70px}.project-gallery img{display:block;width:100%;height:100%;max-height:600px;object-fit:contain;background:#e8ebe3}.project-gallery img:only-child{grid-column:1/-1}.project-body .prose section+section{margin-top:60px}.article-layout .prose em{font-family:inherit;font-style:italic}.article-layout .prose li p{margin-bottom:12px}.cta-band>div{min-width:0}.cta-band>div h2{font-size:clamp(28px,3.5vw,48px)}@media(max-width:700px){.project-gallery{grid-template-columns:1fr;padding:0 6% 48px}.category-nav{gap:8px;margin-bottom:35px}.category-nav a{font-size:14px;padding:9px 12px}.article-hero .lede{font-size:19px}.site-footer{padding:40px 6% 24px}.footer-top .brand{display:grid;width:max-content}}


/* Editorial people imagery */
.people-image{margin:0 5%;overflow:hidden;background:#e5e7df;aspect-ratio:3/2}
.people-image img{display:block;width:100%;height:100%;object-fit:cover}
.hero+.people-image{aspect-ratio:16/9}
.hero+.people-image img{object-position:50% center}
.people-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:3%;padding:0 5% 64px}
.people-hero .page-hero{padding-left:0;padding-right:0;min-width:0}
.people-hero .page-hero h1{font-size:clamp(2.5rem,5.4vw,6rem)}
.people-hero .people-portrait{margin:0;aspect-ratio:4/5}
@media(max-width:700px){.people-image{margin:0 6%;aspect-ratio:4/3}.hero+.people-image{aspect-ratio:4/3}.hero+.people-image img{object-position:50% center}.people-hero{display:block;padding:0 6% 40px}.people-hero .people-portrait{max-width:440px;margin:0 auto}.people-hero .page-hero h1{font-size:clamp(2.5rem,10vw,4rem)}}

/* Shared vector arrows and mobile-safe native form control. */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
form select,.contact-page form select{display:block;width:100%;min-height:52px;box-sizing:border-box;appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid #afc776;border-radius:0;background-color:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;padding:12px 32px 15px 0;margin:0 0 22px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2318231b' stroke-width='1.7'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:20px 20px}
form select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
form select option{background:var(--paper);color:var(--ink)}
