/* Calm editorial system: black, white and warm neutral surfaces. */
:root{--ed-ink:#17201f;--ed-muted:#56615f;--ed-paper:#f4f3ef;--ed-line:#d4d8d4}body{color:var(--ed-ink)}::selection{background:#dce3de;color:#17201f}.header{max-width:1440px;margin:0 auto;padding:0 48px;height:94px}.header .wordmark{width:142px}.header nav{gap:30px}.nav-contact{border-radius:0;padding:14px 24px}.ed-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:56px;padding:68px 48px 76px;max-width:1440px;margin:auto}.ed-kicker,.ed-label{font-size:12px;font-weight:650;letter-spacing:.09em}.ed-hero h1{font-size:clamp(36px,3.55vw,55px);letter-spacing:-.045em;line-height:1.55;margin:28px 0}.ed-hero h1 em{font-style:normal;border-bottom:3px solid #17201f;padding-bottom:6px}.ed-lead{font-size:16px;line-height:2;margin:20px 0}.ed-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin:30px 0}.ed-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:#17201f;color:#fff;padding:20px 24px;font-size:14px;font-weight:650;line-height:1.65;transition:background .2s}.ed-button:hover{background:#364a44}.ed-button span{font-size:21px}.ed-text{display:inline-block;font-size:14px;font-weight:650;padding:9px 0;border-bottom:1px solid currentColor;line-height:1.8}.ed-small{font-size:11px;color:var(--ed-muted);line-height:1.8}.ed-hero-visual{margin:0;background:var(--ed-paper);padding:28px 24px 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:470px}.ed-hero-visual img{width:100%;object-fit:contain;box-shadow:0 18px 40px #17201f18}.ed-hero-visual figcaption{font-size:11px;color:var(--ed-muted);line-height:1.8;margin-top:20px}.ed-hero-visual figcaption span{display:block;font-size:10px;letter-spacing:.13em;margin-bottom:5px}.ed-visual-note{display:flex;justify-content:space-between;font-size:11px;padding:22px 0;margin-top:auto;border-top:1px solid var(--ed-line)}.ed-section{max-width:1440px;margin:0 auto;padding:88px 48px;display:grid;grid-template-columns:240px 1fr;gap:48px;border-top:1px solid var(--ed-line)}.editorial h2{font-size:clamp(28px,3vw,43px);letter-spacing:-.035em;line-height:1.55;font-weight:650}.ed-problems{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:42px}.ed-problems article{padding-top:20px;border-top:2px solid #17201f}.ed-problems span{font-size:12px;color:var(--ed-muted)}.ed-problems h3{font-size:18px;line-height:1.7;margin:12px 0}.ed-problems p{font-size:14px;color:var(--ed-muted)}.ed-service{display:grid;grid-template-columns:66px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--ed-line)}.ed-service-primary{background:var(--ed-paper);padding:36px;margin-top:32px}.ed-service-no{font-size:44px;font-weight:400}.ed-service h3{font-size:30px;line-height:1.5;margin:15px 0}.ed-service p{font-size:15px;max-width:650px}.ed-service ul{font-size:14px;padding-left:20px;line-height:2;margin:20px 0}.ed-service .ed-text{margin-top:15px}.ed-work{background:var(--ed-paper);padding:72px max(48px,calc((100vw - 1344px)/2))}.ed-work-head{display:flex;justify-content:space-between;align-items:end;gap:25px}.ed-work h2{margin-top:20px}.ed-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:36px 0 22px}.ed-work-grid img{aspect-ratio:1.5;object-fit:cover}.ed-work-grid span{display:block;font-weight:650;font-size:17px;margin-top:16px}.ed-work-grid small{display:block;font-size:12px;color:var(--ed-muted);margin-top:8px}.ed-process{padding:0;margin:32px 0;list-style:none}.ed-process li{display:grid;grid-template-columns:76px 1fr;gap:4px 20px;padding:25px 0;border-top:1px solid var(--ed-line)}.ed-process span{grid-row:span 2;font-size:13px;padding-top:5px}.ed-process h3{font-size:20px}.ed-process p{font-size:14px;color:var(--ed-muted)}.ed-person{display:grid;grid-template-columns:260px 1fr;gap:60px;padding:64px 48px;max-width:1100px;margin:0 auto 70px}.ed-person img{aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.ed-person h2{margin:18px 0}.ed-person h2 span{display:block;font-size:14px;font-weight:400;margin-top:8px}.ed-person p{font-size:15px;margin-bottom:14px}.ed-contact{background:#17201f;color:white;padding:72px 48px;text-align:center}.ed-contact h2{margin:20px 0}.ed-contact p{color:#e0e4e1}.ed-contact .ed-button{background:white;color:#17201f;margin:30px 0 18px}.ed-contact small{display:block;color:#bcc7c1;font-size:12px}footer{padding-top:54px}.page-intro{max-width:1344px;margin:auto}.page-intro h1{font-size:clamp(36px,4.7vw,64px);line-height:1.45}.section h2{font-size:clamp(27px,3vw,42px);line-height:1.55}.section{max-width:1440px;margin-left:auto;margin-right:auto;padding-top:72px;padding-bottom:72px}.support-local{max-width:1344px;margin-left:auto;margin-right:auto;padding:22px 20px;background:var(--ed-paper)}.support-index li{padding:28px 0}.support-index a:hover h3{text-decoration:underline;text-underline-offset:7px}.support-flow li{border-color:#9ca9a1;background:var(--ed-paper);font-size:15px}.support-facts dt{color:#17201f}.support-facts dd{color:#46514c}.support-step{border-top:1px solid var(--ed-line)}.support-step .eyebrow{font-size:14px}.contact-box{background:#17201f;color:white}.contact-box p,.contact-box a{color:white}.contact-box .text-link{border-color:white}
@media(max-width:1100px){.ed-hero{gap:30px;padding:48px 32px}.ed-section{grid-template-columns:170px 1fr;gap:28px;padding:64px 32px}.ed-problems{grid-template-columns:1fr;gap:20px}.ed-hero h1{font-size:38px}.ed-work{padding:64px 32px}.ed-hero-visual{padding:20px 18px 0;min-height:420px}}
@media(max-width:960px){.header{padding:0 24px}.header nav.open{padding:24px;gap:16px}.ed-hero{grid-template-columns:1fr}.ed-hero-copy{max-width:680px}.ed-hero-visual{min-height:0;padding:24px;display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center}.ed-hero-visual figcaption{margin:0}.ed-visual-note{grid-column:1/-1;padding:18px 0 0}.ed-section{grid-template-columns:1fr}.ed-work-grid{gap:20px}.ed-person{grid-template-columns:200px 1fr;gap:32px}}
@media(max-width:640px){.header{height:76px;margin:0;padding:0 20px}.header .wordmark{width:125px}.header nav{top:75px}.ed-hero{padding:30px 20px 40px;gap:30px}.ed-kicker,.ed-label{font-size:11px}.ed-hero h1{font-size:30px;line-height:1.65;margin:22px 0}.ed-lead{font-size:14px;line-height:1.95}.ed-button{padding:17px 18px;font-size:13px;gap:18px;max-width:100%}.ed-actions{margin:24px 0;gap:16px}.ed-text{font-size:13px}.ed-hero-visual{grid-template-columns:1fr;padding:20px;gap:12px}.ed-hero-visual figcaption{font-size:10px}.ed-visual-note{font-size:10px}.ed-section{padding:44px 20px;gap:22px}.editorial h2{font-size:27px}.ed-problems{margin-top:25px}.ed-problems h3{font-size:17px}.ed-service{grid-template-columns:36px 1fr;gap:12px}.ed-service-primary{padding:24px 18px}.ed-service-no{font-size:30px}.ed-service h3{font-size:24px}.ed-service p{font-size:14px}.ed-work{padding:44px 20px}.ed-work-head{display:block}.ed-work-head>.ed-text{margin-top:18px}.ed-work-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.ed-work-grid span{font-size:16px}.ed-process li{grid-template-columns:52px 1fr;gap:6px 12px}.ed-process h3{font-size:17px;line-height:1.7}.ed-person{grid-template-columns:1fr;padding:30px 20px;margin-bottom:24px;gap:24px}.ed-person img{width:160px}.ed-contact{padding:44px 20px}.ed-contact p{font-size:14px}.ed-contact h2{font-size:27px}.page-intro h1{font-size:34px}.page-intro p{font-size:14px}.section{padding-top:44px;padding-bottom:44px}.section h2{font-size:28px}.support-local{margin:0 20px 24px;gap:14px;padding:18px}.support-local a{font-size:13px}.support-step h2{font-size:26px}.support-facts dt,.support-facts dd{font-size:14px}.section p{font-size:14px}.contact-box h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.ed-contact{display:none}.header{display:none}.section{max-width:none}.support-step{break-before:page}}
.ed-system{padding:32px;min-height:0;display:block}.ed-system figcaption{font-size:12px;margin:0 0 20px}.ed-system h2{font-size:28px;line-height:1.6}.ed-system-scope{display:flex;gap:10px;margin:24px 0 8px}.ed-system-scope span{font-size:12px;border:1px solid #9ca9a1;padding:8px 12px}.ed-system-flow{list-style:none;padding:0;margin:12px 0}.ed-system-flow li{display:grid;grid-template-columns:90px 1fr;gap:16px;border-top:1px solid #bdc6bf;padding:22px 0}.ed-system-flow li>span{font-size:11px;padding-top:6px}.ed-system-flow strong{font-size:20px}.ed-system-flow p{font-size:12px;color:#56615f;margin-top:6px}.ed-system-end{font-size:13px;border-top:2px solid #17201f;padding-top:20px;font-weight:600}.support-mid-cta{max-width:1328px;margin:0 auto;padding:0 4vw 24px}.section .support-mid-cta{padding:28px 0 0}.guide-index{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;max-width:1328px;margin:0 auto 35px;padding:0 4vw}.guide-index a{padding:17px 0;border-bottom:1px solid #bbb;font-size:13px;line-height:1.8}.guide-index span{display:inline-block;margin-right:13px;color:#66736c}.support-step{padding-top:48px;padding-bottom:48px}@media(max-width:640px){.ed-system{padding:24px 20px}.ed-system h2{font-size:23px}.ed-system-flow li{grid-template-columns:72px 1fr;gap:10px;padding:18px 0}.ed-system-flow strong{font-size:17px}.ed-system-flow p{font-size:11px}.ed-system-scope{gap:7px}.ed-system-scope span{padding:7px 9px;font-size:11px}.ed-system-end{font-size:12px}.guide-index{grid-template-columns:1fr;padding:0 20px}.support-step{padding-top:32px;padding-bottom:32px}.support-flow{margin:24px 0;gap:20px}.support-flow li{padding:12px}.support-flow li+li:before{top:-20px}.support-mid-cta{padding:0 20px 20px}}

/* Art direction: the precision of a production drawing, the rhythm of a printed portfolio. */
:root{--ed-ink:#191919;--ed-muted:#62625e;--ed-paper:#f2f1ed;--ed-line:#d7d6d0}
body{color:var(--ed-ink)}
.header{height:96px;border-bottom-color:var(--ed-line)}
.header nav a{transition:opacity .2s}
.ed-hero{grid-template-columns:1.12fr 1fr;gap:64px;padding-top:64px;padding-bottom:80px;align-items:center}
.ed-kicker{letter-spacing:.065em}.ed-hero h1{font-weight:600;letter-spacing:-.06em;line-height:1.5;font-size:clamp(38px,3.6vw,54px)}
.ed-hero h1 em{border:0;position:relative;display:inline-block}
.ed-hero h1 em:after{content:'';position:absolute;height:1px;background:currentColor;bottom:1px;left:0;right:0}
.ed-button{background:var(--ed-ink);padding:19px 24px;transition:background .25s,box-shadow .25s}
.ed-button:hover{background:#363633;box-shadow:inset 0 -3px 0 #92928a}
.ed-button span{display:inline-block;transition:transform .25s}.ed-button:hover span{transform:translate(3px,-3px)}
.ed-text{transition:opacity .2s}.ed-text:hover{opacity:.6}
.ed-system{background:#222320;color:#f5f4ef;padding:34px 36px 30px;position:relative;align-self:center;isolation:isolate}
.ed-system:before{content:'';position:absolute;inset:12px;border:1px solid #ffffff18;pointer-events:none;z-index:-1}
.ed-system figcaption{color:#c6c7be;font-size:11px;letter-spacing:.1em;border-bottom:1px solid #ffffff35;padding-bottom:20px;margin:0 0 22px;display:flex;align-items:center;gap:12px}
.ed-system figcaption:before{content:'+';font:20px monospace;color:#f5f4ef}
.ed-system h2{font-size:28px;line-height:1.55;font-weight:500;letter-spacing:-.025em}
.ed-system-scope{gap:0;margin:24px 0 30px;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;display:grid;grid-template-columns:repeat(3,1fr)}
.ed-system-scope span{border:0;padding:10px 0;text-align:center;font-size:11px;color:#d9dad2}
.ed-system-scope span+span{border-left:1px solid #ffffff35}
.ed-system-flow{position:relative;margin:0;padding:0 0 0 1px}
.ed-system-flow:before{content:'';position:absolute;top:20px;bottom:44px;left:21px;width:1px;background:#92968a}
.ed-system-flow li{position:relative;grid-template-columns:42px 1fr;gap:22px;border:0;padding:0 0 30px}
.ed-system-flow li:last-child{padding-bottom:24px}
.ed-system-flow li>span{display:flex;flex-direction:column;justify-content:center;align-items:center;width:42px;height:42px;padding:0;border:1px solid #92968a;background:#222320;font:18px Georgia,serif;z-index:1}
.ed-system-flow .ed-role{display:block;color:#bec1b5;font-size:10px;letter-spacing:.06em;margin:0 0 5px;font-weight:400}
.ed-system-flow strong{display:block;font-size:20px;font-weight:500;line-height:1.5;letter-spacing:-.025em}
.ed-system-flow p{font-size:11px;line-height:1.8;color:#c4c7bc;margin-top:5px}
.ed-system-end{border-top:1px solid #ffffff50;margin:0;padding:20px 0 0;font-size:12px;font-weight:400;display:flex;align-items:center;gap:12px}
.ed-system-end:before{content:'↳';font-size:26px;color:#c4c7bc}
.ed-label{letter-spacing:.08em;font-weight:500}.ed-section{padding-top:104px;padding-bottom:104px}
.ed-section>.ed-label{padding-top:10px}.editorial h2{font-weight:500;letter-spacing:-.045em}
.ed-problems article{border-top:1px solid var(--ed-ink)}
.ed-problems article>span{font:italic 32px Georgia,serif;color:#8d8d82;display:block;margin:2px 0 24px}
.ed-problems h3{font-weight:600}.ed-problems p{line-height:2}
.ed-service-primary{position:relative;border:1px solid var(--ed-line);padding:44px 36px;background:var(--ed-paper)}
.ed-service-no{font:italic 60px Georgia,serif;line-height:1;color:#77796f}
.ed-service h3{font-weight:500;letter-spacing:-.035em}.ed-service:not(.ed-service-primary){padding-top:42px}
.ed-work{padding-top:92px;padding-bottom:88px;background:var(--ed-paper)}
.ed-work-grid{grid-template-columns:1.35fr 1fr;align-items:start;column-gap:64px;row-gap:48px;margin-top:52px}
.ed-work-grid>a{display:block;min-width:0;position:relative}
.ed-work-grid>a:first-child{grid-row:span 2;align-self:center}
.ed-work-grid img{aspect-ratio:1.6;object-fit:cover;transition:filter .35s,transform .5s;transform-origin:center}
.ed-work-grid>a:first-child img{aspect-ratio:1.25;object-fit:contain;background:#e4e3df;padding:28px}
.ed-work-grid>a:hover img{filter:brightness(.95);transform:translateY(-4px)}
.ed-work-grid span{border-top:1px solid #b6b6ac;padding-top:16px;margin-top:20px;font-weight:500;display:flex;justify-content:space-between;gap:12px}
.ed-work-grid span:after{content:'↗';font-weight:400}.ed-work-grid small{line-height:1.8}
.ed-process li{padding:30px 0}.ed-process li>span{font:italic 23px Georgia,serif;color:#77796f;letter-spacing:-.04em}
.ed-person{border-top:1px solid var(--ed-line);padding-top:80px;padding-bottom:80px;margin-bottom:0;grid-template-columns:230px 1fr;gap:80px;align-items:center}
.ed-person img{filter:grayscale(1);aspect-ratio:4/5}.ed-person h2{font-size:36px}
.ed-contact{position:relative;background:#222320;text-align:left;padding:88px max(48px,calc((100vw - 1248px)/2));display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.ed-contact>.ed-label,.ed-contact>h2{grid-column:1}.ed-contact>h2{grid-row:2/5;font-size:clamp(30px,3.3vw,47px);line-height:1.6;margin:16px 0 0}
.ed-contact>p:not(.ed-label){grid-column:2;grid-row:2;margin-top:20px;font-size:14px}
.ed-contact>.ed-button{grid-column:2;justify-self:start;margin-top:24px;max-width:100%;color:#191919;background:#f5f4ef}
.ed-contact>small{grid-column:2;line-height:1.8;color:#c4c7bc}
.ed-contact a:focus-visible{outline-color:#fff}.contact-box a:focus-visible{outline-color:#fff}
.page-intro{padding-top:64px;padding-bottom:56px}.page-intro h1{font-weight:500;letter-spacing:-.045em}.section h2{font-weight:500;letter-spacing:-.035em}
.support-flow li{background:#f2f1ed;border-color:#b9bab0}.support-step .eyebrow{font-family:Georgia,serif;font-size:18px;letter-spacing:.02em}
@media(min-width:961px){.ed-hero-copy{animation:ed-enter .65s ease-out both}.ed-system{animation:ed-enter .85s ease-out both}}
@keyframes ed-enter{from{transform:translateY(12px)}to{transform:translateY(0)}}
@media(max-width:1100px){.ed-hero{gap:32px;padding:48px 32px 64px}.ed-hero h1{font-size:37px}.ed-system{padding:30px 26px}.ed-system h2{font-size:25px}.ed-system-flow li{gap:16px}.ed-system-flow strong{font-size:18px}.ed-work-grid{gap:40px}.ed-section{padding-top:72px;padding-bottom:72px}.ed-contact{gap:40px}}
@media(max-width:960px){.ed-hero{grid-template-columns:1fr;gap:44px}.ed-hero-copy{max-width:680px}.ed-hero h1{font-size:46px}.ed-system{display:block;width:100%;padding:36px}.ed-system-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ed-system-flow:before{left:21px;right:21px;top:21px;bottom:auto;width:auto;height:1px}.ed-system-flow li{display:flex;flex-direction:column;gap:18px;padding-bottom:24px}.ed-system-flow li>div{background:#222320}.ed-system-flow strong{font-size:18px}.ed-system h2 br{display:none}.ed-section>.ed-label{padding-top:0}.ed-person{gap:40px}.ed-contact{display:block}.ed-contact>h2{margin:18px 0}.ed-contact>p:not(.ed-label){margin-top:0}}
@media(max-width:640px){.header{height:76px}.ed-hero{padding:36px 20px 48px;gap:32px}.ed-hero h1{font-size:31px;letter-spacing:-.055em;line-height:1.65}.ed-hero .ed-small{font-size:10px}.ed-system{padding:28px 24px}.ed-system h2{font-size:24px}.ed-system h2 br{display:initial}.ed-system-scope{margin:22px 0 26px}.ed-system-flow{display:block}.ed-system-flow:before{top:20px;bottom:48px;left:21px;right:auto;width:1px;height:auto}.ed-system-flow li{display:grid;gap:18px;grid-template-columns:42px 1fr;padding-bottom:26px}.ed-system-flow strong{font-size:17px}.ed-system-flow p{font-size:11px}.ed-system-end{font-size:11px;gap:8px}.ed-section{padding:52px 20px;gap:24px}.ed-problems{gap:26px}.ed-problems article{position:relative;padding:20px 0 0 48px}.ed-problems article>span{position:absolute;left:0;top:20px;font-size:27px}.ed-problems h3{margin-top:0}.ed-service-primary{padding:28px 20px;grid-template-columns:1fr;gap:20px}.ed-service-no{font-size:44px}.ed-service h3{font-size:26px}.ed-service-primary .ed-button{padding:16px;font-size:12px;gap:12px}.ed-work{padding:52px 20px}.ed-work-grid{grid-template-columns:1fr;gap:34px;margin-top:30px}.ed-work-grid>a:first-child{grid-row:auto}.ed-work-grid>a:first-child img{aspect-ratio:1.5;padding:18px}.ed-work-grid span{font-size:16px;padding-top:13px;margin-top:16px}.ed-person{padding:48px 20px;grid-template-columns:1fr;gap:28px}.ed-person img{width:176px}.ed-person h2{font-size:30px}.ed-contact{padding:52px 20px}.ed-contact>h2{font-size:29px}.ed-contact>.ed-button{font-size:12px;padding:18px;gap:12px}.ed-contact>small{font-size:11px}.page-intro{padding-top:40px;padding-bottom:32px}.ed-process li>span{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:961px){.ed-contact>.ed-button{grid-row:3}.ed-contact>small{grid-row:4}}
.ed-secondary{display:flex;flex-wrap:wrap;gap:12px 28px}.ed-work-note{font-size:13px;line-height:1.9;color:var(--ed-muted);margin-top:10px}
@media(max-width:640px){.ed-secondary{gap:10px 24px}.ed-work-note{font-size:12px}}
