/* Real case gallery. Native photographs retain their proportions. */
.gallery-page{background:#f9f9f5;color:#304c24;font-family:var(--sans,'Noto Sans JP',sans-serif)}
.works-heading,.case-heading,.case-breadcrumb,.works-gallery,.case-story,.case-overview,.case-photos,.case-plans,.case-voice,.case-source,.case-related{width:86%;max-width:1200px;margin-left:auto;margin-right:auto}
.works-heading{padding-top:180px;padding-bottom:78px}.works-heading h1{font-size:clamp(38px,4.8vw,76px);line-height:1.5;font-weight:500;letter-spacing:-.04em;margin:28px 0 40px}.works-lead{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.works-lead p{font-size:13px;line-height:2.2}.works-lead>span{font-size:11px;letter-spacing:.15em;white-space:nowrap}
.works-gallery{display:grid;grid-template-columns:1fr 1fr;column-gap:5%;row-gap:86px;padding-bottom:130px}.case-card{min-width:0}.case-card a{display:block}.case-card-photo{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e6e9e1}.case-card-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.case-card a:hover .case-card-photo>img{transform:scale(1.025)}.case-card-photo>span{position:absolute;bottom:0;right:0;width:52px;height:52px;background:#f9f9f5;display:grid;place-items:center;font-size:23px}.case-card-index{font-size:9px;letter-spacing:.13em;margin:22px 0 12px;color:#737d6d}.case-card h2{font-size:clamp(20px,1.9vw,28px);line-height:1.65;font-weight:500;letter-spacing:-.025em}.case-card-description{font-size:12px;line-height:2;margin-top:15px;color:#596653;max-width:94%}.case-card-more{display:flex;justify-content:space-between;border-bottom:1px solid #b9c1b4;padding:20px 0 14px;font-size:11px;margin-top:10px}.case-card-more b{font-weight:400;font-size:19px}
.gallery-contact{padding:95px 7vw 110px;text-align:center;background:#e9ede4}.gallery-contact h2{font-size:clamp(26px,3vw,42px);line-height:1.6;font-weight:500;margin:25px 0}.gallery-contact>p:not(.eyebrow){font-size:13px;line-height:2.1}.gallery-contact>a{border:1px solid #304c24;display:flex;justify-content:space-between;align-items:center;max-width:480px;margin:40px auto 0;padding:28px 32px;font-size:16px}.gallery-contact>a:hover{background:#304c24;color:#fff}.gallery-contact>a>span{font-size:23px}
.case-breadcrumb{padding-top:155px;display:flex;gap:18px;align-items:center;font-size:10px;color:#69735f}.case-heading{padding:55px 0 65px}.case-heading h1{font-size:clamp(30px,3.7vw,54px);line-height:1.6;font-weight:500;letter-spacing:-.04em;max-width:1050px;margin-top:24px}.case-subtitle{font-size:13px;margin-top:20px;letter-spacing:.06em}.case-summary{font-size:14px;line-height:2.2;max-width:720px;margin-top:30px}.case-hero{margin:0 auto;width:86%;max-width:1200px}.case-hero img{height:auto;object-fit:contain;background:#e8ece3}.case-hero figcaption{font-size:9px;color:#707965;margin-top:12px}
.case-story{display:grid;grid-template-columns:1fr 1.35fr;gap:12%;padding:100px 0}.case-story h2{font-size:30px;line-height:1.8;font-weight:500;margin-top:25px}.case-story-copy h3{font-size:14px;line-height:1.8;font-weight:500;margin-bottom:15px}.case-story-copy>p{font-size:13px;line-height:2.2;color:#4b5a43}.case-story-copy>h3:not(:first-child){margin-top:35px}
.case-overview{border-top:1px solid #c9d0c2;padding:60px 0 70px}.case-overview>h2{font-size:25px;font-weight:500;margin:25px 0 35px}.case-overview dl{margin:0;max-width:900px}.case-overview dl>div{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:22px 0;border-top:1px solid #dce1d6;font-size:12px;line-height:2}.case-overview dt{font-weight:500}.case-overview dd{margin:0;color:#4b5a43}.case-data-note{font-size:10px;line-height:1.9;color:#718068;margin-top:25px;max-width:850px}
.case-photos{padding:35px 0 90px}.case-section-title{margin-bottom:40px}.case-section-title h2{font-size:28px;line-height:1.7;font-weight:500;margin-top:22px}.case-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 5%;align-items:start}.case-photo-grid figure{margin:0}.case-photo-grid img{height:auto;max-height:850px;object-fit:contain;object-position:left top;background:#edf0e8}.case-photo-grid figcaption{font-size:9px;letter-spacing:.12em;margin-top:14px;color:#73806c}.case-photo-grid figure:first-child{grid-column:1/-1;max-width:1000px;margin:auto;width:100%}
.case-plans{padding:65px 0;border-top:1px solid #cad1c4}.case-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.case-plan-grid figure{margin:0}.case-plan-grid figure:only-child{max-width:620px}.case-plan-grid a{display:block;background:#fff;padding:25px}.case-plan-grid img{height:520px;object-fit:contain}.case-plan-grid figcaption{font-size:11px;margin-top:18px;letter-spacing:.08em}
.case-voice{padding:70px 0;border-top:1px solid #cad1c4}.case-voice-content{display:flex;gap:6%;align-items:flex-start}.case-voice-content>figure{margin:0;flex:0 0 43%}.case-voice-content>figure img{height:auto}.case-voice-content figcaption{font-size:10px;margin-top:12px}.case-voice blockquote{margin:0;font-size:14px;line-height:2.3;color:#4b5a43}.case-voice cite{display:block;font-style:normal;font-size:10px;margin-top:25px;color:#73806c}.case-source{padding:30px 0 60px;font-size:10px;color:#718068}.case-source a{border-bottom:1px solid #bfc8b9;padding-bottom:8px}.case-source span{margin-left:25px}
.case-related{padding:70px 0 100px;border-top:1px solid #c8d0c0}.case-related-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.case-related-head h2{font-size:29px;line-height:1.6;font-weight:500;margin-top:20px}.case-related-head>a{font-size:11px;white-space:nowrap;border-bottom:1px solid #aab7a1;padding-bottom:12px}.case-related-head>a span{margin-left:30px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%}.related-grid .case-card-description{display:none}
@media(max-width:750px){.works-heading,.case-heading,.case-breadcrumb,.works-gallery,.case-story,.case-overview,.case-photos,.case-plans,.case-voice,.case-source,.case-related,.case-hero{width:calc(100% - 44px)}.works-heading{padding-top:140px;padding-bottom:48px}.works-heading h1{font-size:38px;margin:22px 0 28px}.works-lead{display:block}.works-lead p{font-size:11px;line-height:2.1}.works-lead>span{display:block;margin-top:26px;font-size:9px}.works-gallery{grid-template-columns:1fr;row-gap:52px;padding-bottom:75px}.case-card h2{font-size:23px}.case-card-description{font-size:11px}.case-card-index{margin-top:18px}.case-card-photo>span{width:44px;height:44px}.case-card-more{margin-top:5px;padding-top:14px}.gallery-contact{padding:65px 22px 70px}.gallery-contact h2{font-size:28px}.gallery-contact>p:not(.eyebrow){font-size:12px}.gallery-contact>a{margin-top:28px;padding:22px 25px;font-size:14px}.case-breadcrumb{padding-top:125px;font-size:9px}.case-heading{padding:35px 0 40px}.case-heading h1{font-size:29px;line-height:1.65;margin-top:20px}.case-summary{font-size:12px;line-height:2.1;margin-top:22px}.case-subtitle{font-size:11px;margin-top:15px}.case-story{display:block;padding:60px 0}.case-story h2{font-size:26px;margin:18px 0 32px}.case-story-copy>p{font-size:12px}.case-story-copy>h3:not(:first-child){margin-top:25px}.case-overview{padding:45px 0}.case-overview>h2{font-size:23px;margin:20px 0 25px}.case-overview dl>div{grid-template-columns:80px 1fr;gap:16px;font-size:11px;padding:18px 0}.case-data-note{font-size:9px}.case-photos{padding:15px 0 55px}.case-section-title{margin-bottom:28px}.case-section-title h2{font-size:24px;margin-top:17px}.case-photo-grid{grid-template-columns:1fr;gap:34px}.case-photo-grid figure:first-child{grid-column:auto}.case-plan-grid{grid-template-columns:1fr;gap:35px}.case-plan-grid a{padding:20px}.case-plan-grid img{height:auto;max-height:580px}.case-plans,.case-voice{padding:45px 0}.case-voice-content{display:block}.case-voice-content>figure{margin-bottom:25px}.case-voice blockquote{font-size:12px}.case-source{padding-bottom:40px;font-size:9px}.case-related{padding:45px 0 65px}.case-related-head{display:block;margin-bottom:32px}.case-related-head h2{font-size:25px}.case-related-head>a{display:inline-block;margin-top:25px}.related-grid{grid-template-columns:1fr;gap:40px}.related-grid .case-card h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.case-card-photo>img{transition:none}}
@media(max-width:370px){.works-heading h1{font-size:30px}.case-heading h1{font-size:26px}.gallery-contact h2{font-size:24px}}
.case-photo-grid img{width:auto;max-width:100%}

/* Works listing only: JS enhancement leaves all cards available on failure. */
.works-gallery>.case-card[hidden]{display:none}.works-pagination{width:86%;max-width:1200px;margin:-60px auto 100px;text-align:center}.works-pagination-summary{font-size:13px;margin:0 0 24px;color:#596653}.works-pagination-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.works-pagination button{appearance:none;background:transparent;color:#304c24;border:1px solid #aebba2;min-width:46px;min-height:46px;padding:10px 16px;font:inherit;font-size:14px;cursor:pointer}.works-pagination button[aria-current="page"]{background:#304c24;color:white}.works-pagination button:disabled{opacity:.4;cursor:default}.works-pagination button:focus-visible{outline:2px solid #304c24;outline-offset:4px}#works-gallery{scroll-margin-top:110px}#works-gallery:focus{outline:none}@media(max-width:750px){.works-pagination{width:calc(100% - 44px);margin:-25px auto 65px}.works-pagination-controls{gap:8px}.works-pagination button{padding:10px 13px}.works-pagination-summary{font-size:12px}}

.works-pagination-top{margin:0 auto 45px}.works-pagination-bottom{margin-top:-60px}@media(max-width:750px){.works-pagination-top{margin:0 auto 30px}.works-pagination-bottom{margin-top:-25px}}

/* Source titles and imported addresses must wrap inside the case reading width. */
.case-breadcrumb{flex-wrap:wrap;row-gap:8px}
.case-breadcrumb>span,.case-overview dd,.case-source{min-width:0;overflow-wrap:anywhere}
