:root{color-scheme:light;--ink:#333336;--muted:#6e6e73;--line:#d2d2d7;--paper:#f5f5f7;--accent:#b64515;--max:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3.5rem,8.2vw,7.8rem);font-weight:700}h2{font-size:clamp(2.5rem,4.8vw,4.8rem);font-weight:700}h3{font-size:clamp(1.7rem,2.8vw,2.7rem);font-weight:700}.wrap{width:min(calc(100% - 72px),var(--max));margin-inline:auto}.skip{position:absolute;left:-9999px;top:8px;background:var(--accent);color:#fff;padding:12px}.skip:focus{left:16px;z-index:20}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:82px}.brand{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:-.045em}.nav{display:flex;gap:clamp(18px,3vw,48px);align-items:center}.nav a{font-size:.95rem;font-weight:600}.nav a:hover,.text-link:hover{box-shadow:inset 0 -2px var(--ink)}.nav .contact{border:1px solid var(--ink);border-radius:99px;padding:10px 20px}.nav .contact:hover{background:var(--accent);box-shadow:none}.hero{padding:clamp(80px,10vw,160px) 0 100px}.eyebrow,.kicker{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:1200px;margin:26px 0 44px}.hero h1 em{font-style:normal;color:#6e6e73}.hero-bottom{display:flex;justify-content:space-between;gap:36px;align-items:end}.hero-intro{max-width:620px;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.45}.round-link{border-radius:100%;background:var(--accent);color:#fff;width:68px;height:68px;display:grid;place-items:center;font-size:2rem;transition:transform .2s}.round-link:hover{transform:translateY(5px)}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:50px 0 22px;border-top:1px solid var(--ink)}.section-head h2{margin:0}.section-head p{max-width:440px;color:var(--muted);margin:0}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:68px 24px;padding:20px 0 120px}.work-card{display:block}.work-card .frame{aspect-ratio:1.32;overflow:hidden;background:#e8e8ed;border-radius:4px}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.work-card:hover img{transform:scale(1.035)}.card-info{display:flex;justify-content:space-between;gap:18px;align-items:start;padding-top:19px}.card-info h3{font-size:clamp(1.6rem,2.3vw,2.3rem);margin:0 0 5px}.card-info p{color:var(--muted);margin:0}.card-arrow{font-size:1.6rem}.about{padding:80px 0 110px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:50px}.about h2{max-width:600px}.about-copy{max-width:610px;font-size:1.28rem}.about-copy p{margin-bottom:24px}.footer{background:#333336;color:#f5f5f7;padding:90px 0 35px}.footer h2{max-width:900px;margin:15px 0 50px}.footer h2 a{border-bottom:0}.footer-links{display:flex;gap:25px;margin-bottom:100px}.footer-links a{text-decoration:underline;text-underline-offset:5px}.footer-small{border-top:1px solid #48484d;padding-top:24px;display:flex;justify-content:space-between;color:#b8b8be;font-size:.86rem}.case-hero{padding:78px 0 40px}.case-hero h1{margin:12px 0 30px}.case-deck{max-width:760px;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.4;color:#3a3a3c}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);padding:24px 0 45px}.case-meta dt{font-size:.8rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.case-meta dd{margin:7px 0 0;font-weight:600}.feature-image{width:100%;max-height:800px;object-fit:cover;background:#e8e8ed}.case-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:60px;padding:90px 0 110px}.case-body aside{font-size:.86rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.case-body article{max-width:830px}.case-body h2{font-size:clamp(2.2rem,4vw,3.7rem);margin:0 0 24px}.case-body h3{font-size:2rem;letter-spacing:-.04em;margin:52px 0 15px}.case-body p,.case-body li{font-size:1.16rem;line-height:1.7;color:#3a3a3c}.case-body ul{padding-left:23px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:44px 0}.gallery img{width:100%;height:100%;object-fit:cover;background:#e8e8ed}.next{border-top:1px solid var(--ink);padding:48px 0 100px;display:block}.next span{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.next h2{margin:12px 0 0}.next:hover h2{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:7px}.button-link{display:inline-flex;gap:13px;align-items:center;border-radius:99px;border:1px solid var(--ink);padding:12px 19px;font-weight:700;margin-top:10px}.button-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}@media(max-width:720px){.wrap{width:min(calc(100% - 36px),var(--max))}.header-inner{min-height:68px;align-items:start;padding:20px 0;flex-direction:column;gap:12px}.nav{gap:20px;flex-wrap:wrap}.nav a{font-size:.86rem}.nav .contact{padding:7px 14px}.hero{padding:78px 0 72px}.hero h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-bottom{align-items:start}.round-link{flex:none;width:50px;height:50px}.section-head,.about{display:block}.section-head p{margin-top:15px}.work-grid{grid-template-columns:1fr;gap:45px;padding-bottom:70px}.about{padding:65px 0}.about-copy{font-size:1.1rem}.case-hero{padding-top:58px}.case-hero h1{overflow-wrap:anywhere;font-size:clamp(3.3rem,14vw,5rem)}.case-meta{grid-template-columns:repeat(2,1fr)}.case-body{display:block;padding:65px 0}.case-body aside{margin-bottom:25px}.gallery{grid-template-columns:1fr}.footer{padding-top:70px}.footer h2{font-size:clamp(2.4rem,10vw,4rem)}.footer-links{margin-bottom:70px}}
/* Full case studies retain the original sequence of writing and visuals. */
.case-original{max-width:100%!important}
.case-copy{max-width:780px;margin:0 0 28px}
.case-copy h2{margin:75px 0 22px;font-size:clamp(2rem,4vw,3.6rem)}
.case-copy h3{margin:60px 0 18px}
.case-copy h4{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.5rem;margin:42px 0 14px}
.case-copy p{margin:0 0 20px}
.case-copy p:has(> strong:only-child){font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:600;color:var(--ink);font-size:1.45rem;margin-bottom:8px}
.case-copy a{text-decoration:underline;text-underline-offset:3px}
.case-visual{margin:35px 0 75px;width:100%}
.case-visual img{width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
.case-original>.button-link{margin:8px 0 44px}
.case-original .case-copy:first-child h2:first-child{margin-top:0}
@media(max-width:720px){.case-visual{margin:24px 0 50px}.case-copy h2{margin-top:55px}}

/* Editorial portfolio layout */
:root{--paper:#fff;--line:#dedee2;--max:1240px}
body{background:var(--paper)}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{min-height:74px}
.brand{font-size:1.16rem;letter-spacing:-.035em}
.brand-mark{color:var(--accent);font-size:.92rem;vertical-align:2px}
.nav{gap:34px}
.nav a{font-size:.88rem;font-weight:600}
.nav .contact{color:#fff;background:var(--ink);border-color:var(--ink);padding:9px 18px}
.nav .contact:hover{color:#fff;background:var(--accent);border-color:var(--accent)}
.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr);gap:65px;align-items:end;padding:94px 0 86px}
.hero .eyebrow{margin-bottom:28px;color:var(--accent)}
.hero h1{font-size:clamp(3.7rem,6.1vw,6.2rem);line-height:1.06;letter-spacing:-.05em;margin:0;max-width:850px}
.hero h1 em{font-style:normal;color:var(--ink);background:none}
.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:28px;padding-bottom:6px}
.hero-intro{font-size:clamp(1.12rem,1.55vw,1.32rem);line-height:1.52;max-width:425px;border-left:3px solid var(--accent);padding-left:24px;margin:0}
.hero-link{font-size:.88rem;font-weight:700;letter-spacing:.02em;border-bottom:1px solid var(--ink);padding-bottom:5px}
.hero-link span{color:var(--accent);font-size:1.25rem;margin-left:8px}
.hero-link:hover{border-color:var(--accent)}
.section-head{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(250px,355px);gap:22px;align-items:end;border-top:1px solid var(--ink);padding:31px 0 29px}
.section-index{font-size:.76rem;font-weight:700;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 7px}
.section-head h2{font-size:clamp(2.4rem,4vw,4.1rem);letter-spacing:-.045em}
.section-head>p:last-child{font-size:1rem;line-height:1.5;color:var(--muted)}
.work-grid{display:flex;flex-direction:column;gap:0;padding:0 0 108px}
.work-card{display:grid;grid-template-columns:54px minmax(0,1.22fr) minmax(270px,.78fr);gap:24px;align-items:stretch;border-top:1px solid var(--line);padding:28px 0 40px}
.work-card:last-child{border-bottom:1px solid var(--line)}
.card-number{font-size:.82rem;font-weight:700;color:var(--muted);padding-top:8px;font-variant-numeric:tabular-nums}
.work-card .frame{aspect-ratio:1.48;border-radius:0;background:#f0f0f2}
.work-card img{transition:transform .35s ease}
.work-card:hover img{transform:scale(1.025)}
.card-info{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;padding:4px 0;margin:0}
.card-info h3{font-size:clamp(1.95rem,2.8vw,2.95rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:10px}
.card-copy>p:first-of-type{font-size:.78rem;font-weight:700;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.card-copy .card-deck{font-size:1.06rem;color:#3a3a3c;line-height:1.5;max-width:360px;margin:29px 0 0;font-weight:400;letter-spacing:normal;text-transform:none}
.card-arrow{align-self:flex-end;color:var(--accent);font-size:1.7rem;line-height:1}
.work-card:hover h3{text-decoration:none}
.about{margin-bottom:100px;background:#f2f2f4;border:0;padding:64px;grid-template-columns:.9fr 1.1fr;gap:70px}
.about h2{font-size:clamp(2.5rem,4.2vw,4.3rem)}
.about .eyebrow{color:var(--accent)}
.about-copy{font-size:1.16rem;line-height:1.6;max-width:580px}
.about-copy .button-link{margin-top:7px}
.button-link{border-radius:4px;padding:11px 17px;font-size:.95rem}
.footer{padding:84px 0 30px}
.footer h2{font-size:clamp(2.6rem,4.6vw,4.8rem);max-width:900px}
.footer h2 a{border-bottom:0}
.footer-links{margin-bottom:82px}
.case-hero{padding:68px 0 34px}
.case-hero .eyebrow{color:var(--accent);margin-top:54px!important}
.case-hero h1{font-size:clamp(3.5rem,7vw,6.5rem);margin:16px 0 24px}
.case-deck{max-width:850px;line-height:1.42}
.case-meta{padding:25px 0 44px}
.feature-image{background:#f2f2f4;max-height:750px}
.case-body{grid-template-columns:150px minmax(0,1fr);gap:60px;padding:86px 0 105px}
.case-body aside{color:var(--accent)}
.case-body article{max-width:900px}
.case-copy{max-width:780px}
.case-visual{margin:36px 0 72px}
@media(max-width:950px){
 .hero{grid-template-columns:1fr;gap:38px;padding:74px 0 75px}
 .hero-bottom{max-width:650px}
 .section-head{grid-template-columns:70px 1fr;gap:12px}
 .section-head>p:last-child{grid-column:2}
 .work-card{grid-template-columns:38px minmax(0,1.15fr) minmax(220px,.85fr);gap:18px}
 .about{padding:45px;gap:35px}
}
@media(max-width:700px){
 .header-inner{min-height:68px;gap:12px}
 .nav{gap:16px}
 .nav a{font-size:.86rem}
 .hero{padding:58px 0 68px;gap:34px}
 .hero h1{font-size:clamp(3rem,11.4vw,4.7rem)}
 .hero .eyebrow{margin-bottom:20px}
 .hero-intro{font-size:1.08rem}
 .section-head{display:block;padding:28px 0 24px}
 .section-index{margin-bottom:13px}
 .section-head>p:last-child{margin-top:12px}
 .work-grid{padding-bottom:75px}
 .work-card{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:24px 0 34px}
 .card-number{grid-row:1 / 3;padding-top:2px}
 .work-card .frame{grid-column:2;aspect-ratio:1.4}
 .card-info{grid-column:2;gap:16px;padding:0}
 .card-info h3{font-size:clamp(1.8rem,7vw,2.5rem)}
 .card-copy .card-deck{margin-top:15px}
 .card-arrow{align-self:flex-start}
 .about{display:block;padding:32px 25px;margin-bottom:70px}
 .about h2{font-size:2.5rem}
 .about-copy{font-size:1.05rem;margin-top:30px}
 .case-body{display:block;padding:65px 0 90px}
 .case-body aside{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-card img{transition:none}}

/* White space and quiet surfaces */
:root{--paper:#fff;--surface:#f8f8fa;--line:#e5e5e8}
.site-header{background:#fff}
.header-inner{min-height:82px}
.hero{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:clamp(70px,9vw,145px);padding:120px 0 126px}
.hero h1{font-size:clamp(4.3rem,7vw,7.2rem);line-height:1.04;max-width:780px}
.hero .eyebrow{margin-bottom:38px}
.hero-bottom{gap:36px}
.hero-intro{line-height:1.65}
.section-head{padding:57px 0 38px;gap:30px}
.work-grid{padding-bottom:142px}
.work-card{gap:clamp(28px,3vw,48px);padding:48px 0 66px}
.work-card .frame{background:var(--surface)}
.card-info{padding:10px 0}
.card-copy .card-deck{margin-top:40px;line-height:1.65}
.about{background:#fff;border-top:1px solid var(--ink);padding:100px 0 115px;gap:clamp(60px,8vw,125px);margin-bottom:0}
.about-copy{line-height:1.75}
.about-copy p{margin-bottom:28px}
.case-hero{padding:100px 0 56px}
.case-meta{padding:34px 0 64px}
.case-body{padding:112px 0 145px;gap:clamp(65px,8vw,120px)}
.case-copy{margin-bottom:38px}
.case-copy p{margin-bottom:27px}
.case-visual{margin:52px 0 105px}
.next{padding:70px 0 115px}
@media(max-width:950px){
 .hero{grid-template-columns:1fr;gap:50px;padding:100px 0 110px}
 .hero h1{font-size:clamp(3.8rem,8vw,6rem)}
 .work-card{gap:24px;padding:38px 0 55px}
 .about{gap:42px;padding:85px 0 100px}
 .case-body{gap:58px}
}
@media(max-width:700px){
 .header-inner{min-height:68px}
 .hero{padding:70px 0 78px;gap:40px}
 .hero h1{font-size:clamp(3.2rem,12vw,4.9rem)}
 .hero .eyebrow{margin-bottom:25px}
 .section-head{padding:36px 0 28px}
 .work-grid{padding-bottom:92px}
 .work-card{gap:15px;padding:29px 0 45px}
 .card-copy .card-deck{margin-top:20px}
 .about{padding:68px 0 85px;margin-bottom:0}
 .about-copy{margin-top:35px}
 .case-hero{padding:65px 0 40px}
 .case-meta{padding:25px 0 45px}
 .case-body{padding:70px 0 95px}
 .case-copy{margin-bottom:27px}
 .case-visual{margin:30px 0 62px}
 .next{padding:52px 0 80px}
}

/* Role line sits with the introduction. */
.hero-bottom{gap:0;align-items:flex-start;text-align:left}
.hero-bottom .eyebrow{margin:0 0 16px;color:var(--accent);line-height:1.5}
.hero-bottom .hero-link{margin-top:34px}
@media(max-width:700px){.hero-bottom .eyebrow{margin-bottom:15px}.hero-bottom .hero-link{margin-top:27px}}

/* Full-width editorial hero: headline first, introduction below. */
.hero.hero-editorial{display:block;padding:92px 0 116px}
.hero-editorial .hero-top{width:100%}
.hero-editorial h1{font-size:clamp(5.5rem,9.2vw,9.5rem);line-height:.98;letter-spacing:-.065em;max-width:none;margin:0}
.hero-editorial h1 em{background:none}
.hero-editorial .hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:end;border-top:1px solid var(--ink);margin-top:80px;padding-top:34px;text-align:left}
.hero-editorial .hero-copy{max-width:760px}
.hero-editorial .eyebrow{margin:0 0 18px;color:var(--accent)}
.hero-editorial .hero-intro{max-width:760px;border:0;padding:0;margin:0;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55}
.hero-editorial .hero-link{margin:0 0 7px;white-space:nowrap;align-self:end}
@media(max-width:950px){
 .hero.hero-editorial{padding:82px 0 100px}
 .hero-editorial h1{font-size:clamp(4.6rem,10vw,7.2rem)}
 .hero-editorial .hero-bottom{gap:42px;margin-top:65px}
}
@media(max-width:700px){
 .hero.hero-editorial{padding:64px 0 78px}
 .hero-editorial h1{font-size:clamp(3.7rem,13.4vw,5.7rem);line-height:1.02}
 .hero-editorial .hero-bottom{display:block;margin-top:48px;padding-top:25px}
 .hero-editorial .hero-intro{font-size:1.16rem}
 .hero-editorial .hero-link{display:inline-block;margin-top:31px}
}
@media(max-width:700px){.hero-editorial h1{font-size:clamp(2.7rem,11vw,5.7rem)}}

/* Small playful cues around real links. */
.hero-editorial h1{font-size:clamp(4.7rem,8vw,8.3rem);line-height:1.01}
.hero-editorial h1 em{font-style:normal}
.hero-editorial .hero-link{display:inline-flex;align-items:center;gap:16px;border:0;padding:0;margin:0;white-space:nowrap;font-weight:700}
.hero-link-text{border-bottom:1px solid currentColor;padding-bottom:4px}
.hero-link-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:1.7rem;font-weight:400;line-height:1;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s}
.hero-link:hover .hero-link-icon,.hero-link:focus-visible .hero-link-icon{transform:rotate(-42deg) scale(1.08)}
.hero-link:hover .hero-link-text,.hero-link:focus-visible .hero-link-text{border-color:var(--accent)}
.work-card .frame{position:relative}
.card-peek{position:absolute;left:22px;bottom:22px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700;padding:10px 14px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;pointer-events:none}
.work-card:hover .card-peek,.work-card:focus-visible .card-peek{opacity:1;transform:translateY(0)}
.card-number{transition:color .25s,transform .25s}
.work-card:hover .card-number,.work-card:focus-visible .card-number{color:var(--accent);transform:translateX(4px)}
@media(max-width:950px){.hero-editorial h1{font-size:clamp(4.2rem,8.5vw,7rem)}}
@media(max-width:700px){
 .hero-editorial h1{font-size:clamp(2.05rem,9.4vw,4.8rem);letter-spacing:-.06em}
 .hero-editorial .hero-link{margin-top:31px}
 .hero-link-icon{width:50px;height:50px;font-size:1.5rem}
 .card-peek{left:12px;bottom:12px}
}
@media(hover:none){.card-peek{display:none}}
@media(prefers-reduced-motion:reduce){.hero-link-icon,.card-peek,.card-number{transition:none}.work-card:hover .card-peek,.work-card:focus-visible .card-peek{transform:none}.hero-link:hover .hero-link-icon,.hero-link:focus-visible .hero-link-icon{transform:none}}

.hero-editorial .hero-link .hero-link-text{color:var(--ink);font-size:.88rem;margin-left:0}
.hero-editorial .hero-link .hero-link-icon{color:#fff;font-size:1.7rem;margin-left:0}
@media(max-width:700px){.hero-editorial .hero-link .hero-link-icon{font-size:1.5rem}}

/* Simple, white introductory hero. */
body{background:#fff}
.hero.hero-editorial{padding:104px 0 116px}
.hero-editorial .hero-top .eyebrow{margin:0 0 18px;color:var(--accent)}
.hero-editorial h1{font-size:clamp(4rem,7vw,7rem);line-height:1.03;letter-spacing:-.055em}
.hero-editorial .hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:28px;border:0;margin-top:30px;padding:0}
.hero-editorial .hero-intro{max-width:680px;font-size:clamp(1.2rem,1.8vw,1.5rem)}
.hero-editorial .hero-link{align-self:flex-start;margin:0}
@media(max-width:700px){.hero.hero-editorial{padding:74px 0 86px}.hero-editorial h1{font-size:clamp(2.8rem,11vw,4.6rem)}.hero-editorial .hero-bottom{margin-top:24px;gap:24px}.hero-editorial .hero-link{margin-top:0}}

/* Original portfolio monogram in the navigation. */
.brand{display:inline-flex;align-items:center;line-height:0;flex:none}
.brand img{display:block;width:42px;height:42px;object-fit:contain}
@media(max-width:700px){.brand img{width:38px;height:38px}}
