:root{--ink:#16302c;--ink-deep:#071c1a;--white:#fff;--paper:#fbfaf6;--mist:#dcebe4;--mint:#6db7a4;--teal:#0f8f83;--clay:#bc7158;--rose:#d99b92;--gold:#d6b167;--shadow:#071c1a38;--font-sans:Inter, Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{letter-spacing:0;overflow:hidden}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}@media (width<=760px){body{overflow:auto}}.site-shell{background:var(--ink-deep);width:100%;height:100svh;overflow:hidden}.site-scroll{scroll-behavior:smooth;scroll-snap-type:y mandatory;scrollbar-width:none;height:100svh;overflow-y:auto}.site-scroll::-webkit-scrollbar{display:none}.site-header{z-index:40;pointer-events:none;justify-content:space-between;align-items:center;padding:28px 34px 0;display:flex;position:fixed;top:0;left:0;right:0}.brand-logo,.site-header__actions,.menu-toggle,.call-chip{pointer-events:auto}.brand-logo{color:var(--ink);align-items:center;gap:12px;display:inline-flex}.brand-logo--inverse{color:var(--white)}.brand-logo__mark{border:2px solid;border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;font-weight:800;line-height:1;display:grid}.brand-logo__text{gap:1px;display:grid}.brand-logo__text span{font-size:13px;font-weight:600;line-height:1}.brand-logo__text strong{font-size:29px;font-weight:800;line-height:1.05}.site-header__actions{align-items:center;gap:14px;display:flex}.call-chip,.menu-toggle{color:var(--white);justify-content:center;align-items:center;display:inline-flex}.call-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071c1a2e;border:1px solid #ffffff70;border-radius:8px;gap:8px;min-height:44px;padding:0 16px;font-size:15px;font-weight:700}.menu-toggle{cursor:pointer;background:#071c1a1f;border-radius:8px;width:62px;height:62px}.site-header--open .call-chip,.site-header--open .menu-toggle{color:var(--teal);background:#ffffffb3;border-color:#0f8f832e}.overlay-menu{z-index:35;background:linear-gradient(150deg, #fffffff2, #dcebe4f5), var(--paper);width:520px;max-width:100%;box-shadow:-18px 0 44px var(--shadow);transition:transform .22s;position:fixed;inset:0 0 0 auto;transform:translate(104%)}.overlay-menu--open{transform:translate(0)}.overlay-menu__inner{flex-direction:column;min-height:100%;padding:31px 58px 46px;display:flex}.overlay-menu__nav{gap:12px;margin-top:92px;display:grid}.overlay-menu__nav button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;padding:4px 0;font-size:30px;font-weight:700;line-height:1.45;transition:color .16s,transform .16s}.overlay-menu__nav button:hover,.overlay-menu__nav button.is-active{color:var(--teal);transform:translate(8px)}.overlay-menu__info{gap:12px;margin-top:auto;padding-top:44px;display:grid}.overlay-menu__info a{color:#16302cc2;align-items:center;gap:10px;font-size:15px;line-height:1.45;display:inline-flex}.vertical-nav{z-index:30;gap:13px;display:grid;position:fixed;top:50%;left:28px;transform:translateY(-50%)}.vertical-nav button{cursor:pointer;background:#ffffffdb;border-radius:50%;width:11px;height:11px;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:0 0 #6db7a461}.vertical-nav button.is-active{background:var(--mint);transform:scale(1.26);box-shadow:0 0 0 7px #6db7a433}.landing-section,.contact-section{scroll-snap-align:start;background-image:var(--section-image);min-height:100svh;color:var(--white);background-position:50%;background-repeat:no-repeat;background-size:cover;position:relative;overflow:hidden}.landing-section{align-items:center;padding:128px 9vw 86px;display:flex}.landing-section--left{justify-content:flex-start}.landing-section--right{justify-content:flex-end}.landing-section__shade,.contact-section__shade{z-index:0;pointer-events:none;position:absolute;inset:0}.landing-section--left .landing-section__shade{background:linear-gradient(90deg,#071c1ac2 0%,#071c1a85 38%,#071c1a1f 78%),linear-gradient(#071c1a47,#071c1a33)}.landing-section--right .landing-section__shade{background:linear-gradient(270deg,#071c1ab8 0%,#071c1a7a 42%,#071c1a14 78%),linear-gradient(#071c1a42,#071c1a2e)}.landing-section--clear .landing-section__shade{background:linear-gradient(270deg,#071c1ac7 0%,#071c1a7a 44%,#071c1a0f 78%),radial-gradient(circle at 78% 45%,#6db7a43d,#0000 38%)}.landing-section--earth .landing-section__shade{background:linear-gradient(90deg,#151f1bd4 0%,#151f1b8c 45%,#151f1b14 78%),radial-gradient(circle at 24% 52%,#bc71583d,#0000 36%)}.landing-section--warm .landing-section__shade{background:linear-gradient(270deg,#342618c4 0%,#3426187a 45%,#3426180f 78%),radial-gradient(circle at 84% 56%,#d6b16733,#0000 32%)}.landing-section--rose .landing-section__shade{background:linear-gradient(270deg,#352022bd 0%,#3520226b 43%,#3520220a 78%),radial-gradient(circle at 86% 40%,#d99b9238,#0000 34%)}.landing-section--soft .landing-section__shade{background:linear-gradient(90deg,#08221fb3 0%,#08221f6b 42%,#08221f0a 78%),radial-gradient(circle at 18% 48%,#6db7a433,#0000 34%)}.landing-section__content{z-index:1;width:620px;max-width:100%;position:relative}.landing-section__eyebrow,.contact-section__eyebrow{color:#ffffffd1;margin:0 0 18px;font-size:17px;font-weight:700;line-height:1.45}.landing-section h1{color:var(--white);white-space:pre-line;margin:0;font-size:58px;font-weight:900;line-height:1.18}.landing-section__body{color:#ffffffe0;width:560px;max-width:100%;margin:24px 0 0;font-size:20px;font-weight:500;line-height:1.75}.section-facts{flex-wrap:wrap;gap:10px 18px;margin:28px 0 0;padding:0;list-style:none;display:flex}.section-facts li{color:#ffffffdb;border-bottom:2px solid #ffffff6b;padding:0 0 8px;font-size:15px;font-weight:800;line-height:1.35}.landing-section__cta{background:var(--teal);min-height:58px;color:var(--white);cursor:pointer;border-radius:8px 0;align-items:center;gap:10px;margin-top:42px;padding:0 28px;font-weight:800;transition:transform .18s,background .18s;display:inline-flex;box-shadow:0 18px 35px #0f8f8347}.landing-section__cta:hover{background:#0b7c73;transform:translateY(-2px)}.contact-section{flex-direction:column;justify-content:space-between;min-height:100svh;padding:122px 8vw 0;display:flex}.contact-section__shade{background:linear-gradient(90deg,#071c1ad1 0%,#071c1a8c 44%,#071c1a24 78%),linear-gradient(#071c1a2e,#071c1a57)}.contact-section__content,.program-strip,.site-footer{z-index:1;position:relative}.contact-section__content{grid-template-columns:minmax(0,.85fr) minmax(430px,.72fr);align-items:center;gap:58px;padding-bottom:30px;display:grid}.contact-section__left h2{color:var(--white);margin:0;font-size:46px;font-weight:900;line-height:1.28}.contact-section__left,.contact-section__panel{min-width:0}.contact-section__actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.contact-section__actions a{min-height:52px;color:var(--ink);background:#ffffffeb;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-weight:800;display:inline-flex}.contact-section__notice{color:#ffffffbd;width:520px;max-width:100%;margin:22px 0 0;font-size:14px;line-height:1.7}.contact-section__panel{grid-template-columns:.92fr 1.08fr;gap:12px;display:grid}.hours-box,.location-box{min-height:360px;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfaf6eb;border:1px solid #ffffff3d;border-radius:8px;padding:26px;box-shadow:0 22px 52px #071c1a2e}.hours-box__title,.location-box__title{color:var(--teal);align-items:center;gap:9px;margin-bottom:20px;display:flex}.hours-box h3,.location-box h3,.program-strip h3{color:var(--ink);margin:0;font-size:22px;font-weight:900;line-height:1.3}.hours-box dl{gap:16px;margin:0;display:grid}.hours-box dl div{border-bottom:1px solid #16302c21;gap:5px;padding-bottom:14px;display:grid}.hours-box dt,.hours-box dd,.location-box p{margin:0;font-size:16px;line-height:1.55}.hours-box dt{color:#16302c9e;font-weight:700}.hours-box dd{color:var(--ink);font-weight:900}.location-box p{color:#16302cbf;font-weight:700}.map-sketch{background-color:#f1f4ec;background-image:linear-gradient(90deg,#0f8f831a 1px,#0000 1px),linear-gradient(0deg,#0f8f8314 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #16302c1a;border-radius:8px;min-height:190px;margin-top:20px;display:block;position:relative;overflow:hidden}.map-sketch__line{border-radius:8px;height:14px;display:block;position:absolute}.map-sketch__line--one{background:#d6b167b8;top:64px;left:-24px;right:-20px;transform:rotate(-9deg)}.map-sketch__line--two{background:#6db7a4b8;width:13px;height:auto;top:36px;bottom:-26px;left:42%}.map-sketch__line--three{background:#bc715866;bottom:50px;left:26px;right:34px;transform:rotate(6deg)}.map-sketch__station,.map-sketch__clinic,.map-sketch__road{z-index:1;border-radius:8px;align-items:center;gap:6px;font-weight:900;display:inline-flex;position:absolute}.map-sketch__station{color:#2c6f9f;background:#f7fbff;padding:7px 11px;bottom:70px;left:22px}.map-sketch__clinic{background:var(--teal);color:var(--white);padding:9px 12px;top:82px;right:28px}.map-sketch__road{color:#16302c94;bottom:22px;right:22px}.program-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.program-strip__item{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071c1a6b;border:1px solid #fff3;border-radius:8px;min-height:112px;padding:20px 22px}.program-strip h3{color:var(--white);font-size:18px}.program-strip p{color:#ffffffb8;margin:9px 0 0;font-size:14px;line-height:1.65}.site-footer{background:#071c1aa8;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:34px;min-height:112px;margin:0 -8vw;padding:20px 8vw;display:grid}.site-footer div{color:#ffffffc7;gap:5px;font-size:14px;line-height:1.45;display:grid}.site-footer strong{color:var(--white);font-size:18px}.site-footer p{color:#ffffff8c;text-align:right;margin:0;font-size:13px;line-height:1.45}@media (width<=1180px){.landing-section{padding-left:8vw;padding-right:8vw}.landing-section h1{font-size:48px}.contact-section__content{grid-template-columns:1fr;gap:28px}.contact-section__panel{max-width:880px}.program-strip{grid-template-columns:1fr}.program-strip__item{min-height:0}}@media (width<=900px){.site-header{padding:20px 18px 0}.brand-logo__mark{width:42px;height:42px;font-size:19px}.brand-logo__text strong{font-size:23px}.call-chip{display:none}.menu-toggle{width:52px;height:52px}.overlay-menu__inner{padding:23px 32px 38px}.overlay-menu__nav{margin-top:72px}.overlay-menu__nav button{font-size:25px}.vertical-nav{display:none}.landing-section{align-items:flex-end;min-height:100svh;padding:118px 28px 58px}.landing-section h1{font-size:40px;line-height:1.24}.landing-section__body{font-size:17px;line-height:1.7}.landing-section__cta{margin-top:32px}.contact-section{padding:110px 24px 0}.contact-section__left h2{font-size:36px}.contact-section__panel{grid-template-columns:1fr}.hours-box,.location-box{min-height:0}.site-footer{grid-template-columns:1fr;gap:16px;margin:0 -24px;padding:22px 24px}.site-footer p{text-align:left}}@media (width<=620px){.site-shell{height:auto;min-height:100svh;overflow:visible}.site-scroll{scroll-snap-type:none;height:auto;min-height:100svh;overflow-y:visible}.landing-section,.contact-section{min-height:100svh}.landing-section{padding:104px 22px 44px}.landing-section__shade{background:linear-gradient(#071c1a1f 0%,#071c1a94 54%,#071c1adb 100%)!important}.landing-section--left,.landing-section--right{justify-content:flex-start}.landing-section h1{font-size:32px}.landing-section__eyebrow,.contact-section__eyebrow{margin-bottom:12px;font-size:14px}.landing-section__body{font-size:16px}.section-facts{gap:8px 12px;margin-top:22px}.section-facts li{font-size:13px}.landing-section__cta{min-height:52px;padding:0 20px}.contact-section{padding:104px 18px 0}.contact-section__left h2{font-size:30px}.contact-section__actions a{flex:1 1 0;min-width:0;padding:0 14px}.hours-box,.location-box{padding:22px}.map-sketch{min-height:170px}.program-strip{gap:10px;margin-top:18px}.site-footer{margin:0 -18px;padding:22px 18px}}
