:root{--cream:#faf7ef;--paper:#fffdf7;--green:#a3b197;--deep:#899c7d;--text:#354034;--muted:#687162;--line:#dce1d3;--sage:#e8eddf;--serif:Georgia,"Times New Roman","Batang",serif;--sans:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--text);font:16px/1.75 var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.3;letter-spacing:-.055em}p{color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b16f58;outline-offset:5px}section[id]{scroll-margin-top:100px}.skip{position:absolute;left:24px;top:-100px;padding:12px 20px;background:var(--green);color:white;z-index:100}.skip:focus{top:12px}.site-header{height:98px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:17px}.brand-meta{font-size:21px;font-weight:650;letter-spacing:-.04em}.brand-meta small{display:block;font-family:var(--serif);font-weight:400;font-size:12px;letter-spacing:.07em}.site-header nav{display:flex;align-items:center;gap:29px;font-size:13px}.site-header nav>a:not(.nav-book){padding:10px 0}.site-header nav a:hover,.text-link:hover,.underlined:hover{color:#925c48}.nav-book{padding:12px 19px;border:1px solid var(--green);margin-left:7px;display:flex;gap:22px;align-items:center}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:71px 7% 44px 11%}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--green);margin-bottom:27px}.eyebrow>span{height:5px;width:5px;background:var(--green);border-radius:50%}h1{font-size:clamp(40px,4.5vw,69px);line-height:1.28;letter-spacing:-.06em}h1 em{font-style:normal;color:#718466}.hero-description{margin-top:27px;font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 22px;font-size:13px;font-weight:550;line-height:1.5;transition:background .18s,color .18s}.primary{background:var(--green);color:var(--paper)}.primary:hover{background:var(--deep)}.secondary{border:1px solid var(--green)}.secondary:hover{background:var(--green);color:var(--paper)}.cream{background:var(--cream);color:var(--green)}.cream:hover{background:#e8eddf}.text-link{font-size:12px;display:flex;gap:20px}.hero-note{font-size:11px;margin-top:43px;color:#818879}.hero-photo{position:relative;min-width:0;background:#e3e3d8;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 50%}.hero-photo:after{content:"";position:absolute;inset:0;border:18px solid #ffffff12;pointer-events:none}.hero-photo figcaption{position:absolute;bottom:27px;left:30px;right:30px;padding:13px 16px;background:#fffdf7ec;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--green);font-size:10px;z-index:1}.hero-photo figcaption span:first-child{font-family:var(--serif);font-size:15px}.facts-bar{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;background:var(--green);color:var(--cream);padding:27px 5.5%;align-items:center}.facts-bar>div{display:flex;align-items:center;gap:17px;padding-right:24px;border-right:1px solid #ffffff25;margin-right:30px}.facts-bar strong{font:36px/1 var(--serif);font-weight:400;white-space:nowrap}.facts-bar span{font-size:11px;opacity:.8}.facts-bar>a{font-size:11px;line-height:1.9;position:relative}.facts-bar>a>span{position:absolute;right:3px;top:7px;font-size:20px}.section{max-width:1200px;margin:auto;padding:100px 5.5%}h2{font-size:clamp(29px,3vw,42px);line-height:1.45}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px 90px}.about-copy .lead{color:var(--text);font-size:21px;line-height:1.6;margin-bottom:23px;letter-spacing:-.04em}.about-copy>p:not(.lead){font-size:13px;margin-bottom:17px;line-height:1.95}.underlined{display:inline-flex;gap:31px;font-size:12px;padding-bottom:5px;border-bottom:1px solid #a5b09d;margin-top:10px}.principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:34px;gap:50px}.principles article{position:relative;padding-left:38px}.principles article>span{position:absolute;left:0;top:0;font:italic 14px var(--serif);color:#86927a}.principles h3{font-size:18px;letter-spacing:-.04em;margin-bottom:13px}.principles p{font-size:12px;line-height:1.9}.program-section{background:var(--sage)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}.section-heading>p{font-size:12px;line-height:1.9;padding-bottom:5px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.program-card{background:var(--green);color:var(--cream);padding:37px 37px 28px}.program-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.program-number{font:54px/1 var(--serif);letter-spacing:-.04em}.pill{font-size:10px;border:1px solid #ffffff55;border-radius:20px;padding:4px 12px}.program-card h3{font-size:26px;margin-bottom:18px}.program-card p{color:#d3dccd;font-size:12px;line-height:1.95;max-width:380px}.program-card .program-intro{font-size:16px;color:var(--cream);margin-bottom:9px}.program-card ul{list-style:none;padding:24px 0 27px;margin:24px 0 0;border-top:1px solid #ffffff30;font-size:12px;line-height:2.15}.program-card li:before{content:"·";margin-right:9px}.program-card>a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:18px;font-size:12px}.program-card.light{background:var(--paper);color:var(--green)}.program-card.light .pill{border-color:#b4bfab}.program-card.light p{color:var(--muted)}.program-card.light .program-intro{color:var(--green)}.program-card.light ul,.program-card.light>a{border-color:var(--line)}.program-footnote{font-size:11px;margin-top:23px;line-height:1.9}.first-step{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.first-step>div>p:not(.eyebrow){font-size:13px;margin:24px 0}.steps{padding:0;list-style:none;margin:1px 0 0}.steps li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}.steps li:first-child{border-top:1px solid var(--line)}.steps li>span{font:italic 20px var(--serif);color:#7f8f74;min-width:28px}.steps h3{font-size:18px;margin:0 0 10px;letter-spacing:-.04em}.steps p{font-size:12px;line-height:1.85;max-width:365px}.faq-section{background:#f1f1e7}.faq-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:75px}.faq-grid>div>p:not(.eyebrow){font-size:13px;margin:23px 0}.faq-list{border-top:1px solid #cbd0c2}.faq-list details{border-bottom:1px solid #cbd0c2}.faq-list summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;padding:22px 0;font-size:13px;font-weight:550;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.q-number{font:italic 12px var(--serif);color:#849078;align-self:flex-start;padding-top:3px}.faq-icon{position:relative;flex:0 0 12px;height:12px;margin-left:auto}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:0;top:5px;width:12px;height:1px;background:var(--green)}.faq-icon:after{transform:rotate(90deg)}details[open] .faq-icon:after{display:none}.faq-list details>p{font-size:12px;line-height:1.95;padding:0 25px 24px 31px;color:#65705f}.visit{display:grid;grid-template-columns:1fr 1fr;gap:90px}.visit-station{font-size:13px!important;margin:30px 0!important;display:flex;gap:9px;align-items:center}.line8{display:inline-flex;background:#c1538e;color:white;font-size:11px;font-weight:600;width:23px;height:23px;border-radius:50%;align-items:center;justify-content:center}.visit-details>div{padding:25px 0;border-bottom:1px solid var(--line)}.visit-details>div:first-child{padding-top:0}.visit-details h3{font-size:11px;color:var(--muted);margin-bottom:13px;letter-spacing:0}.visit-details address{font-size:19px;line-height:1.75;font-style:normal;letter-spacing:-.045em}.hours{margin:0;max-width:360px}.hours>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:7px}.hours dd{margin:0;font-variant-numeric:tabular-nums}.small{font-size:10px;margin-top:17px}.phone{font:30px var(--serif);letter-spacing:-.03em}.contact-links{display:flex;gap:24px;font-size:11px;margin-top:17px}.contact-links a:hover{color:#925c48}.closing{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);padding:64px max(5.5%,calc((100vw - 1068px)/2));color:var(--cream)}.closing p{font-size:12px;color:#c9d3bf;margin-bottom:18px}.closing h2{font-size:35px}.closing .button{flex-shrink:0}.site-footer{max-width:1200px;padding:44px 5.5%;margin:auto;display:flex;justify-content:space-between;gap:35px}.footer-brand{font-size:20px;font-weight:550;letter-spacing:-.055em}.site-footer p{font-size:10px;line-height:1.9;margin-top:13px}.footer-note{max-width:390px}.footer-note p{margin-top:0}.footer-note small{display:block;font-size:9px;color:#8b9282;margin-top:18px}.mobile-booking{display:none}@media(min-width:1600px){.hero{min-height:700px}.hero-copy{padding-top:100px}}@media(max-width:1120px){.site-header{padding:0 4%;height:86px}.site-header nav{gap:20px;font-size:12px}.brand{gap:12px}.brand-meta{font-size:18px}.hero{min-height:590px}.hero-copy{padding:56px 8% 35px}.hero-actions{gap:18px}.hero-note{font-size:10px}.facts-bar{padding:25px 4%}.facts-bar>div{gap:12px;margin-right:20px;padding-right:18px}.facts-bar strong{font-size:31px}.facts-bar span{font-size:10px}.section{padding:80px 6%}.about,.first-step,.visit{gap:50px}.faq-grid{gap:45px}.program-card{padding:30px}.hero-photo figcaption{left:20px;right:20px;font-size:9px}.hero-photo figcaption span:first-child{font-size:13px}.closing{padding:56px 6%}}@media(max-width:850px){.site-header{height:80px;padding:0 6%}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;color:var(--green);font-size:12px;padding:12px 0}.menu-toggle span{font-size:22px;font-weight:300;line-height:1}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;padding:22px 6% 30px;background:var(--cream);border-bottom:1px solid var(--line);align-items:stretch;gap:4px;font-size:14px}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav .nav-book{margin:13px 0 0;justify-content:space-between}.hero{min-height:555px}.hero-copy{padding:45px 9% 35px 12%}.eyebrow{font-size:10px;margin-bottom:24px}.hero-description{font-size:12px}.hero h1{font-size:43px}.hero-actions{margin-top:26px}.hero-actions .button{font-size:11px;gap:20px;padding:14px 16px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:9px;margin-top:25px}.hero-photo figcaption{display:block;bottom:20px}.hero-photo figcaption span{display:block}.hero-photo figcaption span+span{margin-top:2px}.facts-bar{grid-template-columns:1fr 1fr 1fr;padding:23px 6%}.facts-bar>div{display:block;text-align:center;margin:0;padding:0 10px}.facts-bar>div:nth-child(3){border:0}.facts-bar strong{display:block;font-size:31px;margin-bottom:9px}.facts-bar>a{display:none}.facts-bar span{font-size:9px}.section{padding:70px 6%}.about{gap:40px}.about h2{font-size:28px}.about-copy .lead{font-size:18px}.about-copy>p:not(.lead){font-size:12px}.principles{gap:22px}.principles article{padding-left:28px}.principles h3{font-size:16px}.principles p{font-size:11px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading h2{font-size:31px}.section-heading>p{font-size:12px}.program-grid{gap:15px}.program-card{padding:26px 23px}.program-card h3{font-size:23px}.program-card .program-intro{font-size:14px}.program-card p,.program-card ul{font-size:11px}.program-number{font-size:46px}.pill{font-size:9px;padding:4px 9px}.first-step{grid-template-columns:1fr 1.1fr;gap:35px}.first-step h2{font-size:28px}.steps li{gap:14px}.steps h3{font-size:16px}.steps p{font-size:11px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-grid h2{font-size:31px}.faq-grid>div>p:not(.eyebrow){margin:18px 0}.faq-grid>div>p:not(.eyebrow) br{display:none}.faq-list summary{font-size:13px}.visit{gap:35px}.visit h2{font-size:30px}.visit-station{font-size:11px!important}.visit .button{font-size:11px;gap:20px}.visit-details address{font-size:17px}.hours>div{font-size:12px}.phone{font-size:26px}.closing h2{font-size:30px}.closing .button{font-size:11px;gap:20px}.site-footer{padding:38px 6%;gap:45px}.footer-note{max-width:315px}}@media(max-width:580px){html{scroll-padding-top:20px}.site-header{height:76px}.site-header nav{top:76px}.brand-meta{font-size:18px}.brand-meta small{font-size:11px}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 7% 34px}.hero h1{font-size:46px;line-height:1.3}.hero .eyebrow{margin-bottom:24px;font-size:10px}.hero-description{font-size:13px;margin-top:23px}.hero-description br:nth-child(2){display:none}.hero-actions{margin-top:25px;gap:24px}.hero-actions .button{font-size:12px;padding:16px 18px;gap:21px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:9px;margin-top:25px}.hero-photo{height:350px;min-height:350px}.hero-photo img{object-position:center 47%}.hero-photo figcaption{display:flex;bottom:21px;font-size:9px;left:24px;right:24px;padding:11px 13px}.hero-photo figcaption span+span{margin:0}.hero-photo:after{border-width:12px}.facts-bar{padding:22px 4%}.facts-bar strong{font-size:28px}.facts-bar span{font-size:9px}.section{padding:61px 7%}.about{grid-template-columns:1fr;gap:30px}.about h2{font-size:30px}.about-copy .lead{font-size:20px;margin-bottom:18px}.about-copy>p:not(.lead){font-size:13px}.principles{grid-template-columns:1fr;gap:22px;padding-top:26px;margin-top:4px}.principles article{padding-left:35px}.principles h3{font-size:17px;margin-bottom:7px}.principles p{font-size:12px}.principles p br{display:none}.principles article>span{top:2px}.section-heading{gap:19px;margin-bottom:30px}.section-heading h2{font-size:30px}.section-heading>p{font-size:12px}.program-grid{grid-template-columns:1fr;gap:18px}.program-card{padding:30px 28px 25px}.program-top{margin-bottom:25px}.program-number{font-size:54px}.program-card h3{font-size:27px}.program-card .program-intro{font-size:16px}.program-card p,.program-card ul{font-size:12px}.program-card ul{padding:20px 0 24px}.program-card>a{font-size:12px}.program-footnote{font-size:10px;margin-top:19px}.program-footnote br{display:none}.first-step{grid-template-columns:1fr;gap:30px}.first-step h2{font-size:30px}.first-step>div>p:not(.eyebrow){margin:18px 0 23px;font-size:13px}.first-step .button{font-size:12px;min-width:180px}.steps li{gap:22px;padding:23px 0}.steps h3{font-size:17px}.steps p{font-size:12px}.faq-grid{gap:30px}.faq-grid h2{font-size:30px}.faq-list summary{font-size:12px;gap:12px;padding:20px 0}.q-number{font-size:11px}.faq-list details>p{font-size:12px;padding:0 13px 23px 25px}.visit{grid-template-columns:1fr;gap:34px}.visit-station{font-size:12px!important;margin:22px 0!important}.visit .button{font-size:12px}.visit-details>div{padding:24px 0}.visit-details address{font-size:19px}.hours>div{font-size:13px}.small{font-size:10px}.phone{font-size:31px}.contact-links{font-size:12px}.closing{flex-direction:column;align-items:flex-start;padding:46px 7%;gap:28px}.closing h2{font-size:30px}.closing p{font-size:11px;margin-bottom:14px}.closing .button{font-size:12px}.site-footer{padding:34px 7% 106px;flex-direction:column;gap:23px}.site-footer p{font-size:10px}.footer-note{max-width:none}.footer-note small{margin-top:13px}.mobile-booking{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1.65fr;min-height:60px;padding-bottom:env(safe-area-inset-bottom);background:var(--green);border-top:1px solid var(--green)}.mobile-booking>a{display:flex;align-items:center;justify-content:center;gap:22px;background:var(--cream);font-size:12px;font-weight:600;padding:17px 10px}.mobile-booking>a:last-child{background:var(--green);color:var(--cream)}.mobile-booking>a:last-child span{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.menu-toggle,.mobile-booking,.site-header nav,.closing{display:none}.hero{min-height:400px}.section{padding:35px 5%}.program-section,.faq-section,.facts-bar,.program-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}details>p{display:block}.site-footer{padding-bottom:30px}}
/* Sage green, cream ivory and soft coral palette */
:root{--ink:#495b41;--coral:#f0c0ae;--coral-soft:#f7dfd2;--coral-ink:#754a39}
.site-header{background:var(--cream)}.brand-meta{line-height:1.45}.brand-meta small{margin-top:3px}.menu-toggle,.eyebrow,.text-link,.underlined,.hero-photo figcaption,.program-card.light,.program-card.light .program-intro{color:var(--ink)}.eyebrow>span{background:var(--green)}.nav-book{background:var(--coral-soft);border-color:#ddb6a3;color:var(--text)}.nav-book:hover{background:var(--coral);color:var(--text)!important}.primary{background:var(--coral);color:var(--text)}.primary:hover{background:#e8ad97;color:var(--text)}.secondary{border-color:#879a7c;color:var(--ink)}.secondary:hover{background:var(--green);color:var(--text)}.cream{background:var(--cream);color:var(--text)}.cream:hover{background:var(--coral-soft)}.facts-bar,.program-card,.closing{color:var(--text)}.facts-bar>div{border-right-color:#4c5b3d2b}.facts-bar span{opacity:1}.program-card p{color:#43503c}.program-card .program-intro{color:var(--text)}.program-card ul,.program-card>a{border-color:#4c5b3d3d}.pill{border-color:#55664a66;color:var(--text)}.program-card.light .pill{background:var(--coral-soft);border-color:#ddb6a3}.program-number{color:#3e5036}.closing p{color:#43503c}.closing .cream{background:var(--coral);color:var(--text)}.closing .cream:hover{background:var(--coral-soft)}.hero-photo figcaption{background:#fffdf7ed}.q-number,.principles article>span,.steps li>span{color:var(--coral-ink)}.faq-icon:before,.faq-icon:after{background:var(--ink)}.skip{background:var(--ink)}::selection{background:var(--coral-soft);color:var(--text)}@media(max-width:580px){.mobile-booking{background:var(--coral);border-color:#ddb6a3}.mobile-booking>a:last-child{background:var(--coral);color:var(--text)}}
