.drawing-main { color:#55584b; font:400 20px/1.4 'Pretendard',sans-serif; }
.drawing-main *, .drawing-main *::before, .drawing-main *::after { box-sizing:border-box; }
.drawing-main h2, .drawing-main h3, .drawing-main p, .drawing-main figure { margin:0; }
.drawing-main img { display:block; max-width:100%; height:auto; }
.drawing-main .main-visual { position:relative; aspect-ratio:1903/910; overflow:hidden; color:#fff; background:#393a2a; }
.drawing-main .visual-slides, .drawing-main .visual-slide { position:absolute; inset:0; }
.drawing-main .visual-slide { opacity:0; visibility:hidden; transition:opacity .8s,visibility .8s; }
.drawing-main .visual-slide.is-active { opacity:1; visibility:visible; z-index:1; }
.drawing-main .visual-slide > img { width:100%; height:100%; object-fit:cover; }
.drawing-main .visual-copy { position:absolute; top:53%; left:8%; transform:translateY(-50%); max-width:85%; text-shadow:0 1px 8px #0002; }
.drawing-main .visual-copy h2 { font-size:clamp(24px,3.36vw,64px); font-weight:400; line-height:1.3; letter-spacing:-.045em; }
.drawing-main .visual-copy strong { font-weight:700; }
.drawing-main .type-line { display:block; }
.drawing-main .visual-tag { margin-top:2vw; font-size:clamp(16px,1.8vw,34px); font-weight:600; letter-spacing:.04em; }
.drawing-main .visual-description { margin-top:2.8vw; font-size:clamp(14px,1.4vw,27px); line-height:1.55; letter-spacing:-.035em; }
.drawing-main .visual-controls { position:absolute; z-index:2; bottom:5%; left:8%; display:flex; align-items:center; gap:12px; font-size:14px; }
.drawing-main .visual-controls button { padding:6px; min-width:32px; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.drawing-main .visual-controls .visual-dot { opacity:.5; }
.drawing-main .visual-controls .visual-dot[aria-current="true"] { opacity:1; border-bottom:1px solid currentColor; }
.drawing-main .visual-controls .visual-prev, .drawing-main .visual-controls .visual-next { font-size:28px; }
.drawing-main .visual-controls button:focus-visible { outline:1px solid #fff; outline-offset:3px; }
.drawing-main .section-title { text-align:center; }
.drawing-main .eyebrow { margin-bottom:8px; font-size:18px; letter-spacing:.4em; }
.drawing-main .section-title h2 { font:400 48px/1.25 'Aboreto',serif; }
.drawing-main .title-band { width:440px; max-width:90%; margin:16px auto 0; background:linear-gradient(90deg,#d5d9ba,90%,transparent); font-size:20px; }
.drawing-main .main-best { padding:150px max(24px,7%) 220px; background:#a4a895 url('/img/main2/bg1.png') center top/100% 100% no-repeat; }
.drawing-main .title-quote { display:block; height:52px; font:48px/1 Georgia,serif; }
.drawing-main .main-best h2 { color:#e6e9cb; font-size:72px; }
.drawing-main .best-list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:22px; max-width:1640px; margin:82px auto 0; }
.drawing-main .best-card { position:relative; overflow:hidden; border-radius:0; transition:border-radius .5s; cursor:pointer;}
.drawing-main .best-card img { width:100%; transition:transform .5s; }
.drawing-main .best-card.bshover, .drawing-main .best-card:hover { border-radius:30px; }
.drawing-main .best-card.bshover img, .drawing-main .best-card:hover img { transform:scale(1.07,1.1); }
.drawing-main .best-label { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transition:color .4s,transform .4s; }
.drawing-main .best-label span { margin-bottom:22px; font-size:18px; font-weight:600; }
.drawing-main .best-label h3 { font-size:28px; line-height:1.2; font-weight:500; letter-spacing:-.06em; }
.drawing-main .main-signature { min-height:850px; padding:240px 24px 150px; text-align:center; color:#e1e4c7; background:#575d46 url('/img/main2/bg2.jpg') center/cover no-repeat; }
.drawing-main .main-signature h2 { font-size:44px; font-weight:400; letter-spacing:-.05em; }
.drawing-main .main-signature .title-band { margin-top:10px; color:#555d42; font:32px/1.2 'Aboreto',serif; }
.drawing-main .signature-points { display:flex; justify-content:center; max-width:1200px; padding:0; margin:94px auto 0; list-style:none; }
.drawing-main .signature-points li { position:relative; cursor:pointer; display:flex; flex:0 1 252px; aspect-ratio:1; flex-direction:column; align-items:center; justify-content:center; border:1px solid #b5b9a1; border-radius:50%; transition:background .4s,color .4s,border-color .4s,box-shadow .4s,transform .4s; }
.drawing-main .signature-points li:hover { z-index:1; color:#fffde6; background:#d8dfb82e; border-color:#ecf0d0; box-shadow:0 16px 40px #1d271b26,inset 0 0 32px #e9f0ca12; transform:translateY(-8px); }
.drawing-main .signature-points li + li { margin-left:-20px; }
.drawing-main .signature-points span { font:26px/1.2 'Aboreto',serif; }
.drawing-main .signature-points sup { font-size:14px; }
.drawing-main .signature-points p { font-size:24px; line-height:1.25; }
.drawing-main .signature-points p::before { content:''; display:block; width:36px; height:1px; margin:14px auto; background:currentColor; }
.drawing-main .main-doctor { display:flex; align-items:center; justify-content:center; gap:105px; min-height:625px; padding:100px 24px; background:#f7f5eb; text-align:center; }
.drawing-main .main-doctor figure { width:284px; flex-shrink:0; }
.drawing-main .main-doctor figcaption { margin-top:20px; font-size:24px; }
.drawing-main .doctor-copy > img { margin:0 auto 28px; }
.drawing-main .doctor-copy h2 { font-size:30px; font-weight:600; line-height:1.35; letter-spacing:-.04em; }
.drawing-main .doctor-copy hr { width:98px; margin:26px auto; border:0; border-top:1px solid #a3a591; }
.drawing-main .doctor-copy p { font-size:20px; line-height:1.25; letter-spacing:-.04em; }
.drawing-main .main-before-after { padding:140px 24px 190px; background:#fff; }
.drawing-main .section-subtitle { margin-top:14px; font-size:20px; }
.drawing-main .bna-content { max-width:817px; margin:32px auto 0; }
.drawing-main .bna-content figcaption { margin-bottom:20px; font-size:28px; }
.drawing-main .bna-content img { width:100%; }
.drawing-main .bna-stage { position:relative; }
.drawing-main .bna-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.drawing-main .bna-track::-webkit-scrollbar { display:none; }
.drawing-main .bna-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.drawing-main .bna-arrow { position:absolute; top:50%; width:44px; height:54px; padding:0; border:0; background:transparent; color:#55584b; font:300 44px/1 sans-serif; cursor:pointer; transform:translateY(-50%); }
.drawing-main .bna-prev { left:-64px; }
.drawing-main .bna-next { right:-64px; }
.drawing-main .bna-thumbs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:22px; }
.drawing-main .bna-thumbs button { padding:0; border:2px solid transparent; background:#fff; opacity:.5; cursor:pointer; transition:opacity .25s,border-color .25s; }
.drawing-main .bna-thumbs button:hover, .drawing-main .bna-thumbs button[aria-current="true"] { opacity:1; border-color:#777f5c; }
.drawing-main .bna-content :focus-visible { outline:2px solid #777f5c; outline-offset:3px; }
.drawing-main .bna-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }

/* 오시는 길 · 상담 및 예약 */
.drawing-main .main-contact { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; gap:60px; /*max-width:1700px;*/ margin:0 auto; padding:120px 250px 120px; color:#222; background:#575d46 url('/img/main2/bg3.jpg') center/cover no-repeat; }
.drawing-main .contact-map iframe { display:block; width:100%; height:450px; border:0; }
.drawing-main .contact-address { padding:15px 20px; background:#23271e; color:#fff; font-size:18px; line-height:1.5; }
.drawing-main .contact-info h2 { font-size:22px; font-weight:400; }
.drawing-main .contact-phone { display:block; margin:10px 0 20px; color:#5b6244; font-size:clamp(36px,4.1vw,72px); line-height:1.2; letter-spacing:-.06em; text-decoration:none; white-space:nowrap; }
.drawing-main .contact-phone strong { font-weight:800; }
.drawing-main .contact-hours { padding:24px 0; border-top:1px solid #999; border-bottom:1px solid #999; font-size:22px; }
.drawing-main .contact-hours dl { display:grid; grid-template-columns:110px 1fr; align-items:center; gap:20px 18px; margin:0 0 18px; }
.drawing-main .contact-hours dt { display:flex; justify-content:space-between; color:#6a7a33; font-weight:500; }
.drawing-main .contact-hours dd { margin:0; white-space:nowrap; font-weight:300; }
.drawing-main .contact-hours strong { font-weight:500; }
.drawing-main .contact-hours p { color:#464646; font-size:20px; }
.drawing-main .contact-follow { margin:30px 0 16px; font-weight:400; font:28px/1.2 'Aboreto',serif;}
.drawing-main .main-contact .main_sns { display:flex; gap:12px; margin:0; padding:0; }
.drawing-main .main-contact .main_sns > div { width:60px; margin:0; padding:0; }
.drawing-main .main-contact .main_sns a { display:block; }
.drawing-main .main-contact .main_sns img { width:100%; }
@media (max-width:1100px) {
    .drawing-main .main-contact { gap:30px; padding:60px 24px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
    .drawing-main .contact-hours { font-size:18px; }
    .drawing-main .contact-hours dl { grid-template-columns:85px 1fr; gap:18px 12px; }
    .drawing-main .contact-hours p { font-size:17px; }
}
@media (max-width:767px) {
    .drawing-main .main-contact { grid-template-columns:1fr; gap:36px; padding:50px 20px; }
    .drawing-main .contact-map iframe { height:320px; }
    .drawing-main .contact-address { padding:14px; font-size:15px; }
    .drawing-main .contact-phone { font-size:clamp(34px,8.7vw,60px); }
    .drawing-main .contact-hours dl { grid-template-columns:76px 1fr; gap:18px 12px; }
    .drawing-main .main-contact .main_sns > div { width:54px; }
}
@media (max-width:1000px) {
    .drawing-main .bna-prev { left:0; }
    .drawing-main .bna-next { right:0; }
    .drawing-main .bna-arrow { background:#ffffffc9; }
}
@media (prefers-reduced-motion:reduce) {
    .drawing-main *, .drawing-main *::after { transition:none !important; }
}
@media (max-width:1400px) {
    .drawing-main .main-best { padding-top:100px; padding-bottom:140px; }
    .drawing-main .main-best h2 { font-size:56px; }
    .drawing-main .best-list { gap:16px; margin-top:60px; }
    .drawing-main .best-label h3 { font-size:22px; }
    .drawing-main .main-signature { min-height:650px; padding-top:190px; padding-bottom:100px; }
    .drawing-main .signature-points { max-width:950px; margin-top:70px; }
    .drawing-main .signature-points span, .drawing-main .signature-points p { font-size:20px; }
}
@media (max-width:767px) {
    .drawing-main .main-visual { aspect-ratio:auto; min-height:520px; }
    .drawing-main .visual-slide > img { object-position:65% center; }
    .drawing-main .visual-slide::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0008,transparent); }
    .drawing-main .visual-copy { z-index:1; left:6%; top:48%; max-width:88%; }
    .drawing-main .visual-copy h2 { font-size:clamp(24px,4.6vw,35px); }
    .drawing-main .visual-tag { margin-top:24px; font-size:14px; letter-spacing:-.04em; }
    .drawing-main .visual-description { margin-top:28px; font-size:14px; }
    .drawing-main .visual-controls { left:6%; }
    .drawing-main .main-best { padding:70px 20px; }
    .drawing-main .eyebrow { font-size:12px; }
    .drawing-main .section-title h2, .drawing-main .main-best h2 { font-size:34px; }
    .drawing-main .title-band { width:300px; font-size:15px; }
    .drawing-main .best-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:36px; }
    .drawing-main .best-label h3 { font-size:24px; }
    .drawing-main .main-signature { min-height:0; padding:160px 20px 70px; background-position:center top; }
    .drawing-main .main-signature h2 { font-size:28px; }
    .drawing-main .main-signature .title-band { font-size:23px; }
    .drawing-main .signature-points { flex-wrap:wrap; gap:10px; margin-top:40px; }
    .drawing-main .signature-points li { flex:0 1 145px; }
    .drawing-main .signature-points li + li { margin-left:0; }
    .drawing-main .signature-points span, .drawing-main .signature-points p { font-size:16px; }
    .drawing-main .main-doctor { flex-direction:column; gap:42px; padding:65px 20px; }
    .drawing-main .main-doctor figure { width:230px; }
    .drawing-main .doctor-copy h2 { font-size:24px; }
    .drawing-main .doctor-copy p { font-size:16px; }
    .drawing-main .main-before-after { padding:70px 20px; }
    .drawing-main .bna-content figcaption { font-size:22px; }
}
