@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Serif+TC:wght@400;500;600&family=Noto+Sans+TC:wght@400;500&display=swap');
:root{--paper:#f3eee5;--ink:#3c392f;--muted:#6d695f;--line:#d2c9ba;--brown:#5c4b3e;--serif:'Noto Serif TC',serif;--latin:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans TC',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #937049;outline-offset:5px}img{display:block;object-fit:cover;width:100%}[hidden]{display:none!important}.skip{position:fixed;z-index:100;top:-100px;background:white;padding:12px}.skip:focus{top:0}.page-width{width:min(1280px,88%);margin-inline:auto}.header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:25px}.wordmark{display:flex;flex-direction:column;line-height:1.3}.wordmark span{font-family:var(--latin);font-size:28px;letter-spacing:.09em}.wordmark small{font-size:12px;letter-spacing:.26em;margin-top:6px}.header nav{display:flex;align-items:center;gap:36px;font-size:14px;letter-spacing:.09em}.nav-contact{border-bottom:1px solid var(--brown);padding:7px 0}.menu-button{display:none;background:none;border:0;padding:12px}.mobile-menu{padding:16px 6%;background:var(--paper);border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:12px}.hero{height:min(810px,calc(100svh - 106px));min-height:610px;position:relative;color:#fff;background:#706e59;margin:0 22px;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;height:100%}.hero-image{object-position:center 57%}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.02) 20%,rgba(24,22,15,.55) 100%)}.hero-top{position:absolute;top:32px;left:4.6%;right:4.6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.18em}.hero-copy{position:absolute;left:4.6%;right:4.6%;bottom:84px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:400;line-height:1.6}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.4vw,68px);letter-spacing:.14em;line-height:1.6;margin:20px 0 30px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{font-size:15px;line-height:2;letter-spacing:.07em;margin:0}.text-link{display:inline-block;border-bottom:1px solid var(--brown);padding-bottom:10px;font-size:14px;letter-spacing:.14em;white-space:nowrap}.text-link.light{border-color:rgba(255,255,255,.8)}.image-note{position:absolute;bottom:22px;right:4.6%;font-size:12px;opacity:.9}.intro{padding:108px 0 112px;display:grid;grid-template-columns:1fr 1.8fr .6fr;gap:30px;border-bottom:1px solid var(--line)}h2{font-family:var(--serif);font-size:clamp(27px,2.4vw,37px);font-weight:400;letter-spacing:.09em;line-height:1.7;margin:0 0 22px}p{margin:0 0 16px}.intro p:not(.eyebrow){font-size:16px;line-height:2.2;color:var(--muted)}.intro-number{align-self:end;text-align:right;font-family:var(--latin);font-size:30px;line-height:1.5}.intro-number small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.09em}.collections{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:28px}.section-heading .eyebrow{margin-bottom:14px}.filter{display:flex;gap:28px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:14px 0 20px;margin-bottom:48px}.filter button{padding:8px 0;background:none;border:0;font-size:14px;color:var(--muted);border-bottom:1px solid transparent}.filter button.active{color:var(--ink);border-bottom-color:var(--brown)}.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:54px 30px}.collection-card{grid-column:span 2;display:block;background:none;border:0;padding:0;text-align:left;color:inherit}.collection-card:nth-child(1),.collection-card:nth-child(2){grid-column:span 3}.card-image{overflow:hidden;background:#d9d2c6;position:relative}.card-image img{height:390px;transition:transform .7s ease}.collection-card:nth-child(n+3) img{height:330px}.collection-card:hover img{transform:scale(1.035)}.card-kicker{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;margin-top:20px;color:var(--muted)}.collection-card h3{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:.12em;margin:7px 0}.collection-card p{font-size:14px;color:var(--muted);line-height:1.9;max-width:38em}.sample-note{font-size:12px;color:var(--muted);margin:40px 0 0}.footer{border-top:1px solid var(--line);padding:42px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer>span{font-family:var(--latin);font-size:24px;letter-spacing:.08em}.footer p,.footer small{font-size:12px;color:var(--muted);margin:0}@media(max-width:1000px){.header nav{gap:22px}.intro{grid-template-columns:1fr 2fr}.intro-number{display:none}.gallery{gap:35px 22px}.card-image img{height:320px}.collection-card:nth-child(n+3) img{height:260px}.footer{flex-wrap:wrap}}@media(max-width:700px){html{scroll-padding-top:24px}.header{height:86px}.header nav{display:none}.menu-button{display:block}.wordmark span{font-size:23px}.hero{margin:0 12px;min-height:620px;height:calc(92svh - 86px);max-height:820px}.hero-top{font-size:10px;top:22px;letter-spacing:.12em}.hero-top span{display:none}.hero-copy{left:7%;right:7%;bottom:65px}.hero h1{font-size:34px;letter-spacing:.09em;line-height:1.7;margin:18px 0 24px}.hero-image{object-position:62% center}.hero-bottom{align-items:start;flex-direction:column;gap:23px}.hero-bottom p{font-size:14px}.image-note{font-size:10px;right:7%;bottom:20px}.intro{padding:64px 0;display:block}.intro>.eyebrow{margin-bottom:28px}.intro p:not(.eyebrow){font-size:15px}.desktop-break{display:none}.collections{padding:65px 0}.section-heading{display:block}.section-heading>p{margin:0 0 16px}.filter{gap:10px 23px;margin-bottom:30px}.gallery{display:block}.collection-card{margin-bottom:38px;width:100%}.card-image img,.collection-card:nth-child(n+3) img{height:auto;aspect-ratio:4/3}.collection-card:nth-child(1) img{aspect-ratio:4/5}.card-kicker{margin-top:17px}.footer{display:block;padding:32px 0}.footer>span{display:block;margin-bottom:14px}.footer small{display:block;margin-top:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.wordmark>span{font-family:var(--serif);font-size:27px;letter-spacing:.28em}.wordmark small{font-size:11px;letter-spacing:.17em}.approach{background:#e5ded2;padding:100px 0}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.approach-photo{position:relative;padding-bottom:32px}.approach-photo img{aspect-ratio:4/4.8;object-position:47% center}.approach-photo>span{font-family:var(--latin);font-size:18px;letter-spacing:.1em;position:absolute;bottom:0}.approach-copy h2{margin-top:24px;margin-bottom:28px;font-size:36px}.approach-copy>p:not(.eyebrow){font-size:16px;color:#5b584f;line-height:2.15;max-width:29em}.approach-values{display:flex;flex-wrap:wrap;gap:15px 22px;margin-top:36px;border-top:1px solid #bfb5a5;padding-top:24px;font-size:14px}.experience{padding:108px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:42px}.steps article{border-top:1px solid var(--line);padding-top:23px}.steps article>span{font-family:var(--latin);font-size:32px;color:#857866}.steps h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:16px 0}.steps p{font-size:14px;color:var(--muted);line-height:2}.inquiry-wrap{background:#514b3d;color:#f9f3e9}.inquiry{padding:94px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.inquiry-intro>.eyebrow{color:#d4c6ad}.inquiry h2{font-size:38px;margin:28px 0}.inquiry-intro>p:not(.eyebrow){color:#e2d9c9;font-size:15px;line-height:2.1}.inquiry-caption{font-size:12px;margin:36px 0 30px;color:#e6dccb}.inquiry-intro>.inquiry-status{font-size:12px!important;color:#d4cbbb!important;border-top:1px solid #837969;padding-top:20px}.inquiry form{padding-top:8px}.inquiry label{display:flex;flex-direction:column;font-size:14px;gap:10px;margin-bottom:27px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.inquiry input,.inquiry select,.inquiry textarea{background:transparent;border:0;border-bottom:1px solid #a39987;border-radius:0;color:#fff;min-width:0;width:100%;padding:10px 0 12px;outline-offset:4px;font-size:16px}.inquiry select option{background:#514b3d;color:white}.inquiry input::placeholder,.inquiry textarea::placeholder{color:#c4bcad}.inquiry input[type=date]{color-scheme:dark}.inquiry textarea{resize:vertical}.solid-button{background:var(--brown);color:#fff;border:1px solid var(--brown);font-size:14px;letter-spacing:.1em;padding:16px 28px;transition:background .2s}.solid-button:hover{background:#42352c}.inquiry .solid-button{background:#eee5d5;color:#473e30;border-color:#eee5d5;width:100%}.inquiry .solid-button:hover{background:#fff9ef}.draft-result{margin-top:28px}.draft-result label{margin-bottom:0}.draft-result textarea{font-size:14px}.draft-actions{display:flex;gap:20px;margin-top:15px}.draft-actions button{background:none;border:1px solid #c4b8a5;color:#fff;padding:9px 16px;font-size:14px}.draft-result p{font-size:12px;margin-top:12px}.faq{padding:95px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq h2{font-size:27px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-size:16px;padding-right:20px}.faq details p{font-size:14px;color:var(--muted);margin-top:20px;line-height:2}.footer>span{font-family:var(--serif);letter-spacing:.2em;font-size:24px}.footer a{border-bottom:1px solid var(--line)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:960px;width:90vw;max-height:90svh;overflow:auto}dialog::backdrop{background:#201b17ad;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:18px;top:15px;background:var(--paper);border:1px solid var(--line);padding:7px 16px;z-index:2;font-size:14px}.dialog-grid{display:grid;grid-template-columns:1fr 1fr}.dialog-grid>img{height:100%;min-height:570px;object-fit:cover}.dialog-copy{padding:80px 40px 40px}.dialog-copy h3{font-size:16px;font-weight:500;margin-top:28px}.dialog-copy p{font-size:15px;line-height:2;color:var(--muted)}.dialog-copy .eyebrow{font-size:12px}.dialog-copy .solid-button{margin-top:20px}.dialog-copy .sample-note{font-size:12px;margin-top:28px}body.modal-open{overflow:hidden}.gallery.filtered{grid-template-columns:repeat(2,1fr)}.gallery.filtered .collection-card{grid-column:span 1}.gallery.filtered .card-image img{height:420px}@media(max-width:1000px){.approach-grid{gap:6%}.approach-copy h2{font-size:30px}.inquiry,.faq{gap:6%}.steps{gap:23px}.steps h3{font-size:18px}.inquiry h2{font-size:32px}}@media(max-width:700px){.wordmark>span{font-size:23px}.wordmark small{font-size:10px}.approach{padding:60px 0}.approach-grid{display:block}.approach-photo{max-width:88%;margin-bottom:50px}.approach-photo img{aspect-ratio:4/4.5}.approach-photo>span{font-size:15px}.approach-copy h2{font-size:30px}.approach-copy>p:not(.eyebrow){font-size:15px}.experience{padding:64px 0}.steps{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.steps h3{font-size:17px}.steps p{font-size:14px}.inquiry{padding:60px 0;display:block}.inquiry h2{font-size:32px}.inquiry form{margin-top:40px}.form-row{gap:20px}.inquiry label{font-size:13px}.inquiry input,.inquiry select,.inquiry textarea{font-size:16px}.faq{padding:60px 0;display:block}.faq>div:first-child{margin-bottom:30px}.faq summary{font-size:15px}.dialog-grid{display:block}.dialog-grid>img{height:250px;min-height:0}.dialog-copy{padding:30px 24px}.dialog-copy h2{margin-bottom:15px}.dialog-close{top:12px;right:12px}.gallery.filtered{display:block}.gallery.filtered .card-image img{height:auto}}
/* Refined mobile presentation and service-specific enquiries. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.service-fields{margin:0 0 28px;padding:20px 0 0;border:0;border-top:1px solid #857b68;min-width:0}.service-fields legend{font-family:var(--serif);font-size:18px;letter-spacing:.06em;padding:0 14px 0 0}.service-fields .field-hint{font-size:13px;color:#dfd6c7;margin:0 0 24px}.service-fields label{margin-bottom:10px}.draft-result textarea{border:1px solid #a39987;padding:16px;background:#ffffff08;line-height:1.9}.wordmark small,.intro-number small{font-size:12px}.filter button{min-height:44px;padding:10px 4px}.menu-button{min-height:44px}.collection-card:focus-visible .card-image{outline:2px solid var(--brown);outline-offset:5px}
@media(max-width:700px){.hero{height:auto;min-height:0;max-height:none;background:#514b3d}.hero-image{position:relative;aspect-ratio:3/2;height:auto;object-position:center}.hero-shade{display:none}.hero-top{top:18px;left:20px;right:20px;font-size:12px;text-shadow:0 1px 8px #000}.hero-copy{position:relative;inset:auto;padding:30px 24px 64px}.hero h1{font-size:clamp(27px,7.8vw,34px);letter-spacing:.06em;margin:14px 0 23px}.hero .eyebrow{font-size:12px}.hero-bottom p{font-size:14px;line-height:2}.hero-bottom{gap:25px}.image-note{font-size:12px;right:24px;bottom:20px}.wordmark small{font-size:12px;letter-spacing:.1em}.header{height:90px}.form-row{grid-template-columns:1fr}.form-row label{margin-bottom:22px}.service-fields .form-row{gap:15px}.service-fields label{margin-bottom:8px}.inquiry label{font-size:14px}.approach-photo>span{font-size:14px;letter-spacing:.05em}.dialog-grid>img{object-fit:contain;background:#ded7cc}.sample-note{line-height:1.9}}
.contact-channels{margin:25px 0}.contact-channel{display:flex;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #837969}.contact-label{font-size:11px;letter-spacing:.12em;min-width:92px;color:#d4c6ad}.contact-channel strong{font-weight:400;font-family:var(--latin);font-size:24px;letter-spacing:.03em}.contact-channel button,.contact-action{margin-left:auto;font-size:13px;white-space:nowrap}.contact-channel button{background:none;border:1px solid #aa9e89;padding:9px 13px;color:#f9f3e9}.contact-channel:hover .contact-action{text-decoration:underline;text-underline-offset:5px}.contact-channels>p{font-size:12px;line-height:1.8;color:#ded3c0;margin-top:13px}.contact-channels input{border:1px solid #a39987;background:#514b3d;padding:9px;color:white;width:100%;font-size:16px}.draft-actions{flex-wrap:wrap;gap:12px}.draft-actions a{border-bottom:1px solid #c4b8a5;align-self:center;font-size:14px;padding:9px 0}.draft-result textarea:focus{outline-color:#e6d9c4}@media(max-width:700px){.contact-channel{gap:12px}.contact-label{min-width:84px;font-size:12px}.contact-channel strong{font-size:24px}.contact-action{font-size:12px}.contact-channel button{font-size:14px}}

/* Six collections share a balanced two-column rhythm. */
.collection-card{grid-column:span 3}.card-image img,.collection-card:nth-child(n+3) img{height:auto;aspect-ratio:3/2}.dialog-grid>img{object-fit:contain;background:#e5ded2}.portfolio-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:14px}.portfolio-links a{border-bottom:1px solid var(--line);padding:7px 0}.hero-image{object-position:center}.approach-photo img{object-fit:contain;aspect-ratio:3/2}.gallery.filtered .card-image img{height:auto;aspect-ratio:3/2}@media(max-width:700px){.collection-card:nth-child(1) img{aspect-ratio:3/2}.approach-photo{max-width:100%}.dialog-grid>img{height:auto;max-height:350px;min-height:0}.hero-top{font-size:10px}}

.service-hero{padding:65px 0 75px;display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center}.service-hero h1{font-family:var(--serif);font-size:42px;font-weight:400;line-height:1.6}.service-hero img{aspect-ratio:3/2;height:auto}.service-body{max-width:850px;padding-bottom:70px}.service-body h2{font-size:28px;margin-top:45px}.service-body p{line-height:2.1}.service-directory{display:flex;flex-wrap:wrap;gap:12px 25px;padding:25px 0;border-top:1px solid var(--line)}.service-directory a{border-bottom:1px solid var(--line)}a.collection-card{display:block}.service-area{font-size:14px;color:var(--muted)}@media(max-width:700px){.service-hero{display:block;padding:40px 0}.service-hero h1{font-size:32px}.service-hero img{margin-top:30px}.service-body h2{font-size:24px}}
