/* Shared editorial pages */
.public-page{min-height:100vh}
.public-main,.page-footer{width:min(1380px,92%);margin-inline:auto}
.public-main{padding:80px 0 120px}
.page-heading{border-bottom:1px solid #aaa79d;padding-bottom:clamp(42px,6vw,82px);margin-bottom:48px}
.public-page .eyebrow,.section-label,.project-number,.media-meta,.draft-label{font:11px/1.5 'SFMono-Regular',Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.public-page h1{font-size:80px;line-height:1.06;letter-spacing:-.055em;max-width:1100px;margin:0 0 34px;overflow-wrap:anywhere}
.page-lede{font-size:25px;line-height:1.5;max-width:840px;margin:0;color:var(--muted)}
.content-grid{display:grid;grid-template-columns:minmax(155px,1fr) minmax(0,3fr);gap:clamp(30px,7vw,110px)}
.content-section{padding:0 0 76px;margin:0 0 76px;border-bottom:1px solid #bbb7ac}
.public-page h2{font:700 32px/1.2 Comfortaa,sans-serif;letter-spacing:-.035em;margin:0 0 24px}
.section-label{margin:3px 0 22px}.content-section h2.section-label{font:11px/1.5 'SFMono-Regular',Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:3px 0 22px}.body-copy{max-width:760px;font-size:18px;line-height:1.75;color:var(--muted)}
.body-copy p:first-child{margin-top:0}.body-copy p:last-child{margin-bottom:0}
.meta-list{margin:0;padding:0;list-style:none}.meta-list li{padding:13px 0;border-bottom:1px solid #c4c0b5}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px}.stat{border-top:1px solid #aaa79d;padding-top:18px}.stat strong{display:block;font:700 36px/1.2 Comfortaa,sans-serif}.stat span{display:block;color:var(--muted);line-height:1.5;margin-top:9px}
.text-link{display:inline-block;color:var(--accent);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.text-link:hover{color:var(--ink)}
.page-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #aaa79d;padding:24px 0 40px;color:var(--muted);font:11px/1.6 'SFMono-Regular',Consolas,monospace}
.project-entry{display:grid;grid-template-columns:minmax(85px,1fr) minmax(0,4fr);gap:30px;padding:42px 0 58px;border-bottom:1px solid #aaa79d}.project-number{margin:4px 0}.project-content{max-width:1000px}.project-content p,.entry-summary{font-size:17px;line-height:1.7;color:var(--muted);max-width:760px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag{border:1px solid #b9b1a5;border-radius:99px;padding:6px 11px;font:10px/1.2 'SFMono-Regular',Consolas,monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.media-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}.filter-button{min-height:44px;padding:10px 16px;border:1px solid #aaa79d;background:transparent;color:var(--ink);font:12px Comfortaa,sans-serif;cursor:pointer}.filter-button:hover,.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.media-entry{padding:36px 0 44px;border-bottom:1px solid #aaa79d}.media-entry[hidden]{display:none}.media-entry summary{cursor:pointer;padding:8px 0;line-height:1.3}.media-entry summary h2{display:inline;margin:0}.media-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px}.draft-label{color:var(--accent)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(45px,9vw,140px)}.contact-intro p{max-width:440px;font-size:18px;line-height:1.7;color:var(--muted)}.contact-email{display:inline-block;margin-top:20px;font:700 23px/1.4 Comfortaa,sans-serif}.contact-form{border-top:1px solid #aaa79d;padding-top:25px}.contact-intro .section-label,.contact-form label{text-transform:none}.contact-form label{display:block;margin:0 0 9px;font:11px/1.5 'SFMono-Regular',Consolas,monospace;letter-spacing:.1em}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #aaa79d;border-radius:0;background:#f6f2e9;color:var(--ink);font:16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;padding:14px;margin:0 0 24px}.contact-form textarea{min-height:170px;resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible,.filter-button:focus-visible,.contact-form button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact-form button{min-height:48px;padding:13px 20px;border:1px solid #9c9c91;background:#dedbd2;color:#53584f;font:700 13px Comfortaa,sans-serif;cursor:not-allowed}.form-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 24px}
@media(max-width:1000px){.public-page h1{font-size:60px}.page-lede{font-size:22px}}
@media(max-width:700px){.public-main,.page-footer{width:88%}.public-main{padding-top:70px}.page-heading{margin-bottom:36px}.content-grid,.contact-layout{grid-template-columns:1fr;gap:24px}.content-section{padding-bottom:48px;margin-bottom:48px}.project-entry{grid-template-columns:1fr;gap:12px;padding:32px 0 42px}.page-footer{flex-wrap:wrap}.public-page h1{font-size:42px}.page-lede{font-size:19px}.public-page h2{font-size:28px}.body-copy{font-size:16px}.contact-email{font-size:19px}}
