/* Base: one layout system; no framework overrides or fixed spacer elements. */
:root{color-scheme:dark;--gold:#d7ad67;--space:clamp(48px,7vw,104px);--gutter:clamp(20px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:#fff;font-family:Arial,"Microsoft JhengHei",sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit}button{font:inherit}h1,h2,p{margin:0}p{line-height:1.75;font-size:clamp(18px,1.6vw,24px)}p+p{margin-top:1em}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip-link{position:absolute;top:0;left:20px;transform:translateY(-150%);z-index:10;background:#000;padding:12px}.skip-link:focus{transform:none}
/* Header and original hero artwork. */
.hero{background:url('../image/title.jpg') center/cover no-repeat;min-height:clamp(620px,70vw,1050px)}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px var(--gutter);position:relative}.brand{display:block;width:clamp(180px,23vw,330px);flex-shrink:0}.brand img{width:100%}#site-nav{display:flex;align-items:center;gap:clamp(12px,2vw,32px);padding-top:8px}#site-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;width:clamp(110px,12vw,175px)}#site-nav img{width:100%}.menu-toggle{color:#fff;border:1px solid var(--gold);background:#12100de6;border-radius:4px;min-height:48px;min-width:72px;padding:8px 14px}.hero-copy{padding:clamp(110px,16vw,230px) var(--gutter) 100px;margin:auto;max-width:1240px}.hero h1{font-size:clamp(36px,6.7vw,100px);line-height:1.15;overflow-wrap:normal}.hero h2{font-size:clamp(28px,4.5vw,66px);line-height:1.3}.hero hr{border:0;border-top:1px solid #fff9;max-width:720px;margin:24px 0}.hero-copy p{font-size:clamp(18px,2vw,30px)}
/* Content rhythm and grids. */
.content{width:calc(100% - var(--gutter)*2);max-width:1200px;margin-inline:auto}.section{padding-block:var(--space);scroll-margin-top:24px}.section-title{width:min(100%,550px);margin-bottom:clamp(24px,4vw,48px)}.centered{margin-inline:auto}.prose{max-width:900px;margin-inline:auto}
.about-english{margin-top:1.75em;font-size:clamp(18px,1.6vw,24px);color:#d7d7d7}.about-chinese p,.about-english p{font-size:clamp(16px,1.35vw,20px)}.about-english p{line-height:1.65;overflow-wrap:break-word}
.about-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space)}.about-gallery img{width:100%;aspect-ratio:1.4;object-fit:cover}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,28px)}.service-grid a,.project-grid a{display:block;min-width:0}.service-grid img,.project-grid img{width:100%}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.project-grid a:nth-child(1){background:url('../image/concert.jpg') center/cover}.project-grid a:nth-child(2){background:url('../image/competition.jpg') center/cover}.project-grid a:nth-child(3){background:url('../image/party.jpg') center/cover}.project-grid a:nth-child(4){background:url('../image/presentation.jpg') center/cover}.footer-photo{width:100%}.footer-copy{text-align:center;padding-block:var(--space)}.footer-copy p+p{margin-top:0}.social{display:flex;justify-content:center;gap:28px}.social a{display:block;width:64px;min-height:48px}.footer-brand{width:min(100%,600px);margin:40px auto 24px}.copyright{text-align:center;font-size:14px;padding-bottom:36px;overflow-wrap:anywhere}.back-top{position:fixed;bottom:20px;right:20px;width:56px;height:56px;z-index:20;background:#0009;border-radius:50%;padding:5px}
/* Narrow tablets and phones share a single-column navigation disclosure. */
@media(max-width:1023px){.site-header{align-items:center;flex-wrap:wrap;gap:16px;padding-block:20px}.brand{width:clamp(170px,30vw,250px)}#site-nav{width:100%;flex-direction:column;align-items:stretch;background:#090909f2;padding:12px;gap:4px}#site-nav a{width:100%;min-height:56px;padding:8px}#site-nav img{width:170px}.hero{min-height:650px}.hero-copy{padding-top:120px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.hero{min-height:600px}.hero-copy{padding-top:120px;padding-bottom:70px}.hero h1{font-size:clamp(32px,8.8vw,48px)}.about-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:1fr}.section{scroll-margin-top:16px}.footer-copy{text-align:left}.back-top{right:14px;bottom:14px}.social a{width:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
