@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{--bg:#f8f6f1;--paper:#fffdfa;--sand:#f1ece2;--copper:#a46e40;--ink:#211e1b;--muted:#756d64;--line:#e7e0d5;--serif:'Noto Serif TC',serif;--sans:'Noto Sans TC',sans}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.9 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h2{font:500 clamp(28px,3vw,36px)/1.45 var(--serif);letter-spacing:.07em;margin-bottom:12px}h3{font:500 19px/1.5 var(--serif)}.container{max-width:1140px;margin:auto;padding:0 30px}.site-header{height:78px;padding:0 2.2%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:rgba(255,253,250,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid #ece7df}.logo{display:flex;align-items:center;gap:16px;white-space:nowrap}.logo-han{font:500 23px var(--serif);letter-spacing:.12em}.logo-en,.eyebrow,.section-kicker,.service-en{letter-spacing:.28em;font-size:10px}.logo-en{color:#866c5b}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:13px;white-space:nowrap;transition:color .2s}.nav a:hover,.footer a:hover{color:var(--copper)}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;min-height:44px;padding:10px 24px;font-weight:600;font-size:13px;transition:transform .2s,background .2s}.header-cta,.btn-copper{background:var(--copper);color:#fff}.header-cta:hover,.btn:hover{transform:translateY(-2px)}.btn-light{background:var(--paper);color:var(--ink)}.btn-dark{background:#222;color:white}.btn-outline{border:1px solid var(--copper);color:var(--copper);background:transparent}.menu-toggle{display:none}.hero{min-height:min(780px,calc(100svh - 78px));position:relative;display:grid;place-items:center;color:white;text-align:center;background:#353d36 url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=2200&q=85') center 48%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,25,22,.36),rgba(15,17,14,.55) 55%,rgba(9,12,10,.78))}.hero-content{position:relative;padding:80px 24px 100px;max-width:1200px}.eyebrow{font-size:12px;letter-spacing:.42em;margin-bottom:22px}.hero h1{font:500 clamp(30px,4vw,53px)/1.55 var(--serif);letter-spacing:.055em;text-shadow:0 2px 16px #0007}.hero-sub{font-size:15px;letter-spacing:.05em;margin:20px auto 34px;max-width:700px}.hero-actions{display:flex;justify-content:center;gap:12px}.scroll-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em}.scroll-hint span{display:block;font-size:27px;line-height:1.2}.section{padding:110px 0}.section-kicker{color:var(--copper);font-size:11px;letter-spacing:.34em;margin-bottom:12px}.section-kicker:before{content:'';display:inline-block;vertical-align:middle;width:28px;border-top:1px solid var(--copper);margin-right:13px}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px}.photo-frame{height:520px;position:relative;border-radius:5px;overflow:hidden;background:#ddd3c4}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;bottom:14px;left:14px;background:#fff9;padding:2px 10px;font-size:11px}.about blockquote{font:500 19px/1.75 var(--serif);border-left:2px solid #aa8b62;padding-left:22px;margin:24px 0 28px}.about-copy>p:not(.section-kicker){color:#514b46}.values{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:34px}.values b{display:block;font-size:14px}.values small{display:block;font-size:12px;color:var(--muted);margin:5px 0 0 26px}.services{background:#f5f1e9}.section-intro{color:#6c645b;font-size:14px;margin-bottom:42px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px #0000000b}.service-card img{height:205px;width:100%;object-fit:cover}.service-body{padding:20px 18px 26px}.service-en{color:var(--copper);font-size:10px;letter-spacing:.14em;min-height:32px}.service-body h3{font-size:18px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{background:#f1efec;color:#625d57;padding:2px 9px;border-radius:30px;font-size:11px}.fine-print{font-size:12px;color:#8c8072;margin-top:22px}.projects{background:var(--paper)}.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.projects-heading .section-intro{margin-bottom:28px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter{border:0;border-radius:30px;padding:7px 16px;background:#f3eee7;font-size:12px;color:#5c5146}.filter.active{background:#222;color:white}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 26px}.project-card{min-width:0}.project-open{padding:0;border:0;background:none;text-align:left;width:100%;color:inherit}.project-photo{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:1.5;background:#e4ded5}.project-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project-open:hover img{transform:scale(1.045)}.project-tag,.preview-mark{position:absolute;top:14px;background:#a18a65;color:white;padding:3px 13px;border-radius:30px;font-size:12px}.project-tag{left:14px}.preview-mark{right:14px;background:#171717ad}.project-meta{display:flex;justify-content:space-between;align-items:center;padding-top:16px}.project-meta h3{font-size:17px;margin-bottom:2px}.project-meta p{color:#8b8075;font-size:12px;margin:0}.round-arrow{width:38px;height:38px;border:1px solid #ddd2c2;border-radius:50%;display:grid;place-items:center;font-size:19px}.process{background:#1f1d1b;color:white;text-align:center;padding:110px 0 120px}.process h2{margin-bottom:8px}.process-sub{font-size:14px;color:#e3d9ce;margin-bottom:65px}.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;position:relative}.steps:before{content:'';position:absolute;top:22px;left:8%;right:8%;border-top:1px solid #746b60}.step{position:relative}.step-icon{position:relative;margin:auto auto 18px;display:grid;place-items:center;width:44px;height:44px;background:#ac9470;border-radius:50%;color:#fff;font-size:20px}.step p{color:#c7a277;font-size:10px;letter-spacing:.25em;margin-bottom:6px}.step h3{font-size:17px}.step small{font-size:12px;line-height:1.8;color:#e2d9cf;display:block}.contact{background:#f7f3ec}.contact-grid{display:grid;grid-template-columns: .86fr 1.14fr;gap:28px}.contact-panel,.contact-form{background:#fffdfa;border:1px solid var(--line);border-radius:7px;padding:34px}.contact-panel dl{margin:0}.contact-panel dl div{margin-bottom:16px;padding-left:25px;position:relative}.contact-panel dl div:before{content:'◇';position:absolute;left:0;color:var(--copper)}.contact-panel dt{font-size:11px;color:var(--copper)}.contact-panel dd{font-size:13px;margin:0;overflow-wrap:anywhere}.contact-actions{display:flex;gap:10px;margin-top:28px}.contact-actions .btn{flex:1;padding:10px}.disabled{opacity:.45;cursor:not-allowed}.contact-form label{display:block;font-size:12px;color:#786a5e;margin-bottom:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{display:block;margin-top:8px;width:100%;border:1px solid #ddd5c9;border-radius:5px;background:#fcfaf7;color:#2d2824;padding:12px;font-size:13px;outline-color:var(--copper)}.contact-form textarea{resize:vertical}.submit-btn{width:100%;margin-top:3px}.form-note{font-size:11px;color:#887d70;margin:12px 0 0}.form-note.warn{color:#a34b35}.map-placeholder{margin-top:34px;background:linear-gradient(125deg,#d3dcd4,#edf0e8 50%,#d8e1dc);height:300px;border-radius:6px;display:grid;place-items:center;text-align:center;color:#3c544d}.map-placeholder span{font-size:30px}.map-placeholder strong{display:block;letter-spacing:.2em}.map-placeholder p{font-size:13px}.map-placeholder a{text-decoration:underline;font-size:13px}.footer{background:#efe9dc;padding-top:75px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:60px;padding-bottom:60px}.footer-logo{font:500 28px var(--serif)}.footer-grid>div:first-child>p:last-child{max-width:350px;font-size:13px;color:#6c6157;margin-top:25px}.footer h4{font-size:13px;color:#a46e40;letter-spacing:.14em}.footer-grid a:not(.footer-logo){display:block;font-size:13px;margin-bottom:6px}.footer-grid p{font-size:13px}.footer-bottom{border-top:1px solid #d8cdbb;display:flex;justify-content:space-between;padding-top:19px;padding-bottom:19px;font-size:11px;color:#776b60}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#000b}.modal-dialog{position:relative;background:var(--paper);max-width:760px;width:100%;max-height:90vh;overflow:auto;border-radius:8px}.modal-dialog img{width:100%;height:330px;object-fit:cover}.modal-text{padding:30px}.modal-close{position:absolute;right:15px;top:12px;background:white;border:0;border-radius:50%;width:38px;height:38px;font-size:26px;z-index:2}.modal-open{overflow:hidden}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c38e56;outline-offset:3px}
@media(max-width:1100px){.nav{gap:15px}.logo-en{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr);row-gap:40px}.steps:before{display:none}.projects-heading{display:block}.filters{margin-bottom:25px}}@media(max-width:760px){.site-header{height:66px;padding:0 20px}.logo-han{font-size:21px}.header-cta{margin-left:auto;padding:8px 13px;min-height:36px;font-size:11px}.menu-toggle{display:flex;flex-direction:column;gap:5px;order:3;background:none;border:0;padding:8px}.menu-toggle span{width:22px;height:2px;background:#27221e}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);padding:18px 24px 25px;box-shadow:0 15px 20px #0001;flex-direction:column;align-items:stretch;gap:12px}.nav.open{display:flex}.nav a{padding:6px}.hero{min-height:660px}.hero h1{font-size:clamp(29px,6.3vw,42px);line-height:1.7}.hero-sep{display:none}.desktop-only{display:none}.hero-sub{font-size:13px}.eyebrow{font-size:10px}.section{padding:75px 0}.container{padding:0 20px}.about-grid{grid-template-columns:1fr;gap:34px}.photo-frame{height:340px}.values{gap:18px 12px}.service-grid{gap:12px}.service-card img{height:150px}.service-body{padding:14px}.service-body h3{font-size:16px}.service-en{font-size:9px}.project-grid{gap:22px 14px}.project-meta h3{font-size:14px}.project-photo{aspect-ratio:1.1}.project-tag,.preview-mark{font-size:10px;padding:2px 8px}.steps{grid-template-columns:repeat(2,1fr);gap:30px 15px}.process{padding:75px 0}.process-sub{margin-bottom:40px}.contact-grid{grid-template-columns:1fr}.contact-panel,.contact-form{padding:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:15px;flex-wrap:wrap}}@media(max-width:430px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{min-width:190px}.service-grid{grid-template-columns:1fr 1fr}.service-card img{height:120px}.chips span{font-size:10px}.project-grid{grid-template-columns:1fr}.project-photo{aspect-ratio:1.55}.field-row{grid-template-columns:1fr;gap:0}.contact-actions{flex-direction:column}.values{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.step h3{font-size:15px}.step small{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
