@charset "UTF-8";
:root{color-scheme:light;--bg:#f6f6f6;--fg:#222222;--muted:#666666;--line:#d6d6d6;--accent:#111111;font-family:Arial,"Helvetica Neue","PingFang TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}p,h1,h2,h3{margin:0}p{line-height:1.7}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;left:20px;top:-80px;padding:15px;background:var(--fg);color:var(--bg);z-index:20}.skip:focus{top:12px}
.header{height:96px;margin:0 4.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:700;letter-spacing:-1px}.brand img{width:34px;height:34px;border-radius:50%}.brand>span{font-size:12px;align-self:flex-start;margin:4px 0 0 -6px}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a{padding:12px 0}nav a:hover{color:var(--accent)}nav span{color:var(--muted);margin-left:5px}.contact-link{border-bottom:1px solid var(--fg)}
.intro{padding:38px 4.4% 42px}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.2px;color:var(--muted)}h1{position:relative;font-size:clamp(48px,6.4vw,94px);font-weight:400;line-height:1.32;letter-spacing:.015em;margin:54px 0 39px;max-width:1450px}h1 em{font-family:"Songti TC","Noto Serif TC",serif;font-style:normal;font-weight:400;letter-spacing:.04em;color:#737373}.asterisk{position:absolute;right:1%;top:12%;font-size:.72em;font-style:normal;line-height:1;color:var(--accent);font-family:Arial,sans-serif;letter-spacing:0}.intro-bottom{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:25px}.intro-bottom>p:first-child{font-size:18px}.intro-bottom>p:nth-child(2){color:var(--muted);font-size:14px}.intro-bottom>a{font-size:12px;letter-spacing:1px;display:flex;align-items:center;gap:24px}.intro-bottom>a>span{font-size:30px}
.featured{margin:0 4.4%}.feature-link{display:grid;grid-template-columns:1fr .85fr;min-height:530px;background:#eaeaea;color:#222;overflow:hidden}.feature-image{height:590px;overflow:hidden}.feature-image img{object-position:center 32%;transition:transform .7s}.feature-link:hover img{transform:scale(1.035)}.feature-copy{padding:45px 12%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.label{font-size:12px;letter-spacing:1.8px}.feature-copy h2{font-size:clamp(35px,4.2vw,62px);line-height:1.4;letter-spacing:.025em;font-weight:500;margin:46px 0 21px}.feature-copy>p{font-size:16px}.watch{display:flex;gap:32px;align-items:center;font-size:14px;border-bottom:1px solid #6a6a67;padding:19px 0 11px;margin-top:14px}.watch>span{font-size:22px}.feature-number{position:absolute;bottom:30px;right:30px;font-size:12px;letter-spacing:1.5px;color:#555}
.section{padding:100px 4.4%}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:44px;gap:20px}.section-head .label{color:var(--muted)}.section-head h2{font-weight:400;font-size:clamp(34px,4.4vw,64px);letter-spacing:-.045em;margin-top:16px}.section-head h2>span{font-size:14px;letter-spacing:0;margin-left:20px;color:var(--muted)}.small{font-size:12px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 26px}.project-image{aspect-ratio:1.15;position:relative;overflow:hidden;background:#e6e6e6}.project-image img{object-position:center 28%;transition:transform .6s,filter .6s}.project-image.cinema{aspect-ratio:1.5;background:#030303}.cinema img{object-fit:cover;object-position:center}.view{position:absolute;right:18px;bottom:18px;background:var(--fg);color:var(--bg);padding:12px 17px;border-radius:30px;font-size:14px;opacity:0;transform:translateY(5px);transition:.25s}.project:hover .view,.project:focus-visible .view{opacity:1;transform:none}.project:hover img{transform:scale(1.018);filter:brightness(.98)}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.project-meta h3{font-size:19px;font-weight:400}.project-meta>span{font-size:12px;color:var(--muted);letter-spacing:1px}.all-work{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;margin-top:55px;font-size:15px}.all-work>span{font-size:24px}.all-work:hover{color:var(--accent)}
.about{background:#ebebeb;display:grid;grid-template-columns:1.15fr 1fr;gap:10%}.about .label{color:var(--muted)}.about h2{font-size:clamp(32px,4.1vw,58px);font-weight:400;line-height:1.45;letter-spacing:-.045em;margin-top:26px}.about h2 em{font-style:normal;color:var(--muted)}.about-copy .about-lead{font-size:clamp(27px,3vw,43px);line-height:1.2;letter-spacing:-.035em;margin:0 0 28px;color:var(--fg)}.about-copy>p{font-size:16px;color:var(--muted);max-width:480px;margin-top:16px}.services{margin-top:32px;display:flex;flex-direction:column}.services>span{font-size:14px;padding:17px 0;border-top:1px solid var(--line)}
.contact{padding-top:100px;padding-bottom:72px}.contact>.label{color:var(--muted)}.contact h2{position:relative;font-size:clamp(40px,5.3vw,80px);font-weight:400;line-height:1.4;letter-spacing:.02em;margin:35px 0}.contact h2 em{font-family:"Songti TC","Noto Serif TC",serif;font-style:normal;font-weight:400;color:var(--muted)}.contact h2>span{position:absolute;right:0;top:18%;font-size:.48em;transition:transform .3s;color:var(--accent)}.contact a:hover h2>span{transform:translate(7px,-7px)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:16px;color:var(--muted)}.contact-bottom>span{color:var(--fg)}footer{border-top:1px solid var(--line);margin:0 4.4%;padding:30px 0;display:flex;gap:35px;align-items:center;font-size:12px;color:var(--muted)}.footer-brand{font-size:28px;color:var(--fg);font-weight:700;letter-spacing:-1px}footer>a:nth-last-child(2){margin-left:auto}footer a:hover{color:var(--accent)}
@media(min-width:1700px){body{max-width:1800px;margin:auto}.feature-image{height:700px}}
@media(max-width:760px){.header{height:78px}nav{gap:19px}nav span{display:none}.brand{font-size:23px}.brand img{width:27px;height:27px}.intro{padding-top:28px}.eyebrow{font-size:12px;gap:20px}.eyebrow>span:last-child{max-width:100px;text-align:right}h1{font-size:clamp(40px,8.8vw,64px);margin:42px 0 29px}.asterisk{font-size:.55em;top:4%;right:0}.intro-bottom{grid-template-columns:1fr auto;gap:20px}.intro-bottom>p:first-child{font-size:16px}.intro-bottom>p:nth-child(2){grid-column:1;grid-row:2;font-size:12px}.intro-bottom>a{grid-column:2;grid-row:1/3;font-size:12px;gap:10px}.feature-link{grid-template-columns:1fr 1fr;min-height:0}.feature-image{height:390px}.feature-copy{padding:24px 20px}.feature-copy h2{font-size:clamp(32px,6.8vw,53px);margin:26px 0 16px}.feature-copy .label{font-size:12px;line-height:1.5;letter-spacing:.8px}.feature-copy>p{font-size:14px}.watch{font-size:12px;gap:10px;padding-top:7px}.feature-number{font-size:12px;bottom:14px;right:18px}.section{padding:65px 4.4%}.section-head{margin-bottom:30px}.section-head h2{font-size:36px}.section-head h2>span{display:block;margin:10px 0 0}.grid{gap:35px 18px}.project-meta{display:block;margin-top:12px}.project-meta h3{font-size:17px;margin-bottom:7px}.project-meta>span{font-size:12px;letter-spacing:.4px}.view{display:block;font-size:12px;padding:8px 11px;opacity:1;transform:none}.project-image{aspect-ratio:.8}.project-image.cinema{aspect-ratio:1}.about{grid-template-columns:1fr;gap:35px}.about h2{font-size:38px}.about-copy>p{max-width:none}.contact h2{font-size:8vw}.contact-bottom{display:block;font-size:14px}.contact-bottom>span{display:block;margin-top:22px}footer{gap:18px;flex-wrap:wrap;font-size:12px}footer>a:nth-last-child(2){margin-left:0}.footer-brand{width:100%;font-size:32px}}
@media(max-width:380px){nav{gap:13px;font-size:12px}.feature-link{grid-template-columns:1fr}.feature-image{height:370px}.feature-copy{min-height:300px}.feature-copy h2{font-size:38px}.grid{grid-template-columns:1fr}.project-image{aspect-ratio:1}.intro-bottom{grid-template-columns:1fr}.intro-bottom>a{grid-column:1;grid-row:3}.section-head h2{font-size:31px}}
/* Small framing marks echo a camera viewfinder without covering the portraits. */
.feature-copy::before,.feature-copy::after{content:"";position:absolute;width:15px;height:15px;border-color:#b4b4b4;border-style:solid;pointer-events:none}.feature-copy::before{top:24px;left:24px;border-width:1px 0 0 1px}.feature-copy::after{bottom:24px;right:24px;border-width:0 1px 1px 0}.feature-number{right:50px;bottom:27px}.feature-copy .label{color:#666}.watch{transition:gap .3s}.feature-link:hover .watch{gap:40px}.grid{counter-reset:work 1}.project{counter-increment:work}.project-meta h3::before{content:counter(work,decimal-leading-zero);font-size:12px;color:var(--muted);margin-right:12px;vertical-align:middle}.project-image.cinema{aspect-ratio:1.9}.feature-link:hover img{transform:scale(1.018)}.intro{background:linear-gradient(90deg,transparent calc(50% - .5px),#e9e9e9 50%,transparent calc(50% + .5px))}.contact-link{position:relative}.contact-link::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:#111;transition:width .3s}.contact-link:hover::after{width:100%}
@media(max-width:760px){.feature-link{grid-template-columns:1fr 1fr}.feature-copy{padding:35px 20px}.feature-copy h2{font-size:clamp(25px,4.8vw,36px)}.feature-number{right:30px;font-size:10px}.feature-copy::before{left:14px;top:14px}.feature-copy::after{right:14px;bottom:14px}.intro{background:none}.project-meta h3::before{margin-right:7px}.project-image.cinema{aspect-ratio:1.3}}
@media(max-width:480px){.feature-link{grid-template-columns:1fr}.feature-image{height:440px}.feature-copy{min-height:310px;padding:30px}.feature-copy h2{font-size:34px;margin:24px 0 10px}.feature-number{font-size:12px;bottom:24px}.grid{grid-template-columns:1fr}.project-image{aspect-ratio:1}.project-image.cinema{aspect-ratio:1.9}.contact-bottom{font-size:16px}.intro-bottom>p:nth-child(2){font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
