*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#292929;font-family:"Noto Sans KR",sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:hover{opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #6b302b;outline-offset:6px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}header{max-width:1340px;padding:50px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:50px}.wordmark{font-family:"Noto Sans KR",sans-serif;font-size:32px;letter-spacing:6px;white-space:nowrap}.wordmark span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;margin-right:9px;vertical-align:middle}nav{display:flex;gap:32px;font-size:14px}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}main{min-height:60vh}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:400}.opening{text-align:center;padding:62px 24px 130px}.opening>.eyebrow{margin:0 0 35px;color:#747474}.hero{max-width:510px;margin:auto}figure{margin:0}.photo{display:block;width:100%;padding:0;background:none;border:0;cursor:default}.photo img{display:block;width:100%;height:auto}.hero img{max-height:640px;object-fit:cover;object-position:center 42%}figcaption{display:flex;justify-content:space-between;font-size:12px;color:#717171;letter-spacing:1px;margin-top:14px}.opening h1{font-weight:400;font-family:"Noto Sans KR",sans-serif;font-size:25px;letter-spacing:1px;margin:64px 0 22px}.intro{font-size:15px;color:#6a6a6a;line-height:2.1}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #777;padding:6px 0}.opening>.text-link{margin-top:25px}.gallery{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr .77fr;gap:145px;padding:0 40px}.gallery figure:nth-child(2){margin-top:185px}.invitation{text-align:center;padding:160px 24px}.invitation h2{font-family:"Noto Sans KR",sans-serif;font-weight:400;line-height:1.7;font-size:30px;margin:28px 0 32px}.inline-links{display:flex;justify-content:center;gap:35px}footer{max-width:1340px;margin:0 auto;border-top:1px solid #e5e5e5;padding:48px;display:grid;grid-template-columns:1.3fr 2fr 1fr 1fr;gap:30px;color:#737373;font-size:12px}footer .wordmark{font-size:23px;color:#292929;letter-spacing:3px}footer .wordmark span{font-size:9px;display:block}footer small{font-size:12px}.page-heading{text-align:center;padding:65px 24px 80px}.page-heading h1{font-family:"Noto Sans KR",sans-serif;font-weight:400;font-size:48px;margin:10px 0 18px;line-height:1.3}.page-heading>p:last-child{font-size:15px;color:#777}.about-layout{max-width:1120px;margin:0 auto 150px;padding:0 40px;display:grid;grid-template-columns:1fr 1.3fr;gap:100px;align-items:start}.about-layout>img{width:100%;height:auto}.prose{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.prose p{margin:0 0 15px}.prose a{text-decoration:underline;text-underline-offset:4px}.prose ul{list-style:none;padding:0}.prose li{margin:0}.about-copy{font-size:16px;line-height:2.15}.program-grid{max-width:1240px;margin:0 auto 75px;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.program{border-top:1px solid #3c3c3c;padding-top:25px}.program h2{font:32px "Noto Sans KR",sans-serif;margin:15px 0}.price{font-size:22px;margin:0 0 35px}.program .prose{font-size:14px}.program .text-link{margin-top:15px}.reading{max-width:860px;margin:0 auto 140px;padding:0 30px}details{border-top:1px solid #ddd}details:last-child{border-bottom:1px solid #ddd}summary{cursor:pointer;list-style:none;padding:25px 40px 25px 0;position:relative;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:6px;font-size:23px;top:18px;font-weight:300}details[open]>summary:after{content:'−'}details>.prose{padding:12px 0 35px;color:#555}.contact-layout{max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:100px;margin:0 auto 150px;padding:0 40px;align-items:start}.contact-layout>img{width:100%;height:auto;max-height:640px;object-fit:cover}.contact-layout h2{font-family:"Noto Sans KR",sans-serif;font-weight:400;font-size:26px}.contact-layout p{color:#666}.contact-button{display:inline-block;border:1px solid #333;padding:13px 25px;margin:18px 0 35px;font-size:14px}.contact-info h3{font:20px "Noto Sans KR",sans-serif;margin:25px 0 12px}.contact-info p{font-size:15px}.contact-info a{overflow-wrap:anywhere}@media(min-width:1600px){.opening{padding-top:90px}.hero{max-width:560px}.hero img{max-height:730px}}@media(max-width:1000px){header{padding:30px;gap:25px}nav{gap:18px}.wordmark{font-size:26px;letter-spacing:4px}.gallery{gap:70px}.about-layout,.contact-layout{gap:50px}.program-grid{gap:28px}footer{grid-template-columns:1fr 2fr;row-gap:30px}}@media(max-width:720px){header{padding:25px 22px;flex-wrap:wrap;gap:15px}.menu-toggle{display:block;background:none;border:0;padding:8px 0;font-size:14px}nav{display:none;width:100%;flex-direction:column;gap:0;padding-top:10px}nav.open{display:flex}nav a{padding:10px 0}.opening{padding:35px 26px 80px}.opening>.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:25px}.hero{max-width:440px}.hero img{max-height:600px}.opening h1{font-size:21px;margin-top:45px}.intro{font-size:14px}.gallery{display:block;padding:0 26px}.gallery figure{width:88%}.gallery figure:nth-child(2){width:75%;margin:70px 0 0 auto}.invitation{padding:95px 25px}.invitation h2{font-size:25px}.invitation .eyebrow{font-size:10px;letter-spacing:1px}.page-heading{padding:40px 24px 50px}.page-heading h1{font-size:37px}.about-layout,.contact-layout{display:block;padding:0 26px;margin-bottom:80px}.about-layout>img,.contact-layout>img{max-height:480px;object-fit:cover;margin-bottom:40px}.program-grid{display:block;padding:0 26px;margin-bottom:50px}.program{margin-bottom:50px}.program .prose{font-size:16px}.reading{padding:0 26px;margin-bottom:80px}footer{padding:32px 26px;grid-template-columns:1fr;font-size:13px;gap:23px}footer small{font-size:12px}summary{font-size:15px}.contact-layout h2{font-size:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Supplied identity and ONA reference: centered, equal-width photographs. */
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.wordmark img{display:block;width:224px;height:auto;mix-blend-mode:multiply}
footer .wordmark img{width:200px}
.home-page #main{display:flow-root}.home-page header{height:126px}.ona-gallery{width:min(582px,calc(100% - 52px));margin:116px auto 150px;display:grid;gap:85px}.ona-gallery figure{aspect-ratio:582/727;overflow:hidden}
.ona-gallery img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;cursor:default}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

@media(max-width:1000px) and (min-width:721px){header{flex-wrap:wrap}header nav{margin-left:auto}}
@media(max-width:720px){.home-page header{height:auto;min-height:91px}.wordmark img{width:190px}.ona-gallery{margin-top:55px;margin-bottom:90px;gap:52px}footer .wordmark img{width:190px}}


.program h2{font-family:Arial,"Noto Sans KR",sans-serif}
.program-layout{max-width:1707px;margin:40px auto 140px;padding:0 50px}
.program-row{display:grid;grid-template-columns:1fr 2.22fr;gap:100px;padding:40px 0 70px}
.program-layout h1,.program-layout h2{font-size:1.5rem;font-weight:700;line-height:1.4;margin:0}
.program-layout h1,.program-layout .product-title{font-family:Arial,"Noto Sans KR",sans-serif}
.program-layout .prose{font-size:1rem;line-height:1.5;min-width:0;color:#292929}
.program-layout .prose p{margin:0 0 5px}
.program-layout .prose ul{margin:0;padding:0;list-style:none}
.program-layout .prose .program-space{height:24px;margin:0 0 5px}
.program-flower{color:#292929}
.program-flower-heading{display:flex;align-items:baseline;gap:.25em}
.program-option{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:0 0 70px}
.program-option>summary{font-size:1.5rem;font-weight:700;padding:30px 40px 30px 0}
.program-option>summary:after{top:30px}
.program-option>.prose{margin-left:calc((100% - 100px)/3.22 + 100px);padding:10px 0 40px}
main:has(>.program-layout){display:flow-root;min-height:0}
@media(max-width:1000px){.program-layout{padding:0 30px}.program-row{gap:50px;grid-template-columns:1fr 2fr}.program-option>.prose{margin-left:calc((100% - 50px)/3 + 50px)}}
@media(max-width:720px){.program-layout{margin:12px auto 80px;padding:0 26px}.program-row{display:block;padding:28px 0 45px}.program-layout h1,.program-layout h2{margin-bottom:24px}.program-option{margin-bottom:45px}.program-option>.prose{margin-left:0}.program-option>summary{font-size:1.5rem}}
.guide-tabs{display:flex;gap:32px;margin-bottom:32px;border-bottom:1px solid #ddd}
/* Match QUV's effective display scale, not just its unscaled inline font sizes. */
.program-layout{--program-scale:1;padding-inline:calc(50px * var(--program-scale))}
.program-row{grid-template-columns:calc((100% + 100px * var(--program-scale))/3 - 100px * var(--program-scale)) minmax(0,1fr);gap:calc(100px * var(--program-scale))}
.program-layout h1,.program-layout h2,.program-option>summary{font-size:calc(24px * var(--program-scale));line-height:1.5}
.program-row>h1,.program-row>h2,.program-row>.prose{border-top:1px solid #aaa;padding-top:calc(30px * var(--program-scale))}
.program-layout .prose{font-size:calc(16px * var(--program-scale));line-height:1.5}
.program-layout .prose p{margin-bottom:calc(5px * var(--program-scale))}
.program-layout .prose .program-space{height:calc(24px * var(--program-scale));margin-bottom:calc(5px * var(--program-scale))}
.program-option>.prose{margin-left:calc((100% + 100px * var(--program-scale))/3)}
@media(min-width:992px) and (max-width:1199px){body{zoom:.85}}
@media(min-width:768px) and (max-width:991px){body{zoom:.7}}
@media(max-width:767px){.program-layout{padding-inline:26px}.program-row{display:block}.program-layout h1,.program-layout h2,.program-option>summary{font-size:15px}.program-layout .prose{font-size:12px}.program-row>h1,.program-row>h2{margin-bottom:20px;padding-top:20px}.program-row>.prose{border-top:0;padding-top:0}.program-option>.prose{margin-left:0}.program-layout .prose .program-space{height:18px}}
.guide-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;cursor:pointer;font:inherit;color:#777}
.guide-tabs button[aria-selected="true"]{color:#292929;border-bottom-color:#292929}
[role="tabpanel"][hidden]{display:none}

.guide-reading{padding-top:12px;overflow-anchor:none}
main:has(>.guide-reading){display:flow-root;min-height:0}
.guide-reading summary{overflow-wrap:anywhere;font-size:var(--page-body-size)}
.guide-reading .prose{font-size:.875rem;min-width:0;line-height:1.8}
.guide-reading .prose strong,.guide-reading .prose b{font-weight:700}
.guide-reading .prose .guide-note{color:#9b9797;font-size:.875rem}
.guide-reading .prose .guide-muted{color:#696969}
.guide-reading .prose .guide-alert{color:#b22222}
.guide-reading .prose .guide-space{height:1em;margin:0 0 15px}
.guide-reading .prose img{max-width:100%;height:auto}
.guide-reading .guide-tabs{gap:clamp(16px,4vw,32px)}
.guide-reading .guide-tabs button{min-width:0;font-size:1rem}
@media(max-width:720px){.guide-reading{padding-top:8px}.guide-reading .guide-tabs{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared Guide/Program content edges; preserve each page's internal layout. */
.reading,.program-layout{max-width:860px;padding-inline:30px}
.menu-icon{position:relative;display:block;width:24px;height:20px}
.menu-icon span{position:absolute;left:0;width:24px;height:1.5px;background:currentColor}
.menu-icon span:nth-child(1){top:2px}
.menu-icon span:nth-child(2){top:9px}
.menu-icon span:nth-child(3){top:16px}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1){top:9px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3){top:9px;transform:rotate(-45deg)}
@media(max-width:720px){
 .reading,.program-layout{padding-inline:26px}
 .menu-toggle{width:44px;height:44px;padding:10px;flex-shrink:0}
}

/* About image keeps the supplied white margins at every screen size. */
.about-layout,.contact-layout{margin-top:40px}
.about-layout>img{height:auto;max-height:none;object-fit:contain}
@media(max-width:720px){nav{text-align:right}.about-layout,.contact-layout{margin-top:12px}}

.map-column{min-width:0}
#studio-map{width:100%;height:500px;background:#f5f5f3;position:relative}
.map-status{padding:24px;font-size:14px}
.map-column>.text-link{margin-top:12px}
@media(max-width:720px){.map-column{margin-bottom:40px}#studio-map{height:360px}}

/* About body uses the same font sizes as Program body. */
@media(max-width:767px){.about-copy{font-size:12px}}

/* Approved compact footer, Guide rows and fixed light appearance. */
:root{color-scheme:only light;background:#fff}
.about-copy,footer{color:#8f8f8f}
footer{padding-block:24px;row-gap:16px;font-size:11px;line-height:1.6}
footer small{font-size:11px}
.footer-social{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}
.footer-social br{display:none}
.footer-social a~a:before{content:"·";margin-right:10px}
.guide-reading summary{padding-block:10px}
.guide-reading summary:after{top:50%;transform:translateY(-50%)}
@media(max-width:720px){footer{padding-block:20px;gap:16px;font-size:11px}}

/* Shared body size follows About; headings and controls retain their sizes. */
:root{--page-body-size:16px}
.about-copy,.program-layout .prose,.guide-reading .prose,.guide-reading .prose .guide-note,.contact-layout p:not(.eyebrow),.contact-info>.text-link,.map-column>.text-link{font-size:var(--page-body-size)}
@media(max-width:767px){:root{--page-body-size:12px}}

/* Approved Guide top spacing and Contact booking presentation. */
.guide-reading .guide-tabs{margin-bottom:0}
.guide-reading [role="tabpanel"]>details:first-child{border-top:0}
.contact-layout h2{font-size:20px}
.contact-button{background:#333;color:#fff;padding:8px 16px}
