/* A quieter, editorial direction. */
:root{--paper:#f7f7f5;--ink:#222321;--muted:#6a6d68}
body,footer{background:var(--paper)}
h1,h2,h3{font-weight:500}
h1>span,h2>span{color:#747970}
h2{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.7px}
.kicker{letter-spacing:1.3px;font-size:9px;font-weight:500}
.button{border-radius:7px;padding:15px 23px;box-shadow:none!important;font-weight:500;font-size:12px;gap:0}
.button:hover{transform:translateY(-1px)}
.button.dark{background:#292d28}
.text-link{font-size:12px;gap:0;border-color:#9ca199}
.editorial-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:6%;align-items:center;max-width:1440px;margin:auto;padding:145px 6% 65px;overflow:visible}
.editorial-hero .hero-intro{text-align:left;padding:0;min-width:0}
.editorial-hero h1{font-size:clamp(36px,4.5vw,65px);line-height:1.07;letter-spacing:-2.6px;margin:0 0 28px}
.editorial-hero h1>span{background:none;color:#7b8177;-webkit-text-fill-color:currentColor}
.editorial-hero .hero-intro>p{margin:0;max-width:410px;font-size:16px;line-height:1.8;color:#545b51}
.editorial-hero .hero-intro>.hero-detail{font-size:12px;max-width:330px;color:#7c8279;margin-top:17px;line-height:1.8}
.editorial-hero .hero-actions{justify-content:flex-start;align-items:center;gap:25px;margin-top:29px;flex-wrap:wrap}
.editorial-image{position:relative;min-width:0;animation:photo-arrive 1s ease both}
.editorial-image>img{width:100%;height:480px;object-fit:cover;object-position:62% center;border-radius:3px}
.image-credit{display:flex;justify-content:space-between;gap:12px;margin-top:13px;font-size:9px;color:#73796f}
.scroll-cue{display:inline-flex;align-items:center;gap:13px;margin-top:45px;font-size:10px;letter-spacing:.3px;color:#737b6b}
.scroll-track{display:block;height:36px;width:1px;background:#d8ddd4;position:relative;overflow:hidden}
.scroll-track>span{position:absolute;inset:0;background:#6d7e60;transform:translateY(-100%);animation:scroll-guide 2.4s ease-in-out 4}
.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;background:#8a967e;transform-origin:left;transform:scaleX(0);z-index:100;pointer-events:none}
.client-strip{border:0;padding-top:24px;padding-bottom:40px}
.client-strip>span{font-size:9px;color:#7b8177}.client-strip a{font-size:18px;color:#646c5e}
.section{padding-top:80px;padding-bottom:80px}
.section-heading{margin-bottom:30px}
.vision-section{border-radius:4px;min-height:460px;margin-left:6%;margin-right:6%;background:#e8ebe3;color:#272d24}
.vision-copy{padding:45px 10%}
.vision-copy h2{font-size:clamp(30px,3vw,44px);letter-spacing:-1.5px}
.vision-copy h2>span{color:#7b8472}
.vision-copy .kicker{color:#6c7564}
.vision-copy>p{font-size:14px;color:#626b5a;max-width:410px;margin:23px 0}
.vision-copy .button.light{background:transparent;color:#30392b;border-color:#b6c0ad}
.vision-art{min-height:400px;height:420px;margin:20px;border-radius:3px}
.card-picture,.work-grid .card-picture,.client-grid>a,.service-panel,.service-tile,.studio-banner{border-radius:5px}
.campaign-card{border-radius:4px;background:transparent;border:0;border-top:1px solid #ccd2c5;padding:25px 14px 20px 0}
.campaign-card:hover{transform:none;box-shadow:none}
.campaign-card h3{font-size:23px;font-weight:500}
.campaign-grid{gap:34px}
.campaign-card .kicker{font-size:9px}
.campaign-card .deliverables{font-size:11px;color:#7c8376}
.next-section{padding:85px 6% 95px;background:#ecefe7}
.next-section h2{font-size:clamp(32px,3.6vw,50px);font-weight:500;letter-spacing:-1.7px}
.next-section .kicker{display:none}
.page-intro{padding:155px 6% 65px}
.page-intro h1{font-size:clamp(38px,4.7vw,65px);letter-spacing:-2.2px}
.contact-copy h1{font-size:clamp(36px,4vw,55px);letter-spacing:-2px}
.brief-card{border-radius:10px;box-shadow:0 8px 35px #242c4805}
.brief-card h2{font-size:29px}
.footer-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-bottom:30px}
.footer-main>a:first-child{justify-self:start}
.footer-main>a:last-child{justify-self:end;margin:0;font-size:11px;gap:0;flex-basis:auto}
.footer-socials,.footer-main>.footer-socials{display:flex;justify-content:center;align-items:center;gap:3px;width:auto;order:0;flex-basis:auto}
.footer-socials a{width:32px;height:34px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#73786f}
.footer-socials a:hover{background:transparent;color:#20291b;transform:translateY(-2px)}
.footer-socials svg{width:13px;height:13px}
.footer-bottom{font-size:9px;color:#7b8177}
.footer-main .logo-window{width:83px;height:42px}
.mini-tag{box-shadow:none;font-size:7px}
.card-open:empty{display:none}
.service-tile h3{font-weight:500}
.manifesto{border-radius:4px}
@keyframes scroll-guide{0%{transform:translateY(-100%)}65%,100%{transform:translateY(100%)}}
@keyframes photo-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){
 .editorial-hero{gap:5%;padding-top:135px}
 .editorial-hero .hero-actions{gap:15px}
 .editorial-image>img{height:420px}
 .footer-main{grid-template-columns:1fr auto 1fr}
 .footer-main>a:last-child{font-size:10px}
}
@media(max-width:700px){
 .editorial-hero{grid-template-columns:1fr;padding:128px 6% 35px;gap:30px}
 .editorial-hero h1{font-size:clamp(34px,9.5vw,48px);letter-spacing:-1.8px;margin-bottom:20px}
 .editorial-hero .hero-intro>p{font-size:14px;max-width:360px}
 .editorial-hero .hero-intro>.hero-detail{font-size:11px;margin-top:12px}
 .editorial-hero .hero-actions{margin-top:23px;gap:23px}
 .editorial-hero .hero-actions .button{font-size:11px;padding:14px 18px}
 .editorial-hero .hero-actions .text-link{font-size:11px}
 .scroll-cue{margin-top:27px;font-size:10px}.scroll-track{height:26px}
 .editorial-image>img{height:300px}
 .image-credit{font-size:8px}
 .client-strip{padding-top:10px;padding-bottom:30px}
 .client-strip a{font-size:11px}
 .section{padding:60px 6%}
 h2{font-size:31px;letter-spacing:-1.2px}
 .vision-section{grid-template-columns:1fr;margin:0 6%;min-height:0}
 .vision-copy{padding:35px 7%}
 .vision-copy h2{font-size:31px}
 .vision-art{min-height:0;height:300px;margin:0 15px 15px}
 .campaign-grid{gap:18px}.campaign-card{padding-top:24px}
 .next-section{padding:60px 6% 65px}
 .next-section h2{font-size:34px;letter-spacing:-1.3px}
 .page-intro{padding:135px 6% 45px}.page-intro h1{font-size:38px;letter-spacing:-1.5px}
 .contact-copy h1{font-size:38px;letter-spacing:-1.5px}
 .footer-main{grid-template-columns:1fr;text-align:center;gap:17px;justify-items:center}
 .footer-main>a:first-child,.footer-main>a:last-child{justify-self:center}
 .footer-main>.footer-socials{width:auto;justify-content:center}
 .footer-socials a{width:32px;height:32px}
 .footer-socials svg{width:13px;height:13px}
 .footer-bottom{justify-content:center;gap:10px 18px}
 .footer-bottom>span:last-of-type{display:none}
 .reading-progress{height:2px}
}
@media(prefers-reduced-motion:reduce){
 .editorial-image,.scroll-track>span{animation:none}
 .scroll-track>span{transform:none;opacity:.5}
 .reading-progress{display:none}
}
