@font-face{font-family:"CU Nanum";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/CUNanumR.ttf") format("truetype")}
@font-face{font-family:"CU Nanum";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/CUNanumB.ttf") format("truetype")}

/* A restrained serif hierarchy, with clear sans-serif text for practical details. */
:root{--display-font:"CU Nanum","Pretendard Variable",serif;--ink:#24364c;--muted:#607088;--blue:#315fd3}
body{background:#f8fafd}
body::before{background:radial-gradient(ellipse at 23% 30%,#edf2fc 0,transparent 48%),radial-gradient(ellipse at 84% 16%,#f0f6fa 0,transparent 46%),linear-gradient(#fff9,transparent)}
.header{background:#ffffffd9;border-bottom-color:#e3e9f0}
.brand-name{font-family:var(--display-font);font-size:24px;font-weight:700;letter-spacing:-.45px}
.brand-name .brand-role{font-family:"Pretendard Variable",sans-serif;font-size:14px;font-weight:500;margin-left:6px;letter-spacing:0}
.intro{padding:64px 0 46px}
.brand-slogan{color:#627796;font-size:32px;margin-bottom:26px}
h1{font-family:var(--display-font);font-size:clamp(2.5rem,4.1vw,3.2rem);font-weight:700;line-height:1.4;letter-spacing:-1.1px}
.headline-accent{color:#315ba7}
.intro>.intro-copy{margin-top:23px;font-size:17px;line-height:1.9}
.intro-copy strong{font-weight:600}
.topics-heading{margin-bottom:18px}.topics-heading h2{font-size:14px;font-weight:550;color:#607088;letter-spacing:.1px}
.topic-grid{gap:20px}
.topic-card{padding:26px 30px 29px;border:1px solid #e1e8f0;border-radius:22px;box-shadow:0 4px 16px #21375003}
.card-top:has(.is-photo){gap:15px;margin-bottom:16px}
.topic-icon.is-photo{width:64px;height:64px}
.topic-category{font-family:var(--display-font);font-size:19px;font-weight:700;line-height:1.55;letter-spacing:0;color:#30445f}
.topic-title{font-family:var(--display-font);font-size:24px;font-weight:700;line-height:1.6;letter-spacing:-.3px}
.card-plus{width:34px;height:34px;background:#f1f4f8;color:#687b95}
.topic-card:hover{border-color:#afc2df;box-shadow:0 14px 30px #2747710d;transform:translateY(-4px)}
.topic-card[aria-expanded=true]{background:#2b4e83;border-color:#2b4e83;box-shadow:0 12px 28px #2b4e8325}
.topic-card[aria-expanded=true] .topic-category{color:#f0f5ff}
.topic-detail{background:linear-gradient(115deg,#223f6a,#315b98);border-color:#3b6094;border-radius:22px;box-shadow:0 14px 34px #233f721c}
.detail-title{font-family:var(--display-font);font-weight:700;letter-spacing:0;font-size:25px;line-height:1.5}
.detail-copy>p:last-child{font-weight:400;line-height:1.9}
.detail-cta{color:#294c7e;box-shadow:0 5px 16px #10274324}
.other-consultation{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;padding:25px 30px;border:1px solid #dbe4f1;border-radius:20px;background:#eef3fb;color:#30445f;text-align:left;transition:background .25s,border-color .25s,transform .25s}
.other-consultation-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.other-consultation-title{font-family:var(--display-font);font-size:21px;font-weight:700;line-height:1.5}
.other-consultation-description{font-size:15px;font-weight:450;line-height:1.7;color:#607088}
.other-consultation-action{display:flex;align-items:center;gap:20px;flex-shrink:0;padding:11px 16px;border-radius:12px;background:#fff;color:#315ba7;font-size:15px;font-weight:700;white-space:nowrap}
.other-consultation-action>span{font-size:21px}
.other-consultation:hover{background:#e8effb;border-color:#b4c7e5;transform:translateY(-2px)}
.other-consultation:active{transform:translateY(0)}
.nav-contact{border-radius:11px;box-shadow:0 4px 12px #315fd310}
.consultation-intro h1{font-family:var(--display-font);font-size:42px;font-weight:400;letter-spacing:-.8px;line-height:1.45}
.contact-methods h2,.consultant-signature p,.footer-brand{font-family:var(--display-font);font-weight:700;letter-spacing:0}
.contact-methods h2{font-size:25px;line-height:1.55}
.footer{background:#fff9}.footer-inner{padding-top:38px;padding-bottom:27px}
.footer-brand{font-size:21px}.footer .footer-tagline{line-height:1.9;color:#62718a}
@media(min-width:1440px){.intro{padding:66px 0 48px}.topic-title{font-size:25px}}
@media(max-width:900px){.intro{padding:52px 0 36px}.topic-card{padding:24px}.topic-title{font-size:23px}.consultation-intro h1{font-size:35px}}
@media(max-width:640px){
  .header-inner{min-height:80px}.brand-name{font-size:21px;letter-spacing:-.5px}.brand-name .brand-role{font-size:12px;margin-left:3px}.brand-symbol{width:40px;height:40px}.nav-contact{font-size:12px;padding:10px 12px}
  .intro{padding:40px 0 32px}.brand-slogan{font-size:clamp(24px,7.1vw,30px);margin-bottom:23px}h1{font-size:clamp(31px,8.4vw,38px);letter-spacing:-.75px;line-height:1.4}.intro>.intro-copy{font-size:16px;line-height:1.85;margin-top:19px}
  .topics-heading{margin-bottom:14px}.topics-heading h2{font-size:14px}.topic-grid{gap:14px}.topic-card{padding:21px 22px 23px;border-radius:20px}.topic-icon.is-photo{width:56px;height:56px}.card-top:has(.is-photo){gap:13px;margin-bottom:13px}.topic-category{font-size:18px}.topic-title{font-size:22px;line-height:1.55;letter-spacing:-.25px}.topic-title br{display:none}.card-bottom{gap:12px}
  .detail-title{font-size:22px}.topic-detail{border-radius:20px}.consultation-intro h1{font-size:32px;line-height:1.4}.contact-methods h2{font-size:23px}.footer-brand{font-size:20px}.footer-inner{padding:29px 22px 23px}
  .other-consultation{align-items:flex-start;flex-direction:column;gap:17px;margin-top:14px;padding:22px}.other-consultation-title{font-size:20px}.other-consultation-description{font-size:14px}.other-consultation-action{align-self:flex-end;font-size:14px;padding:8px 13px;gap:14px}
}
@media(max-width:360px){.brand-name{font-size:19px}.brand-name .brand-role{font-size:11px}.brand-symbol{width:34px;height:34px}.nav-contact{font-size:11px}.header-inner{gap:6px}}
