:root{--ink:#182b2e;--muted:#456064;--line:rgba(23,51,55,.28);--paper:#f5f1e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#c1e1df}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 14% 68%,#72d4d2 0,transparent 34%),radial-gradient(circle at 67% 28%,#eacbd8 0,transparent 38%),radial-gradient(circle at 97% 84%,#79b4d8 0,transparent 37%),#c9e5e4}.ambient{position:fixed;pointer-events:none;filter:blur(35px);opacity:.6;z-index:0}.ambient-a{width:40vw;height:40vw;left:-13vw;top:3vh;background:radial-gradient(circle,#9ee2e2,transparent 65%);animation:amb 14s ease-in-out infinite alternate}.ambient-b{width:45vw;height:36vw;right:-8vw;top:-8vw;background:radial-gradient(circle,#f4cada,transparent 65%);animation:amb 17s ease-in-out infinite alternate-reverse}.ambient-c{width:42vw;height:42vw;right:10vw;bottom:-24vw;background:radial-gradient(circle,#7abed1,transparent 65%);animation:amb 20s ease-in-out infinite alternate}.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}.site-header{height:80px;position:absolute;top:0;left:0;right:0;padding:0 3.4vw;display:flex;align-items:center;justify-content:space-between;z-index:15;font-size:11px;font-weight:700;letter-spacing:.08em}.wordmark{font-size:19px;font-weight:700;letter-spacing:-.075em;line-height:1}.wordmark span{font-weight:400}.wordmark-dot{margin-left:3px;color:#f58f8f}.header-center{margin-left:3vw;font-size:10px;letter-spacing:.19em}.header-center span{margin-left:14px;color:var(--muted)}.text-button{border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.16em}.text-button span{margin-left:16px;font-size:17px;font-weight:400}.immersive{position:relative;height:100svh;min-height:650px;perspective:1300px;overflow:hidden}.scene{position:absolute;inset:0;transform-style:preserve-3d;z-index:4;pointer-events:none}.paper{position:absolute;top:50%;left:50%;width:clamp(180px,20.8vw,320px);aspect-ratio:3/4;padding:0;border:0;background:transparent;filter:drop-shadow(16px 22px 17px rgba(26,55,59,.25));transform-style:preserve-3d;will-change:transform,opacity;pointer-events:auto;transition:filter .25s;outline-offset:8px}.paper:hover{filter:drop-shadow(20px 28px 19px rgba(26,55,59,.34))}.paper:focus-visible{outline:2px solid #14393e}.paper-inner{position:absolute;inset:0;background:var(--paper);padding:7px 7px 24px;clip-path:polygon(0% 1.2%,8% .6%,17% 1%,28% .3%,39% .8%,54% .1%,65% .9%,78% .3%,91% .7%,100% .3%,99.6% 12%,100% 27%,99.7% 42%,100% 59%,99.4% 77%,100% 93%,99.5% 100%,85% 99.5%,72% 100%,61% 99.7%,49% 100%,36% 99.4%,23% 100%,10% 99.5%,0% 100%,.5% 83%,0% 68%,.5% 53%,0% 39%,.3% 22%);box-shadow:inset 0 0 2px rgba(0,0,0,.2)}.paper img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82)}.paper .paper-mark{position:absolute;left:13px;right:12px;bottom:6px;display:flex;justify-content:space-between;color:#39413d;font-size:7px;letter-spacing:.16em}.paper:nth-child(2n){aspect-ratio:4/3}.paper:nth-child(2n) .paper-inner{padding-bottom:21px}.paper:nth-child(3n){width:clamp(170px,17vw,265px)}.paper:nth-child(4n) .paper-inner{padding:11px 10px 24px}.hero-copy{position:absolute;left:8.3vw;bottom:10.5vh;z-index:6;pointer-events:none}.micro-line{font-size:8px;font-weight:700;letter-spacing:.22em;line-height:1.5;margin-bottom:27px}.hero-copy h2{font-size:clamp(42px,5.1vw,82px);line-height:.98;font-weight:500;letter-spacing:-.09em;margin:0}.hero-copy h2 em,.gallery-head h2 em,.about h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:500;letter-spacing:-.065em}.hero-copy p{font-size:12px;letter-spacing:.035em;margin:22px 0 0}.hero-meta{display:flex;gap:26px;font-size:8px;font-weight:700;letter-spacing:.22em;margin-top:26px}.right-note{position:absolute;right:7.2vw;top:27%;z-index:5;font-size:15px;line-height:1.13;text-align:right;letter-spacing:-.06em;font-weight:600;pointer-events:none}.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);bottom:46px;z-index:7;display:flex;align-items:center;gap:12px;font-size:8px;font-weight:700;letter-spacing:.18em;pointer-events:none}.scroll-line{height:1px;width:34px;background:var(--ink)}.active-caption{position:absolute;right:8vw;bottom:8vh;z-index:6;display:flex;gap:12px;align-items:center;font-size:8px;letter-spacing:.16em;font-weight:600;max-width:30vw}.active-caption strong{font-size:11px;letter-spacing:0}.active-caption .cap-num{opacity:.6}.scene-controls{position:absolute;right:8vw;bottom:12.2vh;z-index:7;display:flex;gap:8px}.scene-controls button{height:35px;width:35px;border:1px solid var(--line);border-radius:50%;background:rgba(244,255,252,.3);font-size:17px;color:var(--ink)}.scene-controls button:hover{background:var(--ink);color:#fff}.view-switch{position:fixed;right:3.4vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;padding:5px;border-radius:30px;background:rgba(247,249,244,.6);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.65);z-index:20;box-shadow:0 8px 35px rgba(20,62,66,.12)}.view-button{display:flex;align-items:center;gap:8px;min-width:92px;border:0;border-radius:24px;background:transparent;color:#394e50;padding:10px 12px;font-size:10px;font-weight:700;white-space:nowrap}.view-button.active{background:var(--ink);color:white}.view-icon{font-size:17px;line-height:10px;font-weight:400}.bottom-left,.bottom-right{position:fixed;bottom:24px;z-index:8;font-size:8px;font-weight:700;letter-spacing:.2em}.bottom-left{left:3.4vw}.bottom-right{right:3.4vw}.gallery{position:relative;z-index:5;min-height:100vh;padding:125px 9vw 55px;background:#f3f0e9}.gallery[hidden],.detail[hidden],.about[hidden]{display:none}.gallery-head{display:flex;align-items:end;gap:20px;border-bottom:1px solid #a6a8a2;padding-bottom:38px;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.22em}.gallery-head .eyebrow{align-self:start;margin-top:13px}.gallery-head h2{font-size:clamp(46px,6vw,96px);font-weight:500;line-height:1;letter-spacing:-.09em;margin:0 auto 0 6vw}.gallery-head p{font-size:11px;line-height:1.5;width:170px}.gallery-grid{columns:3;column-gap:17px}.gallery-card{display:block;position:relative;width:100%;margin:0 0 50px;border:0;padding:0;text-align:left;background:transparent;break-inside:avoid;color:var(--ink)}.gallery-card img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;filter:saturate(.85);transition:transform .45s,filter .45s}.gallery-card:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-card .g-meta{display:flex;justify-content:space-between;align-items:start;margin-top:12px;font-size:9px;letter-spacing:.12em}.gallery-card .g-meta strong{font-size:14px;letter-spacing:-.025em}.gallery-card .g-meta em{font-style:normal}.gallery-footer{border-top:1px solid #a6a8a2;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.15em}.gallery-footer button{border:0;background:transparent;font-size:9px;font-weight:700;letter-spacing:.15em}.detail,.about{position:fixed;inset:0;background:rgba(245,243,237,.97);z-index:50;overflow:auto}.detail-close{position:fixed;right:3.4vw;top:25px;z-index:60;background:none;border:1px solid var(--ink);border-radius:50%;width:44px;height:44px;font-size:30px;line-height:25px;color:var(--ink)}.detail-content{max-width:1180px;margin:0 auto;padding:115px 5vw 70px}.detail-head{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:42px}.detail-head h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(60px,8vw,130px);font-weight:500;line-height:.9;letter-spacing:-.06em;margin:20px 0 0}.detail-head p{font-size:15px;line-height:1.75;max-width:400px}.detail-images{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-images img{width:100%;display:block;object-fit:cover}.detail-images img:first-child{grid-column:span 2;max-height:75vh}.detail-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:9px;letter-spacing:.16em}.about{background:#dfebe7}.about-inner{max-width:760px;margin:14vh auto;padding:0 28px}.about h2{font-size:clamp(64px,8.7vw,126px);line-height:.96;letter-spacing:-.09em;font-weight:500;margin:26px 0 45px}.about p{max-width:510px;font-size:18px;line-height:1.75}.about-note{opacity:.65;font-size:12px!important}.about-inner button{margin-top:30px;padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--ink);font-size:11px;font-weight:700;letter-spacing:.17em}.intro{position:fixed;inset:0;z-index:100;background:#efece5;color:#343632;transition:opacity 1s,visibility 1s}.intro.exit{opacity:0;visibility:hidden;pointer-events:none}.intro-top,.intro-bottom{position:absolute;left:3.4vw;right:3.4vw;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:.2em}.intro-top{top:33px}.intro-bottom{bottom:29px}.intro-center{position:absolute;inset:8% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.sketch{width:min(750px,78vw);height:auto;max-height:46vh;overflow:visible}.sketch-line,.sketch-card{fill:none;stroke:#4c4b43;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:draw 2s ease forwards}.l2{animation-delay:.23s}.l3{animation-delay:.45s}.sketch-card{animation-delay:.55s;stroke-width:1.3}.s2{animation-delay:.74s}.s3{animation-delay:.92s}.s4{animation-delay:1.1s}.intro-copy{margin-top:-10px}.intro-copy h1{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:clamp(42px,5vw,72px);line-height:1;margin:16px 0 12px;letter-spacing:-.06em}.intro-copy p{font-size:12px;letter-spacing:.12em}.enter-button{margin-top:24px;display:flex;align-items:center;gap:55px;border:1px solid #454740;border-radius:40px;padding:15px 19px;background:transparent;color:#343632;font-size:10px;font-weight:700;letter-spacing:.17em;opacity:0;animation:show 1s 1.4s forwards;transition:background .3s,color .3s}.enter-button:hover{background:#343632;color:white}.enter-button .arrow{font-size:18px;line-height:0}@keyframes draw{to{stroke-dashoffset:0}}@keyframes show{to{opacity:1}}@keyframes amb{to{transform:translate(8vw,-4vw) scale(1.15)}}body.gallery-mode .app{background:#f3f0e9}body.gallery-mode .ambient,body.gallery-mode .immersive,body.gallery-mode .bottom-left,body.gallery-mode .bottom-right{display:none}body.gallery-mode .site-header{position:absolute}body.gallery-mode .view-switch{top:auto;bottom:20px;right:20px;transform:none;flex-direction:row}body.dialog-open{overflow:hidden}
@media(max-width:850px){.header-center,.right-note,.scroll-cue,.bottom-left,.bottom-right{display:none}.site-header{height:68px;padding:0 22px}.wordmark{font-size:17px}.immersive{min-height:580px}.hero-copy{left:7vw;bottom:12vh}.hero-copy h2{font-size:clamp(42px,11vw,74px)}.hero-copy p{max-width:230px;line-height:1.45}.active-caption{right:7vw;bottom:7vh;max-width:42vw;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.scene-controls{right:7vw;bottom:17vh}.view-switch{right:20px;top:80px;transform:none;flex-direction:row}.view-button{min-width:auto}.gallery{padding:135px 5vw 40px}.gallery-head{display:block}.gallery-head h2{margin:20px 0;font-size:clamp(60px,12vw,90px)}.gallery-head p{width:auto}.gallery-grid{columns:2}.detail-content{padding:100px 20px 40px}.detail-head{display:block}.detail-head h2{font-size:64px}.detail-head p{margin-top:25px}.about-inner{margin:20vh auto}.intro-center{inset:7% 5%}.intro-bottom span:last-child{display:none}}
@media(max-width:550px){.immersive{min-height:640px}.paper{width:53vw}.paper:nth-child(3n){width:48vw}.hero-copy{bottom:12vh}.hero-copy h2{font-size:11vw}.hero-meta{margin-top:16px}.active-caption{bottom:5vh;max-width:56vw}.scene-controls{bottom:15vh}.view-switch{top:72px;right:15px}.view-button{font-size:9px;padding:9px}.gallery-grid{columns:1}.gallery-card{margin-bottom:34px}.detail-images{gap:7px}.detail-head h2{font-size:58px}.about h2{font-size:17vw}.intro-copy h1{font-size:13vw}.intro-copy p{line-height:1.7}.sketch{width:100%;height:32vh}.intro-bottom{left:20px;right:20px}.intro-top{left:20px;right:20px}.intro-top span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.header-actions{display:flex;align-items:center;gap:28px}.studio-nav-button{border-bottom:1px solid var(--ink);padding:8px 0}.studio-nav-button[aria-pressed="true"]{color:#007f82;border-color:#007f82}.studio[hidden]{display:none}.studio{position:relative;z-index:5;min-height:100svh;padding:105px 3.4vw 45px;background:#f3f0e9}.studio-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}.studio-head h2{font-size:clamp(44px,5.7vw,82px);line-height:1;font-weight:500;letter-spacing:-.085em;margin:12px 0 10px}.studio-head h2 em,.studio-launch h3 em{font-family:"Playfair Display",Georgia,serif;font-weight:500}.studio-head p{font-size:12px;line-height:1.5;margin:0}.studio-actions button{border:0;border-bottom:1px solid var(--ink);background:none;padding:9px 0;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap}.studio-launch{display:grid;grid-template-columns:1fr 1fr;min-height:440px;border:1px solid var(--line);background:#e5ebe8}.studio-launch-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6vw}.studio-launch h3{font-size:clamp(52px,6vw,88px);line-height:.98;letter-spacing:-.09em;font-weight:500;margin:30px 0 20px}.studio-launch-copy p{max-width:400px;font-size:14px;line-height:1.8;margin:0 0 32px}.studio-launch-link{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-width:240px;padding:17px 20px;border-radius:50px;background:var(--ink);color:white;font-size:11px;font-weight:700;letter-spacing:.08em;transition:transform .25s,background .25s}.studio-launch-link:hover{transform:translateY(-3px);background:#006e73}.studio-launch-link span{font-size:18px;font-weight:400}.studio-launch-copy small{max-width:400px;margin-top:18px;color:var(--muted);font-size:10px;line-height:1.6}.studio-launch-visual{position:relative;overflow:hidden;min-height:440px;background:#a2c5c0}.studio-launch-visual img{position:absolute;width:43%;height:65%;object-fit:cover;box-shadow:15px 24px 32px rgba(16,39,40,.22);border:8px solid #f6f3ed}.studio-launch-visual img:first-child{left:15%;top:11%;transform:rotate(-8deg)}.studio-launch-visual img:nth-child(2){right:10%;top:23%;transform:rotate(8deg)}.studio-launch-visual span{position:absolute;right:7%;bottom:7%;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.22em;text-align:right}.studio-features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:33px}.studio-features>div{border-top:1px solid var(--line);padding-top:16px}.studio-features span{font-size:9px;font-weight:700;letter-spacing:.18em}.studio-features strong{display:block;font-size:20px;margin-top:17px}.studio-features p{font-size:11px;line-height:1.6;color:var(--muted)}body.studio-mode .app{background:#f3f0e9}body.studio-mode .ambient,body.studio-mode .bottom-left,body.studio-mode .bottom-right,body.studio-mode .view-switch{display:none}body.studio-mode .site-header{position:absolute}
@media(max-width:850px){.header-actions{gap:15px}.studio{padding:105px 20px 25px}.studio-head{display:block}.studio-actions{margin-top:20px}.studio-launch-copy{padding:40px}.studio-launch-visual{min-height:390px}}
@media(max-width:550px){.site-header{gap:10px}.wordmark{font-size:15px;white-space:nowrap}.header-actions{gap:10px}.header-actions .text-button{font-size:9px;letter-spacing:0}.header-actions .text-button span{margin-left:3px;font-size:12px}.studio{padding:100px 18px 28px}.studio-head h2{font-size:54px}.studio-head p{max-width:285px}.studio-launch{grid-template-columns:1fr}.studio-launch-copy{padding:36px 26px}.studio-launch h3{font-size:58px;margin:24px 0 18px}.studio-launch-visual{min-height:290px}.studio-features{grid-template-columns:1fr;gap:14px}.studio-features strong{margin-top:10px}}
.detail-studio{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:0 0 5px;color:var(--ink);font-size:9px;font-weight:700;letter-spacing:.12em}@media(max-width:550px){.detail-bottom{flex-wrap:wrap;gap:16px}.detail-studio{order:3}}
.category-jump{display:inline-block;margin-top:24px;padding:9px 0;border-bottom:1px solid var(--ink);font-size:11px;font-weight:700;letter-spacing:.08em;pointer-events:auto}
.categories{position:relative;z-index:5;min-height:100vh;padding:108px 5vw 100px;background:#f3f0e9;scroll-margin-top:0}
.categories[hidden]{display:none}
.categories-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:34px;margin-bottom:28px}
.categories-heading h2{font-size:clamp(44px,5.6vw,82px);font-weight:500;line-height:1.06;letter-spacing:-.08em;margin:18px 0 0}
.categories-heading h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:500}
.categories-heading p{max-width:220px;font-size:12px;line-height:1.6;margin:0}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.category-card{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:transparent;text-align:left;color:var(--ink)}
.category-image{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#d5dcd7}
.category-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .45s,filter .45s}
.category-card:hover .category-image img,.category-card:focus-visible .category-image img{transform:scale(1.05);filter:saturate(1)}
.category-card:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.category-info{display:block;margin-top:13px;width:100%}
.category-number{display:block;font-size:8px;font-weight:700;letter-spacing:.18em;opacity:.65;margin-bottom:8px}
.category-info strong{font-size:clamp(18px,1.8vw,26px);font-weight:600;letter-spacing:-.05em}
.category-count{display:block;font-size:9px;white-space:nowrap;margin-top:5px}
.category-count span{font-size:17px;margin-left:7px}
.category-english{font-size:8px;font-weight:700;letter-spacing:.13em;margin-top:5px;opacity:.6}
.category-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:radial-gradient(circle at 25% 20%,#d6e9e4,transparent 48%),linear-gradient(145deg,#d9ddd8,#b8c9c7);color:#274247;font-size:clamp(19px,2vw,28px);font-weight:700;letter-spacing:-.07em}
.category-placeholder span{font-weight:400}.category-placeholder small{font-size:8px;letter-spacing:.25em;margin-top:25px;font-weight:700}
.gallery-empty{grid-column:1/-1;min-height:45vh;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);background:#e9eeea;text-align:center}
.gallery-empty p{font-size:clamp(32px,5vw,60px);letter-spacing:-.06em;margin:20px 0 8px}.gallery-empty>span:last-child{font-size:12px;color:var(--muted)}
.gallery-intro{display:flex;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch;justify-content:space-between;min-width:110px}
.gallery-back{padding:0 0 5px;border:0;border-bottom:1px solid var(--ink);background:none;color:var(--ink);font-size:10px;font-weight:700;white-space:nowrap}
.gallery-head h2{overflow-wrap:anywhere}
body.gallery-mode .categories,body.studio-mode .categories{display:none}
@media(max-width:850px){.categories{padding:100px 5vw 70px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-intro{gap:12px}.gallery-head .eyebrow{margin-top:0}}
@media(max-width:550px){.categories{padding:90px 20px 60px}.categories-heading{display:block}.categories-heading h2{font-size:44px}.categories-heading p{margin-top:16px}.category-grid{gap:25px 12px}.category-info{display:block}.category-info strong{display:block;font-size:19px}.category-count{display:block;margin-top:5px}.category-english{line-height:1.5}.gallery-head h2{font-size:52px}.category-jump{margin-top:18px}}
