:root{--ink:#202520;--muted:#626860;--paper:#f5f5ef;--line:#d9ddd3;--green:#344a39}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.7;word-break:keep-all}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #718755;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35;letter-spacing:-.055em}h2{font-size:clamp(30px,3vw,44px);font-weight:600}h3{font-size:27px}p{color:var(--muted)}header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);z-index:10}.wordmark{font-size:27px;font-weight:950;letter-spacing:-2px;line-height:1.2;white-space:nowrap}.wordmark span{display:block;font-size:9px;font-weight:500;letter-spacing:3px;margin-top:7px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:hover{color:#718755}.nav-phone{padding:12px 17px;border:1px solid var(--ink)}.menu-toggle{display:none}.skip{position:fixed;top:-100px;z-index:50;background:white;padding:12px}.skip:focus{top:0}.hero{padding:24px 24px 0}.hero-photo{position:relative;overflow:hidden}.hero-photo>img{height:clamp(300px,36vw,540px);object-position:center}.photo-label{position:absolute;left:28px;bottom:24px;color:#fff;background:#263827ba;font-size:11px;letter-spacing:2px;padding:8px 14px}.hero-copy{max-width:1240px;margin:auto;padding:45px 0 60px;display:flex;justify-content:space-between;align-items:center;gap:40px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:600;color:var(--green);margin-bottom:18px}h1{font-size:clamp(40px,4.3vw,64px);font-weight:600;line-height:1.28}h1 span{font-weight:400}.hero-detail{padding-top:20px}.hero-detail p{font-size:16px;margin-bottom:23px}.button{border:1px solid var(--ink);min-height:50px;padding:12px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:14px;font-weight:600}.button:hover{background:var(--paper)}.button.dark{background:var(--ink);color:#fff}.button.dark:hover{background:var(--green)}.text-link{font-size:13px;display:inline-block;padding:12px 0;border-bottom:1px solid var(--line)}.hero-detail .text-link{margin-left:22px}.section{padding:100px max(5%,calc((100% - 1240px)/2))}.section-label{font-size:11px;letter-spacing:2px;margin-bottom:30px}.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px}.about-image{position:relative}.about-image img{aspect-ratio:1.28;object-fit:cover}.about-copy>p:not(.eyebrow){margin-top:24px;font-size:15px}.style-tags{display:flex;gap:17px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:10px;letter-spacing:1.5px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.section-heading>p{font-size:14px}.space-row{position:relative;display:flex;align-items:center;margin-bottom:65px}.space-row>img{width:72%;aspect-ratio:1.9}.space-card{padding:40px;width:37%;background:white;margin-left:-9%;position:relative}.space-card .number{display:block;border-top:1px solid var(--ink);width:30px;padding-top:6px;font-size:11px;margin-bottom:30px}.space-card h3{font-size:34px;margin-bottom:16px}.space-card p:not(.eyebrow){font-size:14px;max-width:260px}.space-card .text-link{margin-top:18px}.space-row.reverse{flex-direction:row-reverse}.reverse .space-card{margin-left:0;margin-right:-9%}.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.facility-grid img{aspect-ratio:2.1;margin-bottom:26px}.facility-grid .eyebrow{margin-bottom:9px}.facility-grid p:last-child{font-size:14px;margin-top:10px}.styles{background:var(--paper)}.styles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:45px}.styles-grid img{aspect-ratio:1.12;margin-bottom:20px}.styles-grid article>span{font-family:Georgia,serif;font-size:14px;color:#78816f}.styles-grid h3{font-size:23px;margin:8px 0}.styles-grid p{font-size:13px}.small-note{font-size:12px;color:var(--muted);margin-top:25px}.gallery-filters{display:flex;gap:12px;margin-bottom:30px;flex-wrap:wrap}.gallery-filters button{font-size:13px;border:1px solid var(--line);padding:8px 21px;border-radius:30px}.gallery-filters .active{background:var(--ink);color:white;border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.gallery-grid>button{padding:0;text-align:left}.gallery-grid img{aspect-ratio:1.55;transition:filter .2s}.gallery-grid button:hover img{filter:brightness(.9)}.gallery-grid span{display:block;font-size:13px;margin-top:12px}.contact{background:#e9ede4;text-align:center}.contact>p:not(.eyebrow){margin:22px auto;max-width:620px;font-size:15px}.contact .button{margin-top:8px}.contact-phone button{font-size:19px;font-weight:600;letter-spacing:1px}.contact details{max-width:520px;margin:24px auto 0;font-size:12px;color:var(--muted)}summary{cursor:pointer}details p{padding:15px}.location{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.location>img{height:390px}.location-name{font-weight:700;font-size:18px;margin:26px 0 12px;color:var(--ink)}address{font-style:normal;font-size:15px;margin-bottom:14px}address span{font-size:13px;color:var(--muted)}.inline-phone{padding:0;text-decoration:underline}.location .button{margin-top:25px}footer{border-top:1px solid var(--line);margin:0 5%;padding:45px 0 50px;display:flex;gap:50px;align-items:start;position:relative}footer p{font-size:11px;line-height:2}.copyright{margin-top:14px;font-size:10px;letter-spacing:1px}.to-top{margin-left:auto;border:1px solid var(--line);padding:8px 17px;font-size:24px}.mobile-contact{display:none}dialog{border:0;padding:25px;width:min(1100px,94vw);max-height:92vh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#121811c9}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.dialog-top h2{font-size:22px}.dialog-top button{border:1px solid var(--line);padding:8px 13px;font-size:13px}#large-photo{max-height:65vh;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding-top:20px;font-size:14px}.gallery-controls button{border:1px solid var(--line);padding:8px 20px}#info-dialog{max-width:550px}#info-description{margin:20px 0;font-size:14px}#info-label{font-size:12px;display:block}#info-value{width:100%;padding:12px;border:1px solid var(--line);margin:8px 0 16px;font-size:14px}[hidden]{display:none!important}
@media(min-width:1700px){.hero-photo img{max-height:650px;height:36vw}}@media(max-width:1100px){header{padding:0 3%;gap:20px}nav{gap:17px;font-size:12px}.wordmark{font-size:23px}.hero-copy{padding-left:3%;padding-right:3%}.hero-detail .text-link{display:block;margin:10px 0 0;width:fit-content}.about-grid{gap:40px}.section{padding-top:75px;padding-bottom:75px}.location{gap:35px}footer{gap:25px}}@media(max-width:760px){html{scroll-padding-top:88px}header{height:78px;padding:0 22px}.wordmark{font-size:23px}.wordmark span{font-size:8px;letter-spacing:2px}.menu-toggle{display:flex;align-items:center;gap:15px;font-size:12px;padding:12px 0}.menu-toggle span{font-size:19px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 24px 30px;border-bottom:1px solid var(--line);font-size:16px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px 0}nav .nav-phone{margin-top:12px;text-align:left}.hero{padding:12px 12px 0}.hero-photo>img{height:320px;object-position:51%}.photo-label{left:12px;bottom:12px;font-size:8px;letter-spacing:1.3px}.hero-copy{display:block;padding:32px 12px 45px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:14px}h1{font-size:41px}h2{font-size:30px}.hero-detail{padding-top:25px}.hero-detail p{font-size:14px;line-height:1.9}.hero-detail .button{width:100%;font-size:13px}.hero-detail .text-link{margin:12px auto 0}.section{padding:60px 24px}.section-label{font-size:9px}.about-grid{display:flex;flex-direction:column;gap:34px;align-items:stretch}.about-image img{aspect-ratio:1.22}.about-copy>p:not(.eyebrow){font-size:14px;margin-top:20px}.style-tags{justify-content:space-between;gap:8px;font-size:9px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:13px}.space-row,.space-row.reverse{display:block;margin-bottom:40px}.space-row>img{width:100%;aspect-ratio:1.5}.space-card,.reverse .space-card{margin:0;width:100%;padding:24px 0 0}.space-card .number{display:none}.space-card h3{font-size:28px;margin-bottom:12px}.space-card p:not(.eyebrow){max-width:none}.space-card .text-link{margin-top:10px}.facility-grid{gap:25px;grid-template-columns:1fr}.facility-grid img{aspect-ratio:1.65;margin-bottom:18px}.facility-grid h3{font-size:23px}.styles-grid{grid-template-columns:1fr 1fr;gap:30px 15px;margin-top:30px}.styles-grid h3{font-size:21px}.styles-grid p{font-size:12px}.styles-grid img{aspect-ratio:.95;margin-bottom:14px}.gallery-filters{gap:7px}.gallery-filters button{padding:7px 13px;font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:23px 12px}.gallery-grid img{aspect-ratio:1.05}.gallery-grid span{font-size:12px}.contact h2{font-size:28px}.contact>p:not(.eyebrow){font-size:13px}.contact .button{width:100%}.location{grid-template-columns:1fr;gap:30px}.location>img{height:250px}.location-name{margin-top:22px}footer{flex-direction:column;padding-bottom:110px;gap:25px;margin:0 24px}footer p{font-size:10px}.to-top{position:absolute;right:0;top:35px}.mobile-contact{display:grid;grid-template-columns:1fr;position:fixed;bottom:0;left:0;right:0;z-index:12;padding-bottom:env(safe-area-inset-bottom);background:var(--ink);border-top:1px solid var(--line)}.mobile-contact a{display:flex;align-items:center;justify-content:center;height:56px;font-size:14px;font-weight:600;background:white}.mobile-contact a:last-child{color:white;background:var(--ink)}dialog{padding:18px}.dialog-top h2{font-size:18px}.dialog-top button{font-size:12px}.gallery-controls button{padding:9px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Garden editorial: warm paper, botanical green and understated brass. */
:root { --ink:#203d34; --muted:#687367; --paper:#f4f0e7; --line:#d6d7c8; --green:#244a3d; --gold:#9e8150; }
body { background:#fbf9f3; }
header { background:rgba(251,249,243,.97); height:94px; padding:0 5%; border-color:#d7dacd; }
.wordmark { font-family:'AppleMyungjo','Batang',Georgia,serif; font-size:26px; font-weight:700; letter-spacing:-1.7px; }
.wordmark span { font-family:Arial,sans-serif; font-size:8px; letter-spacing:3px; color:var(--gold); margin-top:9px; }
nav { gap:23px; font-size:12px; }
.nav-phone { border-radius:0; border-color:var(--gold); color:var(--green); }
.nav-blog { padding:0; font-size:inherit; font-weight:inherit; }
h1,h2,h3 { font-family:'AppleMyungjo','Batang',Georgia,serif; font-weight:400; letter-spacing:-.045em; }
.eyebrow { color:var(--gold); font-size:10px; letter-spacing:2.5px; }
.hero { max-width:1600px; margin:auto; padding:64px 5% 90px; display:grid; grid-template-columns:1fr 1.03fr; column-gap:65px; align-items:center; position:relative; }
.hero-photo { grid-column:2; grid-row:1; overflow:visible; margin:12px 14px 40px 0; }
.hero-photo:before { content:''; position:absolute; inset:-12px -12px 12px 12px; border:1px solid #b6b9a0; border-radius:48% 48% 3px 3px; pointer-events:none; }
.hero-photo>img { height:600px; border-radius:48% 48% 3px 3px; object-position:53%; }
.photo-label { background:transparent; color:var(--ink); left:0; right:0; bottom:-44px; padding:0; font-family:Georgia,serif; font-style:italic; font-size:17px; letter-spacing:0; display:flex; justify-content:space-between; align-items:center; }
.photo-label i { font-family:Arial,sans-serif; font-size:9px; letter-spacing:2px; font-style:normal; color:var(--gold); }
.hero-copy { grid-column:1; grid-row:1; display:block; padding:0; margin:0; }
.hero-script { font-family:Georgia,serif; font-style:italic; color:var(--gold); font-size:clamp(26px,3.2vw,48px); letter-spacing:-1.7px; line-height:1.3; margin:30px 0 22px; }
h1 { font-size:clamp(38px,3.8vw,58px); line-height:1.48; }
h1 span { font-weight:400; }
.hero-detail { padding-top:28px; }
.hero-detail p { font-size:14px; line-height:1.95; }
.button { min-height:52px; padding:14px 23px; letter-spacing:.2px; border-color:var(--gold); font-size:12px; }
.button.dark { background:var(--green); border-color:var(--green); }
.hero-detail .text-link { display:block; margin:17px 0 0; width:fit-content; font-size:11px; border-color:#bcbfae; }
.section { padding-top:110px; padding-bottom:110px; }
.section-label { color:var(--gold); border-bottom:1px solid #d2d5c3; padding-bottom:20px; margin-bottom:50px; }
.about { background:#edf0e6; }
.about-grid { gap:95px; grid-template-columns:1fr 1fr; }
.about-image img { aspect-ratio:.98; border-radius:160px 3px 3px 3px; }
.about-copy h2 { font-size:42px; line-height:1.6; }
.about-copy>p:not(.eyebrow) { font-size:14px; line-height:1.95; }

.style-tags { color:var(--gold); border-color:#c7ceba; }
.section-script { font-family:Georgia,serif; font-style:italic; font-size:27px; color:var(--gold); margin:-5px 0 14px; letter-spacing:-.6px; }
.section-heading { align-items:center; }
h2 { font-size:38px; line-height:1.5; }
.space-row { margin:55px 0 90px; align-items:stretch; gap:6%; }
.space-row>img { width:61%; aspect-ratio:1.6; border-radius:3px 95px 3px 3px; }
.space-card { width:33%; margin:0; background:transparent; padding:25px 0; display:flex; flex-direction:column; justify-content:center; }
.space-card .number { font-family:Georgia,serif; font-style:italic; font-size:40px; font-weight:400; border:0; color:#b2bca7; margin:0 0 25px; padding:0; width:auto; }
.space-card h3 { font-size:34px; }
.space-card .text-link { width:fit-content; }
.reverse .space-card { margin:0; }
.space-row.reverse>img { border-radius:95px 3px 3px 3px; }
.facility-grid { gap:45px; }
.facility-grid article:nth-child(2) { padding-top:65px; }
.facility-grid img { border-radius:3px; aspect-ratio:1.75; }
.facility-grid h3 { font-size:25px; }
.styles { background:#24473b; color:#faf7ed; }
.styles .eyebrow,.styles .section-script { color:#cfb987; }
.styles h2 { color:#faf7ed; }
.styles-grid { gap:25px; margin-top:55px; }
.styles-grid img { border-radius:140px 140px 2px 2px; aspect-ratio:.85; }
.styles-grid article:nth-child(even) { padding-top:40px; }
.styles-grid h3 { font-size:25px; color:#faf7ed; }
.styles-grid p,.styles .small-note { color:#cad4c6; }
.styles-grid article>span { color:#cfb987; }
.gallery-filters button { border-radius:0; border:0; border-bottom:1px solid transparent; background:transparent; padding:8px 18px; }
.gallery-filters button.active { color:var(--green); border-bottom-color:var(--gold); background:transparent; }
.gallery-grid { gap:30px; }
.gallery-grid img { border-radius:3px; aspect-ratio:1.25; }
.gallery-grid>button:nth-child(3n+2) { transform:translateY(22px); }
.gallery-grid span { color:var(--green); font-size:12px; }
.contact { background:#ece7d8; position:relative; }
.contact:before { content:''; width:65px; height:1px; display:block; background:var(--gold); margin:0 auto 30px; }
.contact h2 { font-size:40px; }
.contact .button { margin-top:16px; }
.contact details { color:#657064; }
.location { gap:85px; }
.location>img { border-radius:180px 180px 3px 3px; height:430px; }
.location-name { font-family:'AppleMyungjo','Batang',Georgia,serif; }
footer { border-color:var(--line); padding-top:50px; }
.mobile-contact { background:var(--green); }
dialog { background:#fbf9f3; color:var(--ink); }
@media(min-width:1700px) { .hero-photo>img { height:640px; } }
@media(max-width:1100px) { nav{gap:14px}.hero{column-gap:35px;padding-top:45px}.hero-photo>img{height:520px}.hero-script{font-size:32px}.hero-copy{padding:0}.about-grid{gap:45px}h1{font-size:42px}.hero-detail p{font-size:12px}.about-copy h2{font-size:34px} }
@media(max-width:760px) {
 header{height:78px;padding:0 22px}.wordmark{font-size:24px}nav{background:#fbf9f3;gap:0;font-size:15px}.nav-blog{text-align:left;padding:12px 0}
 .hero{display:flex;flex-direction:column;padding:35px 24px 50px;gap:30px}.hero-copy{display:contents}.hero-copy>div:first-child{order:0;align-self:stretch}.hero-photo{order:1;width:calc(100% - 10px);margin:0 10px 15px 0}.hero-detail{order:2;width:100%;padding-top:20px}
 .hero-copy .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}.hero-script{font-size:30px;margin:0 0 16px;letter-spacing:-1px}h1{font-size:38px;line-height:1.45}h1 br{display:none}h1 span{display:block}
 .hero-photo>img{height:365px;border-radius:48% 48% 2px 2px}.hero-photo:before{inset:-8px -8px 8px 8px}.photo-label{bottom:-32px;font-size:14px}.photo-label i{font-size:8px}.hero-detail p{font-size:13px}.hero-detail .text-link{margin:15px auto 0}
 .section{padding:60px 24px}.section-label{margin-bottom:30px;padding-bottom:17px}.about-grid{gap:30px}.about-image img{aspect-ratio:1.1;border-radius:100px 2px 2px 2px}.about-copy h2{font-size:31px;line-height:1.6}.about-copy>p:not(.eyebrow){font-size:13px}.section-script{font-size:24px}h2{font-size:29px}
 .space-row,.space-row.reverse{display:block;margin:35px 0 45px}.space-row>img{width:100%;aspect-ratio:1.3;border-radius:3px 70px 3px 3px}.space-row.reverse>img{border-radius:70px 3px 3px 3px}.space-card,.reverse .space-card{width:100%;padding:23px 0 0}.space-card .number{display:none}.space-card h3{font-size:29px}.space-card p:not(.eyebrow){font-size:13px}
 .facility-grid{gap:30px}.facility-grid article:nth-child(2){padding-top:0}.facility-grid img{aspect-ratio:1.6}.styles-grid{gap:25px 17px;margin-top:35px}.styles-grid article:nth-child(even){padding-top:27px}.styles-grid img{aspect-ratio:.78;border-radius:90px 90px 2px 2px}.styles-grid h3{font-size:22px}.styles-grid p{font-size:11px}
 .gallery-grid{gap:24px 14px}.gallery-grid>button:nth-child(3n+2){transform:none}.gallery-grid>button:nth-child(even){transform:translateY(18px)}.gallery-grid img{aspect-ratio:.95}.gallery-filters{gap:5px}.gallery-filters button{padding:8px 10px}
 .contact h2{font-size:29px;line-height:1.6}.location{gap:30px}.location>img{height:340px;border-radius:150px 150px 3px 3px}.mobile-contact a{background:#fbf9f3}.mobile-contact a:last-child{background:var(--green)}
}

/* The host owns navigation after its ready handshake; local previews keep the header. */
html.hosted { scroll-padding-top:24px; }
.hosted body > header { display:none; }
