.public-page{padding:clamp(64px,8vw,130px) var(--edge) var(--section-space);max-width:1800px;margin:auto}.page-heading{padding-bottom:clamp(44px,6vw,88px);border-bottom:1px solid var(--line);margin-bottom:clamp(48px,6vw,90px)}.page-heading .eyebrow{margin:0 0 28px}.public-page h1{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,7vw,110px);letter-spacing:-.055em;line-height:1.04;max-width:17ch;margin:0;text-wrap:balance}.public-page h2{font-family:var(--font-display);font-weight:400;font-size:clamp(32px,4vw,58px);letter-spacing:-.04em;line-height:1.15;margin:0 0 32px}.public-page p{font-size:17px;line-height:1.85;margin:0 0 24px;max-width:var(--measure)}.public-page a{text-underline-offset:5px}.public-page .eyebrow{font-size:12px;line-height:1.7;margin-bottom:14px}.public-page section{margin:0}.public-page .section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:28px;margin-bottom:40px}.public-page .section-heading h2{margin:0}
.editorial-split{display:grid;grid-template-columns:4fr 1fr 7fr;gap:24px}.editorial-intro{grid-column:1}.editorial-prose{grid-column:3;max-width:var(--measure)}.public-page .editorial-intro p{font-family:var(--font-display);font-size:clamp(25px,2.5vw,38px);line-height:1.4;letter-spacing:-.02em}.public-page .process-section,.public-page .related-projects,.public-page .service-cta,.public-page .dynamic-services,.public-page .dynamic-projects{margin-top:var(--section-space)}
.process-layout{display:grid;grid-template-columns:4fr 1fr 7fr;gap:24px}.process-groups{grid-column:3}.process-groups>section+section{margin-top:64px}.process-groups h2{font-size:clamp(28px,3vw,42px)}.process-groups ol{list-style:none;padding:0;margin:0;counter-reset:process}.process-groups li{position:relative;counter-increment:process;display:block;border-top:1px solid var(--line);padding:24px 0 26px 58px;min-height:88px;font-size:19px;line-height:1.5}.process-groups li:last-child{border-bottom:1px solid var(--line)}.process-groups li::before{content:counter(process,decimal-leading-zero);position:absolute;left:0;top:28px;font-size:12px;letter-spacing:.04em;color:var(--muted)}.process-title{display:block}.process-description{display:block;font-size:16px;line-height:1.75;color:var(--muted);margin-top:10px;max-width:60ch}
.public-page .project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,6vw,96px) 32px}.public-page .project-row{display:flex;flex-direction:column;gap:22px;align-items:stretch;grid-column:span 8;margin:0}.public-page .project-row:nth-child(3n+2){grid-column:span 4;padding-top:clamp(56px,8vw,120px)}.public-page .project-row:nth-child(3n){grid-column:4/-1}.public-page .project-visual{display:block;order:0;overflow:hidden;text-decoration:none}.public-page .project-visual img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .4s ease}.public-page .project-row:nth-child(3n+2) .project-visual img{aspect-ratio:.88}.public-page .project-row:nth-child(3n) .project-visual img{aspect-ratio:1.65}.public-page .project-visual:hover img{transform:scale(1.015);filter:none}.public-page .project-copy{order:1;padding:0;max-width:none}.public-page .project-copy .eyebrow{margin:0 0 10px}.public-page .project-copy h2{font-size:clamp(28px,3.3vw,46px);margin:0}.public-page .project-copy h2 a{text-decoration:none}.public-page .project-copy h2 a:hover{text-decoration:underline}
.public-page .service-cta{border-top:1px solid var(--line);padding-top:clamp(40px,5vw,80px);display:grid;grid-template-columns:7fr 1fr 4fr;gap:24px}.public-page .service-cta h2{font-size:clamp(48px,6vw,88px);line-height:1.05;max-width:10ch;margin:0}.cta-copy{grid-column:3}.public-page .service-cta p{font-size:16px}.public-page .service-cta a{white-space:normal}
.project-page .page-heading{margin-bottom:48px}.project-hero{margin:0 0 var(--section-space)}.project-hero img{display:block;width:100%;height:auto;max-height:90svh;object-fit:contain;object-position:left center}.public-page figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px;letter-spacing:.02em}.project-details{display:grid;grid-template-columns:4fr 1fr 7fr;gap:24px}.project-details dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px 24px;font-size:14px;line-height:1.7;margin:0}.project-details dt{color:var(--muted)}.project-details dd{margin:0}.project-details ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.project-details .editorial-prose{grid-column:3}.media-section{margin-top:var(--section-space)!important}.media-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(36px,5vw,80px) 32px}.media-grid figure{margin:0;grid-column:span 6;min-width:0}.media-grid figure:first-child{grid-column:1/-1}.media-grid figure:nth-child(4n){grid-column:3/11}.media-grid img,.media-grid video{display:block;width:100%;height:auto;max-height:90svh;object-fit:contain}.media-grid video{background:#e8e5df;min-height:180px}.media-section[data-section="drawing"] img{max-height:none}.page-prose{max-width:var(--measure);margin-left:calc(100% * 5 / 12)}.studio-page .page-prose p:first-child{font-family:var(--font-display);font-size:clamp(28px,3vw,42px);line-height:1.4;letter-spacing:-.025em}.studio-media:empty{display:none}
@media(max-width:1000px){.editorial-split,.process-layout,.project-details{grid-template-columns:4fr 7fr;gap:40px}.editorial-prose,.process-groups,.project-details .editorial-prose{grid-column:2}.public-page .project-grid{gap:64px 24px}.public-page .project-row{grid-column:span 7}.public-page .project-row:nth-child(3n+2){grid-column:span 5}.public-page .service-cta{grid-template-columns:1fr 1fr;gap:40px}.cta-copy{grid-column:2}.page-prose{margin-left:calc(100% * 4 / 11)}}
@media(max-width:700px){.public-page{padding-top:48px}.page-heading{padding-bottom:36px;margin-bottom:40px}.page-heading .eyebrow{margin-bottom:24px}.public-page h1{font-size:clamp(44px,11vw,72px);max-width:15ch;line-height:1.07}.public-page h2{font-size:34px}.public-page p{font-size:16px;line-height:1.8}.editorial-split,.process-layout,.project-details{display:block}.editorial-intro{margin-bottom:36px}.public-page .editorial-intro p{font-size:27px;line-height:1.4}.process-groups{margin-top:32px}.process-groups>section+section{margin-top:48px}.process-groups li{font-size:18px;padding-left:44px;min-height:80px}.process-description{font-size:16px}.public-page .section-heading{display:block;margin-bottom:28px}.public-page .section-heading .eyebrow{margin-top:12px}.public-page .project-grid{display:block}.public-page .project-row,.public-page .project-row:nth-child(3n+2),.public-page .project-row:nth-child(3n){padding:0;margin:0 0 56px;gap:18px}.public-page .project-row:last-child{margin-bottom:0}.public-page .project-row .project-visual img{aspect-ratio:1.32}.public-page .project-copy h2{font-size:32px}.public-page .project-copy .eyebrow{font-size:12px;letter-spacing:.04em}.public-page .project-copy{padding:0}.public-page .service-cta{display:block;padding-top:36px}.public-page .service-cta h2{font-size:52px;max-width:12ch;margin-bottom:30px}.project-page .page-heading{margin-bottom:32px}.project-hero img{max-height:none}.project-details dl{grid-template-columns:90px 1fr;gap:14px 16px}.project-details .editorial-prose{margin-top:44px}.media-grid{display:block}.media-grid figure+figure{margin-top:40px}.media-grid img,.media-grid video{max-height:none}.page-prose{margin-left:0}.studio-page .page-prose p:first-child{font-size:28px}}
.project-hero figure{margin:0}
.service-page .editorial-prose p+h2,.text-page .page-prose p+h2,.studio-page .page-prose p+h2{margin-top:clamp(36px,4vw,56px)}
.studio-media:not(:empty){margin-top:var(--section-space)}.studio-media img{display:block;width:100%;height:auto}
/* P3b: the approved P3.2 scales on secondary pages only. Colors, fonts and
   horizontal edges inherit the shared editorial tokens and shared header/footer. */
.editorial:not(.home-page){--section-space:clamp(66px,7.5vw,120px);--heading-size:clamp(44px,5.4vw,84px);--section-heading-size:clamp(28px,3.2vw,46px);--list-size:clamp(26px,3vw,48px);--list-padding:clamp(17.5px,2.275vw,33.25px)}
.public-page{padding-top:clamp(48px,5vw,76px);font-family:var(--font-body)}
.page-heading{padding-bottom:clamp(32px,4vw,58px);margin-bottom:clamp(36px,4.5vw,64px)}
.public-page h1{font-size:var(--heading-size);line-height:1.12;letter-spacing:-.045em}
.public-page h2{font-size:var(--section-heading-size)}
.public-page .editorial-split,.public-page .process-layout,.public-page .project-details{grid-template-columns:4fr 1fr 7fr;gap:32px}
.public-page .editorial-intro p{font-family:var(--font-body);font-size:17px;line-height:1.85;letter-spacing:normal}
.public-page .editorial-prose{min-width:0}
.public-page .process-groups h2{font-size:clamp(28px,3vw,42px)}
.public-page .process-groups li{font-family:var(--font-body);padding-block:22px;min-height:0}
.public-page .process-groups li::before{top:25px}
.public-page .process-groups>section+section{margin-top:var(--section-space)}
.public-page .project-grid{gap:clamp(48px,6vw,96px) 32px}
.public-page .project-row{grid-column:1/12;gap:18px}
.public-page .project-row:nth-child(3n+2){grid-column:3/-1;padding-top:0}
.public-page .project-row:nth-child(3n){grid-column:1/11}
.public-page .project-visual img{aspect-ratio:1.85}
.public-page .project-row:nth-child(3n+2) .project-visual img{aspect-ratio:1.4}
.public-page .project-row:nth-child(3n) .project-visual img{aspect-ratio:1.72}
.public-page .project-copy h2{font-family:var(--font-body);font-size:clamp(28px,3.2vw,46px);margin:0}
.public-page .project-copy h2 a{display:inline-flex;align-items:center;min-height:44px}
.public-page .service-index a{font-family:var(--font-body);font-size:var(--list-size);padding-block:var(--list-padding);min-height:44px}
.public-page .service-cta{grid-template-columns:7fr 5fr;padding-top:clamp(48px,5vw,76px);gap:40px}
.public-page .service-cta h2{font-size:var(--heading-size);max-width:12ch}
.public-page .cta-copy{grid-column:2}
.public-page .section-heading{margin-bottom:30px}
.public-page .page-prose{max-width:72ch;margin-left:calc(100% * 2 / 12)}
.studio-page .page-prose p:first-child{font-family:var(--font-body);font-size:17px;line-height:1.85;letter-spacing:normal}
.studio-page h1{font-size:clamp(36px,4vw,60px)}
.public-page .media-grid figure{grid-column:1/12}
.public-page .media-grid figure:nth-child(3n+2){grid-column:3/-1}
.public-page .media-grid figure:nth-child(3n){grid-column:1/11}
.public-page .media-grid figure:nth-child(4n){grid-column:1/12}
.public-page .project-details dd a{display:inline-flex;align-items:center;min-height:44px}
.editorial:not(.home-page) .editorial-footer{padding-top:clamp(40px,5.5vw,76px)}
.editorial:not(.home-page) .editorial-footer a{display:inline-flex;align-items:center;min-height:44px}
.editorial:not(.home-page) .brand,.editorial:not(.home-page) .preview-banner a{display:inline-flex;align-items:center;min-height:44px}
.editorial:not(.home-page) a:focus-visible,.editorial:not(.home-page) button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.public-page .editorial-link:hover,.public-page .service-index a:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){
 .public-page .editorial-split,.public-page .process-layout,.public-page .project-details{grid-template-columns:4fr 7fr;gap:32px}
 .public-page .editorial-prose,.public-page .process-groups,.public-page .project-details .editorial-prose{grid-column:2}
}
@media(max-width:700px){
 .editorial:not(.home-page){--section-space:clamp(48px,12vw,70px);--heading-size:clamp(36px,9.6vw,52px);--section-heading-size:28px;--list-size:26px;--list-padding:18.375px}
 .public-page h1{max-width:15ch;overflow-wrap:break-word}
 .public-page .editorial-intro p{font-size:16px;line-height:1.8}
 .public-page .project-row,.public-page .project-row:nth-child(3n+2),.public-page .project-row:nth-child(3n){margin-bottom:48px;gap:16px}
 .public-page .project-row:last-child{margin-bottom:0}
 .public-page .project-row:nth-child(n) .project-visual img{aspect-ratio:1.32}
 .public-page .project-copy h2{font-size:28px}
 .public-page .service-cta h2{font-size:44px}
 .public-page .page-prose{margin-left:0;max-width:66ch}
 .studio-page h1{font-size:34px}
 .studio-page .page-prose p:first-child{font-size:16px;line-height:1.8}
 .public-page .media-grid figure+figure{margin-top:40px}
}
