/* 1.6 글꼴: 테마 안의 Pretendard(가변, swap) — 외부 CDN 안 씀 */
@font-face{font-family:'Pretendard Variable';font-weight:45 920;font-style:normal;font-display:swap;src:url('fonts/PretendardVariable.woff2') format('woff2-variations')}
/* ZORA One — 공용 화면 꾸밈. 색·글꼴은 :root 변수(데이터 style 칸)로만 바뀐다 */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.zo{margin:0;background:var(--zo-bg);color:var(--zo-text);font-family:var(--zo-font);font-size:16px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.zo img,.zo video{max-width:100%;display:block}
.zo a{color:inherit}
.zo h1,.zo h2,.zo h3{font-family:var(--zo-font-h);line-height:1.3;margin:0;letter-spacing:-.02em}
.zo p{margin:0}
.zo-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.zo-narrow{max-width:880px}
.zo-center{text-align:center}
.zo-mt{margin-top:32px}
.zo-hl{font-style:normal;color:var(--zo-accent)}
.zo-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* 섹션 공통 */
.zo-s{position:relative;padding:clamp(80px,11vw,150px) 0;overflow:hidden}
.zo-tone-light{background:var(--zo-bg)}
.zo-tone-alt{background:var(--zo-alt)}
.zo-tone-dark{background:var(--zo-dark);color:#f3f4f7}
.zo-tone-primary{background:var(--zo-primary);color:var(--zo-on-primary)}
.zo-tone-dark .zo-sub,.zo-tone-primary .zo-sub,.zo-tone-dark .zo-text,.zo-tone-dark .zo-card p{color:rgba(255,255,255,.72)}
.zo-head{margin-bottom:clamp(36px,5vw,64px);max-width:760px}
.zo-head--c{margin-left:auto;margin-right:auto;text-align:center}
.zo-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--zo-accent);margin-bottom:14px}
.zo-title{font-size:clamp(28px,4.2vw,50px);font-weight:700}
.zo-sub{margin-top:18px;font-size:clamp(15px,1.5vw,18px);color:var(--zo-muted)}
.zo-note{margin-top:22px;font-size:13px;color:var(--zo-muted);opacity:.9}
.zo-tone-dark .zo-note{color:rgba(255,255,255,.55)}

/* 버튼 */
.zo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:calc(var(--zo-r) * 4);font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .25s,background .25s,color .25s,box-shadow .25s;font-family:inherit}
.zo-btn:hover{transform:translateY(-2px)}
.zo-btn--solid{background:var(--zo-accent);color:var(--zo-on-accent);box-shadow:0 10px 28px -12px var(--zo-accent)}
.zo-btn--accent{background:var(--zo-primary);color:var(--zo-on-primary)}
.zo-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(6px)}
.zo-btn--light{background:#fff;color:var(--zo-primary)}
.zo-btn--line{background:transparent;color:var(--zo-primary);border-color:currentColor;min-height:44px;padding:0 20px;font-size:14px}
.zo-tone-dark .zo-btn--line,.zo-tone-primary .zo-btn--line{color:#fff}
.zo-btn--block{width:100%}

/* 머리글 */
.zo-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
.zo-progress span{display:block;height:100%;width:100%;background:var(--zo-accent);transform-origin:0 50%;transform:scaleX(0)}
.zo-hd{position:fixed;top:0;left:0;right:0;z-index:110;transition:background .35s,box-shadow .35s,color .35s;color:#fff}
.zo-hd__in{display:flex;align-items:center;gap:28px;height:76px;max-width:1400px;margin:0 auto;padding:0 clamp(18px,3vw,36px)}
.zo-hd__logo{display:flex;align-items:center;font-weight:800;font-size:20px;text-decoration:none;letter-spacing:-.02em;flex:0 0 auto}
.zo-hd__logo img{max-height:40px;width:auto}
.zo-hd__nav{margin-left:auto}
.zo-hd__nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.zo-hd__nav a{display:block;padding:8px 14px;font-size:15px;font-weight:600;text-decoration:none;border-radius:999px;opacity:.86;transition:opacity .2s,background .2s}
.zo-hd__nav a:hover,.zo-hd__nav a.is-on{opacity:1;background:rgba(127,127,127,.16)}
.zo-hd__tel{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:var(--zo-accent);color:var(--zo-on-accent)!important;font-weight:700;text-decoration:none;font-size:15px;flex:0 0 auto}
.zo-hd__burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;padding:10px}
.zo-hd__burger span{display:block;height:2px;background:currentColor;margin:6px 0;transition:transform .3s,opacity .3s}
.zo-hd.is-solid,.zo-hd-solid .zo-hd{background:color-mix(in srgb,var(--zo-bg) 92%,transparent);backdrop-filter:blur(14px);color:var(--zo-text);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.zo-hd.is-hide{transform:translateY(-100%)}
.zo-hd{transition:transform .35s,background .35s,color .35s}

/* 첫 화면 */
.zo-hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px 0 120px;color:#fff;isolation:isolate}
.zo-hero__bg{position:absolute;inset:-6% 0;z-index:-2}
.zo-hero__media{width:100%;height:100%;object-fit:cover}
.zo-hero__grad{background:radial-gradient(ellipse at 20% 20%,color-mix(in srgb,var(--zo-accent) 55%,transparent),transparent 60%),radial-gradient(ellipse at 80% 70%,color-mix(in srgb,var(--zo-primary) 80%,transparent),transparent 60%),var(--zo-dark)}
.zo-kenburns{animation:zoKb 22s ease-out both}
@keyframes zoKb{from{transform:scale(1.14)}to{transform:scale(1)}}
.zo-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,calc(var(--zo-ov) * .6)) 0%,rgba(0,0,0,var(--zo-ov)) 100%)}
.zo-hero__in{text-align:center}
.zo-hero__in--left{text-align:left}
.zo-hero__eyebrow{display:inline-block;padding:8px 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.08em;margin-bottom:26px;backdrop-filter:blur(6px)}
.zo-hero__title{font-size:clamp(38px,7vw,92px);font-weight:800;line-height:1.15;letter-spacing:-.035em;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.zo-hero__sub{margin:26px auto 0;max-width:720px;font-size:clamp(16px,1.9vw,22px);opacity:.92}
.zo-hero__in--left .zo-hero__sub{margin-left:0}
.zo-hero__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.zo-hero__in--left .zo-hero__btns{justify-content:flex-start}
.zo-hero__badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;padding:0;margin:34px 0 0}
.zo-hero__badges li{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);font-size:14px;font-weight:600}
.zo-hero__down{position:absolute;left:50%;bottom:34px;width:28px;height:46px;margin-left:-14px;border:2px solid rgba(255,255,255,.6);border-radius:16px}
.zo-hero__down span{position:absolute;left:50%;top:9px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:#fff;animation:zoDown 1.8s infinite}
@keyframes zoDown{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.zo-ticker{position:absolute;left:0;right:0;bottom:0;overflow:hidden;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);padding:12px 0;font-weight:600;font-size:14px}
.zo-ticker__track{display:flex;gap:56px;width:max-content;animation:zoTick 38s linear infinite}
.zo-ticker__track span::before{content:'◆';margin-right:12px;color:var(--zo-accent)}
@keyframes zoTick{to{transform:translateX(-50%)}}
.zo-hero:has(.zo-ticker) .zo-hero__down{bottom:70px}

/* 첫 글자 나눠 등장 */
[data-zo-split] .zo-ch{display:inline-block;opacity:0;transform:translateY(.5em) rotate(4deg);transition:opacity .6s,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 16ms + .05s)}
[data-zo-split].is-in .zo-ch{opacity:1;transform:none}
.zo-fx-none [data-zo-split] .zo-ch{opacity:1;transform:none;transition:none}

/* 등장 효과 */
.zo-js [data-zo-anim]{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--zo-d,0s)}
.zo-js [data-zo-anim=up]{transform:translateY(48px)}
.zo-js [data-zo-anim=left]{transform:translateX(-60px)}
.zo-js [data-zo-anim=right]{transform:translateX(60px)}
.zo-js [data-zo-anim=zoom]{transform:scale(.92)}
.zo-js [data-zo-anim].is-in{opacity:1;transform:none}
.zo-fx-soft.zo-js [data-zo-anim]{transform:none!important}
.zo-fx-none.zo-js [data-zo-anim]{opacity:1;transform:none;transition:none}

/* 자리 표시 */
.zo-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:220px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--zo-primary) 10%,transparent) 0 14px,color-mix(in srgb,var(--zo-primary) 5%,transparent) 14px 28px),var(--zo-alt);color:var(--zo-muted);font-size:14px;font-weight:600;border-radius:inherit}
.zo-ph span{padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--zo-bg) 80%,transparent)}
.zo-cover{width:100%;height:100%;object-fit:cover}
.zo-contain{width:100%;height:100%;object-fit:contain}

/* 개요 */
.zo-facts{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
.zo-facts--img{grid-template-columns:1.05fr 1fr}
.zo-facts__img{border-radius:var(--zo-r);overflow:hidden;aspect-ratio:4/3}
.zo-kv{margin:0;border-top:2px solid var(--zo-text)}
.zo-tone-dark .zo-kv,.zo-tone-primary .zo-kv{border-color:rgba(255,255,255,.7)}
.zo-kv__row{display:grid;grid-template-columns:minmax(96px,30%) 1fr;gap:16px;padding:16px 4px;border-bottom:1px solid color-mix(in srgb,var(--zo-text) 14%,transparent)}
.zo-tone-dark .zo-kv__row{border-color:rgba(255,255,255,.14)}
.zo-kv dt{font-weight:700;color:var(--zo-muted)}
.zo-tone-dark .zo-kv dt{color:rgba(255,255,255,.6)}
.zo-kv dd{margin:0;font-weight:500}

/* 카드 */
.zo-grid{display:grid;gap:clamp(16px,2vw,26px)}
.zo-grid--2{grid-template-columns:repeat(2,1fr)}.zo-grid--3{grid-template-columns:repeat(3,1fr)}.zo-grid--4{grid-template-columns:repeat(4,1fr)}
.zo-card{background:var(--zo-bg);border-radius:var(--zo-r);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 40px -26px rgba(0,0,0,.28);transition:transform .4s,box-shadow .4s;display:flex;flex-direction:column}
.zo-tone-light .zo-card{background:var(--zo-alt);box-shadow:none}
.zo-tone-dark .zo-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);box-shadow:none}
.zo-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -24px rgba(0,0,0,.35)}
.zo-card__img{aspect-ratio:16/10;overflow:hidden}
.zo-card__img img{transition:transform .8s}
.zo-card:hover .zo-card__img img{transform:scale(1.06)}
.zo-card__icon{font-size:34px;line-height:1;padding:30px 28px 0}
.zo-card__body{padding:24px 28px 30px}
.zo-card h3{font-size:20px;font-weight:700;margin-bottom:10px}
.zo-card p{color:var(--zo-muted);font-size:15px}
.zo-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--zo-accent);margin-bottom:8px;letter-spacing:.06em}

/* 좌우 나눔 */
.zo-split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.zo-split--rev .zo-split__media{order:2}
.zo-split__frame{border-radius:var(--zo-r);overflow:hidden;aspect-ratio:4/3.2;will-change:transform}
.zo-caption{margin-top:10px;font-size:13px;color:var(--zo-muted)}
.zo-split .zo-head{margin-bottom:26px}
.zo-text{font-size:17px;color:var(--zo-muted)}
.zo-tone-dark .zo-text{color:rgba(255,255,255,.75)}
.zo-checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.zo-checks li{position:relative;padding-left:32px;font-weight:500}
.zo-checks li::before{content:'';position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--zo-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.zo-split .zo-kv{margin-top:24px}

/* 갤러리 */
.zo-gal{display:grid;gap:12px}
.zo-gal--2{grid-template-columns:repeat(2,1fr)}.zo-gal--3{grid-template-columns:repeat(3,1fr)}.zo-gal--4{grid-template-columns:repeat(4,1fr)}
.zo-gal__item{margin:0;position:relative;border-radius:var(--zo-r);overflow:hidden;aspect-ratio:4/3}
.zo-gal__item a{display:block;height:100%}
.zo-gal__item img{transition:transform .9s}
.zo-gal__item:hover img{transform:scale(1.07)}
.zo-gal__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;font-size:14px;font-weight:600}
.zo-slider{position:relative}
.zo-slider__track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(clamp(18px,4vw,40px),calc((100vw - 1240px)/2 + 40px));scrollbar-width:none;scroll-behavior:smooth}
.zo-slider__track::-webkit-scrollbar{display:none}
.zo-slider .zo-gal__item{flex:0 0 min(78vw,720px);scroll-snap-align:center;aspect-ratio:16/10}
.zo-slider__nav{position:absolute;top:50%;width:54px;height:54px;margin-top:-27px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#111;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:2}
.zo-prev{left:clamp(10px,3vw,40px)}.zo-next{right:clamp(10px,3vw,40px)}

/* 탭(평면·진료과목) */
.zo-tabs__nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:34px}
.zo-tabs__btn{padding:12px 22px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--zo-text) 18%,transparent);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;transition:all .25s}
.zo-tabs__btn.is-on{background:var(--zo-primary);border-color:var(--zo-primary);color:var(--zo-on-primary)}
.zo-tone-dark .zo-tabs__btn{border-color:rgba(255,255,255,.25)}
.zo-tone-dark .zo-tabs__btn.is-on{background:var(--zo-accent);border-color:var(--zo-accent)}
.zo-tabs__pane{display:none;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.zo-tabs__pane.is-on{display:grid;animation:zoFade .5s ease}
@keyframes zoFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.zo-tabs__media{background:#fff;border-radius:var(--zo-r);aspect-ratio:4/3;overflow:hidden;padding:12px}
.zo-tabs__media a{display:block;height:100%}
.zo-tabs__info h3{font-size:clamp(22px,2.6vw,32px);margin-bottom:12px}
.zo-tabs__info p{color:var(--zo-muted);margin-bottom:18px}
.zo-tone-dark .zo-tabs__info p{color:rgba(255,255,255,.7)}

/* 숫자 */
.zo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.zo-stat{text-align:center;padding:28px 12px;border-radius:var(--zo-r);background:color-mix(in srgb,var(--zo-primary) 6%,transparent)}
.zo-tone-dark .zo-stat,.zo-tone-primary .zo-stat{background:rgba(255,255,255,.06)}
.zo-stat strong{display:block;font-family:var(--zo-font-h);font-size:clamp(38px,5vw,64px);font-weight:800;color:var(--zo-accent);line-height:1.1;font-variant-numeric:tabular-nums}
.zo-stat small{font-size:.45em;margin-left:4px}
.zo-stat>span{display:block;margin-top:8px;font-weight:600;opacity:.8}

/* 사람 */
.zo-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.zo-person{border-radius:var(--zo-r);overflow:hidden;background:var(--zo-alt)}
.zo-tone-alt .zo-person{background:var(--zo-bg)}
.zo-person__photo{aspect-ratio:4/4.6;overflow:hidden}
.zo-person__body{padding:22px 24px 28px}
.zo-person__role{font-size:13px;font-weight:700;color:var(--zo-accent);margin-bottom:4px}
.zo-person h3{font-size:22px;margin-bottom:10px}
.zo-person p{color:var(--zo-muted);font-size:15px}
.zo-person ul{margin:12px 0 0;padding-left:18px;color:var(--zo-muted);font-size:14px}

/* 일정 */
.zo-tl{list-style:none;margin:0 auto;padding:0;max-width:880px;position:relative}
.zo-tl::before{content:'';position:absolute;left:118px;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--zo-text) 14%,transparent)}
.zo-tone-dark .zo-tl::before{background:rgba(255,255,255,.18)}
.zo-tl__item{display:grid;grid-template-columns:100px 1fr;gap:40px;padding:18px 0;position:relative}
.zo-tl__item::before{content:'';position:absolute;left:112px;top:28px;width:14px;height:14px;border-radius:50%;background:var(--zo-bg);border:3px solid var(--zo-accent)}
.zo-tl__item.is-active::before{background:var(--zo-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--zo-accent) 25%,transparent)}
.zo-tl__date{font-weight:800;color:var(--zo-accent);text-align:right;padding-top:2px}
.zo-tl h3{font-size:19px}
.zo-tl p{color:var(--zo-muted);font-size:15px;margin-top:4px}
.zo-tone-dark .zo-tl p{color:rgba(255,255,255,.65)}
.zo-tl--row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;max-width:none}
.zo-tl--row::before{display:none}
.zo-tl--row .zo-tl__item{grid-template-columns:1fr;gap:6px;padding:24px;border-radius:var(--zo-r);background:color-mix(in srgb,var(--zo-primary) 6%,transparent);text-align:center}
.zo-tone-dark .zo-tl--row .zo-tl__item{background:rgba(255,255,255,.06)}
.zo-tl--row .zo-tl__item::before{display:none}
.zo-tl--row .zo-tl__date{text-align:center;font-size:20px}
.zo-tl--row .zo-tl__item.is-active{background:var(--zo-accent);color:var(--zo-on-accent)}
.zo-tl--row .zo-tl__item.is-active .zo-tl__date,.zo-tl--row .zo-tl__item.is-active p{color:var(--zo-on-accent)}

/* 가격 */
.zo-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.zo-price{position:relative;padding:32px 28px;border-radius:var(--zo-r);background:var(--zo-alt);border:1.5px solid transparent}
.zo-tone-alt .zo-price{background:var(--zo-bg)}
.zo-price.is-hl{border-color:var(--zo-accent);box-shadow:0 20px 50px -30px var(--zo-accent)}
.zo-price__badge{position:absolute;top:-12px;left:24px;padding:4px 12px;border-radius:999px;background:var(--zo-accent);color:var(--zo-on-accent);font-size:12px;font-weight:700}
.zo-price h3{font-size:19px}
.zo-price__num{font-size:30px;font-weight:800;margin:10px 0;color:var(--zo-primary)}
.zo-price__desc{color:var(--zo-muted);font-size:14px}
.zo-price ul{margin:16px 0 0;padding-left:18px;font-size:15px;color:var(--zo-muted)}

/* 자주 묻는 질문 */
.zo-faq{display:grid;gap:12px}
.zo-faq__item{border-radius:var(--zo-r);background:var(--zo-alt);overflow:hidden}
.zo-tone-alt .zo-faq__item{background:var(--zo-bg)}
.zo-tone-dark .zo-faq__item{background:rgba(255,255,255,.06)}
.zo-faq__item summary{cursor:pointer;list-style:none;padding:22px 56px 22px 26px;font-weight:700;font-size:17px;position:relative}
.zo-faq__item summary::-webkit-details-marker{display:none}
.zo-faq__item summary::after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--zo-accent);transition:transform .3s}
.zo-faq__item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.zo-faq__item>div{padding:0 26px 24px;color:var(--zo-muted)}
.zo-tone-dark .zo-faq__item>div{color:rgba(255,255,255,.7)}

/* 진료·영업 시간 */
.zo-hours{display:grid;gap:32px;max-width:980px;margin:0 auto}
.zo-hours--side{grid-template-columns:1.4fr 1fr;align-items:stretch}
.zo-hours__tbl{width:100%;border-collapse:collapse;font-size:17px}
.zo-hours__tbl th,.zo-hours__tbl td{padding:16px 10px;border-bottom:1px solid color-mix(in srgb,var(--zo-text) 12%,transparent);text-align:left}
.zo-hours__tbl th{width:34%;font-weight:700}
.zo-hours__tbl tr.is-off td{color:#d24a4a;font-weight:700}
.zo-hours__call{border-radius:var(--zo-r);background:var(--zo-primary);color:var(--zo-on-primary);padding:36px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.zo-hours__tel{font-size:clamp(28px,3.4vw,40px);font-weight:800;text-decoration:none;font-variant-numeric:tabular-nums}

/* 위치 */
.zo-loc{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.zo-loc__map{border-radius:var(--zo-r);overflow:hidden;aspect-ratio:4/3;background:var(--zo-alt)}
.zo-map{width:100%;height:100%;border:0;display:block}
.zo-loc__addr{font-size:20px;font-weight:700;margin-bottom:18px}
.zo-loc__pts{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px}
.zo-loc__pts li{display:flex;gap:14px;align-items:flex-start}
.zo-loc__ic{flex:0 0 42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--zo-accent) 16%,transparent);font-size:20px}
.zo-loc__pts p{color:var(--zo-muted);font-size:14px}
.zo-tone-dark .zo-loc__pts p{color:rgba(255,255,255,.65)}
.zo-loc__links{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}

/* 행동 유도 */
.zo-cta{text-align:center;position:relative;z-index:1}
.zo-cta__bg{position:absolute;inset:-10% 0;z-index:0}
.zo-cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.28}
.zo-cta__btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* 상담 */
.zo-contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}
.zo-contact .zo-head{margin-bottom:28px}
.zo-contact__tel{display:block;text-decoration:none;font-size:clamp(30px,3.6vw,44px);font-weight:800;color:var(--zo-accent);margin-bottom:26px;font-variant-numeric:tabular-nums}
.zo-contact__tel small{display:block;font-size:14px;color:var(--zo-muted);font-weight:600}
.zo-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:clamp(24px,3vw,40px);border-radius:calc(var(--zo-r) * 1.4);background:var(--zo-bg);color:var(--zo-text);box-shadow:0 30px 60px -40px rgba(0,0,0,.4)}
.zo-tone-light .zo-form{background:var(--zo-alt);box-shadow:none}
.zo-field{display:grid;gap:6px;font-size:14px;font-weight:600}
.zo-field--full,.zo-agree,.zo-agree__more,.zo-form .zo-btn,.zo-form__msg{grid-column:1/-1}
.zo-field b,.zo-agree b{color:#d24a4a}
.zo-field input,.zo-field select,.zo-field textarea{width:100%;font:inherit;font-weight:400;font-size:16px;padding:14px 16px;border-radius:calc(var(--zo-r) * .7);border:1.5px solid color-mix(in srgb,var(--zo-text) 14%,transparent);background:var(--zo-bg);color:var(--zo-text);transition:border-color .2s,box-shadow .2s}
.zo-field input:focus,.zo-field select:focus,.zo-field textarea:focus{outline:0;border-color:var(--zo-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--zo-accent) 18%,transparent)}
.zo-agree{display:flex;gap:8px;align-items:center;font-size:14px}
.zo-agree input{width:18px;height:18px;accent-color:var(--zo-accent)}
.zo-agree__more{font-size:13px;color:var(--zo-muted)}
.zo-agree__more summary{cursor:pointer}
.zo-agree__more p{margin-top:8px}
.zo-form__msg{min-height:1.4em;font-size:14px;font-weight:600;text-align:center}
.zo-form__msg.is-ok{color:#1f9d55}.zo-form__msg.is-err{color:#d24a4a}

.zo-notice{padding:26px 30px;border-radius:var(--zo-r);border-left:4px solid var(--zo-accent);background:color-mix(in srgb,var(--zo-accent) 8%,transparent)}
.zo-notice strong{display:block;margin-bottom:6px}
.zo-html{line-height:1.8}

/* 바닥글 */
.zo-ft{background:var(--zo-dark);color:rgba(255,255,255,.6);padding:56px 0 110px;font-size:13px}
.zo-ft__name{color:#fff;font-weight:800;font-size:18px;margin-bottom:14px}
.zo-ft__info{display:flex;flex-wrap:wrap;gap:4px 18px}
.zo-ft__disc{margin-top:14px;max-width:900px;opacity:.8}
.zo-ft__copy{margin-top:18px;opacity:.6}

/* 떠 있는 버튼 */
.zo-fl{position:fixed;right:20px;bottom:24px;z-index:105;display:flex;flex-direction:column;gap:10px;transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.zo-fl.is-on{transform:none}
.zo-fl__btn{display:flex;align-items:center;justify-content:center;min-width:120px;height:52px;padding:0 20px;border-radius:999px;font-weight:800;text-decoration:none;color:#fff!important;box-shadow:0 12px 30px -10px rgba(0,0,0,.4);font-size:15px}
.zo-fl__tel{background:var(--zo-primary)}
.zo-fl__kakao{background:#fee500;color:#191919!important}
.zo-fl__form{background:var(--zo-accent);color:var(--zo-on-accent)!important}

/* 섹션 점 */
.zo-dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:100;display:none;flex-direction:column;gap:12px}
@media (min-width:1024px){.zo-scroll-onepage .zo-dots{display:flex}}
.zo-dots a{position:relative;width:12px;height:12px;border-radius:50%;background:rgba(127,127,127,.45);border:2px solid rgba(255,255,255,.7);transition:transform .3s,background .3s}
.zo-dots a.is-on{background:var(--zo-accent);transform:scale(1.35)}
.zo-dots a span{position:absolute;right:24px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:4px 10px;border-radius:6px;background:rgba(0,0,0,.75);color:#fff;font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s}
.zo-dots a:hover span{opacity:1}
.zo-scroll-onepage .zo-fl{right:56px}

/* 원페이지: 섹션이 한 화면 */
@media (min-width:1024px){
  .zo-scroll-onepage .zo-s{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
  .zo-scroll-onepage .zo-s.zo-s--gallery{display:block}
}

/* 사진 크게 */
.zo-lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:4vw}
.zo-lb[hidden]{display:none}
.zo-lb img{max-width:100%;max-height:92vh;object-fit:contain;border-radius:8px;animation:zoFade .35s}
.zo-lb__x{position:absolute;top:18px;right:22px;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;cursor:pointer}

.zo-pvbar{position:fixed;left:50%;top:84px;transform:translateX(-50%);z-index:300;padding:10px 18px;border-radius:999px;background:rgba(17,17,17,.88);color:#fff;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100vw - 32px);text-align:center;pointer-events:none}
.zo-pvbar{animation:zoPvHide .5s 6s forwards}@keyframes zoPvHide{to{opacity:0;visibility:hidden}}@media (max-width:640px){.zo-pvbar{font-size:11px;padding:7px 12px;top:74px}}
.zo-pvbar a{color:#ffd76a}

/* 모바일 */
@media (max-width:1023px){
  .zo-hd__nav{position:fixed;inset:68px 0 auto 0;background:var(--zo-bg);color:var(--zo-text);max-height:0;overflow:hidden;transition:max-height .4s ease;box-shadow:0 20px 30px -20px rgba(0,0,0,.25)}
  .zo-hd.is-open .zo-hd__nav{max-height:80vh;overflow:auto}
  .zo-hd__nav ul{flex-direction:column;padding:10px 16px 20px}
  .zo-hd__nav a{padding:14px 12px;font-size:17px;border-radius:10px}
  .zo-hd__burger{display:block}
  .zo-hd__tel{display:none}
  .zo-hd__in{height:68px}
  .zo-hd.is-open{background:var(--zo-bg);color:var(--zo-text)}
  .zo-hd.is-open .zo-hd__burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .zo-hd.is-open .zo-hd__burger span:nth-child(2){opacity:0}
  .zo-hd.is-open .zo-hd__burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .zo-facts--img,.zo-split,.zo-tabs__pane,.zo-loc,.zo-contact,.zo-hours--side{grid-template-columns:1fr}
  .zo-split--rev .zo-split__media{order:0}
  .zo-grid--3,.zo-grid--4{grid-template-columns:repeat(2,1fr)}
  .zo-gal--3,.zo-gal--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .zo-grid--2,.zo-grid--3,.zo-grid--4{grid-template-columns:1fr}
  .zo-form{grid-template-columns:1fr}
  .zo-tl::before{left:6px}.zo-tl__item{grid-template-columns:1fr;gap:4px;padding-left:30px}.zo-tl__item::before{left:0;top:24px}.zo-tl__date{text-align:left}
  .zo-kv__row{grid-template-columns:1fr;gap:2px}
  .zo-fl{left:0;right:0!important;bottom:0;flex-direction:row;gap:0;padding:0 0 env(safe-area-inset-bottom);background:var(--zo-dark)}
  .zo-fl__btn{flex:1;border-radius:0;min-width:0;height:58px;box-shadow:none}
  .zo-hero__down{display:none}
  .zo-slider__nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .zo-js [data-zo-anim],[data-zo-split] .zo-ch{opacity:1!important;transform:none!important}
}

/* ── 서브페이지(1.1) ── */
.zo-hd__nav li{position:relative}
.zo-hd__nav li.is-cur>a{opacity:1;color:var(--zo-accent)}
.zo-hd__sub{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);min-width:170px;padding:8px!important;margin:0;list-style:none;display:block!important;background:var(--zo-bg);color:var(--zo-text);border-radius:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.zo-hd__nav li.has-sub:hover>.zo-hd__sub,.zo-hd__nav li.has-sub:focus-within>.zo-hd__sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.zo-hd__sub a{white-space:nowrap;font-size:14px!important;padding:9px 12px!important;border-radius:8px!important}
.zo-phero{min-height:46vh;display:flex;align-items:flex-end;padding:150px 0 64px;color:#fff;isolation:isolate}
.zo-phero__bg{position:absolute;inset:-8% 0;z-index:-2}
.zo-phero__bg img{width:100%;height:100%;object-fit:cover}
.zo-phero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.6))}
.zo-phero__title{font-size:clamp(32px,5vw,62px);font-weight:800;letter-spacing:-.03em}
.zo-phero__sub{margin-top:14px;font-size:clamp(15px,1.6vw,19px);opacity:.88;max-width:720px}
.zo-crumb{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.8;margin-bottom:14px}
.zo-crumb a{text-decoration:none}
.zo-crumb a:hover{text-decoration:underline}
.zo-is-sub .zo-s:not(.zo-phero){padding:clamp(64px,8vw,110px) 0}
.zo-pnav{display:flex;justify-content:space-between;gap:12px;padding-top:40px;padding-bottom:56px}
.zo-pnav__a{display:flex;flex-direction:column;gap:2px;padding:16px 22px;border-radius:var(--zo-r);background:var(--zo-alt);text-decoration:none;font-weight:700;min-width:180px;transition:transform .25s}
.zo-pnav__a:hover{transform:translateY(-2px)}
.zo-pnav__a small{font-size:12px;color:var(--zo-muted);font-weight:600}
.zo-pnav__next{text-align:right;margin-left:auto}
.zo-ft__nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
.zo-ft__nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:14px;font-weight:600}
.zo-ft__nav a:hover{color:#fff}
@media (max-width:1023px){
  .zo-hd__sub{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:transparent;padding:0 0 6px 14px!important;min-width:0}
  .zo-hd__sub a{font-size:15px!important;padding:8px 12px!important;opacity:.75}
  .zo-pnav__a{min-width:0;flex:1}
}

/* ── 1.2 첫 화면 좌우형·후기·로고 띠·비교표 ── */
.zo-hero--split{color:var(--zo-text);min-height:auto;padding:150px 0 100px}
.zo-hero--split.zo-tone-dark,.zo-hero--split.zo-tone-primary{color:#fff}
.zo-hsplit{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.zo-hsplit__title{font-size:clamp(34px,5.4vw,68px);font-weight:800;line-height:1.18;letter-spacing:-.035em}
.zo-hsplit__title strong{color:var(--zo-accent)}
.zo-hsplit .zo-sub{margin-top:22px;max-width:560px}
.zo-hsplit__btns{justify-content:flex-start}
.zo-hero--split .zo-btn--ghost{color:var(--zo-primary);border-color:color-mix(in srgb,var(--zo-primary) 35%,transparent);background:transparent}
.zo-hero--split.zo-tone-dark .zo-btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.zo-hsplit__badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:26px 0 0}
.zo-hsplit__badges li{padding:7px 14px;border-radius:999px;background:color-mix(in srgb,var(--zo-primary) 8%,transparent);font-size:13.5px;font-weight:600}
.zo-hsplit__stats{display:flex;gap:clamp(18px,3vw,40px);margin-top:34px;padding-top:26px;border-top:1px solid color-mix(in srgb,var(--zo-text) 12%,transparent)}
.zo-hsplit__stats strong{display:block;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--zo-primary);font-variant-numeric:tabular-nums}
.zo-tone-dark .zo-hsplit__stats strong{color:var(--zo-accent)}
.zo-hsplit__stats small{font-size:.5em;margin-left:2px}
.zo-hsplit__stats span{font-size:13px;color:var(--zo-muted)}
.zo-hsplit__media{position:relative}
.zo-hsplit__frame{border-radius:calc(var(--zo-r) * 1.6);overflow:hidden;aspect-ratio:4/4.4;box-shadow:0 40px 80px -40px rgba(0,0,0,.45)}
.zo-hsplit__card{position:absolute;left:-24px;bottom:28px;max-width:260px;padding:16px 20px;border-radius:var(--zo-r);background:var(--zo-bg);color:var(--zo-text);box-shadow:0 20px 40px -18px rgba(0,0,0,.35);font-size:14px;font-weight:600;line-height:1.5}
.zo-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.zo-reviews--row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.zo-reviews--row .zo-review{flex:0 0 min(80vw,360px);scroll-snap-align:start}
.zo-review{margin:0;padding:26px 26px 22px;border-radius:var(--zo-r);background:var(--zo-alt);display:flex;flex-direction:column;gap:12px}
.zo-tone-alt .zo-review{background:var(--zo-bg)}
.zo-tone-dark .zo-review{background:rgba(255,255,255,.06)}
.zo-review__stars{color:#f5b301;letter-spacing:2px}
.zo-review__stars span{color:color-mix(in srgb,var(--zo-text) 18%,transparent)}
.zo-review blockquote{margin:0;font-size:15.5px;line-height:1.75}
.zo-review figcaption{font-size:13px;color:var(--zo-muted);margin-top:auto}
.zo-logos{overflow:hidden;padding:6px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.zo-logos__track{display:flex;gap:56px;width:max-content;list-style:none;margin:0;padding:0;animation:zoTick 40s linear infinite;align-items:center}
.zo-logos__track li{flex:0 0 auto;opacity:.7;font-weight:800;font-size:18px;letter-spacing:.02em;color:var(--zo-muted)}
.zo-logos__track img{height:34px;width:auto;filter:grayscale(1)}
.zo-logo-s{padding:40px 0!important}
.zo-cmp{overflow-x:auto;border-radius:var(--zo-r);background:var(--zo-bg);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.zo-tone-light .zo-cmp{background:var(--zo-alt)}
.zo-cmp table{width:100%;border-collapse:collapse;min-width:560px}
.zo-cmp th,.zo-cmp td{padding:16px 14px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--zo-text) 10%,transparent);font-size:15px}
.zo-cmp tbody th{text-align:left;font-weight:600;color:var(--zo-muted)}
.zo-cmp thead th{font-size:16px;font-weight:800}
.zo-cmp .is-hl{background:color-mix(in srgb,var(--zo-accent) 10%,transparent);color:var(--zo-text)}
.zo-cmp thead .is-hl{background:var(--zo-accent);color:var(--zo-on-accent)}
.zo-yes{color:var(--zo-accent);font-weight:800;font-size:18px}
.zo-no{color:color-mix(in srgb,var(--zo-text) 30%,transparent)}

@media (max-width:1023px){.zo-hsplit{grid-template-columns:1fr}.zo-hsplit__card{left:12px}.zo-hero--split{padding-top:110px}}

/* ══════════ 1.3 디자인 층 — 정돈된 편집 디자인(이모지·과한 둥근 모양 줄이고, 선·여백·사진 중심) ══════════ */
.zo{--zo-line:color-mix(in srgb,var(--zo-text) 11%,transparent);--zo-btn-r:min(var(--zo-r),10px)}
.zo h1,.zo h2,.zo h3{letter-spacing:-.025em}
.zo-ic{width:24px;height:24px;flex:0 0 auto}
.zo-head{max-width:820px}
.zo-head--l{margin-left:0;text-align:left}
.zo-eyebrow{display:inline-flex;align-items:center;gap:12px;letter-spacing:.2em;font-size:12px}
.zo-eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.zo-head--c .zo-eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.zo-eyebrow__n{font-variant-numeric:tabular-nums;color:var(--zo-text);opacity:.45;letter-spacing:.05em;margin-right:2px}
.zo-tone-dark .zo-eyebrow__n,.zo-tone-primary .zo-eyebrow__n{color:#fff}
.zo-title{font-weight:700;line-height:1.22}
.zo-title strong,.zo-hero__title strong,.zo-phero__title strong{color:var(--zo-accent);font-weight:inherit}
.zo-sub{line-height:1.75}
.zo-btn{border-radius:var(--zo-btn-r);gap:10px;letter-spacing:-.01em;min-height:54px;padding:0 26px}
.zo-btn__ic{width:18px;height:18px;transition:transform .25s}
.zo-btn:hover .zo-btn__ic,.zo-more:hover .zo-btn__ic{transform:translateX(4px)}
.zo-btn--solid{box-shadow:none}
.zo-btn--solid:hover{filter:brightness(1.06)}
.zo-btn--ghost{backdrop-filter:none;background:transparent}
.zo-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--zo-text);padding:10px 0;border-bottom:1.5px solid currentColor;white-space:nowrap}
.zo-tone-dark .zo-more{color:#fff}
.zo-hd__in{height:80px}
.zo-hd__logo{font-size:19px;letter-spacing:.02em}
.zo-hd__nav a{border-radius:0;background:transparent!important;position:relative;font-size:15px;padding:8px 14px}
.zo-hd__nav>ul>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.zo-hd__nav>ul>li>a:hover::after,.zo-hd__nav>ul>li.is-cur>a::after,.zo-hd__nav>ul>li>a.is-on::after{transform:scaleX(1)}
.zo-hd__tel{border-radius:var(--zo-btn-r)}
.zo-hd.is-solid,.zo-hd-solid .zo-hd{box-shadow:0 1px 0 var(--zo-line)}
.zo-hd__sub{border-radius:var(--zo-btn-r);border:1px solid var(--zo-line);box-shadow:0 18px 40px -22px rgba(0,0,0,.35)}
.zo-hero__shade{background:linear-gradient(90deg,rgba(0,0,0,calc(var(--zo-ov) * 1.15)) 0%,rgba(0,0,0,calc(var(--zo-ov) * .55)) 60%,rgba(0,0,0,calc(var(--zo-ov) * .35)) 100%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%)}
.zo-hero__eyebrow{border-radius:0;border:0;border-left:2px solid var(--zo-accent);padding:2px 0 2px 14px;backdrop-filter:none;letter-spacing:.16em;font-size:13px}
.zo-hero__title{font-weight:700;text-shadow:none;letter-spacing:-.04em}
.zo-hero__badges li{border-radius:0;background:transparent;border:1px solid rgba(255,255,255,.35);font-weight:500}
.zo-ticker{background:color-mix(in srgb,var(--zo-dark) 78%,transparent);backdrop-filter:none;letter-spacing:.02em;font-weight:500}
.zo-ticker__track span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--zo-accent);vertical-align:middle;margin-right:14px}
.zo-hsplit__badges li{border-radius:0;background:transparent;border:1px solid var(--zo-line)}
.zo-hsplit__frame{border-radius:var(--zo-r)}
.zo-hsplit__card{border-radius:var(--zo-btn-r);border:1px solid var(--zo-line)}
.zo-ph{flex-direction:column;gap:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--zo-primary) 9%,var(--zo-bg)),color-mix(in srgb,var(--zo-accent) 12%,var(--zo-bg)));color:color-mix(in srgb,var(--zo-text) 45%,transparent);font-weight:500;font-size:13px}
.zo-ph span{background:transparent;padding:0}
.zo-ph__ic{width:30px;height:30px;opacity:.55}
.zo-tone-dark .zo-ph{background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:rgba(255,255,255,.45)}
.zo-mono{width:100%;height:100%;display:grid;place-items:center;font-family:var(--zo-font-h);font-size:72px;font-weight:700;color:color-mix(in srgb,var(--zo-primary) 55%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--zo-primary) 8%,var(--zo-bg)),color-mix(in srgb,var(--zo-accent) 14%,var(--zo-bg)))}
.zo-card{border-radius:var(--zo-r);box-shadow:none;border:1px solid var(--zo-line);background:var(--zo-bg)}
.zo-tone-light .zo-card{background:var(--zo-bg)}
.zo-tone-alt .zo-card{background:var(--zo-bg);border-color:transparent}
.zo-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(0,0,0,.35)}
.zo-card__icon{padding:30px 28px 0;color:var(--zo-accent)}
.zo-card__icon .zo-ic{width:34px;height:34px;stroke-width:1.4}
.zo-card h3{font-size:19px}
.zo-tag{letter-spacing:.14em;font-size:11.5px}
.zo-flist{list-style:none;margin:0;padding:0;display:grid;gap:0 clamp(28px,4vw,64px);border-top:1px solid var(--zo-line)}
.zo-flist--2{grid-template-columns:repeat(2,1fr)}.zo-flist--3{grid-template-columns:repeat(3,1fr)}
.zo-flist__item{display:flex;gap:20px;padding:30px 0;border-bottom:1px solid var(--zo-line)}
.zo-tone-dark .zo-flist,.zo-tone-dark .zo-flist__item{border-color:rgba(255,255,255,.12)}
.zo-flist__n{flex:0 0 48px;height:48px;display:grid;place-items:center;border:1px solid var(--zo-line);border-radius:50%;color:var(--zo-accent);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.zo-flist__n .zo-ic{width:22px;height:22px}
.zo-flist h3{font-size:18px;margin-bottom:6px}
.zo-flist p{color:var(--zo-muted);font-size:15px}
.zo-tone-dark .zo-flist p{color:rgba(255,255,255,.65)}
.zo-tiles{display:grid;gap:14px}
.zo-tiles--2{grid-template-columns:repeat(2,1fr)}.zo-tiles--3{grid-template-columns:repeat(3,1fr)}.zo-tiles--4{grid-template-columns:repeat(4,1fr)}
.zo-tile{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--zo-r);color:#fff;isolation:isolate}
.zo-tile img,.zo-tile .zo-ph{position:absolute;inset:0;transition:transform 1s}
.zo-tile:hover img{transform:scale(1.06)}
.zo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));z-index:0}
.zo-tile__txt{position:absolute;left:0;right:0;bottom:0;padding:24px;z-index:1}
.zo-tile h3{font-size:21px}
.zo-tile p{font-size:14px;opacity:.85;margin-top:6px}
.zo-tile .zo-tag{color:#fff;opacity:.8}
.zo-split__frame{border-radius:var(--zo-r);aspect-ratio:5/4}
.zo-checks li::before{border-radius:0;border:0;width:18px;height:2px;top:.8em;background:var(--zo-accent)}
.zo-checks li{padding-left:30px}
.zo-gal__item{border-radius:var(--zo-r)}
.zo-gal--masonry{grid-auto-rows:220px;grid-auto-flow:dense}
.zo-gal--masonry .zo-gal__item{aspect-ratio:auto;height:100%}
.zo-gal--masonry .zo-gal__item:nth-child(6n+1){grid-row:span 2;grid-column:span 2}
.zo-gal--masonry .zo-gal__item:nth-child(6n+4){grid-row:span 2}
.zo-stats{gap:0;border-top:1px solid var(--zo-line);border-bottom:1px solid var(--zo-line)}
.zo-tone-dark .zo-stats,.zo-tone-primary .zo-stats{border-color:rgba(255,255,255,.16)}
.zo-stat{background:none!important;border-radius:0;padding:36px 18px}
.zo-stat+.zo-stat{border-left:1px solid var(--zo-line)}
.zo-tone-dark .zo-stat+.zo-stat,.zo-tone-primary .zo-stat+.zo-stat{border-color:rgba(255,255,255,.16)}
.zo-stat strong{font-weight:700;letter-spacing:-.03em}
.zo-tone-primary .zo-stat strong{color:var(--zo-on-primary)}
.zo-stat>span{font-size:14px;font-weight:500}
.zo-person{background:transparent!important;border-radius:0}
.zo-person__photo{border-radius:var(--zo-r);overflow:hidden;aspect-ratio:4/5}
.zo-person__photo img{filter:grayscale(.25);transition:filter .5s,transform .8s}
.zo-person:hover .zo-person__photo img{filter:none;transform:scale(1.03)}
.zo-person__body{padding:20px 2px 0}
.zo-person h3{font-size:21px}
.zo-person ul{list-style:none;padding:12px 0 0;border-top:1px solid var(--zo-line);margin-top:14px}
.zo-person ul li{padding:3px 0;font-size:14px}
.zo-tl--row{gap:0;position:relative}
.zo-tl--row .zo-tl__item{background:none!important;border-radius:0;padding:30px 16px 0;text-align:left;border-top:2px solid var(--zo-line);position:relative}
.zo-tl--row .zo-tl__item::before{display:block;content:"";position:absolute;left:16px;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--zo-bg);border:2px solid var(--zo-accent)}
.zo-tl--row .zo-tl__item.is-active{border-top-color:var(--zo-accent);color:inherit}
.zo-tl--row .zo-tl__item.is-active::before{background:var(--zo-accent)}
.zo-tl--row .zo-tl__item.is-active .zo-tl__date{color:var(--zo-accent)}
.zo-tl--row .zo-tl__date{text-align:left;font-size:13px;letter-spacing:.12em}
.zo-tl--row h3{font-size:18px;margin-top:4px}
.zo-tone-dark .zo-tl--row .zo-tl__item{border-color:rgba(255,255,255,.18)}
.zo-tone-dark .zo-tl--row .zo-tl__item::before{background:var(--zo-dark)}
.zo-price{border-radius:var(--zo-r);border:1px solid var(--zo-line);background:var(--zo-bg)}
.zo-tone-alt .zo-price{border-color:transparent}
.zo-price.is-hl{border:1.5px solid var(--zo-accent);box-shadow:none}
.zo-price__num{font-weight:700;letter-spacing:-.02em}
.zo-price ul{list-style:none;padding:14px 0 0;border-top:1px solid var(--zo-line)}
.zo-price ul li{padding:4px 0}
.zo-price__badge{border-radius:var(--zo-btn-r)}
.zo-faq{gap:0;border-top:1px solid var(--zo-line)}
.zo-faq__item{border-radius:0;background:transparent!important;border-bottom:1px solid var(--zo-line)}
.zo-faq__item summary{padding:24px 48px 24px 0;font-size:17px}
.zo-faq__item summary::after{right:4px}
.zo-faq__item>div{padding:0 0 24px}
.zo-tone-dark .zo-faq,.zo-tone-dark .zo-faq__item{border-color:rgba(255,255,255,.14)}
.zo-tabs__btn{border-radius:var(--zo-btn-r)}
.zo-tabs__media{border-radius:var(--zo-r);border:1px solid var(--zo-line)}
.zo-loc__map{border-radius:var(--zo-r)}
.zo-loc__ic{border-radius:50%;background:transparent;border:1px solid var(--zo-line);color:var(--zo-accent)}
.zo-loc__ic .zo-ic{width:20px;height:20px}
.zo-form{border-radius:var(--zo-r)}
.zo-field input,.zo-field select,.zo-field textarea{border-radius:var(--zo-btn-r)}
.zo-review{border-radius:var(--zo-r);background:var(--zo-bg);border:1px solid var(--zo-line)}
.zo-tone-alt .zo-review{border-color:transparent}
.zo-posts__top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(28px,4vw,44px)}
.zo-posts__top .zo-head{margin-bottom:0}
.zo-plist{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--zo-text)}
.zo-tone-dark .zo-plist{border-color:rgba(255,255,255,.7)}
.zo-plist li{border-bottom:1px solid var(--zo-line)}
.zo-plist a{display:flex;align-items:center;gap:18px;padding:20px 6px;text-decoration:none;transition:background .2s}
.zo-plist a:hover{background:color-mix(in srgb,var(--zo-accent) 6%,transparent)}
.zo-plist__pin{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--zo-on-accent);background:var(--zo-accent);padding:3px 9px;border-radius:4px}
.zo-plist__no{flex:0 0 40px;color:var(--zo-muted);font-size:14px;font-variant-numeric:tabular-nums}
.zo-plist__t{flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zo-plist time{flex:0 0 auto;color:var(--zo-muted);font-size:14px;font-variant-numeric:tabular-nums}
.zo-pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.zo-pcard a{display:block;text-decoration:none}
.zo-pcard__img{aspect-ratio:16/10;border-radius:var(--zo-r);overflow:hidden}
.zo-pcard__img img{transition:transform .8s}
.zo-pcard:hover .zo-pcard__img img{transform:scale(1.05)}
.zo-pcard__body{padding:18px 2px 0}
.zo-pcard time{font-size:13px;color:var(--zo-muted);font-variant-numeric:tabular-nums}
.zo-pcard h3{font-size:19px;margin:6px 0 8px;line-height:1.4}
.zo-pcard p{font-size:14.5px;color:var(--zo-muted);line-height:1.65}
.zo-posts__empty{padding:40px 0;color:var(--zo-muted);text-align:center;border-top:1px solid var(--zo-line);border-bottom:1px solid var(--zo-line)}
.zo-pager{display:flex;justify-content:center;gap:6px;margin-top:36px}
.zo-pager a,.zo-pager span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:var(--zo-btn-r);text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--zo-line)}
.zo-pager span{background:var(--zo-text);color:var(--zo-bg);border-color:var(--zo-text)}
.zo-phero--post{min-height:auto;padding:160px 0 56px}
.zo-phero__title--post{font-size:clamp(28px,4vw,46px);line-height:1.3}
.zo-phero__meta{margin-top:14px;opacity:.75;font-size:14px}
.zo-post__img{margin:0 0 36px;border-radius:var(--zo-r);overflow:hidden}
.zo-prose{font-size:17px;line-height:1.9;color:var(--zo-text)}
.zo-prose h2{font-size:26px;margin:44px 0 14px}.zo-prose h3{font-size:21px;margin:34px 0 10px}
.zo-prose p{margin:0 0 18px}.zo-prose img{border-radius:var(--zo-r);margin:24px 0;height:auto}
.zo-prose a{color:var(--zo-accent)}
.zo-prose ul,.zo-prose ol{padding-left:22px;margin:0 0 18px}
.zo-prose blockquote{margin:24px 0;padding:6px 0 6px 20px;border-left:3px solid var(--zo-accent);color:var(--zo-muted)}
.zo-post__nav{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:56px;padding-top:28px;border-top:1px solid var(--zo-line)}
.zo-post__nav a{text-decoration:none;font-weight:600;display:flex;flex-direction:column;gap:2px;font-size:15px}
.zo-post__nav small{font-size:12px;color:var(--zo-muted);font-weight:600}
.zo-post__next{text-align:right}
.zo-post__list{padding:10px 22px;border:1px solid var(--zo-line);border-radius:var(--zo-btn-r)}
.zo-phero{min-height:52vh}
.zo-phero::after{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%)}
.zo-pnav__a{border-radius:var(--zo-btn-r);background:transparent;border:1px solid var(--zo-line)}
.zo-ft{padding:72px 0 110px;color:rgba(255,255,255,.55)}
.zo-ft__grid{display:grid;grid-template-columns:1.2fr 1.5fr 1fr;gap:40px;padding-bottom:40px;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
.zo-ft__name{font-size:20px;letter-spacing:.02em;margin-bottom:10px}
.zo-ft__tag{font-size:14px;line-height:1.7;max-width:320px}
.zo-ft__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:0;padding:0;border:0;align-content:start}
.zo-ft__lab{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.zo-ft__tel{display:block;color:#fff;font-size:26px;font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums;margin-bottom:6px}
.zo-ft__hours{font-size:13.5px;margin-bottom:16px}
.zo-ft__cta .zo-btn{min-height:46px;font-size:14.5px;margin-top:8px}
.zo-ft__info{font-size:12.5px;line-height:1.9}
.zo-fl__btn{border-radius:var(--zo-btn-r);min-width:110px;font-weight:700}
.zo-dots a{border-width:1.5px}
@media (max-width:1023px){.zo-pcards{grid-template-columns:repeat(2,1fr)}.zo-ft__grid{grid-template-columns:1fr 1fr}.zo-ft__brand{grid-column:1/-1}.zo-flist--3{grid-template-columns:repeat(2,1fr)}.zo-tiles--3,.zo-tiles--4{grid-template-columns:repeat(2,1fr)}.zo-stat+.zo-stat{border-left:0}.zo-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.zo-pcards,.zo-flist--2,.zo-flist--3,.zo-tiles--2,.zo-tiles--3,.zo-tiles--4,.zo-ft__grid{grid-template-columns:1fr}.zo-gal--masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.zo-tl--row{grid-template-columns:1fr 1fr}.zo-plist__no{display:none}.zo-posts__top{flex-direction:column;align-items:flex-start}.zo-post__nav{grid-template-columns:1fr 1fr}.zo-post__list{display:none}.zo-tile{aspect-ratio:4/3}}

/* ══════════ 1.4 스킨 5종 — 업종군마다 다른 디자인 체계(색만 바꾼 게 아니라 모양·배치·글꼴 규칙이 다름) ══════════
 *  editorial(법률·미용·분양 프리미엄·사무소) · clinical(병원·치과·의원) · bold(헬스·인테리어) · warm(매장·숙박·한의원) · bright(학원·생활 서비스·분양 모던)
 */
/* 첫 화면 사진 넘기기 */
.zo-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;animation:none}
.zo-hero__slide.is-on{opacity:1;animation:zoKb 14s ease-out both}

/* ── editorial: 큰 명조 제목, 각진 모서리, 선으로 나눔, 사진은 꽉 차게 ── */
.zo-skin-editorial{--zo-r:0px;--zo-btn-r:0px}
.zo-skin-editorial .zo-title{font-size:clamp(32px,4.6vw,60px);font-weight:600;line-height:1.16}
.zo-skin-editorial .zo-hero__title{font-size:clamp(44px,7.6vw,108px);font-weight:500;line-height:1.08;letter-spacing:-.045em}
.zo-skin-editorial .zo-btn{text-transform:uppercase;letter-spacing:.12em;font-size:13px;min-height:52px;padding:0 30px}
.zo-skin-editorial .zo-s{border-top:1px solid var(--zo-line)}
.zo-skin-editorial .zo-tone-alt{background:var(--zo-alt)}
.zo-skin-editorial .zo-card{border:0;border-top:1px solid var(--zo-text);background:transparent!important;padding-top:4px}
.zo-skin-editorial .zo-card__body{padding:22px 0 0}
.zo-skin-editorial .zo-card__icon{padding:22px 0 0}
.zo-skin-editorial .zo-split{grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.zo-skin-editorial .zo-split__frame{aspect-ratio:auto;height:100%;min-height:520px}
.zo-skin-editorial .zo-split__txt{padding:clamp(28px,5vw,80px)}
.zo-skin-editorial .zo-tone-alt .zo-split__txt{background:var(--zo-bg)}
.zo-skin-editorial .zo-head--l{display:grid;grid-template-columns:minmax(160px,.35fr) 1fr;gap:12px 40px;max-width:none;align-items:end}
.zo-skin-editorial .zo-head--l .zo-eyebrow{grid-row:1/3;align-self:start;padding-top:12px}
.zo-skin-editorial .zo-head--l .zo-sub{grid-column:2}
.zo-skin-editorial .zo-person__photo{aspect-ratio:3/4}
.zo-skin-editorial .zo-phero__title{font-weight:500}
@media (max-width:1023px){.zo-skin-editorial .zo-head--l{grid-template-columns:1fr}.zo-skin-editorial .zo-head--l .zo-eyebrow{grid-row:auto}.zo-skin-editorial .zo-head--l .zo-sub{grid-column:auto}.zo-skin-editorial .zo-split{grid-template-columns:1fr}.zo-skin-editorial .zo-split__frame{min-height:300px}.zo-skin-editorial .zo-split__txt{padding:28px 0 0}}

/* ── clinical: 밝고 부드러움, 둥근 카드에 은은한 그림자, 아이콘은 색 원 안에 ── */
.zo-skin-clinical{--zo-r:20px;--zo-btn-r:999px}
.zo-skin-clinical .zo-s{padding:clamp(72px,9vw,124px) 0}
.zo-skin-clinical .zo-eyebrow::before,.zo-skin-clinical .zo-head--c .zo-eyebrow::after{display:none}
.zo-skin-clinical .zo-eyebrow{padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--zo-accent) 12%,transparent);letter-spacing:.08em}
.zo-skin-clinical .zo-card{border:0;box-shadow:0 2px 4px rgba(15,40,80,.04),0 18px 40px -24px rgba(15,40,80,.25)}
.zo-skin-clinical .zo-card__icon .zo-ic{box-sizing:content-box;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--zo-accent) 12%,transparent);width:28px;height:28px}
.zo-skin-clinical .zo-flist{border:0;gap:16px}
.zo-skin-clinical .zo-flist__item{border:0;padding:24px;border-radius:var(--zo-r);background:var(--zo-bg);box-shadow:0 14px 34px -26px rgba(15,40,80,.3)}
.zo-skin-clinical .zo-tone-alt .zo-flist__item{background:#fff}
.zo-skin-clinical .zo-flist__n{border:0;background:color-mix(in srgb,var(--zo-accent) 12%,transparent);border-radius:14px}
.zo-skin-clinical .zo-stats{border:0;gap:16px}
.zo-skin-clinical .zo-stat{border:0!important;border-radius:var(--zo-r);background:rgba(255,255,255,.08)!important}
.zo-skin-clinical .zo-tone-light .zo-stat{background:var(--zo-alt)!important}
.zo-skin-clinical .zo-person__photo{border-radius:24px}
.zo-skin-clinical .zo-faq{border:0;gap:10px;display:grid}
.zo-skin-clinical .zo-faq__item{border:0;border-radius:16px;background:var(--zo-alt)!important}
.zo-skin-clinical .zo-faq__item summary{padding:20px 52px 20px 24px}
.zo-skin-clinical .zo-faq__item>div{padding:0 24px 22px}
.zo-skin-clinical .zo-hours__call{border-radius:24px}
.zo-skin-clinical .zo-plist{border-top:0}
.zo-skin-clinical .zo-plist li{border-bottom:0;margin-bottom:8px}
.zo-skin-clinical .zo-plist a{border-radius:14px;background:var(--zo-alt)}

/* ── bold: 어둡고 강함, 굵은 대문자 제목, 사진 타일 크게, 형광 포인트 ── */
.zo-skin-bold{--zo-r:4px;--zo-btn-r:4px}
.zo-skin-bold .zo-title{font-weight:800;font-size:clamp(34px,5.2vw,70px);letter-spacing:-.045em;text-transform:uppercase;line-height:1.02}
.zo-skin-bold .zo-hero__title{font-weight:800;text-transform:uppercase;font-size:clamp(46px,9vw,128px);line-height:.96;letter-spacing:-.05em}
.zo-skin-bold .zo-eyebrow{color:var(--zo-accent);font-weight:800}
.zo-skin-bold .zo-tone-light{background:#0f0f0f;color:#f2f2f2}
.zo-skin-bold .zo-tone-alt{background:#171717;color:#f2f2f2}
.zo-skin-bold .zo-tone-light .zo-sub,.zo-skin-bold .zo-tone-alt .zo-sub,.zo-skin-bold .zo-tone-light p,.zo-skin-bold .zo-tone-alt p{color:rgba(255,255,255,.66)}
.zo-skin-bold{--zo-line:rgba(255,255,255,.12);--zo-alt:#171717}
.zo-skin-bold .zo-card,.zo-skin-bold .zo-price,.zo-skin-bold .zo-review{background:#1c1c1c!important;border-color:rgba(255,255,255,.08)}
.zo-skin-bold .zo-card h3,.zo-skin-bold .zo-price h3{color:#fff}
.zo-skin-bold .zo-price__num{color:var(--zo-accent)}
.zo-skin-bold .zo-tile{aspect-ratio:4/5}
.zo-skin-bold .zo-tile h3{font-size:26px;text-transform:uppercase;font-weight:800}
.zo-skin-bold .zo-ph{background:linear-gradient(135deg,#1e1e1e,#2a2a2a);color:rgba(255,255,255,.4)}
.zo-skin-bold .zo-mono{background:linear-gradient(160deg,#1e1e1e,#2c2c2c);color:var(--zo-accent)}
.zo-skin-bold .zo-kv dt{color:rgba(255,255,255,.55)}.zo-skin-bold .zo-kv{border-color:rgba(255,255,255,.6)}
.zo-skin-bold .zo-plist{border-color:rgba(255,255,255,.6)}
.zo-skin-bold .zo-form{background:#1c1c1c;color:#fff}
.zo-skin-bold .zo-field input,.zo-skin-bold .zo-field select,.zo-skin-bold .zo-field textarea{background:#111;color:#fff;border-color:rgba(255,255,255,.15)}
.zo-skin-bold .zo-hd.is-solid{background:rgba(10,10,10,.92);color:#fff}
.zo-skin-bold .zo-tabs__media{background:#111}
.zo-skin-bold .zo-cmp{background:#1c1c1c}
.zo-skin-bold .zo-loc__addr,.zo-skin-bold .zo-hours__tbl{color:#fff}
.zo-skin-bold .zo-pager span{background:var(--zo-accent);color:var(--zo-on-accent);border-color:var(--zo-accent)}

/* ── warm: 크림색 바탕, 명조 제목, 아치형 사진, 둥글고 포근함 ── */
.zo-skin-warm{--zo-r:26px;--zo-btn-r:999px}
.zo-skin-warm .zo-title{font-weight:600}
.zo-skin-warm .zo-eyebrow{font-family:var(--zo-font-h);font-style:italic;text-transform:none;letter-spacing:.02em;font-size:16px;font-weight:500}
.zo-skin-warm .zo-eyebrow::before,.zo-skin-warm .zo-head--c .zo-eyebrow::after{width:16px}
.zo-skin-warm .zo-split__frame{border-radius:400px 400px 26px 26px;aspect-ratio:4/5}
.zo-skin-warm .zo-hsplit__frame{border-radius:400px 400px 26px 26px}
.zo-skin-warm .zo-card{border:0;background:var(--zo-alt)}
.zo-skin-warm .zo-tone-alt .zo-card{background:var(--zo-bg)}
.zo-skin-warm .zo-card__img{margin:10px 10px 0;border-radius:20px}
.zo-skin-warm .zo-tile{border-radius:200px 200px 26px 26px}
.zo-skin-warm .zo-gal__item{border-radius:26px}
.zo-skin-warm .zo-hero__title{font-family:var(--zo-font-h);font-weight:500}
.zo-skin-warm .zo-stats{border:0}
.zo-skin-warm .zo-stat strong{font-family:var(--zo-font-h);font-weight:500}
.zo-skin-warm .zo-person__photo{border-radius:200px 200px 24px 24px}
.zo-skin-warm .zo-faq__item summary::after{content:'＋'}

/* ── bright: 산뜻함, 색 띠 카드, 떠 있는 숫자 카드, 둥근 배지 ── */
.zo-skin-bright{--zo-r:18px;--zo-btn-r:14px}
.zo-skin-bright .zo-eyebrow::before,.zo-skin-bright .zo-head--c .zo-eyebrow::after{display:none}
.zo-skin-bright .zo-eyebrow{color:var(--zo-primary);background:color-mix(in srgb,var(--zo-primary) 9%,transparent);padding:6px 12px;border-radius:8px;letter-spacing:.06em}
.zo-skin-bright .zo-title{font-weight:800}
.zo-skin-bright .zo-card{border:0;box-shadow:0 1px 0 rgba(0,0,0,.04),0 14px 30px -22px rgba(20,40,120,.35);border-top:4px solid var(--zo-accent)}
.zo-skin-bright .zo-card:nth-child(3n+2){border-top-color:var(--zo-primary)}
.zo-skin-bright .zo-flist{border:0;gap:14px}
.zo-skin-bright .zo-flist__item{border:0;padding:22px;border-radius:var(--zo-r);background:var(--zo-alt)}
.zo-skin-bright .zo-flist__n{border:0;background:var(--zo-primary);color:#fff;border-radius:12px}
.zo-skin-bright .zo-stats{border:0;gap:14px}
.zo-skin-bright .zo-stat{border:0!important;background:var(--zo-bg)!important;border-radius:var(--zo-r);box-shadow:0 14px 30px -22px rgba(20,40,120,.35)}
.zo-skin-bright .zo-tone-primary .zo-stat{background:rgba(255,255,255,.1)!important;box-shadow:none}
.zo-skin-bright .zo-hsplit__card{background:var(--zo-primary);color:#fff;border:0}
.zo-skin-bright .zo-tl--row .zo-tl__item{border-top-width:4px}
.zo-skin-bright .zo-hsplit__title{font-weight:800}

/* ── 1.5 위아래 배치(소개 섹션 기본): 가운데 제목·글 → 넓은 사진 ── */
.zo-stack{text-align:center}
.zo-stack .zo-head{margin-left:auto;margin-right:auto;text-align:center}
.zo-stack__text{max-width:760px;margin:0 auto;font-size:17px;line-height:1.85}
.zo-stack__bul{list-style:none;padding:0;margin:28px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;max-width:960px}
.zo-stack__bul li{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px}
.zo-stack__bul .zo-ic{width:18px;height:18px;color:var(--zo-accent)}
.zo-stack__kv{display:flex;flex-wrap:wrap;justify-content:center;margin:34px auto 0;max-width:980px;border-top:1px solid var(--zo-line);border-bottom:1px solid var(--zo-line)}
.zo-stack__kv>div{flex:1 1 180px;padding:22px 16px}
.zo-stack__kv>div+div{border-left:1px solid var(--zo-line)}
.zo-stack__kv dt{font-size:13px;color:var(--zo-muted);font-weight:600;margin-bottom:6px}
.zo-stack__kv dd{margin:0;font-weight:700;font-size:16px}
.zo-tone-dark .zo-stack__kv,.zo-tone-dark .zo-stack__kv>div+div{border-color:rgba(255,255,255,.14)}
.zo-tone-dark .zo-stack__kv dt{color:rgba(255,255,255,.55)}
.zo-stack__media{margin:clamp(40px,5vw,64px) 0 0}
.zo-stack__frame{aspect-ratio:21/9;border-radius:var(--zo-r);overflow:hidden}
.zo-stack__frame .zo-ph{min-height:0}
.zo-skin-warm .zo-stack__frame{border-radius:26px}
.zo-skin-editorial .zo-stack{text-align:center}
@media (max-width:640px){.zo-stack__frame{aspect-ratio:4/3}.zo-stack__kv>div+div{border-left:0;border-top:1px solid var(--zo-line)}}

/* ── 1.5 한국 홈페이지 기본 기능 ── */
/* 레이어 팝업(PC: 왼쪽 위부터 나란히, 휴대폰: 가운데 하나씩 겹침) */
.zo-pops{position:fixed;left:24px;top:110px;z-index:150;display:flex;gap:14px;align-items:flex-start;pointer-events:none}
.zo-pop{pointer-events:auto;width:var(--zo-pw,400px);max-width:calc(100vw - 32px);background:#fff;color:#111;box-shadow:0 24px 60px -18px rgba(0,0,0,.45);border-radius:6px;overflow:hidden;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}
.zo-pop.is-on{opacity:1;transform:none}
.zo-pop__body{display:block;text-decoration:none;color:inherit}
.zo-pop__body img{display:block;width:100%;height:auto}
.zo-pop__txt{padding:28px 26px}
.zo-pop__txt strong{display:block;font-size:20px;margin-bottom:10px}
.zo-pop__txt p{font-size:15px;line-height:1.7;color:#444}
.zo-pop__ft{display:flex;background:#1c1c1c}
.zo-pop__ft button{flex:1;border:0;background:transparent;color:#ddd;font:inherit;font-size:13px;padding:12px 10px;cursor:pointer}
.zo-pop__ft button+button{border-left:1px solid rgba(255,255,255,.12)}
.zo-pop__ft button:hover{color:#fff;background:rgba(255,255,255,.06)}
@media (max-width:767px){.zo-pops{left:50%;top:50%;transform:translate(-50%,-50%);display:block}.zo-pop{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);width:min(var(--zo-pw,400px),calc(100vw - 32px))}.zo-pop.is-on{transform:translate(-50%,-50%)}}
/* 오른쪽 퀵메뉴(PC) */
.zo-quick{position:fixed;right:20px;top:50%;transform:translate(130%,-50%);z-index:104;width:84px;background:var(--zo-bg);color:var(--zo-text);border-radius:var(--zo-btn-r,10px);box-shadow:0 18px 44px -18px rgba(0,0,0,.35);border:1px solid var(--zo-line);overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.zo-quick.is-on{transform:translate(0,-50%)}
.zo-quick__h{margin:0;padding:10px 0 8px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.2em;background:var(--zo-primary);color:var(--zo-on-primary)}
.zo-quick ul{list-style:none;margin:0;padding:0}
.zo-quick li+li{border-top:1px solid var(--zo-line)}
.zo-quick a,.zo-quick__top{display:flex;flex-direction:column;align-items:center;gap:6px;padding:13px 6px;text-decoration:none;font-size:12px;font-weight:600;color:inherit;text-align:center;line-height:1.3;width:100%;background:transparent;border:0;font-family:inherit;cursor:pointer}
.zo-quick a:hover,.zo-quick__top:hover{background:color-mix(in srgb,var(--zo-accent) 10%,transparent);color:var(--zo-accent)}
.zo-quick .zo-ic{width:22px;height:22px}
.zo-quick__top{border-top:1px solid var(--zo-line);font-weight:800;letter-spacing:.1em}
.zo-ic--up{transform:rotate(-90deg)}
.zo-skin-bold .zo-quick{background:#1a1a1a;color:#eee;border-color:rgba(255,255,255,.08)}
@media (min-width:1024px){body:has(.zo-quick) .zo-fl{display:none}body:has(.zo-quick) .zo-dots{right:118px}}
@media (max-width:1023px){.zo-quick{display:none}}
/* 하단 간편 상담 바(PC) */
.zo-qbar{position:fixed;left:0;right:0;bottom:0;z-index:103;background:color-mix(in srgb,var(--zo-dark) 94%,transparent);backdrop-filter:blur(8px);color:#fff;padding:12px 0;transform:translateY(100%);transition:transform .4s}
body.zo-js .zo-qbar{transform:none}
.zo-qbar__in{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zo-qbar__t{font-size:16px;margin-right:6px;white-space:nowrap}
.zo-qbar input[name=name],.zo-qbar input[name=phone]{flex:1 1 160px;max-width:220px;height:44px;padding:0 14px;border-radius:var(--zo-btn-r,8px);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:15px}
.zo-qbar input::placeholder{color:rgba(255,255,255,.55)}
.zo-qbar__agree{display:inline-flex;gap:6px;align-items:center;font-size:13px;opacity:.85;white-space:nowrap}
.zo-qbar .zo-btn{min-height:44px;padding:0 22px}
.zo-qbar .zo-form__msg{font-size:13px;min-height:0}
body:has(.zo-qbar) .zo-ft{padding-bottom:150px}
@media (min-width:1024px){body:has(.zo-qbar) .zo-quick{top:calc(50% - 34px)}}
@media (max-width:1023px){.zo-qbar{display:none}}
/* 바닥글: 개인정보처리방침·이용약관·SNS */
.zo-ft__legal{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:14px 0 4px;font-size:13px}
.zo-ft__legal a{color:rgba(255,255,255,.7);text-decoration:none}
.zo-ft__legal a:hover{color:#fff;text-decoration:underline}
.zo-ft__privacy{color:#fff!important;font-weight:700}
.zo-ft__sns{display:inline-flex;gap:14px;margin-left:auto}

.zo-doc .zo-text{font-size:15.5px;line-height:1.95;color:var(--zo-text)}
.zo-doc .zo-text strong{display:inline-block;margin-top:14px;font-size:17px}

/* 1.6 버튼 글자색: ".zo a{color:inherit}" 에 덮이지 않게 */
.zo a.zo-btn--solid,.zo button.zo-btn--solid{color:var(--zo-on-accent)}
.zo a.zo-btn--accent{color:var(--zo-on-primary)}
.zo a.zo-btn--light{color:var(--zo-primary)}
.zo a.zo-btn--ghost{color:#fff}
.zo .zo-hero--split a.zo-btn--ghost{color:var(--zo-primary)}
.zo a.zo-btn--line{color:var(--zo-primary)}
.zo .zo-tone-dark a.zo-btn--line,.zo .zo-tone-primary a.zo-btn--line{color:#fff}
/* 1.6.2 머리글·메뉴 정렬 보정 */
.zo-hd__nav ul{flex-wrap:nowrap}
.zo-hd__nav a{white-space:nowrap}
@media (min-width:1024px){
  .zo-hd__in{gap:20px}
  .zo-hd__nav{align-self:stretch;display:flex}
  .zo-hd__nav>ul{align-items:stretch;height:100%}
  .zo-hd__nav>ul>li{display:flex;align-items:center}
  .zo-hd__nav>ul>li>a{line-height:1.4}
  .zo-hd__sub{top:100%;transform:translate(-50%,6px);text-align:left}
  .zo-hd__nav li.has-sub:hover>.zo-hd__sub,.zo-hd__nav li.has-sub:focus-within>.zo-hd__sub{transform:translate(-50%,0)}
  .zo-hd__sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
  .zo-hd__sub a::after{display:none}
  .zo-hd__sub li{display:block}
  .zo-hd__sub a{opacity:.8}
  .zo-hd__sub a:hover{opacity:1;background:rgba(127,127,127,.1)!important}
}
@media (min-width:1024px) and (max-width:1279px){
  .zo-hd__in{gap:14px}
  .zo-hd__nav>ul>li>a{padding:8px 10px;font-size:14px}
  .zo-hd__nav>ul>li>a::after{left:10px;right:10px}
  .zo-hd__tel{padding:9px 14px;font-size:14px}
  .zo-hd__logo{font-size:17px}
}
@media (max-width:1023px){
  .zo-hd__in{height:68px}
  .zo-hd__logo{max-width:calc(100% - 60px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .zo-hd__nav{inset:68px 0 auto 0}
  .zo-hd.is-open .zo-hd__nav{max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);overscroll-behavior:contain}
  .zo-hd__nav>ul>li{border-bottom:1px solid var(--zo-line)}
  .zo-hd__nav>ul>li:last-child{border-bottom:0}
  .zo-hd__nav>ul>li>a::after{display:none}
  .zo-hd__nav>ul>li>a{padding:15px 6px}
  .zo-hd__sub{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0 0 10px 10px!important;transform:none!important}
  .zo-hd__sub::before{display:none}
  .zo-hd__sub a{padding:9px 6px!important}
  body.zo-menu-open{overflow:hidden}
}
/* 1.6.3 드롭다운 모서리(둥근 버튼 스킨에서 동그랗게 되던 문제)·숨은 머리글 */
.zo-hd__sub{border-radius:min(var(--zo-btn-r,12px),14px)}
.zo-hd__sub a{border-radius:min(var(--zo-btn-r,8px),10px)!important}
.zo-hd.is-hide .zo-hd__sub{opacity:0!important;visibility:hidden!important}

/* 1.6.4 밝은 배경 섹션의 테두리 버튼(ghost)이 흰 글자라 안 보이던 문제 */
.zo .zo-s:not(.zo-tone-dark):not(.zo-tone-primary):not(.zo-hero) a.zo-btn--ghost{color:var(--zo-primary);border-color:color-mix(in srgb,var(--zo-primary) 35%,transparent);background:transparent}
.zo-form input[type=date],.zo-form input[type=time]{min-height:48px}

/* 1.6.7 휴대폰·터치 기기 가볍게: 천천히 커지는 배경·흐림 효과·패럴랙스 끔(보이는 디자인은 같음) */
.zo-lite .zo-kenburns{animation:none}
.zo-lite [data-zo-parallax]{transform:none!important}
.zo-lite .zo-split__frame{will-change:auto}
.zo-lite .zo-hd.is-solid,.zo-lite.zo-hd-solid .zo-hd{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--zo-bg)}
.zo-lite .zo-btn--ghost,.zo-lite .zo-ticker,.zo-lite .zo-hero__eyebrow,.zo-lite .zo-qbar{backdrop-filter:none;-webkit-backdrop-filter:none}
@media (max-width:1023px){.zo-kenburns{animation:none}.zo-hd.is-solid{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* ── 1.7 mono: 흑백 격자·직각·굵은 큰 글자, 굵은 선으로 칸 나누기(세무·부동산·자동차) ── */
.zo-skin-mono{--zo-r:0px;--zo-btn-r:0px}
.zo-skin-mono .zo-s{border-top:2px solid var(--zo-text)}
.zo-skin-mono .zo-tone-dark,.zo-skin-mono .zo-tone-primary,.zo-skin-mono .zo-hero{border-top:0}
.zo-skin-mono .zo-title{font-weight:800;letter-spacing:-.045em;line-height:1.08;font-size:clamp(32px,4.8vw,64px)}
.zo-skin-mono .zo-hero__title{font-weight:800;letter-spacing:-.055em;line-height:1.02;font-size:clamp(44px,8vw,116px)}
.zo-skin-mono .zo-eyebrow{color:var(--zo-text);font-weight:800;letter-spacing:.22em}
.zo-skin-mono .zo-eyebrow::before{content:"";display:inline-block;width:9px;height:9px;background:var(--zo-accent);margin-right:10px;vertical-align:1px}
.zo-skin-mono .zo-head--c .zo-eyebrow::after{display:none}
.zo-skin-mono .zo-tone-dark .zo-eyebrow,.zo-skin-mono .zo-tone-primary .zo-eyebrow,.zo-skin-mono .zo-hero .zo-eyebrow{color:#fff}
.zo-skin-mono .zo-btn{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:800;min-height:54px;padding:0 32px;box-shadow:none}
.zo-skin-mono .zo-btn--solid,.zo-skin-mono a.zo-btn--solid,.zo-skin-mono button.zo-btn--solid{background:var(--zo-text);color:var(--zo-bg);border-color:var(--zo-text)}
.zo-skin-mono .zo-hero .zo-btn--solid,.zo-skin-mono .zo-tone-dark .zo-btn--solid,.zo-skin-mono .zo-hero a.zo-btn--solid,.zo-skin-mono .zo-tone-dark a.zo-btn--solid{background:#fff;color:#111;border-color:#fff}
.zo-skin-mono .zo-qbar .zo-btn--solid,.zo-skin-mono .zo-qbar button.zo-btn--solid{background:var(--zo-accent);color:var(--zo-on-accent);border-color:var(--zo-accent)}
.zo-skin-mono .zo-card{border:1.5px solid var(--zo-text);box-shadow:none;background:transparent!important;transition:background .25s,color .25s}
.zo-skin-mono .zo-card:hover{background:var(--zo-text)!important;color:var(--zo-bg);transform:none}
.zo-skin-mono .zo-card:hover h3,.zo-skin-mono .zo-card:hover p{color:inherit}
.zo-skin-mono .zo-tone-dark .zo-card{border-color:rgba(255,255,255,.7)}
.zo-skin-mono .zo-tone-dark .zo-card:hover{background:#fff!important;color:#111}
.zo-skin-mono .zo-card__img img{filter:grayscale(1) contrast(1.05);transition:filter .5s,transform .8s}
.zo-skin-mono .zo-card:hover .zo-card__img img{filter:none}
.zo-skin-mono .zo-stats{gap:0;border:2px solid var(--zo-text)}
.zo-skin-mono .zo-tone-dark .zo-stats,.zo-skin-mono .zo-tone-primary .zo-stats{border-color:rgba(255,255,255,.7)}
.zo-skin-mono .zo-stat{background:transparent!important;border-radius:0;border-left:2px solid currentColor}
.zo-skin-mono .zo-stat:first-child{border-left:0}
.zo-skin-mono .zo-stat strong{color:inherit;font-weight:800;letter-spacing:-.04em}
.zo-skin-mono .zo-price{background:transparent!important;border:1.5px solid var(--zo-text);border-radius:0}
.zo-skin-mono .zo-gal__item{border-radius:0}
.zo-skin-mono .zo-gal__item img{filter:grayscale(.85)}
.zo-skin-mono .zo-gal__item:hover img{filter:none}
.zo-skin-mono .zo-faq__item{border-radius:0}
.zo-skin-mono .zo-faq__item summary{font-weight:800}
.zo-skin-mono .zo-person__photo{border-radius:0;filter:grayscale(1)}
.zo-skin-mono .zo-phero__title{font-weight:800;letter-spacing:-.05em}
.zo-skin-mono .zo-hd__logo{letter-spacing:.08em;text-transform:uppercase}
.zo-skin-mono .zo-field input,.zo-skin-mono .zo-field select,.zo-skin-mono .zo-field textarea{border-radius:0;border-width:1.5px}
.zo-skin-mono .zo-stack__frame{border-radius:0}
@media (max-width:767px){.zo-skin-mono .zo-stat{border-left:0;border-top:2px solid currentColor}.zo-skin-mono .zo-stat:first-child{border-top:0}}

/* ── 1.7 luxe: 짙은 바탕·가는 금선·명조 제목·넓은 자간, 사진에 안쪽 액자(웨딩·살롱·레스토랑) ── */
.zo-skin-luxe{--zo-r:2px;--zo-btn-r:0px;--zo-line:color-mix(in srgb,var(--zo-accent) 35%,transparent)}
.zo-skin-luxe .zo-s{padding:clamp(84px,10vw,150px) 0}
.zo-skin-luxe .zo-title{font-family:var(--zo-font-h);font-weight:400;letter-spacing:-.01em;line-height:1.25;font-size:clamp(30px,4.2vw,56px)}
.zo-skin-luxe .zo-hero__title{font-family:var(--zo-font-h);font-weight:400;letter-spacing:-.02em;line-height:1.14;font-size:clamp(40px,6.8vw,96px)}
.zo-skin-luxe .zo-eyebrow{letter-spacing:.42em;font-weight:500;font-size:12px}
.zo-skin-luxe .zo-eyebrow::before,.zo-skin-luxe .zo-head--c .zo-eyebrow::after{width:44px;height:1px;background:var(--zo-accent)}
.zo-skin-luxe .zo-sub,.zo-skin-luxe .zo-text{letter-spacing:.01em;line-height:1.95}
.zo-skin-luxe .zo-btn{background:transparent;border:1px solid var(--zo-accent);color:var(--zo-accent);letter-spacing:.28em;font-size:12.5px;font-weight:600;min-height:54px;padding:0 36px;box-shadow:none;text-transform:uppercase}
.zo-skin-luxe .zo-btn--solid,.zo-skin-luxe a.zo-btn--solid{background:var(--zo-accent);color:var(--zo-on-accent);border-color:var(--zo-accent)}
.zo-skin-luxe a.zo-btn:hover,.zo-skin-luxe button.zo-btn:hover{background:var(--zo-accent);color:var(--zo-on-accent)}
.zo-skin-luxe .zo-card{background:transparent!important;border:1px solid var(--zo-line);box-shadow:none}
.zo-skin-luxe .zo-card h3{font-family:var(--zo-font-h);font-weight:400;font-size:21px;letter-spacing:.01em}
.zo-skin-luxe .zo-card__img{margin:12px 12px 0;outline:1px solid var(--zo-line);outline-offset:6px}
.zo-skin-luxe .zo-card__icon .zo-ic{color:var(--zo-accent)}
.zo-skin-luxe .zo-gal__item{border-radius:0;outline:1px solid rgba(255,255,255,.55);outline-offset:-14px}
.zo-skin-luxe .zo-gal__item figcaption{font-family:var(--zo-font-h);font-weight:400;letter-spacing:.06em}
.zo-skin-luxe .zo-stats{gap:0}
.zo-skin-luxe .zo-stat{background:transparent!important;border-left:1px solid var(--zo-line);border-radius:0}
.zo-skin-luxe .zo-stat:first-child{border-left:0}
.zo-skin-luxe .zo-stat strong{font-family:var(--zo-font-h);font-weight:400;color:var(--zo-accent)}
.zo-skin-luxe .zo-price{background:transparent!important;border:1px solid var(--zo-line);border-radius:0}
.zo-skin-luxe .zo-price h3,.zo-skin-luxe .zo-price__num{font-family:var(--zo-font-h);font-weight:400}
.zo-skin-luxe .zo-faq__item{border-color:var(--zo-line)}
.zo-skin-luxe .zo-faq__item summary{font-family:var(--zo-font-h);font-weight:400;font-size:18px}
.zo-skin-luxe .zo-person__photo{border-radius:0;outline:1px solid var(--zo-line);outline-offset:8px}
.zo-skin-luxe .zo-person h3{font-family:var(--zo-font-h);font-weight:400}
.zo-skin-luxe .zo-phero__title{font-family:var(--zo-font-h);font-weight:400}
.zo-skin-luxe .zo-hd__logo{font-family:var(--zo-font-h);font-weight:400;letter-spacing:.2em}
.zo-skin-luxe .zo-hd.is-solid{background:color-mix(in srgb,var(--zo-dark) 94%,transparent);color:#f4efe6}
.zo-skin-luxe .zo-form{border:1px solid var(--zo-line);border-radius:0}
.zo-skin-luxe .zo-field input,.zo-skin-luxe .zo-field select,.zo-skin-luxe .zo-field textarea{border-radius:0}
.zo-skin-luxe .zo-stack__frame{border-radius:0;outline:1px solid rgba(255,255,255,.5);outline-offset:-18px}
@media (max-width:767px){.zo-skin-luxe .zo-stat{border-left:0;border-top:1px solid var(--zo-line)}.zo-skin-luxe .zo-stat:first-child{border-top:0}}

/* ── 1.7 soft: 둥근 글꼴·큰 둥근 모서리·은은한 파스텔 바탕·물방울 아이콘(동물병원·요양) ── */
.zo-skin-soft{--zo-r:28px;--zo-btn-r:999px}
.zo-skin-soft .zo-tone-alt{background:color-mix(in srgb,var(--zo-accent) 9%,var(--zo-bg))}
.zo-skin-soft .zo-title{font-family:var(--zo-font-h);font-weight:400;letter-spacing:-.01em;line-height:1.3}
.zo-skin-soft .zo-hero__title{font-family:var(--zo-font-h);font-weight:400;letter-spacing:-.02em;line-height:1.2}
.zo-skin-soft .zo-eyebrow::before,.zo-skin-soft .zo-head--c .zo-eyebrow::after{display:none}
.zo-skin-soft .zo-eyebrow{background:color-mix(in srgb,var(--zo-accent) 16%,transparent);color:var(--zo-primary);padding:7px 16px;border-radius:999px;letter-spacing:.06em;font-size:12.5px}
.zo-skin-soft .zo-hero .zo-eyebrow,.zo-skin-soft .zo-tone-dark .zo-eyebrow,.zo-skin-soft .zo-tone-primary .zo-eyebrow{background:rgba(255,255,255,.16);color:#fff}
.zo-skin-soft .zo-btn{font-weight:700;box-shadow:none}
.zo-skin-soft .zo-card{border:0;background:var(--zo-bg)!important;box-shadow:0 2px 0 color-mix(in srgb,var(--zo-accent) 18%,transparent),0 22px 44px -30px rgba(40,40,80,.35)}
.zo-skin-soft .zo-tone-light .zo-card{background:color-mix(in srgb,var(--zo-accent) 7%,var(--zo-bg))!important}
.zo-skin-soft .zo-tone-dark .zo-card{background:rgba(255,255,255,.07)!important;box-shadow:none}
.zo-skin-soft .zo-card__img{margin:10px 10px 0;border-radius:22px}
.zo-skin-soft .zo-card__icon .zo-ic{box-sizing:content-box;padding:16px;width:28px;height:28px;color:var(--zo-primary);background:color-mix(in srgb,var(--zo-accent) 22%,transparent);border-radius:46% 54% 58% 42% / 52% 44% 56% 48%}
.zo-skin-soft .zo-card h3{font-family:var(--zo-font-h);font-weight:400;font-size:21px}
.zo-skin-soft .zo-stats{gap:14px}
.zo-skin-soft .zo-stat{border-radius:26px;background:var(--zo-bg)!important;box-shadow:0 18px 40px -30px rgba(40,40,80,.35)}
.zo-skin-soft .zo-tone-dark .zo-stat,.zo-skin-soft .zo-tone-primary .zo-stat{background:rgba(255,255,255,.1)!important;box-shadow:none}
.zo-skin-soft .zo-stat strong{font-family:var(--zo-font-h);font-weight:400}
.zo-skin-soft .zo-gal__item{border-radius:26px}
.zo-skin-soft .zo-faq{border:0;display:grid;gap:10px}
.zo-skin-soft .zo-faq__item{border:0;border-radius:20px;background:var(--zo-bg)!important}
.zo-skin-soft .zo-tone-light .zo-faq__item{background:color-mix(in srgb,var(--zo-accent) 8%,var(--zo-bg))!important}
.zo-skin-soft .zo-faq__item summary{padding:20px 52px 20px 24px}
.zo-skin-soft .zo-faq__item>div{padding:0 24px 22px}
.zo-skin-soft .zo-person__photo{border-radius:50%;aspect-ratio:1}
.zo-skin-soft .zo-price{border-radius:26px}
.zo-skin-soft .zo-phero__title{font-family:var(--zo-font-h);font-weight:400}
.zo-skin-soft .zo-hd__logo{font-family:var(--zo-font-h);font-weight:400;font-size:22px}
.zo-skin-soft .zo-form{border-radius:26px}
.zo-skin-soft .zo-field input,.zo-skin-soft .zo-field select,.zo-skin-soft .zo-field textarea{border-radius:14px}
.zo-skin-soft .zo-stack__frame{border-radius:32px}

/* ══ 1.8 첫 화면 레이아웃 4종 + 머리글 2종 ══ */
.zo-hero--kit{min-height:auto;display:block;padding:clamp(110px,12vw,150px) 0 clamp(56px,7vw,96px);color:var(--zo-text);background:var(--zo-bg)}
.zo-hero--kit .zo-hero__down{display:none}
.zo-hk__eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--zo-accent);margin:0 0 18px}
.zo-hk__title{font-family:var(--zo-font-h);font-size:clamp(36px,6vw,84px);font-weight:800;line-height:1.12;letter-spacing:-.04em;margin:0}
.zo-hk__title strong,.zo-hk__title b{color:var(--zo-accent)}
.zo-hk__sub{margin:22px 0 0;max-width:640px;font-size:clamp(16px,1.6vw,20px);line-height:1.7;color:var(--zo-muted)}
.zo-hk__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.zo-hk__meta{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;font-weight:600;color:var(--zo-muted)}
.zo-hk__meta li{display:inline-flex;align-items:center;gap:10px}
.zo-hk__meta li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--zo-accent)}
.zo-hk .zo-hero__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zo-hk .zo-hero__media{width:100%;height:100%;object-fit:cover;display:block}
.zo-hero--kit a.zo-btn--ghost{color:var(--zo-primary);border-color:color-mix(in srgb,var(--zo-primary) 35%,transparent);background:transparent}

/* framed: 여백 안 사진 액자, 제목은 사진 왼쪽 아래 */
.zo-hk--framed .zo-hk__frame{position:relative;overflow:hidden;border-radius:var(--zo-r);min-height:clamp(460px,72vh,780px);display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.zo-hk--framed .zo-hk__frame>img{position:absolute;inset:0;z-index:-2}
.zo-hk__fshade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,calc(var(--zo-ov) + .25)) 0%,rgba(0,0,0,calc(var(--zo-ov) * .85)) 45%,rgba(0,0,0,calc(var(--zo-ov) * .3)) 80%,rgba(0,0,0,.08) 100%),linear-gradient(90deg,rgba(0,0,0,calc(var(--zo-ov) * .55)) 0%,transparent 70%)}
.zo-hk--framed .zo-hk__title{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.zo-hk--framed .zo-hk__text{padding:clamp(28px,5vw,64px);max-width:860px}
.zo-hk--framed .zo-hk__sub{color:rgba(255,255,255,.86)}
.zo-hk--framed .zo-hk__eyebrow{color:#fff;opacity:.9}
.zo-hk--framed .zo-hk__title strong,.zo-hk--framed .zo-hk__title b{color:var(--zo-accent)}
.zo-hk--framed a.zo-btn--ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.zo-hk--framed .zo-hk__meta{justify-content:space-between;border-bottom:1px solid var(--zo-line);padding-bottom:18px}

/* type: 큰 글자로 시작, 아래 사진 3장 띠 */
.zo-hk--type .zo-hk__title{font-size:clamp(44px,8.4vw,128px);line-height:1.02;max-width:14ch}
.zo-hk--type .zo-hk__text{display:grid;grid-template-columns:1fr;gap:0}
.zo-hk--type .zo-hk__sub{max-width:560px}
.zo-hk--type .zo-hk__meta{border-top:1px solid var(--zo-line);padding-top:18px;margin-top:40px}
.zo-hk__strip{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(8px,1.2vw,16px);margin-top:clamp(36px,5vw,64px)}
.zo-hk__strip-i{aspect-ratio:4/5;overflow:hidden;border-radius:var(--zo-r)}
.zo-hk__strip-i:first-child{aspect-ratio:auto}
.zo-hk__strip-i img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:767px){.zo-hk__strip{grid-template-columns:1fr 1fr}.zo-hk__strip-i:first-child{grid-column:1/-1;aspect-ratio:16/10}}

/* stack: 가운데 글 → 크고 둥근 사진 */
.zo-hk--stack .zo-hk__text.is-center{text-align:center;max-width:900px;margin:0 auto}
.zo-hk--stack .zo-hk__sub{margin-left:auto;margin-right:auto}
.zo-hk--stack .zo-hk__btns{justify-content:center}
.zo-hk__photo{position:relative;margin-top:clamp(40px,5vw,64px);aspect-ratio:21/9;overflow:hidden;border-radius:calc(var(--zo-r) * 1.4 + 8px)}
.zo-hk--stack .zo-hk__meta{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);margin:0;background:var(--zo-bg);color:var(--zo-text);padding:12px 22px;border-radius:999px;box-shadow:0 14px 34px -18px rgba(0,0,0,.4);white-space:nowrap;flex-wrap:nowrap;max-width:calc(100% - 32px);overflow:hidden}
@media (max-width:767px){.zo-hk__photo{aspect-ratio:4/3}.zo-hk--stack .zo-hk__meta{position:static;transform:none;white-space:normal;flex-wrap:wrap;border-radius:16px;margin:14px 0 0;box-shadow:none;background:var(--zo-alt)}}

/* mosaic: 큰 사진 + 작은 사진 2장 격자, 제목 카드가 겹침 */
.zo-hk__grid{position:relative;display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(8px,1.2vw,14px);height:clamp(520px,78vh,820px)}
.zo-hk__m{overflow:hidden;border-radius:var(--zo-r)}
.zo-hk__m img{width:100%;height:100%;object-fit:cover;display:block}
.zo-hk__m1{grid-row:1/3}
.zo-hk__card{position:absolute;left:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,40px);max-width:min(620px,calc(62% - 40px));background:var(--zo-bg);color:var(--zo-text);padding:clamp(24px,3.4vw,44px);border-radius:var(--zo-r);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.zo-hk__card .zo-hk__title{font-size:clamp(30px,4vw,56px)}
.zo-hk__card .zo-hk__sub{font-size:16px}
.zo-hk--mosaic .zo-hk__meta{margin-top:22px}
@media (max-width:767px){.zo-hk__grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.zo-hk__m1{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.zo-hk__m2,.zo-hk__m3{aspect-ratio:1}.zo-hk__card{position:relative;left:auto;bottom:auto;max-width:none;grid-column:1/-1;box-shadow:none;padding:24px 4px 0;background:transparent}}

/* 어두운 스킨(럭스·볼드·어두운 모노)에서 첫 화면 바탕 */
.zo-skin-luxe .zo-hero--kit,.zo-skin-bold .zo-hero--kit{background:var(--zo-bg);color:var(--zo-text)}
.zo-skin-luxe .zo-hk__title{font-weight:400}
.zo-skin-soft .zo-hk__title,.zo-skin-warm .zo-hk__title{font-weight:500}
.zo-skin-mono .zo-hk__title{font-weight:800;letter-spacing:-.055em}
.zo-skin-luxe .zo-hk__card,.zo-skin-bold .zo-hk__card{background:var(--zo-bg)}

/* 머리글 center: 로고 가운데 위 + 메뉴 아래 줄 (PC) */
@media (min-width:1024px){
  .zo-nav-center .zo-hd__in{flex-wrap:wrap;height:auto;justify-content:center;padding-top:14px;padding-bottom:0;row-gap:4px}
  .zo-nav-center .zo-hd__logo{order:0;flex:1 0 100%;justify-content:center;font-size:24px}
  .zo-nav-center .zo-hd__nav{order:1;margin:0 auto}
  .zo-nav-center .zo-hd__nav>ul>li>a{padding-top:12px;padding-bottom:14px}
  .zo-nav-center .zo-hd__tel{position:absolute;right:clamp(18px,3vw,36px);top:16px}
  .zo-nav-center .zo-hd{border-bottom:1px solid transparent}
  .zo-nav-center .zo-hd.is-solid,.zo-nav-center.zo-hd-solid .zo-hd{border-bottom-color:var(--zo-line)}
  .zo-nav-center .zo-hero--kit{padding-top:clamp(150px,14vw,190px)}
  /* 머리글 pill: 떠 있는 둥근 막대 */
  .zo-nav-pill .zo-hd{top:14px;left:50%;right:auto;transform:translateX(-50%);width:min(1240px,calc(100% - 32px));border-radius:999px;background:color-mix(in srgb,var(--zo-bg) 92%,transparent)!important;color:var(--zo-text)!important;box-shadow:0 14px 40px -22px rgba(0,0,0,.45)}
  .zo-nav-pill .zo-hd.is-hide{transform:translate(-50%,-140%)}
  .zo-nav-pill .zo-hd__in{height:64px;padding:0 10px 0 26px}
  .zo-nav-pill .zo-hd__tel{border-radius:999px}
}
@media (max-width:1023px){.zo-nav-pill .zo-hd{background:var(--zo-bg);color:var(--zo-text)}}
/* 1.8.3 갤러리 fit:contain — 평면도·배치도·안내도: 자르지 않고 원래 비율·원래 색, 설명은 사진 아래(스킨의 회색 처리도 끔) */
.zo-gal--contain{grid-auto-rows:auto;align-items:start}
.zo-gal--contain .zo-gal__item{aspect-ratio:auto;height:auto;background:#fff;border:1px solid rgba(0,0,0,.08);padding:8px}
.zo-gal--contain .zo-gal__item a{height:auto}
.zo .zo-gal--contain .zo-gal__item img,.zo-gal--contain .zo-contain{width:100%;height:auto;object-fit:contain;filter:none!important;transform:none!important}
.zo-gal--contain .zo-gal__item figcaption{position:static;background:none;color:inherit;padding:10px 4px 2px;font-size:15px;text-align:center}
.zo-contain{width:100%;height:auto;object-fit:contain}
