@charset "UTF-8";
:root{--ink:#20221f;--paper:#f7f5ef;--yellow:#f6ce46;--muted:#77796f;--line:#d9d9d0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft JhengHei","PingFang TC",Arial,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #977007;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}button{color:inherit}.skip{position:fixed;top:-100px;background:var(--yellow);z-index:100;padding:10px}.skip:focus{top:0}.wrap{width:min(1160px,88%);margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.97);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}.wordmark{display:flex;align-items:center;gap:12px}.seal{background:var(--yellow);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px;letter-spacing:-3px;padding-right:3px}.wordmark strong{display:block;font-size:21px;letter-spacing:.08em;line-height:1.25}.wordmark small{display:block;letter-spacing:.2em;font-size:10px}.nav-links{display:flex;align-items:center;gap:27px;font-size:14px}.nav-links a{padding:8px 0;border-bottom:2px solid transparent}.nav-links a.active{border-color:var(--ink)}.nav-links a.contact-nav{background:var(--ink);color:white;padding:10px 18px}.menu-toggle{display:none;border:1px solid var(--line);background:none;padding:6px 12px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:630px}.hero-copy{padding:90px 30px 75px 0;align-self:center}.hero h1{font-size:clamp(42px,4.7vw,68px);font-weight:500;letter-spacing:-.04em;margin:25px 0}.hero h1 em{font-style:normal;position:relative;display:inline-block;isolation:isolate}.hero h1 em:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:16px;background:var(--yellow);z-index:-1}.hero p{color:#66685f;max-width:360px;margin:24px 0 30px}.hero-art{position:relative;background:#242624;overflow:hidden;margin:32px 0;min-height:480px}.hero-art img{height:100%;object-fit:cover;position:absolute}.hero-art:after{content:"DESIGN / PHOTOGRAPHY";position:absolute;bottom:22px;left:26px;color:white;font-size:10px;letter-spacing:.18em}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 24px;background:var(--yellow);border:0;font-weight:600;font-size:14px}.pill.dark{background:var(--ink);color:white}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:14px}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.12em;flex-wrap:wrap}.marquee span:nth-child(even){color:#a78720}.section{padding:85px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section h2,.section-head h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;letter-spacing:-.03em;margin-top:10px}.section-head p{color:var(--muted);font-size:14px;max-width:390px}.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.work{min-width:0}.work button{display:block;width:100%;padding:0;background:none;border:0;text-align:left}.work .picture{overflow:hidden;background:#e7e6df;aspect-ratio:1.45;position:relative}.work img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.work button:hover img{transform:scale(1.035)}.work .view{position:absolute;bottom:15px;right:15px;background:var(--paper);padding:4px 14px;font-size:12px}.work h3{font-size:18px;font-weight:500;margin:15px 0 6px}.meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.service-section{background:var(--ink);color:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.service{border-top:1px solid #62635c;padding-top:22px}.service .number{color:var(--yellow);font-size:12px}.service h3{font-size:24px;margin:25px 0 15px;font-weight:400}.service p{color:#c2c3b9;font-size:14px}.about-grid{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:center}.about-visual{background:var(--yellow);padding:55px 25px;min-height:320px;display:grid;place-items:center}.about-visual img{object-fit:contain;max-height:220px}.body-copy{color:#66685f;line-height:2.1;margin-top:26px}.body-copy p+p{margin-top:18px}.cta{background:var(--yellow);padding:60px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:clamp(28px,3vw,42px);font-weight:500;margin:10px 0}.footer{padding:40px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;font-size:14px}.footer small{display:block;border-top:1px solid var(--line);margin-top:30px;padding-top:18px;color:var(--muted);font-size:11px;letter-spacing:.08em}.page-intro{padding:65px 0 45px;border-bottom:1px solid var(--line);margin-bottom:35px}.page-intro h1{font-size:clamp(42px,5vw,64px);font-weight:500;letter-spacing:-.04em;margin:15px 0}.page-intro p{color:var(--muted);max-width:570px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 35px}.filters button{border:1px solid var(--line);background:transparent;padding:8px 18px;font-size:13px;border-radius:30px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.count{color:var(--muted);font-size:12px;margin-bottom:24px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-grid button{padding:0;border:0;background:none;text-align:left}.photo-grid img{aspect-ratio:1;object-fit:contain;background:white}.photo-grid span{font-size:12px;display:block;margin-top:9px;color:var(--muted)}.feature-photo{aspect-ratio:1.6;object-fit:cover}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.info-list{margin:30px 0}.info-list div{border-top:1px solid var(--line);padding:20px 0}.info-list dt{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:8px}.info-list dd{margin:0;overflow-wrap:anywhere}.contact-form{border:1px solid var(--line);padding:32px;background:#eeede5}.contact-form label{display:block;font-size:14px;margin:15px 0 7px}input,textarea,select{width:100%;padding:11px;border:1px solid #bdbfb3;background:var(--paper);border-radius:0;color:var(--ink)}textarea{resize:vertical}.helper{font-size:12px;color:#62645a;margin-top:15px}.contact-form .pill{margin-top:20px}.dialog{border:0;padding:0;background:var(--paper);width:min(1000px,94vw);max-height:92vh;color:var(--ink)}.dialog::backdrop{background:#10120feb}.dialog-head{position:sticky;top:0;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px;border-bottom:1px solid var(--line);z-index:1}.dialog h2{font-size:20px;font-weight:500}.close{border:1px solid var(--line);background:none;padding:6px 14px;white-space:nowrap}.dialog-body{padding:25px}.dialog-body p{margin-bottom:25px;max-width:750px;color:#66685f;white-space:pre-line}.dialog-body img{margin:18px 0;background:#e7e6df;object-fit:contain;max-height:1000px}.empty{padding:30px;color:var(--muted)}.studio-note{padding:28px;border-left:4px solid var(--yellow);margin-top:30px;background:#eeede5}noscript{display:block;padding:30px;background:var(--yellow)}
@media(max-width:800px){.wrap{width:90%}.nav{min-height:76px;flex-wrap:wrap;gap:0}.menu-toggle{display:block}.nav-links{display:none;width:100%;padding:18px 0;flex-direction:column;align-items:stretch;gap:12px}.nav-links.open{display:flex}.nav-links a{padding:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 0 30px}.hero h1{font-size:48px}.hero-art{min-height:350px;margin:10px 0 35px}.section{padding:55px 0}.section-head{align-items:start;flex-direction:column;gap:18px}.works{gap:30px 18px}.work h3{font-size:15px}.service-grid{grid-template-columns:1fr;gap:25px}.service h3{margin:12px 0}.about-grid,.info-grid{grid-template-columns:1fr;gap:35px}.about-visual{min-height:240px}.cta .wrap{align-items:start;flex-direction:column}.photo-grid{grid-template-columns:repeat(2,1fr);gap:18px}.footer-top{flex-direction:column;gap:20px}.page-intro{padding-top:40px}.marquee{font-size:10px}.contact-form{padding:22px}.dialog-head{padding:15px}.dialog-body{padding:15px}}
@media(max-width:480px){.works{grid-template-columns:1fr}.hero h1{font-size:43px}.hero-art{min-height:300px}.photo-grid{gap:14px}.photo-grid span{font-size:11px}.meta{font-size:11px}.wordmark strong{font-size:18px}.seal{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Complete horizontal logo supplied by the owner. */
.brand-logo{display:block;width:212px;max-width:52vw;height:auto;flex:0 0 auto}
@media(max-width:480px){.brand-logo{width:172px}}

/* Requested home wave composition: live HTML copy above the supplied vector art. */
.home-about{padding-top:85px;overflow:hidden}
.home-about-copy{position:relative;z-index:1}
.home-about h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;letter-spacing:-.03em;margin-top:10px}
.home-about .body-copy{max-width:850px}
.home-wave{display:block;margin-top:-45px;line-height:0}
.home-wave img{display:block;width:100%;height:auto}
body[data-page="home"] .cta{background:#f5ca45;margin-top:-1px}
body[data-page="photo"] .page-intro p{max-width:850px}
.photo-grid button:focus-visible{outline:3px solid #977007;outline-offset:4px}
.desktop-break{display:none}
@media(min-width:801px){.desktop-break{display:inline}}
@media(max-width:800px){.home-about{padding-top:55px}.home-wave{margin-top:-15px}.home-about .body-copy{max-width:100%}}
