/* ===== ABOUT PAGES BASE — 닥터송포유의원 ===== */
:root{--point:#00AFEF;--ink:#666666;--ink-2:#1c2128;--body:#5c636c;--muted:#9aa1a9;--line:#e7eaed;--line-d:#272d35;--paper:#ffffff;--soft:#f6f8f9;--pad:clamp(18px,6.25vw,120px);--page-pad:calc(max(0px,(100vw - 1920px) / 2) + var(--pad));}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{overflow-x:clip;}
/* 뷰포트 세로 스크롤바 항상 표시 — 사이드메뉴 열림(스크롤 잠금) 시 스크롤바가 사라지며 본문이 밀리는 것 방지 */
html{scroll-behavior:smooth;overflow-y:scroll;}
body{font-family:"Pretendard Variable",Pretendard,sans-serif;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;letter-spacing:-.01em;line-height:1.55;word-break:keep-all;}
/* keep-all은 한국어 전용 — 일본어/중국어는 띄어쓰기가 없어 줄바꿈 지점이 없으면 글자가 화면 밖으로 잘려나감(예: surgery_lift 히어로 타이틀) */
html[lang="ja"] body,html[lang="zh-CN"] body{word-break:normal;}

/* ===== 배경 잉크 확산 (fixed, 메인 홈과 동일) ===== */
.ink-bg{position:fixed;inset:0;z-index:-1;background:#fff;overflow:hidden;pointer-events:none;}
.ink-bg .blob{position:absolute;border-radius:50%;filter:blur(74px);will-change:transform;}
.ink-bg .b1{width:60vmax;height:60vmax;left:-14vmax;top:-16vmax;background:radial-gradient(circle at 50% 50%,rgba(0,175,239,.34),rgba(0,175,239,0) 68%);animation:inkA 30s ease-in-out infinite alternate;}
.ink-bg .b2{width:52vmax;height:52vmax;right:-16vmax;top:2vmax;background:radial-gradient(circle at 50% 50%,rgba(96,141,242,.30),rgba(96,141,242,0) 68%);animation:inkB 38s ease-in-out infinite alternate;}
.ink-bg .b3{width:56vmax;height:56vmax;left:8vmax;bottom:-22vmax;background:radial-gradient(circle at 50% 50%,rgba(120,214,214,.30),rgba(120,214,214,0) 68%);animation:inkC 34s ease-in-out infinite alternate;}
.ink-bg .b4{width:44vmax;height:44vmax;right:6vmax;bottom:-8vmax;background:radial-gradient(circle at 50% 50%,rgba(178,164,238,.30),rgba(178,164,238,0) 68%);animation:inkD 42s ease-in-out infinite alternate;}
.ink-bg .b5{width:40vmax;height:40vmax;left:34vmax;top:18vmax;background:radial-gradient(circle at 50% 50%,rgba(40,110,230,.20),rgba(40,110,230,0) 66%);animation:inkE 46s ease-in-out infinite alternate;}
@keyframes inkA{0%{transform:translate(0,0) scale(1)}50%{transform:translate(10vw,8vh) scale(1.2)}100%{transform:translate(-4vw,14vh) scale(1.08)}}
@keyframes inkB{0%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-12vw,10vh) scale(1.22)}100%{transform:translate(-6vw,-6vh) scale(1)}}
@keyframes inkC{0%{transform:translate(0,0) scale(1)}50%{transform:translate(12vw,-8vh) scale(1.18)}100%{transform:translate(4vw,-14vh) scale(1.1)}}
@keyframes inkD{0%{transform:translate(0,0) scale(1.1)}50%{transform:translate(-10vw,-10vh) scale(1)}100%{transform:translate(-14vw,-4vh) scale(1.16)}}
@keyframes inkE{0%{transform:translate(0,0) scale(1)}50%{transform:translate(8vw,10vh) scale(1.25)}100%{transform:translate(-8vw,6vh) scale(1.05)}}
@media (prefers-reduced-motion: reduce){.ink-bg .blob{animation:none;}}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* layout */
#page{width:100%;max-width:1920px;margin:0 auto;overflow:clip;position:relative;}
.wrap{padding-left:var(--pad);padding-right:var(--pad);}

/* shared type */
.eyebrow{font-family:"Space Grotesk",sans-serif;font-size:14px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--point);display:flex;align-items:center;gap:16px;}
.eyebrow::before{content:"";width:42px;height:1px;background:var(--point);}
.display{font-size:clamp(20px,3vw,44px);font-weight:800;line-height:1.14;letter-spacing:-.035em;color:var(--ink);}
.display .pt{color:var(--point);}
.sec-label{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-family:"Space Grotesk",sans-serif;}
.sec-label .num{font-size:14px;font-weight:600;color:var(--point);letter-spacing:.06em;}
.sec-label .ln{width:30px;height:1px;background:var(--point);opacity:.55;}
.sec-label .lab{font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--body);}
.cta{display:inline-flex;align-items:center;gap:14px;background:var(--point);color:#fff;font-size:16px;font-weight:700;padding:18px 36px;transition:.25s;letter-spacing:.01em;}
.cta:hover{background:var(--ink);color:#fff;}

/* ===== UTILBAR ===== */
.utilbar{pointer-events:auto;position:absolute;top:0;left:0;right:0;height:40px;background:rgba(244,245,246,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:flex-end;padding:0 var(--pad);gap:0;z-index:3;}
.utilbar .lang{display:flex;align-items:center;gap:2px;}
.utilbar .lang button{font-family:"Space Grotesk",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.04em;color:#666;background:none;border:none;padding:4px 9px;cursor:pointer;transition:color .2s;}
.utilbar .lang button.on{color:var(--point);font-weight:700;}
.utilbar .lang button:hover{color:#666;}
.utilbar .udiv{width:1px;height:14px;background:#d8dadd;margin:0 16px;}
.utilbar .utel{display:flex;align-items:center;gap:8px;font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:700;color:#666;letter-spacing:.02em;}
.utilbar .utel .dot{width:7px;height:7px;border-radius:50%;background:var(--point);box-shadow:0 0 0 3px rgba(0,175,239,.25);}
.utilbar .uhours{font-size:12.5px;color:#666;margin-left:18px;letter-spacing:.01em;}
.utilbar .uhours b{color:#666;font-weight:600;}

/* ===== HEADER ===== */
#chrome{position:fixed;top:0;left:0;right:0;width:100%;height:0;z-index:500;pointer-events:none;}
.topbar{pointer-events:auto;position:absolute;top:40px;left:0;right:0;z-index:2;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);transition:background .35s,border-color .35s,height .35s ease,top .35s ease;border-bottom:1px solid transparent;}
.topbar.light{color:#666;}
.topbar.solid{background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);height:70px;}
.topbar .logo img{height:34px;width:auto;transition:filter .35s;}
.topbar.light .logo img{filter:none;}
.topbar .r{display:flex;align-items:center;gap:24px;}
.topbar .tel{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:500;letter-spacing:.02em;display:none;}

/* ===== AUTH NAV (login-state header, injected by site-auth.js) ===== */
.auth-nav{display:flex;align-items:center;gap:18px;}
.auth-nav.auth-top a{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:currentColor;text-decoration:none;transition:opacity .2s,color .2s;white-space:nowrap;opacity:.92;}
.auth-nav.auth-top a:hover{opacity:1;}
.auth-nav.auth-top a.on{color:var(--point);opacity:1;}
.topbar.light .auth-nav.auth-top a.on{color:#666;text-decoration:underline;text-underline-offset:5px;}
.auth-nav.auth-top a.cta{padding:9px 18px;background:transparent;color:#666;font-weight:700;opacity:1;border-radius:0 12px 0 12px;border:1px solid #666;}
.auth-nav.auth-top a.cta:hover{background:#666;color:#fff;border-color:#666;}
.topbar.light .auth-nav.auth-top a.cta{background:transparent;color:#666;border:1px solid #666;}
.topbar.light .auth-nav.auth-top a.cta:hover{background:#666;color:#fff;border-color:#666;}
.auth-nav.auth-ov{display:flex;gap:8px;flex-wrap:wrap;width:100%;margin-bottom:18px;}
.auth-nav.auth-ov a{flex:1;min-width:96px;text-align:center;padding:13px 12px;border:1px solid var(--line-d,rgba(255,255,255,.18));color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:.2s;}
.auth-nav.auth-ov a:hover{border-color:#fff;}
.auth-nav.auth-ov a.cta{background:var(--point);border-color:var(--point);}
.menu-btn{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;}
.menu-btn .bars{display:flex;flex-direction:column;gap:5px;width:30px;}
.menu-btn .bars i{height:2px;background:currentColor;display:block;transition:.3s;}
.menu-btn .bars i:nth-child(1){width:30px;}
.menu-btn .bars i:nth-child(2){width:20px;align-self:flex-end;}
.menu-btn:hover .bars i:nth-child(2){width:30px;}

/* ===== OVERLAY ===== */
/* .overlay 는 클리핑(연출)만 담당 — 스크롤은 .ov-scroll 이 맡는다.
   한 요소가 clip-path 와 overflow-y:auto 를 겸하면 모바일에서 터치 스크롤이 죽는다. */
.overlay{position:fixed;inset:0;z-index:5;background:var(--ink);color:#fff;display:flex;flex-direction:column;overflow:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.76,0,.24,1);}
.overlay.open{clip-path:inset(0 0 0 0);pointer-events:auto;}
.ov-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.ov-top{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line-d);flex:0 0 auto;background:var(--ink);z-index:2;}
.ov-top .logo img{height:34px;filter:none;}
.ov-close{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;}
.ov-close .x{position:relative;width:26px;height:26px;}
.ov-close .x::before,.ov-close .x::after{content:"";position:absolute;top:50%;left:0;width:26px;height:2px;background:#fff;}
.ov-close .x::before{transform:rotate(45deg);}
.ov-close .x::after{transform:rotate(-45deg);}
.ov-cols{flex:1 1 auto;columns:4;column-gap:54px;padding:64px var(--pad) 52px;}
.mgroup{break-inside:avoid;width:100%;margin-bottom:40px;}
.mgroup>.cat-h{display:flex;align-items:baseline;gap:13px;font-size:25px;font-weight:800;letter-spacing:-.02em;color:#fff;padding-bottom:15px;transition:color .2s;}
.mgroup>.cat-h .ix{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:500;color:var(--point);letter-spacing:.06em;}
.mgroup>.cat-h:hover{color:var(--point);}
.mgroup ul{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-d);padding-top:8px;}
.mgroup li a{display:block;font-size:15.5px;color:#9aa1a9;padding:7px 0;transition:color .2s,padding .2s;}
.mgroup li a:hover{color:#fff;padding-left:9px;}
.mgroup.solo>.cat-h{padding-bottom:0;}
.mgroup>.cat-h,.mgroup li a{cursor:pointer;}
.mgroup>.cat-h.active,.mgroup li a.active{color:var(--point);}
.mgroup li a.active{font-weight:600;}
body.menu-open{overflow:hidden;position:fixed;width:100%;}
.ov-foot{flex:0 0 auto;border-top:1px solid var(--line-d);padding:28px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.ov-foot .lang{display:flex;gap:8px;}
.ov-foot .lang button{font-family:"Space Grotesk",sans-serif;font-size:14px;font-weight:500;color:#fff;padding:9px 18px;border:1px solid var(--line-d);transition:.2s;}
.ov-foot .lang button.on,.ov-foot .lang button:hover{background:var(--point);border-color:var(--point);color:#fff;}
.ov-foot .fc{display:flex;align-items:center;gap:30px;font-size:14.5px;color:#aab0b8;}
.ov-foot .fc .big{font-family:"Space Grotesk",sans-serif;font-size:22px;font-weight:500;color:#fff;letter-spacing:.01em;}

/* ===== PAGE HERO (subpage) ===== */
.page-hero{position:relative;height:clamp(300px,36vw,480px);overflow:hidden;background:var(--ink);}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.page-hero .scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,11,15,.88) 0%,rgba(8,11,15,.5) 52%,rgba(8,11,15,.18) 100%);}
.page-hero .inner{position:absolute;inset:0;padding:136px var(--page-pad) 56px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;z-index:2;}
.page-hero .eyebrow{color:rgba(255,255,255,.8);}
.page-hero .eyebrow::before{background:var(--point);}
.page-hero h1{font-size:clamp(32px,5.5vw,80px);font-weight:800;line-height:1.04;letter-spacing:-.04em;color:#fff;margin-top:18px;}
.page-hero .sub{font-size:clamp(14px,1.3vw,18px);color:rgba(255,255,255,.72);margin-top:14px;line-height:1.7;max-width:560px;}

/* ===== SUBNAV ===== */
.subnav{position:sticky;top:110px;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.subnav .inner{display:flex;align-items:stretch;padding:0 var(--page-pad);overflow-x:auto;scrollbar-width:none;}
.subnav .inner::-webkit-scrollbar{display:none;}
.subnav a{display:flex;align-items:center;font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:20px 22px 18px;border-bottom:2px solid transparent;white-space:nowrap;transition:.2s;text-transform:uppercase;}
.subnav a:hover{color:var(--ink);}
.subnav a.on{color:var(--point);border-bottom-color:var(--point);}

/* ===== UNIFIED LIGHT TITLE HERO (shared: About계열 동일 구성) ===== */
.page-hero.lite-hero{height:clamp(300px,38vw,380px);}
.lite-hero img{top:-16%;height:132%;will-change:transform;}
.lite-hero .scrim{background:linear-gradient(105deg,rgba(240,242,244,.66) 0%,rgba(240,242,244,.4) 52%,rgba(240,242,244,.12) 100%);}
.lite-hero .inner{color:#666666;}
.lite-hero .crumb{font-family:"Space Grotesk",sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(102,102,102,.7);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.lite-hero .crumb a{color:rgba(102,102,102,.7);}
.lite-hero .crumb a:hover{color:#333;}
.lite-hero .crumb .sep{opacity:.4;}
.lite-hero .crumb .cur{color:var(--point);}
.lite-hero h1{font-size:clamp(28px,4vw,52px);letter-spacing:-.04em;line-height:1.08;font-weight:300;color:#666666;}
.lite-hero h1 .en{display:block;font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:.32em;letter-spacing:.04em;color:rgba(102,102,102,.6);margin-top:12px;text-transform:uppercase;}
.lite-hero p.lead{font-size:clamp(14px,1.3vw,17px);color:rgba(102,102,102,.85);margin-top:18px;line-height:1.7;max-width:680px;font-weight:300;}

/* ===== FOOTER ===== */
footer{background:#F6F8F9;color:#5c636c;padding:clamp(60px,7vw,110px) 0 0;border-top:1px solid var(--line);}
.f-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px;padding:0 var(--page-pad);}
.f-brand .logo img{height:36px;filter:none;}
.f-brand .slo{font-size:30px;font-weight:300;letter-spacing:-.03em;color:#666666;margin:32px 0 0;line-height:1.2;}
.f-brand .slo .pt{color:var(--point);}
.f-brand p{font-size:14.5px;line-height:1.9;margin-top:24px;color:#7a8189;}
.f-col h4{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#4a5058;margin-bottom:22px;}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:13px;}
.f-col li{font-size:14.5px;color:#5c636c;}
.f-col li b{color:#666666;font-weight:600;}
.f-col li a{color:inherit;transition:color .2s;}
.f-col li a:hover{color:var(--point);}
.f-sns{display:flex;gap:12px;margin-top:30px;}
.f-sns a{width:46px;height:46px;border-radius:50%;background:#edf0f2;display:flex;align-items:center;justify-content:center;color:#7a8189;transition:.2s;}
.f-sns a:hover{background:var(--point);color:#fff;}
.f-sns a svg{width:20px;height:20px;fill:currentColor;}
.f-bottom{margin-top:70px;background:#edf0f2;padding:26px var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.f-bottom span{font-family:"Space Grotesk",sans-serif;font-size:13px;color:#8b9199;letter-spacing:.02em;}

/* ===== FLOATING ===== */
.floats{position:fixed;right:0;bottom:50px;z-index:450;display:flex;flex-direction:column;width:64px;border-left:1px solid rgba(255,255,255,.4);box-shadow:-8px 0 30px rgba(14,17,22,.10);}
.floats a{height:76px;flex:0 0 76px;background:rgba(255,255,255,.55);backdrop-filter:blur(8px);border-left:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:background .3s ease,border-color .3s ease;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
.floats a .fl{font-size:10px;font-weight:700;color:#666;letter-spacing:.01em;line-height:1.2;text-align:center;transition:color .3s ease;}
.floats a .fi{display:flex;align-items:center;justify-content:center;height:22px;color:#666;transition:color .3s ease;}
.floats a .fi svg{color:inherit!important;}
.floats a:hover{background:#fff;}
.floats a:hover .fl{color:var(--point);}
.floats a:hover .fi{color:var(--point);}
.ftop{width:64px;height:52px;flex:0 0 52px;background:rgba(255,255,255,.55);border-left:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#666!important;font-family:"Space Grotesk",sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;transition:background .3s ease,border-color .3s ease,color .3s ease;cursor:pointer;border-bottom:none;}
.ftop:hover{background:#fff;color:var(--point)!important;}
.floats .fgroup{display:flex;flex-direction:column;}
.floats .ftoggle{display:none;}
@media(max-width:768px){
  .floats{width:auto;border-left:none;box-shadow:none;align-items:flex-end;}
  .floats .fgroup{width:56px;border-left:1px solid rgba(255,255,255,.4);box-shadow:-8px 0 30px rgba(14,17,22,.10);transform:translateX(110%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .3s ease;}
  .floats.open .fgroup{transform:none;opacity:1;pointer-events:auto;}
  .floats a{width:56px;height:62px;flex:0 0 62px;}
  .floats .ftoggle{display:flex;align-items:center;justify-content:center;width:32px;height:56px;background:rgba(255,255,255,.9);border:1px solid rgba(14,17,22,.08);border-right:none;border-radius:10px 0 0 10px;color:#666;cursor:pointer;box-shadow:-6px 0 18px rgba(14,17,22,.14);padding:0;margin-bottom:8px;}
  .floats .ftoggle svg{transition:transform .3s ease;}
  .floats.open .ftoggle svg{transform:rotate(180deg);}
  .ftop{width:44px;height:44px;flex:0 0 44px;margin-top:8px;border-radius:10px 0 0 10px;border:1px solid rgba(14,17,22,.08);border-right:none;background:rgba(255,255,255,.9);}
}

/* ===== RESPONSIVE ===== */
@media(max-width:1440px){.ov-cols{columns:3;}}
@media(max-width:1024px){.ov-cols{columns:2;}.f-top{grid-template-columns:1fr 1fr;gap:32px;}}
/* anchored sections clear the fixed header on jump */
[id].proc,section[id]{scroll-margin-top:150px;}
/* desktop auth nav collapses into the menu overlay on small screens */
@media(max-width:1080px){.auth-nav.auth-top a:not(.cta){display:none;}}
@media(max-width:640px){.auth-nav.auth-top{display:none;}.topbar .tel{display:none;}}
@media(max-width:768px){
  .utilbar .uhours{display:none;}
  .ov-auth-m{display:block;padding:22px var(--pad) 0;}
  .ov-cols{columns:1;padding:28px var(--pad) 24px;}
  .mgroup>.cat-h{font-size:22px;}
  .ov-foot .fc{flex-wrap:wrap;gap:16px;}
  .page-hero{height:clamp(240px,56vw,380px);}
  .page-hero .inner{padding:110px var(--pad) 36px;}
  .subnav a{font-size:11px;padding:16px 13px 14px;letter-spacing:.04em;}
  .f-top{grid-template-columns:1fr 1fr;gap:28px;}
  .f-brand{grid-column:1/-1;}
  .f-bottom{flex-direction:column;gap:8px;align-items:flex-start;}
  .floats a{width:44px;height:56px;}
  .floats{width:44px;}
  .ftop{width:44px;height:42px;}
  [data-nofloat] .floats{display:none;}
}
@media(max-width:480px){
  .utilbar .lang button{padding:4px 6px;font-size:11px;}
  .utilbar .udiv{margin:0 10px;}
  .f-top{grid-template-columns:1fr;}
  .f-brand{grid-column:auto;}
  .floats a .fl{display:block;font-size:9px;}
  .floats a{width:46px;height:58px;}
  .floats{width:46px;}
  .ftop{width:46px;height:40px;}
}

/* ===== FORM VALIDATION (shared, custom — no browser alerts) ===== */.has-err input,.has-err select,.has-err textarea{border-color:#e0483d !important;box-shadow:0 0 0 3px rgba(224,72,61,.12) !important;}
.field-err{color:#e0483d;font-size:12.5px;font-weight:600;margin-top:8px;line-height:1.45;display:flex;gap:6px;align-items:flex-start;}
.field-err::before{content:"!";display:inline-flex;width:15px;height:15px;border-radius:50%;background:#e0483d;color:#fff;font-size:10px;font-weight:800;line-height:1;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px;}
.seg.has-err,.starpick.has-err,.cal.has-err,.times.has-err{outline:1.5px solid #e0483d;outline-offset:5px;border-radius:2px;}
.chk.has-err{color:#e0483d;}
/* shared toast for success / blocking notices */
.fv-toast{position:fixed;left:50%;bottom:36px;transform:translateX(-50%) translateY(20px);z-index:4000;background:var(--ink,#666666);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:-.01em;padding:15px 24px;border-radius:6px;box-shadow:0 16px 40px -16px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:10px;}
.fv-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.fv-toast.err{background:#c5392f;}
.fv-toast::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--point,#00AFEF);flex:0 0 auto;}
.fv-toast.err::before{background:#fff;}

/* embedded (iframe in modal): hide chrome so only the document content shows */
html.embed #chrome,html.embed footer,html.embed .floats{display:none!important;}
html.embed .ptop{padding-top:40px!important;}
html.embed body{background:#fff;}

/* ===== 메뉴 오버레이: 반투명 화이트 라이트 테마 ===== */
.overlay{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#666666;}
.ov-top{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:1px solid var(--line);}
.ov-top .logo img{filter:none;}
.ov-close{color:#666666;}
.ov-close .x::before,.ov-close .x::after{background:#666666;}
.mgroup>.cat-h{color:#666666;}
.mgroup>.cat-h .ix{color:var(--point);}
.mgroup>.cat-h:hover{color:var(--point);}
.mgroup ul{border-top:1px solid var(--line);}
.mgroup li a{color:#8b9199;}
.mgroup li a:hover{color:#666666;}
.mgroup>.cat-h.active,.mgroup li a.active{color:var(--point);}
.ov-foot{border-top:1px solid var(--line);}
.ov-foot .fc{color:#8b9199;}
.ov-foot .fc .big{color:#666666;}
/* 모바일 오버레이 auth 는 768px 이하에서만 노출(상단 auth-nav 가 숨는 구간).
   min-width 로 한정하지 않으면 위 @media(max-width:768px) 의 display:block 을
   같은 우선순위·후순위로 덮어써서 모바일 로그인 진입점이 사라진다. */
@media(min-width:769px){.ov-auth-m{display:none;}}
.auth-nav.auth-ov-m{display:flex;gap:10px;width:100%;}
.auth-nav.auth-ov-m a{flex:1;text-align:center;padding:13px 12px;border:1px solid var(--line);color:#666666;font-size:14px;font-weight:700;text-decoration:none;transition:.2s;border-radius:0 10px 0 10px;}
.auth-nav.auth-ov-m a:hover{border-color:#666666;}
.auth-nav.auth-ov-m a.cta{background:#666666;border-color:#666666;color:#fff;}
