@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Manrope:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#303030;--ink-deep:#222222;--ink-soft:#5e6461;--cream:#f1f1ef;--paper:#fbfbfa;--sage:#a9b1ac;--sage-light:#e2e5e2;--rust:#59635f;--line:rgba(48,48,48,.16);--serif:'Gowun Batang',serif;--sans:'Noto Sans KR','Manrope',sans-serif;--display:'Manrope','Noto Sans KR',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:-.025em}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--rust);outline-offset:4px}button{font:inherit;color:inherit} .topline{height:42px;background:var(--ink);color:#d7dfd4;display:flex;justify-content:center;gap:70px;align-items:center;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.site-header{height:84px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;background:rgba(251,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,44,46,.08)}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;align-items:baseline;gap:6px}.brand strong{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-.06em}.brand small{font-size:10px;color:var(--ink-soft);letter-spacing:.06em}.brand-mark{position:relative;display:inline-block;width:26px;height:26px}.brand-mark i{position:absolute;width:12px;height:12px;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper)}.brand-mark i:nth-child(1){top:0;left:7px}.brand-mark i:nth-child(2){top:7px;right:0}.brand-mark i:nth-child(3){bottom:0;left:7px}.brand-mark i:nth-child(4){top:7px;left:0}.desktop-nav{display:flex;gap:42px;margin-left:auto;margin-right:54px;font-size:17px;font-weight:700;color:#526361}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--rust)}.header-call{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.02em}.header-call span{color:var(--rust);font-family:var(--sans);font-size:14px;font-weight:700;margin-right:7px}.menu-toggle{display:none;border:0;background:transparent;width:35px;height:35px;padding:7px}.menu-toggle span{display:block;width:21px;height:1px;background:var(--ink);margin:6px 0;transition:transform .2s}.mobile-menu{display:none}.section-pad{padding:126px 9vw}.hero{min-height:calc(100vh - 113px);display:grid;grid-template-columns:48% 52%;align-items:center;padding-top:80px;padding-bottom:90px;background:var(--cream);overflow:hidden}.eyebrow,.kicker,.section-label{font-family:var(--display);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:11px;color:var(--rust);margin-bottom:36px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--rust)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:700;line-height:1.2;letter-spacing:-.08em}h1{font-size:clamp(50px,6vw,86px);margin-bottom:27px}h1 em,h2 em{font-style:normal;color:var(--rust);font-weight:700}.hero-lead{font-size:18px;color:#4f5956;line-height:1.9;margin-bottom:37px}.hero-lead strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%,var(--sage-light) 0)}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:37px;min-width:190px;padding:18px 20px;font-size:15px;font-weight:700;letter-spacing:-.01em;transition:transform .25s,background .25s}.button span{font-family:var(--display);font-size:17px;line-height:1}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:#f8f6ef}.button-dark:hover{background:var(--rust)}.button-light{background:#f5f1e9;color:var(--ink)}.text-link,.arrow-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link span,.arrow-link span{font-family:var(--display);margin-left:12px;font-size:15px}.hero-note{display:flex;align-items:center;gap:13px;font-family:var(--display);font-size:12px;font-weight:600;color:#7b8880;margin-top:78px}.note-line{display:inline-block;width:37px;height:1px;background:var(--rust)}.hero-art{min-height:540px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(245,242,236,.82) 0%,rgba(245,242,236,.12) 47%,rgba(245,242,236,.02) 100%),url("/jiin-constitution-hero-neutral.jpg") center/cover no-repeat}.art-orbit{position:absolute;border:1px solid rgba(49,80,82,.22);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:710px;height:350px;top:90px;right:-65px}.orbit-two{width:570px;height:280px;top:125px;right:25px;transform:rotate(26deg);border-color:rgba(89,99,95,.25)}.art-sun{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#c6cbc7 0 4%,#697571 50%,#3e4543 100%);right:17%;top:27%;filter:drop-shadow(15px 20px 22px rgba(48,48,48,.18))}.art-form{position:absolute;border-radius:48% 52% 60% 40%;filter:drop-shadow(15px 21px 15px rgba(32,45,39,.15))}.form-a{width:128px;height:220px;right:37%;top:13%;background:linear-gradient(145deg,#c3c9c5,#7b8781);transform:rotate(23deg)}.form-b{width:110px;height:180px;right:10%;top:46%;background:linear-gradient(145deg,#bfc5c1,#7d8781);transform:rotate(-39deg)}.form-c{width:90px;height:165px;right:38%;bottom:4%;background:linear-gradient(145deg,#7e8a85,#3f4a48);transform:rotate(45deg)}.form-d{width:74px;height:120px;right:61%;top:48%;background:linear-gradient(145deg,#9aa39f,#5c6763);transform:rotate(-25deg)}.art-seal{position:absolute;top:11%;right:9%;width:58px;height:58px;border:1px solid var(--rust);color:var(--rust);border-radius:50%;text-align:center;padding-top:7px;font-family:var(--serif);font-size:18px;line-height:1.05;transform:rotate(10deg)}.art-seal small{font-size:12px}.art-caption{position:absolute;bottom:4%;right:6%;font-family:var(--display);font-size:10px;color:#697870;letter-spacing:.04em}.art-caption span{color:var(--rust);margin-right:8px}.info-strip{background:var(--ink);color:#ecede4;padding:23px 9vw;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.info-strip div{display:flex;align-items:center;justify-content:center;gap:20px;border-right:1px solid rgba(255,255,255,.17)}.info-strip div:last-child{border:0}.info-strip b{font-size:14px;font-weight:700;color:#9cab94}.info-strip span{font-family:var(--display);font-size:16px;font-weight:700}.section-label{display:flex;gap:16px;align-items:center;color:var(--rust);margin-bottom:65px;font-weight:700}.section-label span:first-child{font-size:11px;letter-spacing:.05em}.section-label span:last-child{color:#657570}.section-label:after{content:'';height:1px;width:50px;background:currentColor;opacity:.6}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.kicker{color:var(--rust);font-size:12px;font-weight:700;margin-bottom:17px;letter-spacing:.12em}.intro h2,.care h2,.promise h2,.visit h2{font-size:clamp(42px,5vw,72px);margin-bottom:0}.intro-body{padding-top:26px;max-width:430px}.large-copy{font-family:var(--serif);font-size:26px;font-weight:700;margin-bottom:19px}.intro-body>p:not(.large-copy){color:#596661;font-size:17px;line-height:1.95;margin-bottom:18px}.arrow-link{display:inline-block;margin-top:28px}.constitution,.promise,.final-cta{background:var(--ink);color:#edf0e8}.section-label.light{color:#73807a}.section-label.light span:last-child{color:#b3c0b6}.constitution-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:76px}.constitution-intro h2{font-size:clamp(42px,5vw,72px);margin:0}.constitution-intro>p:last-child{max-width:330px;color:#c5cec6;font-size:16px;font-weight:500;line-height:1.95;margin:0}.constitution-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.constitution-card{height:316px;padding:26px 25px 22px;position:relative;overflow:hidden;transition:transform .3s}.constitution-card:hover{transform:translateY(-8px)}.card-taeum{background:#728a78}.card-soyang{background:#7f8a84}.card-soeum{background:#4b6b70}.card-taeyang{background:#59635f}.constitution-card:before{content:'';position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-49px;bottom:-39px}.constitution-card:after{content:'';position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-33px;bottom:-25px}.hanja{font-family:var(--serif);font-size:13px;opacity:.78}.card-line{width:26px;height:1px;background:rgba(255,255,255,.7);margin:53px 0 13px}.constitution-card h3{font-family:var(--serif);font-size:30px;font-weight:700;margin-bottom:8px}.constitution-card p{font-size:14px;line-height:1.8;font-weight:500;opacity:.8}.card-index{position:absolute;right:25px;top:25px;font-family:var(--display);font-size:10px;opacity:.65}.constitution-footnote{font-size:12px;font-weight:500;color:#91a39a;margin-top:28px}.care{background:var(--paper)}.care-head{display:flex;justify-content:space-between;align-items:flex-end;gap:80px;margin-bottom:68px}.care-desc{max-width:315px;color:#596661;line-height:1.9;font-size:16px;font-weight:500;margin:0 5vw 7px 0}.process-list{border-top:1px solid var(--line)}.process-item{display:grid;grid-template-columns:80px 1fr 50px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .25s}.process-item:hover{padding-left:13px;padding-right:13px;background:#f2f1eb}.process-num{font-family:var(--display);color:var(--rust);font-size:11px}.process-item h3{font-family:var(--serif);font-size:28px;font-weight:700;margin:0 0 4px}.process-item p{color:#596661;font-size:15px;font-weight:500;margin:0}.process-symbol{font-size:21px;color:var(--rust);text-align:right}.doctor{display:grid;grid-template-columns:45% 55%;background:var(--cream);padding-top:140px;padding-bottom:140px}.doctor-art{min-height:500px;position:relative;background:#dfe5da;display:flex;align-items:center;justify-content:center;overflow:hidden}.doctor-art:before{content:'';position:absolute;width:460px;height:460px;border:1px solid rgba(49,80,82,.26);border-radius:50%;transform:rotate(-24deg)}.doctor-art:after{content:'';position:absolute;width:370px;height:370px;border:1px solid rgba(89,99,95,.3);border-radius:50%;transform:rotate(30deg)}.doctor-circle{width:245px;height:245px;border-radius:50%;background:#9cad90;color:#f4f1e9;display:flex;align-items:center;justify-content:center;gap:16px;font-family:var(--serif);font-size:46px;position:relative;z-index:1;box-shadow:13px 17px 25px rgba(49,80,52,.2)}.doctor-circle span:last-child{color:#c7cfca}.doctor-stamp{position:absolute;right:12%;top:14%;z-index:2;border:1px solid var(--rust);border-radius:50%;width:58px;height:58px;color:var(--rust);font-family:var(--serif);font-size:13px;line-height:1.25;text-align:center;padding-top:9px;transform:rotate(11deg)}.doctor-copy{padding:12px 0 0 9vw}.doctor-copy .section-label{margin-bottom:78px}.doctor-copy h2{font-family:var(--serif);font-size:60px;font-weight:700;margin-bottom:37px}.doctor-quote{font-family:var(--serif);font-size:27px;line-height:1.6;margin-bottom:24px}.doctor-quote em{color:var(--rust);font-style:normal}.doctor-body{max-width:430px;color:#596661;font-size:16px;font-weight:500;line-height:2}.doctor-placeholder{border-top:1px solid var(--line);margin-top:37px;padding-top:19px;display:flex;gap:44px;color:#6f7d75;font-size:11px}.doctor-placeholder b{font-weight:400;line-height:1.7;color:var(--ink)}.promise{padding-bottom:140px}.promise-heading{text-align:center;margin-bottom:76px}.promise-heading h2{font-size:clamp(42px,5vw,72px)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.19)}.promise-item{padding:30px 36px;border-right:1px solid rgba(255,255,255,.19)}.promise-item:last-child{border:0}.promise-item>span{font-family:var(--display);color:#73807a;font-size:11px}.promise-item h3{font-family:var(--serif);font-size:26px;font-weight:700;margin:41px 0 6px}.promise-item p{font-size:14px;color:#c3cec5;font-weight:500;margin:0}.visit{background:var(--paper)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.visit-main h2{margin-bottom:63px}.address-block{border-top:1px solid var(--line);padding-top:19px;margin-bottom:34px}.address-label,.hours-title{font-family:var(--display);font-size:10px;letter-spacing:.15em;color:var(--rust)}.address-block p{font-size:18px;font-weight:500;line-height:1.8;margin:17px 0}.address-block b{font-size:14px;font-weight:500}.bus-note{font-size:14px!important;font-weight:500;color:#6a7972!important;display:flex;align-items:center;gap:7px}.bus-note i{display:inline-block;width:7px;height:7px;background:var(--rust);border-radius:50%}.hours-card{align-self:end;background:var(--cream);padding:35px 37px 30px}.hours-title{margin-bottom:28px}.hours-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500}.hours-row b{font-family:var(--display);font-size:14px;font-weight:700}.hours-row.muted{color:#809087;font-size:12px}.hours-row.weekend{color:var(--rust);margin-top:6px}.hours-note{font-size:12px;color:#64736b;line-height:1.8;padding-top:18px}.hours-note strong{font-weight:600;color:var(--rust)}.call-card{border-top:1px solid var(--line);margin-top:29px;padding-top:20px;display:flex;justify-content:space-between;align-items:center}.call-card span{font-size:11px;color:#77857c}.call-card a{font-family:var(--display);font-size:21px;font-weight:700}.final-cta{position:relative;overflow:hidden;padding:130px 9vw}.final-cta-inner{position:relative;z-index:1}.final-cta .kicker{color:#73807a}.final-cta h2{font-size:clamp(48px,6vw,86px);margin:0 0 23px}.final-cta p:not(.kicker){color:#c5cec6;line-height:1.9;font-size:16px;font-weight:500;margin-bottom:32px}.cta-orbit{position:absolute;right:8%;top:50%;width:500px;height:500px;transform:translateY(-50%);border:1px solid rgba(156,171,148,.25);border-radius:50%}.cta-orbit:before,.cta-orbit:after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(89,99,95,.3)}.cta-orbit:before{inset:54px -20px 54px 20px;transform:rotate(36deg)}.cta-orbit:after{inset:106px 27px 106px -27px;transform:rotate(-36deg)}.footer{background:#0c1d1f;color:#aebcb0;padding:52px 9vw 28px}.footer-brand{display:flex;gap:13px;align-items:center}.footer .brand-mark i{border-color:#9cab94;background:#0c1d1f}.footer-brand strong{font-family:var(--serif);font-size:16px;font-weight:400;color:#e3e8df;display:block}.footer-brand div>span{font-size:10px;color:#75867d}.footer-info{display:flex;gap:28px;margin:48px 0 30px;border-top:1px solid rgba(255,255,255,.12);padding-top:19px;font-family:var(--display);font-size:11px}.footer-info p{margin:0}.footer-bottom{display:flex;justify-content:space-between;font-family:var(--display);font-size:9px;letter-spacing:.08em;color:#6f8076}.mobile-bottom-bar{display:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.js .reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}@media(max-width:900px){.desktop-nav{gap:17px;margin-right:22px}.header-call{font-size:10px}.section-pad{padding-left:7vw;padding-right:7vw}.hero{grid-template-columns:1fr;padding-top:80px;min-height:auto}.hero-art{min-height:390px;margin-top:40px}.art-sun{width:190px;height:190px;right:28%;top:26%}.form-a{right:49%;top:9%}.form-b{right:15%;top:45%}.form-c{right:45%;bottom:4%}.form-d{right:65%;top:52%}.info-strip{padding:18px 4vw;gap:8px}.info-strip div{display:block;text-align:center}.info-strip b,.info-strip span{display:block}.constitution-cards{grid-template-columns:repeat(2,1fr)}.doctor{grid-template-columns:1fr}.doctor-copy{padding:80px 0 0}.doctor-art{min-height:420px}.doctor-copy .section-label{margin-bottom:45px}}@media(max-width:640px){body{font-size:15px;padding-bottom:61px}.topline{height:36px;gap:15px;font-size:11px;font-weight:700}.topline span:nth-child(2){display:none}.site-header{height:69px;padding:0 6vw}.desktop-nav,.header-call{display:none}.menu-toggle{display:block}.mobile-menu{position:absolute;display:flex;visibility:hidden;opacity:0;transform:translateY(-8px);left:0;right:0;z-index:9;background:var(--paper);padding:23px 7vw 28px;border-bottom:1px solid var(--line);flex-direction:column;gap:17px;transition:all .25s}.mobile-menu.open{visibility:visible;opacity:1;transform:none}.mobile-menu a{font-family:var(--serif);font-size:28px;font-weight:700}.mobile-menu-call{border-top:1px solid var(--line);padding-top:17px;color:var(--rust)!important;font-size:18px!important;font-weight:700}.mobile-menu-call b{font-family:var(--display);font-size:19px;font-weight:700;margin-left:8px}.hero{padding-top:70px;padding-bottom:52px}.eyebrow{font-size:8px;margin-bottom:27px}.hero-lead{font-size:15px}.hero-actions{gap:18px}.button{min-width:175px;padding:17px 17px;font-size:14px}.text-link{font-size:11px}.hero-note{margin-top:51px;font-size:9px}.hero-art{min-height:300px;margin:17px -7vw -8px}.orbit-one{width:420px;height:210px;top:41px;right:-83px}.orbit-two{width:350px;height:175px;top:60px;right:-14px}.art-sun{width:145px;height:145px;right:26%;top:27%}.form-a{width:82px;height:140px;right:47%;top:10%}.form-b{width:72px;height:118px;right:10%;top:46%}.form-c{width:65px;height:105px;right:43%;bottom:3%}.form-d{width:52px;height:85px;right:64%;top:51%}.art-seal{top:7%;right:8%;width:47px;height:47px;font-size:14px;padding-top:5px}.art-caption{font-size:8px;bottom:2%;right:7%}.info-strip{display:block;padding:0}.info-strip div{padding:13px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.info-strip div:last-child{display:none}.section-pad{padding:80px 7vw}.section-label{margin-bottom:45px;font-size:9px}.intro-grid{grid-template-columns:1fr;gap:34px}.intro-body{padding:0}.intro h2,.care h2,.promise h2,.visit h2{font-size:43px}.constitution-intro{display:block;margin-bottom:44px}.constitution-intro>p:last-child{margin-top:25px;font-size:13px}.constitution-cards{gap:8px}.constitution-card{height:236px;padding:17px 14px}.card-line{margin:30px 0 9px;width:18px}.constitution-card h3{font-size:22px}.constitution-card p{font-size:10px;line-height:1.6}.card-index{top:17px;right:14px;font-size:9px}.hanja{font-size:10px}.constitution-footnote{font-size:10px;line-height:1.7}.care-head{display:block;margin-bottom:43px}.care-desc{margin:26px 0 0;font-size:13px}.process-item{grid-template-columns:35px 1fr 25px;gap:10px;padding:25px 0}.process-item h3{font-size:21px}.process-item p{font-size:12px;line-height:1.8}.doctor{padding-top:80px;padding-bottom:80px}.doctor-art{min-height:300px;margin:0 -7vw}.doctor-art:before{width:290px;height:290px}.doctor-art:after{width:235px;height:235px}.doctor-circle{width:165px;height:165px;font-size:32px;gap:8px}.doctor-stamp{right:13%;top:12%;width:48px;height:48px;font-size:10px;padding-top:8px}.doctor-copy{padding-top:64px}.doctor-copy .section-label{margin-bottom:45px}.doctor-copy h2{font-size:43px;margin-bottom:28px}.doctor-quote{font-size:23px}.doctor-body{font-size:13px}.doctor-placeholder{gap:21px;font-size:10px}.promise{padding-bottom:80px}.promise-heading{margin-bottom:45px}.promise-grid{display:block}.promise-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.19);padding:23px 0}.promise-item h3{font-size:21px;margin:18px 0 4px}.promise-item p{font-size:11px}.visit-grid{grid-template-columns:1fr;gap:42px}.visit-main h2{margin-bottom:40px}.address-block p{font-size:14px}.hours-card{padding:27px 22px}.final-cta{padding:86px 7vw}.final-cta h2{font-size:49px}.cta-orbit{width:310px;height:310px;right:-114px;top:22%;transform:none}.footer{padding:40px 7vw 25px}.footer-info{display:block;margin:35px 0 25px}.footer-info p{margin-bottom:7px}.footer-bottom{font-size:8px;display:block}.footer-bottom a{display:block;margin-top:13px}.mobile-bottom-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;height:61px;background:var(--rust);z-index:20;color:#fff8ef;box-shadow:0 -5px 18px rgba(28,39,37,.13)}.mobile-bottom-bar a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;border-right:1px solid rgba(255,255,255,.25)}.mobile-bottom-bar a:last-child{border:0}.mobile-bottom-bar span{font-family:var(--display);font-size:16px}}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal.is-visible{opacity:1;transform:none;transition:none}.constitution-card,.button,.process-item,.doctor-team-card{transition:none}.doctor-dialog[open]{animation:none}}

.brand-logo{display:block;height:62px;width:auto;filter:invert(1)}.footer .brand-logo{filter:none;height:78px;width:auto}.info-strip a{color:inherit}.info-strip a:hover{color:var(--sage)}

/* Medical team and sasang collaboration additions */
.doctor-team{grid-column:1/-1;margin-top:88px;padding-top:39px;border-top:1px solid var(--line)}
.doctor-team-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}
.doctor-team-head .kicker{margin:0;color:var(--rust);font-family:var(--display);font-size:11px;letter-spacing:.16em}
.doctor-team-head p{margin:0;color:#596661;font-size:16px;font-weight:600;line-height:1.7;text-align:right}
.doctor-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.doctor-team-card{position:relative;display:flex;flex-direction:column;min-height:480px;background:var(--paper);border:1px solid var(--line);overflow:hidden;cursor:pointer;transform-origin:center 60%;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,background .3s,opacity .3s}
.tone-1{--tone:#728a78}.tone-2{--tone:#4b6b70}.tone-3{--tone:#7f8a84}.tone-4{--tone:#59635f}
.doctor-card-photo,.dd-photo{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--tone);color:rgba(255,255,255,.88);font-family:var(--serif)}
.doctor-card-photo{height:290px;font-size:92px}
.doctor-card-photo:before,.dd-photo:before{content:'';position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;transform:rotate(-24deg) scaleY(.82)}
.doctor-card-photo:after,.dd-photo:after{content:'';position:absolute;width:60%;aspect-ratio:1;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:rotate(30deg) scaleY(.8)}
.doctor-card-photo span,.dd-photo span{position:relative;z-index:1;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.doctor-card-photo img,.dd-photo img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.has-img{background:#d9d8d3}.has-img:before,.has-img:after{display:none}
.doctor-card-photo img{object-position:50% 0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.dd-photo img{object-position:50% 20%}
@media(hover:hover){.doctor-team-card:hover .doctor-card-photo img{transform:scale(1.06)}}
.doctor-group{background:none;overflow:visible;align-items:flex-end;min-height:0}
.doctor-group:before,.doctor-group:after{display:none}
.doctor-group img{display:block;width:112%;max-width:none;height:auto}
@media(max-width:900px){.doctor-group img{width:100%;max-width:640px}}
.hero-photo{background:var(--cream)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.place-photo{margin:0;overflow:hidden;background:#e6e5e0}
.place-photo img{display:block;width:100%;height:100%;object-fit:cover}
.intro-photo{margin-top:clamp(56px,7vw,96px);aspect-ratio:2/1}
.intro-photo img{object-position:50% 62%}
.visit-photo{position:relative;margin-top:36px;max-width:400px;aspect-ratio:4/3}
.visit-photo img{object-position:50% 60%}
.visit-photo figcaption{position:absolute;left:0;bottom:0;padding:7px 12px;background:rgba(48,48,48,.78);color:#f1f1ef;font-size:12px;letter-spacing:.04em}
.doctor-card-text{position:relative;flex:1;display:flex;flex-direction:column;padding:26px 24px 24px}
.doctor-card-index{position:absolute;top:26px;right:24px;color:var(--rust);font-family:var(--display);font-size:11px;font-weight:700}
.doctor-card-title{margin:0 0 6px;color:var(--rust);font-size:14px;font-weight:700}
.doctor-team-card h3{margin:0 0 6px;font-family:var(--serif);font-size:clamp(23px,2.1vw,30px);font-weight:700;line-height:1.3;word-break:keep-all;white-space:nowrap}
.doctor-card-role{margin:0;color:#66746e;font-size:14px;font-weight:500}
.doctor-card-more{margin-top:auto;padding-top:22px;font-size:13px;font-weight:700;color:var(--ink)}
.doctor-card-more i{display:inline-block;font-style:normal;margin-left:6px;transition:transform .3s}
.doctor-team-card:focus-visible{transform:scale(1.04);z-index:2;box-shadow:0 26px 50px rgba(34,34,34,.2)}
@media(hover:hover){.doctor-team-grid:hover .doctor-team-card{opacity:.55}.doctor-team-grid .doctor-team-card:hover{opacity:1;z-index:2;transform:scale(1.09);background:#fff;box-shadow:0 34px 70px rgba(34,34,34,.24)}.doctor-team-card:hover .doctor-card-photo span{transform:scale(1.12)}.doctor-team-card:hover .doctor-card-more i{transform:translateX(5px)}}

/* Champagne beige accent on dark sections */
:root{--blush:#d6c5a5}
body{word-break:keep-all}
.constitution h2 em,.promise h2 em,.final-cta h2 em{color:var(--blush)}
.constitution .kicker,.promise .kicker,.final-cta .kicker,.section-label.light span:first-child,.promise-item>span{color:var(--blush)}
.section-label.light{color:var(--blush)}
.section-label.light span:last-child{color:#e6e2d8}

/* Account, column & review board */
.desktop-nav{gap:28px;margin-right:30px;font-size:16px}
.header-acct{margin-right:22px;padding:8px 14px;border:1px solid var(--line);font-size:13px;font-weight:700;white-space:nowrap;transition:border-color .2s,background .2s}
.header-acct:hover{border-color:var(--ink);background:#fff}
.mobile-menu-acct{color:var(--rust)!important;font-family:var(--sans)!important;font-size:18px!important}
.footer-links{display:flex;gap:18px}
.footer-links a{opacity:.8}.footer-links a:hover{opacity:1}
.board{background:var(--cream)}
.board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:80px;margin-bottom:60px}
.board h2{font-size:clamp(42px,5vw,72px);margin:0}
.board-desc{max-width:360px;color:#596661;font-size:16px;font-weight:500;line-height:1.9;margin:0 5vw 7px 0}
.board-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.board-columns{background:var(--paper);border:1px solid var(--line);padding:30px 32px}
.board-sub{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.board-sub h3{font-family:var(--serif);font-size:26px;margin:0}
.board-sub .arrow-link{margin:0}
.column-item{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:18px 0;border-top:1px solid var(--line);transition:padding .25s}
.column-item:hover{padding-left:10px}
.column-item h4{margin:0;font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.5}
.column-item span{color:var(--rust);font-size:12px;font-weight:700}
.column-item time{grid-row:1/3;grid-column:2;align-self:center;color:#8a958f;font-family:var(--display);font-size:12px}
.column-empty{margin:0;padding:22px 0;border-top:1px solid var(--line);color:#8a958f;font-size:15px}
.board-review{background:var(--ink);color:#edf0e8;padding:34px 34px 30px;display:flex;flex-direction:column}
.board-review .kicker{color:var(--blush)}
.board-review h3{font-family:var(--serif);font-size:30px;margin:0 0 14px}
.board-review p:not(.kicker){color:#c5cec6;font-size:15px;line-height:1.9;margin-bottom:28px}
.board-actions{margin-top:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.board-review .button-dark{background:var(--blush);color:var(--ink)}
.board-review .button-dark:hover{background:#fff}
.board-review .text-link{border-color:#edf0e8}
@media(max-width:1180px){.desktop-nav{gap:18px;font-size:15px;margin-right:18px}.header-call span{display:none}}
@media(max-width:1000px){.desktop-nav a[href="#care"],.desktop-nav a[href="#constitution"]{display:none}}
@media(max-width:900px){.board-head{display:block}.board-desc{margin:24px 0 0}.board-grid{grid-template-columns:1fr}}
@media(max-width:640px){.header-acct{display:none}.board h2{font-size:43px}.board-columns,.board-review{padding:24px 20px}.column-item h4{font-size:17px}.footer-links{margin:10px 0}}

/* Doctor detail */
html:has(.doctor-dialog[open]){overflow:hidden}
.doctor-dialog{width:min(1060px,92vw);max-width:none;max-height:90vh;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 40px 90px rgba(0,0,0,.3)}
.doctor-dialog::backdrop{background:rgba(24,26,25,.62);backdrop-filter:blur(4px)}
.doctor-dialog[open]{animation:dd-in .4s cubic-bezier(.2,.7,.2,1)}
@keyframes dd-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.dd-inner{display:grid;grid-template-columns:42% 58%}
.dd-photo{min-height:580px;font-size:150px}
.dd-body{padding:58px 54px 44px}
.dd-body .kicker{font-family:var(--display);font-size:11px;margin-bottom:28px}
.dd-title{margin:0 0 4px;color:var(--rust);font-size:16px;font-weight:700}
.dd-body h2{font-size:52px;margin:0 0 26px}
.dd-quote{font-family:var(--serif);font-size:21px;line-height:1.6;border-left:2px solid var(--rust);padding-left:18px;margin-bottom:20px}
.dd-intro{color:#596661;font-size:16px;font-weight:500;line-height:1.9;margin-bottom:30px}
.dd-block{border-top:1px solid var(--line);padding:18px 0 6px}
.dd-block h3{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--rust)}
.dd-block ul{margin:0 0 12px;padding-left:18px;color:var(--ink);font-size:15px;font-weight:500}
.dd-empty{margin:0 0 12px;color:#8a958f;font-size:14px}
.dd-actions{margin-top:26px}
.dd-close{position:absolute;top:16px;right:16px;z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(251,251,250,.94);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .2s}
.dd-close:hover{transform:rotate(90deg)}
.dd-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.dd-nav button{padding:20px;border:0;background:transparent;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}
.dd-nav button+button{border-left:1px solid var(--line)}
.dd-nav button:hover{background:var(--cream)}
.collaboration-card{grid-column:1/-1;margin-top:72px;padding:28px 34px;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:50px;background:#eef0ed;border:1px solid rgba(48,48,48,.12)}
.collaboration-copy .kicker{margin-bottom:14px;font-family:var(--display);font-size:10px;letter-spacing:.13em}
.collaboration-copy h3{margin:0 0 10px;font-family:var(--serif);font-size:32px;font-weight:700}
.collaboration-copy>p:not(.kicker){max-width:580px;margin:0 0 13px;color:#596661;font-size:16px;font-weight:500;line-height:1.85}
.collaboration-note{color:#76827d;font-size:12px;font-weight:600}
.collaboration-logo{display:flex;align-items:center;justify-content:center;min-height:150px;background:#fff;border:1px solid rgba(48,48,48,.08)}
.collaboration-logo img{display:block;max-width:245px;width:82%;height:auto}
@media(max-width:900px){.doctor-team{margin-top:65px}.doctor-team-grid{grid-template-columns:repeat(2,1fr)}.doctor-team-card{min-height:440px}.dd-inner{grid-template-columns:1fr}.dd-photo{min-height:320px;font-size:110px}.collaboration-card{grid-template-columns:1fr;gap:25px}.collaboration-logo{min-height:125px}.collaboration-logo img{max-width:220px}}
@media(max-width:640px){.doctor-team-head{display:block}.doctor-team-head p{margin-top:14px;text-align:left;font-size:14px}.doctor-team-grid{grid-template-columns:1fr;gap:12px}.doctor-team-card{flex-direction:row;min-height:190px}.doctor-card-photo{width:38%;height:auto;flex:none;font-size:60px}.doctor-card-text{padding:20px 18px}.doctor-card-index{top:20px;right:18px}.doctor-card-title{font-size:13px}.doctor-team-card h3{font-size:24px}.doctor-card-role{font-size:13px}.doctor-card-more{padding-top:14px}.doctor-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0}.dd-photo{min-height:240px;font-size:90px}.dd-body{padding:34px 7vw 30px}.dd-body .kicker{margin-bottom:20px}.dd-body h2{font-size:38px;margin-bottom:20px}.dd-quote{font-size:18px}.dd-intro{font-size:14px}.collaboration-card{margin-top:48px;padding:22px 18px}.collaboration-copy h3{font-size:27px}.collaboration-copy>p:not(.kicker){font-size:14px}.collaboration-note{font-size:11px}.collaboration-logo{min-height:110px}}

/* 오시는 길 지도 */
.visit-map{margin:0 0 28px;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;max-width:560px;background:#e6e5e0}
.visit-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:640px){.visit-map{aspect-ratio:1/1;margin-bottom:22px}}

/* 진료 안내 01·02·03 사진 */
.process-item.has-photo{grid-template-columns:80px 1fr minmax(0,440px)}
.process-photos{display:grid;gap:10px}
.process-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#e6e5e0}
.process-photos.three{grid-template-columns:repeat(3,1fr)}
.process-photos.three img{aspect-ratio:3/4}
@media(max-width:900px){.process-item.has-photo{grid-template-columns:60px 1fr}.process-item.has-photo .process-photos{grid-column:1/-1}}
@media(max-width:640px){.process-item.has-photo{grid-template-columns:35px 1fr}.process-photos.three{gap:6px}}

/* 경희지인 이야기 (네이버 블로그 슬라이드) */
.story{padding:72px 0 64px;background:var(--paper);border-bottom:1px solid var(--line)}
.story[hidden]{display:none}
.story-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 7vw;margin-bottom:28px}
.story-head .kicker{margin-bottom:10px}
.story-head h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:700;color:var(--ink-deep);letter-spacing:-.02em}
.story-nav{display:flex;gap:8px}
.story-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;transition:.2s}
.story-btn:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink)}
.story-btn:disabled{opacity:.3;cursor:default}
.story-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 7vw;padding:4px 7vw 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.story-track::-webkit-scrollbar{display:none}
.story-card{flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .25s,box-shadow .25s}
.story-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}
.story-thumb{aspect-ratio:4/3;background:var(--sage-light);overflow:hidden;display:flex;align-items:center;justify-content:center}
.story-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.story-thumb span{font-family:var(--serif);color:var(--ink-soft);font-size:22px}
.story-body{padding:18px 20px 22px}
.story-body time{font-family:var(--display);font-size:12px;color:var(--ink-soft);letter-spacing:.04em}
.story-body h3{margin-top:8px;font-size:17px;font-weight:700;line-height:1.45;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.story-body p{margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.story-card-more{flex-basis:220px;align-items:center;justify-content:center;gap:14px;background:var(--ink);color:#ecede4;border-color:var(--ink);text-align:center;font-weight:700;line-height:1.6}
.story-card-more b{font-size:26px;font-weight:400}
.story-more{display:inline-flex;gap:8px;margin:14px 7vw 0;font-weight:700;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;text-decoration:none}
.story-more:hover{color:var(--rust);border-color:var(--rust)}
@media(max-width:640px){.story{padding:52px 0 46px}.story-nav{display:none}.story-card{flex-basis:76vw}.story-card-more{flex-basis:46vw}.story-track{gap:14px}}
.story-thumb{aspect-ratio:1/1}
.story-body time,.story-body p{display:none}
.story-body h3{margin-top:0}
