:root{--paper:#f7f6f2;--ink:#30322c;--muted:#76786e;--line:#d9d9ce;--olive:#535c43;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0;background:none;padding:0}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--olive);outline-offset:6px}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h2,h3{font-weight:400}h2{font:clamp(40px,4.8vw,76px)/1.05 var(--serif);letter-spacing:-.02em}em{font-weight:400}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.15em;line-height:1.5}.section-wrap{padding-inline:6.7%}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--ink);color:white}.skip:focus{top:48px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding-inline:4.5%;position:absolute;top:42px;left:0;right:0;z-index:3}.wordmark{font:italic 37px/1 var(--serif);letter-spacing:-2px}.wordmark span{font:11px var(--sans);letter-spacing:0;margin-left:6px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:12px}.site-header nav a{padding:10px 0}.site-header nav span{font-size:8px;vertical-align:super;margin-left:4px;color:var(--muted)}.site-header i{display:inline-block;width:5px;height:5px;background:var(--olive);border-radius:50%;vertical-align:middle;margin-left:5px}.site-header a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{min-height:720px;height:calc(100svh - 42px);max-height:1150px;position:relative;overflow:hidden;isolation:isolate}.hero-title{position:absolute;top:46%;left:50%;width:100%;text-align:center;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.hero-title .eyebrow{font-size:9px;letter-spacing:.23em}.hero h1{font-size:clamp(95px,11vw,174px);font-weight:400;line-height:1.25;letter-spacing:-.07em;padding-right:.06em}.handwritten{font:italic 30px/1.2 var(--serif);color:var(--olive)}.floating-gallery{position:absolute;inset:110px 9% 105px}.floating{position:absolute;--drift:0px;transform:translateY(var(--drift));transition:filter .4s;animation:arrive 1.5s both cubic-bezier(.2,.7,.2,1);animation-delay:var(--delay,0s);z-index:2}.floating img{width:100%;height:100%;object-fit:cover;box-shadow:0 16px 24px -13px #39322260,0 2px 4px #39322212;transition:transform .6s,box-shadow .6s}.floating:hover img,.floating:focus-visible img{transform:translateY(-8px) rotate(-1deg);box-shadow:0 25px 30px -14px #39322260}.floating span{position:absolute;left:0;top:calc(100% + 14px);font-size:10px;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s;transform:translateY(5px);background:var(--paper)}.f1{width:13%;left:15%;top:7%;--delay:.1s}.f2{width:9%;left:47%;top:0;--delay:.3s}.f3{width:12%;right:8%;top:9%;--delay:.15s}.f4{width:9.5%;left:4%;bottom:18%;--delay:.4s}.f5{width:12%;left:25%;bottom:0;--delay:.2s}.f6{width:12%;right:17%;bottom:0;--delay:.35s}.f2 img{aspect-ratio:1/1.15}.f3 img{aspect-ratio:1/1.15}.f4 img{aspect-ratio:1/1.25}.f6 img{aspect-ratio:1.15}.hero-bottom{position:absolute;bottom:31px;left:4.5%;right:4.5%;display:flex;align-items:flex-end;justify-content:space-between;font-size:10px;color:var(--muted)}.hero-bottom>p:last-child{text-align:right}.hero-bottom>a{font-size:11px;color:var(--ink);padding-bottom:2px}.hero-bottom>a span{margin-left:22px;display:inline-block;animation:down 2.8s infinite}.hero-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}
.works{padding-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:85px;border-top:1px solid var(--line);padding-top:32px}.section-heading h2{margin-top:40px}.section-note{font-size:12px;color:var(--muted);padding-bottom:4px}.paintings{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:30px;row-gap:110px;align-items:start}.painting .artwork{display:block;width:100%;position:relative}.artwork img{width:100%;transition:filter .5s;box-shadow:0 8px 20px -17px #31312466}.artwork span{position:absolute;bottom:20px;left:50%;transform:translate(-50%,10px);opacity:0;transition:.35s;background:var(--paper);padding:10px 16px;border-radius:2px;font-size:11px;white-space:nowrap}.artwork:hover span,.artwork:focus-visible span{opacity:1;transform:translate(-50%,0)}.artwork:hover img{filter:brightness(.96)}.painting figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px}.painting h3{font:23px/1.2 var(--serif)}.painting figcaption p{font-size:10px;color:var(--muted);margin-top:6px}.enquire-link{font-size:10px;white-space:nowrap;border-bottom:1px solid var(--line)}.enquire-link:hover{border-color:var(--ink)}.p1{grid-column:1/7;grid-row:1/3}.p2{grid-column:9/13;margin-top:90px}.p3{grid-column:8/12;grid-row:2;margin-top:30px}.p4{grid-column:2/6;grid-row:3;margin-top:40px}.p5{grid-column:8/13;grid-row:3/5;margin-top:160px}.p6{grid-column:1/5;grid-row:4;margin-top:45px}.gallery-end{display:flex;justify-content:space-between;margin-top:95px;padding-block:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.gallery-end a{color:var(--ink)}
.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;padding-top:160px;padding-bottom:180px}.about-art{position:relative;width:83%;margin-left:10%;transform:rotate(-3deg)}.about-art img{box-shadow:0 18px 40px -20px #35312260}.art-note{font:italic 25px/1.1 var(--serif);display:block;margin:24px 0 0 14px;transform:rotate(1deg);color:var(--olive)}.about-copy h2{margin:30px 0 32px;font-size:clamp(45px,4.7vw,72px)}.about-copy>p:not(.eyebrow){max-width:380px;margin-bottom:18px;font-size:13px;color:#616459}.signature{font:italic 47px/1 var(--serif);display:block;transform:rotate(-6deg);margin-block:35px 25px}.about-copy .concept-note,.concept-note{font-size:10px!important;color:var(--muted);line-height:1.7}
.visit{min-height:850px;padding:100px 10%;position:relative;display:flex;align-items:center;justify-content:space-between;gap:60px;isolation:isolate;color:#f7f6f2}.visit:after{content:'';position:absolute;inset:0;background:#292a1f60;z-index:-1}.visit-background{position:absolute;z-index:-2;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 48%;filter:brightness(.75)}.visit-heading h2{font-size:clamp(65px,7vw,115px);margin-top:25px}.ticket{width:390px;max-width:100%;flex-shrink:0;background:var(--paper);color:var(--ink);transform:rotate(3deg);box-shadow:0 15px 50px #0003;position:relative}.ticket-stub{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.07em;padding:24px 26px;border-bottom:1px dashed #c7c6b8;position:relative}.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;bottom:-7px;width:14px;height:14px;background:#414434;border-radius:50%}.ticket-stub:before{left:-7px}.ticket-stub:after{right:-7px}.ticket-body{padding:32px}.ticket h3{font:49px/1 var(--serif);margin-top:22px;letter-spacing:-.02em}.ticket dl{margin:34px 0}.ticket dl div{display:grid;grid-template-columns:60px 1fr;margin-top:20px;font-size:12px}.ticket dt{color:var(--muted)}.ticket dd{margin:0}.text-button{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:13px}.ticket .text-button{width:100%}.text-button:hover{color:var(--olive)}.ticket-fine{font-size:9px;color:var(--muted);margin-top:15px}.site-footer{padding-top:65px;padding-bottom:65px;display:flex;justify-content:space-between;align-items:flex-end;gap:35px;font-size:11px}.footer-name{font:52px/1 var(--sans);letter-spacing:-3px}.footer-name span{display:block;font:italic 18px/1.5 var(--serif);letter-spacing:0;margin-top:10px}.site-footer p{color:var(--muted);font-size:9px;margin-top:7px}
dialog{color:var(--ink);border:0;background:var(--paper);padding:0;width:min(1160px,94vw);max-width:none;max-height:calc(100svh - 80px);overscroll-behavior:contain}dialog::backdrop{background:#22251ddb;backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .3s ease}.detail-top{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.06em;position:sticky;top:0;background:var(--paper);z-index:4}.close-button{display:flex;align-items:center;gap:17px;font-size:11px;letter-spacing:0;min-height:30px}.close-button span{font-size:25px;line-height:1}.detail-layout{display:grid;grid-template-columns:55% 45%}.detail-stage{padding:45px;display:flex;justify-content:center;align-items:center;min-height:590px;position:relative;overflow:hidden;isolation:isolate;transition:background .5s;background:#ecebe4}.detail-stage>img{width:auto;height:auto;max-height:calc(100svh - 245px);max-width:100%;object-fit:contain;transition:transform .6s,box-shadow .6s;box-shadow:0 4px 10px #39322216}.detail-stage.on-wall{background:var(--wall,#e9e6dd)}.detail-stage.on-wall>img{transform:translateY(-20px) scale(.66);box-shadow:2px 3px 0 #60543b,6px 10px 15px #39322240,12px 22px 30px #39322225}.wall-floor{position:absolute;bottom:0;left:0;right:0;height:15%;z-index:-1;background:linear-gradient(#b6a68c,#d1c2a9);border-top:8px solid #f9f7ec;opacity:0;transition:opacity .4s}.on-wall .wall-floor{opacity:1}.detail-copy{padding:55px 40px 30px;display:flex;flex-direction:column;align-items:flex-start}.detail-copy h2{font-size:50px;margin:22px 0 13px;max-width:320px}.detail-meta{font-size:11px;color:var(--muted)}#detail-description{font:23px/1.35 var(--serif);margin:32px 0;color:#666b5b;max-width:350px}.detail-copy .text-button{width:100%;margin-top:4px}.wall-options{align-items:center;gap:10px;margin-top:17px;width:100%;font-size:10px}.wall-options:not([hidden]){display:flex}.wall-options small{margin-left:auto;font-size:8px;color:var(--muted)}.swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--paper);outline:1px solid transparent}.swatch[aria-pressed=true]{outline-color:var(--ink)}.chalk{background:#e9e6dd}.sand{background:#d4c3a8}.sage{background:#a7afa0}.enquiry{width:100%;margin-top:28px;font-size:11px}.enquiry summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.enquiry summary::-webkit-details-marker{display:none}.enquiry summary span{font-size:20px}.enquiry[open] summary span{transform:rotate(45deg)}.enquiry p{margin-top:14px}.detail-navigation{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:40px;font-size:11px}.detail-navigation button{padding:8px 0}.detail-copy>.concept-note{margin-top:20px;font-size:8px!important}
#visit-dialog{width:min(570px,94vw)}.visit-dialog-content{padding:45px}.visit-dialog-content h2{font-size:51px;margin:22px 0 35px}#visit-form>label{display:block;font-size:11px;margin-bottom:9px}select{width:100%;border:1px solid #cacdbf;background:transparent;color:var(--ink);padding:14px;font:12px var(--sans);border-radius:0}fieldset{border:0;margin:26px 0;padding:0;display:flex;gap:12px}legend{font-size:11px;margin-bottom:12px}fieldset label{flex:1;position:relative}fieldset input{position:absolute;opacity:0}fieldset span{display:block;text-align:center;border:1px solid #cacdbf;padding:10px;font-size:12px;cursor:pointer}fieldset input:checked+span{background:var(--olive);color:white;border-color:var(--olive)}fieldset input:focus-visible+span{outline:2px solid var(--ink);outline-offset:4px}.solid-button{display:block;width:100%;background:var(--ink);color:var(--paper);padding:16px;font-size:12px}.solid-button:hover{background:var(--olive)}#visit-form .concept-note{margin-top:15px}#visit-confirmation>p{font-size:12px;margin:24px 0 12px}.mini-ticket{padding:30px;background:#e9e9df;border-top:1px dashed var(--muted);border-bottom:1px dashed var(--muted)}.mini-ticket>span{font-size:8px;letter-spacing:.08em}.mini-ticket h3{font:42px/1 var(--serif);margin:25px 0}.mini-ticket p{font-size:12px;margin-bottom:8px}.mini-ticket>span:last-child{display:block;margin-top:25px;font-size:7px}
.f6 img{object-position:center 25%}
.f7{width:14%;right:0;top:46%;--delay:.45s}.p7{grid-column:3/11;grid-row:5;margin-top:50px}
@media(max-width:1000px){.f7{width:15%;right:0;top:47%}}
@keyframes arrive{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}@keyframes down{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.floating-gallery{inset:130px 15% 130px}.hero h1{font-size:190px}.section-wrap{padding-inline:max(8%,calc((100vw - 1550px)/2))}.paintings{column-gap:60px;row-gap:130px}.about{gap:12%}}
@media(max-width:1000px){.hero{min-height:700px;max-height:900px}.floating-gallery{inset:120px 3% 115px}.f1{width:15%;left:11%;top:8%}.f2{width:11%;left:46%;top:0}.f3{width:14%;right:6%;top:11%}.f4{width:12%;left:2%;bottom:15%}.f5{width:15%;left:26%;bottom:0}.f6{width:15%;right:14%;bottom:3%}.section-wrap{padding-inline:6%}.section-heading h2{font-size:52px}.section-note{font-size:10px}.paintings{column-gap:22px;row-gap:70px}.painting figcaption{display:block}.enquire-link{margin-top:10px}.painting h3{font-size:22px}.about{gap:8%;padding-top:100px;padding-bottom:120px}.about-art{width:95%;margin:0}.about-copy h2{font-size:50px}.visit{padding:80px 6%;min-height:720px;gap:30px}.ticket{width:330px}.ticket-body{padding:27px}.ticket h3{font-size:43px}.site-footer{flex-wrap:wrap}.detail-stage{min-height:550px;padding:28px}.detail-copy{padding:35px 26px 25px}.detail-copy h2{font-size:42px}.detail-stage>img{max-height:calc(100svh - 210px)}.wall-options{flex-wrap:wrap}.wall-options small{flex-basis:100%;margin-top:3px}.detail-copy>.eyebrow{font-size:8px}}
@media(max-width:600px){.site-header{height:75px;padding-inline:6%}.site-header nav{gap:18px;font-size:10px}.wordmark{font-size:31px}.wordmark span{display:none}.hero{height:calc(100svh - 42px);min-height:640px;max-height:900px}.hero-title{top:45%}.hero h1{font-size:108px}.hero-title .eyebrow{font-size:7px;letter-spacing:.17em}.handwritten{font-size:25px}.floating-gallery{inset:105px 6% 135px}.f1{width:23%;left:7%;top:5%}.f2{width:17%;left:47%;top:0}.f3{width:19%;right:0;top:19%}.f4{width:19%;left:0;bottom:17%}.f5{width:24%;left:25%;bottom:0}.f6{width:25%;right:2%;bottom:7%}.floating span{display:none}.hero-bottom{left:6%;right:6%;bottom:28px;font-size:8px}.hero-bottom>a{position:absolute;bottom:63px;width:100%;text-align:center;font-size:10px}.hero-bottom>a span{margin-left:10px}.works{padding-top:65px}.section-heading{padding-top:24px;padding-bottom:45px;display:block}.section-heading h2{font-size:39px;margin-top:25px}.section-note{margin-top:24px;font-size:11px}.paintings{grid-template-columns:repeat(6,minmax(0,1fr));gap:45px 20px}.p1{grid-column:1/6;grid-row:auto}.p2{grid-column:3/7;grid-row:auto;margin-top:0}.p3{grid-column:1/5;grid-row:auto;margin-top:0}.p4{grid-column:3/7;grid-row:auto;margin-top:0}.p5{grid-column:1/6;grid-row:auto;margin-top:0}.p6{grid-column:3/7;grid-row:auto;margin-top:0}.painting h3{font-size:23px}.painting figcaption p{font-size:9px}.painting figcaption{margin-top:14px}.enquire-link{font-size:10px;margin-top:7px}.gallery-end{margin-top:50px;font-size:9px;gap:18px}.about{grid-template-columns:1fr;padding-top:75px;padding-bottom:85px;gap:70px}.about-art{width:62%;margin-left:10%}.art-note{font-size:22px}.about-copy{padding-left:9%}.about-copy h2{font-size:54px}.about-copy>p:not(.eyebrow){font-size:12px}.about-copy>.concept-note{font-size:9px!important}.visit{display:block;padding:65px 8% 70px;min-height:0}.visit-heading h2{font-size:76px;margin-top:20px}.ticket{width:100%;max-width:345px;transform:rotate(2deg);margin:55px auto 0}.ticket h3{font-size:47px}.ticket-body{padding:28px}.site-footer{display:grid;grid-template-columns:1fr;gap:30px;padding-block:45px}.footer-name{font-size:45px}.detail-layout{grid-template-columns:1fr}.detail-stage{min-height:0;padding:25px;height:46svh}.detail-stage>img{max-height:100%;width:auto;max-width:90%}.detail-copy{padding:28px}.detail-copy h2{font-size:43px;margin-top:18px;max-width:none}#detail-description{font-size:24px;margin:24px 0}.detail-navigation{padding-top:25px}.detail-top{padding:12px 20px}.wall-options small{flex-basis:auto;margin:0 0 0 auto}.visit-dialog-content{padding:30px 25px}.visit-dialog-content h2{font-size:44px}dialog{max-height:calc(100svh - 65px)}.mini-ticket{padding:25px}.floating:focus-visible{outline-offset:3px}}
@media(max-width:360px){.site-header nav{gap:13px}.hero{min-height:600px}.hero h1{font-size:94px}.section-heading h2{font-size:34px}.about-copy h2{font-size:47px}.ticket-stub{padding-inline:18px}.ticket-body{padding:24px}.ticket h3{font-size:42px}.ticket .eyebrow{font-size:8px}.wall-options{gap:8px}.wall-options small{font-size:7px}}
@media(max-width:600px){.f7{width:25%;right:0;top:1%}.p7{grid-column:1/7;grid-row:auto;margin-top:0}}

html[lang=vi]{--serif:'Literata',Georgia,serif}html[lang=vi] h2{font-size:clamp(32px,4.1vw,62px);line-height:1.23}html[lang=vi] .hero-title .eyebrow{letter-spacing:.13em}html[lang=vi] .about-copy h2{font-size:clamp(32px,3.6vw,55px)}html[lang=vi] .visit-heading h2{font-size:clamp(46px,5.3vw,86px)}html[lang=vi] .ticket h3{font-size:38px;line-height:1.25}html[lang=vi] .detail-copy h2{font-size:40px}html[lang=vi] .visit-dialog-content h2{font-size:39px}html[lang=vi] .mini-ticket h3{font-size:32px;line-height:1.3}html[lang=vi] .painting h3{font-size:20px;line-height:1.4}html[lang=vi] .enquire-link{font-size:10px}
@media(max-width:600px){html[lang=vi] .hero-title .eyebrow{font-size:7px;letter-spacing:.09em}html[lang=vi] .handwritten{font-size:23px}html[lang=vi] .section-heading h2{font-size:32px}html[lang=vi] .about-copy h2{font-size:34px}html[lang=vi] .about-copy{padding-left:3%}html[lang=vi] .visit-heading h2{font-size:48px}html[lang=vi] .ticket h3{font-size:33px}html[lang=vi] .detail-copy h2{font-size:32px}html[lang=vi] .visit-dialog-content h2{font-size:30px}html[lang=vi] .mini-ticket h3{font-size:29px}html[lang=vi] .site-header nav{gap:17px}}
@media(max-width:360px){html[lang=vi] .section-heading h2{font-size:28px}html[lang=vi] .about-copy h2{font-size:30px}html[lang=vi] .ticket h3{font-size:28px}html[lang=vi] .visit-dialog-content h2{font-size:27px}html[lang=vi] .mini-ticket h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.floating{transform:none!important}}

@media(min-width:1001px) and (max-height:1000px){.f2{width:8.5%;top:-3%}}
