/* Editorial additions inherit the portfolio's typography and palette. */
.seo-page{background:var(--paper);color:var(--ink)}
.seo-page .header{height:auto;min-height:68px;padding-block:14px}
.seo-page main{max-width:1800px;margin-inline:auto}
.seo-breadcrumb{display:flex;gap:14px;flex-wrap:wrap;padding:28px 40px 0;font-size:13px;letter-spacing:.06em;color:#5b5b54}
.seo-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.seo-intro{padding:52px 40px 54px;max-width:1300px}
.seo-kicker{font-size:14px;letter-spacing:.07em;margin:0 0 28px}
.seo-intro h1{font-size:clamp(3rem,6.8vw,7.2rem);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:0 0 28px;max-width:1200px;overflow-wrap:break-word}
.seo-lead{font-size:clamp(1.2rem,2.1vw,1.85rem);line-height:1.4;letter-spacing:-.025em;max-width:830px;margin:0}
.seo-disclosure{font-size:14px;line-height:1.65;color:#5e5e56;max-width:790px;margin:24px 0 0}
.seo-hero-image{margin:0;padding:0 40px 52px}
.seo-hero-image img{display:block;width:100%;max-height:760px;object-fit:contain;background:#e9e9e4}
.seo-hero-image figcaption{font-size:14px;line-height:1.6;padding-top:14px;color:#5e5e56}
.seo-copy{padding:52px 40px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;border-top:1px solid #b8b8b0}
.seo-copy h2,.seo-detail-section>h2,.seo-film>h2,.seo-related h2{font-size:clamp(1.75rem,3vw,3rem);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0}
.seo-copy p,.seo-process p,.seo-questions p{font-size:18px;line-height:1.65;max-width:750px;margin:0 0 20px}
.seo-copy p:last-child{margin-bottom:0}
.seo-detail-section{padding:52px 40px;border-top:1px solid #b8b8b0}
.seo-detail-section>h2{margin-bottom:32px}
.seo-deliverables{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin:0}
.seo-deliverables>div{border-top:1px solid #b8b8b0;padding-top:20px}
.seo-deliverables dt{font-size:23px;line-height:1.25;letter-spacing:-.025em;margin-bottom:12px}
.seo-deliverables dd{font-size:17px;line-height:1.6;margin:0;max-width:580px;color:#4e4e48}
.seo-process{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0;padding:0}
.seo-process>li{border-top:1px solid #b8b8b0;padding-top:18px}
.seo-process>li>span{font-size:14px;color:#a21c21}
.seo-process h3,.seo-questions h3{font-weight:400;font-size:24px;line-height:1.25;letter-spacing:-.035em;margin:22px 0 14px}
.seo-process p{font-size:17px;margin-bottom:0}
.seo-questions{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.seo-questions h3{margin-top:0}
.seo-questions p{font-size:17px;margin-bottom:0}
.seo-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.seo-stage-grid:has(figure:nth-child(2):last-child){grid-template-columns:1fr 1fr}
.seo-stage-grid figure{margin:0;min-width:0}
.seo-stage-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#e9e9e4}
.seo-stage-grid figcaption{font-size:16px;line-height:1.6;padding-top:16px}
.seo-stage-grid figcaption>span{font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.seo-stage-grid figcaption p{margin:8px 0 0;color:#4e4e48}
.seo-film{padding:52px 40px;background:var(--ink);color:var(--paper)}
.seo-film h2{margin-bottom:32px}
.seo-film video{width:100%;height:auto;max-height:800px;display:block;object-fit:contain;margin-inline:auto}
.seo-film>p{font-size:16px;line-height:1.6;color:#c9c9c1;margin:18px 0 0}
.seo-related{padding:40px;border-top:1px solid #b8b8b0}
.seo-related h2{font-size:24px;margin-bottom:24px}
.seo-related-links{display:flex;gap:20px 32px;flex-wrap:wrap}
.seo-related-links a{font-size:17px;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:4px}
.seo-related-links a:hover{color:#a21c21}
.seo-directory{padding:64px 40px;background:var(--paper);color:var(--ink);border-top:1px solid #b8b8b0;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px}
.seo-directory-heading>span{font-size:14px;letter-spacing:.07em}
.seo-directory-heading h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:26px 0 20px}
.seo-directory-heading>p{font-size:17px;line-height:1.6;max-width:420px;margin:0}
.seo-directory-list>a{display:grid;grid-template-columns:24px minmax(0,1fr);gap:20px;padding:25px 0;border-top:1px solid #b8b8b0}
.seo-directory-list>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.seo-directory-list>a>span:first-child{font-size:14px;padding-top:5px;color:#66665f}
.seo-directory-list h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;font-weight:400;margin:0 0 12px}
.seo-directory-list p{font-size:16px;line-height:1.6;margin:0;color:#4e4e48}
.seo-link-label{grid-column:2;font-size:12px;letter-spacing:.06em}
.seo-inline-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-left:18px}
.seo-directory--cases{background:#eaeae5}
@media(max-width:900px){.seo-copy,.seo-directory{gap:32px;grid-template-columns:1fr 1fr}.seo-process{gap:22px}.seo-intro{padding-top:38px}.single-page .header nav{justify-content:flex-start;gap:8px 18px;flex-wrap:wrap}}
@media(max-width:640px){.seo-page .header nav{justify-content:flex-start;gap:8px 18px;font-size:14px}.seo-breadcrumb{padding:22px 22px 0;font-size:12px}.seo-intro{padding:32px 22px 36px}.seo-intro h1{font-size:clamp(2.7rem,10vw,4rem);line-height:1.06;letter-spacing:-.045em}.seo-kicker{font-size:12px;margin-bottom:20px}.seo-lead{font-size:20px}.seo-hero-image{padding:0 22px 36px}.seo-hero-image img{max-height:none}.seo-copy,.seo-directory{grid-template-columns:1fr;gap:26px;padding:36px 22px}.seo-copy p{font-size:17px}.seo-detail-section,.seo-film{padding:36px 22px}.seo-related{padding:30px 22px}.seo-deliverables,.seo-process,.seo-questions,.seo-stage-grid,.seo-stage-grid:has(figure:nth-child(2):last-child){grid-template-columns:1fr;gap:28px}.seo-stage-grid img{aspect-ratio:auto}.seo-directory-heading h2{font-size:34px}.seo-directory-list h3{font-size:24px}.seo-inline-link{display:block;margin:12px 0 0}.seo-page .footer-bottom{flex-wrap:wrap}}
