/* YOUR LINCHPINS — 1차 공개 사이트 */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#070C26;color:#C9CFEA;font-family:'IBM Plex Sans KR',system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;line-height:1.7;word-break:keep-all;color-scheme:dark;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
section{scroll-margin-top:80px}
:focus-visible{outline:2px solid #9DB0FF;outline-offset:3px}
[hidden]{display:none!important}
.mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(20px,4vw,40px)}
.sec{padding-block:clamp(72px,9vw,120px)}
.band{border-top:1px solid #1B2658}
.stack-sm{display:flex;flex-direction:column;gap:14px}
.stack-md{display:flex;flex-direction:column;gap:20px}
.stack-md2{display:flex;flex-direction:column;gap:clamp(24px,3vw,36px)}
.stack-lg{display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}

.eyebrow{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:#9DB0FF}
.h2{margin:0;font-weight:300;font-size:clamp(28px,4.4vw,52px);line-height:1.25;letter-spacing:-.01em;color:#F4F6FF;text-wrap:balance}
.h2-thin{font-weight:200;letter-spacing:.01em}
.lead{margin:0;max-width:640px;font-size:clamp(16px,1.5vw,18px);font-weight:300;color:#C9CFEA}
.lead-sm{font-size:16px}
.note{margin:0;font-size:15px;color:#98A1CC}
.ulink{color:#C9CFEA;text-decoration:underline;text-underline-offset:4px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-family:inherit;font-size:15px;font-weight:400;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.btn-solid{background:#F4F6FF;color:#0A1038}
.btn-solid:hover{background:#FFFFFF}
.btn-solid:disabled{opacity:.6;cursor:default}
.btn-line{background:transparent;color:#F4F6FF;border-color:#4A5896}
.btn-line:hover{border-color:#9DB0FF;background:rgba(157,176,255,.08)}
.btn-sm{min-height:42px;padding:0 20px;font-size:14px;margin-left:10px}
.btn-block{width:100%;min-height:52px}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(7,12,38,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #1B2658}
.header-row{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:14px;color:#F4F6FF;min-width:0}
.brand-text{font-weight:400;font-size:14px;letter-spacing:.28em;white-space:nowrap}
.nav-inline{display:flex;align-items:center;gap:2px}
.navlink{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font-size:14px;color:#C9CFEA}
.navlink:hover{color:#FFFFFF;background:rgba(157,176,255,.1)}
.menu-btn{display:none;min-height:44px;padding:0 20px;font-size:14px}
.mobile-menu{display:flex;flex-direction:column;padding:4px clamp(20px,4vw,40px) 20px;background:#070C26;border-top:1px solid #1B2658}
.mlink{display:flex;align-items:center;min-height:52px;font-size:17px;color:#F4F6FF;border-bottom:1px solid #1B2658}

/* hero */
.hero{background:radial-gradient(ellipse 70% 60% at 50% 38%,#16245F 0%,#0B1340 48%,#070C26 100%)}
.hero-inner{padding-block:clamp(80px,13vw,152px) clamp(72px,11vw,132px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(22px,3vw,34px)}
.wordmark{margin:0;max-width:100%;font-weight:200;font-size:clamp(30px,7.2vw,104px);line-height:1.05;letter-spacing:.04em;color:#F4F6FF}
.wordmark span{display:inline-block}
.hero-names{margin:0;font-size:clamp(16px,2vw,22px);font-weight:300;letter-spacing:.06em;color:#C9CFEA}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(8px,2vw,20px)}

/* lawyers */
.lawyers{display:block}
.lawyer{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,56px);align-items:flex-start;min-width:0}
.portrait{flex:0 1 340px;width:100%;max-width:340px;aspect-ratio:4/5;display:flex;align-items:flex-end;padding:16px;border:1px solid #232F66;border-radius:20px;background:#0E1747}
.lawyer-body{flex:1 1 320px;min-width:0}
.portrait span{font-size:12px;letter-spacing:.08em;color:#98A1CC}
.lawyer-name{margin:0;font-size:26px;font-weight:300;line-height:1.3;color:#F4F6FF}
.lawyer-name span{font-size:15px;color:#98A1CC}
.lawyer-bio{margin:8px 0 0;font-size:15px;color:#98A1CC}
.lawyer-role{margin:4px 0 0;font-size:15px;color:#9DB0FF}
.career{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.6;color:#B4BBDD}
.career li{position:relative;padding-left:14px}
.career li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:1px;background:#4A5896}

/* practice areas */
.areas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.tile{display:flex;align-items:center;justify-content:center;text-align:center;min-height:104px;padding:20px 12px;border:1px solid #232F66;border-radius:16px;background:#0E1747;font-size:18px;font-weight:300;color:#F4F6FF;transition:border-color .2s,background .2s}
.tile:hover{border-color:#9DB0FF;background:#121D57}

/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid #2C3A7A;background:transparent;color:#C9CFEA;font-family:inherit;font-size:15px;font-weight:400;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.tab:hover{border-color:#9DB0FF;color:#FFFFFF}
.tab.is-on{background:#F4F6FF;border-color:#F4F6FF;color:#0A1038}

/* guide */
.guide-title{margin:0;font-weight:200;font-size:clamp(30px,4.4vw,52px);line-height:1.2;color:#F4F6FF}
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}
.gcard{display:flex;flex-direction:column;gap:10px;min-width:0;padding:28px;border:1px solid #232F66;border-radius:20px;background:#0E1747;transition:border-color .2s,background .2s}
.gcard h4{margin:0;font-size:22px;font-weight:400;color:#F4F6FF}
.gcard p{margin:0;font-size:15px;color:#C9CFEA}
.gcard .tag{margin-top:6px;font-size:12px;letter-spacing:.08em;color:#98A1CC}
.gcard-go{border-color:#9DB0FF}
.gcard-go h4{color:#9DB0FF}
.gcard-go:hover{background:#121D57}
.go-url{font-size:15px;color:#F4F6FF;overflow-wrap:anywhere}

/* library */
.lib-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.lib-search{flex:1 1 220px;max-width:360px;min-width:0}
.lib-list{border-bottom:1px solid #1B2658}
.lib-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 28px;padding:22px 0;border-top:1px solid #1B2658}
.lib-date{flex:0 0 112px;font-size:13px;color:#98A1CC}
.lib-title{flex:1 1 260px;min-width:0;font-size:18px;font-weight:300;color:#F4F6FF}
.lib-by{font-size:14px;color:#98A1CC}
.lib-empty{margin:0;padding:8px 0;font-size:15px;color:#98A1CC}

/* contact */
.contact-grid{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,80px);align-items:flex-start}
.contact-info{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:clamp(28px,4vw,44px)}
.info-list{margin:0;display:flex;flex-direction:column;border-bottom:1px solid #1B2658}
.info-list>div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-top:1px solid #1B2658}
.info-list dt{margin:0}
.info-list dd{margin:0;font-size:18px;color:#F4F6FF;overflow-wrap:anywhere}
.form-card{flex:1.3 1 400px;min-width:0;padding:clamp(22px,3.4vw,40px);border:1px solid #232F66;border-radius:24px;background:#0E1747}
#inquiry-form{display:flex;flex-direction:column;gap:22px}
.fgroup{display:flex;flex-direction:column;gap:12px}
.label{display:block;margin-bottom:8px;font-size:14px;font-weight:400;color:#F4F6FF}
.fgroup .label{margin-bottom:0}
.field{display:block;width:100%;min-height:48px;padding:12px 16px;border-radius:12px;border:1px solid #2C3A7A;background:#0A1038;color:#F4F6FF;font-family:inherit;font-size:16px;font-weight:300;line-height:1.5}
.field:focus-visible{outline:2px solid #9DB0FF;outline-offset:2px}
textarea.field{resize:vertical;min-height:132px}
::placeholder{color:#7C86B8}
.help{margin:0;font-size:13px;line-height:1.6;color:#98A1CC}
.consent-row{display:flex;align-items:center;gap:12px;min-height:44px}
.consent-row input{width:22px;height:22px;flex:none;accent-color:#9DB0FF;margin:0}
.consent-row label{font-size:15px;color:#F4F6FF}
.consent-box{padding:14px 16px;border:1px solid #232F66;border-radius:12px;background:#0A1038;font-size:13px;line-height:1.7;color:#98A1CC}
.form-error{margin:0;font-size:14px;color:#FFB4A8}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-done{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-block:clamp(12px,3vw,32px)}
.form-done h3{margin:0;font-weight:300;font-size:clamp(24px,3vw,32px);line-height:1.3;color:#F4F6FF}
.form-done p{margin:0;font-size:16px;color:#C9CFEA}

/* footer */
.site-footer{border-top:1px solid #1B2658}
.footer-inner{padding-block:48px 56px;display:flex;flex-direction:column;gap:20px}
.footer-inner p{margin:0;font-size:14px;color:#98A1CC}
.footer-inner .disclaimer{max-width:720px;font-size:13px;line-height:1.7}
.footer-brand{font-size:13px;letter-spacing:.28em;color:#F4F6FF}

@media (max-width:860px){
  .areas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-inline{display:none}
  .menu-btn{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
