/* =========================================================
   geo.css — 2026-10 압구정 연세바로치과의원 콘텐츠 보강 스타일
   (히어로 H1, 안내 허브, FAQ, 영상 섹션, 의료진 요약)
   기존 테마 변수: 보라 #352d59 / #6768AB, 연보라 #F3F5FF, 회색 #959595
   ========================================================= */

/* ---- 메인 히어로: 동영상 위 짧은 H1 + 리드 ---- */
.geo-hero-text{position:absolute; left:12%; top:42%; z-index:5; max-width:620px; pointer-events:none;}
.geo-hero-text h1{font-family:'Noto Serif KR','Nanum Myeongjo',serif; font-weight:600; color:#352d59; font-size:clamp(26px,3.2vw,52px); line-height:1.3; letter-spacing:-0.03em; margin:0 0 12px; word-break:keep-all;}
.geo-hero-text h1 small{display:block; font-size:.5em; font-weight:500; color:#5a5280; margin-top:8px; letter-spacing:-0.01em;}
.geo-hero-text p{font-size:clamp(14px,1.1vw,18px); line-height:1.6; color:#4a4a4a; margin:0; word-break:keep-all;}
@media (max-width:1280px){ .geo-hero-text{left:8%; top:40%;} }
@media (max-width:963px){
    .geo-hero-text{left:0; right:0; top:auto; bottom:0; max-width:none; padding:56px 20px 124px; background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.96) 100%);} /* 하단 124px = 모바일 퀵바(.quick-wrap 96px) 위로 띄움 */
    .geo-hero-text h1{font-size:24px;}
    .geo-hero-text p{font-size:14px;}
}

/* ---- 안내 허브 (선택 기준 · 진료 범위 · 검증 가능한 사실) ---- */
.geo-hub{position:relative; width:100%; background:#fff; padding:90px 0 70px;}
.geo-hub .geo-inner{width:100%; max-width:1180px; margin:0 auto; padding:0 24px; box-sizing:border-box;}
.geo-hub h2{font-family:'Noto Serif KR',serif; font-weight:600; font-size:clamp(22px,2.2vw,34px); line-height:1.35; letter-spacing:-0.03em; color:#303030; margin:0 0 22px; word-break:keep-all;}
.geo-hub h2 + p.geo-lead{font-size:17px; line-height:1.7; color:#4a4a4a; margin:0 0 28px; word-break:keep-all;}
.geo-hub .geo-block{margin-bottom:64px;}
.geo-hub .geo-block:last-child{margin-bottom:0;}
.geo-checklist{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.geo-checklist li{background:#F3F5FF; border-radius:16px; padding:22px 24px; font-size:16px; line-height:1.65; color:#333; word-break:keep-all;}
.geo-checklist li strong{display:block; color:#352d59; font-size:17px; margin-bottom:6px;}
.geo-link-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0; padding:0; list-style:none;}
.geo-link-grid a{display:block; padding:18px 18px; border:1px solid #e4e0ee; border-radius:14px; color:#303030; background:#faf9fd; font-size:16px; line-height:1.4; text-decoration:none; word-break:keep-all; transition:background .2s,border-color .2s;}
.geo-link-grid a:hover{background:#F3F5FF; border-color:#6768AB;}
.geo-link-grid a small{display:block; color:#959595; font-size:13px; margin-top:4px;}
.geo-facts{list-style:none; margin:0; padding:0; border-top:1px solid #e4e0ee;}
.geo-facts li{display:flex; gap:18px; padding:14px 4px; border-bottom:1px solid #eee; font-size:15.5px; line-height:1.65; color:#333; word-break:keep-all;}
.geo-facts li b{flex:0 0 150px; color:#352d59; font-weight:600;}
.geo-facts a{color:#6768AB; text-decoration:underline;}
.geo-note{font-size:13px; color:#959595; line-height:1.6; margin-top:12px; word-break:keep-all;}
@media (max-width:963px){
    .geo-hub{padding:56px 0 40px;}
    .geo-checklist{grid-template-columns:1fr;}
    .geo-link-grid{grid-template-columns:repeat(2,1fr);}
    .geo-facts li{flex-direction:column; gap:4px;}
    .geo-facts li b{flex:none;}
}

/* ---- FAQ (sub.css 의 .faq-sect/.faq-box 를 그대로 재사용, 메인용 여백만 조정) ---- */
.geo-faq.faq-sect{padding:20px 20px 90px; box-sizing:border-box;}
.geo-faq .faq-box h4{padding:20px 64px 20px 28px; text-align:left; font-size:19px;}
.geo-faq .faq-box p{padding:28px 32px; text-align:left; font-size:16px; line-height:1.7; word-break:keep-all;}
@media (max-width:963px){
    .geo-faq .faq-box h4{font-size:16px; padding:16px 48px 16px 18px;}
    .geo-faq .faq-box h4:after{right:18px;}
    .geo-faq .faq-box p{padding:20px 18px; font-size:15px;}
}

/* ---- 영상 섹션 (치과미슐랭) ---- */
.geo-video{width:100%; background:#faf9fd; padding:80px 0;}
.geo-video .geo-inner{width:100%; max-width:1180px; margin:0 auto; padding:0 24px; box-sizing:border-box;}
.geo-video h2{font-family:'Noto Serif KR',serif; font-weight:600; font-size:clamp(22px,2.2vw,32px); line-height:1.35; letter-spacing:-0.03em; color:#303030; margin:0 0 10px; word-break:keep-all;}
.geo-video .geo-video-sub{font-size:15px; color:#959595; margin:0 0 28px; line-height:1.6; word-break:keep-all;}
.geo-video .geo-video-sub a{color:#6768AB; text-decoration:underline;}
.geo-video-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:0; padding:0; list-style:none;}
.geo-video-grid li{background:#fff; border:1px solid #e4e0ee; border-radius:16px; overflow:hidden;}
.geo-video-grid .geo-frame{position:relative; width:100%; background:#000;}
.geo-video-grid .geo-frame.r169{padding-top:56.25%;}
.geo-video-grid .geo-frame.r916{padding-top:150%;}
.geo-video-grid iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.geo-video-grid figcaption{padding:14px 16px 16px; font-size:15px; line-height:1.5; color:#333; word-break:keep-all;}
.geo-video-grid figcaption time{display:block; color:#959595; font-size:12.5px; margin-top:4px;}
@media (max-width:963px){
    .geo-video{padding:48px 0;}
    .geo-video-grid{grid-template-columns:1fr;}
    .geo-video-grid .geo-frame.r916{padding-top:120%;}
}

/* ---- 의료진 요약 / 소개문 ---- */
.geo-doctors-summary{width:100%; background:#F3F5FF; padding:56px 0;}
.geo-doctors-summary .geo-inner{width:100%; max-width:1180px; margin:0 auto; padding:0 24px; box-sizing:border-box;}
.geo-doctors-summary h2{font-family:'Noto Serif KR',serif; font-weight:600; font-size:clamp(22px,2.2vw,32px); color:#303030; margin:0 0 18px; letter-spacing:-0.03em;}
.geo-doctors-summary p{font-size:16.5px; line-height:1.75; color:#333; margin:0 0 14px; word-break:keep-all;}
.geo-doctors-summary ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.geo-doctors-summary li{background:#fff; border-radius:14px; padding:18px 20px; font-size:15px; line-height:1.6; color:#333; word-break:keep-all;}
.geo-doctors-summary li strong{display:block; font-size:18px; color:#352d59; margin-bottom:4px;}
.geo-doctor-intro{margin-top:28px; padding:24px 26px; background:#faf9fd; border-left:3px solid #6768AB; border-radius:0 14px 14px 0;}
.geo-doctor-intro p{font-size:16px; line-height:1.8; color:#333; margin:0 0 12px; word-break:keep-all;}
.geo-doctor-intro p:last-child{margin-bottom:0;}
.geo-doctor-intro a{color:#6768AB; text-decoration:underline;}
@media (max-width:963px){
    .geo-doctors-summary ul{grid-template-columns:1fr 1fr;}
    .geo-doctor-intro{padding:18px 18px;}
}
@media (max-width:560px){ .geo-doctors-summary ul{grid-template-columns:1fr;} }
