:root{--bg:#1a1a1a}
main p:not(.eyebrow):not(.meta),.prose,.section-copy,.testimonials blockquote,.card>div{text-align:justify;text-justify:inter-word;hyphens:auto}
.page-heading{max-width:var(--max);margin:0 auto;padding:clamp(4rem,9vw,8rem) 2rem 2rem}.page-heading h1{max-width:900px;font-size:clamp(2.7rem,7vw,5.5rem);line-height:1;letter-spacing:-.04em;margin:0}.page-copy{padding-top:0}
.brand{display:block;width:180px;height:44px;overflow:hidden}
.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.landing-section{max-width:var(--max);margin:auto;padding:clamp(2rem,4.5vw,4rem) 2rem;border-bottom:1px solid var(--line)}.landing-section:first-child{padding-top:clamp(4rem,9vw,8rem)}
.landing-section h1,.landing-section h2{max-width:900px;font-size:clamp(3rem,8vw,7rem);line-height:.92;letter-spacing:-.05em;margin:.25em 0 .7em}
.landing-why{min-height:70vh}
.section-copy{max-width:850px;font-size:clamp(1rem,1.5vw,1.2rem)}
.section-copy h4{font-size:1.5rem;margin-top:2.5rem}
.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.testimonials blockquote{margin:0;padding:2rem;background:var(--panel);font-size:1.05rem}
.testimonials blockquote span{display:block;margin-top:1rem;color:var(--muted);font-size:.85rem}
.testimonials>p:last-child{grid-column:1/-1;background:var(--bg);padding:2rem 0;margin:0}
.contact-form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:3rem}
.contact-form label{display:flex;flex-direction:column;gap:.35rem;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4){grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--ink);padding:.9rem;font:inherit}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.contact-form .button{justify-self:start;background:transparent;color:var(--ink);cursor:pointer}
.form-result{grid-column:1/-1;margin:0;color:var(--ink)}
.form-result.is-error{color:var(--accent)}
.form-trap{position:absolute;left:-9999px}
.supporting-list{max-width:var(--max);margin:0 auto;padding:0 2rem 6rem}.supporting-list>h2{font-size:clamp(2rem,5vw,4rem);line-height:1}.supporting-list .card-grid{grid-template-columns:repeat(2,1fr)}.page-copy-press{padding-bottom:2rem}.press-list .card-grid{margin-top:0}
.portfolio{max-width:var(--max);margin:0 auto;padding:0 2rem 7rem}.portfolio-group{padding:2rem 0 4rem;border-top:1px solid var(--line)}.portfolio-group>h2{max-width:860px;margin-left:auto;margin-right:auto;padding:0 2rem;font-size:clamp(2rem,5vw,4rem);line-height:1}.portfolio-grid{display:grid;max-width:860px;margin-left:auto;margin-right:auto;padding:0 2rem;grid-template-columns:repeat(4,1fr);gap:1.5rem}.project-card a{display:block;text-decoration:none}.project-card img,.project-placeholder{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--panel)}.project-placeholder{display:grid;place-items:center;color:var(--line);font-size:6rem;font-weight:900}.project-info{display:block;padding:.8rem 0}.project-info strong{display:block;font-size:1.15rem;line-height:1.2}.project-card a:hover strong{color:var(--accent)}
.portfolio-wall{padding-top:1rem}
.article-poster{max-width:860px;margin:0 auto;padding:0 2rem}.article-poster img{display:block;width:min(100%,420px);height:auto;max-height:720px;object-fit:contain;object-position:left top}
.ctx{display:inline-block;color:var(--muted);font-style:italic}.ctx-r{display:inline-block;vertical-align:middle;cursor:pointer;max-width:100%;height:auto}.ctx-r:focus{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:980px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.brand{width:145px;height:36px}.page-heading,.landing-section,.supporting-list,.portfolio{padding-left:1.2rem;padding-right:1.2rem}.testimonials,.contact-form,.supporting-list .card-grid{grid-template-columns:1fr}.portfolio-group>h2,.portfolio-grid{padding-left:0;padding-right:0}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.article-poster{padding:0 1.2rem}.article-poster img{width:min(100%,360px)}.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4){grid-column:auto}}
