
:root{
  --paper:#f5f2eb;--ink:#1d1e1b;--muted:#74746d;--line:#d8d4ca;
  --serif:"Noto Serif TC","Songti TC","PMingLiU","Times New Roman",serif;
  --sans:"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,242,235,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.menu-wrap{max-width:1700px;margin:auto;padding:0 34px;display:grid;grid-template-columns:1fr auto auto;gap:48px;align-items:center;min-height:78px}
.menu-group{display:flex;align-items:center;gap:28px;white-space:nowrap}
.menu-group:nth-child(2),.menu-group:nth-child(3){justify-content:flex-end}
.menu-label{font-family:var(--sans);font-size:12px;letter-spacing:.06em;font-weight:600}
.menu-link{font-family:var(--sans);font-size:12px;letter-spacing:.04em;position:relative}
.menu-link:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:.25s}
.menu-link:hover:after,.menu-link.active:after{right:0}
.menu-toggle{display:none;border:0;background:none;font-size:22px}
.mobile-menu{display:none}
.hero{padding:100px 4vw 75px}
.hero h1{font-size:clamp(58px,8vw,132px);font-weight:400;letter-spacing:-.06em;line-height:.98;margin:0 0 28px}
.hero p{max-width:760px;font-size:clamp(20px,1.7vw,29px);margin:0}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.latest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0 4vw 120px}
.latest-card{border-top:1px solid var(--line);padding-top:18px}
.latest-card-image{aspect-ratio:4/3;overflow:hidden;background:#ddd}
.latest-card-image img{height:100%;object-fit:cover;transition:transform .8s}
.latest-card:hover img{transform:scale(1.025)}
.card-meta{display:flex;justify-content:space-between;gap:25px;margin-top:16px}
.card-meta h2{font-size:clamp(28px,3vw,46px);font-weight:400;margin:0}
.card-meta p{max-width:360px;margin:6px 0 0;color:var(--muted)}
.page-hero{padding:100px 4vw 65px}
.page-hero h1{font-size:clamp(60px,9vw,145px);font-weight:400;letter-spacing:-.06em;line-height:1;margin:0}
.page-hero p{font-size:22px;max-width:760px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0 4vw 120px}
.category-card{border-top:1px solid var(--line);padding-top:16px}
.category-card img{aspect-ratio:4/3;object-fit:cover}
.category-card h2{font-size:38px;font-weight:400;margin:15px 0 0}
.category-card p{margin:4px 0;color:var(--muted)}
.album-page{padding:0 4vw 120px}
.album-nav{display:flex;flex-wrap:wrap;gap:18px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:55px}
.album-button{border:0;background:none;padding:0;font-family:var(--sans);font-size:12px;letter-spacing:.08em;cursor:pointer;color:var(--muted)}
.album-button.active,.album-button:hover{color:var(--ink)}
.album-panel{display:none}
.album-panel.active{display:block}
.album-intro{max-width:780px;min-height:150px;margin-bottom:38px}
.album-intro h2{font-size:44px;font-weight:400;margin:0 0 12px}
.album-intro p{font-size:20px;color:var(--muted)}
.album-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.album-item{grid-column:span 4;overflow:hidden;background:#ddd}
.album-item.wide{grid-column:span 8}
.album-item img{height:100%;aspect-ratio:4/3;object-fit:cover}
.architecture-grid,.blog-list{padding:0 4vw 120px}
.project-row,.blog-row{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;padding:60px 0;border-top:1px solid var(--line)}
.project-row img,.blog-row img{aspect-ratio:4/3;object-fit:cover}
.project-row h2,.blog-row h2{font-size:46px;font-weight:400;margin:0 0 12px}
.project-row p,.blog-row p{font-size:19px;color:var(--muted)}
.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:0 4vw 120px}
.about-image img{aspect-ratio:4/5;object-fit:cover}
.about-copy{font-size:22px}
.footer{border-top:1px solid var(--line);padding:45px 4vw;display:flex;justify-content:space-between;font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--muted)}
@media(max-width:1000px){
 .menu-wrap{display:flex;justify-content:space-between;min-height:68px;padding:0 20px}
 .menu-wrap>.menu-group{display:none}.menu-toggle{display:block}
 .mobile-menu{position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px 20px}
 .mobile-menu.open{display:flex;flex-direction:column;gap:18px}
 .mobile-menu .menu-label,.mobile-menu .menu-link{font-size:14px}
 .hero,.page-hero{padding-left:20px;padding-right:20px}
 .latest-grid,.category-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
 .album-page,.architecture-grid,.blog-list,.about-layout{padding-left:20px;padding-right:20px}
 .album-item,.album-item.wide{grid-column:span 12}
 .project-row,.blog-row,.about-layout{grid-template-columns:1fr}
 .footer{padding-left:20px;padding-right:20px;display:block}
}
