:root{--ink:#052c31;--teal:#009d88;--mint:#b5f3e2;--blue:#0750a4;--navy:#052657;--red:#f13e3c;--font-ui:'Noto Sans CJK KR','NanumSquareRound','Malgun Gothic',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;font-family:var(--font-ui);color:var(--ink);background:#f7fffc}
a{color:inherit}
.page-shell{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:radial-gradient(ellipse 42% 28% at 7% 40%,rgba(169,250,227,.75),transparent 100%),radial-gradient(ellipse 33% 30% at 94% 22%,rgba(177,249,226,.83),transparent 100%),radial-gradient(ellipse 38% 18% at 0 74%,rgba(142,238,213,.7),transparent 100%),linear-gradient(115deg,#fafffe,#fff 45%,#f8fffc)}
.page-shell:before{content:"";position:absolute;z-index:-1;left:-13%;right:-9%;top:78px;height:430px;border-radius:0 0 50% 54%/0 0 100% 95%;transform:rotate(-4deg);transform-origin:center top;background:radial-gradient(ellipse 27% 18% at 15% 55%,rgba(204,246,240,.4),transparent 100%),radial-gradient(ellipse 30% 18% at 82% 47%,rgba(208,252,238,.4),transparent 100%),rgba(255,255,255,.93)}
.page-shell:after{content:"";position:absolute;inset:auto auto 30px -8%;height:210px;width:45%;transform:rotate(12deg);z-index:-1;pointer-events:none;background:linear-gradient(130deg,rgba(120,238,200,.34),transparent 75%);border-radius:50%}
.top-bar{position:relative;z-index:5;border-bottom:1px solid rgba(10,55,65,.12);background:rgba(255,255,255,.34)}
.top-inner{max-width:1360px;margin:auto;padding:0 23px;min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{white-space:nowrap;display:flex;align-items:center;gap:9px;color:var(--ink);font-size:25px;font-weight:750;letter-spacing:-1.3px}.brand-tooth{width:43px;height:51px;color:#00998a;flex:none}
.desktop-nav{display:flex;gap:39px;align-items:center;padding-left:70px;font:500 15px/1.4 Arial,sans-serif}.desktop-nav a{text-decoration:none;white-space:nowrap}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.header-actions{display:flex;align-items:center;gap:14px}.contact-btn{background:linear-gradient(115deg,#007e78,#00ad8b);color:#fff;border-radius:40px;white-space:nowrap;font:600 15px Arial,sans-serif;text-decoration:none;padding:12px 21px;box-shadow:0 3px 10px rgba(0,127,109,.12)}.contact-btn span{font-size:20px;vertical-align:-1px;margin-left:5px}.contact-btn:hover{filter:brightness(1.07)}
.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;text-align:center}.hero-inner{position:relative;max-width:1200px;margin:auto;padding:26px 20px 8px}.patients{display:block;width:109px;height:38px;object-fit:contain;margin:0 auto 1px}.trust-line{font:500 16px Arial,sans-serif;color:#009887;margin:0 0 15px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(39px,4.14vw,61px);font-weight:500;line-height:.98;margin:0;color:#073238;letter-spacing:-1.5px}.hero h1 span{color:#00a28c}.hero-description{font-size:17px;line-height:1.65;font-weight:500;letter-spacing:-.65px;margin:18px 0 16px}.hero-marks{display:flex;justify-content:center;gap:10px;align-items:center}.hero-marks>*{display:block;width:37px;height:6px;background:#d7e0e6;border-radius:4px}.hero-marks b{background:#009d89}
.site-directory{max-width:1360px;margin:14px auto 0;padding:0 16px}.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-slot{position:relative;min-width:0;padding-bottom:74px}.service-card{height:415px;overflow:hidden;display:block;position:relative;text-decoration:none;border-radius:23px;background:linear-gradient(160deg,#ebf7ff,#d2e6fb);isolation:isolate;box-shadow:0 8px 18px rgba(20,48,73,.13);transition:transform .25s ease,box-shadow .25s ease;transform:translateZ(0)}.service-card:hover{transform:scale(1.012);box-shadow:0 12px 26px rgba(20,48,73,.2)}.service-card:focus-visible{outline:4px solid #00a189;outline-offset:4px}
.card-photo{position:absolute;top:0;left:0;width:100%;height:65%;object-fit:cover;object-position:center top;z-index:-1;user-select:none;pointer-events:none}.service-card:after{content:"";position:absolute;z-index:-1;inset:48% 0 0;background:linear-gradient(to bottom,transparent,#d5e8fa 87%);pointer-events:none}
.frost-panel{position:absolute;left:3.5%;right:3.5%;bottom:0;min-height:219px;padding:15px 26px 17px;border-radius:22px 22px 21px 21px;border:1px solid rgba(255,255,255,.64);background:linear-gradient(135deg,rgba(247,251,255,.79),rgba(239,244,254,.78) 49%,rgba(186,214,248,.75));box-shadow:0 -8px 24px rgba(255,255,255,.06);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--navy)}
.card-icon{height:45px;width:48px;display:block;color:#066ee2;margin:-26px 0 5px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(219,235,255,.76));border-radius:20px;padding:8px;box-sizing:content-box}
.frost-panel h2{font-size:24px;line-height:1.11;letter-spacing:-1.2px;font-weight:750;margin:3px 0 8px}.frost-panel p{font-size:15.5px;line-height:1.4;margin:0 0 10px;font-weight:500;letter-spacing:-.5px}.card-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:145px;height:40px;padding:0 23px;color:#fff;background:linear-gradient(160deg,#0860b9,#073a7c);border-radius:24px;font-size:16px;font-weight:700;letter-spacing:-.5px}.card-button span{font-size:22px;font-weight:400;line-height:1}.service-card:hover .card-button{filter:brightness(1.08)}
/* 업로드한 시안의 붉은 손글씨, 강조 밑줄, 화살표를 원형 그대로 추출한 안내 에셋 */
.guide{position:absolute;z-index:3;pointer-events:none;user-select:none;animation:guide-blink 1.1s ease-in-out infinite}
.guide-art,.guide-label-art{display:block;width:100%;height:auto;object-fit:contain}
.guide-mobile,.mobile-annotation{display:none}
.guide-first{width:238px;left:-50px;top:-167px}
.guide-implant{width:245px;left:22.5%;bottom:-45px}
.guide-foreign{width:323px;right:-47px;bottom:-50px}
.mobile-arrow{fill:none;stroke:#f42c2e;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
@keyframes guide-blink{0%,38%,100%{opacity:1}55%,78%{opacity:.12}}
.footer{max-width:1350px;margin:0 auto 14px;display:flex;align-items:center;gap:42px;justify-content:center;padding:0 16px 18px}.footer-rule{height:1px;flex:1;min-width:20px;background:#aec5ce}.footer-names{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;font-family:Arial,'Noto Sans CJK KR',sans-serif;font-size:14px;line-height:2;color:#153b41;white-space:nowrap}.footer-names span{padding:0 17px;border-right:1px solid #81a5ad}.footer-names span:last-child{border-right:0}
@media (min-width:1100px) and (max-height:800px){.hero-inner{padding-top:13px}.hero h1{font-size:clamp(40px,4vw,56px)}.site-directory{margin-top:7px}.service-card{height:390px}.site-slot{padding-bottom:70px}}
@media (max-width:1100px){.top-inner{padding:0 25px}.desktop-nav{gap:20px;padding-left:0}.brand{font-size:22px}.site-directory{padding:0 23px}.service-card{height:395px}.frost-panel{min-height:230px;padding:16px 17px}.frost-panel h2{font-size:22px}.frost-panel p{font-size:14px}.guide-first{left:-8px;top:-146px;width:228px}.guide-first .guide-label{font-size:27px}.guide-first svg{left:84px;top:57px;width:102px;height:88px}.guide-below{height:92px;top:calc(100% - 4px)}.guide-implant .guide-label{font-size:24px;left:82px}.guide-implant svg{left:157px;width:82px}.guide-foreign .guide-label{font-size:20px;left:53px}.guide-foreign svg{left:154px;width:82px}.guide-below:before{right:34px}.guide-below:after{right:15px}.footer{gap:10px}.footer-names span{padding:0 8px}}
@media (max-width:960px){.top-inner{min-height:70px;padding:0 18px}.brand{font-size:21px;letter-spacing:-.6px}.brand-tooth{width:37px;height:45px}.desktop-nav{display:none}.menu-toggle{border:0;background:transparent;width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;padding:4px}.menu-toggle span{display:block;width:26px;height:2.5px;background:var(--ink);border-radius:4px}.mobile-menu:not([hidden]){display:grid;grid-template-columns:repeat(2,1fr);padding:10px 20px 18px;gap:8px;background:rgba(255,255,255,.92)}.mobile-menu a{text-decoration:none;border:1px solid #d0ece7;border-radius:10px;padding:11px 12px;font-size:14px}.mobile-menu a:hover{background:#e8fff7}.hero-inner{padding:23px 14px 8px}.hero h1{font-size:clamp(36px,5.9vw,51px)}.hero-description{font-size:15px}.site-directory{padding:0 20px}.site-grid{grid-template-columns:1fr;gap:0;max-width:670px;margin:0 auto}.site-slot{margin-top:84px;padding-bottom:0}.site-slot:first-child{margin-top:88px}.service-card{height:310px}.card-photo{height:67%}.frost-panel{left:0;right:0;bottom:0;min-height:154px;display:grid;grid-template-columns:59px 1fr;grid-template-rows:auto auto auto;column-gap:5px;padding:12px 21px 15px}.card-icon{grid-column:1;grid-row:1/4;margin:0 auto 0 0;width:37px;height:42px}.frost-panel h2{grid-column:2;grid-row:1;font-size:22px;margin:0 0 5px;align-self:end}.frost-panel h2 br{display:none}.frost-panel p{grid-column:2;grid-row:2;font-size:15px;line-height:1.3;margin:0 0 9px}.frost-panel p br{display:none}.card-button{grid-column:2;grid-row:3;justify-self:start;height:34px;min-width:135px;font-size:15px}.guide-first,.guide-below{left:0;right:0;width:100%;height:78px;top:-79px}.guide-first .guide-label,.guide-below .guide-label{font-size:28px;left:4px;top:0;transform:rotate(-3deg);text-align:left}.guide-first .guide-label:after,.guide-below .guide-label:after{left:2px;right:6px;bottom:-4px}.guide-first svg,.guide-below svg{left:50px;top:34px;width:96px;height:48px;stroke-width:6}.guide-first svg{transform:rotate(0deg)}.guide-below svg{transform:rotate(180deg)}.guide-first:before,.guide-first:after{display:block}.guide-below:before{right:auto;left:185px;top:39px}.guide-below:after{right:auto;left:200px;top:31px}.guide-implant .guide-label{font-size:27px;left:0}.guide-implant svg{left:54px;top:36px;width:98px}.guide-foreign .guide-label{font-size:24px;left:0}.guide-foreign svg{left:58px;top:36px;width:98px}.footer{margin:26px auto 10px}.footer-rule{display:none}.footer-names{font-size:12px;white-space:normal}.footer-names span{padding:0 7px}}
@media (max-width:440px){.top-inner{padding:0 13px}.brand{font-size:17px}.brand-tooth{width:33px}.contact-btn{font-size:12px;padding:9px 13px}.contact-btn span{font-size:17px}.menu-toggle{width:33px}.hero h1{font-size:35px;line-height:1.08}.trust-line{font-size:13px;margin-bottom:12px}.hero-description{font-size:13px;line-height:1.55;margin:15px 0}.site-directory{padding:0 14px}.site-slot{margin-top:78px}.site-slot:first-child{margin-top:82px}.service-card{height:300px;border-radius:18px}.frost-panel{min-height:159px;grid-template-columns:45px 1fr;padding:12px 12px 14px}.frost-panel h2{font-size:18px;letter-spacing:-.7px}.frost-panel p{font-size:12.4px}.card-icon{width:32px;height:35px;padding:5px}.guide-first .guide-label,.guide-below .guide-label{font-size:24px}.guide-first svg,.guide-below svg{left:42px;top:35px;width:84px;height:42px}.guide-implant .guide-label{font-size:24px}.guide-implant svg{left:48px;top:37px;width:84px}.guide-foreign .guide-label{font-size:20px}.guide-foreign svg{left:52px;top:37px;width:84px}.guide-below:before{left:165px}.guide-below:after{left:180px}.footer{margin-top:20px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}.guide{animation:none}}

/* 최종 화면 QA: 안내 문구와 카드/푸터 간격 정리 */
@media (min-width:961px){.site-slot{padding-bottom:106px}.card-photo{height:57%}.guide-first{left:-24px}.footer{margin-top:4px}}
@media (max-width:960px){.frost-panel h2 br{display:initial}}
@media (max-width:360px){.brand{font-size:15px}.brand-tooth{width:27px;height:40px}.header-actions{gap:4px}.contact-btn{font-size:11px;padding:8px 9px}.contact-btn span{font-size:15px;margin-left:1px}.menu-toggle{width:28px}.menu-toggle span{width:24px}.frost-panel h2{font-size:17px;line-height:1.18}}

/* 2026-11-10: 승인된 디자인 이미지 기준 비례·정렬·장식 원형 정밀 보정 */
@media(min-width:961px){
 .top-inner{max-width:1120px;min-height:64px;padding-inline:10px}
 .brand{font-size:20px;gap:7px;letter-spacing:-.7px}
 .brand-tooth{width:35px;height:41px}
 .desktop-nav{font-size:14px;gap:30px;padding-left:45px}
 .contact-btn{font-size:13px;padding:9px 16px}
 .contact-btn span{font-size:17px}
 .hero-inner{padding:18px 16px 0}
 .patients{width:92px;height:29px;margin-bottom:2px}
 .trust-line{font-size:14px;margin-bottom:7px}
 .hero h1{font-size:clamp(42px,3.86vw,54px);line-height:.99;letter-spacing:-1.2px}
 .hero-description{font-size:15px;line-height:1.5;letter-spacing:-.4px;margin:13px 0 11px}
 .hero-marks{gap:10px}
 .hero-marks>*{width:32px;height:5px}
 .site-directory{max-width:1110px;padding:0;margin:20px auto 0}
 .site-grid{gap:15px}
 .site-slot{padding-bottom:47px}
 .service-card{height:auto;min-height:320px;aspect-ratio:360/344;border-radius:20px}
 .card-photo{height:58%;object-fit:cover}
 .frost-panel{left:3%;right:3%;min-height:0;height:52%;padding:12px 22px 11px;border-radius:19px}
 .card-icon{width:35px;height:37px;padding:7px;margin:-19px 0 2px;border-radius:15px}
 .frost-panel h2{font-size:20px;line-height:1.13;letter-spacing:-.85px;margin:0 0 5px}
 .frost-panel p{font-size:14px;line-height:1.3;letter-spacing:-.3px;margin-bottom:7px}
 .card-button{min-width:127px;height:34px;padding:0 17px;gap:10px;font-size:14px}
 .card-button span{font-size:19px}
 .guide-first{left:clamp(-50px,calc((1024px - 100vw)*.144),0px);top:-167px;width:238px;height:auto}
 .guide-implant{left:22.5%;right:auto;bottom:-45px;top:auto;width:245px;height:auto}
 .guide-foreign{right:clamp(-47px,calc((1024px - 100vw)*.135),0px);left:auto;bottom:-50px;top:auto;width:min(100%,323px);height:auto}
 .guide .guide-desktop{display:block}
 .guide .guide-mobile,.guide .mobile-annotation{display:none}
 .footer{max-width:1110px;margin:0 auto 12px;padding:0 0 8px;gap:26px}
 .footer-names{font-size:12px;line-height:1.7}
 .footer-names span{padding-inline:10px}
}
@media(min-width:961px) and (max-width:1140px){
 .site-directory{margin-inline:24px}
 .top-inner{padding-inline:24px}
 .service-card{aspect-ratio:360/355}
 .frost-panel{padding:12px 14px 10px}
 .frost-panel h2{font-size:clamp(17px,1.85vw,20px)}
 .frost-panel p{font-size:clamp(12px,1.3vw,14px)}
 .guide-first{top:-158px;transform:scale(.86);transform-origin:left bottom}
 .guide-implant{left:14%;transform:scale(.87);transform-origin:left bottom}
 .guide-foreign{transform:scale(.85);transform-origin:right bottom}
 .footer{margin-inline:24px}
}
@media(max-width:960px){
 .guide{height:auto;animation:guide-blink 1.1s ease-in-out infinite}
 .site-grid{gap:0}
 .site-slot{position:relative;margin-top:82px;padding-bottom:0}
 .site-slot:first-child{margin-top:84px}
 .guide-first{top:-82px;left:0;width:151px;right:auto;height:auto}
 .guide-first .guide-desktop{display:none}
 .guide-first .guide-mobile{display:block;width:151px;transform:translate(-2px,-5px) scaleY(.56);transform-origin:top left}
 .guide-below{top:-67px;left:0;right:auto;bottom:auto;width:auto;height:70px}
 .guide-below .guide-desktop{display:none}
 .guide-below .mobile-annotation{display:block;position:relative;width:max-content;max-width:100%;height:72px}
 .guide-below .guide-label-art{display:block;width:auto;height:32px;max-width:100%;object-fit:contain;object-position:left top}
 .guide-below .mobile-arrow{position:absolute;width:90px;height:56px;top:21px;left:42px;transform:none}
 .guide-implant .mobile-annotation{width:235px}
 .guide-foreign .mobile-annotation{width:min(100%,315px)}
 .guide-foreign .guide-label-art{height:auto;width:min(100%,315px)}
 .guide-foreign .mobile-arrow{left:52px;top:22px}
 .footer{margin-top:26px}
}
@media(max-width:440px){
 .guide-first{top:-83px;left:0}
 .guide-below{top:-68px}
 .guide-implant .guide-label-art{height:30px}
 .guide-foreign .guide-label-art{width:min(100%,290px)}
 .guide-foreign .mobile-arrow{left:45px}
}
@media(max-width:340px){
 .guide-foreign .guide-label-art{width:min(100%,270px)}
 .guide-implant .guide-label-art{height:28px}
 .guide-below .mobile-arrow{left:35px}
}
@media(prefers-reduced-motion:reduce){.guide{animation:none}}

/* 안내 문구의 시안상 위치와 푸터 간격을 일치시키는 최종 위치 보정 */
@media(min-width:961px){
 .site-directory{margin-top:33px}
 .guide-implant{bottom:2px}
 .guide-foreign{bottom:-3px}
}
@media(max-width:960px){
 .guide-first{top:-90px;left:0;width:210px}
 .guide-first .guide-mobile{display:none}
 .guide-first .mobile-annotation{display:block;position:relative;width:210px;height:100px}
 .guide-first .guide-label-art{width:210px;height:auto}
 .guide-first .mobile-arrow{position:absolute;left:57px;top:53px;width:90px;height:53px}
 .guide-implant .mobile-annotation{width:250px}
 .guide-implant .guide-label-art{width:235px;height:auto}
 .guide-foreign .mobile-annotation{width:min(100%,315px)}
 .guide-foreign .guide-label-art{width:min(100%,315px);height:auto}
}
@media(max-width:340px){
 .guide-first .guide-label-art{width:195px}
 .guide-first .mobile-arrow{left:45px;top:50px}
 .guide-foreign .guide-label-art{width:min(100%,270px)}
}

/* 모바일 안내 화살표는 밑줄 아래에서 출발하도록 간격 분리 */
@media(max-width:960px){
 .guide-first .mobile-arrow{top:68px}
 .guide-implant .mobile-arrow{top:35px}
 .guide-foreign .mobile-arrow{top:37px}
}

/* 선명도 개선: 빨간 안내 글씨/화살표는 PNG 대신 해상도 독립적인 SVG 윤곽선.
   본문/카드 글자는 기존 HTML 텍스트로 유지한다. */
:where(body,button,a,h1,h2,p,span){text-rendering:optimizeLegibility}
.service-card{transform:none}
.service-card:hover{transform:none}
.card-photo{transition:transform .25s ease;transform-origin:center center}
.service-card:hover .card-photo{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.card-photo{transition:none}.service-card:hover .card-photo{transform:none}}

/* 시각적 간섭 방지: PC에서 안내 밑줄과 다국어 푸터 사이의 간격 확보 */
@media(min-width:961px){.footer{margin-top:14px}}

/* V2: 안내 손글씨를 원본 폰트 글리프 곡선으로 재구성. 화살표·밑줄은 별도의 SVG 곡선. */
.precision-callout{position:absolute;z-index:3;pointer-events:none;user-select:none;animation:guide-blink 1.1s ease-in-out infinite}
.precision-callout img{display:block;width:100%;height:auto;max-width:none}
.precision-callout .callout-mobile{display:none}
@media(min-width:961px){
 .callout-official{width:238px;left:clamp(-50px,calc((1024px - 100vw)*.144),0px);top:-167px}
 .callout-implant{width:245px;left:22.5%;bottom:2px}
 .callout-foreign{width:min(100%,323px);right:clamp(-47px,calc((1024px - 100vw)*.135),0px);bottom:-3px}
}
@media(min-width:961px) and (max-width:1140px){
 .callout-official{width:clamp(192px,20.5vw,235px);top:-152px}
 .callout-implant{width:clamp(205px,21vw,239px);left:14%;bottom:1px}
 .callout-foreign{width:clamp(258px,27vw,312px);bottom:1px}
}
@media(max-width:960px){
 .site-slot{margin-top:96px}
 .site-slot:first-child{margin-top:97px}
 .precision-callout{left:0;right:auto;top:-92px;bottom:auto}
 .precision-callout .callout-desktop{display:none}
 .precision-callout .callout-mobile{display:block}
 .callout-official{width:210px;top:-98px}
 .callout-implant{width:248px}
 .callout-foreign{width:min(309px,100%)}
}
@media(max-width:340px){
 .callout-official{width:195px}
 .callout-implant{width:235px}
 .callout-foreign{width:min(282px,100%)}
}
@media(prefers-reduced-motion:reduce){.precision-callout{animation:none}}
/* 중간 너비에서도 카드 자체가 3열 Grid 칸을 넘지 않도록 최소 높이만 해제 */
@media(min-width:961px) and (max-width:1050px){
 .service-card{height:348px;min-height:0;aspect-ratio:auto}
}

/* === Image A handwriting matching (2026-11-10) ===
   Original pen strokes / underline / sparks / arrowheads traced directly
   from the user's approved Image A. No font substitution or raster enlargement.
   Six resolution-independent vector assets are swapped responsively.
   All existing cards, colors, labels, buttons and interactions are untouched. */
.precision-callout { z-index:3; pointer-events:none; user-select:none; animation:guide-blink 1.1s ease-in-out infinite }
.precision-callout img { display:block; width:100%; height:auto; max-width:none }
@media (min-width:961px) {
  .site-slot { padding-bottom:64px }
  .callout-official { left:-40px; top:-164px; width:min(60%,212px); right:auto; bottom:auto }
  .callout-implant { left:24.5%; width: min(75%,231px); bottom:12px; top:auto; right:auto }
  .callout-foreign { left:26%; width:min(90%,310px); bottom:10px; top:auto; right:auto }
  .footer { margin-top:10px }
}
@media (min-width:961px) and (max-width:1140px) {
  .callout-official { left:-6px; top:-151px; width:min(65%,198px) }
  .callout-implant { left:14%; width:min(80%,218px) }
  .callout-foreign { left:auto; right:0; width:min(91%,265px) }
}
@media (max-width:960px) {
  .site-slot { margin-top:116px; padding-bottom:0 }
  .site-slot:first-child { margin-top:157px }
  .precision-callout { left:0; right:auto; bottom:auto }
  .precision-callout .callout-desktop {display:none}
  .precision-callout .callout-mobile {display:block}
  .callout-official { top:-147px; width:min(62%,195px) }
  .callout-implant { top:-104px; width:min(77%,240px) }
  .callout-foreign { top:-104px; width:min(100%,304px) }
  .footer { margin-top:25px }
}
@media (max-width:440px) {
  .site-slot {margin-top:107px}
  .site-slot:first-child {margin-top:146px}
  .callout-official {top:-139px;width:min(65%,184px)}
  .callout-implant {top:-98px;width:min(83%,229px)}
  .callout-foreign {top:-101px;width:min(100%,292px)}
}
@media (max-width:350px) {
  .site-slot {margin-top:102px}
  .site-slot:first-child {margin-top:140px}
  .callout-official {top:-133px;width:min(67%,174px)}
  .callout-implant {top:-95px;width:min(84%,216px)}
  .callout-foreign {top:-98px;width:min(100%,268px)}
}
@media (prefers-reduced-motion:reduce) { .precision-callout {animation:none} }


/* 2026-11-10 final: apply approved clean pixel-extracted red callouts to mobile too,
   and keep PC/mobile responsive balance without changing cards, text, buttons or behavior. */
.precision-callout .callout-mobile{display:none !important}
.precision-callout .callout-desktop{display:block !important}
@media (max-width:960px){
  .site-grid{gap:0}
  .site-slot{margin-top:42px;padding-bottom:0}
  .site-slot:first-child{margin-top:146px}
  .site-slot-implant,.site-slot-foreign{padding-bottom:88px}
  .callout-official{top:-140px;bottom:auto;left:0;right:auto;width:min(64vw,210px)}
  .callout-implant{top:auto;bottom:10px;left:0;right:auto;width:min(78vw,245px)}
  .callout-foreign{top:auto;bottom:10px;left:0;right:auto;width:min(92vw,315px)}
  .footer{margin-top:16px}
}
@media (max-width:440px){
  .site-slot{margin-top:36px}
  .site-slot:first-child{margin-top:136px}
  .site-slot-implant,.site-slot-foreign{padding-bottom:82px}
  .callout-official{top:-131px;width:min(66vw,188px)}
  .callout-implant{width:min(80vw,228px);bottom:8px}
  .callout-foreign{width:min(94vw,292px);bottom:8px}
}
@media (max-width:360px){
  .site-slot:first-child{margin-top:130px}
  .site-slot-implant,.site-slot-foreign{padding-bottom:78px}
  .callout-official{top:-124px;width:min(68vw,176px)}
  .callout-implant{width:min(82vw,214px)}
  .callout-foreign{width:min(96vw,270px)}
}


/* 2026-11-10 모바일 카드 사이 여백 이동: 약 48px을
   임플란트와 외국인 카드 사이에서 공식/임플란트 카드 사이로 이전.
   그 외 레이아웃/애니메이션/카드/PC 화면은 변경하지 않음. */
@media (min-width:441px) and (max-width:960px) {
  .site-slot-implant { margin-top: 90px; }  /* 기존 42px + 48px */
  .site-slot-foreign { margin-top: -6px; }  /* 기존 42px - 48px */
}
@media (max-width:440px) {
  .site-slot-implant { margin-top: 84px; }  /* 기존 36px + 48px */
  .site-slot-foreign { margin-top: -12px; } /* 기존 36px - 48px */
}


/* 2026-11-10: mobile official callout only — the exact supplied transparent artwork.
   Show it BELOW the first card, pointing up, consistent with the other two callouts.
   No changes to desktop or other card callout assets. */
@media (max-width:960px){
  .site-grid > .site-slot-official:first-child{margin-top:clamp(18px,3.2vw,26px);padding-bottom:90px;}
  .site-slot-implant{margin-top:18px;}
  .callout-official{top:auto;bottom:13px;left:clamp(18px,7vw,32px);right:auto;width:min(59vw,212px);}
  .callout-official .callout-desktop{display:none !important;}
  .callout-official .callout-mobile{display:block !important;}
}
@media (max-width:440px){
  .site-grid > .site-slot-official:first-child{margin-top:18px;padding-bottom:88px;}
  .site-slot-implant{margin-top:18px;}
  .callout-official{bottom:13px;width:min(61vw,212px);}
}
@media (max-width:350px){
  .site-grid > .site-slot-official:first-child{padding-bottom:82px;}
  .site-slot-implant{margin-top:16px;}
  .callout-official{bottom:10px;width:min(61vw,198px);}
}


/* 모바일: 검은 박스로 표시된 첫째/둘째 안내 영역의 수직 간격만 균등화.
   두 간격의 차이 절반을 한쪽에서 다른 쪽으로 이동하므로 세 번째 카드의
   최종 위치, 카드 내부 요소 및 PC 레이아웃은 바뀌지 않는다. */
@media (min-width:441px) and (max-width:960px) {
  .site-grid > .site-slot-official:first-child { padding-bottom:77px; }
  .site-slot-foreign { margin-top:7px; }
}
@media (min-width:361px) and (max-width:440px) {
  .site-grid > .site-slot-official:first-child { padding-bottom:70px; }
  .site-slot-foreign { margin-top:6px; }
}
@media (min-width:351px) and (max-width:360px) {
  .site-grid > .site-slot-official:first-child { padding-bottom:68px; }
  .site-slot-foreign { margin-top:8px; }
}
@media (max-width:350px) {
  .site-grid > .site-slot-official:first-child { padding-bottom:66px; }
  .site-slot-foreign { margin-top:4px; }
}


/* Korean hero headline: only the heading typography and its mint highlight are updated. */
.hero h1.hero-title-ko {
  font-family:var(--font-ui);
  font-size:clamp(36px,3.4vw,48px);
  line-height:1.24;
  font-weight:750;
  letter-spacing:-.045em;
  color:#111111;
}
.hero h1.hero-title-ko .highlight-best { color:#00a28c; }
@media (max-width:960px) {
  .hero h1.hero-title-ko { font-size:clamp(28px,4vw,38px); }
}
@media (max-width:600px) {
  .hero h1.hero-title-ko { font-size:clamp(18px,5.6vw,30px); line-height:1.3; letter-spacing:-.05em; }
}
