:root{--paper:#f1efe8;--ink:#151515;--orange:#e9572b;--blue:#7eaaa8;--clay:#c88a67;--line:rgba(21,21,21,.25);--sans:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}a{color:inherit;text-decoration:none}::selection{background:var(--orange);color:var(--paper)}.site-header{height:86px;padding:24px 4vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.brand{display:flex;align-items:baseline;font-size:22px;letter-spacing:-.12em;font-weight:600}.brand-mark{font-family:var(--mono);letter-spacing:-.2em}.brand-name{margin-left:3px}.header-note{margin:0;line-height:1.4}.header-note span{opacity:.5}.site-header nav{display:flex;flex-flow:row nowrap;align-items:center;gap:22px;justify-content:flex-end;white-space:nowrap}.site-header nav a{display:inline-block;white-space:nowrap;transition:color .2s}.site-header nav a:hover,.text-link:hover,.contact-email:hover{color:var(--orange)}.language-switcher{display:flex;flex:0 0 auto;gap:5px;border-left:1px solid var(--line);padding-left:15px;margin-left:3px;white-space:nowrap}.language-button{font:10px var(--mono);border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer;opacity:.35}.language-button:hover,.language-button.is-active{opacity:1}.arrow{font-size:14px}.hero{min-height:calc(100vh - 86px);padding:25px 4vw 27px;display:flex;flex-direction:column}.hero-topline,.section-label,.hero-footer,.contact-bottom{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;display:flex;justify-content:space-between}.hero-location{opacity:.5}.hero-content{flex:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;max-width:1400px;width:100%;margin:auto}.hero-art{width:min(42vw,500px);justify-self:center;color:var(--ink);transform:translateY(15px) rotate(-2deg)}.hero-art svg{display:block;width:100%;height:auto;overflow:visible}.brand-logo{margin-bottom:26px}.brand-logo svg text{font-size:25px;letter-spacing:7px}.hero-copy{max-width:590px;padding:60px 0}.eyebrow{font:10px var(--mono);text-transform:uppercase;margin:0 0 28px;color:var(--orange);letter-spacing:.08em}.hero h1,.manifesto h2,.portfolio-heading h2,.contact h2{font-size:clamp(64px,8.7vw,142px);line-height:.86;letter-spacing:-.085em;font-weight:500;margin:0}.hero h1 em,.portfolio-heading em,.contact h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.1em}.hero-intro{font-size:16px;line-height:1.35;max-width:340px;margin:38px 0 30px}.text-link{font:11px var(--mono);text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{font-size:16px;padding-left:8px}.hero-footer{align-items:center;gap:18px}.hero-footer span:first-child{opacity:.5}.scroll-line{height:1px;background:var(--ink);opacity:.3;flex:1}.manifesto,.portfolio,.contact{padding:100px 4vw;border-top:1px solid var(--line)}.section-label{justify-content:flex-start;gap:30px}.section-count{margin-left:auto;opacity:.5}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-top:110px}.manifesto h2 span{color:var(--orange);font-family:Georgia,serif;font-style:italic}.manifesto-copy{max-width:350px;padding-bottom:12px}.manifesto-copy p{font-size:21px;line-height:1.15;letter-spacing:-.04em}.manifesto-copy .small-copy{font:11px/1.5 var(--mono);text-transform:uppercase;margin-top:65px;letter-spacing:0}.portfolio{background:#191919;color:var(--paper);padding-bottom:150px}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;margin:100px 0 80px}.portfolio-heading p{font:11px var(--mono);text-transform:uppercase;max-width:180px;line-height:1.4;opacity:.6;margin:0 4vw 7px 0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px 5vw;max-width:1200px;margin:0 auto}.project-offset{transform:translateY(90px)}.project-visual{aspect-ratio:1.35;position:relative;overflow:hidden;padding:20px;color:var(--ink);transition:transform .4s}.project:hover .project-visual{transform:rotate(-1.5deg)}.vineyard{background:var(--orange)}.stone{background:#d8d5c7}.blue{background:var(--blue);color:#142725}.clay{background:var(--clay)}.project-stamp{font:11px var(--mono);position:absolute;top:20px;left:20px}.visual-word{position:absolute;bottom:20px;left:20px;font-size:clamp(30px,4vw,58px);line-height:.82;letter-spacing:-.08em}.visual-sun{width:150px;height:150px;border-radius:50%;background:var(--paper);position:absolute;right:12%;top:14%}.vineyard:after{content:'// // // // //';position:absolute;right:18%;bottom:30%;font:25px var(--mono);transform:rotate(-17deg);letter-spacing:7px}.stone-shape{width:45%;height:75%;position:absolute;right:18%;top:12%;border:2px solid var(--ink);border-radius:47% 53% 45% 55%;transform:rotate(19deg);box-shadow:16px 16px 0 var(--orange)}.wave{position:absolute;right:15%;top:30%;font-size:50px;letter-spacing:-14px;transform:rotate(-8deg)}.clay-circle{position:absolute;width:45%;aspect-ratio:1;border-radius:50%;right:15%;top:16%;background:#9d6049;border:1px solid var(--ink)}.project-info{display:grid;grid-template-columns:1fr auto;position:relative;padding-top:14px;border-top:1px solid rgba(241,239,232,.4);margin-top:13px}.project-info h3{font-size:20px;font-weight:500;letter-spacing:-.05em;margin:0}.project-info p,.project-year{font:10px var(--mono);text-transform:uppercase;margin:4px 0 0;opacity:.6}.project-year{grid-column:2;grid-row:1}.contact{padding-top:110px;padding-bottom:25px;min-height:80vh;display:flex;flex-direction:column}.contact-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:70px 0}.contact h2{font-size:clamp(60px,9vw,138px)}.contact h2 em{color:var(--orange)}.contact-email{align-self:flex-end;font:14px var(--mono);border-bottom:1px solid var(--ink);padding:8px 0;margin-right:14%;transition:color .2s}.contact-email span{font-size:22px;padding-left:12px}.contact-bottom{gap:15px}.contact-bottom span:nth-child(2){margin:auto}.project,.manifesto-copy,.contact-email{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.project.is-visible,.manifesto-copy.is-visible,.contact-email.is-visible{opacity:1;transform:translateY(0)}
.site-header nav a{display:flex;align-items:center;line-height:1}.language-switcher{align-items:center}.language-button{line-height:1}.arrow{display:inline-block;line-height:1;transform:translateY(-.5px)}
.site-header nav a .arrow{font:10px/1 var(--mono);margin-left:3px;transform:none;position:static;vertical-align:middle}
.hero-art img{display:block;width:100%;height:auto}
@media (max-width:700px){body{overflow-x:hidden}.site-header{display:flex;justify-content:space-between;gap:10px;min-width:0}.brand{flex:0 0 auto;font-size:18px}.site-header nav{flex:0 0 auto;gap:9px;font-size:9px}.site-header nav a{font-size:9px}.language-switcher{gap:4px;padding-left:8px;margin-left:0}.language-button{font-size:9px}.hero-art{max-width:420px}}
@media (max-width:700px){
  .hero{min-height:calc(100svh - 76px);padding:20px;}
  .hero-topline{font-size:9px;}
  .hero-location{display:none;}
  .hero-content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;}
  .hero-art{order:0;width:78%;align-self:center;margin:0 auto 18px;transform:rotate(-2deg);}
  .hero-copy{order:1;max-width:none;padding:12px 0 10px;}
  .eyebrow{margin-bottom:22px;}
  .hero h1{font-size:clamp(59px,17vw,96px);}
  .hero-intro{max-width:340px;font-size:15px;margin:30px 0 24px;}
  .hero-footer{margin-top:30px;}
  .manifesto,.portfolio,.contact{padding:65px 20px;}
  .section-label{font-size:9px;gap:18px;}
  .manifesto-grid{display:block;margin-top:75px;}
  .manifesto h2,.portfolio-heading h2{font-size:clamp(66px,20vw,110px);}
  .manifesto-copy{margin-top:50px;}
  .manifesto-copy p{font-size:20px;}
  .manifesto-copy .small-copy{margin-top:52px;}
  .portfolio{padding-bottom:100px;}
  .portfolio-heading{display:block;margin:75px 0 60px;}
  .portfolio-heading p{margin:25px 0 0;}
  .project-grid{display:block;}
  .project{margin-bottom:65px;}
  .project-offset{transform:none;}
  .project-visual{aspect-ratio:1.08;}
  .visual-word{font-size:48px;}
  .contact{min-height:90svh;padding-top:65px;}
  .contact-main{padding:60px 0;}
  .contact h2{font-size:clamp(58px,17vw,94px);}
  .contact-email{align-self:flex-start;margin:55px 0 0;font-size:12px;}
  .contact-bottom{display:grid;grid-template-columns:1fr 1fr;line-height:1.4;}
  .contact-bottom span:nth-child(2){margin:0;}
  .contact-bottom span:last-child{grid-column:2;text-align:right;}
}
.brand-name{font-family:'ZCOOL QingKe HuangYou',var(--mono);font-size:25px;letter-spacing:.12em;font-weight:400}.brand-mark{display:none}@media (max-width:700px){.brand-name{font-size:20px;letter-spacing:.1em}}
.project-slideshow{position:absolute;inset:0;background:var(--ink)}.project-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}.project-slideshow img.is-active{opacity:1}.slideshow-control{position:absolute;z-index:2;bottom:15px;width:28px;height:28px;border:1px solid rgba(241,239,232,.75);background:rgba(21,21,21,.35);color:var(--paper);font:14px var(--mono);cursor:pointer}.slideshow-control:hover{background:var(--orange);color:var(--ink)}.slideshow-prev{left:15px}.slideshow-next{right:15px}.slideshow-dots{position:absolute;z-index:2;right:50%;bottom:27px;display:flex;gap:5px;transform:translateX(50%)}.slideshow-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--paper);opacity:.45}.slideshow-dots i.is-active{opacity:1;background:var(--orange)}
@font-face{font-family:'Director';src:url('assets/fonts/Director-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:'Anthony';src:url('assets/fonts/Anthony.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:'Geist Pixel Circle';src:url('assets/fonts/GeistPixel-Circle.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}
:root{--sans:'Director',Arial,sans-serif}
:root{--sans:'Space Grotesk',Arial,sans-serif;--display:'Director',Arial,sans-serif}
.hero h1,.manifesto h2,.portfolio-heading h2,.contact h2,.visual-word{font-family:var(--display)}
:root{--sans:'Director',Arial,sans-serif;--display:'Geist Pixel',Arial,sans-serif}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:cubic-bezier(.22,.8,.28,1)}
.brand-name{font-family:'Anthony',var(--sans);letter-spacing:.04em;font-weight:400}
.brand-inline{font-family:'Anthony',sans-serif;font-weight:400}
.title-char{display:inline-block;opacity:0;transform:translateY(.18em);animation:title-char-in .45s cubic-bezier(.22,.8,.28,1) var(--title-delay) both;animation-play-state:paused}
.is-title-visible .title-char{animation-play-state:running}
@keyframes title-char-in{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.title-char{opacity:1;transform:none;animation:none}}
a,button{transition:color .35s cubic-bezier(.22,.8,.28,1),background-color .35s cubic-bezier(.22,.8,.28,1),border-color .35s cubic-bezier(.22,.8,.28,1),opacity .35s cubic-bezier(.22,.8,.28,1)}
.project-visual,.slideshow-control{transition:transform .45s cubic-bezier(.22,.8,.28,1),background-color .35s cubic-bezier(.22,.8,.28,1),color .35s cubic-bezier(.22,.8,.28,1)}
.slideshow-control:hover{transform:scale(1.08)}
@media (prefers-reduced-motion:reduce){a,button,.project-visual,.slideshow-control{transition:none}}
 .hero h1,.hero h1 em,.manifesto h2,.manifesto h2 span,.portfolio-heading h2,.portfolio-heading h2 em,.contact h2,.contact h2 em,.project-info h3,.visual-word{font-family:'Geist Pixel Circle',sans-serif;font-weight:400;font-style:normal;text-transform:none}
.hero h1,.manifesto h2,.portfolio-heading h2,.contact h2,.project-info h3,.visual-word{line-height:.82;letter-spacing:-.09em}
.hero h1 em,.manifesto h2 span,.portfolio-heading h2 em,.contact h2 em{color:inherit}
@media (min-width:701px){.hero h1{font-size:clamp(84px,10.5vw,120px)}.manifesto h2,.portfolio-heading h2{font-size:clamp(84px,10.5vw,120px)}.contact h2{font-size:clamp(82px,10.2vw,116px)}}
@media (max-width:700px){.hero h1{font-size:clamp(50px,14vw,80px)}.manifesto h2,.portfolio-heading h2{font-size:clamp(56px,17vw,94px)}.contact h2{font-size:clamp(50px,14vw,80px)}}
