/* 마무리 업그레이드: 조판 */
:root{--hit:#f6edd8}
h1,h2,.why-line,.hero-sub{text-wrap:balance}
.lead,.a-sec p,.about p,.tile span{text-wrap:pretty}
.fee-table{background:transparent}
.fee-table caption{font:500 19px/1.5 var(--serif);letter-spacing:-.03em;color:var(--head)}
.fee-table th,.fee-table td{padding:11px 12px;border:0;border-bottom:1px solid var(--line)}
.fee-table thead th{background:transparent;color:var(--head);font:500 15px/1.5 var(--serif);letter-spacing:-.02em;border-top:1px solid var(--head);border-bottom:1px solid var(--head)}
.fee-table tbody th{color:var(--head);font-weight:500}
main{counter-reset:art}
.a-sec h2{display:flex;flex-direction:column;gap:8px}
.a-sec h2::before{counter-increment:art;content:counter(art,decimal-leading-zero);font:600 16px/1 var(--latin);letter-spacing:.14em;font-variant-numeric:lining-nums;color:var(--gold-text)}

/* 고정 제목 2단 */
.sec-head{min-width:0}
@media (min-width:1100px){
  .split{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(40px,5vw,84px);align-items:start}
  .split>*:not(.sec-head){grid-column:2;min-width:0;margin-top:0}
  .sec-head{position:sticky;top:124px}
  .sec-head .lead{max-width:22em}
}

/* 구성원 표식 */
.mono{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;background:radial-gradient(70px 60px at 100% 0,#1a4a86,transparent 80%),#0b2547;color:var(--gold-on-dark);font:500 23px/1 var(--serif)}

/* 상담 구역 패널 */
.info{align-self:start;padding:clamp(24px,3vw,36px);background:radial-gradient(420px 280px at 100% 0,#1a4a86,transparent 75%),#0b2547;color:rgba(255,255,255,.84)}
.info dt{color:var(--gold-on-dark)}
.info dd{font-size:16px;line-height:1.7}
.info a{color:#fff}
.info .big-tel{color:#fff;text-decoration:none}
.info .map-links a{color:var(--gold-on-dark)}
.info .map-frame{margin-top:14px}

/* 바닥글 마무리 */
footer{padding:clamp(60px,8vw,104px) 0 40px}
.foot-sign{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:clamp(36px,5vw,64px);margin-bottom:clamp(32px,4vw,52px);border-bottom:1px solid rgba(220,192,138,.35)}
.foot-motto{font:600 clamp(44px,6.6vw,92px)/1.04 var(--latin);letter-spacing:-.012em;color:#fff}
.foot-motto span{display:block;color:var(--gold-on-dark)}
.foot-cta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:none}
footer .foot-cta .btn{background:var(--gold-on-dark);border-color:var(--gold-on-dark);color:#0b2547;text-decoration:none}
footer .foot-cta .btn:hover{background:#e8d1a3;text-decoration:none}
.foot-tel{font:500 23px/1.2 var(--serif);letter-spacing:-.01em;color:#fff}
.motto{display:none}

/* 호버: 금색 선 */
.svc summary{transition:color .2s}
.svc summary::before{inset:auto 0 0 0;height:1px;z-index:0;background:var(--gold-text)}
.svc summary:hover{color:var(--link)}
.svc-name{transition:translate .28s cubic-bezier(.2,.8,.2,1)}
.svc summary:hover .svc-name{translate:8px 0}
.tile{position:relative;overflow:hidden}
.tile::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold-text);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.tile:hover::before{transform:scaleX(1)}
.tile::after{content:"→";position:absolute;right:20px;bottom:16px;font:500 20px/1 var(--serif);color:var(--gold-text);transition:translate .28s}
.tile:hover::after{translate:6px 0}
.tile-main::before,.tile-tip::before,.tile-main::after{background:var(--gold-on-dark)}
.tile-main::after{background:none;color:var(--gold-on-dark)}
.tile-tip::after{display:none}
.person{transition:border-color .25s}
.top-nav a.on{color:var(--link)}
.top-nav a.on::after{transform:scaleX(1)}

/* 데스크톱에도 스크롤 등장 */
.rv{opacity:0;translate:0 18px;transition:opacity .62s ease-out,translate .62s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;translate:0 0}
.tag.rv::before{transform:scaleX(0);transform-origin:left;transition:transform .7s .12s cubic-bezier(.2,.8,.2,1)}
.tag.rv.in::before{transform:scaleX(1)}
@keyframes up-rise{from{clip-path:inset(0 0 100% 0);translate:0 .36em}to{clip-path:inset(-12% -4% -12% -4%);translate:0 0}}
@keyframes up-gild{from{background-position:100% 0}to{background-position:0 0}}
@keyframes up-fade{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes up-open{from{clip-path:inset(-16px -16px 100% -16px)}to{clip-path:inset(-16px)}}
@media (min-width:601px){
  .hero-tags{animation:up-fade .7s .08s ease-out both}
  .hero h1 span:not(.vh){animation:up-rise 1s .18s cubic-bezier(.2,.8,.2,1) both}
  .hero h1 .blue{animation:up-rise 1s .38s cubic-bezier(.2,.8,.2,1) both,up-gild 2s 1.2s ease-out both;color:transparent;background:linear-gradient(100deg,#dcc08a 42%,#fbeec9 50%,#dcc08a 58%) 100% 0/300% 100%;-webkit-background-clip:text;background-clip:text}
  .hero-photo{animation:up-open 1.15s .28s cubic-bezier(.2,.8,.2,1) both}
  .hero-foot{animation:up-fade .8s .62s ease-out both}
  .proof{animation:up-fade .8s .78s ease-out both}
}

@media (max-width:760px){
  .foot-sign{flex-direction:column;align-items:flex-start}
  .foot-cta{align-items:flex-start}
  .tile:hover::after{translate:0 0}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;translate:none!important;transition:none}
  .tag.rv::before{transform:none;transition:none}
  .hero-tags,.hero h1 span:not(.vh),.hero h1 .blue,.hero-photo,.hero-foot,.proof{animation:none!important}
  .hero h1 .blue{color:var(--gold-on-dark);background:none}
  .svc-name,.tile::before,.tile::after{transition:none}
}
@media print{.rv{opacity:1;translate:none}.sec-head{position:static}}

/* 강점 구역: 밝은 근거 카드와 또렷한 야경 */
.why{min-height:clamp(640px,54vw,820px);display:flex;align-items:center;background-position:center}
.why>.wrap{width:min(calc(100% - 232px),var(--wrap))}
.why::before{background:linear-gradient(0deg,rgba(5,16,36,.72),transparent 32%),linear-gradient(90deg,rgba(5,16,36,.62),rgba(5,16,36,.2) 52%,rgba(5,16,36,.06))}
.why h2,.why-line{font-size:clamp(31px,3.5vw,50px);line-height:1.44;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.why h2{font-weight:400}
.why h2 strong,.why-line{font-weight:700}
.why-line em{color:#f0cf7c}
.why-vals{color:rgba(255,255,255,.88);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.why-rows{gap:14px}
.why-row{grid-template-columns:128px minmax(0,1fr);gap:10px}
.why-ic{min-height:126px;background:rgba(31,74,134,.92);border:0;color:#fff}
.why-ic svg{width:58px;height:58px;stroke-width:1.2}
.why-row p{background:rgba(242,244,247,.94);border:0;color:#1b2533;font-size:clamp(16px,1.42vw,19.5px);line-height:1.6;-webkit-backdrop-filter:none;backdrop-filter:none}
.why-row b{color:#0b2547}

/* 오른쪽 메뉴: 흰 카드형 */
@media (min-width:1100px){
  .dock{gap:12px;width:92px;background:transparent;border:0;box-shadow:none}
  .dock-rail{order:2;margin-top:0;border-radius:0 0 14px 14px;background:white;box-shadow:0 14px 30px rgba(5,18,38,.24);padding:4px 0 6px}
  .dock-head{order:1;margin:0 0 -12px;padding:14px 4px 13px;border:0;border-radius:14px 14px 0 0;background:#0b2547;color:#fff;font:600 16px/1 var(--latin);letter-spacing:.04em;text-transform:none;font-variant-numeric:lining-nums}
  .dock-item{min-height:84px;color:#1b2533;font-size:13px;font-weight:600}
  .dock-item svg{width:31px;height:31px;stroke-width:1.5;color:#0b2547}
  .dock-item:hover{background:#f3f4f6;color:#17457d}
  .dock-rail .dock-item+.dock-item::before{left:16px;right:16px;background:#e8e9ec}
  .tel-wide{color:#0b2547;font-size:14px;font-weight:700}
  .dock-item.is-main{order:3;min-height:104px;border-radius:14px;background:linear-gradient(160deg,#2a64ad,#0b2547);color:#fff;box-shadow:0 14px 30px rgba(5,18,38,.28);font-size:13px}
  .dock-item.is-main svg{color:#fff;width:34px;height:34px}
  .dock-item.is-main:hover{background:linear-gradient(160deg,#3773be,#123468);color:#fff}
}
@media (max-width:1099px){
  .why>.wrap{width:min(100%,var(--wrap))}
}
@media (max-width:980px){.why{min-height:0}.why::before{background:linear-gradient(0deg,rgba(5,16,36,.7),transparent 34%),rgba(5,16,36,.46)}}
@media (max-width:760px){
  .why::after{background-position:46% center}
  .why-row{grid-template-columns:70px minmax(0,1fr);gap:6px}
  .why-ic{min-height:96px}
  .why-ic svg{width:36px;height:36px}
  .why-row p{padding:14px;font-size:15px}
}
@media (max-height:640px) and (min-width:1100px){
  .dock-head{padding-block:9px}
  .dock-item{min-height:62px;gap:2px}
  .dock-item svg{width:24px;height:24px}
  .dock-item.is-main{min-height:70px}
}

/* 보기 설정 */
:root{--serif:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
:root[data-font="mix"]{--serif:"MaruBuri","Noto Serif KR","AppleMyungjo","Nanum Myeongjo","Batang",serif}
:root[data-font="serif"]{--serif:"MaruBuri","Noto Serif KR","AppleMyungjo","Nanum Myeongjo","Batang",serif;--sans:"MaruBuri","Noto Serif KR","AppleMyungjo","Nanum Myeongjo","Batang",serif}
html[data-size="2"] main,html[data-size="2"] footer{zoom:1.1}
html[data-size="3"] main,html[data-size="3"] footer{zoom:1.22}
.view-btn{display:inline-flex;align-items:baseline;justify-content:center;gap:1px;flex:none;width:44px;height:40px;padding:0;border:1px solid var(--line);background:transparent;color:var(--head);font-family:"MaruBuri",serif;line-height:38px;cursor:pointer;transition:border-color .2s,background .2s}
.view-btn span{font-size:18px;font-weight:700}
.view-btn small{font-size:13px}
.view-btn:hover{border-color:var(--gold-text)}
.lang-link{flex:none;font:600 13.5px/1 var(--sans);letter-spacing:.06em;color:var(--head);text-decoration:none;white-space:nowrap}
.lang-link:hover{color:var(--link);text-decoration:underline}
.top .wrap{gap:clamp(12px,1.6vw,24px)}
#view{margin:96px 128px auto auto;width:min(420px,calc(100% - 32px));max-width:none;padding:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:0;box-shadow:0 18px 40px rgba(5,18,38,.26)}
#view .dlg{padding:24px 26px 22px}
.view-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
#view h2{font:500 22px/1.4 var(--serif);letter-spacing:-.03em;color:var(--head)}
.view-x{width:40px;height:40px;margin-right:-10px;border:0;background:none;color:var(--head);font-size:26px;line-height:1;cursor:pointer}
.view-row{margin-top:16px}
.view-label{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--gold-text)}
.seg{display:grid;gap:6px}
.seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg button,.seg a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:8px 4px;border:1px solid var(--line);background:transparent;color:var(--head);text-decoration:none;text-align:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.seg b{font-size:16px;font-weight:600;line-height:1.3}
.seg small{font-size:12px;line-height:1.3;color:var(--muted)}
.seg button:hover,.seg a:hover{border-color:var(--gold-text)}
.seg button[aria-pressed="true"],.seg a[aria-current="page"]{background:var(--head);border-color:var(--head);color:var(--page)}
.seg button[aria-pressed="true"] small{color:inherit;opacity:.82}
.ff-base,.ff-serif{font-family:"MaruBuri",serif}
.ff-sans{font-family:"Pretendard Variable","Pretendard",sans-serif}
.seg .sz-1{font-size:15px}
.seg .sz-2{font-size:18px}
.seg .sz-3{font-size:22px}
.view-reset{display:block;margin:16px auto 0;padding:6px 8px;border:0;background:none;color:var(--link);font-size:14px;text-decoration:underline;cursor:pointer}
@media (min-width:1100px) and (max-width:1320px){.top-nav{gap:14px}.top-nav a{font-size:14.5px}}
@media (max-width:1099px){
  #view{margin:auto 0 0;width:100%;max-width:100%;border-width:1px 0 0}
  #view .dlg{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
  .top .tel{margin-left:auto}
  .lang-link{margin-left:0}
}
@media (max-width:760px){
  .top .tel{display:none}
  .lang-link{margin-left:auto}
}
@media print{.view-btn,.lang-link{display:none}}

/* 영문 페이지 */
html[lang="en"][data-font="mix"]{--serif:"Cormorant Garamond","MaruBuri",serif}
html[lang="en"][data-font="serif"]{--sans:"MaruBuri",serif;--serif:"MaruBuri",serif}
html[lang="en"] body{letter-spacing:0;word-break:normal;line-height:1.7}
html[lang="en"] h2{letter-spacing:-.012em;font-size:clamp(34px,3.8vw,54px);line-height:1.18;font-weight:600}
html[lang="en"] h2 strong{color:var(--gold-text)}
html[lang="en"] .hero h1{font-size:clamp(50px,6.2vw,88px);line-height:1.08;letter-spacing:-.018em;font-weight:600}
html[lang="en"] .hero-sub{font-size:clamp(23px,2.2vw,30px);letter-spacing:-.005em;font-weight:600}
html[lang="en"] .proof b{font-size:clamp(25px,2.4vw,32px);letter-spacing:0;font-weight:600}
html[lang="en"] .why h2,html[lang="en"] .why-line{font-size:clamp(34px,3.7vw,54px);line-height:1.18;letter-spacing:-.012em;font-weight:600}
html[lang="en"] .why h2 strong{color:#fff}
html[lang="en"] .why-row p{letter-spacing:0;line-height:1.5;font-size:clamp(15px,1.25vw,17.5px)}
html[lang="en"] .person h3{font-size:30px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
html[lang="en"] .person h3 span{font:400 14px var(--sans);color:var(--muted)}
html[lang="en"] .big-tel,html[lang="en"] .foot-tel{font-weight:600;letter-spacing:0;font-size:clamp(25px,2.2vw,31px)}
html[lang="en"] .tel-wide{font-family:var(--sans);font-size:12.5px;font-weight:600}
html[lang="en"] .dock-item{letter-spacing:0}
html[lang="en"] .tag{letter-spacing:.2em}
.en-role{margin:4px 0 10px;font-size:15px;font-weight:600;color:var(--gold-text);line-height:1.45}
.en-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:36px}
.en-card{padding:24px 22px;background:var(--surface);border:1px solid var(--line)}
.en-n{display:block;margin-bottom:12px;font:600 16px/1 var(--latin);letter-spacing:.1em;color:var(--gold-text)}
.en-card h3{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line);font:600 24px/1.2 var(--serif);color:var(--head)}
.en-card ul{margin:0;padding:0;list-style:none;font-size:15px;line-height:1.5}
.en-card li+li{margin-top:7px}
html[lang="en"] .en-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,3vw,44px);margin-top:36px;overflow:visible}
html[lang="en"] .en-team ul{margin-top:10px;padding:0;list-style:none;font-size:15px;line-height:1.5}
html[lang="en"] .en-team li+li{margin-top:7px}
@media (max-width:1099px){.en-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  html[lang="en"] .en-team{grid-template-columns:minmax(0,1fr);margin-inline:0;padding-inline:0}
  html[lang="en"] .en-team>*{flex:none}
  html[lang="en"] .hero h1{font-size:13.5vw}
}
@media (max-width:520px){.en-grid{grid-template-columns:minmax(0,1fr)}}
html[lang="en"] *{font-variant-numeric:lining-nums}
@media (max-width:600px){html[lang="en"] .hero-tags span:nth-child(3){display:none}}

/* 고딕 기본 고급화 */
::selection{background:#dcc08a;color:#0b2547}
body{letter-spacing:-.015em}
section{padding:clamp(80px,10.5vw,150px) 0}
.hero{position:relative;isolation:isolate;padding:clamp(52px,6.5vw,96px) 0 clamp(56px,6.5vw,92px)}
.hero::before,.page-head::before,.page-cta::before,footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.page-head,.page-cta,footer{position:relative;isolation:isolate}
.hero-foot{border-top:1px solid transparent;border-image:linear-gradient(90deg,rgba(220,192,138,.75),rgba(255,255,255,.1)) 1}
.hero-photo img{filter:saturate(.92) contrast(1.02)}
.hero-sub small{font-size:17.5px}
.hero .btn-blue{background:linear-gradient(115deg,#f0dfb6,#cfae72);border-color:transparent;color:#0b2547}
.hero .btn-blue:hover{background:linear-gradient(115deg,#f6e8c8,#dbbd84);color:#0b2547}
.doors .btn::after,.foot-cta .btn::after{content:"→";margin-left:10px;transition:translate .25s cubic-bezier(.2,.8,.2,1)}
.doors .btn:hover::after,.foot-cta .btn:hover::after{translate:5px 0}
.about>p:not(.tag):not(.sign):first-of-type{font-size:clamp(19px,1.8vw,24px);line-height:1.62;font-weight:300;letter-spacing:-.03em;color:var(--head)}
.sign{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-weight:500}
.track div{transition:padding-left .25s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){
  .track div:hover{padding-left:10px}
  .wiz-opt{transition:background .25s,color .25s,border-color .25s}
  .wiz-opt:hover{background:var(--head);border-color:var(--head);color:var(--page)}
  .wiz-opt:hover b,.wiz-opt:hover span{color:inherit}
}
:root:not([data-font]) h2{font-weight:300;letter-spacing:-.05em;line-height:1.36}
:root:not([data-font]) h2 strong{font-weight:600}
:root:not([data-font]) .hero h1{font-weight:300;letter-spacing:-.06em;font-size:clamp(60px,7.8vw,112px);line-height:1.16}
:root:not([data-font]) .hero-sub{font-weight:400;letter-spacing:-.035em}
:root:not([data-font]) .proof b{font-weight:300;font-size:clamp(25px,3vw,42px);letter-spacing:-.045em;line-height:1.25}
:root:not([data-font]) .svc-name{font-weight:400;letter-spacing:-.04em}
:root:not([data-font]) .why h2{font-weight:300;letter-spacing:-.05em}
:root:not([data-font]) .why h2 strong,:root:not([data-font]) .why-line{font-weight:600;letter-spacing:-.05em}
:root:not([data-font]) .page-head h1{font-weight:300;letter-spacing:-.05em}
:root:not([data-font]) .person h3{font-weight:500;letter-spacing:-.035em}
:root:not([data-font]) .tile b{font-weight:500;letter-spacing:-.035em}
:root:not([data-font]) .fee-main b,:root:not([data-font]) .big-tel,:root:not([data-font]) .foot-tel{font-weight:300;letter-spacing:-.035em}
:root:not([data-font]) .wiz-opt b{font-weight:500}
:root:not([data-font]) .m-list a,:root:not([data-font]) .m-list summary{font-weight:400}
:root:not([data-font]) .seal-read{font-weight:400}
:root:not([data-font]) .mono{font-weight:400}
:root:not([data-font]) .score-n{font-weight:300}
:root:not([data-font]) .a-sec h2{font-weight:400;letter-spacing:-.04em}
:root:not([data-font]) .fee-table thead th,:root:not([data-font]) .fee-table caption{font-weight:600;letter-spacing:-.025em}
:root:not([data-font]) #menu .menu-head h2,:root:not([data-font]) #view h2,:root:not([data-font]) #live h2{font-weight:500}
html[lang="en"]:not([data-font]) h2{font-weight:300;letter-spacing:-.035em;line-height:1.2}
html[lang="en"]:not([data-font]) .hero h1{font-weight:300;letter-spacing:-.045em;font-size:clamp(46px,5.6vw,82px);line-height:1.1}
html[lang="en"]:not([data-font]) .hero-sub{font-weight:400;letter-spacing:-.02em}
html[lang="en"]:not([data-font]) .proof b{font-weight:300;letter-spacing:-.03em}
html[lang="en"]:not([data-font]) .why h2,html[lang="en"]:not([data-font]) .why-line{font-weight:300;letter-spacing:-.035em;line-height:1.2}
html[lang="en"]:not([data-font]) .why-line{font-weight:500}
html[lang="en"]:not([data-font]) .person h3{font-size:26px;font-weight:500}
html[lang="en"]:not([data-font]) .en-card h3{font-size:21px;font-weight:500;letter-spacing:-.02em}
html[lang="en"]:not([data-font]) .big-tel,html[lang="en"]:not([data-font]) .foot-tel{font-weight:300;letter-spacing:-.02em}

/* 안내 띠 */
.notice-bar{display:flex;align-items:center;gap:clamp(10px,2vw,28px);padding:17px 0;color:var(--head);text-decoration:none;font-size:16px;line-height:1.45}
.notice-wrap{background:var(--sky);border-bottom:1px solid var(--line)}
.notice-bar b{flex:none;font-weight:600;color:var(--gold-text)}
.notice-bar span{min-width:0}
.notice-bar i{margin-left:auto;font-style:normal;color:var(--gold-text);transition:translate .25s}
.notice-bar:hover i{translate:6px 0}

/* 근로자 추정제 자가진단 */
.diag-sec{background:radial-gradient(1100px 620px at 92% -10%,#1a4a86,transparent 72%),#0b2547;color:#fff}
.diag-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,84px);align-items:start}
.diag-side h2{color:#fff}
.diag-side .lead{color:rgba(255,255,255,.8)}
.diag-side .fine{margin-top:18px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.62)}
.diag-box{min-height:420px;padding:clamp(24px,3.4vw,44px);background:rgba(255,255,255,.05);border:1px solid rgba(220,192,138,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.diag-top{display:flex;align-items:center;gap:14px;margin-bottom:clamp(24px,3vw,36px);font-size:14px;font-variant-numeric:tabular-nums;color:var(--gold-on-dark)}
.diag-bar{position:relative;flex:1;height:1px;background:rgba(255,255,255,.22)}
.diag-bar b{position:absolute;left:0;top:-.5px;width:100%;height:2px;background:var(--gold-on-dark);transform:scaleX(var(--p,0));transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.diag-step{margin:0 0 30px}
.diag-step.show{animation:diag-in .36s ease-out}
@keyframes diag-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.diag-q{font-size:clamp(23px,2.4vw,31px);font-weight:300;line-height:1.42;letter-spacing:-.045em;color:#fff}
.diag-h{margin-top:10px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.68)}
.diag-opts{display:grid;gap:8px;margin-top:clamp(20px,2.4vw,30px)}
.diag-opts button{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 20px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font:500 16.5px/1.4 var(--sans);letter-spacing:-.02em;text-align:left;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.diag-opts button::after{content:"→";color:var(--gold-on-dark);transition:color .18s}
.diag-opts button:hover,.diag-opts button:focus-visible{background:var(--gold-on-dark);border-color:var(--gold-on-dark);color:#0b2547}
.diag-opts button:hover::after,.diag-opts button:focus-visible::after{color:#0b2547}
.diag-opts button:active{scale:.99}
.diag-back{margin-top:16px;padding:6px 0;background:none;border:0;color:rgba(255,255,255,.72);font-size:15px;text-decoration:underline;cursor:pointer}
.diag-tier{font-size:clamp(25px,2.7vw,36px);font-weight:300;line-height:1.36;letter-spacing:-.05em;color:#fff}
.diag-tier b{display:block;margin-bottom:10px;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--gold-on-dark)}
.diag-sum{margin-top:12px;color:rgba(255,255,255,.82)}
.diag-meter{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:20px}
.diag-meter i{height:4px;background:rgba(255,255,255,.18)}
.diag-meter i.on{background:var(--gold-on-dark)}
.diag-meter i.half{background:linear-gradient(90deg,var(--gold-on-dark) 50%,rgba(255,255,255,.18) 50%)}
.diag-list{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}
.diag-list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:15.5px;line-height:1.55}
.diag-list b{display:block;font-weight:600;color:#fff}
.diag-list span{color:rgba(255,255,255,.74)}
.diag-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.diag-actions .btn-blue{background:var(--gold-on-dark);color:#0b2547}
.diag-actions .btn-blue:hover{background:#e8d1a3}
.diag-actions .btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.diag-actions .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.diag-fine{margin-top:16px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62)}
@media (max-width:980px){.diag-grid{grid-template-columns:minmax(0,1fr)}.diag-box{min-height:0}}
@media (max-width:600px){
  section{padding:clamp(64px,16vw,84px) 0}
  .hero{padding-top:0;padding-bottom:40px}
  :root:not([data-font]) .hero h1{font-size:15.5vw}
  :root:not([data-font]) .proof b{font-size:21px;letter-spacing:-.04em}
  html[lang="en"]:not([data-font]) .hero h1{font-size:12.6vw}
  .notice-bar{flex-wrap:wrap;gap:2px 8px;padding:14px 0;font-size:15px}
  .notice-bar b{flex-basis:100%}
  .notice-bar span{flex:1}
  .diag-opts button{min-height:54px}
}
@media (prefers-reduced-motion:reduce){.diag-step.show{animation:none}.diag-bar b,.doors .btn::after,.foot-cta .btn::after,.track div{transition:none}}
@media print{
  html.print-diag main>*:not(#diag),html.print-diag header,html.print-diag footer,html.print-diag .dock{display:none!important}
  html.print-diag #diag{background:var(--surface);color:#000;padding:0}
  html.print-diag #diag *{color:#000!important;background:none!important}
  html.print-diag .diag-actions,html.print-diag .diag-back,html.print-diag .diag-top{display:none}
}
.view-btn{font-family:var(--sans)}
.view-btn span{font-weight:600}

/* 화려한 연출: 오프닝 */
.intro{display:none}
html.intro-on .intro{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;background:radial-gradient(900px 520px at 50% 40%,#123a70,#081b35 72%);animation:intro-out .78s .98s cubic-bezier(.76,0,.24,1) forwards}
.intro b{font:600 clamp(40px,6vw,76px)/1 "Cormorant Garamond",serif;letter-spacing:.34em;margin-right:-.34em;background:linear-gradient(100deg,#b9975b,#f6e8c8 50%,#b9975b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:intro-up .7s .05s cubic-bezier(.2,.8,.2,1) both}
.intro i{display:block;width:min(240px,50vw);height:1px;background:linear-gradient(90deg,transparent,#dcc08a,transparent);transform:scaleX(0);animation:intro-line .7s .22s cubic-bezier(.2,.8,.2,1) forwards}
.intro small{font:600 13px/1 "Cormorant Garamond",serif;letter-spacing:.42em;margin-right:-.42em;color:rgba(255,255,255,.72);animation:intro-up .7s .3s ease-out both}
@keyframes intro-out{to{transform:translateY(-101%);visibility:hidden}}
@keyframes intro-up{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes intro-line{to{transform:scaleX(1)}}
html.intro-on .hero-tags{animation-delay:1.25s}
html.intro-on .hero h1 span:not(.vh){animation-delay:1.35s}
html.intro-on .hero h1 .blue{animation-delay:1.55s,2.45s}
html.intro-on .hero-photo{animation-delay:1.42s}
html.intro-on .hero-foot{animation-delay:1.75s}
html.intro-on .proof{animation-delay:1.9s}
html.intro-on .hero-photo img{animation-delay:1.2s}

/* 첫 화면 무대 */
.hero{overflow:hidden}
.hero-dust{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hero-mark{position:absolute;right:-1.5%;bottom:-7%;z-index:-1;font:600 clamp(180px,31vw,560px)/.82 "Cormorant Garamond",serif;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(220,192,138,.2);pointer-events:none;user-select:none;white-space:nowrap;transform:translate3d(0,var(--my,0px),0);will-change:transform}
@media (min-width:1100px) and (min-height:700px){
  .hero{display:flex;align-items:center;min-height:calc(100vh - 85px);min-height:calc(100svh - 85px)}
  .hero>.wrap{width:min(calc(100% - 232px),var(--wrap))}
  .hero{padding-block:clamp(24px,3.6vh,48px)}
  .hero h1{margin-top:clamp(14px,2vh,28px)}
  .hero-photo img{width:100%;max-height:43vh;object-fit:cover;object-position:32% center}
  .hero-photo figcaption{margin-top:16px}
  .hero-foot{margin-top:clamp(18px,2.6vh,34px);padding-top:clamp(16px,2.2vh,26px)}
  .proof{margin-top:clamp(16px,2.4vh,30px)}
}

/* 금속 글자 */
.foot-motto span,.seal-h{background:linear-gradient(100deg,#c7a56a,#f8ecd0 46%,#c7a56a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero h1 .blue{animation-iteration-count:1,1}
.prog-bar{background:linear-gradient(90deg,#8a6a32,#e8d1a3)}

/* 흐르는 띠 */
.luxe-band{overflow:hidden;padding:clamp(20px,2.8vw,36px) 0;background:#081b35;border-block:1px solid rgba(220,192,138,.3)}
.luxe-track{display:flex;align-items:center;gap:clamp(26px,4vw,62px);width:max-content;font:600 clamp(38px,5.6vw,84px)/1.12 "Cormorant Garamond",serif;letter-spacing:-.01em;white-space:nowrap;animation:band-run 64s linear infinite}
.luxe-track span{color:transparent;-webkit-text-stroke:1px rgba(220,192,138,.72)}
.luxe-track span:nth-of-type(even){color:#dcc08a;-webkit-text-stroke:0}
.luxe-track i{flex:none;width:9px;height:9px;background:#dcc08a;transform:rotate(45deg)}
@keyframes band-run{to{transform:translateX(-50%)}}

/* 강점 구역: 배경과 핀 고정 */
.why{background:#071a36;overflow:hidden}
.why::after{display:none}
.why-sticky{display:contents}
.why-bg{position:absolute;inset:-14% 0;z-index:-2;background:url(../img/why-night.jpg) 50% center/cover no-repeat;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.why-row.off{opacity:0;translate:26px 0}
.why-row{transition:opacity .55s ease-out,translate .55s cubic-bezier(.2,.8,.2,1)}
@media (min-width:1100px){
  .why.pin{display:block;height:210vh;min-height:0;padding:0;overflow:visible}
  .why.pin::before{display:none}
  .why.pin .why-sticky{position:sticky;top:85px;isolation:isolate;display:flex;align-items:center;height:calc(100vh - 85px);overflow:hidden}
  .why.pin .why-sticky::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,16,36,.72),transparent 32%),linear-gradient(90deg,rgba(5,16,36,.62),rgba(5,16,36,.2) 52%,rgba(5,16,36,.06))}
  .why.pin .why-bg{inset:0;transform:scale(var(--bs,1.14))}
}
@media (max-width:760px){.why-bg{background-position:46% center}}

/* 스포트라이트 */
.tile:not(.tile-main):not(.tile-tip),.wiz-opt,.person,.en-card,.fee-tool{background-image:radial-gradient(280px circle at var(--mx,-300px) var(--my2,-300px),rgba(220,192,138,.2),transparent 68%)}
.tile{transition:border-color .2s}

/* 페이지 전환 */
::view-transition-old(root){animation:vt-old .24s ease-in both}
::view-transition-new(root){animation:vt-new .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes vt-old{to{opacity:0}}
@keyframes vt-new{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}

@media (max-width:600px){
  .hero-mark{display:none}
  .luxe-track i{width:7px;height:7px}
}
@media (prefers-reduced-motion:reduce){
  html.intro-on .intro{display:none}
  .luxe-track{animation:none}
  .why-bg{transform:none;will-change:auto}
  .hero-mark{will-change:auto}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
@media print{.intro,.luxe-band,.hero-dust,.hero-mark{display:none!important}.why.pin{height:auto}}

/* 절제: 효과와 금색 정리 */
.hero .btn-blue,.page-cta .btn-blue,.diag-actions .btn-blue{background:white;color:#0b2547;border-color:transparent}
.hero .btn-blue:hover,.page-cta .btn-blue:hover,.diag-actions .btn-blue:hover{background:#efeadf;color:#0b2547}
h2 strong{color:var(--head)}
.why h2 strong,.diag-side h2 strong,.page-cta h2 strong,.proof b,.tile-main b{color:#fff}
.fee-main b{color:var(--head)}
html[lang="en"] h2 strong{color:var(--head)}
html[lang="en"] .why h2 strong,html[lang="en"] .diag-side h2 strong{color:#fff}
.hero-tags{color:rgba(255,255,255,.74)}
.hero-tags span+span::before{background:rgba(255,255,255,.35)}
.hero-mark{-webkit-text-stroke-color:rgba(255,255,255,.07)}
.hero-photo img{outline-color:rgba(255,255,255,.26)}
.hero-foot{border-image:none;border-top:1px solid rgba(255,255,255,.2)}
.tile i,.tile::after,.svc summary::after,.case summary::after,.m-list summary::after,.diag-opts button::after{color:var(--muted)}
.tile-main::after{color:rgba(255,255,255,.7)}
.diag-opts button::after{color:rgba(255,255,255,.6)}
.m-list summary::after{color:rgba(255,255,255,.6)}
.tile::before{background:var(--head)}
.tile-main::before{background:var(--surface)}
.case-body li::before,.svc ul li::before,.person li::before,.brief-points li::before{background:var(--muted)}
.mono{color:#fff}
.en-n{color:var(--muted)}
.info dt{color:rgba(255,255,255,.62)}
.info .map-links a{color:#fff}
.why-ic{background:rgba(11,37,71,.92)}
.foot-tag{color:rgba(255,255,255,.62)}
.quick-call small,.quick-call svg{color:rgba(255,255,255,.72)}
.page-head .tag,.why .tag,.page-cta .tag,.check-sec .tag{color:rgba(255,255,255,.66)}
.luxe-band{background:#081b35;border-block-color:rgba(255,255,255,.12)}
.luxe-track{animation-duration:120s}
.luxe-track span,.luxe-track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.26)}
.luxe-track i{width:5px;height:5px;background:rgba(255,255,255,.3)}
.tile:not(.tile-main):not(.tile-tip),.wiz-opt,.person,.en-card,.fee-tool{background-image:radial-gradient(280px circle at var(--mx,-300px) var(--my2,-300px),rgba(11,37,71,.05),transparent 68%)}
@media (min-width:1100px){
  .dock-item.is-main{border:0;background:#0b2547}
  .dock-item.is-main:hover{background:#17457d}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero .btn-blue{color:#0b2547}}

/* 메인 구성 */
#results{background:var(--sky)}
.about-vals{display:flex;gap:clamp(18px,3vw,36px);margin-top:18px;font-weight:500;letter-spacing:.12em;color:var(--head)}
.bento{grid-template-columns:repeat(3,minmax(0,1fr))}
.bento .tile{grid-column:auto;min-height:210px}
.more-mini{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:26px;font-size:15.5px}
.more-mini a{color:var(--head);text-underline-offset:4px}
.more-mini a:hover{color:var(--link)}
.fees.sub-sec{padding-top:clamp(40px,5vw,64px)}
@media (max-width:980px){.bento{grid-template-columns:minmax(0,1fr)}.bento .tile{min-height:0}}
@media (max-width:760px){.bento{grid-template-columns:none}.bento .tile{min-height:190px}}
