@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Serif+TC:wght@500;600&display=swap";:root{color-scheme:light;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-surface);color:var(--color-text)}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;background:var(--color-surface)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.08;letter-spacing:-.035em}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.7rem 1rem;background:var(--color-accent);color:#111}.skip-link:focus{top:1rem}.eyebrow{margin-bottom:1rem;font:600 .68rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase}.site-header{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid color-mix(in srgb,var(--color-text) 18%,transparent)}.wordmark{display:flex;flex-direction:column;width:fit-content;font-family:var(--font-heading);font-size:1.15rem;letter-spacing:.04em}.wordmark small{margin-top:.1rem;font:500 .52rem/1 var(--font-body);letter-spacing:.16em}.site-header nav{display:flex;gap:clamp(1.2rem,3vw,2.8rem);font-size:.85rem}.site-header nav a{padding:.5rem 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:currentColor}.header-contact{justify-self:end;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.hero{min-height:calc(100vh - 104px);display:grid;grid-template-columns:.82fr 1.18fr;padding:clamp(2rem,5vw,5.5rem) clamp(1.25rem,4vw,4.5rem);gap:clamp(2rem,5vw,6rem)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-bottom:7vh}.hero-copy h1{max-width:9.5em;margin-bottom:2rem;font-size:clamp(3.1rem,6vw,7.3rem)}.hero-intro{max-width:30rem;margin-bottom:2rem;color:color-mix(in srgb,var(--color-text) 68%,transparent)}.text-link{display:inline-flex;gap:.8rem;align-items:center;width:fit-content;padding-bottom:.35rem;border-bottom:1px solid currentColor;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translate(3px,-3px)}.media-frame{display:block;overflow:hidden;border-radius:var(--radius);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.media-frame img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}.media-frame:hover img{transform:scale(1.025)}.hero-image{position:relative;min-height:66vh}.image-index,.image-caption{position:absolute;bottom:1rem;padding:.45rem .6rem;background:#0a0a0abf;color:#fff;font-size:.62rem;letter-spacing:.1em}.image-index{left:1rem}.image-caption{right:1rem}.project-section,.studio-story,.process-section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,6vw,5rem)}.section-heading h2{margin:0;font-size:clamp(2.5rem,5vw,5.6rem);text-transform:capitalize}.section-heading>p{justify-self:end;max-width:28rem;margin:0;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,7vw,8rem) clamp(1.5rem,3vw,3rem)}.project-card .media-frame{aspect-ratio:4 / 3}.project-card--wide{grid-column:span 2;width:72%}.project-card--wide .media-frame{aspect-ratio:16 / 9}.project-card-meta{display:grid;grid-template-columns:1fr auto auto;gap:1.25rem;align-items:baseline;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--color-text) 18%,transparent)}.project-card-meta h3{margin:0;font-size:1.3rem}.project-card-meta p,.project-card-meta span{margin:0;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.studio-story{background:var(--color-primary);color:var(--color-surface)}.studio-statement{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(3rem,8vw,9rem);align-items:end}.studio-statement h2{margin:0;font-size:clamp(2.8rem,6vw,6.7rem)}.studio-statement>div{max-width:29rem}.studio-statement>div p{opacity:.72}.process-list{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;border-top:1px solid color-mix(in srgb,var(--color-text) 25%,transparent)}.process-list li{min-height:17rem;padding:1.5rem 1.2rem;border-right:1px solid color-mix(in srgb,var(--color-text) 25%,transparent)}.process-list li:last-child{border-right:0}.process-list span{font-size:.65rem}.process-list h3{margin:5rem 0 1rem;font-size:1.6rem}.process-list p{max-width:13rem;font-size:.85rem;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.cta-band{display:grid;grid-template-columns:.5fr 1.5fr auto;gap:2rem;align-items:center;padding:clamp(3rem,6vw,6rem) clamp(1.25rem,4vw,4.5rem);background:var(--color-accent);color:#111}.cta-band p,.cta-band h2{margin:0}.cta-band h2{font-size:clamp(2rem,4vw,4.2rem)}.cta-band a{border-bottom:1px solid;padding-bottom:.3rem}.site-footer{min-height:70vh;display:grid;grid-template-columns:1.5fr .5fr;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,4vw,4.5rem) 2rem;background:#111;color:#f5f2eb}.site-footer h2{max-width:10em;margin-bottom:3rem;font-size:clamp(3rem,6vw,7rem)}.footer-meta{display:flex;flex-direction:column;justify-content:space-between;padding-top:2rem}.footer-meta>div{display:flex;flex-direction:column;gap:.5rem}.footer-meta p,.footer-meta a{font-size:.75rem;color:#ffffffa6}.page-intro{min-height:60vh;display:flex;flex-direction:column;justify-content:end;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid color-mix(in srgb,var(--color-text) 18%,transparent)}.page-intro h1{max-width:12em;margin:0;font-size:clamp(3.4rem,7vw,8rem)}.project-detail-header{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,4vw,4.5rem) clamp(3rem,6vw,6rem)}.project-detail-header h1{margin:0 0 4rem;font-size:clamp(4rem,10vw,11rem)}.project-detail-header dl{display:flex;gap:clamp(2rem,8vw,9rem);margin:0}.project-detail-header dl div{min-width:8rem;border-top:1px solid;padding-top:.8rem}.project-detail-header dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.project-detail-header dd{margin:.45rem 0 0}.project-lead-image{margin:0;height:min(76vw,900px);border-radius:0}.project-narrative{display:grid;grid-template-columns:.6fr 1.4fr;gap:3rem;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}.project-narrative>p:last-child{max-width:32em;font:500 clamp(1.6rem,3vw,3rem)/1.45 var(--font-heading)}.project-gallery{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.2rem,3vw,3rem);padding:0 clamp(1.25rem,4vw,4.5rem) clamp(5rem,9vw,9rem);align-items:end}.project-gallery figure{margin:0;aspect-ratio:4/5}.project-gallery figure:last-child{aspect-ratio:4/3}.next-project{display:grid;grid-template-columns:.4fr 1.5fr auto;align-items:center;gap:2rem;padding:clamp(3rem,6vw,6rem) clamp(1.25rem,4vw,4.5rem);border-top:1px solid}.next-project strong{font:500 clamp(2rem,5vw,5rem)/1 var(--font-heading)}.next-project>span:last-child{font-size:2rem}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(1.25rem,4vw,4.5rem) clamp(7rem,12vw,12rem)}.facts-grid div{padding:2rem 1rem;border-top:1px solid;border-right:1px solid}.facts-grid div:last-child{border-right:0}.facts-grid span{font:500 clamp(2.5rem,5vw,5rem)/1 var(--font-heading)}.facts-grid p{margin:2rem 0 0;font-size:.75rem}.contact-page{min-height:calc(100vh - 104px);display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}.contact-page h1{margin-bottom:3rem;font-size:clamp(3.5rem,7vw,8rem)}.contact-page>div>p:last-child{max-width:32rem}.contact-details{display:flex;flex-direction:column;justify-content:end;gap:1.1rem;padding-bottom:2rem}.contact-details a{width:fit-content;border-bottom:1px solid;font-size:1.05rem}.contact-details p{margin:1.5rem 0 0;color:color-mix(in srgb,var(--color-text) 64%,transparent)}.not-found{min-height:70vh;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem)}.not-found h1{font-size:clamp(4rem,9vw,9rem)}[data-theme=editorial] .hero{grid-template-columns:1fr 1fr}[data-theme=editorial] .hero-copy h1{text-transform:uppercase;font-weight:600;letter-spacing:-.065em}[data-theme=editorial] .media-frame{box-shadow:8px 8px 0 var(--color-accent)}[data-theme=editorial] .project-card--wide{width:100%}[data-theme=editorial] .studio-story{background:var(--color-accent);color:#111}@media(max-width:800px){.site-header{height:auto;min-height:88px;grid-template-columns:1fr auto}.site-header nav{grid-column:1/-1;justify-content:space-between;order:3;padding:.65rem 0 1rem;border-top:1px solid color-mix(in srgb,var(--color-text) 16%,transparent)}.header-contact{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:58vh;padding:2rem 0}.hero-image{min-height:58vh}.section-heading,.studio-statement,.project-narrative,.contact-page{grid-template-columns:1fr}.section-heading>p{justify-self:start}.project-card--wide{width:100%}.process-list{grid-template-columns:repeat(2,1fr)}.process-list li:nth-child(2){border-right:0}.cta-band{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;gap:4rem}.footer-meta{gap:3rem}.project-detail-header dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-gallery{grid-template-columns:1fr}.next-project{grid-template-columns:1fr auto}.next-project>span:first-child{grid-column:1/-1}.facts-grid{grid-template-columns:repeat(2,1fr)}.facts-grid div:nth-child(2){border-right:0}}@media(max-width:520px){.project-grid{grid-template-columns:1fr}.project-card--wide{grid-column:auto}.project-card--wide .media-frame{aspect-ratio:4/3}.project-card-meta{grid-template-columns:1fr auto}.project-card-meta p{grid-column:1/-1}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;min-height:12rem}.process-list h3{margin-top:2rem}.project-detail-header dl{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
