/* 마중 톤: 글꼴 */
@font-face{font-family:"Pretendard Variable";src:url(../fonts/pretendard-paran.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
body{letter-spacing:-.01em;background:var(--page)}
h2{font:400 clamp(28px,3.4vw,45px)/1.36 var(--serif);letter-spacing:-.045em;color:var(--head)}
h2 strong{font-weight:700}
h2:not(:has(strong)){font-weight:600}
.tag{font:700 14px/1.3 var(--sans);letter-spacing:.03em;text-transform:uppercase;color:var(--link);margin-bottom:12px}
.creed .tag,.check-sec .tag,.page-cta .tag{color:rgba(255,255,255,.72)}
.lead{letter-spacing:-.012em}
.crumb-now,.top-status,.legend-row,.m-when span,.svc-n,.foot-clock,.q-no,.c-hanja,.hero-tags,.hero-photo figcaption{letter-spacing:-.01em}
:root{--head:#25282c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--head:#f1f3f5}}
:root[data-theme="dark"]{--head:#f1f3f5}
.creed h2,.check-sec h2,.page-cta h2,.hero h2{color:#fff}

/* 버튼 */
.btn{border-radius:999px;min-height:52px;padding:12px 28px;letter-spacing:-.02em}
.btn-blue{background:var(--paran-deep)}
.btn-blue:hover{background:var(--paran)}
.btn-ghost:hover{background:var(--sky)}
#form .btn-blue,.page-cta .btn-blue,.score .btn-blue,.fee-tool .btn-blue{background:var(--cta)}
#form .btn-blue:hover,.page-cta .btn-blue:hover,.score .btn-blue:hover,.fee-tool .btn-blue:hover{background:var(--cta-deep)}
.tabs{border-radius:999px;border-color:var(--paran-deep)}
.tabs button[aria-selected="true"]{background:var(--paran-deep)}
.wiz-on .mini{border-radius:999px;background:var(--paran-deep)}
.wiz-on .mini:hover{background:var(--paran)}
.wiz-opt{border-width:1px;border-radius:12px;box-shadow:0 2px 10px rgba(4,50,79,.06)}
.wiz-opt:hover{border-color:var(--paran-deep);box-shadow:0 12px 22px rgba(4,50,79,.14)}
.wiz-opt b{font-weight:700;color:var(--head)}
.deadline{background:var(--sky);border-left-color:var(--paran-deep)}

/* 첫 화면 */
.hero{background:linear-gradient(155deg,#003f60 0%,#01619e 62%,#2b7fb9 100%);color:#fff}
.hero-tags,.hero-photo figcaption{color:rgba(255,255,255,.8)}
.hero h1 .blue{color:#9fd4f5}
.hero-foot{border-top:1px solid rgba(255,255,255,.4)}
.hero-sub small{color:rgba(255,255,255,.84)}
.proof b{color:#fff;font-weight:700}
.proof span{color:rgba(255,255,255,.8)}
.hero-photo img{border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.hero .btn-blue{background:white;color:#003f60}
.hero .btn-blue:hover{background:#dfeaf3}
.hero .btn-ghost{border-color:#fff;color:#fff}
.hero .btn-ghost:hover{background:rgba(255,255,255,.14)}
:focus-visible{outline-color:var(--link)}
.hero :focus-visible,.creed :focus-visible,.check-sec :focus-visible,.page-cta :focus-visible,footer :focus-visible,.dock :focus-visible{outline-color:#9fd4f5}

/* 하위 페이지 머리 */
.page-head{background:linear-gradient(155deg,#003f60 0%,#01619e 70%,#2b7fb9 100%);color:#fff;padding-bottom:clamp(36px,5vw,64px)}
.page-head .tag{color:rgba(255,255,255,.72)}
.page-head .lead{color:rgba(255,255,255,.86)}
.sub-sec{padding-top:clamp(32px,5vw,56px)}
.page-head+.check-sec{padding-top:clamp(32px,5vw,56px)}
.brief{margin-top:clamp(24px,3.4vw,40px);margin-bottom:clamp(20px,3vw,32px)}
html{scroll-padding-top:68px}

/* 구역 색 */
.band-blue{background:var(--paran-deep)}
.check-sec{background:linear-gradient(135deg,#003f60,#01619e)}
.creed .tag{color:rgba(255,255,255,.72)}
.page-cta{background:linear-gradient(135deg,#003f60,#04324f)}
.calc p{color:rgba(255,255,255,.8)}
.svc summary::before{background:var(--paran-deep)}
.svc[open] summary{color:var(--link)}
.more-links a::before{background:var(--paran-deep)}
.fee-table{border-radius:0}
.fee-tool,.score,.calc,.months li,.brief{border-radius:12px}
.score{box-shadow:0 12px 22px rgba(0,0,0,.16)}
.tile{border-radius:14px}
.tile-main{background:linear-gradient(135deg,#003f60,#01619e)}

/* 바닥글 */
footer{background:var(--foot);color:#c7ccd3}
.foot-tag{font:700 14px/1.5 var(--sans);letter-spacing:-.01em;color:#fff}
.motto{color:rgba(255,255,255,.72)}

/* 보강 */
.prog-egg,.spin{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.7;cursor:wait}
#f-sent{outline:0;scroll-margin:90px}
.map-frame{display:block;width:100%;height:240px;margin-top:12px;border:0;border-radius:10px;background:var(--sky)}
.map-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px}
.map-links a{color:var(--link);font-weight:600}
.dock-status{transition:opacity .2s,transform .2s}
.dock.calm .dock-status{opacity:0;transform:translateY(8px);pointer-events:none}
@media (max-width:600px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.dock-status{transition:none}}
.nb{white-space:nowrap}

/* 홍보용 보강 */
.hero-sub small{font-size:18px;line-height:1.6;max-width:30em}
.roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.roles li{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.roles b{display:block;font-size:17px;font-weight:700;letter-spacing:-.03em;color:var(--head)}
.roles span{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:var(--muted)}
.fee-more{min-width:0}
.fee-more>summary{display:none}
.foot-note{margin-top:32px;font-size:14px;line-height:1.6;color:#aeb4bb}
.foot-note+.foot-end{margin-top:14px}
#privacy .dlg{max-height:calc(100dvh - 48px);overflow:auto}
#privacy .dlg h3:first-of-type{margin-top:10px}
@media (max-width:980px){
  .roles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fee-more>summary{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:700;color:var(--head);cursor:pointer;list-style:none}
  .fee-more>summary::-webkit-details-marker{display:none}
  .fee-more>summary::after{content:"+";color:var(--link);font-size:24px;font-weight:400;line-height:1}
  .fee-more[open]>summary::after{content:"\2212"}
  .fee-more .fee-tables{margin-top:18px}
}
@media (max-width:420px){.roles{gap:8px}.roles li{padding:12px}.roles b{font-size:15.5px}.roles span{font-size:14px;line-height:1.45}}
.hero-sub small{text-wrap:balance}
@media (max-width:600px){.hero h1{font-size:17vw}}

/* 강점 구역 */
.why{position:relative;isolation:isolate;padding:clamp(72px,9vw,128px) 0;color:#fff;background:#071a36 url(../img/why-night.jpg) center/cover no-repeat}
.why::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,14,30,.66),rgba(4,14,30,.22) 60%,rgba(4,14,30,.1))}
.why .tag{color:rgba(255,255,255,.72)}
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(32px,5vw,72px);align-items:center}
.why h2,.why-line{font:400 clamp(29px,3.5vw,48px)/1.42 var(--serif);letter-spacing:-.045em;color:#fff}
.why h2 strong{font-weight:700}
.why-line{margin-top:clamp(20px,2.6vw,34px);font-weight:700}
.why-line em{font-style:normal;color:#f2c66d}
.why-vals{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:clamp(22px,2.6vw,32px);font-size:15.5px;color:rgba(255,255,255,.82)}
.why-vals b{margin-right:6px;color:#fff;font-weight:700}
.why-rows{display:grid;gap:12px}
.why-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;transition:opacity .5s ease-out,transform .5s ease-out}
.why-row.pre{opacity:0;transform:translateY(18px)}
.why-ic{display:grid;place-items:center;min-height:112px;background:rgba(1,97,158,.82);color:#fff}
.why-row p{display:flex;align-items:center;padding:16px clamp(18px,2.4vw,30px);background:rgba(255,255,255,.93);color:#1c1d1f;font-size:clamp(16px,1.45vw,19px);line-height:1.55;letter-spacing:-.025em}
.why-row b{font-weight:700}
@media (max-width:980px){
  .why-grid{grid-template-columns:minmax(0,1fr)}
  .why::before{background:rgba(4,14,30,.5)}
}
@media (max-width:600px){
  .why{background-position:60% center}
  .why-row{grid-template-columns:66px minmax(0,1fr);gap:6px}
  .why-ic{min-height:92px}
  .why-ic svg{width:34px;height:34px}
  .why-row p{padding:14px;font-size:15.5px;align-self:stretch}
}
@media (prefers-reduced-motion:reduce){.why-row{transition:none}}

/* 대형 로펌 톤: 글꼴 */
@font-face{font-family:"MaruBuri";src:url(../fonts/maruburi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"MaruBuri";src:url(../fonts/maruburi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif KR";src:url(../fonts/hanja-700.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{--cta:#0b2547;--cta-deep:#17457d;--cta-ink:#fff;--rail:#0b2547;--foot:#081b35;--head:#0b2547;--gold-on-dark:#dcc08a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--head:#f2efe8;--cta:#dcc08a;--cta-deep:#e8d1a3;--cta-ink:#0b2547}}
:root[data-theme="dark"]{--head:#f2efe8;--cta:#dcc08a;--cta-deep:#e8d1a3;--cta-ink:#0b2547}
html{scroll-padding-top:84px}
body{font-size:17px;line-height:1.8;letter-spacing:-.012em}
section{padding:clamp(72px,9.5vw,128px) 0}
h2{font:500 clamp(29px,3.2vw,44px)/1.42 var(--serif);letter-spacing:-.035em;color:var(--head)}
h2 strong{font-weight:700}
h2:not(:has(strong)){font-weight:500}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tag{display:flex;align-items:center;gap:12px;font:600 12.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);margin-bottom:18px}
.tag::before{content:"";flex:none;width:30px;height:1px;background:currentColor}
.creed .tag,.check-sec .tag,.page-cta .tag,.why .tag,.page-head .tag{color:var(--gold-on-dark)}
.page-head .tag,.brief .tag,.toc .tag{letter-spacing:.04em;font-size:14px}
.brief .tag::before,.toc .tag::before{display:none}
.lead{margin-top:16px;color:var(--muted)}
.wrap{width:min(100%,var(--wrap))}
:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}
.hero :focus-visible,.why :focus-visible,.check-sec :focus-visible,.page-cta :focus-visible,footer :focus-visible,.dock :focus-visible,#menu :focus-visible{outline-color:var(--gold-on-dark)}

/* 가벼운 효과 정리 */
.band,.prog-egg,.spin,.tile-egg,.dock-status,.crumb-now,.top-status{display:none!important}
.m-state{transform:none;border-width:1px;border-radius:0;background:transparent;font-size:13px;font-weight:600}
.thump{animation:none}
.fx-pre{opacity:1}
.fee-pop{animation:none}

/* 직각과 얇은 선 */
.btn{border-radius:0;border-width:1px;min-height:54px;padding:12px 32px;font-weight:600;letter-spacing:-.01em;transition:background .2s,color .2s,border-color .2s}
.btn-blue{background:var(--cta);color:var(--cta-ink)}
.btn-blue:hover{background:var(--cta-deep)}
.btn-ghost{border-color:var(--head);color:var(--head)}
.btn-ghost:hover{background:var(--head);color:var(--page)}
#form .btn-blue,.score .btn-blue,.fee-tool .btn-blue{background:var(--cta)}
#form .btn-blue:hover,.score .btn-blue:hover,.fee-tool .btn-blue:hover{background:var(--cta-deep)}
.tabs,.wiz-opt,.wiz-on .mini,.calc,.fee-tool,.score,.months li,.brief,.tile,.quiz,.ox-btn,.q-egg,.chan,dialog,.map-frame,.fee-more>summary,.field input[type=text],.field input[type=tel],.field input[type=number],.field select,.field textarea,.ok textarea,.calc input,.checks input,.a-table tr,.deadline,.hero-photo img{border-radius:0}
.tabs{border-width:1px;border-color:var(--head)}
.tabs button[aria-selected="true"]{background:var(--head);color:var(--page)}
.wiz-on .mini{background:var(--cta);color:var(--cta-ink)}
.wiz-on .mini:hover{background:var(--cta-deep)}
.wiz-opt{border:1px solid var(--line);box-shadow:none;padding:28px}
.wiz-opt:hover{border-color:var(--gold-text);box-shadow:none;transform:none}
.wiz-opt b{font-weight:500;color:var(--head)}
.wiz-step{color:var(--gold-text)}
.deadline{border-left:2px solid var(--gold-text)}
.case-body li::before,.svc ul li::before,.person li::before,.brief-points li::before{width:8px;height:1px;top:.9em;background:var(--gold-text);transform:none}
.steps li::before{border-radius:0;background:var(--head);color:var(--page);font-family:var(--serif);font-weight:500}
.case summary::after,.svc summary::after{color:var(--gold-text);font-weight:300}

/* 상단 */
.top{background:var(--top-bg);border-bottom:1px solid var(--line)}
.top .wrap{min-height:84px;gap:28px}
.brand img{height:56px}
.top-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);margin-left:auto}
.top-nav a{position:relative;padding:8px 0;color:var(--head);font-size:15.5px;font-weight:500;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.top-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold-text);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.top-nav a:hover::after{transform:scaleX(1)}
.tel{color:var(--head);font-weight:600;font-size:16px}
.prog{height:1px}
.prog-bar{background:var(--gold-text)}

/* 첫 화면 */
.hero{padding:clamp(48px,6vw,88px) 0 clamp(52px,6vw,84px);color:#fff;background:radial-gradient(1200px 620px at 88% -10%,rgba(26,74,134,.95),transparent 70%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/25% 100%,#0b2547}
.hero-tags{gap:6px 18px;font:500 13px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-on-dark)}
.hero-tags span+span::before{content:"";display:inline-block;width:1px;height:11px;margin-right:18px;background:rgba(220,192,138,.6)}
.hero-main{align-items:center;gap:clamp(32px,5vw,72px)}
.hero h1{font:500 clamp(58px,7.3vw,104px)/1.2 var(--serif);letter-spacing:-.045em;margin-top:clamp(24px,3vw,40px)}
.hero h1 .blue{color:var(--gold-on-dark)}
.hero-photo img{box-shadow:none;outline:1px solid rgba(220,192,138,.45);outline-offset:10px}
.hero-photo figcaption{margin-top:20px;font-size:13.5px;letter-spacing:-.01em;color:rgba(255,255,255,.72)}
.hero-foot{margin-top:clamp(36px,4vw,60px);padding-top:clamp(24px,2.6vw,32px);border-top:1px solid rgba(255,255,255,.22)}
.hero-sub{font:500 clamp(21px,2.1vw,27px)/1.45 var(--serif);letter-spacing:-.03em}
.hero-sub small{margin-top:10px;font:400 17px/1.7 var(--sans);letter-spacing:-.012em;color:rgba(255,255,255,.78);text-wrap:balance}
.hero .btn-blue{background:white;color:#0b2547}
.hero .btn-blue:hover{background:var(--gold-on-dark);color:#0b2547}
.hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.hero .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.proof{gap:0;margin-top:clamp(28px,3vw,44px)}
.proof p{padding:2px 20px;border-left:1px solid rgba(255,255,255,.2)}
.proof b{font:500 clamp(21px,2.1vw,27px)/1.35 var(--serif);letter-spacing:-.03em;color:#fff}
.proof span{margin-top:4px;font-size:14.5px;color:rgba(255,255,255,.7)}

/* 업무 */
.svc-grid{margin-top:40px;border-top:1px solid var(--head)}
.svc{border-bottom-color:var(--line)}
.svc-name{font:500 clamp(21px,2.5vw,31px)/1.3 var(--serif);letter-spacing:-.035em}
.svc-n{display:none}
.svc summary{padding:clamp(16px,1.9vw,24px) 10px}
.svc summary::before{background:var(--band)}
.svc[open] summary{color:var(--link)}
.more-links{border-top:1px solid var(--head)}
.more-links a::before{background:var(--band)}
.more-links b{font-weight:500}
.track{margin-top:36px;border-top:1px solid var(--head)}
.track div{padding:17px 0}
.track dt{font-weight:500}

/* 강점 */
.why::before{background:linear-gradient(90deg,rgba(7,24,52,.86),rgba(7,24,52,.5) 60%,rgba(7,24,52,.34))}
.why h2,.why-line{font:500 clamp(29px,3.2vw,44px)/1.46 var(--serif);letter-spacing:-.035em;color:#fff}
.why h2 strong{font-weight:700}
.why-line{font-weight:700}
.why-line em{color:var(--gold-on-dark)}
.why-vals b{font-family:var(--serif);font-weight:500;color:var(--gold-on-dark)}
.why-row{grid-template-columns:104px minmax(0,1fr);gap:0}
.why-ic{min-height:108px;background:rgba(7,24,52,.72);color:var(--gold-on-dark);border:1px solid rgba(220,192,138,.42);border-right:0}
.why-row p{background:rgba(7,24,52,.56);border:1px solid rgba(220,192,138,.42);color:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.why-row b{color:#fff}
.why-ic svg{stroke-width:1.3}

/* 자문료, 소개 */
.fee-main{border-top:1px solid var(--head)}
.fee-main b{font:500 28px/1.3 var(--serif);color:var(--head)}
.fee-table caption{font-weight:500}
.fee-table thead th{background:var(--band)}
.fee-tool{border:1px solid var(--line);box-shadow:none}
.seal-plate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:clamp(300px,30vw,420px);padding:32px;color:#fff;text-align:center;background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/25% 100%,#0b2547;outline:1px solid rgba(220,192,138,.45);outline-offset:-14px}
.seal-h{font:700 clamp(68px,8vw,112px)/1.1 var(--serif);letter-spacing:.04em;color:var(--gold-on-dark)}
.seal-read{font:500 17px/1.5 var(--serif);color:#fff}
.seal-say{margin-top:6px;font-size:15px;color:rgba(255,255,255,.72)}
.values{border-top:1px solid var(--head)}
.team{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,3vw,44px);margin-top:36px}
.person{padding-top:22px;border-top:1px solid var(--head)}
.person h3{font:500 25px/1.4 var(--serif);letter-spacing:-.035em;color:var(--head)}
.person .cv{font-weight:500;font-size:15.5px;line-height:1.65}
.person-more{color:var(--link)}
.big-tel{font:500 30px/1.25 var(--serif);color:var(--head)}
.info dt{color:var(--gold-text);font-weight:600;font-size:14.5px}
.chan-tel{background:var(--rail);color:#fff}

/* 인사이트 */
.bento{gap:10px;margin-top:36px}
.tile{background:var(--surface);border:1px solid var(--line);box-shadow:none;min-height:172px;padding:24px}
.tile:hover{border-color:var(--gold-text);transform:none;box-shadow:none}
.tile b{font-weight:500;color:var(--head)}
.tile i{font-size:13px;color:var(--gold-text);letter-spacing:.02em}
.tile-main,.tile-tip{background:var(--band);border-color:var(--band);color:#fff}
.tile-main b,.tile-tip b{color:#fff}
.tile-main span{color:rgba(255,255,255,.76)}
.tile-tip i,.tile-main i{color:var(--gold-on-dark)}
.tile-dday{background:var(--surface);color:var(--head)}
.tile-dday span{color:var(--muted)}
.tip-next{color:var(--gold-on-dark)}

/* 하위 페이지, 점검, 하단 안내 */
.page-head{background:radial-gradient(1000px 500px at 88% -20%,rgba(26,74,134,.92),transparent 70%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/25% 100%,#0b2547;padding-top:clamp(44px,6vw,84px)}
.page-head h1{font:500 clamp(34px,4.6vw,58px)/1.3 var(--serif);letter-spacing:-.04em}
.page-head .lead{color:rgba(255,255,255,.8)}
.check-sec{background:#0b2547}
.page-cta{background:radial-gradient(900px 480px at 88% 0,rgba(26,74,134,.92),transparent 70%),#0b2547}
.page-cta h2{color:#fff}
.page-cta .btn-blue{background:var(--gold-on-dark);color:#0b2547}
.page-cta .btn-blue:hover{background:#e8d1a3}
.page-cta .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.page-cta .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.checks input:checked{background:var(--gold-on-dark)}
.score{box-shadow:none}
.score-n{font:500 56px/1 var(--serif);color:var(--head)}
.ox-o,.ox-x{font-family:var(--serif);font-weight:500}
.ox-o{background:var(--band)}
.quiz{border:1px solid var(--head)}
.q-title{font-weight:500}
footer{background:var(--foot);border-top:1px solid rgba(220,192,138,.45)}
.foot-tag{font:600 13.5px/1.5 var(--sans);letter-spacing:.02em;color:var(--gold-on-dark)}
.motto{letter-spacing:.14em;color:var(--gold-on-dark);font-size:12px}

/* 오른쪽 세로 메뉴 */
.dock{position:fixed;left:auto;right:max(18px,env(safe-area-inset-right,0px));top:50%;bottom:auto;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:0;width:88px;padding:0;background:var(--rail);border:1px solid rgba(220,192,138,.42);border-radius:0;box-shadow:0 18px 40px rgba(5,18,38,.3);font-family:var(--sans)}
.dock-head{margin:0;padding:12px 4px 10px;border-bottom:1px solid rgba(220,192,138,.42);font:700 11.5px/1 var(--serif);letter-spacing:.2em;text-align:center;color:var(--gold-on-dark)}
.dock-rail{display:flex;flex-direction:column;align-items:stretch;padding:0;background:none;border-radius:0;box-shadow:none}
.dock-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:82px;padding:12px 4px;border:0;border-radius:0;background:none;color:rgba(255,255,255,.92);font-size:12.5px;font-weight:500;line-height:1.3;letter-spacing:-.03em;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;transition:color .2s,background .2s}
.dock-item svg{width:25px;height:25px;stroke-width:1.3;flex:none}
.dock-item:hover{background:rgba(255,255,255,.06);color:var(--gold-on-dark);opacity:1}
.dock-rail .dock-item+.dock-item::before{content:"";position:absolute;left:18px;right:18px;top:0;bottom:auto;width:auto;height:1px;background:rgba(255,255,255,.16)}
.dock-tel{flex-direction:column;gap:7px;font-size:12.5px;letter-spacing:-.02em}
.tel-wide{font:500 13.5px/1.25 var(--serif);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.tel-narrow{display:none}
.dock-item.is-main{min-width:0;min-height:88px;padding:12px 4px;background:var(--gold-on-dark);color:#0b2547;border-radius:0;box-shadow:none;font-weight:700}
.dock-item.is-main:hover{background:#e8d1a3;color:#0b2547}
body{padding-bottom:0}
body::before{background:var(--top-bg)}

/* 메뉴 서랍 */
dialog::backdrop{background:rgba(5,18,38,.68)}
#menu{margin:0 0 0 auto;width:min(440px,100%);max-width:none;height:100dvh;max-height:100dvh;background:#0b2547;color:#fff;border-radius:0;overflow:auto}
#menu[open]{animation:drawer .28s cubic-bezier(.2,.8,.2,1)}
@keyframes drawer{from{transform:translateX(48px);opacity:0}to{transform:none;opacity:1}}
#menu .dlg{padding:0 32px 40px}
.menu-head{position:sticky;top:0;z-index:1;margin:0 -32px;padding:18px 32px;background:#0b2547;border-bottom:1px solid rgba(220,192,138,.42);color:#fff}
#menu .menu-head h2{font:500 21px/1.4 var(--serif);letter-spacing:-.02em;color:var(--gold-on-dark)}
.menu-x{color:#fff;font-weight:300}
.m-list>li{border-top:0;border-bottom:1px solid rgba(255,255,255,.14)}
.m-list a,.m-list summary{min-height:60px;color:#fff;font:500 18.5px/1.4 var(--serif);letter-spacing:-.03em}
.m-list a:hover,.m-list summary:hover{color:var(--gold-on-dark)}
.m-list summary::after{color:var(--gold-on-dark);font-weight:300}
.m-list details a{min-height:44px;font:400 15.5px/1.5 var(--sans);letter-spacing:-.015em;color:rgba(255,255,255,.74)}
#live{margin:auto 128px auto auto;border-radius:0}
#live .dlg{padding:28px}
#live h2{font:500 23px/1.4 var(--serif)}

/* 오른쪽 메뉴를 놓을 여백 */
@media (min-width:1100px){
  .wrap{width:min(calc(100% - 232px),var(--wrap))}
}
@media (max-height:600px) and (min-width:1100px){
  .dock-head{display:none}
  .dock-item{min-height:62px;gap:3px;padding:6px 4px}
  .dock-item.is-main{min-height:62px}
}
@media (max-width:1099px){
  html{scroll-padding-top:68px}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .top .wrap{min-height:68px}
  .brand img{height:50px}
  .top-nav{display:none}
  .tel{margin-left:auto}
  .dock{left:0;right:0;top:auto;bottom:0;transform:none;flex-direction:row;width:auto;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border-width:1px 0 0;box-shadow:none}
  .dock-head,.dock-map{display:none}
  .dock-rail{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:.74fr 1fr 1.1fr}
  .dock-item,.dock-tel{flex-direction:row;gap:6px;min-height:58px;padding:4px 2px;font-size:13px;letter-spacing:-.045em}
  .dock-item svg{width:20px;height:20px}
  .dock-rail .dock-item+.dock-item::before{left:0;right:auto;top:14px;bottom:14px;width:1px;height:auto}
  .dock-item.is-main{flex:0 0 27%;min-height:58px;padding:4px 2px}
  .tel-wide{display:none}
  .tel-narrow{display:inline}
  #live{margin:auto 0 0;width:100%;max-width:100%}
  .team{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:960px){
  .proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}
}
@media (max-width:600px){
  body{font-size:16px;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .hero h1{font-size:15.5vw}
  .hero-tags{font-size:12px;letter-spacing:.1em}
  .hero-tags span+span::before{margin-right:12px}
  .hero-tags{gap:4px 12px}
  .hero-photo img{outline-offset:6px}
  .proof p{padding:2px 14px}
  .why-row{grid-template-columns:62px minmax(0,1fr)}
  .why-ic{min-height:92px}
  .why-ic svg{width:32px;height:32px}
  .tile{min-height:0;padding:20px}
  .seal-plate{min-height:260px}
}
@media (max-width:374px){
  .dock-item,.dock-tel{flex-direction:column;gap:1px;min-height:58px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  #menu[open]{animation:none}
  .btn,.dock-item,.top-nav a::after{transition:none}
}
@media print{.dock,.top-nav{display:none}}

.top{background:var(--surface)}
#team{scroll-margin-top:32px}
@media (max-width:600px){.hero-tags span:nth-child(2){display:none}}

/* 글꼴과 색 고급화 */
:root{--latin:"Cormorant Garamond","Pretendard Variable","Pretendard",sans-serif}
h2{letter-spacing:-.04em}
.tag{font:600 15px/1.3 var(--latin);letter-spacing:.2em}
.page-head .tag,.brief .tag,.toc .tag{font:600 14px/1.4 var(--sans);letter-spacing:.02em}
.hero-tags{font:600 14.5px/1.5 var(--latin);letter-spacing:.16em}
.dock-head{font:600 13px/1 var(--latin);letter-spacing:.22em}
.motto{font:600 14px/1.4 var(--latin);letter-spacing:.14em}
.hero h1{letter-spacing:-.05em}
.seal-h{font-family:"Noto Serif KR",var(--serif)}
.hero{background:radial-gradient(1300px 700px at 92% -14%,#1f5596,transparent 72%),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/25% 100%,#0b2547}
.page-head{background:radial-gradient(1100px 560px at 92% -24%,#1f5596,transparent 72%),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/25% 100%,#0b2547}
.page-cta{background:radial-gradient(1000px 520px at 92% 0,#1f5596,transparent 72%),#0b2547}
.seal-plate{background:radial-gradient(420px 300px at 80% 0,#1a4a86,transparent 75%),#0b2547}
.tile-main{background:radial-gradient(420px 260px at 100% 0,#1a4a86,transparent 75%),#0b2547}
.quick-call{background:radial-gradient(320px 160px at 100% 0,#1a4a86,transparent 75%),#0b2547}
.hero-photo figcaption{font-family:var(--sans)}
.tag,.hero-tags,.dock-head,.motto{font-variant-numeric:lining-nums}
