@font-face{font-family:HealingSans;src:url('assets/noto-sans-sc-spa-28.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:TTCommons;src:url('assets/tt_commons_pro_regular-webfont.woff2') format('woff2');font-weight:400;font-display:swap}
:root{font-family:HealingSans,'Microsoft YaHei','PingFang SC',sans-serif;font-weight:300;color:#343c38;background:#f5f4ef;font-synthesis:none;scroll-behavior:smooth;--paper:#f5f4ef;--ink:#343c38;--muted:#797d74;--rule:#d7d8cf;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;min-width:320px}img{display:block;max-width:100%}button,a{outline-offset:6px}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,.gallery-viewport:focus-visible{outline:2px solid #687d70}
h1,h2,p,figure{margin:0}h1,h2{font-weight:250}h2{font-size:clamp(30px,3.1vw,45px);line-height:1.55;letter-spacing:.08em}.section-pad{padding-left:max(40px,calc((100vw - 1180px)/2));padding-right:max(40px,calc((100vw - 1180px)/2))}
.eyebrow{font-size:10px;font-weight:400;letter-spacing:.18em;color:#73796f;line-height:1.8;margin-bottom:28px}.brand-symbol{display:block;flex:none;width:48px;aspect-ratio:283/274;background:currentColor;-webkit-mask:url('assets/phantom-footprint.png') center top/252.3% auto no-repeat;mask:url('assets/phantom-footprint.png') center top/252.3% auto no-repeat}
.hero{height:100svh;min-height:820px;max-height:1120px;position:relative;padding:40px 48px 32px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.brand-lockup{display:flex;align-items:center;gap:14px;font-size:19px;font-weight:350;letter-spacing:.18em}.brand-lockup .brand-symbol{width:38px}.brand-lockup small{display:block;font:9px TTCommons,sans-serif;letter-spacing:.22em;margin-top:6px}.hero-top>p{font-size:10px;color:#687067;line-height:1.8;text-align:right;letter-spacing:.12em}.hero-top>p>span{display:block;font:9px TTCommons,sans-serif;letter-spacing:.14em;margin-top:5px}
.hero-inner{max-width:1160px;margin:0 auto;height:calc(100% - 80px);display:grid;grid-template-columns:.9fr 1.2fr;gap:8%;align-items:center}.hero-copy{position:relative;padding-bottom:12px}.hero-copy .eyebrow{margin-bottom:28px;font-size:11px;letter-spacing:.36em}.hero h1{font-size:clamp(76px,7vw,112px);font-weight:200;letter-spacing:.21em;line-height:1.25;margin-left:-.035em;white-space:nowrap}.hero h1>span{display:block}.hero-caption{font-size:17px;line-height:1.9;letter-spacing:.1em;margin-top:35px}.hero-family{font-size:10px;color:#767c71;letter-spacing:.1em;margin-top:29px}.hero-media{position:relative;width:100%;max-width:590px;justify-self:end;padding-bottom:48px}.hero-photo{overflow:hidden;aspect-ratio:1;width:100%}.hero-photo img{width:100%;height:100%;object-fit:cover;animation:quiet-breathe 18s ease-in-out infinite}.hero-inset{position:absolute;width:27%;left:-10%;bottom:5%;overflow:hidden;aspect-ratio:538/600}.hero-inset img{width:100%;height:100%;object-fit:cover}.hero-photo-caption{font:9px TTCommons,sans-serif;letter-spacing:.16em;position:absolute;bottom:15px;right:0;color:#797d74}.hero:not(.in-view) .hero-photo img{animation-play-state:paused}
.hero-bottom{position:absolute;left:48px;right:48px;bottom:32px;display:flex;justify-content:space-between;align-items:center;color:#767c71}.scroll-hint{text-decoration:none;font-size:10px;letter-spacing:.13em;display:flex;align-items:center;gap:30px}.scroll-hint>span{font-size:17px}.hero-bottom>span{font:9px TTCommons,sans-serif;letter-spacing:.14em}
@keyframes quiet-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes water-breathe{0%,100%{transform:scale(1.025) translateY(-1%)}50%{transform:scale(1.065) translateY(1%)}}
.intro{padding-top:140px;padding-bottom:145px;display:grid;grid-template-columns:1fr 1fr;gap:11%;background:#fff}.intro h2{font-size:clamp(32px,3.2vw,46px)}.intro-copy{padding-top:52px;font-size:16px;line-height:2;max-width:465px}.intro-copy>p{margin-bottom:24px}.intro-copy .intro-signature{font-size:12px;letter-spacing:.18em;margin:35px 0 0;color:#73796f}
.concept-scene{padding-top:120px;padding-bottom:110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.concept-caption h2{font-size:clamp(24px,2.25vw,32px);white-space:nowrap;letter-spacing:.1em}.landscape-composition{padding:35px 0 10px;position:relative}.landscape-composition img{width:100%;height:auto;max-width:564px;margin-left:auto}.landscape-composition>p{text-align:right;font-size:10px;letter-spacing:.15em;color:#73796f;margin-top:22px}
.motion-section{padding-top:85px;padding-bottom:105px;background:#edeee8}.motion-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:55px}.motion-heading h2{font-size:34px}.motion-heading .eyebrow{margin-bottom:22px}.motion-toggle{padding:8px 0;font-size:11px;letter-spacing:.12em;border:0;border-bottom:1px solid #949d8d;background:none;color:#52604f;min-width:56px}.motion-toggle:hover{border-color:#344334;color:#344334}.motion-toggle:disabled{cursor:default}
.motion-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:14%;min-height:570px}.motion-type{padding-left:7%;position:relative}.motion-index{font:10px TTCommons,sans-serif;letter-spacing:.18em;color:#768371;margin-bottom:38px}.motion-word{font-size:clamp(64px,6.2vw,90px);font-weight:200;letter-spacing:.2em;line-height:1.3;margin-left:-.05em}.motion-line{font-size:19px;letter-spacing:.07em;line-height:1.8;margin:27px 0 23px}.motion-description{font-size:13px;color:#6b7766;line-height:2;letter-spacing:.035em}.motion-brand{display:block;font:9px TTCommons,sans-serif;letter-spacing:.19em;margin-top:60px;color:#73816d}.motion-visual{position:relative;overflow:hidden;aspect-ratio:3/4;width:100%;max-width:428px;justify-self:end;background:#d7ded6}.motion-texture{width:100%;height:100%;object-fit:cover;animation:water-breathe 12s ease-in-out infinite}.motion-symbol{position:absolute;right:28px;bottom:28px;color:#fff;width:46px;filter:drop-shadow(0 1px 3px #172c2860)}.motion-stage:not(.in-view) .motion-texture,.motion-stage.paused .motion-texture{animation-play-state:paused}
.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:70px}.palette-card{position:relative;text-align:left;display:grid;grid-template-columns:33px 1fr;column-gap:14px;border:0;border-top:1px solid #c6cebf;background:none;color:#4b5747;padding:23px 0 12px;transition:border-color 200ms ease}.palette-card.selected{border-color:#42543e}.palette-swatch{grid-row:1/4;width:24px;height:24px;margin-top:2px;background:#758f89}.stone .palette-swatch{background:#303a37}.sand .palette-swatch{background:#d8c5a5}.moss .palette-swatch{background:#70785b}.palette-name{font-size:14px;letter-spacing:.1em;margin-bottom:8px}.palette-detail{font-size:10px;letter-spacing:.045em;color:#66745f;line-height:1.6}.palette-code{font:9px TTCommons,sans-serif;letter-spacing:.1em;color:#72816a;margin-top:10px}.palette-card:hover{border-color:#42543e}
.identity-section{display:grid;grid-template-columns:1.1fr 1fr;gap:13%;padding-top:140px;padding-bottom:140px;align-items:center;background:#fff}.identity-art{position:relative;aspect-ratio:1;max-width:530px}.identity-art>img{width:76%;height:100%;object-fit:cover}.identity-paper{position:absolute;right:0;bottom:15%;width:66%;aspect-ratio:1.1;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f2f0e9;color:#867963}.identity-paper .brand-symbol{width:94px;margin-bottom:25px}.identity-paper>p{font-size:24px;font-weight:300;letter-spacing:.3em;margin-left:.3em}.identity-paper>small{font:8px TTCommons,sans-serif;letter-spacing:.17em;margin-top:12px}.identity-copy h2{font-size:clamp(28px,2.7vw,40px)}.identity-copy>p:not(.eyebrow){font-size:15px;line-height:2;max-width:345px;margin-top:28px}.identity-copy>.identity-note{font-size:10px!important;color:#82857b;letter-spacing:.13em;margin-top:40px!important}
.texture-story{background:#f5f4ef;padding:95px 0 100px}.texture-story-heading{margin-bottom:55px}.texture-story h2{font-size:33px}.texture-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:0 max(40px,calc((100vw - 1180px)/2))}.texture-strip figure:nth-child(2){padding-top:74px}.texture-strip figure:nth-child(3){padding-top:148px}.texture-strip img{width:100%;aspect-ratio:3/4;object-fit:cover}.texture-strip figcaption{font-size:10px;letter-spacing:.12em;margin-top:18px;color:#73796f}
.experience{padding-top:130px;padding-bottom:100px;background:#fff}.experience-title{display:grid;grid-template-columns:1fr 1fr;column-gap:12%;align-items:center;margin-bottom:55px}.experience-title .eyebrow{grid-column:1/-1}.experience-title h2{font-size:34px}.experience-title>p:last-child{font-size:14px;line-height:1.95;letter-spacing:.05em;justify-self:end;color:#667163}.experience-image{overflow:hidden}.experience-image img{width:100%;height:auto}.image-caption{font-size:10px;letter-spacing:.08em;text-align:right;line-height:1.8;margin-top:20px;color:#818579}
.gallery-section{--gallery-size:min(530px,52vw,calc(100svh - 220px));background:#e9e9e2;padding:100px 0 100px;overflow:hidden}.gallery-heading{margin-bottom:55px}.gallery-heading h2{font-size:34px}.gallery-heading>p:last-child{font-size:11px;color:#6c7966;letter-spacing:.08em;margin-top:22px}.gallery-viewport{width:100%;overflow:hidden;cursor:grab;touch-action:pan-y;outline-offset:-5px}.gallery-viewport.dragging{cursor:grabbing}.gallery-track{height:calc(var(--gallery-size) + 45px);display:flex;align-items:flex-start;gap:78px;will-change:transform}.gallery-slide{height:var(--gallery-size);flex:none;margin:0;user-select:none}.gallery-slide img{height:var(--gallery-size);width:auto;max-width:none;pointer-events:none}.gallery-slide figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:17px;gap:25px;font-size:10px;color:#626e5d;letter-spacing:.1em}.gallery-slide figcaption>span:last-child{font:9px TTCommons,sans-serif;letter-spacing:.1em}
.closing{padding-top:145px;padding-bottom:50px;text-align:center}.closing>.eyebrow{font:10px TTCommons,sans-serif;letter-spacing:.2em;margin-bottom:42px}.closing h2{font-size:54px;font-weight:200;letter-spacing:.18em;line-height:1.65}.closing-brand{display:flex;align-items:center;justify-content:center;text-align:left;gap:14px;margin-top:100px;color:#5e6a5a}.closing-brand .brand-symbol{width:36px}.closing-brand>p{font-size:16px;letter-spacing:.22em}.closing-brand small{display:block;font-size:9px;letter-spacing:.1em;margin-top:8px;color:#727e6c}.closing-caption{font:8px TTCommons,sans-serif;letter-spacing:.16em;color:#85907d;margin-top:70px}
.motion-enabled [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 950ms var(--ease),transform 950ms var(--ease)}.motion-enabled [data-reveal].revealed{opacity:1;transform:none}
.motion-description{white-space:pre-line}
@media(max-width:1100px) and (min-width:701px){.hero{padding:36px;min-height:780px}.hero-inner{gap:6%;padding:0 20px;grid-template-columns:.9fr 1.1fr}.hero h1{font-size:82px}.hero-bottom{left:36px;right:36px}.hero-media{padding-bottom:40px}.concept-scene{gap:45px;grid-template-columns:1fr 1.2fr}.concept-caption h2{font-size:24px}.motion-stage{gap:8%;min-height:0}.palette-grid{gap:20px}.identity-section{gap:9%}.identity-paper .brand-symbol{width:74px}.texture-strip{gap:20px}.texture-strip figure:nth-child(2){padding-top:45px}.texture-strip figure:nth-child(3){padding-top:90px}}
@media(max-width:700px){.section-pad{padding-left:24px;padding-right:24px}.eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:22px}h2{font-size:29px;letter-spacing:.05em;line-height:1.65}.hero{height:auto;min-height:0;max-height:none;padding:25px 24px 28px}.hero-top{align-items:center}.brand-lockup{font-size:16px;gap:10px}.brand-lockup .brand-symbol{width:30px}.brand-lockup small{font-size:7px;margin-top:4px}.hero-top>p{font-size:8px;letter-spacing:.06em}.hero-top>p>span{font-size:7px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:48px;height:auto;margin-top:63px}.hero-copy{padding-left:15px;padding-bottom:0}.hero-copy .eyebrow{font-size:10px;margin-bottom:24px}.hero h1{font-size:70px;letter-spacing:.18em;line-height:1.22}.hero h1>span{display:inline}.hero h1>span+span{margin-left:8px}.hero-caption{font-size:14px;letter-spacing:.08em;margin-top:22px}.hero-family{font-size:9px;margin-top:22px}.hero-media{width:86%;align-self:flex-end;max-width:none;padding-bottom:37px}.hero-inset{width:31%;left:-15%;bottom:7%}.hero-photo-caption{font-size:7px;bottom:12px}.hero-bottom{position:static;margin-top:36px;gap:16px}.hero-bottom>span{font-size:7px;letter-spacing:.08em}.scroll-hint{font-size:9px;gap:20px}.intro{padding-top:85px;padding-bottom:88px;grid-template-columns:1fr;gap:35px}.intro h2{font-size:30px}.intro-copy{padding:0;font-size:14px;line-height:2}.intro-copy .intro-signature{font-size:11px;margin-top:28px}.concept-scene{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px;gap:28px}.concept-caption h2{font-size:26px;white-space:normal}.landscape-composition{padding:10px 0 0}.landscape-composition>p{font-size:9px;margin-top:17px}.motion-section{padding-top:70px;padding-bottom:70px}.motion-heading{margin-bottom:38px}.motion-heading h2{font-size:27px}.motion-heading .eyebrow{margin-bottom:20px}.motion-toggle{font-size:10px;min-width:46px;padding-bottom:6px}.motion-stage{grid-template-columns:1fr;gap:40px;min-height:0}.motion-type{padding:0 12px}.motion-index{font-size:9px;margin-bottom:22px}.motion-word{font-size:70px;line-height:1.3;letter-spacing:.17em}.motion-line{font-size:16px;margin:18px 0 17px}.motion-description{font-size:12px}.motion-brand{display:none}.motion-visual{width:84%;justify-self:end;max-width:360px}.motion-symbol{right:20px;bottom:20px;width:35px}.palette-grid{grid-template-columns:repeat(2,1fr);gap:24px 22px;margin-top:40px}.palette-card{padding-top:17px;padding-bottom:0;grid-template-columns:23px 1fr;column-gap:10px}.palette-swatch{width:17px;height:17px}.palette-name{font-size:12px;margin-bottom:6px}.palette-detail{font-size:9px}.palette-code{font-size:8px;margin-top:8px}.identity-section{grid-template-columns:1fr;gap:50px;padding-top:90px;padding-bottom:85px}.identity-art{max-width:450px}.identity-paper{width:64%;bottom:12%;aspect-ratio:1}.identity-paper .brand-symbol{width:65px;margin-bottom:20px}.identity-paper>p{font-size:20px}.identity-paper>small{font-size:6px}.identity-copy h2{font-size:29px}.identity-copy>p:not(.eyebrow){font-size:14px}.identity-copy>.identity-note{margin-top:28px!important;font-size:9px!important}.texture-story{padding:75px 0}.texture-story-heading{margin-bottom:35px}.texture-story h2{font-size:26px}.texture-strip{padding:0 24px;grid-template-columns:1fr 1fr;gap:18px}.texture-strip figure:nth-child(2){padding-top:40px}.texture-strip figure:nth-child(3){grid-column:1/-1;width:56%;padding-top:10px;justify-self:center}.texture-strip figcaption{font-size:8px;letter-spacing:.06em;margin-top:12px}.experience{padding-top:80px;padding-bottom:72px}.experience-title{display:block;margin-bottom:34px}.experience-title h2{font-size:28px}.experience-title>p:last-child{font-size:13px;margin-top:20px}.image-caption{font-size:8px;line-height:1.8;margin-top:16px}.gallery-section{--gallery-size:340px;padding:75px 0}.gallery-heading{margin-bottom:38px}.gallery-heading h2{font-size:28px}.gallery-heading>p:last-child{font-size:10px;margin-top:18px}.gallery-track{gap:35px}.gallery-slide figcaption{font-size:9px;margin-top:14px}.gallery-slide figcaption>span:last-child{font-size:8px}.closing{padding-top:100px;padding-bottom:40px}.closing>.eyebrow{font-size:8px;margin-bottom:32px}.closing h2{font-size:39px;font-weight:200}.closing-brand{margin-top:70px}.closing-caption{font-size:7px;margin-top:50px}}
@media(max-width:390px){.hero h1{font-size:clamp(46px,15.2vw,60px)}.hero h1>span+span{margin-left:5px}.hero-top>p>span{font-size:6px}.brand-lockup{font-size:14px}.hero-copy{padding-left:8px}.hero-bottom>span{font-size:6px}.motion-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.hero-photo img,.motion-texture{animation:none!important}.motion-enabled [data-reveal]{opacity:1;transform:none;transition:none}.palette-card{transition:none}}
