.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}.home-cases{margin-top:38px}.case-card{display:block;min-width:0}.case-card[hidden]{display:none}.case-photo{aspect-ratio:4/3;position:relative;overflow:hidden;background:#e8e8e0}.case-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.case-card:hover img{transform:scale(1.025)}.case-photo>span{position:absolute;bottom:14px;left:14px;padding:7px 12px;background:#f4f3eeee;font-size:13px}.case-info{padding-top:17px}.case-info h3{font-size:20px;line-height:1.5;font-weight:500;margin:0 0 9px;letter-spacing:-.6px}.case-info p{font-size:13px;color:var(--muted);margin:0;line-height:1.8}.case-info p span{margin:0 5px}.portfolio-shell{max-width:1400px;margin:auto;padding:55px 6% 100px}.breadcrumb{font-size:14px;color:var(--muted);display:inline-block;padding:10px 0}.portfolio-heading{margin:40px 0}.portfolio-heading h1,.detail-heading h1{font-family:var(--serif);font-size:44px;letter-spacing:-1.5px;line-height:1.5;margin:0 0 15px}.portfolio-heading>p:last-child{font-size:16px;color:var(--muted)}.portfolio-controls{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px}.area-filters{display:flex;gap:8px;flex-wrap:wrap}.area-filters button{padding:11px 18px;min-height:44px;font-size:14px;border:1px solid var(--line)}.area-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.case-search{margin:0;width:270px}.case-search input{font-size:16px;margin:0;min-height:46px;padding:10px 14px;background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#result-count{font-size:14px;color:var(--muted);margin:24px 0}#no-results{text-align:center;padding:65px 20px}#reset-search{font-size:16px;text-decoration:underline;padding:15px}.case-detail{max-width:1120px;margin:auto;padding:40px 6% 90px}.detail-heading{text-align:center;margin:38px 0 45px}.detail-heading p:last-child{color:var(--muted);font-size:14px;line-height:1.9}.detail-heading p span{margin:0 8px}.detail-photos{max-width:640px;margin:auto}.detail-photo{margin:0 0 28px;text-align:center}.detail-photo img{display:block;max-width:100%;width:auto;height:auto;margin:auto}.detail-photo figcaption{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:1px}.detail-contact{text-align:center;border-top:1px solid var(--line);padding:35px 0;margin-top:50px}.detail-contact p{font-size:16px}.detail-contact a{font-size:25px;display:inline-flex;align-items:center;gap:18px;padding:10px 0;border-bottom:1px solid var(--accent)}.detail-contact a span{font-size:14px}.case-pagination{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:30px;font-size:14px}.case-pagination a{padding:10px 0}@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portfolio-shell{padding:30px 7% 65px}.portfolio-heading{margin:25px 0 30px}.portfolio-heading h1,.detail-heading h1{font-size:30px;letter-spacing:-1px}.portfolio-controls{display:block}.case-search{width:100%;margin-top:20px}.area-filters{gap:6px}.area-filters button{padding:10px 13px}.case-grid{gap:30px 16px}.case-info h3{font-size:17px}.case-info p{font-size:12px}.case-photo>span{bottom:8px;left:8px;padding:4px 9px;font-size:12px}.case-detail{padding:25px 6% 60px}.detail-heading{margin:25px 0 30px}.detail-heading p:last-child{font-size:13px}.detail-contact a{font-size:23px}.case-pagination{display:flex;font-size:13px;gap:10px}.home-cases{grid-template-columns:1fr}.home-cases .case-photo{aspect-ratio:4/3}}@media(max-width:420px){#case-list{grid-template-columns:1fr}.case-info h3{font-size:20px}.case-info p{font-size:14px}}

/* Shared page edges follow the portfolio listing at every viewport. */
:root{--page-gutter:max(6vw,calc(56vw - 700px))}
.header,.section,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.portfolio-shell,.case-detail{max-width:none;margin-inline:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero{padding-inline:var(--page-gutter);grid-template-columns:minmax(0,46fr) minmax(0,54fr);column-gap:40px}
.hero-copy{padding-left:0;padding-right:0;min-width:0}
.hero-visual{width:100%;margin-left:auto;margin-right:0}
@media(max-width:760px){:root{--page-gutter:7vw}.header nav{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.hero{gap:0}.hero-copy{padding-left:0;padding-right:0}.hero-visual{width:100%;margin-left:auto;margin-right:auto}}

/* Let the opening section follow its content instead of a tall fixed frame. */
.hero{height:auto;min-height:0;padding-top:40px;padding-bottom:40px;align-items:center}
.hero-copy{padding-top:0;padding-bottom:0}
.hero-visual{margin-top:0;margin-bottom:0}
.hero + .about{padding-top:64px}
@media(max-width:760px){.hero{padding-top:32px;padding-bottom:24px;gap:28px}.hero-copy{padding-top:0;padding-bottom:0}.hero-visual{margin-top:0;margin-bottom:0}.hero + .about{padding-top:40px}}

/* Swipe through featured projects on mobile. */
@media(max-width:760px){
.home-cases{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--page-gutter);margin-left:calc(-1 * var(--page-gutter));margin-right:calc(-1 * var(--page-gutter));padding:0 var(--page-gutter) 16px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9da292 transparent;-webkit-overflow-scrolling:touch}
.home-cases .case-card{flex:0 0 88%;scroll-snap-align:start;scroll-snap-stop:normal}
.home-cases .case-photo{aspect-ratio:4/3}
.home-cases .case-card:hover img{transform:none}
.home-cases::-webkit-scrollbar{height:3px}
.home-cases::-webkit-scrollbar-thumb{background:#9da292;border-radius:3px}
}

@media(max-width:760px){.home-page footer{padding-bottom:20px}}
