html{scroll-padding-top:114px}
header.site-header{position:sticky;top:0;z-index:40;min-height:96px;padding:10px 56px;background:var(--paper);border-bottom:1px solid var(--line);gap:25px}
header.site-header .header-logo{width:64px;height:74px;flex:0 0 64px}
header.site-header nav{gap:30px}
header.site-header nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:7px}
.portfolio-invite{margin-top:25px}
.collection-intro{padding-top:45px}
.collection-home{margin-bottom:30px}
.collection-card{scroll-margin-top:120px}
.project-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;padding-block:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:60px}
.project-pagination h3{font-size:32px;margin-top:15px;max-width:350px}
.project-pagination>a:last-child{text-align:right;justify-self:end}
.project-pagination .all-projects{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:5px}
.portfolio-footer-links{display:flex;gap:26px;flex-wrap:wrap;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:25px 0}
@media(max-width:1000px){
header.site-header{padding-inline:25px}
header.site-header .menu{display:flex;gap:18px;align-items:center;border:0;background:none;color:var(--ink);font-size:11px}
header.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 25px;box-shadow:0 16px 20px #30455018}
header.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
header.site-header nav a{padding:14px 0}
header.site-header nav .nav-contact{margin:5px 0 12px}
}
@media(max-width:700px){
header.site-header{min-height:84px;padding:8px 20px}
header.site-header .header-logo{width:58px;height:66px;flex-basis:58px}
html{scroll-padding-top:100px}
.collection-intro{padding-top:30px}
.project-pagination{gap:25px;grid-template-columns:1fr 1fr;padding-block:35px}
.project-pagination h3{font-size:25px}
.project-pagination .all-projects{grid-column:1/-1;grid-row:2;justify-self:center}
.project-pagination>a:last-child{grid-column:2;grid-row:1}
}

.social-links{display:flex;align-items:center;gap:8px;margin:14px 0 22px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--muted);transition:color .2s ease}
.social-links svg{width:18px;height:18px;display:block;flex:none}
.social-links a:hover,.social-links a:focus-visible{color:var(--ink)}

.social-links a{transition:opacity .2s ease}.social-links a:hover{opacity:.75}
.home-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.home-projects img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;margin-bottom:23px}
.home-projects .small{display:block;margin-bottom:12px}
.home-projects h3{font-size:34px;min-height:72px}
.home-projects .text-link{margin-top:16px}
#form-fallback[hidden]{display:none}
.inquire .fine a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.home-projects{grid-template-columns:1fr;gap:45px}.home-projects img{aspect-ratio:1.65}.home-projects h3{min-height:0}}

/* Comfortable phone controls, readable forms, and safe wrapping. */
@media(max-width:700px){
.menu,.collection-filters button,.share-project,.viewer-close,.viewer-prev,.viewer-next,.view-tabs button,.social-links a{min-height:44px;min-width:44px}
input,textarea,select{font-size:16px}
.form-row{grid-template-columns:1fr}
.collection-intro h1{font-size:clamp(48px,12vw,68px)}
.project-heading h1{font-size:clamp(42px,11vw,64px)}
.project-heading h1,.collection-card h2,.project-pagination h3{overflow-wrap:break-word}
.project-actions,.project-description>*{min-width:0}
.card-meta span:last-child{white-space:nowrap}
.collection-footer>div:first-child{gap:20px}
.toast{max-width:calc(100vw - 32px);width:max-content;text-align:center}
.portfolio-lightbox{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
.viewer-bottom p{min-width:0;flex:1}.viewer-bottom button{flex-shrink:0}
}

.location-strip a{font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid transparent}.location-strip a:hover{border-color:currentColor}.service-more{display:inline-block;margin-top:15px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.services .service-more{color:var(--ink)}.services .service-more:hover{color:var(--green)}@media(max-width:700px){.location-strip a{font-size:8px}}

.link-arrow{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex:0 0 auto;color:currentColor;vertical-align:middle}.link-arrow svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.text-link .link-arrow{width:11px;height:11px}nav .nav-contact .link-arrow{margin-left:9px}
