*{box-sizing:border-box}:root{--ink:#171717;--muted:#6f6a63;--paper:#f7f4ee;--white:#fffdf9;--line:#ded8cf;--accent:#8b3f2f;--dark:#11100e}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Serif TC,思源宋體,Source Han Serif TC,華康明體,PMingLiU,ui-serif,Georgia,Times New Roman,serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.nav{z-index:10;-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:#f7f4eedb;border-bottom:1px solid #17171714;justify-content:space-between;align-items:center;height:64px;padding:0 34px;display:flex;position:sticky;top:0}.brand{letter-spacing:.06em;text-transform:uppercase;font-size:21px;font-style:italic}.navLinks{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);gap:25px;font:13px/1.2 system-ui,sans-serif;display:flex}.navLinks a:hover{color:var(--ink)}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:7vw;min-height:calc(100vh - 64px);padding:7vw 6vw 6vw;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;font:12px/1.2 system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:32px;font-size:clamp(70px,11vw,156px);font-style:italic;font-weight:400;line-height:1.1}.lead{letter-spacing:0;color:#2c2926;max-width:620px;font-size:clamp(22px,3vw,42px);line-height:1.4}.heroActions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{text-transform:uppercase;letter-spacing:.11em;border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:12px 22px;font:13px/1 system-ui,sans-serif;display:inline-flex}.button.primary{background:var(--ink);color:var(--white)}.button.secondary{color:var(--ink);background:0 0}.heroImage{background:#ebe4d7;align-self:stretch;place-items:center;min-height:620px;display:grid;position:relative;overflow:hidden}.heroImage img{object-fit:contain;filter:drop-shadow(0 24px 40px #0000002e);width:78%;height:78%}.heroImage span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font:11px system-ui,sans-serif;position:absolute;bottom:22px;right:22px}.intro{border-block:1px solid var(--line);background:var(--white);padding:38px 6vw}.intro p{letter-spacing:0;text-align:center;max-width:980px;margin:auto;font-size:clamp(22px,3vw,38px);line-height:1.45}.section{padding:96px 6vw}.sectionHead{grid-template-columns:.8fr 1.2fr;align-items:end;gap:6vw;margin-bottom:54px;display:grid}.sectionHead h2,.about h2,.contact h2{letter-spacing:0;margin-bottom:0;font-size:clamp(42px,6vw,82px);font-weight:400;line-height:1.2}.sectionHead p:not(.eyebrow){color:var(--muted);max-width:560px;font:18px/1.55 system-ui,sans-serif}.gallery{grid-template-columns:repeat(4,1fr);align-items:start;gap:26px;display:grid}.workCard{background:var(--white);border:1px solid var(--line)}.workImage{aspect-ratio:4/5;background:#eee8de;place-items:center;display:grid;overflow:hidden}.workImage img{object-fit:contain;width:86%;height:86%;transition:transform .5s}.workCard:hover .workImage img{transform:scale(1.035)}.workMeta{border-top:1px solid var(--line);padding:18px}.workNo{color:var(--accent);letter-spacing:.16em;margin-bottom:18px;font:11px/1 system-ui,sans-serif}.workMeta h3{margin-bottom:12px;font-size:24px;font-weight:400;line-height:1.35}.workMeta p:last-child{color:var(--muted);margin:0;font:13px/1.45 system-ui,sans-serif}.about{background:var(--dark);color:var(--white);grid-template-columns:1.15fr .85fr;gap:7vw;padding:110px 6vw;display:grid}.about .eyebrow{color:#d79a87}.aboutCopy{color:#ffffffb8;align-self:end;font:19px/1.65 system-ui,sans-serif}.muted{background:var(--white)}.timeline{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.timeline div{border-right:1px solid var(--line);min-height:210px;padding:28px}.timeline div:last-child{border-right:0}.timeline span{color:var(--accent);letter-spacing:.16em;margin-bottom:42px;font:12px system-ui,sans-serif;display:block}.timeline strong{margin-bottom:14px;font-size:30px;font-weight:400;line-height:1.3;display:block}.timeline p{color:var(--muted);font:14px/1.5 system-ui,sans-serif}.contact{text-align:center;padding:118px 6vw}.contact h2{max-width:940px;margin:0 auto 34px}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:26px 34px;font:12px system-ui,sans-serif;display:flex}footer p{margin:0}.lightbox{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#11100eeb;place-items:center;animation:.25s lbFadeIn;display:grid;position:fixed;inset:0}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lightboxInner{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:60px 80px;display:flex;position:relative}.lightboxInner img{object-fit:contain;max-width:100%;max-height:calc(100vh - 160px);animation:.3s lbZoomIn}@keyframes lbZoomIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightboxClose{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:42px;line-height:1;transition:color .2s;position:absolute;top:20px;right:24px}.lightboxClose:hover{color:#fff}.lightboxArrow{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:16px;font-size:64px;line-height:1;transition:color .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightboxArrow:hover{color:#fff}.lightboxPrev{left:12px}.lightboxNext{right:12px}.lightboxCaption{color:#fff9;text-align:center;margin-top:18px;font:14px/1.4 system-ui,sans-serif}.lightboxCount{color:#ffffff59;letter-spacing:.12em;margin-left:16px;font:11px/1 system-ui,sans-serif;display:inline-block}@media (width<=980px){.hero,.about,.sectionHead{grid-template-columns:1fr}.heroImage{min-height:460px}.gallery{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr}.timeline div{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=680px){.nav{align-items:flex-start;height:auto;min-height:62px;padding:18px 20px}.navLinks{flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:10px}.hero,.section,.about,.contact{padding-inline:22px}.gallery{grid-template-columns:1fr}.heroImage{min-height:360px}footer{flex-direction:column;padding-inline:22px}.lightboxInner{padding:50px 16px}.lightboxArrow{padding:10px;font-size:40px}.lightboxPrev{left:4px}.lightboxNext{right:4px}}
