
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeeae4;color:#171716;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.wrap{max-width:1450px;margin:auto;padding:30px 5vw 95px}.top{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;letter-spacing:.1em}.back{text-decoration:none;border-bottom:1px solid #777;padding-bottom:5px}.eyebrow{font-size:11px;letter-spacing:.19em;margin:85px 0 18px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(46px,6.2vw,92px);line-height:1.04;letter-spacing:-.045em;margin:0 0 22px;max-width:950px}.intro{font-size:16px;line-height:1.65;max-width:690px;margin:0 0 34px}.hero{display:block;width:100%;height:auto;aspect-ratio:2.35/1;object-fit:cover;object-position:center}.sectionhead{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #bcb6ae;padding:68px 0 20px;gap:25px}.sectionhead h2{font-size:clamp(32px,4vw,55px);margin:0}.sectionhead p{font-size:13px;max-width:350px;line-height:1.6;margin:0}.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0 85px}.work{background:#e3ded7;padding:28px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.work h3{font-size:27px;margin:0 0 10px}.work p{font-size:13px;line-height:1.6;margin:0}.status{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px;color:#555}.project{min-width:0}.project-image{position:relative;display:block;width:100%;height:330px;padding:0;border:0;background:#ddd8d0;cursor:zoom-in;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s ease}.project-image:hover img{transform:scale(1.025)}.zoom-hint{position:absolute;right:15px;top:15px;background:#eeeae4;padding:9px 13px;font-size:18px}.project-meta{padding:18px 0}.project-meta h3{font-size:27px;margin:0 0 8px}.project-meta p{font-size:13px;color:#555;line-height:1.5;margin:0}.cta{border-top:1px solid #bcb6ae;border-bottom:1px solid #bcb6ae;padding:46px 0 50px;display:flex;justify-content:space-between;align-items:end;gap:45px;background:transparent;color:inherit}.cta-label{font-size:10px;letter-spacing:.16em;margin-bottom:20px}.cta h2{font-size:clamp(30px,3.7vw,54px);line-height:1.12;max-width:710px;margin:0 0 15px}.cta p{font-size:14px;line-height:1.6;margin:0;max-width:540px;color:#4d4a46}.cta-link{flex-shrink:0;white-space:nowrap;font-size:12px;letter-spacing:.07em;text-decoration:none;border-bottom:1px solid #171716;padding-bottom:9px}.cta-link:hover{opacity:.65}.image-viewer{position:fixed;max-width:min(95vw,1450px);max-height:95vh;padding:42px 22px 16px;border:0;background:#eeeae4;color:#171716;box-shadow:0 18px 80px #0005}.image-viewer::backdrop{background:#111d}.image-viewer img{display:block;max-width:100%;max-height:calc(95vh - 110px);width:auto;height:auto;object-fit:contain;margin:auto}.viewer-close{position:absolute;top:4px;right:12px;font-size:30px;border:0;background:transparent;cursor:pointer}.viewer-caption{text-align:center;font-size:12px;margin:12px 0 0}
@media(max-width:700px){.wrap{padding:22px 20px 60px}.top{font-size:9px}.eyebrow{margin-top:58px}.intro{font-size:14px}.hero{aspect-ratio:1.65/1}.sectionhead{display:block;padding-top:48px}.sectionhead p{margin-top:10px}.works{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.project-image{height:300px}.cta{display:block;padding:35px 0}.cta-link{display:inline-block;margin-top:25px}.image-viewer{padding:40px 10px 12px}}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}html{scroll-behavior:auto}}

/* V3: cinematic banners and editorial portfolio presentation */
.hero{height:clamp(300px,31vw,430px);aspect-ratio:auto;object-fit:cover;object-position:center 52%;}
.project-image{height:clamp(310px,30vw,420px);background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.project-image img{width:100%;height:100%;object-fit:contain;}
.project-image--calendar{background:#e7e2db;}
.project-image--calendar img{width:auto;max-width:100%;height:100%;object-fit:contain;}
.project-image--certificate{background:#eeeae4;}
.project-image--certificate img{width:100%;height:auto;max-height:100%;object-fit:contain;}
.zoom-hint{right:12px;top:12px;background:rgba(238,234,228,.93);}
.project-meta{padding:20px 0 0;}
@media(max-width:700px){.hero{height:clamp(215px,55vw,310px);aspect-ratio:auto;}.project-image{height:310px}.project-image--calendar{height:390px}.project-image--certificate{height:auto;aspect-ratio:1.35/1}}

/* V4: portfolio-first internal pages, no repeated decorative hero */
.intro{margin-bottom:0}
.sectionhead{padding-top:54px}
.works{gap:28px;margin-top:26px;margin-bottom:82px}
.project-image{height:clamp(360px,37vw,520px);background:#e5e0d9}
.project-image--calendar{background:#e7e2db}
.project-image--certificate{background:#e7e2db}
.project-image--calendar img,.project-image--certificate img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.project-image:hover img{transform:scale(1.012)}
@media(max-width:700px){.sectionhead{padding-top:45px}.works{gap:34px;margin-bottom:60px}.project-image,.project-image--calendar,.project-image--certificate{height:auto;aspect-ratio:1/1}.project-image--calendar{aspect-ratio:4/5}.project-image--certificate{aspect-ratio:4/3}}

/* V5 — approved spatial design concepts */
.spaces-cases{margin:26px 0 80px;display:flex;flex-direction:column;gap:72px}
.space-case{min-width:0}.space-case-heading{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:21px}.space-case-heading .status{margin:0 0 12px}.space-case-heading h3{font-size:clamp(30px,3.6vw,49px);line-height:1.1;margin:0 0 10px}.space-subtitle,.space-description{font-size:13px;line-height:1.65;color:#555;margin:0}.space-description{max-width:390px}.space-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.space-figure{min-width:0;margin:0}.space-image{height:auto;aspect-ratio:4/3;background:#e5e0d9}.space-image img{width:100%;height:100%;object-fit:contain}.space-figure figcaption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#555;padding-top:12px}.space-case+.space-case{border-top:1px solid #bcb6ae;padding-top:55px}
@media(max-width:700px){.spaces-cases{gap:50px;margin-bottom:60px}.space-case-heading{display:block}.space-description{margin-top:15px}.space-gallery{grid-template-columns:1fr;gap:22px}.space-case+.space-case{padding-top:40px}.space-image{aspect-ratio:4/3}}
