.site-shell{display:flex;flex-direction:column;min-height:calc(100dvh - 61px)}
main{flex:1}
.home-page .site-footer{margin-top:8px;padding:17px 24px}
.home-page .site-footer>p{display:none}
.home-page .site-footer nav{display:flex;gap:28px}
.home-page .hero-inner{padding-top:24px;padding-bottom:21px}
.home-page h1{font-size:clamp(38px,4.2vw,63px);margin-top:17px;margin-bottom:19px}
.home-page .hero-description{margin-bottom:22px}
.home-page .hero-tags{margin-top:22px}
.subpage .content-section{padding:38px 30px 38px}
.subpage .section-heading h1{font:600 clamp(31px,3.2vw,46px)/1.1 var(--sans);letter-spacing:-1.4px;margin:12px 0 0}
.subpage .section-heading{margin-bottom:29px}
.subpage .site-footer{margin-top:8px}
.project-copy .project-link{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:.5px;border-top:1px solid #a8b8c3;text-align:left;padding:13px 0 0;margin-top:auto;color:var(--blue);min-height:44px;gap:12px}
.blog-card .article-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b0bec8;padding:14px 0 0;margin-top:auto;font:10px var(--mono);color:var(--blue);min-height:44px;gap:12px}
.reading-layout{max-width:900px;margin:30px auto 38px;padding:0 22px}
.breadcrumb{display:flex;align-items:center;gap:13px;font:10px var(--mono);color:#4c667a;margin-bottom:18px}
.breadcrumb>a{padding:8px 0}.breadcrumb>a:hover{color:var(--blue)}
.reading-article{padding:45px 56px}
.reading-article>.eyebrow{color:var(--blue)}
.reading-article h1{font:500 46px/1.12 Georgia,serif;letter-spacing:-1.2px;margin:19px 0 25px}
.reading-article .reader-summary{font-size:19px}
#reading-body>p{font:17px/1.85 var(--sans);margin:0 0 22px;color:#344952}
.reading-return{margin-top:22px;width:fit-content;min-height:44px}
@media(max-width:1000px){.home-page h1{font-size:4.6vw}.home-page .hero-inner{padding:21px 20px}.subpage .content-section{padding:30px 22px 34px}.reading-layout{max-width:820px}}
@media(max-width:760px){.site-shell{min-height:calc(100dvh - 32px)}.home-page h1{font-size:clamp(39px,9vw,66px)}.home-page .hero-inner{padding:26px 25px 23px}.home-page .site-footer{padding:19px}.home-page .site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px}.home-page .site-footer .footer-brand{font-size:20px}.subpage .content-section{padding:30px 15px}.subpage .section-heading h1{font-size:35px;letter-spacing:-1px}.subpage .section-heading{gap:20px}.reading-layout{margin:20px auto 28px;padding:0 14px}.reading-article{padding:33px 30px}.reading-article h1{font-size:38px}.reading-article .reader-summary{font-size:18px}#reading-body>p{font-size:16px}}
@media(max-width:430px){.home-page h1{font-size:9.4vw}.home-page .hero-inner{padding:22px 17px 21px}.subpage .content-section{padding:27px 10px}.subpage .section-heading h1{font-size:31px}.home-page .site-footer{grid-template-columns:1fr 1fr;padding:17px 13px;gap:14px}.home-page .site-footer .footer-brand{font-size:19px}.home-page .site-footer nav{grid-template-columns:1fr;gap:0;font-size:8px}.reading-layout{padding:0 9px}.reading-article{padding:27px 22px}.reading-article h1{font-size:33px}.reading-article .reader-summary{font-size:17px;line-height:1.6}#reading-body>p{font-size:15px;line-height:1.8}.breadcrumb{font-size:8px}.reading-article .reader-end{font-size:6px;letter-spacing:.3px}}
@media(max-width:360px){.hero-actions{flex-direction:column}.hero-actions a{font-size:10px}.hero-tags{gap:12px}.directory-card h2{font-size:19px}.card-label{font-size:4.5px}.brand small{font-size:5px}.reader-end{letter-spacing:0}.nav-button{font-size:7px}}
@media print{.reading-layout{max-width:none;padding:0;margin:0}.reading-article{border:0;padding:0}.reading-article h1{font-size:32px}.breadcrumb,.reading-return{display:none}}
@media(max-width:760px){.nav-button{font-size:11px;padding:0 2px;min-height:50px;white-space:normal;text-align:center}.site-footer nav{font-size:11px}.site-footer nav a{min-height:40px;display:flex;align-items:center}.home-page .hero-description,.home-page .hero-tags{display:none}.home-page .hero-summary{margin-bottom:24px}.home-page .hero-visual{min-height:195px}.home-page .photo-frame{min-height:170px;aspect-ratio:2.1}.home-page .photo-caption span{font-size:22px}.home-page .site-footer nav{font-size:11px}.hero-actions a{font-size:10px}}
@media(max-width:360px){.nav-button{font-size:10px}.home-page .hero-actions{flex-direction:column}}
