@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#1a1b17;--paper:#f2efe8;--gold:#d5b480;--muted:#b9b7ac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a77a39;outline-offset:5px}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff21}.wordmark{font-family:'Playfair Display',serif;letter-spacing:6px;font-size:28px;line-height:1.2;color:var(--gold)}.wordmark span{display:block;font-family:'Manrope',sans-serif;font-size:8px;letter-spacing:4px;text-align:center;margin-top:5px}nav{display:flex;gap:32px;font-size:11px}nav a:hover,.text-link:hover{color:#a77a39}.nav-cta{font-size:11px;border-bottom:1px solid var(--gold);padding:9px 0}.nav-cta span{margin-left:25px}.hero{min-height:720px;height:calc(100svh - 92px);max-height:1000px;position:relative;background:#20231d;color:var(--paper);overflow:hidden}.hero-image{position:absolute;inset:0 0 0 38%;background:url('assets/hero.jpg') center 48%/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171b17 4%,#171b17f2 26%,#171b1770 57%,#171b170a 100%),linear-gradient(0deg,#171b17bd,transparent 24%)}.hero-content{position:relative;z-index:1;padding:90px 7%}.eyebrow{font-size:9px;letter-spacing:2.6px;font-weight:500;margin:0 0 28px;color:#8b713e}.hero .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.02}h1{font-size:clamp(80px,8.5vw,138px);letter-spacing:-3px;margin-bottom:28px}em{font-weight:400;color:#b79967}h1 em{color:#e3c795}h2{font-size:clamp(42px,4.5vw,72px);letter-spacing:-1.3px;margin-bottom:28px}h3{font-size:32px;margin-bottom:12px}.intro{color:#dfdfd5;font-size:13px;line-height:2}.button{display:inline-flex;justify-content:space-between;gap:34px;align-items:center;padding:17px 24px;border:1px solid transparent;font-size:11px;line-height:1.6;transition:background .2s}.gold{background:var(--gold);color:#1a1b17}.gold:hover{background:#ead0a8}.hero .button{margin-top:15px}.hero-note{font-size:8px;letter-spacing:1.8px;color:#b9b7ac;margin-top:25px}.hero-bottom{position:absolute;z-index:1;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px}.hero-bottom a span{margin-left:20px}.section{padding:105px 7%}.story{display:grid;grid-template-columns:1fr 2.3fr;border-bottom:1px solid #d9d4ca}.story>div{max-width:850px}.story p:not(.eyebrow){max-width:610px;color:#65665d}.text-link{display:inline-block;border:0;border-bottom:1px solid #b79967;padding:10px 0;background:transparent;font-size:11px}.text-link span{margin-left:28px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.section-head h2{margin:0}.section-head>p{max-width:280px;font-size:12px;color:#65665d}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.photo-card{padding:0;background:none;border:0;color:inherit;text-align:left;min-width:0}.photo-card:nth-child(2){margin-top:55px}.photo-wrap{position:relative;overflow:hidden;height:440px}.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-card:hover img{transform:scale(1.04)}.round{position:absolute;bottom:18px;right:18px;border:1px solid #fff8;color:#fff;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0003}.card-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#82745b;margin:20px 0 14px}.photo-card p{color:#66675e;font-size:11px}.caption{font-size:9px;color:#797970;margin-top:28px}.fashion{display:grid;grid-template-columns:1fr 1fr;background:#232720;color:var(--paper)}.fashion-image{min-height:660px}.fashion-image img{width:100%;height:100%;max-height:800px;object-fit:cover}.fashion-copy{padding:85px 15%}.fashion-copy .eyebrow{color:var(--gold)}.fashion-copy p:not(.eyebrow){color:#c2c3b6;font-size:12px}.fashion-copy .text-link{margin-top:15px;color:var(--gold)}.journey{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left;margin-top:65px}.steps article{border-top:1px solid #c7c2b6;padding-top:22px}.steps span{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#977a48}.steps h3{margin-top:20px}.steps p{font-size:12px;color:#6b6b62}.planner{background:#e5e0d5;display:grid;grid-template-columns:1fr 1fr;gap:12%}.planner>div>p:last-child{font-size:12px;max-width:320px;color:#64665d}form{padding-top:10px}label{display:block;font-size:9px;letter-spacing:1.4px;margin-bottom:15px}select,textarea{width:100%;padding:15px 0;border:0;border-bottom:1px solid #aaa698;border-radius:0;background:transparent;color:#252820;margin-bottom:28px;font-size:12px}textarea{resize:vertical}select{cursor:pointer}form .button{width:100%;background:var(--ink);color:var(--gold)}.form-note{font-size:9px;color:#66675e;margin:16px 0}#brief-result{border-top:1px solid #bbb5a9;padding-top:25px;margin-top:25px}#copy-status{font-size:11px}footer{background:#131411;color:var(--paper);padding:40px 7% 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-main img{width:220px;height:125px;object-fit:cover}.footer-main p{font-family:'Playfair Display',serif;font-size:25px;line-height:1.4;color:#c3baa7}.footer-main a{font-size:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff21;padding-top:20px;margin-top:20px;font-size:8px;letter-spacing:1px;color:#aba99d}dialog{padding:0;border:0;width:min(850px,90vw);max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#000c}dialog[open]{display:grid;grid-template-columns:1.2fr 1fr}dialog>img{width:100%;height:75svh;object-fit:cover}dialog>div{padding:60px 25px;align-self:center}#close-viewer{position:absolute;right:12px;top:10px;border:0;width:40px;height:40px;font-size:28px;background:var(--paper);color:var(--ink)}@media(min-width:1600px){.hero-content{padding-top:130px}}@media(max-width:900px){nav{gap:16px}.hero-content{padding-top:90px}.photo-wrap{height:340px}.fashion-copy{padding:60px 10%}.fashion-image{min-height:570px}.section{padding:75px 6%}.gallery{gap:16px}.planner{gap:6%}}@media(max-width:650px){header{height:77px;padding:0 6%}nav{display:none}.wordmark{font-size:23px}.hero{min-height:670px;height:calc(100svh - 77px)}.hero-image{left:0;background-position:60% center}.hero:after{background:linear-gradient(90deg,#171b17df,#171b174d),linear-gradient(0deg,#171b17a8,transparent)}.hero-content{padding:80px 7% 70px}.hero h1{font-size:85px}.eyebrow{font-size:8px;letter-spacing:1.7px}.intro{font-size:12px}.hero-bottom span:last-child{display:none}.hero-note{font-size:7px}.story{display:block}.story>.eyebrow{margin-bottom:32px}.story p:not(.eyebrow){font-size:12px}.section-head{display:block}.section-head>p{margin:24px 0 0;max-width:100%}.gallery{grid-template-columns:1fr;gap:38px}.photo-card:nth-child(2){margin:0}.photo-wrap{height:460px}.photo-card h3{font-size:35px}.fashion{grid-template-columns:1fr}.fashion-image{height:400px;min-height:0}.fashion-copy{padding:60px 7%}.fashion-copy h2 br:nth-child(2){display:none}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.planner{grid-template-columns:1fr;gap:35px}.planner h2 br{display:none}.planner h2 br:after{content:' '}.footer-main{flex-wrap:wrap;gap:20px}.footer-main img{width:180px;height:105px}.footer-main p{font-size:22px}.footer-bottom{display:block;font-size:7px}.footer-bottom span{display:block;margin-top:8px}dialog[open]{display:block}dialog>img{height:48svh}dialog>div{padding:25px}dialog h3{font-size:30px}dialog .eyebrow{margin-bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Refined editorial typography with Vietnamese support. */
body{font-size:15px;line-height:1.85;font-weight:400}
h1,h2,h3{font-weight:400;line-height:1.22;font-synthesis:none}
h1{font-size:clamp(68px,7.3vw,112px);letter-spacing:-2px;line-height:1.18}
h2{font-size:clamp(38px,3.8vw,60px);letter-spacing:-1px;line-height:1.28}
h3{font-size:27px;letter-spacing:-.5px;line-height:1.35}
em{font-style:normal;font-weight:inherit}
.wordmark{font-size:25px;letter-spacing:5px;line-height:1.5}
.wordmark span{font-size:9px;letter-spacing:3.5px}
nav,.nav-cta{font-size:12px;font-weight:500}
.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;line-height:1.8}
.intro{font-size:15px;line-height:1.9}
.button,.text-link{font-size:12px;font-weight:600;letter-spacing:.2px}
.hero-note{font-size:9px;letter-spacing:1.2px}
.story p:not(.eyebrow),.section-head>p,.fashion-copy p:not(.eyebrow),.steps p,.planner>div>p{font-size:14px;line-height:1.9}
.photo-card p{font-size:13px}.card-meta{font-size:10px;letter-spacing:.6px}
.caption,.form-note{font-size:11px;line-height:1.8}label{font-size:11px;letter-spacing:1px;font-weight:600}
select,textarea{font-size:14px;line-height:1.8}.steps span{font-family:'Manrope',sans-serif;font-style:normal;font-size:16px}
.footer-main p{font-size:23px;line-height:1.6}.footer-main a{font-size:12px}.footer-bottom{font-size:9px}
@media(max-width:650px){.hero h1{font-size:clamp(54px,14vw,78px);letter-spacing:-1.5px;line-height:1.25}.hero-content{padding-top:88px}.intro{font-size:14px}.eyebrow{font-size:9px;letter-spacing:1.2px}.hero-note{font-size:8px;letter-spacing:.6px}.wordmark{font-size:22px}.photo-card h3{font-size:29px}.planner h2 br{display:initial}.footer-main p{font-size:21px}dialog h3{font-size:28px}}
/* Rental guide, pricing and guest information */
.skip-link{position:fixed;left:16px;top:-100px;z-index:50;background:var(--paper);padding:12px 20px}.skip-link:focus{top:10px}header{position:relative;z-index:20}.menu-toggle{display:none}.hero-actions{display:flex;align-items:center;gap:25px}.hero-secondary{font-size:12px;margin-top:15px}.studio-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 7%;gap:30px;border-bottom:1px solid #d9d4ca;font-size:12px}.studio-facts b{display:block;font-size:9px;letter-spacing:1.5px;color:#806b43;margin-bottom:8px}.pricing{background:#e9e3d8}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.price-card{background:#f5f1e9;padding:30px;display:flex;flex-direction:column;border:1px solid #cfc5b5}.price-card:nth-child(2){background:#252a23;color:var(--paper);border-color:#252a23}.price-top{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1px;color:#8a744c;margin-bottom:30px}.price-card:nth-child(2) .price-top{color:var(--gold)}.price-card h3{font-family:'Manrope',sans-serif;letter-spacing:1.5px;font-size:19px;font-weight:500}.package-desc{font-size:13px;line-height:1.85;min-height:96px;opacity:.8}.price{font-family:'Playfair Display',serif;font-size:clamp(30px,3.2vw,48px);line-height:1.3;letter-spacing:-1.2px;margin:20px 0 4px;white-space:nowrap}.price>span{font-family:'Manrope',sans-serif;font-size:16px;margin-left:5px;letter-spacing:0}.price-period{font-size:12px;opacity:.7}.package-line{border-top:1px solid #a99d8555;padding-top:22px;margin:10px 0 25px;font-size:12px}.package-pick{width:100%;background:var(--ink);color:var(--paper);margin-top:auto;gap:10px}.price-card:nth-child(2) .package-pick{background:var(--gold);color:var(--ink)}.package-pick:hover{background:#4a4b3e}.price-card:nth-child(2) .package-pick:hover{background:#e4c89d}.price-note{display:grid;grid-template-columns:2fr 1fr;gap:50px;margin-top:30px;font-size:12px;color:#625d52}.price-note a{text-decoration:underline;text-underline-offset:4px}.service-note{border-top:1px solid #ffffff30;padding-top:20px}.booking-steps{grid-template-columns:repeat(4,1fr);gap:30px}.booking-steps h3{font-size:24px}.policy{background:#232720;color:var(--paper);display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.policy>div>p:not(.eyebrow){font-size:13px;color:#c2c3b6;max-width:310px}.policy .eyebrow,.policy .text-link{color:var(--gold)}details{border-bottom:1px solid #a6a08e66}summary{position:relative;cursor:pointer;padding:22px 35px 22px 0;font-size:14px;font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:18px;font-size:23px;font-weight:400;color:#a28a5c}details[open]>summary:after{content:'−'}details>p{font-size:13px;line-height:1.9;padding-right:20px}.policy details>p{color:#c2c3b6}.faq-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:55px;align-items:start}.faq-grid p{color:#66675e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input{width:100%;padding:14px 0;border:0;border-bottom:1px solid #aaa698;border-radius:0;background:transparent;color:#252820;margin-bottom:28px;font-size:14px;min-width:0}input:focus-visible,summary:focus-visible{outline:2px solid #a77a39;outline-offset:4px}.form-row>div{min-width:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f5f1e9}.contact-address{font-size:20px;line-height:1.7}.contact>div>p:not(.eyebrow):not(.contact-address){font-size:13px;color:#6a6b60}.contact-links{align-self:center}.contact-links>a{display:block;position:relative;border-bottom:1px solid #c9c1b3;padding:24px 35px 24px 0}.contact-links span{display:block;font-size:9px;letter-spacing:1.5px;color:#806b43}.contact-links strong{font-size:22px;font-weight:400}.contact-links b{position:absolute;right:0;top:40px;font-weight:400}.privacy{padding-top:0;padding-bottom:55px;background:#f5f1e9}.privacy summary{font-size:12px}.privacy p{max-width:900px;color:#67675e;font-size:12px}.footer-nav{display:flex;gap:25px;flex-wrap:wrap;font-size:11px;margin:25px 0}.mobile-contact{display:none}#brief-result .button{margin-top:10px}section[id]{scroll-margin-top:20px}@media(max-width:1000px){.price-card{padding:22px}.price-card h3{font-size:16px}.price{font-size:34px}.package-desc{min-height:120px}.booking-steps{grid-template-columns:repeat(2,1fr)}nav{gap:17px;font-size:11px}}
@media(max-width:760px){.menu-toggle{display:block;border:1px solid #ffffff40;color:var(--gold);background:transparent;font-size:22px;width:42px;height:42px;margin-left:auto;margin-right:20px}header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 6%;background:var(--ink);border-top:1px solid #ffffff30}header nav.is-open{display:flex;flex-direction:column;gap:0}header nav a{padding:13px 0;font-size:14px}.studio-facts{grid-template-columns:repeat(2,1fr);padding:28px 6%;gap:24px}.price-grid{grid-template-columns:1fr}.price-card{padding:30px}.price-card h3{font-size:20px}.package-desc{min-height:0;max-width:400px}.price{font-size:45px}.price-note{grid-template-columns:1fr;gap:5px}.policy,.contact{grid-template-columns:1fr;gap:35px}.faq-grid{grid-template-columns:1fr}.hero-actions{gap:18px}.hero-secondary{font-size:11px}.contact-links strong{font-size:21px}.footer-nav{gap:15px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:25;background:var(--ink);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #0002}.mobile-contact a{width:50%;text-align:center;padding:14px 10px;color:var(--paper);font-size:12px}.mobile-contact a:last-child{background:var(--gold);color:var(--ink)}body{padding-bottom:calc(52px + env(safe-area-inset-bottom))}.hero-note{max-width:300px}summary{font-size:13px}.booking-steps{grid-template-columns:1fr}.contact-address{font-size:18px}.privacy{padding-bottom:45px}}
/* Preserve the complete 4:5 campaign artwork, including its typography. */
.spaces .photo-wrap,.detail-card .photo-wrap{height:auto;aspect-ratio:4/5;background:#e5ddce}.spaces .photo-wrap img,.detail-card .photo-wrap img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}.spaces .photo-card:hover img,.detail-card:hover img{transform:none}.spaces .photo-card:hover .round,.detail-card:hover .round{background:#1a1b17;color:var(--gold)}.spaces{padding-bottom:70px}.collection{background:#eae4d9;padding-top:85px}.collection .section-head>p{max-width:330px}.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}.detail-card:nth-child(2){margin-top:45px}.detail-card:nth-child(4){margin-top:45px}.detail-card h3{font-size:23px;line-height:1.4}.detail-card .card-meta{font-size:9px;letter-spacing:.5px}.collection-end{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #c8beac;margin-top:45px;padding-top:20px}.collection-end p{font-size:12px;margin-bottom:0;color:#686458}.fashion-image{background:#e4dacb;min-height:0;align-self:center}.fashion-image img{display:block;height:auto;max-height:none;aspect-ratio:4/5;object-fit:contain}#viewer{width:min(1040px,94vw);max-height:94svh;background:#191b16;color:#f2efe8}#viewer[open]{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}#viewer>img{height:88svh;width:100%;object-fit:contain;background:#11130f}#viewer>div{padding:50px 30px}#viewer-title{font-size:30px;line-height:1.35}#photo-count{font-size:10px;letter-spacing:1.3px;color:#c0b59f}#close-viewer{z-index:2;background:#f2efe8;color:#171714;border-radius:50%}.viewer-controls{display:flex;gap:12px;margin:28px 0}.viewer-controls button{width:48px;height:48px;background:transparent;color:var(--gold);border:1px solid #a99b7d;font-size:22px}.viewer-controls button:hover{background:#383d31}#viewer .eyebrow{color:var(--gold)}@media(max-width:900px){.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.detail-card:nth-child(2),.detail-card:nth-child(4){margin-top:30px}.fashion-image{height:auto}}@media(max-width:650px){.spaces .photo-wrap{height:auto}.detail-gallery{gap:25px 14px}.detail-card h3{font-size:18px;letter-spacing:-.3px}.detail-card .card-meta{font-size:8px;letter-spacing:0;display:block}.detail-card .card-meta span:last-child{display:none}.detail-card .round{width:30px;height:30px;right:9px;bottom:9px}.collection{padding-top:60px}.collection-end{display:block}.collection-end .text-link{margin-top:12px}#viewer[open]{display:block}#viewer>img{height:auto;max-height:64svh;aspect-ratio:4/5}#viewer>div{padding:20px}#viewer-title{font-size:24px;margin-bottom:12px}#viewer .eyebrow{margin-bottom:12px}.viewer-controls{margin:14px 0}#viewer #choose{padding:12px 18px}.fashion-image{height:auto}}

/* Published studio policies */
.policy-full{display:block}.policy-intro{max-width:800px;margin-bottom:48px}.policy-full .policy-intro>p:not(.eyebrow){max-width:620px}.policy-date{font-size:11px!important;letter-spacing:.5px}.policy-content{max-width:1000px;margin:auto}.policy-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:28px 0;border-top:1px solid #bfa78255;border-bottom:1px solid #bfa78255;margin-bottom:32px}.policy-highlights strong{font-family:'Playfair Display',serif;font-size:38px;color:var(--gold);display:block}.policy-highlights span{font-size:12px;display:block;margin-top:8px;color:#d6d6ca}.policy-item{padding:24px 0;border-bottom:1px solid #bfa78244}.policy-item h3{font-family:'Manrope',sans-serif;font-size:19px;font-weight:600;line-height:1.5;margin:0 0 18px}.policy-item p,.policy-item li{font-size:14px;line-height:1.9;color:#d6d6ca}.policy-item ul{padding-left:20px;margin:0}.policy-item li+li{margin-top:10px}.policy-item strong{color:#f4efe7;font-weight:600}.policy-item a,.form-note a{text-decoration:underline;text-underline-offset:4px}.policy-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.8;margin:18px 0}.policy-table caption{text-align:left;font-size:12px;color:var(--gold);margin-bottom:12px}.policy-table th,.policy-table td{padding:16px;text-align:left;border:1px solid #bfa78244;vertical-align:top}.policy-table th{background:#ffffff08;font-weight:600}.policy-table td{color:#d6d6ca}.policy-table-wrap{max-width:100%}@media(max-width:760px){.policy-highlights{gap:16px}.policy-highlights strong{font-size:27px}.policy-highlights span{font-size:11px}.policy-item h3{font-size:17px}.policy-item p,.policy-item li{font-size:13px}.policy-table th,.policy-table td{padding:11px;font-size:12px}.policy-intro{margin-bottom:30px}}
