:root {
--navy: #0a0f1e;
--navy-mid: #141b2d;
--navy-light: #1e2a3f;
--gold: #b8924a;
--gold-light: #d4b978;
--gold-muted: rgba(184,146,74,0.12);
--text-primary: #1a1a1a;
--text-secondary: #4a4a4a;
--text-muted: #777;
--text-light: #999;
--bg-page: #f8f7f5;
--bg-warm: #f5f3ef;
--bg-card: #ffffff;
--border-light: #e8e5e0;
--border-subtle: #f0ede8;
--header-h: 72px;
--max-width: 1080px;
--font-serif: "Noto Serif KR", "Batang", serif;
--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
--transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
--success: #15803d;
--warning: #b45309;
}
html { scroll-behavior: smooth; }
* { box-sizing: border-box; }
body {
margin: 0;
padding: var(--header-h) 0 0;
font-family: var(--font-sans);
color: var(--text-primary);
background: var(--bg-page);
line-height: 1.6;
}
img { max-width: 100%; height: auto; }
video, iframe { max-width: 100%; }
.ksl-a11y-hidden {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
} body.ksl-page-index { padding-top: 0; }
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul, li { list-style: none; padding: 0; margin: 0; }
button { cursor: pointer; border: none; font-family: inherit; } .site-header {
background: rgba(255,255,255,0.97);
height: var(--header-h);
border-bottom: 1px solid var(--border-subtle);
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
backdrop-filter: blur(8px);
}
.header-inner {
max-width: var(--max-width);
margin: 0 auto;
height: 100%;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
}
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-img { height: 34px; width: auto; }
.logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.logo-main {
font-family: var(--font-serif);
font-size: 17px; font-weight: 700;
color: var(--navy); letter-spacing: -0.01em;
}
.logo-sub { font-size: 11px; color: var(--text-muted); letter-spacing: 0.04em; }
.gnb { display: flex; align-items: center; gap: 32px; height: 100%; }
.nav-list { display: flex; gap: 28px; height: 100%; }
.nav-item { position: relative; height: 100%; display: flex; align-items: center; }
.nav-link {
font-size: 14px; font-weight: 600;
color: var(--text-secondary); padding: 0 2px;
position: relative;
background: transparent;
border: 0;
appearance: none;
}
.nav-link::after {
content: '';
position: absolute; bottom: -1px; left: 0;
width: 0; height: 2px;
background: var(--gold);
transition: width var(--transition);
}
.nav-link:hover, .nav-link.active { color: var(--navy); font-weight: 700; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.sub-menu {
position: absolute; top: 100%; left: 50%;
transform: translateX(-50%) translateY(10px);
background: #fff; min-width: 150px;
border: 1px solid var(--border-light);
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
border-radius: var(--radius-md);
overflow: hidden;
opacity: 0; visibility: hidden;
transition: all 0.2s ease; padding: 8px 0;
}
.nav-item:hover .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.sub-menu a { display: block; padding: 10px 18px; font-size: 14px; color: var(--text-secondary); }
.sub-menu a:hover { background: var(--bg-warm); color: var(--navy); font-weight: 700; }
.nav-cta {
padding: 10px 22px;
background: var(--navy); color: #fff;
font-size: 13px; font-weight: 700;
border-radius: var(--radius-md);
transition: var(--transition);
}
.nav-cta:hover { background: var(--navy-mid); }
.menu-toggle { display: none; width: 26px; height: 20px; position: relative; z-index: 1100; }
.menu-toggle span {
display: block; width: 100%; height: 2px;
background: var(--navy); position: absolute; left: 0;
transition: 0.3s; border-radius: var(--radius-sm);
}
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.menu-toggle span:nth-child(3) { bottom: 0; }
.menu-toggle.active span:nth-child(1) { top: 50%; transform: rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { bottom: auto; top: 50%; transform: rotate(-45deg); }
@media (max-width: 992px) {
.gnb {
position: fixed; top: 0; right: -100%; width: 100%; height: 100vh;
background: #fff; flex-direction: column; padding-top: 80px;
transition: 0.3s ease-in-out; z-index: 10000;
box-shadow: -5px 0 20px rgba(0,0,0,0.05);
align-items: flex-start; gap: 0;
}
.gnb.open { right: 0; }
.nav-list { flex-direction: column; width: 100%; height: auto; gap: 0; overflow-y: auto; }
.nav-item { width: 100%; height: auto; flex-direction: column; align-items: flex-start; border-bottom: 1px solid var(--border-subtle); }
.nav-link { display: block; width: 100%; padding: 16px 24px; font-size: 16px; color: var(--navy); font-weight: 700; }
.nav-link::after { display: none; }
.sub-menu {
position: static; width: 100%; box-shadow: none; border: none;
background: var(--bg-warm); transform: none;
opacity: 1; visibility: visible; padding: 0; display: none;
}
.nav-item.active .sub-menu {
display: block; padding: 8px 0 12px;
border-top: 1px solid var(--border-light);
}
.sub-menu a { padding: 12px 32px; font-size: 14px; border-top: 1px solid var(--border-light); font-weight: 700; color: var(--navy); }
.sub-menu a:first-child { border-top: none; }
.nav-cta { margin: 30px auto; width: 90%; text-align: center; padding: 14px; font-size: 16px; border-radius: var(--radius-md); }
.menu-toggle { display: block; z-index: 10001; }
}
@media (max-width: 640px) {
body { font-size: 16px; line-height: 1.8; letter-spacing: -0.01em; }
p, li { line-height: 1.85; }
} :root {
--shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
--shadow-md: 0 4px 20px rgba(0,0,0,0.06);
--shadow-lg: 0 12px 40px rgba(0,0,0,0.08);
--radius-sm: 6px;
--radius-md: 10px;
--radius-lg: 14px;
--success: #15803d;
--warning: #b45309;
}
*, *::before, *::after { box-sizing: border-box; }
body {
line-height: 1.7;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.inner,
.container {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
}
.skip-link {
position: absolute;
top: -48px;
left: 16px;
z-index: 20000;
padding: 10px 14px;
background: #fff;
color: var(--navy);
border-radius: 10px;
border: 1px solid var(--border-light);
box-shadow: 0 16px 40px rgba(10, 15, 30, 0.18);
transition: top 0.2s ease;
}
.skip-link:focus { top: 16px; } .site-header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
height: var(--header-h);
background: rgba(255,255,255,0.96);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-light);
box-shadow: 0 2px 12px rgba(10,15,30,0.06);
}
.header-inner {
max-width: var(--max-width); margin: 0 auto; height: 100%;
padding: 0 24px; display: flex; align-items: center; justify-content: space-between;
}
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-img { height: 34px; width: auto; }
.logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.logo-main {
font-family: var(--font-serif); font-size: 18px; font-weight: 700;
color: var(--navy); letter-spacing: -0.02em;
}
.logo-sub { font-size: 10px; color: var(--text-muted); letter-spacing: 0.12em; text-transform: uppercase; }
.gnb { display: flex; align-items: center; gap: 24px; height: 100%; }
.nav-list { display: flex; gap: 4px; height: 100%; }
.nav-item { position: relative; height: 100%; display: flex; align-items: center; }
.nav-link {
display: inline-flex; align-items: center;
height: 38px; padding: 0 12px;
font-size: 14px; font-weight: 700;
color: var(--text-secondary); border-radius: 6px;
background: transparent;
border: 0;
appearance: none;
}
.nav-link:hover, .nav-link.active { background: var(--gold-muted); color: var(--navy); }
.sub-menu {
position: absolute; top: 100%; left: 50%;
transform: translateX(-50%) translateY(8px);
background: var(--bg-card); min-width: 160px;
border: 1px solid var(--border-light);
box-shadow: 0 12px 32px rgba(10,15,30,0.12);
opacity: 0; visibility: hidden; transition: all 0.2s ease; padding: 6px;
}
.nav-item:hover .sub-menu,
.nav-item.has-sub.active .sub-menu,
.nav-item.menu-item-has-children.active .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.sub-menu a { display: block; padding: 9px 12px; font-size: 13px; font-weight: 700; color: var(--text-secondary); }
.sub-menu a:hover { background: var(--bg-warm); color: var(--navy); }
.nav-caret {
display: inline-block;
margin-left: 6px;
font-size: 9px;
opacity: 0.7;
transition: transform 0.2s ease;
}
.nav-item.has-sub.active .nav-caret,
.nav-item.menu-item-has-children.active .nav-caret { transform: rotate(180deg); }
.nav-cta { height: 40px; padding: 0 18px; background: var(--navy); color: #fff; font-size: 13px; font-weight: 700; }
.nav-cta:hover { background: var(--navy-mid); }
.menu-toggle {
display: none; width: 24px; height: 18px;
position: relative; z-index: 1100; background: none; padding: 0;
}
.menu-toggle span { display: block; width: 100%; height: 2px; background: var(--navy); position: absolute; left: 0; transition: 0.3s; }
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.menu-toggle span:nth-child(3) { bottom: 0; }
.menu-toggle.active span:nth-child(1) { top: 50%; transform: rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { bottom: auto; top: 50%; transform: rotate(-45deg); } .site-header.site-header--hero {
height: auto;
background: rgba(10,15,30,0.42);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(255,255,255,0.10);
box-shadow: none;
}
.site-header.site-header--hero .header-inner { height: 72px; }
.site-header.site-header--hero .logo-main { color: rgba(255,255,255,0.95); }
.site-header.site-header--hero .logo-sub { color: rgba(255,255,255,0.68); }
.site-header.site-header--hero .nav-link { color: rgba(255,255,255,0.84); }
.site-header.site-header--hero .nav-link:hover,
.site-header.site-header--hero .nav-link.active { background: rgba(184,146,74,0.18); color: #fff; }
.site-header.site-header--hero .nav-cta { background: var(--gold); color: var(--navy); }
.site-header.site-header--hero .nav-cta:hover { background: var(--gold-light); }
.site-header.site-header--hero .menu-toggle span { background: rgba(255,255,255,0.9); } .site-header.site-header--compact {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
height: var(--header-h);
background: rgba(255,255,255,0.96);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-light);
box-shadow: 0 2px 12px rgba(10,15,30,0.06);
}
.site-header.site-header--compact .header-inner {
max-width: var(--max-width); margin: 0 auto; height: 100%;
padding: 0 24px; display: flex; align-items: center; justify-content: space-between;
}
.site-header.site-header--compact .logo-area { display: flex; align-items: center; gap: 10px; }
.site-header.site-header--compact .logo-img { height: 34px; width: auto; }
.site-header.site-header--compact .logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.site-header.site-header--compact .logo-main {
font-family: var(--font-serif); font-size: 18px; font-weight: 700;
color: var(--navy); letter-spacing: -0.02em;
}
.site-header.site-header--compact .logo-sub {
font-size: 10px; color: var(--text-muted);
letter-spacing: 0.12em; text-transform: uppercase;
}
.site-header.site-header--compact .gnb { display: flex; align-items: center; gap: 24px; height: 100%; }
.site-header.site-header--compact .nav-list { display: flex; gap: 4px; height: 100%; }
.site-header.site-header--compact .nav-item { position: relative; height: 100%; display: flex; align-items: center; }
.site-header.site-header--compact .nav-link {
display: inline-flex; align-items: center;
height: 38px; padding: 0 12px;
font-size: 14px; font-weight: 700;
color: var(--text-secondary); border-radius: 6px;
}
.site-header.site-header--compact .nav-link::after { display: none; }
.site-header.site-header--compact .nav-link:hover,
.site-header.site-header--compact .nav-link.active { background: var(--gold-muted); color: var(--navy); }
.site-header.site-header--compact .sub-menu {
position: absolute; top: 100%; left: 50%;
transform: translateX(-50%) translateY(8px);
background: var(--bg-card); min-width: 160px;
border: 1px solid var(--border-light);
box-shadow: 0 12px 32px rgba(10,15,30,0.12);
opacity: 0; visibility: hidden; transition: all 0.2s ease; padding: 6px;
}
.site-header.site-header--compact .nav-item:hover .sub-menu,
.site-header.site-header--compact .nav-item.has-sub.active .sub-menu,
.site-header.site-header--compact .nav-item.menu-item-has-children.active .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.site-header.site-header--compact .sub-menu a { display: block; padding: 9px 12px; font-size: 13px; font-weight: 700; color: var(--text-secondary); }
.site-header.site-header--compact .sub-menu a:hover { background: var(--bg-warm); color: var(--navy); }
.site-header.site-header--compact .nav-cta { height: 40px; padding: 0 18px; background: var(--navy); color: #fff; font-size: 13px; font-weight: 700; }
.site-header.site-header--compact .nav-cta:hover { background: var(--navy-mid); }
.site-header.site-header--compact .menu-toggle span { background: var(--navy); }
.header-topline {
background: rgba(10,15,30,0.58);
border-bottom: 1px solid rgba(184,146,74,0.22);
color: rgba(255,255,255,0.75);
font-size: 12px;
letter-spacing: 0.02em;
}
.header-topline-inner {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
}
.topline-copy { font-weight: 600; }
.topline-links {
display: flex;
align-items: center;
gap: 16px;
white-space: nowrap;
font-weight: 700;
}
.topline-links a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,0.82); }
.topline-links a:hover { color: var(--gold-light); } body.ksl-page-index { padding-top: 0; } .fade-section { opacity: 0; transform: translateY(20px); transition: opacity 0.55s ease, transform 0.55s ease; }
.fade-section.visible { opacity: 1; transform: none; } .corp-lead-section {
background: linear-gradient(135deg, #0a0f1e 0%, #141b2d 100%);
position: relative;
overflow: hidden;
padding: 72px 0;
color: #fff;
}
.corp-lead-section::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 820px 520px at 15% 15%, rgba(184,146,74,0.18), transparent 70%),
radial-gradient(ellipse 640px 540px at 90% 90%, rgba(184,146,74,0.10), transparent 70%);
pointer-events: none;
}
.corp-lead-section .container { position: relative; z-index: 1; }
.corp-lead-card {
max-width: 900px;
margin: 0 auto;
padding: 44px 48px;
background: rgba(255,255,255,0.045);
border: 1px solid rgba(184,146,74,0.30);
border-radius: var(--radius-lg);
text-align: center;
backdrop-filter: blur(8px);
}
.corp-lead-tag {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 6px 14px;
background: rgba(184,146,74,0.16);
border: 1px solid rgba(184,146,74,0.45);
color: var(--gold-light);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
border-radius: 999px;
margin-bottom: 18px;
}
.corp-lead-title {
font-family: var(--font-serif);
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 700;
line-height: 1.35;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 16px;
}
.corp-lead-accent { color: var(--gold-light); }
.corp-lead-desc {
font-size: 15px;
color: rgba(255,255,255,0.72);
line-height: 1.8;
margin: 0 0 24px;
word-break: keep-all;
}
.corp-lead-points {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px 22px;
margin: 0 0 28px;
padding: 0;
list-style: none;
}
.corp-lead-points li {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: rgba(255,255,255,0.85);
font-weight: 600;
}
.corp-lead-points i { color: var(--gold-light); font-size: 12px; }
.corp-lead-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
}
.corp-lead-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 26px;
font-size: 14px;
font-weight: 800;
border-radius: var(--radius-md);
transition: var(--transition);
text-decoration: none;
border: 1px solid transparent;
}
.corp-lead-btn--primary {
background: var(--gold);
color: var(--navy);
box-shadow: 0 10px 28px rgba(184,146,74,0.30);
}
.corp-lead-btn--primary:hover {
background: var(--gold-light);
transform: translateY(-2px);
box-shadow: 0 14px 32px rgba(184,146,74,0.40);
}
.corp-lead-btn--ghost {
background: transparent;
color: rgba(255,255,255,0.92);
border-color: rgba(255,255,255,0.28);
}
.corp-lead-btn--ghost:hover {
background: rgba(255,255,255,0.08);
border-color: rgba(184,146,74,0.55);
} .mid-cta-block {
padding: 48px 0;
background: var(--bg-warm);
background-image: radial-gradient(ellipse 760px 520px at 50% 50%, rgba(184,146,74,0.08), transparent 70%);
border-top: 1px solid var(--border-subtle);
border-bottom: 1px solid var(--border-subtle);
}
.mid-cta-block--rehab,
.mid-cta-block--pasan,
.mid-cta-block--about {
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
border-top: 1px solid rgba(184,146,74,0.20);
border-bottom: 1px solid rgba(184,146,74,0.20);
color: #fff;
background-image:
radial-gradient(ellipse 760px 460px at 20% 30%, rgba(184,146,74,0.16), transparent 70%),
radial-gradient(ellipse 640px 440px at 90% 80%, rgba(184,146,74,0.10), transparent 70%);
}
.mid-cta-inner {
display: grid;
grid-template-columns: 1.1fr 0.9fr;
gap: 32px;
align-items: center;
}
.mid-cta-copy { text-align: left; }
.mid-cta-kicker {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 11px;
background: rgba(184,146,74,0.14);
border: 1px solid rgba(184,146,74,0.40);
color: var(--gold);
font-size: 10px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
border-radius: 999px;
margin-bottom: 14px;
}
.mid-cta-block--rehab .mid-cta-kicker,
.mid-cta-block--pasan .mid-cta-kicker,
.mid-cta-block--about .mid-cta-kicker {
color: var(--gold-light);
background: rgba(184,146,74,0.18);
border-color: rgba(184,146,74,0.45);
}
.mid-cta-title {
font-family: var(--font-serif);
font-size: clamp(22px, 2.4vw, 28px);
font-weight: 700;
line-height: 1.35;
color: var(--navy);
margin: 0 0 10px;
letter-spacing: -0.02em;
}
.mid-cta-block--rehab .mid-cta-title,
.mid-cta-block--pasan .mid-cta-title,
.mid-cta-block--about .mid-cta-title { color: #fff; }
.mid-cta-accent { color: var(--gold); }
.mid-cta-block--rehab .mid-cta-accent,
.mid-cta-block--pasan .mid-cta-accent,
.mid-cta-block--about .mid-cta-accent { color: var(--gold-light); }
.mid-cta-desc {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.75;
margin: 0;
word-break: keep-all;
}
.mid-cta-block--rehab .mid-cta-desc,
.mid-cta-block--pasan .mid-cta-desc,
.mid-cta-block--about .mid-cta-desc { color: rgba(255,255,255,0.72); }
.mid-cta-actions {
display: flex;
flex-direction: column;
gap: 10px;
align-items: stretch;
}
.mid-cta-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 48px;
padding: 0 22px;
font-size: 14px;
font-weight: 800;
border-radius: var(--radius-md);
transition: var(--transition);
text-decoration: none;
border: 1px solid transparent;
white-space: nowrap;
}
.mid-cta-btn--primary {
background: var(--gold);
color: var(--navy);
box-shadow: 0 8px 20px rgba(184,146,74,0.25);
}
.mid-cta-btn--primary:hover {
background: var(--gold-light);
transform: translateY(-1px);
}
.mid-cta-btn--outline {
background: transparent;
color: var(--navy);
border-color: var(--navy);
}
.mid-cta-block--rehab .mid-cta-btn--outline,
.mid-cta-block--pasan .mid-cta-btn--outline,
.mid-cta-block--about .mid-cta-btn--outline {
color: rgba(255,255,255,0.92);
border-color: rgba(255,255,255,0.32);
}
.mid-cta-btn--outline:hover {
background: var(--navy);
color: #fff;
}
.mid-cta-block--rehab .mid-cta-btn--outline:hover,
.mid-cta-block--pasan .mid-cta-btn--outline:hover,
.mid-cta-block--about .mid-cta-btn--outline:hover {
background: rgba(255,255,255,0.10);
border-color: var(--gold-light);
}
.mid-cta-btn--tel {
background: transparent;
color: var(--text-secondary);
border-color: var(--border-light);
font-weight: 700;
letter-spacing: -0.01em;
}
.mid-cta-block--rehab .mid-cta-btn--tel,
.mid-cta-block--pasan .mid-cta-btn--tel,
.mid-cta-block--about .mid-cta-btn--tel {
color: rgba(255,255,255,0.7);
border-color: rgba(255,255,255,0.16);
}
.mid-cta-btn--tel:hover { background: var(--bg-warm); color: var(--navy); } .blog-promo-section {
padding: 72px 0;
background: var(--bg-card);
border-top: 1px solid var(--border-subtle);
position: relative;
overflow: hidden;
}
.blog-promo-section::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse 720px 480px at 88% 50%, rgba(46,125,50,0.06), transparent 70%);
pointer-events: none;
}
.blog-promo-section .container { position: relative; z-index: 1; }
.blog-promo-grid {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 48px;
align-items: center;
}
.blog-promo-copy { text-align: left; }
.blog-promo-kicker {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 5px 11px;
background: rgba(46,125,50,0.10);
border: 1px solid rgba(46,125,50,0.30);
color: #2e7d32;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
border-radius: 999px;
margin-bottom: 14px;
}
.blog-promo-title {
font-family: var(--font-serif);
font-size: clamp(24px, 2.8vw, 32px);
font-weight: 700;
line-height: 1.32;
color: var(--navy);
margin: 0 0 16px;
letter-spacing: -0.02em;
}
.blog-promo-accent { color: #2e7d32; }
.blog-promo-desc {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.8;
margin: 0 0 20px;
word-break: keep-all;
}
.blog-promo-tags {
display: flex;
flex-wrap: wrap;
gap: 7px;
margin: 0 0 28px;
padding: 0;
list-style: none;
}
.blog-promo-tags li {
display: inline-flex;
align-items: center;
padding: 5px 11px;
background: var(--bg-warm);
color: var(--text-secondary);
font-size: 12px;
font-weight: 700;
border-radius: 999px;
}
.blog-promo-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 28px;
background: #2e7d32;
color: #fff;
font-size: 14px;
font-weight: 800;
border-radius: var(--radius-md);
transition: var(--transition);
text-decoration: none;
box-shadow: 0 10px 24px rgba(46,125,50,0.25);
}
.blog-promo-btn:hover {
background: #1b5e20;
transform: translateY(-2px);
box-shadow: 0 14px 32px rgba(46,125,50,0.35);
color: #fff;
}
.blog-promo-visual {
position: relative;
height: 280px;
perspective: 800px;
}
.blog-promo-card {
position: absolute;
width: 80%;
padding: 18px 20px;
background: #fff;
border: 1px solid var(--border-light);
border-radius: var(--radius-md);
box-shadow: 0 10px 28px rgba(10,15,30,0.12);
display: flex;
flex-direction: column;
gap: 6px;
transition: var(--transition);
}
.blog-promo-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 36px rgba(10,15,30,0.18);
}
.blog-promo-card--1 {
top: 0;
right: 0;
transform: rotate(-3deg);
}
.blog-promo-card--2 {
top: 90px;
right: 18%;
transform: rotate(2deg);
z-index: 2;
}
.blog-promo-card--3 {
top: 180px;
right: 4%;
transform: rotate(-1.5deg);
}
.blog-promo-card-tag {
display: inline-flex;
align-items: center;
align-self: flex-start;
padding: 3px 8px;
background: var(--gold-muted);
color: var(--gold);
font-size: 10px;
font-weight: 800;
letter-spacing: 0.06em;
border-radius: 4px;
}
.blog-promo-card-title {
font-family: var(--font-serif);
font-size: 14px;
font-weight: 700;
color: var(--navy);
line-height: 1.4;
} .pasan-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin: 26px 0 18px;
}
.pasan-hero-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 13px 24px;
font-size: 14px;
font-weight: 800;
border-radius: var(--radius-md);
text-decoration: none;
transition: var(--transition);
border: 1px solid transparent;
}
.pasan-hero-btn--primary {
background: var(--gold);
color: var(--navy);
box-shadow: 0 10px 28px rgba(184,146,74,0.35);
}
.pasan-hero-btn--primary:hover {
background: var(--gold-light);
transform: translateY(-2px);
}
.pasan-hero-btn--ghost {
background: rgba(255,255,255,0.08);
color: rgba(255,255,255,0.95);
border-color: rgba(255,255,255,0.30);
backdrop-filter: blur(6px);
}
.pasan-hero-btn--ghost:hover {
background: rgba(255,255,255,0.16);
border-color: rgba(184,146,74,0.55);
}
.pasan-hero-trust {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}
.pasan-hero-trust li {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: rgba(184,146,74,0.10);
border: 1px solid rgba(184,146,74,0.30);
color: rgba(255,255,255,0.88);
font-size: 12px;
font-weight: 700;
border-radius: 999px;
}
.pasan-hero-trust i { color: var(--gold-light); font-size: 11px; }
.pasan-hero-accent { color: var(--gold-light); } .corp-site-banner {
background: linear-gradient(90deg, rgba(184,146,74,0.16) 0%, rgba(184,146,74,0.08) 100%);
border-top: 1px solid rgba(184,146,74,0.35);
border-bottom: 1px solid rgba(184,146,74,0.20);
padding: 14px 0;
}
.corp-site-banner-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}
.corp-site-banner-text {
display: inline-flex;
align-items: center;
gap: 10px;
color: var(--navy);
font-size: 14px;
font-weight: 600;
}
.corp-site-banner-text i { color: var(--gold); font-size: 16px; }
.corp-site-banner-text strong { color: var(--navy); font-weight: 800; }
.corp-site-banner-btn {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 9px 18px;
background: var(--navy);
color: #fff;
font-size: 13px;
font-weight: 800;
border-radius: var(--radius-md);
transition: var(--transition);
text-decoration: none;
}
.corp-site-banner-btn:hover {
background: var(--gold);
color: var(--navy);
transform: translateY(-1px);
} .about-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-top: 24px;
}
.about-hero-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 13px 24px;
font-size: 14px;
font-weight: 800;
border-radius: var(--radius-md);
text-decoration: none;
transition: var(--transition);
border: 1px solid transparent;
}
.about-hero-btn--primary {
background: var(--gold);
color: var(--navy);
box-shadow: 0 10px 28px rgba(184,146,74,0.30);
}
.about-hero-btn--primary:hover { background: var(--gold-light); transform: translateY(-2px); }
.about-hero-btn--ghost {
background: transparent;
color: var(--navy);
border-color: var(--border-light);
}
.about-hero-btn--ghost:hover { background: var(--navy); color: #fff; border-color: var(--navy); } .cta-box-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-top: 4px;
}
.cta-btn--ghost {
background: rgba(255,255,255,0.08) !important;
color: #fff !important;
border: 1px solid rgba(255,255,255,0.30) !important;
}
.cta-btn--ghost:hover { background: rgba(255,255,255,0.16) !important; } .consult-accent { color: var(--gold) !important; } .receipt-meta { font-size: 12px; opacity: 0.85; display: inline-block; margin-top: 4px; }
.contact-receipt-note .receipt-meta a { color: var(--gold-light); text-decoration: underline; } .footer-blog-link,
.footer-corp-link {
background: rgba(184,146,74,0.10) !important;
color: var(--gold-light) !important;
border: 1px solid rgba(184,146,74,0.25);
}
.footer-blog-link i,
.footer-corp-link i { font-size: 12px; }
.footer-blog-link:hover,
.footer-corp-link:hover {
background: rgba(184,146,74,0.18) !important;
border-color: rgba(184,146,74,0.55);
} @media (max-width: 900px) {
.corp-lead-card { padding: 32px 24px; }
.mid-cta-inner { grid-template-columns: 1fr; gap: 22px; }
.mid-cta-copy { text-align: center; }
.mid-cta-kicker { margin: 0 auto 12px; }
.mid-cta-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; }
.mid-cta-btn { flex: 1 1 auto; min-width: 140px; }
.blog-promo-grid { grid-template-columns: 1fr; gap: 36px; }
.blog-promo-visual { height: 240px; max-width: 360px; margin: 0 auto; }
.corp-site-banner-inner { flex-direction: column; align-items: stretch; text-align: center; gap: 10px; }
.corp-site-banner-text { justify-content: center; }
.corp-site-banner-btn { justify-content: center; }
}
@media (max-width: 640px) {
.corp-lead-section { padding: 56px 0; }
.corp-lead-card { padding: 28px 20px; }
.corp-lead-actions { flex-direction: column; }
.corp-lead-btn { width: 100%; justify-content: center; }
.mid-cta-actions { flex-direction: column; }
.mid-cta-btn { width: 100%; }
.blog-promo-section { padding: 56px 0; }
.blog-promo-visual { height: 210px; }
.blog-promo-card { width: 88%; padding: 14px 16px; }
.blog-promo-card-title { font-size: 13px; }
.pasan-hero-actions { flex-direction: column; align-items: stretch; }
.pasan-hero-btn { justify-content: center; }
.about-hero-actions { flex-direction: column; }
.about-hero-btn { justify-content: center; }
.cta-box-actions { flex-direction: column; }
} .site-footer {
background: #050a14;
color: #e5e7eb;
padding: 56px 24px 34px;
border-top: 1px solid rgba(255,255,255,0.05);
font-family: var(--font-sans);
}
.footer-inner {
max-width: var(--max-width);
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 1fr 1fr;
gap: 28px;
align-items: start;
}
.footer-brand { display: flex; flex-direction: column; gap: 12px; }
.footer-logo { display: flex; align-items: center; gap: 12px; }
.footer-logo-img { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.footer-logo-text { display: flex; flex-direction: column; gap: 2px; }
.footer-logo-main {
font-family: var(--font-serif);
font-size: 17px; font-weight: 700;
color: #f0ede8; letter-spacing: -0.02em;
}
.footer-logo-sub { font-size: 11px; color: #9ca3af; letter-spacing: 0.06em; }
.footer-desc { font-size: 13px; line-height: 1.75; color: #9ca3af; }
.footer-contact { font-size: 13px; line-height: 1.85; color: #d1d5db; }
.footer-contact .label { color: var(--gold); font-weight: 700; margin-right: 6px; }
.footer-col h4 { font-size: 14px; font-weight: 700; margin: 0 0 12px; color: #f8f8f6; }
.footer-links { display: grid; gap: 7px; font-size: 13px; }
.footer-links a { color: #d1d5db; opacity: 0.85; }
.footer-links a:hover { color: var(--gold-light); opacity: 1; }
.footer-quick { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.footer-quick a {
display: flex; align-items: center; gap: 7px;
padding: 8px 10px; background: rgba(255,255,255,0.04);
color: #d1d5db; font-size: 12px; font-weight: 700;
}
.footer-quick a:hover { background: rgba(184,146,74,0.1); color: var(--gold-light); }
.footer-line { max-width: var(--max-width); margin: 26px auto 16px; height: 1px; background: rgba(255,255,255,0.07); }
.footer-notice { max-width: var(--max-width); margin: 0 auto; font-size: 12px; line-height: 1.8; color: #6b7280; }
.footer-bottom {
max-width: var(--max-width); margin: 14px auto 0;
display: flex; flex-wrap: wrap; gap: 10px;
justify-content: space-between; align-items: center;
font-size: 12px; color: #6b7280;
} :root {
--desktop-consult-bar-h: 112px;
}
.desktop-consult-bar {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 9997;
display: none;
background: rgba(10,15,30,0.96);
border-top: 1px solid rgba(184,146,74,0.38);
box-shadow: 0 -12px 42px rgba(0,0,0,0.28);
backdrop-filter: blur(10px);
}
.desktop-consult-inner {
max-width: 1280px;
margin: 0 auto;
padding: 12px 18px;
display: flex;
gap: 14px;
align-items: center;
flex-wrap: wrap;
}
.desktop-consult-copy { flex: 0 0 auto; min-width: 220px; }
.desktop-consult-kicker {
display: inline-flex;
align-items: center;
gap: 6px;
margin-bottom: 6px;
padding: 4px 10px;
border-radius: 999px;
border: 1px solid rgba(184,146,74,0.55);
background: rgba(184,146,74,0.12);
color: rgba(212,185,120,0.98);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.desktop-consult-title {
font-family: var(--font-serif);
font-size: 16px;
font-weight: 800;
color: #fff;
line-height: 1.25;
}
.desktop-consult-sub {
margin-top: 4px;
font-size: 12px;
font-weight: 600;
color: rgba(255,255,255,0.68);
letter-spacing: -0.01em;
}
.desktop-consult-form { flex: 1 1 520px; min-width: 320px; }
.desktop-consult-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.desktop-consult-fields {
display: flex;
gap: 10px;
align-items: center;
}
.desktop-consult-field { flex: 0 0 auto; }
.desktop-consult-field--message { flex: 1 1 auto; min-width: 220px; }
.desktop-consult-input {
height: 42px;
padding: 0 12px;
border-radius: 10px;
border: 1px solid rgba(255,255,255,0.14);
background: rgba(255,255,255,0.06);
color: rgba(255,255,255,0.92);
outline: none;
transition: var(--transition);
font-size: 14px;
}
.desktop-consult-input::placeholder { color: rgba(255,255,255,0.5); }
.desktop-consult-input:focus {
border-color: rgba(184,146,74,0.7);
box-shadow: 0 0 0 3px rgba(184,146,74,0.14);
}
.desktop-consult-select {
appearance: none;
-webkit-appearance: none;
padding-right: 30px;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23d4b978'><path d='M2 4l4 4 4-4'/></svg>");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 10px 10px;
cursor: pointer;
min-width: 130px;
}
.desktop-consult-select option { background: var(--navy); color: #fff; }
.desktop-consult-textarea {
height: 42px;
padding: 10px 12px;
resize: none;
line-height: 1.4;
overflow: hidden;
}
.desktop-consult-submit {
height: 42px;
padding: 0 16px;
border-radius: 10px;
background: var(--gold);
color: var(--navy);
font-weight: 900;
font-size: 14px;
border: 1px solid rgba(184,146,74,0.9);
transition: var(--transition);
white-space: nowrap;
}
.desktop-consult-submit:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-1px); }
.desktop-consult-submit:disabled { opacity: 0.7; transform: none; cursor: not-allowed; }
.desktop-consult-meta {
margin-top: 8px;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.desktop-consult-privacy {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 12px;
color: rgba(255,255,255,0.72);
font-weight: 600;
}
.desktop-consult-privacy input { width: 14px; height: 14px; accent-color: var(--gold); }
.desktop-consult-privacy-link {
font-size: 12px;
color: rgba(184,146,74,0.95);
font-weight: 800;
}
.desktop-consult-privacy-link:hover { color: var(--gold-light); }
.desktop-consult-status {
font-size: 12px;
color: rgba(255,255,255,0.72);
font-weight: 600;
}
.desktop-consult-status[data-tone="success"] { color: rgba(212,185,120,0.98); }
.desktop-consult-status[data-tone="error"] { color: rgba(248,113,113,0.92); }
@media (min-width: 993px) {
body { padding-bottom: calc(var(--desktop-consult-bar-h, 112px) + env(safe-area-inset-bottom, 0px)); }
.desktop-consult-bar { display: block; }
.desktop-consult-bar { animation: desktopConsultIn 320ms ease-out both; }
}
@keyframes desktopConsultIn {
from { transform: translateY(14px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
.desktop-consult-bar { animation: none !important; }
}
@media (max-width: 1200px) {
.desktop-consult-sub { display: none; }
}
@media (max-width: 1120px) {
.desktop-consult-copy { min-width: 0; flex: 0 0 auto; }
.desktop-consult-title { font-size: 14px; }
.desktop-consult-kicker { font-size: 10px; padding: 3px 8px; }
.desktop-consult-select { min-width: 110px; }
}
@media (max-width: 1024px) {
.desktop-consult-fields { flex-wrap: wrap; }
.desktop-consult-field--message { min-width: 100%; flex: 1 1 100%; }
.desktop-consult-submit { flex: 0 0 auto; }
} @media (min-width: 993px) {
.desktop-right-cta {
top: auto;
bottom: calc(var(--desktop-consult-bar-h, 112px) + 24px);
transform: none;
}
.desktop-right-cta-stack { gap: 6px; }
.desktop-right-cta-btn { min-width: 152px; padding: 9px 12px; }
.desktop-right-cta-text .main { font-size: 12px; }
.desktop-right-cta-text .sub { font-size: 10px; }
} .desktop-right-cta {
position: fixed; right: 18px; top: 50%;
transform: translateY(-50%); z-index: 9998; display: none;
}
.desktop-right-cta-stack { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.desktop-right-cta-btn {
display: flex; align-items: center; gap: 12px;
padding: 12px 14px;
background: rgba(10,15,30,0.93);
color: #f0ede8;
text-decoration: none;
box-shadow: 0 8px 28px rgba(0,0,0,0.3);
border: 1px solid rgba(255,255,255,0.08);
border-radius: var(--radius-md);
transition: var(--transition);
min-width: 164px;
backdrop-filter: blur(10px);
}
.desktop-right-cta-btn.primary { background: var(--gold); color: var(--navy); border-color: transparent; }
.desktop-right-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(0,0,0,0.35); }
.desktop-right-cta-btn i { font-size: 17px; width: 20px; text-align: center; }
.desktop-right-cta-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.desktop-right-cta-text .main { font-weight: 800; font-size: 13px; line-height: 1.1; white-space: nowrap; }
.desktop-right-cta-text .sub { font-weight: 600; font-size: 11px; opacity: 0.75; white-space: nowrap; }
.desktop-right-cta-text .sub.mono { font-feature-settings: "tnum"; letter-spacing: 0.02em; }
.desktop-right-cta-details { position: relative; }
.desktop-right-cta-details > summary { list-style: none; }
.desktop-right-cta-details > summary::-webkit-details-marker { display: none; }
.desktop-right-cta-arrow { margin-left: auto; font-size: 12px; opacity: 0.7; transition: transform 0.2s ease; }
.desktop-right-cta-details[open] .desktop-right-cta-arrow { transform: rotate(180deg); }
.desktop-right-cta-dropdown {
position: absolute; right: calc(100% + 10px); top: 50%; transform: translateY(-50%);
width: 220px; background: var(--bg-card);
border: 1px solid var(--border-light);
box-shadow: 0 16px 48px rgba(10,15,30,0.2);
border-radius: var(--radius-lg);
overflow: hidden; padding: 6px;
}
.desktop-right-cta-dropdown a {
display: flex; align-items: center; gap: 10px;
padding: 9px 11px; font-weight: 700; font-size: 13px; color: var(--navy);
}
.desktop-right-cta-dropdown a:hover { background: var(--bg-warm); }
.desktop-right-cta-chip {
width: 22px; height: 22px;
display: inline-flex; align-items: center; justify-content: center;
background: var(--navy); color: var(--gold-light);
font-size: 11px; font-weight: 800; flex-shrink: 0;
border-radius: var(--radius-sm);
} .desktop-right-cta.desktop-right-cta--light { right: 20px; }
.desktop-right-cta--light .desktop-right-cta-btn {
padding: 14px 16px;
background: rgba(10,15,30,0.92);
color: #e8e8e8;
box-shadow: 0 8px 32px rgba(0,0,0,0.2);
min-width: 180px;
backdrop-filter: blur(12px);
}
.desktop-right-cta--light .desktop-right-cta-btn.primary { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.desktop-right-cta--light .desktop-right-cta-btn:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.3); }
.desktop-right-cta--light .desktop-right-cta-btn i { font-size: 16px; opacity: 0.9; }
.desktop-right-cta--light .desktop-right-cta-text .main { font-weight: 700; line-height: 1.2; }
.desktop-right-cta--light .desktop-right-cta-text .sub { font-weight: 500; opacity: 0.6; }
.desktop-right-cta--light .desktop-right-cta-arrow { opacity: 0.6; }
.desktop-right-cta--light .desktop-right-cta-details[open] > summary.desktop-right-cta-btn { border-color: rgba(184,146,74,0.4); }
.desktop-right-cta--light .desktop-right-cta-dropdown {
right: calc(100% + 12px);
background: #fff;
box-shadow: 0 16px 48px rgba(0,0,0,0.15);
}
.desktop-right-cta--light .desktop-right-cta-dropdown a {
padding: 12px 14px;
font-weight: 600;
color: var(--text-primary);
text-decoration: none;
transition: var(--transition);
}
.desktop-right-cta--light .desktop-right-cta-chip { color: var(--gold); font-weight: 700; }
.desktop-right-cta.desktop-right-cta--dark { right: 20px; }
.desktop-right-cta--dark .desktop-right-cta-btn {
padding: 12px 16px;
background: rgba(10,15,30,0.94);
color: #f8fafc;
box-shadow: 0 8px 32px rgba(0,0,0,0.3);
min-width: 168px;
border-radius: var(--radius-md);
backdrop-filter: none;
}
.desktop-right-cta--dark .desktop-right-cta-btn.primary { background: var(--gold); color: #fff; border-color: transparent; }
.desktop-right-cta--dark .desktop-right-cta-btn:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.35); }
.desktop-right-cta--dark .desktop-right-cta-btn i { font-size: 16px; opacity: 1; }
.desktop-right-cta--dark .desktop-right-cta-dropdown {
right: calc(100% + 12px);
background: #fff;
box-shadow: 0 20px 50px rgba(0,0,0,0.2);
padding: 8px;
}
.desktop-right-cta--dark .desktop-right-cta-dropdown a { padding: 10px 12px; }
.desktop-right-cta--dark .desktop-right-cta-chip { color: var(--gold); font-weight: 900; } body.has-fixed-cta { padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)); }
body.ksl-page-index.has-fixed-cta { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
body.has-fixed-cta.ksl-cta-light { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
body.has-fixed-cta.ksl-cta-dark { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
.fixed-cta-bar {
position: fixed; left: 0; bottom: 0; width: 100%;
background: var(--navy);
border-top: 1px solid rgba(184,146,74,0.3);
border-top-left-radius: var(--radius-lg);
border-top-right-radius: var(--radius-lg);
box-shadow: 0 -8px 24px rgba(0,0,0,0.35);
z-index: 9999;
padding-bottom: env(safe-area-inset-bottom, 0px);
}
.fixed-cta-bar.fixed-cta-bar--light { box-shadow: 0 -8px 32px rgba(0,0,0,0.3); }
.fixed-cta-bar.fixed-cta-bar--dark {
border-top: 1px solid rgba(184,146,74,0.35);
box-shadow: 0 -8px 24px rgba(0,0,0,0.3);
}
.fixed-cta-inner { width: 100%; max-width: 1280px; margin: 0 auto; display: flex; align-items: stretch; flex-wrap: nowrap; }
.fixed-cta-inner > * { flex: 1 1 0; min-width: 0; }
.cta-dropdown-wrap, .cta-faq-wrap { position: relative; display: flex; }
.cta-dropdown-btn, #ctaFaq { width: 100%; height: 100%; }
.fixed-cta-bar--compact .cta-btn {
display: flex; align-items: center; justify-content: center;
flex-direction: column; gap: 3px;
padding: 12px 0; min-height: 58px;
border: none; border-right: 1px solid rgba(255,255,255,0.07);
background: var(--navy); color: rgba(255,255,255,0.88);
font-size: 11px; font-weight: 700;
white-space: nowrap; cursor: pointer; touch-action: manipulation;
transition: background 0.15s;
}
.fixed-cta-bar--compact .cta-btn.primary { background: var(--gold); color: var(--navy); }
.fixed-cta-bar--compact .cta-btn.primary:hover { background: var(--gold-light); }
.fixed-cta-bar--compact .cta-btn:hover { background: var(--navy-mid); }
body.ksl-page-index .fixed-cta-bar--compact .cta-btn { padding: 13px 0; font-size: 12px; }
.fixed-cta-bar--compact .cta-icon {
width: 22px; height: 22px;
display: flex; align-items: center; justify-content: center;
font-size: 13px; font-weight: 800;
background: rgba(255,255,255,0.1); color: var(--gold-light);
}
.fixed-cta-bar--compact .cta-btn.primary .cta-icon { background: rgba(10,15,30,0.18); color: var(--navy); }
.fixed-cta-bar--compact .cta-label-main { font-size: 11px; font-weight: 700; }
.fixed-cta-bar--compact .arrow { font-size: 9px; opacity: 0.7; }
.fixed-cta-bar--compact .cta-dropdown,
.fixed-cta-bar--compact #ctaFaqBox {
display: none;
position: absolute; bottom: calc(58px + env(safe-area-inset-bottom, 0px));
left: 0; width: 100%;
background: var(--bg-card); border: 1px solid var(--border-light);
border-radius: var(--radius-lg);
box-shadow: 0 -8px 24px rgba(10,15,30,0.18); z-index: 2;
}
.fixed-cta-bar--compact .cta-dropdown.open,
.fixed-cta-bar--compact #ctaFaqBox.open { display: block; }
.fixed-cta-bar--compact .cta-dropdown a,
.fixed-cta-bar--compact #ctaFaqBox a {
padding: 11px 14px; display: flex; align-items: center; gap: 8px;
font-size: 13px; font-weight: 700; color: var(--navy);
border-bottom: 1px solid var(--border-subtle);
}
.fixed-cta-bar--compact .cta-dropdown a:last-child,
.fixed-cta-bar--compact #ctaFaqBox a:last-child { border-bottom: none; }
.fixed-cta-bar--compact .sub-icon {
width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
background: var(--navy); color: var(--gold-light); font-size: 11px; font-weight: 800; flex-shrink: 0;
}
.fixed-cta-bar--light .cta-btn {
display: flex; align-items: center; justify-content: center; gap: 6px;
border-radius: 0; padding: 14px 0; min-height: 56px;
border: none; background: var(--navy); color: #e0e0e0;
text-decoration: none; font-size: 12px; font-weight: 600;
white-space: nowrap; cursor: pointer; touch-action: manipulation;
transition: background 0.16s ease;
border-right: 1px solid rgba(255,255,255,0.06);
}
.fixed-cta-bar--light .cta-btn:last-child { border-right: none; }
.fixed-cta-bar--light .cta-btn.primary { background: var(--gold); color: var(--navy); font-weight: 700; }
.fixed-cta-bar--light .cta-icon {
width: 20px; height: 20px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 11px; font-weight: 700;
background: rgba(255,255,255,0.1); color: var(--gold);
}
.fixed-cta-bar--light .cta-btn.primary .cta-icon { background: rgba(10,15,30,0.15); color: var(--navy); }
.fixed-cta-bar--light .cta-label-sub { font-size: 10px; opacity: 0.7; }
.fixed-cta-bar--light .cta-dropdown {
display: none; position: absolute;
bottom: calc(56px + env(safe-area-inset-bottom, 0px));
left: 0; width: 100%;
background: #fff; border: none;
border-radius: var(--radius-lg);
box-shadow: 0 -12px 40px rgba(0,0,0,0.2); z-index: 2;
}
.fixed-cta-bar--light .cta-dropdown.open { display: block; }
.fixed-cta-bar--light .cta-dropdown a {
padding: 14px 16px; display: flex; align-items: center; gap: 10px;
font-size: 14px; color: var(--text-primary); font-weight: 600;
text-decoration: none; border-bottom: 1px solid var(--border-subtle);
}
.fixed-cta-bar--light .cta-dropdown a:last-child { border-bottom: none; }
.fixed-cta-bar--light .cta-dropdown a:hover { background: var(--bg-warm); }
.fixed-cta-bar--light .sub-icon {
width: 20px; height: 20px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
background: var(--navy); color: var(--gold); font-size: 10px; font-weight: 700;
}
.fixed-cta-bar--light #ctaFaqBox {
display: none; position: absolute;
bottom: calc(56px + env(safe-area-inset-bottom, 0px));
left: 0; width: 100%;
background: #fff; border: none;
border-radius: var(--radius-lg);
box-shadow: 0 -12px 40px rgba(0,0,0,0.2); z-index: 2;
}
.fixed-cta-bar--light #ctaFaqBox.open { display: block; }
.fixed-cta-bar--light #ctaFaqBox a {
padding: 14px 16px; display: flex;
font-size: 14px; color: var(--text-primary); font-weight: 600;
text-decoration: none; border-bottom: 1px solid var(--border-subtle);
}
.fixed-cta-bar--light #ctaFaqBox a:last-child { border-bottom: none; }
.fixed-cta-bar--light #ctaFaqBox a:hover { background: var(--bg-warm); }
.fixed-cta-bar--dark .cta-btn {
display: flex; align-items: center; justify-content: center;
gap: 6px; border-radius: 0; padding: 14px 0; min-height: 60px;
border: none; border-right: 1px solid rgba(255,255,255,0.06);
background: var(--navy); color: rgba(255,255,255,0.85);
text-decoration: none; font-size: 13px; font-weight: 700;
white-space: nowrap; cursor: pointer; touch-action: manipulation;
transition: background 0.16s ease;
}
.fixed-cta-bar--dark .cta-btn:last-child { border-right: none; }
.fixed-cta-bar--dark .cta-btn.primary { background: var(--gold); color: #fff; border-right-color: rgba(255,255,255,0.1); }
.fixed-cta-bar--dark .cta-btn.primary:hover { background: var(--gold-light); }
.fixed-cta-bar--dark .cta-icon {
width: 20px; height: 20px;
display: flex; align-items: center; justify-content: center;
font-size: 12px; background: rgba(255,255,255,0.12); color: #fff;
}
.fixed-cta-bar--dark .cta-btn.primary .cta-icon { background: rgba(0,0,0,0.15); }
.fixed-cta-bar--dark .cta-label-sub { font-size: 11px; opacity: 0.7; }
.fixed-cta-bar--dark .cta-dropdown,
.fixed-cta-bar--dark #ctaFaqBox {
display: none; position: absolute;
bottom: calc(60px + env(safe-area-inset-bottom, 0px));
left: 0; width: 100%;
border-radius: var(--radius-lg);
background: #fff; box-shadow: 0 -12px 32px rgba(0,0,0,0.2); z-index: 2;
}
.fixed-cta-inner > :first-child .cta-btn { border-top-left-radius: var(--radius-lg); }
.fixed-cta-inner > :last-child .cta-btn { border-top-right-radius: var(--radius-lg); }
.fixed-cta-bar--dark .cta-dropdown.open,
.fixed-cta-bar--dark #ctaFaqBox.open { display: block; }
.fixed-cta-bar--dark .cta-dropdown a {
padding: 12px 16px; display: flex; align-items: center; gap: 8px;
font-size: 13px; color: var(--navy); text-decoration: none;
border-bottom: 1px solid var(--border-subtle); font-weight: 600;
}
.fixed-cta-bar--dark .cta-dropdown a:last-child { border-bottom: none; }
.fixed-cta-bar--dark #ctaFaqBox a {
padding: 12px 16px; display: flex; font-size: 13px;
color: var(--navy); text-decoration: none;
border-bottom: 1px solid var(--border-subtle); font-weight: 600;
}
.fixed-cta-bar--dark #ctaFaqBox a:last-child { border-bottom: none; }
.fixed-cta-bar--dark .sub-icon {
width: 18px; height: 18px;
display: flex; align-items: center; justify-content: center;
background: var(--navy); color: var(--gold); font-size: 11px; font-weight: 900;
} @media (min-width: 993px) {
.desktop-right-cta { display: block; }
.fixed-cta-bar { display: none; }
body.has-fixed-cta { padding-bottom: 0 !important; }
}
@media (max-width: 992px) {
.gnb {
position: fixed; top: var(--header-h); right: -100%;
width: min(100%, 360px); height: calc(100vh - var(--header-h));
background: var(--bg-card); flex-direction: column;
padding: 20px 0 40px; overflow-y: auto;
color: var(--navy);
border-left: 1px solid var(--border-light);
border-top-left-radius: var(--radius-lg);
border-bottom-left-radius: var(--radius-lg);
box-shadow: -4px 0 20px rgba(0,0,0,0.08);
transition: right 0.3s ease; z-index: 1000; align-items: flex-start; gap: 0;
}
.gnb.open { right: 0; }
.nav-list { flex-direction: column; width: 100%; height: auto; gap: 0; }
.nav-item { width: 100%; height: auto; flex-direction: column; align-items: flex-start; border-bottom: 1px solid var(--border-subtle); padding: 4px 0; }
.nav-link { width: calc(100% - 24px); height: auto; padding: 15px 18px; margin: 0 12px; font-size: 16px; border-radius: var(--radius-md); } .site-header .gnb .nav-link {
color: var(--navy);
font-weight: 800;
letter-spacing: -0.01em;
}
.site-header .gnb .nav-link:hover,
.site-header .gnb .nav-link.active {
background: rgba(184,146,74,0.14);
color: var(--navy);
}
.site-header .gnb .nav-item.active > .nav-link,
.site-header .gnb .menu-item-has-children.active > a {
background: rgba(184,146,74,0.14);
color: var(--navy);
}
.sub-menu {
position: static; width: calc(100% - 24px);
margin: 0 12px 8px;
box-shadow: none;
border: 1px solid var(--border-subtle);
border-radius: var(--radius-md);
background: var(--bg-warm);
opacity: 1; visibility: visible; transform: none;
padding: 6px; display: none;
}
.nav-item.active .sub-menu,
.menu-item-has-children.active .sub-menu { display: block; }
.sub-menu a { padding: 11px 20px; margin: 2px 6px; border-radius: var(--radius-sm); font-size: 14px; color: var(--navy); font-weight: 700; }
.sub-menu a:hover { background: rgba(184,146,74,0.12); color: var(--navy); }
.nav-cta { margin: 24px auto; width: calc(100% - 48px); text-align: center; height: 46px; justify-content: center; display: flex; }
.menu-toggle { display: flex; align-items: center; }
.site-header .gnb .nav-link:focus-visible,
.site-header .gnb .sub-menu a:focus-visible,
.site-header .gnb .nav-cta:focus-visible {
outline: 3px solid rgba(184,146,74,0.55);
outline-offset: -3px;
}
}
@media (max-width: 900px) {
.footer-inner { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 768px) {
html body { font-size: 16px; }
body.has-fixed-cta.ksl-cta-light { padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px)); }
body.has-fixed-cta.ksl-cta-dark { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
.fixed-cta-bar--light .cta-btn { padding: 10px 0; min-height: 52px; font-size: 11px; }
.fixed-cta-bar--light .cta-label-sub { display: none; }
.fixed-cta-bar--light .cta-dropdown,
.fixed-cta-bar--light #ctaFaqBox { bottom: calc(52px + env(safe-area-inset-bottom, 0px)); }
.fixed-cta-bar--dark .cta-btn { padding: 12px 0; min-height: 56px; font-size: 12px; }
.fixed-cta-bar--dark .cta-label-sub { display: none; }
.fixed-cta-bar--dark .cta-dropdown,
.fixed-cta-bar--dark #ctaFaqBox { bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 640px) {
.site-footer { padding: 40px 16px 28px; }
.footer-inner { grid-template-columns: 1fr; gap: 28px; }
.footer-quick { grid-template-columns: 1fr 1fr; }
.footer-bottom { flex-direction: column; align-items: flex-start; }
body .container,
body .inner,
body .header-inner { padding-left: 16px; padding-right: 16px; }
body .footer-desc,
body .footer-contact,
body .footer-links { font-size: 14px; }
body .footer-quick a { font-size: 13px; }
body .footer-notice,
body .footer-bottom { font-size: 13px; }
}:root {
--navy: #0a0f1e;
--navy-mid: #141b2d;
--navy-light: #1e2a3f;
--gold: #b8924a;
--gold-light: #d4b978;
--gold-muted: rgba(184,146,74,0.12);
--text-primary: #1a1a1a;
--text-secondary: #4a4a4a;
--text-muted: #777;
--text-light: #999;
--bg-page: #f6f4ef;
--bg-warm: #f1ede4;
--bg-card: #ffffff;
--border-light: #e8e5e0;
--border-subtle: #f0ede8;
--header-h: 108px;
--max-width: 1080px;
--font-serif: "Noto Serif KR", "Batang", serif;
--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
--transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
} *, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }
body {
padding-top: 0;
font-family: var(--font-sans);
color: var(--text-primary);
background: var(--bg-page);
line-height: 1.7;
font-size: 16px;
}
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul, li { list-style: none; padding: 0; margin: 0; }
button { cursor: pointer; border: none; font-family: inherit; }
img { max-width: 100%; display: block; }
strong { font-weight: 800; } .container { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }
.section-py { padding: 96px 0; } .section-kicker {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 12px;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--gold);
font-weight: 700;
margin-bottom: 12px;
position: relative;
}
.section-kicker::before {
content: '';
width: 34px;
height: 1px;
background: linear-gradient(to right, rgba(184,146,74,0.0), rgba(184,146,74,0.75));
}
.section-kicker::after {
content: '';
width: 34px;
height: 1px;
background: linear-gradient(to left, rgba(184,146,74,0.0), rgba(184,146,74,0.45));
}
.section-title {
font-family: var(--font-serif);
font-size: clamp(28px, 3.2vw, 40px);
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.02em;
color: var(--navy);
margin: 0 0 16px;
}
.section-desc {
font-size: 16px;
color: var(--text-secondary);
line-height: 1.85;
word-break: keep-all;
margin: 0;
}
.section-header {
margin-bottom: 52px;
} .site-header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
background: rgba(10,15,30,0.42);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(255,255,255,0.10);
box-shadow: none;
height: auto;
}
.header-topline {
background: rgba(10,15,30,0.58);
border-bottom: 1px solid rgba(184,146,74,0.22);
color: rgba(255,255,255,0.75);
font-size: 12px;
letter-spacing: 0.02em;
}
.header-topline-inner {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
}
.topline-copy { font-weight: 600; }
.topline-links {
display: flex;
align-items: center;
gap: 16px;
white-space: nowrap;
font-weight: 700;
}
.topline-links a {
display: inline-flex;
align-items: center;
gap: 6px;
color: rgba(255,255,255,0.82);
}
.topline-links a:hover { color: var(--gold-light); }
.header-inner {
height: 72px;
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
}
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-img { height: 34px; width: auto; }
.logo-text { display: flex; flex-direction: column; line-height: 1.2; }
.logo-main {
font-family: var(--font-serif);
font-size: 18px;
font-weight: 700;
color: rgba(255,255,255,0.95);
letter-spacing: -0.02em;
}
.logo-sub {
font-size: 10px;
color: rgba(255,255,255,0.68);
letter-spacing: 0.12em;
text-transform: uppercase;
}
.gnb { display: flex; align-items: center; gap: 24px; height: 100%; }
.nav-list { display: flex; gap: 4px; height: 100%; }
.nav-item { position: relative; height: 100%; display: flex; align-items: center; }
.nav-link {
display: inline-flex;
align-items: center;
height: 38px;
padding: 0 12px;
font-size: 14px;
font-weight: 700;
color: rgba(255,255,255,0.84);
border-radius: 6px;
}
.nav-link:hover, .nav-link.active { background: rgba(184,146,74,0.18); color: #fff; }
.sub-menu {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%) translateY(8px);
background: var(--bg-card);
min-width: 160px;
border: 1px solid var(--border-light);
box-shadow: 0 12px 32px rgba(10,15,30,0.12);
opacity: 0;
visibility: hidden;
transition: all 0.2s ease;
padding: 6px;
}
.nav-item:hover .sub-menu,
.nav-item.has-sub.active .sub-menu,
.nav-item.menu-item-has-children.active .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.sub-menu a {
display: block;
padding: 9px 12px;
font-size: 13px;
font-weight: 700;
color: var(--text-secondary);
}
.sub-menu a:hover { background: var(--bg-warm); color: var(--navy); }
.nav-cta {
height: 40px;
padding: 0 18px;
background: var(--gold);
color: var(--navy);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.01em;
}
.nav-cta:hover { background: var(--gold-light); }
.menu-toggle {
display: none;
width: 24px;
height: 18px;
position: relative;
z-index: 1100;
background: none;
padding: 0;
}
.menu-toggle span {
display: block;
width: 100%;
height: 2px;
background: rgba(255,255,255,0.95);
position: absolute;
left: 0;
transition: 0.3s;
}
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.menu-toggle span:nth-child(3) { bottom: 0; }
.menu-toggle.active span:nth-child(1) { top: 50%; transform: rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { bottom: auto; top: 50%; transform: rotate(-45deg); } .hero {
background-color: var(--navy) !important;
background-image:
linear-gradient(to right, transparent 0%, var(--gold) 50%, transparent 100%),
linear-gradient(90deg,
rgba(10,15,30,0.82) 0%,
rgba(10,15,30,0.55) 55%,
rgba(10,15,30,0.82) 100%),
url(//xn--4k0bz8yc2cipax5ws4w.com/wp-content/themes/i/assets/img/law-900.webp) !important;
background-size: 100% 2px, cover, cover !important;
background-position: left bottom, center, center !important;
background-repeat: no-repeat, no-repeat, no-repeat !important;
color: white;
position: relative;
padding: calc(var(--header-h) + clamp(64px, 9vw, 120px)) 0 110px;
overflow: hidden;
}
.hero-grid {
display: grid;
grid-template-columns: 1fr;
gap: 42px;
align-items: center;
position: relative;
z-index: 2;
}
.hero-content { max-width: 980px; margin: 0 auto; text-align: center; }
.hero-kicker {
display: block;
font-size: 12px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--gold-light);
font-weight: 700;
margin-bottom: 18px;
}
.hero-content h1 {
font-family: var(--font-serif);
font-size: clamp(36px, 4.8vw, 58px);
font-weight: 700;
line-height: 1.22;
letter-spacing: -0.02em;
margin: 0 0 20px;
color: #fff;
}
.hero-content h1 .highlight {
color: var(--gold-light);
}
.hero-content p {
font-size: 17px;
color: rgba(255,255,255,0.78);
line-height: 1.85;
margin: 0 0 32px;
word-break: keep-all;
}
.hero-trust-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
margin: 0 0 32px;
}
.hero-trust-list li {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 12px;
border: 1px solid rgba(184,146,74,0.3);
background: rgba(184,146,74,0.06);
color: rgba(255,255,255,0.82);
font-size: 13px;
font-weight: 700;
}
.hero-trust-list i { color: var(--gold-light); font-size: 11px; }
.btn-group { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 52px;
padding: 0 28px;
font-size: 15px;
font-weight: 700;
font-family: var(--font-sans);
cursor: pointer;
transition: var(--transition);
letter-spacing: -0.01em;
}
.btn-primary {
background: var(--gold);
color: var(--navy);
border: none;
}
.btn-primary:hover { background: var(--gold-light); transform: translateY(-1px); }
.btn-outline {
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.22);
color: rgba(255,255,255,0.9);
}
.btn-outline:hover { background: rgba(255,255,255,0.12); } .stats-bar {
background: var(--navy-mid);
border-bottom: 1px solid rgba(184,146,74,0.18);
}
.stats-bar-inner {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.stat-item {
padding: 30px 16px;
text-align: center;
border-right: 1px solid rgba(255,255,255,0.07);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.stat-item:last-child { border-right: none; }
.stat-num {
font-family: var(--font-serif);
font-size: clamp(24px, 2.8vw, 36px);
font-weight: 700;
color: var(--gold-light);
line-height: 1;
}
.stat-label {
font-size: 13px;
color: rgba(255,255,255,0.62);
line-height: 1.45;
word-break: keep-all;
} .credentials-section {
background: var(--navy);
color: #fff;
position: relative;
overflow: hidden;
border-top: 1px solid rgba(184,146,74,0.18);
}
.credentials-section::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 920px 620px at 12% 10%, rgba(184,146,74,0.18), transparent 70%),
radial-gradient(ellipse 760px 620px at 92% 90%, rgba(184,146,74,0.10), transparent 70%),
repeating-linear-gradient(60deg, transparent 0px, transparent 86px, rgba(184,146,74,0.04) 86px, rgba(184,146,74,0.04) 87px);
pointer-events: none;
z-index: 0;
}
.credentials-section .container { position: relative; z-index: 1; }
.credentials-section .section-title { color: #fff; }
.credentials-section .section-desc {
color: rgba(255,255,255,0.68);
max-width: 760px;
margin: 0 auto;
}
.credentials-section .section-desc strong { color: var(--gold-light); }
.credentials-section .cred-highlight { color: var(--gold-light); }
.credentials-header {
text-align: center;
margin-bottom: 56px;
}
.credentials-grid {
display: grid;
grid-template-columns: 1.05fr 1fr;
gap: 56px;
align-items: center;
}
.credentials-images {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 18px;
}
.credentials-images.credentials-images--single {
grid-template-columns: 1fr;
max-width: 340px;
margin: 0 auto;
}
.cert-frame {
margin: 0;
padding: 14px 14px 16px;
background: linear-gradient(180deg, rgba(184,146,74,0.18) 0%, rgba(184,146,74,0.04) 100%);
border: 1px solid rgba(184,146,74,0.32);
border-radius: var(--radius-lg);
box-shadow: 0 22px 50px rgba(0,0,0,0.45);
transition: var(--transition);
position: relative;
}
.cert-frame::after {
content: '';
position: absolute;
inset: 6px;
border: 1px solid rgba(184,146,74,0.18);
pointer-events: none;
border-radius: calc(var(--radius-lg) - 6px);
}
.cert-frame:hover {
transform: translateY(-4px);
box-shadow: 0 30px 64px rgba(0,0,0,0.55);
border-color: rgba(184,146,74,0.55);
}
.cert-img-wrap {
width: 100%;
aspect-ratio: 4 / 5;
overflow: hidden;
background: #fff;
border-radius: var(--radius-sm);
box-shadow: inset 0 0 0 1px rgba(10,15,30,0.08);
display: flex;
align-items: center;
justify-content: center;
padding: 6px;
}
.cert-img-wrap img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
display: block;
}
.cert-frame figcaption {
margin-top: 12px;
text-align: center;
display: flex;
flex-direction: column;
gap: 3px;
}
.cert-cap-eyebrow {
font-size: 10px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--gold-light);
font-weight: 700;
}
.cert-cap-title {
font-family: var(--font-serif);
font-size: 13px;
font-weight: 700;
color: rgba(255,255,255,0.92);
letter-spacing: -0.01em;
}
.credentials-list {
display: flex;
flex-direction: column;
gap: 14px;
}
.cred-card {
display: flex;
gap: 18px;
align-items: flex-start;
padding: 22px 24px;
background: rgba(255,255,255,0.045);
border: 1px solid rgba(255,255,255,0.10);
border-radius: var(--radius-lg);
transition: var(--transition);
}
.cred-card:hover {
background: rgba(184,146,74,0.08);
border-color: rgba(184,146,74,0.45);
transform: translateX(4px);
}
.cred-icon {
flex-shrink: 0;
width: 46px;
height: 46px;
background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);
color: var(--navy);
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
border-radius: var(--radius-md);
box-shadow: 0 6px 18px rgba(184,146,74,0.30);
}
.cred-text { flex: 1; min-width: 0; }
.cred-eyebrow {
display: block;
font-size: 10.5px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--gold-light);
font-weight: 700;
margin-bottom: 5px;
}
.cred-text h3 {
margin: 0 0 6px;
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: #fff;
letter-spacing: -0.01em;
line-height: 1.4;
}
.cred-text p {
margin: 0;
font-size: 13.5px;
color: rgba(255,255,255,0.66);
line-height: 1.7;
word-break: keep-all;
} .situation {
background: var(--bg-warm);
background-image:
radial-gradient(ellipse 720px 520px at 80% 10%, rgba(184,146,74,0.10), transparent 70%),
radial-gradient(ellipse 560px 420px at 10% 80%, rgba(10,15,30,0.04), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
.situation-wrapper {
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 72px;
align-items: center;
}
.situation-link {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 32px;
padding: 12px 20px;
background: var(--navy);
color: #fff;
font-weight: 700;
font-size: 14px;
transition: var(--transition);
border-radius: var(--radius-md);
}
.situation-link::after { content: '→'; }
.situation-link:hover { background: var(--navy-light); }
.check-list { display: flex; flex-direction: column; gap: 14px; }
.check-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 22px 26px;
display: flex;
gap: 18px;
align-items: flex-start;
transition: var(--transition);
border-radius: var(--radius-lg);
}
.check-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10,15,30,0.10) !important;
}
.check-icon {
flex-shrink: 0;
width: 34px;
height: 34px;
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
color: var(--gold-light);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
border-radius: var(--radius-md);
}
.check-content h4 {
margin: 0 0 5px;
font-size: 16px;
font-weight: 700;
color: var(--navy);
}
.check-content p {
margin: 0;
font-size: 14px;
color: var(--text-muted);
line-height: 1.65;
} .solutions {
background: var(--bg-page);
background-image:
radial-gradient(ellipse 760px 520px at 14% 18%, rgba(184,146,74,0.07), transparent 68%);
border-top: 1px solid var(--border-subtle);
}
.solution-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.sol-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 36px 28px;
display: flex;
flex-direction: column;
transition: var(--transition);
border-radius: var(--radius-lg);
}
.sol-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10,15,30,0.10) !important;
}
.sol-icon {
width: 52px;
height: 52px;
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
color: var(--gold-light);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
margin-bottom: 22px;
border-radius: var(--radius-md);
}
.sol-title {
font-family: var(--font-serif);
font-size: 22px;
font-weight: 700;
color: var(--navy);
margin: 0 0 14px;
}
.sol-desc {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.75;
margin: 0 0 22px;
flex-grow: 1;
}
.sol-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 700;
color: var(--gold);
letter-spacing: 0.02em;
padding: 8px 0;
border-bottom: 1px solid rgba(184,146,74,0.3);
transition: var(--transition);
}
.sol-link::after { content: '→'; font-size: 14px; }
.sol-link:hover { color: var(--navy); border-bottom-color: var(--navy); } .process-section {
background: var(--navy);
color: white;
position: relative;
overflow: hidden;
}
.process-section::before {
content: '';
position: absolute;
inset: -20%;
background:
radial-gradient(ellipse 900px 680px at 70% 10%, rgba(184,146,74,0.18), transparent 70%),
radial-gradient(ellipse 780px 720px at 10% 90%, rgba(184,146,74,0.08), transparent 70%),
repeating-linear-gradient(60deg, transparent 0px, transparent 86px, rgba(184,146,74,0.05) 86px, rgba(184,146,74,0.05) 87px),
repeating-linear-gradient(-60deg, transparent 0px, transparent 86px, rgba(184,146,74,0.04) 86px, rgba(184,146,74,0.04) 87px);
opacity: 0.9;
pointer-events: none;
z-index: 0;
}
.process-section .container { position: relative; z-index: 1; }
.process-section .section-title { color: #fff; }
.process-section .section-desc { color: rgba(255,255,255,0.6); }
.process-steps {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
margin-top: 0;
}
.p-step {
border: 1px solid rgba(255,255,255,0.1);
background: rgba(255,255,255,0.04);
padding: 20px 16px;
display: flex;
align-items: flex-start;
gap: 14px;
transition: var(--transition);
}
.p-step:hover {
border-color: rgba(184,146,74,0.45);
background: rgba(255,255,255,0.06);
transform: translateY(-1px);
}
.p-num {
flex-shrink: 0;
width: 40px;
height: 40px;
background: rgba(255,255,255,0.06);
border: 1px solid rgba(184,146,74,0.5);
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
color: var(--gold-light);
font-size: 16px;
transition: var(--transition);
}
.p-step:hover .p-num { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.p-copy { display: flex; flex-direction: column; gap: 6px; }
.p-title { font-size: 15px; font-weight: 700; color: #fff; line-height: 1.4; }
.p-text { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.6; word-break: keep-all; } .profile-section {
background: var(--bg-card);
border-top: 1px solid var(--border-subtle);
}
.profile-editorial {
max-width: 820px;
margin: 0 auto;
text-align: center;
}
.profile-editorial .section-kicker { margin-bottom: 20px; }
.profile-quote {
font-family: var(--font-serif);
font-size: clamp(26px, 3.2vw, 40px);
font-weight: 700;
color: var(--navy);
line-height: 1.42;
margin: 0 0 44px;
letter-spacing: -0.02em;
position: relative;
}
.profile-quote::before {
content: '\201C';
position: absolute;
top: -0.15em; left: -0.22em;
font-size: 3.6em;
color: rgba(184,146,74,0.13);
font-family: var(--font-serif);
line-height: 1;
pointer-events: none;
}
.profile-quote .gold { color: var(--gold); }
.profile-body-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
text-align: left;
border-top: 1px solid var(--border-subtle);
padding-top: 32px;
margin-bottom: 36px;
}
.profile-sig {
display: inline-flex;
align-items: center;
gap: 16px;
border-top: 1px solid var(--border-subtle);
padding-top: 28px;
text-align: left;
}
.profile-sig-img {
width: 52px;
height: 52px;
object-fit: cover;
object-position: top center;
border: 1px solid var(--border-light);
flex-shrink: 0;
}
.profile-sig-title {
font-size: 11px;
letter-spacing: 0.08em;
color: var(--text-muted);
margin-bottom: 3px;
text-transform: uppercase;
}
.profile-sig-name {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: var(--navy);
} .cases-section {
background: var(--bg-warm);
background-image:
radial-gradient(ellipse 820px 560px at 80% 20%, rgba(184,146,74,0.09), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
.cases-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.case-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
overflow: hidden;
transition: var(--transition);
border-radius: var(--radius-lg);
}
.case-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10,15,30,0.10) !important;
}
.case-img-wrap {
width: 100%;
height: 220px;
overflow: hidden;
position: relative;
}
.case-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
.case-card:hover .case-img-wrap img { transform: scale(1.04); }
.case-badge {
position: absolute;
top: 14px; left: 14px;
background: rgba(10,15,30,0.88);
color: var(--gold-light);
padding: 4px 10px;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.04em;
border: 1px solid rgba(184,146,74,0.3);
border-radius: var(--radius-sm);
}
.case-content { padding: 24px; }
.case-head {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
line-height: 1.45;
color: var(--navy);
margin: 0 0 8px;
}
.case-meta {
display: block;
font-size: 12px;
color: var(--text-light);
margin-bottom: 14px;
padding-bottom: 14px;
border-bottom: 1px solid var(--border-subtle);
}
.case-result {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.7;
}
.case-result strong {
color: var(--gold);
background: var(--gold-muted);
padding: 1px 4px;
} .reviews-section {
background: var(--bg-page);
background-image:
radial-gradient(ellipse 740px 520px at 18% 12%, rgba(184,146,74,0.06), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
.review-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}
.review-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 28px;
transition: var(--transition);
border-radius: var(--radius-lg);
}
.review-card:hover {
border-color: rgba(184,146,74,0.55);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10,15,30,0.10) !important;
}
.stars { color: var(--gold); margin-bottom: 14px; font-size: 12px; letter-spacing: 2px; }
.review-text {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.75;
margin: 0 0 16px;
position: relative;
padding-top: 16px;
}
.review-text::before {
content: '"';
position: absolute;
top: -6px; left: -2px;
font-family: var(--font-serif);
font-size: 32px;
line-height: 1;
color: rgba(184,146,74,0.35);
}
.review-author { font-size: 13px; font-weight: 700; color: var(--navy); } .consult-card {
background: var(--navy);
padding: 80px 0;
position: relative;
overflow: hidden;
}
.consult-card::before {
content: '';
position: absolute;
inset: -20%;
background:
radial-gradient(ellipse 820px 560px at 60% 12%, rgba(184,146,74,0.20), transparent 70%),
radial-gradient(ellipse 720px 620px at 20% 86%, rgba(184,146,74,0.10), transparent 70%);
pointer-events: none;
z-index: 0;
}
.consult-card > * { position: relative; z-index: 1; }
.consult-kicker {
display: block;
font-size: 11px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--gold);
font-weight: 700;
margin-bottom: 16px;
}
.consult-title {
font-family: var(--font-serif);
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
color: #fff;
line-height: 1.35;
letter-spacing: -0.02em;
margin: 0 0 16px;
}
.consult-desc {
font-size: 16px;
color: rgba(255,255,255,0.65);
line-height: 1.8;
margin: 0 0 32px;
word-break: keep-all;
}
.consult-btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 52px;
padding: 0 32px;
background: var(--gold);
color: var(--navy);
font-size: 15px;
font-weight: 700;
font-family: var(--font-sans);
transition: var(--transition);
}
.consult-btn:hover { background: var(--gold-light); }
.consult-cta-group {
display: flex;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
margin-bottom: 0;
}
.consult-btn-tel {
display: inline-flex;
align-items: center;
gap: 8px;
height: 52px;
padding: 0 28px;
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.28);
color: rgba(255,255,255,0.92);
font-size: 15px;
font-weight: 700;
font-family: var(--font-sans);
transition: var(--transition);
}
.consult-btn-tel:hover { background: rgba(255,255,255,0.16); }
.consult-note {
display: block;
margin-top: 16px;
font-size: 13px;
color: rgba(255,255,255,0.4);
} .consult-form-grid {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: 32px;
align-items: start;
}
.consult-copy { text-align: left; }
.consult-copy .consult-desc { margin-bottom: 0; }
.consult-phone-row { display: grid; gap: 12px; margin-top: 24px; }
.consult-phone-link {
display: inline-flex;
align-items: center;
gap: 8px;
color: rgba(255,255,255,0.92);
font-weight: 800;
text-decoration: none;
width: fit-content;
}
.consult-phone-link:hover { color: #fff; }
.consult-form-section .consult-note { margin-top: 0; }
.consult-form-card {
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.16);
padding: 26px;
box-shadow: 0 18px 44px rgba(0,0,0,0.22);
border-radius: var(--radius-lg);
}
.consult-form { display: grid; gap: 14px; position: relative; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.consult-form .form-grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.consult-form .form-group { display: flex; flex-direction: column; gap: 8px; text-align: left; }
.consult-form .form-label { font-size: 13px; font-weight: 800; color: rgba(255,255,255,0.88); }
.consult-form .form-input, .consult-form .form-select, .consult-form .form-textarea {
padding: 12px 13px;
border: 1px solid rgba(255,255,255,0.18);
font-size: 15px;
font-family: var(--font-sans);
transition: var(--transition);
width: 100%;
line-height: 1.55;
background: rgba(255,255,255,0.06);
color: rgba(255,255,255,0.92);
border-radius: var(--radius-md);
}
.consult-form .form-input::placeholder, .consult-form .form-textarea::placeholder { color: rgba(255,255,255,0.45); }
.consult-form .form-input:focus, .consult-form .form-select:focus, .consult-form .form-textarea:focus {
border-color: var(--gold);
outline: none;
box-shadow: 0 0 0 3px rgba(184,146,74,0.20);
}
.consult-form .form-textarea { resize: vertical; min-height: 130px; }
.consult-form .privacy-check { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: rgba(255,255,255,0.85); cursor: pointer; }
.consult-form .privacy-check input { accent-color: var(--gold); }
.consult-form .consult-submit { width: 100%; border: none; cursor: pointer; }
.consult-form .consult-submit:disabled { opacity: 0.7; cursor: not-allowed; }
.consult-form-hint { margin: 0; font-size: 13px; color: rgba(255,255,255,0.55); text-align: center; }
.contact-receipt-note {
background: rgba(184,146,74,0.12);
border: 1px solid rgba(184,146,74,0.22);
padding: 12px 14px;
font-size: 13px;
color: rgba(255,255,255,0.92);
line-height: 1.6;
border-radius: var(--radius-md);
}
.contact-receipt-note a { color: var(--gold-light); text-decoration: underline; } .site-footer {
background: #050a14;
color: #e5e7eb;
padding: 56px 24px 34px;
border-top: 1px solid rgba(255,255,255,0.05);
font-family: var(--font-sans);
}
.footer-inner {
max-width: var(--max-width);
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 1fr 1fr;
gap: 28px;
align-items: start;
}
.footer-brand { display: flex; flex-direction: column; gap: 12px; }
.footer-logo { display: flex; align-items: center; gap: 12px; }
.footer-logo-img { width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.footer-logo-text { display: flex; flex-direction: column; gap: 2px; }
.footer-logo-main {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: #f0ede8;
letter-spacing: -0.02em;
}
.footer-logo-sub { font-size: 11px; color: #9ca3af; letter-spacing: 0.06em; }
.footer-desc { font-size: 13px; line-height: 1.75; color: #9ca3af; }
.footer-contact { font-size: 13px; line-height: 1.85; color: #d1d5db; }
.footer-contact .label { color: var(--gold); font-weight: 700; margin-right: 6px; }
.footer-col h4 { font-size: 14px; font-weight: 700; margin: 0 0 12px; color: #f8f8f6; }
.footer-links { display: grid; gap: 7px; font-size: 13px; }
.footer-links a { color: #d1d5db; opacity: 0.85; }
.footer-links a:hover { color: var(--gold-light); opacity: 1; }
.footer-quick { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.footer-quick a {
display: flex;
align-items: center;
gap: 7px;
padding: 8px 10px;
background: rgba(255,255,255,0.04);
color: #d1d5db;
font-size: 12px;
font-weight: 700;
}
.footer-quick a:hover { background: rgba(184,146,74,0.1); color: var(--gold-light); }
.footer-line {
max-width: var(--max-width);
margin: 26px auto 16px;
height: 1px;
background: rgba(255,255,255,0.07);
}
.footer-notice { max-width: var(--max-width); margin: 0 auto; font-size: 12px; line-height: 1.8; color: #6b7280; }
.footer-bottom {
max-width: var(--max-width);
margin: 14px auto 0;
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: space-between;
align-items: center;
font-size: 12px;
color: #6b7280;
} .desktop-right-cta {
position: fixed;
right: 18px;
top: 50%;
transform: translateY(-50%);
z-index: 9998;
display: none;
}
.desktop-right-cta-stack { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.desktop-right-cta-btn {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 14px;
background: rgba(10,15,30,0.93);
color: #f0ede8;
text-decoration: none;
box-shadow: 0 8px 28px rgba(0,0,0,0.3);
border: 1px solid rgba(255,255,255,0.08);
border-radius: var(--radius-md);
transition: var(--transition);
min-width: 164px;
backdrop-filter: blur(10px);
}
.desktop-right-cta-btn.primary { background: var(--gold); color: var(--navy); border-color: transparent; }
.desktop-right-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(0,0,0,0.35); }
.desktop-right-cta-btn i { font-size: 17px; width: 20px; text-align: center; }
.desktop-right-cta-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.desktop-right-cta-text .main { font-weight: 800; font-size: 13px; line-height: 1.1; white-space: nowrap; }
.desktop-right-cta-text .sub { font-weight: 600; font-size: 11px; opacity: 0.75; white-space: nowrap; }
.desktop-right-cta-text .sub.mono { font-feature-settings: "tnum"; letter-spacing: 0.02em; }
.desktop-right-cta-details { position: relative; }
.desktop-right-cta-details > summary { list-style: none; }
.desktop-right-cta-details > summary::-webkit-details-marker { display: none; }
.desktop-right-cta-arrow { margin-left: auto; font-size: 12px; opacity: 0.7; transition: transform 0.2s ease; }
.desktop-right-cta-details[open] .desktop-right-cta-arrow { transform: rotate(180deg); }
.desktop-right-cta-dropdown {
position: absolute;
right: calc(100% + 10px);
top: 50%;
transform: translateY(-50%);
width: 220px;
background: var(--bg-card);
border: 1px solid var(--border-light);
box-shadow: 0 16px 48px rgba(10,15,30,0.2);
border-radius: var(--radius-lg);
overflow: hidden;
padding: 6px;
}
.desktop-right-cta-dropdown a {
display: flex;
align-items: center;
gap: 10px;
padding: 9px 11px;
font-weight: 700;
font-size: 13px;
color: var(--navy);
}
.desktop-right-cta-dropdown a:hover { background: var(--bg-warm); }
.desktop-right-cta-chip {
width: 22px; height: 22px;
display: inline-flex; align-items: center; justify-content: center;
background: var(--navy); color: var(--gold-light);
font-size: 11px; font-weight: 800; flex-shrink: 0;
border-radius: var(--radius-sm);
} .fade-section { opacity: 0; transform: translateY(22px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-section.visible { opacity: 1; transform: none; } @media (min-width: 993px) {
.desktop-right-cta { display: block; }
}
@media (max-width: 992px) {
:root { --header-h: 72px; }
.header-topline { display: none; }
.gnb {
position: fixed;
top: 72px; right: -100%;
width: min(100%, 360px);
height: calc(100vh - 72px);
background: var(--bg-card);
flex-direction: column;
padding: 20px 0 40px;
overflow-y: auto;
border-left: 1px solid var(--border-light);
box-shadow: -4px 0 20px rgba(0,0,0,0.08);
transition: right 0.3s ease;
z-index: 1000;
align-items: flex-start;
gap: 0;
}
.gnb.open { right: 0; }
.nav-list { flex-direction: column; width: 100%; height: auto; gap: 0; }
.nav-item { width: 100%; height: auto; flex-direction: column; align-items: flex-start; border-bottom: 1px solid var(--border-subtle); }
.nav-link { width: 100%; height: auto; padding: 15px 24px; font-size: 16px; border-radius: var(--radius-md); }
.sub-menu { position: static; width: 100%; box-shadow: none; border: none; border-top: 1px solid var(--border-subtle); background: var(--bg-warm); opacity: 1; visibility: visible; transform: none; padding: 6px; display: none; }
.nav-item.active .sub-menu { display: block; }
.sub-menu a { padding: 11px 32px; font-size: 14px; }
.nav-cta { margin: 24px auto; width: calc(100% - 48px); text-align: center; height: 46px; justify-content: center; }
.menu-toggle { display: flex; align-items: center; }
body { overflow-x: hidden; }
.hero-grid { grid-template-columns: 1fr; gap: 40px; }
.hero { text-align: center; }
.btn-group { justify-content: center; }
.hero-trust-list { justify-content: center; }
.credentials-grid { grid-template-columns: 1fr; gap: 44px; }
.credentials-images { max-width: 560px; margin: 0 auto; width: 100%; }
.credentials-header { margin-bottom: 44px; }
.situation-wrapper { grid-template-columns: 1fr; gap: 48px; }
.solution-grid { grid-template-columns: 1fr; }
.process-steps { grid-template-columns: repeat(3, 1fr); }
.profile-grid { grid-template-columns: 1fr; gap: 32px; padding: 32px; }
.cases-grid { grid-template-columns: 1fr; }
.review-grid { grid-template-columns: 1fr; }
.consult-form-grid { grid-template-columns: 1fr; gap: 24px; }
.consult-copy { text-align: center; }
.consult-phone-row { justify-items: center; }
.consult-form-card { max-width: 640px; margin: 0 auto; }
.consult-form .form-grid-two { grid-template-columns: 1fr; }
.consult-form .form-label { font-size: 14px; }
.consult-form .form-input, .consult-form .form-select, .consult-form .form-textarea { font-size: 16px; line-height: 1.6; }
.consult-note, .consult-form-hint, .contact-receipt-note { font-size: 14px; line-height: 1.7; }
}
@media (max-width: 640px) {
body { font-size: 16px; }
.section-py { padding: 64px 0; }
.btn { width: 100%; }
.btn-group { flex-direction: column; }
.process-steps { grid-template-columns: 1fr; }
.consult-card { padding: 64px 0; }
.consult-form-card { padding: 20px; }
.stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
.credentials-images { grid-template-columns: 1fr; gap: 16px; max-width: 360px; }
.cred-card { padding: 18px 18px; gap: 14px; }
.cred-icon { width: 40px; height: 40px; font-size: 16px; }
.cred-text h3 { font-size: 16px; }
.stat-item:nth-child(2) { border-right: none; }
.stat-item:nth-child(3) { border-top: 1px solid rgba(255,255,255,0.07); }
.stat-item:nth-child(4) { border-top: 1px solid rgba(255,255,255,0.07); }
.profile-body-cols { grid-template-columns: 1fr; gap: 16px; }
.footer-inner { grid-template-columns: 1fr; }
.footer-quick { grid-template-columns: 1fr 1fr; }
.footer-bottom { flex-direction: column; align-items: flex-start; }
.site-footer { padding: 40px 16px 28px; }
}
@media (max-width: 1180px) {
.process-steps { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
.footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
.fade-section { opacity: 1; transform: none; transition: none; }
.desktop-right-cta-btn, .desktop-right-cta-arrow { transition: none !important; }
}:root {
--navy: #0a0f1e;
--navy-mid: #141b2d;
--navy-light: #1e2a3f;
--gold: #b8924a;
--gold-light: #d4b978;
--gold-muted: rgba(184, 146, 74, 0.12);
--text-primary: #1a1a1a;
--text-secondary: #4a4a4a;
--text-muted: #777;
--text-light: #999;
--bg-page: #f8f7f5;
--bg-warm: #f5f3ef;
--bg-card: #ffffff;
--border-light: #e8e5e0;
--border-subtle: #f0ede8;
--header-h: 72px;
--max-width: 1080px;
--font-serif: "Noto Serif KR", "Batang", serif;
--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
--shadow-md: 0 4px 20px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.08);
--shadow-float: 0 20px 50px -12px rgba(10, 15, 30, 0.18);
--shadow-card: 0 4px 20px rgba(0, 0, 0, 0.05);
--transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
} body.ksl-page-index {
--header-h: 108px;
--bg-page: #f6f4ef;
--bg-warm: #f1ede4;
} *, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
font-family: var(--font-sans);
color: var(--text-primary);
background-color: var(--bg-page);
line-height: 1.7;
font-size: 16px;
padding-top: var(--header-h);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} body.ksl-page-index { padding-top: 0; }
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul, li { list-style: none; padding: 0; margin: 0; }
button { cursor: pointer; border: none; font-family: inherit; background: none; }
img { max-width: 100%; display: block; }
strong { font-weight: 800; }
.container,
.inner {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
}
.skip-link {
position: absolute;
top: -100px;
left: 50%;
transform: translateX(-50%);
background: var(--navy);
color: #fff;
padding: 12px 24px;
z-index: 10000;
font-size: 14px;
font-weight: 600;
}
.skip-link:focus { top: 8px; } .section-py { padding: 100px 0; }
body.ksl-page-index .section-py { padding: 96px 0; }
.section-header {
text-align: left;
margin-bottom: 52px;
}
body:not(.ksl-page-index) .section-header {
text-align: center;
max-width: 700px;
margin: 0 auto 60px;
}
.section-kicker {
color: var(--gold);
font-weight: 700;
font-size: 11px;
letter-spacing: 0.15em;
text-transform: uppercase;
display: inline-block;
margin-bottom: 12px;
} body.ksl-page-index .section-kicker {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 12px;
position: relative;
}
body.ksl-page-index .section-kicker::before {
content: '';
width: 34px;
height: 1px;
background: linear-gradient(to right, rgba(184, 146, 74, 0), rgba(184, 146, 74, 0.75));
}
body.ksl-page-index .section-kicker::after {
content: '';
width: 34px;
height: 1px;
background: linear-gradient(to left, rgba(184, 146, 74, 0), rgba(184, 146, 74, 0.45));
}
.section-title,
.section-heading {
font-family: var(--font-serif);
font-size: clamp(28px, 3.2vw, 40px);
font-weight: 700;
line-height: 1.3;
letter-spacing: -0.02em;
color: var(--navy);
margin: 0 0 16px;
word-break: keep-all;
}
.section-desc {
font-size: 16px;
color: var(--text-secondary);
line-height: 1.85;
word-break: keep-all;
margin: 0;
}
body:not(.ksl-page-index) .section-desc {
font-size: 15px;
color: var(--text-muted);
line-height: 1.75;
} .btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 52px;
padding: 0 28px;
font-size: 15px;
font-weight: 700;
font-family: var(--font-sans);
cursor: pointer;
transition: var(--transition);
letter-spacing: -0.01em;
text-decoration: none;
border: 1px solid transparent;
}
.btn-primary {
background: var(--gold);
color: var(--navy);
}
.btn-primary:hover {
background: var(--gold-light);
transform: translateY(-1px);
}
.btn-outline {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(255, 255, 255, 0.22);
color: rgba(255, 255, 255, 0.9);
}
.btn-outline:hover { background: rgba(255, 255, 255, 0.12); }
.btn-group {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
body.ksl-page-index .btn-group { justify-content: center; } .site-header {
background: #fff;
height: var(--header-h);
border-bottom: 1px solid var(--border-light);
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
}
.header-inner {
max-width: var(--max-width);
margin: 0 auto;
height: 100%;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
}
.logo-area {
display: flex;
align-items: center;
gap: 12px;
}
.logo-img { height: 36px; width: auto; }
.logo-text {
display: flex;
flex-direction: column;
line-height: 1.2;
}
.logo-main {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: var(--navy);
letter-spacing: -0.01em;
}
.logo-sub {
font-size: 11px;
color: var(--text-muted);
letter-spacing: 0.06em;
font-weight: 500;
}
.gnb {
display: flex;
align-items: center;
gap: 28px;
height: 100%;
}
.nav-list {
display: flex;
gap: 6px;
height: 100%;
}
.nav-item {
position: relative;
height: 100%;
display: flex;
align-items: center;
}
.nav-link {
font-size: 15px;
font-weight: 600;
color: var(--text-secondary);
padding: 0 10px;
position: relative;
letter-spacing: -0.01em;
background: transparent;
border: 0;
appearance: none;
display: inline-flex;
align-items: center;
height: 100%;
cursor: pointer;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 10px;
right: 10px;
height: 2px;
background: var(--gold);
transform: scaleX(0);
transition: transform 0.3s ease;
}
.nav-link:hover { color: var(--navy); }
.nav-link:hover::after,
.nav-link.active::after { transform: scaleX(1); }
.nav-link.active {
color: var(--navy);
font-weight: 700;
}
.sub-menu {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%) translateY(8px);
background: #fff;
min-width: 180px;
border-radius: 8px;
box-shadow: var(--shadow-lg);
border: 1px solid var(--border-light);
opacity: 0;
visibility: hidden;
transition: all 0.2s ease;
padding: 6px 0;
}
.nav-item:hover .sub-menu {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.sub-menu a {
display: block;
padding: 10px 20px;
font-size: 14px;
color: var(--text-secondary);
font-weight: 500;
}
.sub-menu a:hover {
background: var(--bg-warm);
color: var(--navy);
font-weight: 600;
}
.nav-cta {
padding: 10px 24px;
background: var(--navy);
color: #fff;
font-size: 13px;
font-weight: 700;
border-radius: 6px;
letter-spacing: 0.02em;
transition: var(--transition);
display: inline-flex;
align-items: center;
height: 40px;
}
.nav-cta:hover { background: var(--navy-light); }
.menu-toggle {
display: none;
width: 24px;
height: 18px;
position: relative;
z-index: 1100;
background: none;
padding: 0;
}
.menu-toggle span {
display: block;
width: 100%;
height: 1.5px;
background: var(--navy);
position: absolute;
left: 0;
transition: 0.3s;
}
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
.menu-toggle span:nth-child(3) { bottom: 0; }
.menu-toggle.active span:nth-child(1) { top: 50%; transform: rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) {
bottom: auto;
top: 50%;
transform: rotate(-45deg);
} .site-header.site-header--hero {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
height: auto;
background: rgba(10, 15, 30, 0.42);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(255, 255, 255, 0.10);
box-shadow: none;
}
.site-header--hero .header-inner { height: 72px; }
.site-header--hero .logo-main { color: rgba(255, 255, 255, 0.95); font-size: 18px; }
.site-header--hero .logo-sub {
color: rgba(255, 255, 255, 0.68);
font-size: 10px;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.site-header--hero .logo-img { height: 34px; }
.site-header--hero .gnb { gap: 24px; }
.site-header--hero .nav-list { gap: 4px; }
.site-header--hero .nav-link {
display: inline-flex;
align-items: center;
height: 38px;
padding: 0 12px;
font-size: 14px;
font-weight: 700;
color: rgba(255, 255, 255, 0.84);
border-radius: 6px;
}
.site-header--hero .nav-link::after { display: none; }
.site-header--hero .nav-link:hover,
.site-header--hero .nav-link.active {
background: rgba(184, 146, 74, 0.18);
color: #fff;
}
.site-header--hero .nav-cta {
background: var(--gold);
color: var(--navy);
border-radius: 0;
font-size: 13px;
height: 40px;
padding: 0 18px;
letter-spacing: 0.01em;
}
.site-header--hero .nav-cta:hover { background: var(--gold-light); }
.site-header--hero .menu-toggle span { background: rgba(255, 255, 255, 0.95); height: 2px; }
.header-topline {
background: rgba(10, 15, 30, 0.58);
border-bottom: 1px solid rgba(184, 146, 74, 0.22);
color: rgba(255, 255, 255, 0.75);
font-size: 12px;
letter-spacing: 0.02em;
}
.header-topline-inner {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
}
.topline-copy { font-weight: 600; }
.topline-links {
display: flex;
align-items: center;
gap: 16px;
white-space: nowrap;
font-weight: 700;
}
.topline-links a {
display: inline-flex;
align-items: center;
gap: 6px;
color: rgba(255, 255, 255, 0.82);
}
.topline-links a:hover { color: var(--gold-light); } .site-header.site-header--compact {
background: rgba(255, 255, 255, 0.96);
backdrop-filter: blur(12px);
box-shadow: 0 2px 12px rgba(10, 15, 30, 0.06);
} .fade-section {
opacity: 0;
transform: translateY(22px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-section.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
.fade-section { opacity: 1; transform: none; transition: none; }
} .site-footer {
background: #050a14;
color: #e5e7eb;
padding: 56px 24px 34px;
border-top: 1px solid rgba(255, 255, 255, 0.05);
font-family: var(--font-sans);
}
.footer-inner {
max-width: var(--max-width);
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 1fr 1fr;
gap: 28px;
align-items: start;
}
.footer-brand {
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-logo {
display: flex;
align-items: center;
gap: 12px;
}
.footer-logo-img {
width: 40px;
height: 40px;
object-fit: contain;
flex-shrink: 0;
}
.footer-logo-text {
display: flex;
flex-direction: column;
gap: 2px;
}
.footer-logo-main {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: #f0ede8;
letter-spacing: -0.02em;
}
.footer-logo-sub {
font-size: 11px;
color: #9ca3af;
letter-spacing: 0.06em;
}
.footer-desc {
font-size: 13px;
line-height: 1.75;
color: #9ca3af;
margin: 0;
}
.footer-contact {
font-size: 13px;
line-height: 1.85;
color: #d1d5db;
}
.footer-contact .label {
color: var(--gold);
font-weight: 700;
margin-right: 6px;
}
.footer-contact a {
color: inherit;
}
.footer-contact a:hover { color: var(--gold-light); }
.footer-col h4 {
font-size: 14px;
font-weight: 700;
margin: 0 0 12px;
color: #f8f8f6;
font-family: var(--font-sans);
}
.footer-links {
display: grid;
gap: 7px;
font-size: 13px;
}
.footer-links a {
color: #d1d5db;
opacity: 0.85;
}
.footer-links a:hover {
color: var(--gold-light);
opacity: 1;
}
.footer-quick {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 7px;
}
.footer-quick a {
display: flex;
align-items: center;
gap: 7px;
padding: 8px 10px;
background: rgba(255, 255, 255, 0.04);
color: #d1d5db;
font-size: 12px;
font-weight: 700;
}
.footer-quick a:hover {
background: rgba(184, 146, 74, 0.1);
color: var(--gold-light);
}
.footer-line {
max-width: var(--max-width);
margin: 26px auto 16px;
height: 1px;
background: rgba(255, 255, 255, 0.07);
}
.footer-notice {
max-width: var(--max-width);
margin: 0 auto;
font-size: 12px;
line-height: 1.8;
color: #6b7280;
}
.footer-bottom {
max-width: var(--max-width);
margin: 14px auto 0;
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: space-between;
align-items: center;
font-size: 12px;
color: #6b7280;
}
.footer-bottom a:hover { color: var(--gold-light); } body.ksl-page-index .hero {
background-color: var(--navy);
background-image:
linear-gradient(to right, transparent 0%, var(--gold) 50%, transparent 100%),
linear-gradient(90deg,
rgba(10, 15, 30, 0.82) 0%,
rgba(10, 15, 30, 0.55) 55%,
rgba(10, 15, 30, 0.82) 100%),
url(//xn--4k0bz8yc2cipax5ws4w.com/wp-content/themes/i/assets/img/law-900.webp);
background-size: 100% 2px, cover, cover;
background-position: left bottom, center, center;
background-repeat: no-repeat, no-repeat, no-repeat;
color: white;
position: relative;
padding: calc(var(--header-h) + clamp(64px, 9vw, 120px)) 0 110px;
overflow: hidden;
}
body.ksl-page-index .hero-grid {
display: grid;
grid-template-columns: 1fr;
gap: 42px;
align-items: center;
position: relative;
z-index: 2;
}
body.ksl-page-index .hero-content {
max-width: 980px;
margin: 0 auto;
text-align: center;
}
body.ksl-page-index .hero-kicker {
display: block;
font-size: 12px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--gold-light);
font-weight: 700;
margin-bottom: 18px;
}
body.ksl-page-index .hero-content h1 {
font-family: var(--font-serif);
font-size: clamp(36px, 4.8vw, 58px);
font-weight: 700;
line-height: 1.22;
letter-spacing: -0.02em;
margin: 0 0 20px;
color: #fff;
}
body.ksl-page-index .hero-content h1 .highlight { color: var(--gold-light); }
body.ksl-page-index .hero-content p {
font-size: 17px;
color: rgba(255, 255, 255, 0.78);
line-height: 1.85;
margin: 0 0 32px;
word-break: keep-all;
}
body.ksl-page-index .hero-trust-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
margin: 0 0 32px;
}
body.ksl-page-index .hero-trust-list li {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 12px;
border: 1px solid rgba(184, 146, 74, 0.3);
background: rgba(184, 146, 74, 0.06);
color: rgba(255, 255, 255, 0.82);
font-size: 13px;
font-weight: 700;
}
body.ksl-page-index .hero-trust-list i {
color: var(--gold-light);
font-size: 11px;
} body.ksl-page-index .stats-bar {
background: var(--navy-mid);
border-bottom: 1px solid rgba(184, 146, 74, 0.18);
}
body.ksl-page-index .stats-bar-inner {
max-width: var(--max-width);
margin: 0 auto;
padding: 0 24px;
display: grid;
grid-template-columns: repeat(4, 1fr);
}
body.ksl-page-index .stat-item {
padding: 30px 16px;
text-align: center;
border-right: 1px solid rgba(255, 255, 255, 0.07);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
body.ksl-page-index .stat-item:last-child { border-right: none; }
body.ksl-page-index .stat-num {
font-family: var(--font-serif);
font-size: clamp(24px, 2.8vw, 36px);
font-weight: 700;
color: var(--gold-light);
line-height: 1;
}
body.ksl-page-index .stat-label {
font-size: 13px;
color: rgba(255, 255, 255, 0.62);
line-height: 1.45;
word-break: keep-all;
} body.ksl-page-index .situation {
background: var(--bg-warm);
background-image:
radial-gradient(ellipse 720px 520px at 80% 10%, rgba(184, 146, 74, 0.10), transparent 70%),
radial-gradient(ellipse 560px 420px at 10% 80%, rgba(10, 15, 30, 0.04), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
body.ksl-page-index .situation-wrapper {
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 72px;
align-items: center;
}
body.ksl-page-index .situation-link {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 32px;
padding: 12px 20px;
background: var(--navy);
color: #fff;
font-weight: 700;
font-size: 14px;
transition: var(--transition);
}
body.ksl-page-index .situation-link::after { content: '→'; }
body.ksl-page-index .situation-link:hover { background: var(--navy-light); }
body.ksl-page-index .check-list {
display: flex;
flex-direction: column;
gap: 14px;
}
body.ksl-page-index .check-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 22px 26px;
display: flex;
gap: 18px;
align-items: flex-start;
transition: var(--transition);
}
body.ksl-page-index .check-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10, 15, 30, 0.10);
}
body.ksl-page-index .check-icon {
flex-shrink: 0;
width: 34px;
height: 34px;
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
color: var(--gold-light);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
}
body.ksl-page-index .check-content h3,
body.ksl-page-index .check-content h4 {
margin: 0 0 5px;
font-size: 16px;
font-weight: 700;
color: var(--navy);
}
body.ksl-page-index .check-content p {
margin: 0;
font-size: 14px;
color: var(--text-muted);
line-height: 1.65;
} body.ksl-page-index .solutions {
background: var(--bg-page);
background-image:
radial-gradient(ellipse 760px 520px at 14% 18%, rgba(184, 146, 74, 0.07), transparent 68%);
border-top: 1px solid var(--border-subtle);
}
body.ksl-page-index .solution-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
body.ksl-page-index .sol-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 36px 28px;
display: flex;
flex-direction: column;
transition: var(--transition);
}
body.ksl-page-index .sol-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10, 15, 30, 0.10);
}
body.ksl-page-index .sol-icon {
width: 52px;
height: 52px;
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
color: var(--gold-light);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
margin-bottom: 22px;
}
body.ksl-page-index .sol-title {
font-family: var(--font-serif);
font-size: 22px;
font-weight: 700;
color: var(--navy);
margin: 0 0 14px;
}
body.ksl-page-index .sol-desc {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.75;
margin: 0 0 22px;
flex-grow: 1;
}
body.ksl-page-index .sol-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 700;
color: var(--gold);
letter-spacing: 0.02em;
padding: 8px 0;
border-bottom: 1px solid rgba(184, 146, 74, 0.3);
transition: var(--transition);
}
body.ksl-page-index .sol-link::after { content: '→'; font-size: 14px; }
body.ksl-page-index .sol-link:hover {
color: var(--navy);
border-bottom-color: var(--navy);
} body.ksl-page-index .cases-section {
background: var(--bg-warm);
background-image:
radial-gradient(ellipse 820px 560px at 80% 20%, rgba(184, 146, 74, 0.09), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
body.ksl-page-index .cases-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
body.ksl-page-index .case-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
overflow: hidden;
transition: var(--transition);
}
body.ksl-page-index .case-card:hover {
border-color: var(--gold);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10, 15, 30, 0.10);
}
body.ksl-page-index .case-img-wrap {
width: 100%;
height: 220px;
overflow: hidden;
position: relative;
}
body.ksl-page-index .case-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
body.ksl-page-index .case-card:hover .case-img-wrap img { transform: scale(1.04); }
body.ksl-page-index .case-badge {
position: absolute;
top: 14px;
left: 14px;
background: rgba(10, 15, 30, 0.88);
color: var(--gold-light);
padding: 4px 10px;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.04em;
border: 1px solid rgba(184, 146, 74, 0.3);
}
body.ksl-page-index .case-content { padding: 24px; }
body.ksl-page-index .case-head {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
line-height: 1.45;
color: var(--navy);
margin: 0 0 8px;
}
body.ksl-page-index .case-meta {
display: block;
font-size: 12px;
color: var(--text-light);
margin-bottom: 14px;
padding-bottom: 14px;
border-bottom: 1px solid var(--border-subtle);
}
body.ksl-page-index .case-result {
font-size: 14px;
color: var(--text-secondary);
line-height: 1.7;
}
body.ksl-page-index .case-result strong {
color: var(--gold);
background: var(--gold-muted);
padding: 1px 4px;
} body.ksl-page-index .reviews-section {
background: var(--bg-page);
background-image:
radial-gradient(ellipse 740px 520px at 18% 12%, rgba(184, 146, 74, 0.06), transparent 70%);
border-top: 1px solid var(--border-subtle);
}
body.ksl-page-index .review-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
}
body.ksl-page-index .review-card {
background: var(--bg-card);
border: 1px solid var(--border-light);
padding: 28px;
transition: var(--transition);
}
body.ksl-page-index .review-card:hover {
border-color: rgba(184, 146, 74, 0.55);
transform: translateY(-2px);
box-shadow: 0 18px 44px rgba(10, 15, 30, 0.10);
}
body.ksl-page-index .stars {
color: var(--gold);
margin-bottom: 14px;
font-size: 12px;
letter-spacing: 2px;
}
body.ksl-page-index .review-text {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.75;
margin: 0 0 16px;
position: relative;
padding-top: 16px;
}
body.ksl-page-index .review-text::before {
content: '"';
position: absolute;
top: -6px;
left: -2px;
font-family: var(--font-serif);
font-size: 32px;
line-height: 1;
color: rgba(184, 146, 74, 0.35);
}
body.ksl-page-index .review-author {
font-size: 13px;
font-weight: 700;
color: var(--navy);
} body.ksl-page-index .profile-section {
background: var(--bg-card);
border-top: 1px solid var(--border-subtle);
}
body.ksl-page-index .profile-editorial {
max-width: 820px;
margin: 0 auto;
text-align: center;
}
body.ksl-page-index .profile-editorial .section-kicker { margin-bottom: 20px; }
body.ksl-page-index .profile-quote {
font-family: var(--font-serif);
font-size: clamp(26px, 3.2vw, 40px);
font-weight: 700;
color: var(--navy);
line-height: 1.42;
margin: 0 0 44px;
letter-spacing: -0.02em;
position: relative;
}
body.ksl-page-index .profile-quote::before {
content: '\201C';
position: absolute;
top: -0.15em;
left: -0.22em;
font-size: 3.6em;
color: rgba(184, 146, 74, 0.13);
font-family: var(--font-serif);
line-height: 1;
pointer-events: none;
}
body.ksl-page-index .profile-quote .gold { color: var(--gold); }
body.ksl-page-index .profile-body-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 28px;
text-align: left;
border-top: 1px solid var(--border-subtle);
padding-top: 32px;
margin-bottom: 36px;
}
body.ksl-page-index .profile-sig {
display: inline-flex;
align-items: center;
gap: 16px;
border-top: 1px solid var(--border-subtle);
padding-top: 28px;
text-align: left;
}
body.ksl-page-index .profile-sig-img {
width: 52px;
height: 52px;
object-fit: cover;
object-position: top center;
border: 1px solid var(--border-light);
flex-shrink: 0;
}
body.ksl-page-index .profile-sig-title {
font-size: 11px;
letter-spacing: 0.08em;
color: var(--text-muted);
margin-bottom: 3px;
text-transform: uppercase;
}
body.ksl-page-index .profile-sig-name {
font-family: var(--font-serif);
font-size: 17px;
font-weight: 700;
color: var(--navy);
} body.ksl-page-index .process-section {
background: var(--navy);
color: white;
position: relative;
overflow: hidden;
}
body.ksl-page-index .process-section::before {
content: '';
position: absolute;
inset: -20%;
background:
radial-gradient(ellipse 900px 680px at 70% 10%, rgba(184, 146, 74, 0.18), transparent 70%),
radial-gradient(ellipse 780px 720px at 10% 90%, rgba(184, 146, 74, 0.08), transparent 70%),
repeating-linear-gradient(60deg, transparent 0px, transparent 86px, rgba(184, 146, 74, 0.05) 86px, rgba(184, 146, 74, 0.05) 87px),
repeating-linear-gradient(-60deg, transparent 0px, transparent 86px, rgba(184, 146, 74, 0.04) 86px, rgba(184, 146, 74, 0.04) 87px);
opacity: 0.9;
pointer-events: none;
z-index: 0;
}
body.ksl-page-index .process-section .container { position: relative; z-index: 1; }
body.ksl-page-index .process-section .section-title { color: #fff; }
body.ksl-page-index .process-section .section-desc { color: rgba(255, 255, 255, 0.6); }
body.ksl-page-index .process-section .section-kicker { color: var(--gold-light); }
body.ksl-page-index .process-steps {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 12px;
margin-top: 0;
}
body.ksl-page-index .p-step {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(255, 255, 255, 0.04);
padding: 20px 16px;
display: flex;
align-items: flex-start;
gap: 14px;
transition: var(--transition);
}
body.ksl-page-index .p-step:hover {
border-color: rgba(184, 146, 74, 0.45);
background: rgba(255, 255, 255, 0.06);
transform: translateY(-1px);
}
body.ksl-page-index .p-num {
flex-shrink: 0;
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(184, 146, 74, 0.5);
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
color: var(--gold-light);
font-size: 16px;
transition: var(--transition);
}
body.ksl-page-index .p-step:hover .p-num {
background: var(--gold);
color: var(--navy);
border-color: var(--gold);
}
body.ksl-page-index .p-copy {
display: flex;
flex-direction: column;
gap: 6px;
}
body.ksl-page-index .p-title {
font-size: 15px;
font-weight: 700;
color: #fff;
line-height: 1.4;
}
body.ksl-page-index .p-text {
font-size: 13px;
color: rgba(255, 255, 255, 0.65);
line-height: 1.6;
word-break: keep-all;
} body.ksl-page-index .consult-card {
background: var(--navy);
padding: 80px 24px;
text-align: center;
position: relative;
overflow: hidden;
}
body.ksl-page-index .consult-card::before {
content: '';
position: absolute;
inset: -20%;
background:
radial-gradient(ellipse 820px 560px at 60% 12%, rgba(184, 146, 74, 0.20), transparent 70%),
radial-gradient(ellipse 720px 620px at 20% 86%, rgba(184, 146, 74, 0.10), transparent 70%);
pointer-events: none;
z-index: 0;
}
body.ksl-page-index .consult-card > * { position: relative; z-index: 1; }
body.ksl-page-index .consult-kicker {
display: block;
font-size: 11px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--gold);
font-weight: 700;
margin-bottom: 16px;
}
body.ksl-page-index .consult-title {
font-family: var(--font-serif);
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
color: #fff;
line-height: 1.35;
letter-spacing: -0.02em;
margin: 0 0 16px;
}
body.ksl-page-index .consult-desc {
font-size: 16px;
color: rgba(255, 255, 255, 0.65);
line-height: 1.8;
margin: 0 0 32px;
word-break: keep-all;
}
body.ksl-page-index .consult-form-grid {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: 32px;
align-items: start;
text-align: left;
}
body.ksl-page-index .consult-copy { text-align: left; }
body.ksl-page-index .consult-phone-row {
display: grid;
gap: 12px;
margin-top: 24px;
}
body.ksl-page-index .consult-phone-link {
display: inline-flex;
align-items: center;
gap: 8px;
color: rgba(255, 255, 255, 0.92);
font-weight: 800;
width: fit-content;
}
body.ksl-page-index .consult-phone-link:hover { color: #fff; }
body.ksl-page-index .consult-form-card {
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.16);
padding: 26px;
box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}
body.ksl-page-index .consult-form {
display: grid;
gap: 14px;
position: relative;
}
body.ksl-page-index .hp-field {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
opacity: 0;
}
body.ksl-page-index .consult-form .form-grid-two {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
body.ksl-page-index .consult-form .form-group {
display: flex;
flex-direction: column;
gap: 8px;
text-align: left;
}
body.ksl-page-index .consult-form .form-label {
font-size: 13px;
font-weight: 800;
color: rgba(255, 255, 255, 0.88);
}
body.ksl-page-index .consult-form .form-input,
body.ksl-page-index .consult-form .form-select,
body.ksl-page-index .consult-form .form-textarea {
padding: 12px 13px;
border: 1px solid rgba(255, 255, 255, 0.18);
font-size: 15px;
font-family: var(--font-sans);
transition: var(--transition);
width: 100%;
line-height: 1.55;
background: rgba(255, 255, 255, 0.06);
color: rgba(255, 255, 255, 0.92);
}
body.ksl-page-index .consult-form .form-input::placeholder,
body.ksl-page-index .consult-form .form-textarea::placeholder {
color: rgba(255, 255, 255, 0.45);
}
body.ksl-page-index .consult-form .form-input:focus,
body.ksl-page-index .consult-form .form-select:focus,
body.ksl-page-index .consult-form .form-textarea:focus {
border-color: var(--gold);
outline: none;
box-shadow: 0 0 0 3px rgba(184, 146, 74, 0.20);
}
body.ksl-page-index .consult-form .form-textarea {
resize: vertical;
min-height: 130px;
}
body.ksl-page-index .consult-form .privacy-check {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 700;
color: rgba(255, 255, 255, 0.85);
cursor: pointer;
}
body.ksl-page-index .consult-form .privacy-check input { accent-color: var(--gold); }
body.ksl-page-index .consult-form .consult-submit {
width: 100%;
border: none;
cursor: pointer;
background: var(--gold);
color: var(--navy);
height: 52px;
font-size: 15px;
font-weight: 700;
font-family: var(--font-sans);
transition: var(--transition);
}
body.ksl-page-index .consult-form .consult-submit:hover {
background: var(--gold-light);
transform: translateY(-1px);
}
body.ksl-page-index .consult-form .consult-submit:disabled {
opacity: 0.7;
cursor: not-allowed;
}
body.ksl-page-index .consult-form-hint {
margin: 0;
font-size: 13px;
color: rgba(255, 255, 255, 0.55);
text-align: center;
}
body.ksl-page-index .contact-receipt-note {
background: rgba(184, 146, 74, 0.12);
border: 1px solid rgba(184, 146, 74, 0.22);
padding: 12px 14px;
font-size: 13px;
color: rgba(255, 255, 255, 0.92);
line-height: 1.6;
}
body.ksl-page-index .contact-receipt-note a {
color: var(--gold-light);
text-decoration: underline;
} .desktop-right-cta {
position: fixed;
right: 18px;
top: 50%;
transform: translateY(-50%);
z-index: 9998;
display: none;
}
.desktop-right-cta-stack {
display: flex;
flex-direction: column;
gap: 8px;
align-items: stretch;
}
.desktop-right-cta-btn {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 14px;
background: rgba(10, 15, 30, 0.93);
color: #f0ede8;
text-decoration: none;
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
border: 1px solid rgba(255, 255, 255, 0.08);
transition: var(--transition);
min-width: 164px;
backdrop-filter: blur(10px);
}
.desktop-right-cta-btn.primary {
background: var(--gold);
color: var(--navy);
border-color: transparent;
}
.desktop-right-cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
}
.desktop-right-cta-btn i {
font-size: 17px;
width: 20px;
text-align: center;
}
.desktop-right-cta-text {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.desktop-right-cta-text .main {
font-weight: 800;
font-size: 13px;
line-height: 1.1;
white-space: nowrap;
}
.desktop-right-cta-text .sub {
font-weight: 600;
font-size: 11px;
opacity: 0.75;
white-space: nowrap;
}
.desktop-right-cta-text .sub.mono {
font-feature-settings: "tnum";
letter-spacing: 0.02em;
}
.desktop-right-cta-details { position: relative; }
.desktop-right-cta-details > summary { list-style: none; }
.desktop-right-cta-details > summary::-webkit-details-marker { display: none; }
.desktop-right-cta-arrow {
margin-left: auto;
font-size: 12px;
opacity: 0.7;
transition: transform 0.2s ease;
}
.desktop-right-cta-details[open] .desktop-right-cta-arrow { transform: rotate(180deg); }
.desktop-right-cta-dropdown {
position: absolute;
right: calc(100% + 10px);
top: 50%;
transform: translateY(-50%);
width: 220px;
background: var(--bg-card);
border: 1px solid var(--border-light);
box-shadow: 0 16px 48px rgba(10, 15, 30, 0.2);
overflow: hidden;
padding: 6px;
}
.desktop-right-cta-dropdown a {
display: flex;
align-items: center;
gap: 10px;
padding: 9px 11px;
font-weight: 700;
font-size: 13px;
color: var(--navy);
}
.desktop-right-cta-dropdown a:hover { background: var(--bg-warm); }
.desktop-right-cta-chip {
width: 22px;
height: 22px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--navy);
color: var(--gold-light);
font-size: 11px;
font-weight: 800;
flex-shrink: 0;
} body.has-fixed-cta {
padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
}
.fixed-cta-bar {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background: var(--navy);
border-top: 1px solid rgba(184, 146, 74, 0.3);
box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
z-index: 9999;
padding-bottom: env(safe-area-inset-bottom, 0px);
}
.fixed-cta-inner {
width: 100%;
display: flex;
align-items: stretch;
flex-wrap: nowrap;
}
.fixed-cta-inner > * {
flex: 1 1 0;
min-width: 0;
}
.cta-dropdown-wrap,
.cta-faq-wrap {
position: relative;
display: flex;
}
.cta-dropdown-btn,
#ctaFaq {
width: 100%;
height: 100%;
}
.cta-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
padding: 13px 0;
min-height: 58px;
border: none;
border-right: 1px solid rgba(255, 255, 255, 0.07);
background: var(--navy);
color: rgba(255, 255, 255, 0.88);
font-size: 12px;
font-weight: 700;
white-space: nowrap;
cursor: pointer;
touch-action: manipulation;
transition: background 0.15s;
flex-direction: column;
gap: 3px;
text-decoration: none;
}
.cta-btn:last-child { border-right: none; }
.cta-btn.primary {
background: var(--gold);
color: var(--navy);
}
.cta-btn.primary:hover { background: var(--gold-light); }
.cta-btn:hover { background: var(--navy-mid); }
.cta-icon {
width: 22px;
height: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-weight: 800;
background: rgba(255, 255, 255, 0.1);
color: var(--gold-light);
}
.cta-btn.primary .cta-icon {
background: rgba(10, 15, 30, 0.18);
color: var(--navy);
}
.cta-label-main {
font-size: 11px;
font-weight: 700;
}
.cta-label-sub {
font-size: 10px;
opacity: 0.7;
}
.arrow {
font-size: 9px;
opacity: 0.7;
}
.cta-dropdown {
display: none;
position: absolute;
bottom: calc(58px + env(safe-area-inset-bottom, 0px));
left: 0;
width: 100%;
background: var(--bg-card);
border: 1px solid var(--border-light);
box-shadow: 0 -8px 24px rgba(10, 15, 30, 0.18);
z-index: 2;
}
.cta-dropdown.open { display: block; }
.cta-dropdown a {
padding: 11px 14px;
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
font-weight: 700;
color: var(--navy);
border-bottom: 1px solid var(--border-subtle);
}
.cta-dropdown a:last-child { border-bottom: none; }
.sub-icon {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
background: var(--navy);
color: var(--gold-light);
font-size: 11px;
font-weight: 800;
flex-shrink: 0;
}
#ctaFaqBox {
display: none;
position: absolute;
bottom: calc(58px + env(safe-area-inset-bottom, 0px));
left: 0;
width: 100%;
background: var(--bg-card);
border: 1px solid var(--border-light);
box-shadow: 0 -8px 24px rgba(10, 15, 30, 0.18);
z-index: 2;
}
#ctaFaqBox.open { display: block; }
#ctaFaqBox a {
padding: 11px 14px;
display: flex;
font-size: 13px;
font-weight: 700;
color: var(--navy);
border-bottom: 1px solid var(--border-subtle);
}
#ctaFaqBox a:last-child { border-bottom: none; }  @media (min-width: 993px) {
.desktop-right-cta { display: block; }
.fixed-cta-bar { display: none; }
body.has-fixed-cta { padding-bottom: 0 !important; }
}
@media (max-width: 992px) {
:root { --header-h: 72px; }
body.ksl-page-index { --header-h: 72px; }
body.ksl-page-index .header-topline { display: none; }
.gnb {
position: fixed;
top: 72px;
right: -100%;
width: min(100%, 360px);
height: calc(100vh - 72px);
background: var(--bg-card);
flex-direction: column;
padding: 20px 0 40px;
overflow-y: auto;
border-left: 1px solid var(--border-light);
box-shadow: -4px 0 20px rgba(0, 0, 0, 0.08);
transition: right 0.3s ease;
z-index: 1000;
align-items: flex-start;
gap: 0;
}
.gnb.open { right: 0; }
.nav-list {
flex-direction: column;
width: 100%;
height: auto;
gap: 0;
}
.nav-item {
width: 100%;
height: auto;
flex-direction: column;
align-items: flex-start;
border-bottom: 1px solid var(--border-subtle);
}
.nav-link {
width: 100%;
height: auto;
padding: 15px 24px;
font-size: 15px;
color: var(--navy);
font-weight: 700;
border-radius: 0;
}
.nav-link::after { display: none; }
.sub-menu {
position: static;
width: 100%;
box-shadow: none;
border: none;
border-top: 1px solid var(--border-subtle);
background: var(--bg-warm);
opacity: 1;
visibility: visible;
transform: none;
padding: 6px;
display: none;
}
.nav-item.active .sub-menu { display: block; }
.sub-menu a { padding: 11px 32px; font-size: 13px; }
.nav-cta {
margin: 24px auto;
width: calc(100% - 48px);
text-align: center;
height: 46px;
justify-content: center;
}
.menu-toggle {
display: flex;
align-items: center;
}
body { overflow-x: hidden; }
body.ksl-page-index .hero-grid { grid-template-columns: 1fr; gap: 40px; }
body.ksl-page-index .hero { text-align: center; }
body.ksl-page-index .btn-group { justify-content: center; }
body.ksl-page-index .hero-trust-list { justify-content: center; }
body.ksl-page-index .situation-wrapper { grid-template-columns: 1fr; gap: 48px; }
body.ksl-page-index .solution-grid { grid-template-columns: 1fr; }
body.ksl-page-index .process-steps { grid-template-columns: repeat(3, 1fr); }
body.ksl-page-index .cases-grid { grid-template-columns: 1fr; }
body.ksl-page-index .review-grid { grid-template-columns: 1fr; }
body.ksl-page-index .consult-form-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 992px) {
body.menu-open {
overflow: hidden;
}
.site-header .menu-toggle {
width: 44px;
height: 44px;
margin-right: -10px;
display: inline-flex;
align-items: center;
justify-content: center;
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
z-index: 10002;
}
.site-header .menu-toggle span {
left: 10px;
width: 24px;
transform-origin: center;
}
.site-header .menu-toggle span:nth-child(1) {
top: 14px;
}
.site-header .menu-toggle span:nth-child(2) {
top: 50%;
transform: translateY(-50%);
}
.site-header .menu-toggle span:nth-child(3) {
bottom: 14px;
}
.site-header .menu-toggle.active span:nth-child(1),
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(1) {
top: 50%;
transform: translateY(-50%) rotate(45deg);
}
.site-header .menu-toggle.active span:nth-child(2),
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) {
opacity: 0;
}
.site-header .menu-toggle.active span:nth-child(3),
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(3) {
bottom: auto;
top: 50%;
transform: translateY(-50%) rotate(-45deg);
}
.site-header .gnb {
pointer-events: none;
}
.site-header .gnb.open {
pointer-events: auto;
}
.site-header .gnb .nav-link,
.site-header .gnb .sub-menu a,
.site-header .gnb .nav-cta {
min-height: 48px;
}
}
@media (max-width: 900px) {
.footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
html body { font-size: 15px; }
.section-py { padding: 72px 0; }
body.ksl-page-index .section-py { padding: 64px 0; }
}
@media (max-width: 640px) {
body { font-size: 15px; }
body.ksl-page-index .section-py { padding: 64px 0; }
body.ksl-page-index .btn { width: 100%; }
body.ksl-page-index .btn-group { flex-direction: column; }
body.ksl-page-index .process-steps { grid-template-columns: 1fr; }
body.ksl-page-index .stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
body.ksl-page-index .stat-item:nth-child(2) { border-right: none; }
body.ksl-page-index .stat-item:nth-child(3) {
border-top: 1px solid rgba(255, 255, 255, 0.07);
}
body.ksl-page-index .stat-item:nth-child(4) {
border-top: 1px solid rgba(255, 255, 255, 0.07);
}
body.ksl-page-index .profile-body-cols { grid-template-columns: 1fr; gap: 16px; }
.footer-inner { grid-template-columns: 1fr; }
.footer-quick { grid-template-columns: 1fr 1fr; }
.footer-bottom { flex-direction: column; align-items: flex-start; }
.site-footer { padding: 40px 16px 28px; }
}
@media (max-width: 1180px) {
body.ksl-page-index .process-steps { grid-template-columns: repeat(3, 1fr); }
}html { -webkit-text-size-adjust: 100%; }
body {
font-size: 16px;
line-height: 1.75;
letter-spacing: -0.01em;
color: #1a1a1a;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
@media (min-width: 641px) and (max-width: 992px) {
body { font-size: 17px; line-height: 1.78; }
}
@media (max-width: 640px) {
body { font-size: 16px; line-height: 1.78; }
html, body { word-break: keep-all; overflow-wrap: break-word; }
} h1, h2, h3, h4 { word-break: keep-all; letter-spacing: -0.025em; } .hero h1,
.hero-content h1,
.pasan-hero-title,
.about-hero .hero-title,
.contact-hero-title {
font-weight: 800 !important;
line-height: 1.25 !important;
word-break: keep-all;
} .section-title,
.section-heading,
.pasan-card-title,
.consult-title,
.form-title,
.about-certs-header .section-heading,
.corp-lead-title,
.mid-cta-title,
.blog-promo-title,
.credentials-section .section-title {
font-weight: 800 !important;
line-height: 1.35 !important;
letter-spacing: -0.025em !important;
word-break: keep-all;
} .sol-title, .case-head, .check-content h3, .check-content h4,
.cred-text h3, .diff-title, .step-title, .p-title {
font-weight: 800 !important;
letter-spacing: -0.02em;
line-height: 1.4 !important;
} p { line-height: 1.85; word-break: keep-all; overflow-wrap: break-word; }
.section-desc,
.pasan-card-desc,
.hero-desc,
.pasan-hero-desc,
.contact-hero-desc,
.profile-quote + .profile-body-cols p,
.consult-desc,
.mid-cta-desc,
.blog-promo-desc,
.corp-lead-desc {
max-width: 64ch;
line-height: 1.85 !important;
} .section-header .section-desc,
.about-certs-header .section-desc,
.credentials-header .section-desc {
margin-left: auto;
margin-right: auto;
} strong, b { font-weight: 800; }
.hero-content h1 strong, .hero h1 strong { font-weight: 800; }
.highlight { font-weight: 800; } .section-desc strong,
.consult-desc strong,
.mid-cta-desc strong,
.pasan-hero-desc strong,
.hero-content p strong {
color: var(--navy);
font-weight: 800;
background: linear-gradient(180deg, transparent 60%, rgba(184,146,74,0.22) 60%);
padding: 0 2px;
}
.consult-card .consult-desc strong,
.mid-cta-block--rehab .mid-cta-desc strong,
.mid-cta-block--pasan .mid-cta-desc strong,
.mid-cta-block--about .mid-cta-desc strong,
.hero p strong {
color: var(--gold-light);
background: none;
padding: 0;
} @media (max-width: 992px) {
.section-py { padding: 76px 0; }
}
@media (max-width: 640px) {
.section-py { padding: 56px 0; }
.hero { padding-top: calc(var(--header-h, 72px) + 56px); padding-bottom: 72px; }
} .section-header { margin-bottom: 48px; }
@media (max-width: 640px) {
.section-header { margin-bottom: 36px; }
.credentials-header { margin-bottom: 36px !important; }
} @media (max-width: 640px) {
.container, .inner, body .container, body .inner { padding-left: 20px; padding-right: 20px; }
} .btn, .consult-btn, .cta-btn, .submit-btn,
.pasan-hero-btn, .about-hero-btn, .corp-lead-btn,
.mid-cta-btn, .blog-promo-btn, .corp-site-banner-btn,
.btn-big, .nav-cta, .situation-link, .sol-link {
min-height: 48px;
font-size: 15px;
font-weight: 800;
letter-spacing: -0.01em;
}
.btn { height: auto; padding: 14px 28px; }
.consult-btn { padding: 16px 32px; } @media (max-width: 640px) {
.btn-group,
.cta-box-actions,
.pasan-hero-actions,
.about-hero-actions,
.corp-lead-actions,
.mid-cta-actions,
.btn-action-group {
flex-direction: column;
gap: 10px;
align-items: stretch;
}
.btn-group .btn,
.cta-box-actions .cta-btn,
.pasan-hero-actions .pasan-hero-btn,
.about-hero-actions .about-hero-btn,
.corp-lead-actions .corp-lead-btn,
.mid-cta-actions .mid-cta-btn,
.btn-action-group .btn-big {
width: 100%;
min-height: 52px;
justify-content: center;
font-size: 16px;
}
} @media (max-width: 640px) {
.hero-content h1,
.hero h1 {
font-size: clamp(30px, 8vw, 38px) !important;
line-height: 1.22 !important;
margin-bottom: 18px;
}
.hero-content p,
.hero p,
.hero-desc,
.pasan-hero-desc {
font-size: 16px !important;
line-height: 1.78 !important;
margin-bottom: 28px;
}
.pasan-hero-title {
font-size: clamp(26px, 7vw, 32px) !important;
line-height: 1.28 !important;
}
.hero-kicker, .pasan-hero-kicker {
font-size: 11px !important;
letter-spacing: 0.16em !important;
}
} @media (max-width: 640px) {
.section-title,
.section-heading,
.consult-title,
.mid-cta-title,
.corp-lead-title,
.blog-promo-title,
.form-title {
font-size: 24px !important;
line-height: 1.35 !important;
}
.pasan-card-title {
font-size: 22px !important;
line-height: 1.4 !important;
}
.quote-text, .profile-quote {
font-size: 24px !important;
line-height: 1.45 !important;
}
} @media (max-width: 640px) {
.check-card, .sol-card, .case-card, .review-card,
.cred-card, .diff-card, .info-item, .service-item,
.pasan-section-card, .corp-lead-card, .acc-panel-inner {
padding: 22px 20px !important;
}
.cred-card { gap: 14px !important; }
.cred-text h3 { font-size: 16.5px !important; }
.cred-text p { font-size: 14px !important; line-height: 1.75 !important; }
} .rehab-list li,
.acc-panel ul li,
.corp-lead-points li,
.pasan-hero-trust li,
.hero-trust-list li {
word-break: keep-all;
}
.rehab-list li,
.acc-panel ul li {
padding-left: 4px;
margin-bottom: 10px;
line-height: 1.78;
}
@media (max-width: 640px) {
.rehab-list li, .acc-panel ul li { font-size: 15px; line-height: 1.78; }
} @media (max-width: 640px) {
.hero-trust-list, .pasan-hero-trust {
gap: 6px;
margin-bottom: 22px;
}
.hero-trust-list li, .pasan-hero-trust li {
font-size: 12px !important;
padding: 6px 11px;
}
} .form-input, .form-select, .form-textarea,
.consult-form .form-input, .consult-form .form-select, .consult-form .form-textarea {
min-height: 48px;
font-size: 15px;
line-height: 1.5;
}
.form-label, .consult-form .form-label {
font-size: 14px;
font-weight: 700;
margin-bottom: 6px;
}
.form-textarea, .consult-form .form-textarea { min-height: 130px; }
@media (max-width: 640px) {
.form-input, .form-select, .form-textarea,
.consult-form .form-input, .consult-form .form-select, .consult-form .form-textarea {
font-size: 16px;
min-height: 52px;
padding: 14px 14px;
}
.form-label, .consult-form .form-label { font-size: 14px; }
.privacy-check, .consult-form .privacy-check { font-size: 14px; line-height: 1.7; gap: 10px; }
.privacy-check input, .consult-form .privacy-check input { width: 18px; height: 18px; flex-shrink: 0; }
} @media (max-width: 640px) {
.stat-item { padding: 22px 12px !important; gap: 6px !important; }
.stat-num { font-size: 22px !important; }
.stat-label { font-size: 12px !important; line-height: 1.5 !important; }
} @media (max-width: 640px) {
.solution-grid,
.cases-grid,
.review-grid,
.diff-grid,
.service-list,
.overview-grid,
.credentials-grid,
.blog-promo-grid,
.corp-lead-points {
grid-template-columns: 1fr !important;
gap: 14px !important;
}
.credentials-images.credentials-images--single {
max-width: 280px !important;
}
} @media (max-width: 640px) {
.pasan-nav { gap: 4px; padding: 8px 16px; flex-wrap: wrap; }
.pasan-nav-link { font-size: 13px; padding: 8px 10px; }
} @media (max-width: 640px) {
.footer-inner { gap: 28px; }
.footer-desc, .footer-contact, .footer-links { font-size: 14px; line-height: 1.85; }
.footer-quick a { font-size: 13px; padding: 10px 12px; min-height: 44px; }
.footer-col h4 { font-size: 15px; margin-bottom: 14px; }
} .section-desc, .pasan-card-desc, .hero-desc { color: #3a3a3a; }
.text-muted, .case-meta, .review-text { color: #555; }
.consult-card .consult-desc,
.credentials-section .section-desc,
.process-section .section-desc {
color: rgba(255,255,255,0.78);
} @media (max-width: 640px) {
.consult-card { padding-left: 24px !important; padding-right: 24px !important; }
.consult-form-card { padding: 22px !important; }
} @media (max-width: 640px) {
.about-hero .stats-bar { grid-template-columns: 1fr 1fr; gap: 0; }
.about-hero .stat-item { border-bottom: 1px solid var(--border-subtle); padding: 18px 12px !important; }
} @media (max-width: 640px) {
.mid-cta-block { padding: 40px 0; }
.mid-cta-copy { text-align: center; }
.mid-cta-kicker { margin-left: auto; margin-right: auto; }
.mid-cta-title { font-size: 22px !important; }
.mid-cta-desc { font-size: 15px; }
} @media (max-width: 640px) {
.cert-frame, .about-cert-frame { padding: 12px 12px 14px !important; }
.cert-cap-title, .about-cert-title { font-size: 14px !important; }
.cert-cap-eyebrow, .about-cert-eyebrow { font-size: 10.5px !important; }
} @media (max-width: 640px) {
.fixed-cta-bar--compact .cta-label-main,
.fixed-cta-bar--light .cta-label-main,
.fixed-cta-bar--dark .cta-label-main { font-size: 11.5px !important; font-weight: 800; }
.fixed-cta-bar .cta-btn { min-height: 60px !important; padding: 10px 0 !important; }
} @media (max-width: 640px) {
.acc-btn { padding: 16px 18px !important; font-size: 15px !important; }
.acc-btn-label { gap: 10px; }
.acc-badge { font-size: 10.5px !important; padding: 3px 9px !important; }
} a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.consult-btn:focus-visible,
.cta-btn:focus-visible {
outline: 3px solid rgba(184,146,74,0.55);
outline-offset: 2px;
border-radius: 4px;
} :root {
--layout-gutter: clamp(20px, 3vw, 28px);
--text-secondary: #3d4652;
--text-muted: #5b6470;
--text-light: #68717c;
--border-light: #ddd8d0;
--border-subtle: #e9e4dd;
}
.container,
.inner,
.header-inner {
padding-left: var(--layout-gutter);
padding-right: var(--layout-gutter);
}
.site-footer {
padding-left: 0;
padding-right: 0;
}
.footer-inner,
.footer-notice,
.footer-bottom {
width: 100%;
padding-left: var(--layout-gutter);
padding-right: var(--layout-gutter);
}
.footer-line {
width: calc(100% - (2 * var(--layout-gutter)));
max-width: calc(var(--max-width) - (2 * var(--layout-gutter)));
}
.about-hero .hero-title,
.pasan-hero-title,
.contact-hero-title,
.faq-hero-title,
.cases-title,
.loc-title,
.hero-area .hero-title {
font-weight: 800 !important;
line-height: 1.27 !important;
letter-spacing: -0.03em;
text-wrap: balance;
word-break: keep-all;
}
.about-hero .hero-desc,
.pasan-hero-desc,
.contact-hero-desc,
.faq-hero-desc,
.cases-desc,
.loc-desc,
.hero-area .hero-desc {
max-width: 62ch;
margin-left: auto;
margin-right: auto;
line-height: 1.85 !important;
text-wrap: pretty;
word-break: keep-all;
}
.cases-head-title,
.faq-group-title,
.sec-title,
.q-title-lg,
.info-title,
.board-title {
color: var(--navy);
font-weight: 800;
line-height: 1.42;
letter-spacing: -0.02em;
text-wrap: balance;
word-break: keep-all;
}
.form-desc,
.cases-head-sub,
.faq-group-desc,
.case-text,
.overview-text,
.step-desc,
.review-text,
.board-note {
color: var(--text-secondary) !important;
line-height: 1.8;
}
body.ksl-page-index .credentials-section .section-header,
body.ksl-page-index .solutions .section-header,
body.ksl-page-index .process-section .section-header,
body.ksl-page-index .cases-section .section-header,
body.ksl-page-index .reviews-section .section-header {
max-width: 720px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
body.ksl-page-index .credentials-section .section-desc,
body.ksl-page-index .solutions .section-desc,
body.ksl-page-index .process-section .section-desc,
body.ksl-page-index .cases-section .section-desc,
body.ksl-page-index .reviews-section .section-desc {
margin-left: auto;
margin-right: auto;
}
.pasan-hero-desc,
.contact-hero-desc,
.faq-hero-desc,
.cases-desc,
.about-hero .hero-desc,
.hero-area .hero-desc,
.credentials-section .section-desc,
.process-section .section-desc,
.consult-card .consult-desc,
.corp-lead-desc,
.mid-cta-block--rehab .mid-cta-desc,
.mid-cta-block--pasan .mid-cta-desc,
.mid-cta-block--about .mid-cta-desc {
color: rgba(255,255,255,0.84) !important;
}
.btn,
.consult-btn,
.submit-btn,
.pasan-hero-btn,
.about-hero-btn,
.corp-lead-btn,
.mid-cta-btn,
.blog-promo-btn,
.corp-site-banner-btn,
.btn-big,
.btn-action {
border-radius: var(--radius-md, 10px);
align-items: center;
justify-content: center;
line-height: 1.35;
text-align: center;
}
.btn-primary,
.consult-btn,
.pasan-hero-btn--primary,
.about-hero-btn--primary,
.corp-lead-btn--primary,
.mid-cta-btn--primary,
.desktop-right-cta--dark .desktop-right-cta-btn.primary {
color: var(--navy) !important;
}
.case-result strong,
.faq-highlight {
color: var(--navy);
font-weight: 800;
background: linear-gradient(180deg, transparent 58%, rgba(184,146,74,0.2) 58%);
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
}
.highlight-box {
border-left: 3px solid var(--gold);
line-height: 1.8;
}
.footer-desc { color: #b6becb; }
.footer-contact,
.footer-links a { color: #d9dee6; }
.footer-notice,
.footer-bottom { color: #a5adba; } .page-main,
.ksl-page,
body.error404 #main {
padding: clamp(64px, 7vw, 88px) 0 clamp(76px, 8vw, 104px);
}
.page-main .container,
.ksl-page .container,
body.error404 #main > .container {
max-width: 900px;
}
.page-head,
.ksl-page > .container > .ksl-page-head {
max-width: 720px;
margin: 0 auto clamp(34px, 4vw, 48px);
text-align: center;
}
.page-title,
.ksl-page-title {
margin: 0 0 14px;
color: var(--navy);
font-family: var(--font-serif);
font-size: clamp(30px, 4vw, 42px);
font-weight: 800;
letter-spacing: -0.035em;
line-height: 1.3;
text-wrap: balance;
word-break: keep-all;
}
.page-excerpt,
.ksl-page-excerpt {
max-width: 62ch;
margin: 0 auto;
color: var(--text-secondary);
font-size: 16px;
line-height: 1.85;
word-break: keep-all;
}
.wp-content {
color: var(--text-secondary);
font-size: 16px;
line-height: 1.85;
}
.wp-content :where(h2, h3, h4) {
margin: 1.8em 0 0.65em;
color: var(--navy);
font-family: var(--font-serif);
font-weight: 800;
letter-spacing: -0.025em;
line-height: 1.42;
}
.wp-content :where(ul, ol) {
margin: 1.1em 0;
padding-left: 1.35em;
}
.wp-content ul > li { list-style: disc; }
.wp-content ol > li { list-style: decimal; }
.wp-content li {
margin-bottom: 0.45em;
line-height: 1.75;
}
.wp-content a {
color: var(--navy);
font-weight: 700;
text-decoration: underline;
text-decoration-color: rgba(184,146,74,0.5);
text-underline-offset: 0.2em;
}
.ksl-post {
margin-bottom: 24px;
padding: clamp(24px, 4vw, 34px);
background: var(--bg-card);
border: 1px solid var(--border-light);
border-radius: var(--radius-lg, 14px);
}
.ksl-post .ksl-page-head {
margin-bottom: 16px;
text-align: left;
}
.ksl-post .ksl-page-title {
font-size: clamp(22px, 3vw, 27px);
}
.ksl-post .ksl-page-excerpt {
margin-left: 0;
}
.ksl-404-actions {
display: flex;
justify-content: center;
gap: 10px;
flex-wrap: wrap;
}
.ksl-404-actions .wp-block-button__link {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 50px;
padding: 13px 25px;
background: var(--navy);
border: 1px solid var(--navy);
border-radius: var(--radius-md, 10px);
color: #fff;
font-weight: 800;
text-decoration: none;
}
.ksl-404-actions .wp-block-button__link.is-style-outline {
background: var(--bg-card);
border-color: var(--border-light);
color: var(--navy);
}
@media (max-width: 992px) {
body.ksl-page-index .section-header {
max-width: 700px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
body.ksl-page-index .section-header .section-desc {
margin-left: auto;
margin-right: auto;
}
}
@media (max-width: 640px) {
:root { --layout-gutter: 20px; }
.hero-content h1 br,
.about-hero .hero-title br,
.pasan-hero-title br,
.contact-hero-title br,
.faq-hero-title br,
.cases-title br,
.loc-title br,
.section-title br,
.section-heading br,
.corp-lead-title br,
.blog-promo-title br,
.consult-title br,
.hero-desc br,
.pasan-hero-desc br,
.contact-hero-desc br,
.faq-hero-desc br,
.cases-desc br,
.corp-lead-desc br,
.blog-promo-desc br,
.consult-desc br {
display: none;
}
.about-hero .hero-title,
.contact-hero-title,
.faq-hero-title,
.cases-title,
.loc-title,
.hero-area .hero-title {
font-size: clamp(26px, 7.3vw, 31px) !important;
line-height: 1.34 !important;
}
.about-hero .hero-desc,
.contact-hero-desc,
.faq-hero-desc,
.cases-desc,
.loc-desc,
.hero-area .hero-desc {
font-size: 15.5px !important;
line-height: 1.8 !important;
}
.pasan-nav {
flex-wrap: nowrap !important;
justify-content: flex-start;
gap: 4px;
padding: 8px var(--layout-gutter);
overflow-x: auto;
scroll-snap-type: x proximity;
scrollbar-width: none;
}
.pasan-nav::-webkit-scrollbar { display: none; }
.pasan-nav-link {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
min-height: 44px;
white-space: nowrap;
scroll-snap-align: start;
}
.consult-card .consult-btn,
.submit-btn,
.blog-promo-btn,
.sec-actions .btn-action {
width: 100%;
min-height: 52px;
justify-content: center;
}
.sec-actions {
flex-direction: column;
align-items: stretch;
}
.corp-lead-points li {
width: 100%;
justify-content: flex-start;
}
.site-footer {
padding-top: 44px;
padding-bottom: 26px;
}
.footer-bottom {
align-items: flex-start;
gap: 8px;
}
.fixed-cta-bar .cta-btn {
gap: 4px;
padding-left: 4px !important;
padding-right: 4px !important;
}
.fixed-cta-bar .cta-label-main {
font-size: clamp(10px, 3vw, 11.5px) !important;
line-height: 1.3;
white-space: normal;
word-break: keep-all;
}
.fixed-cta-bar .cta-label-sub {
display: none;
}
.page-main,
.ksl-page,
body.error404 #main {
padding-top: 52px;
padding-bottom: 68px;
}
.page-title,
.ksl-page-title {
font-size: clamp(27px, 8vw, 32px);
line-height: 1.38;
}
.page-excerpt,
.ksl-page-excerpt,
.wp-content {
font-size: 15.5px;
}
.ksl-post {
padding: 22px 20px;
}
.ksl-404-actions {
flex-direction: column;
align-items: stretch;
}
}@media (max-width: 992px) {
body.menu-open {
overflow: hidden !important;
overscroll-behavior: none;
}
body.menu-open .site-header {
overflow: visible !important;
z-index: 10020 !important;
}
.site-header .header-inner {
overflow: visible !important;
}
.site-header .menu-toggle {
position: relative !important;
flex: 0 0 44px !important;
z-index: 10022 !important;
}
.site-header .gnb,
.site-header.site-header--hero .gnb,
.site-header.site-header--compact .gnb {
position: fixed !important;
top: var(--ksl-mobile-menu-top, var(--header-h, 72px)) !important;
right: -100% !important;
bottom: auto !important;
left: auto !important;
display: flex !important;
flex-direction: column !important;
align-items: stretch !important;
justify-content: flex-start !important;
gap: 0 !important;
width: min(100%, 380px) !important;
max-width: 100vw !important;
height: var(--ksl-mobile-menu-height, calc(100dvh - var(--header-h, 72px))) !important;
min-height: 0 !important;
max-height: var(--ksl-mobile-menu-height, calc(100dvh - var(--header-h, 72px))) !important;
margin: 0 !important;
padding: 12px 0 calc(28px + env(safe-area-inset-bottom, 0px)) !important;
overflow-x: hidden !important;
overflow-y: auto !important;
overscroll-behavior: contain;
touch-action: pan-y !important;
-webkit-overflow-scrolling: touch;
color: var(--navy) !important;
background: #fff !important;
border: 0 !important;
border-left: 1px solid var(--border-light) !important;
border-radius: 0 !important;
box-shadow: -16px 20px 48px rgba(7, 16, 31, 0.2) !important;
transform: none !important;
opacity: 1 !important;
visibility: hidden !important;
pointer-events: none !important;
z-index: 10021 !important;
transition: right 0.28s ease, visibility 0s linear 0.28s !important;
}
.site-header .gnb.open,
.site-header.site-header--hero .gnb.open,
.site-header.site-header--compact .gnb.open {
right: 0 !important;
visibility: visible !important;
pointer-events: auto !important;
transition-delay: 0s !important;
}
.site-header .gnb .nav-list,
.site-header.site-header--hero .gnb .nav-list,
.site-header.site-header--compact .gnb .nav-list {
display: block !important;
flex: 0 0 auto !important;
width: 100% !important;
height: auto !important;
min-height: 0 !important;
max-height: none !important;
margin: 0 !important;
padding: 0 14px !important;
overflow: visible !important;
}
.site-header .gnb .nav-item,
.site-header.site-header--hero .gnb .nav-item,
.site-header.site-header--compact .gnb .nav-item {
position: relative !important;
display: block !important;
width: 100% !important;
height: auto !important;
min-height: 0 !important;
margin: 0 !important;
padding: 3px 0 !important;
overflow: visible !important;
border: 0 !important;
border-bottom: 1px solid var(--border-subtle) !important;
}
.site-header .gnb .nav-link,
.site-header.site-header--hero .gnb .nav-link,
.site-header.site-header--compact .gnb .nav-link {
position: relative !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
width: 100% !important;
height: auto !important;
min-height: 50px !important;
margin: 0 !important;
padding: 13px 14px !important;
color: var(--navy) !important;
background: transparent !important;
border: 0 !important;
border-radius: 8px !important;
font-size: 16px !important;
font-weight: 800 !important;
line-height: 1.4 !important;
text-align: left !important;
white-space: normal !important;
}
.site-header .gnb .nav-link::after {
display: none !important;
}
.site-header .gnb .nav-link:hover,
.site-header .gnb .nav-link:focus-visible,
.site-header .gnb .nav-item.active > .nav-link,
.site-header .gnb .menu-item-has-children.active > .nav-link {
color: var(--navy) !important;
background: rgba(184, 146, 74, 0.14) !important;
}
.site-header .gnb .nav-caret {
flex: 0 0 auto;
margin-left: 12px !important;
color: var(--gold) !important;
font-size: 12px !important;
line-height: 1 !important;
transition: transform 0.2s ease;
}
.site-header .gnb .nav-item.active > .nav-link .nav-caret,
.site-header .gnb .menu-item-has-children.active > .nav-link .nav-caret {
transform: rotate(180deg) !important;
}
.site-header .gnb .sub-menu,
.site-header.site-header--hero .gnb .sub-menu,
.site-header.site-header--compact .gnb .sub-menu {
position: static !important;
display: none !important;
width: 100% !important;
min-width: 0 !important;
height: auto !important;
margin: 2px 0 6px !important;
padding: 6px !important;
overflow: visible !important;
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
background: var(--bg-warm) !important;
border: 1px solid var(--border-subtle) !important;
border-radius: 8px !important;
box-shadow: none !important;
}
.site-header .gnb .nav-item.active > .sub-menu,
.site-header .gnb .menu-item-has-children.active > .sub-menu {
display: block !important;
}
.site-header .gnb .sub-menu li {
display: block !important;
width: 100% !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
}
.site-header .gnb .sub-menu a {
display: flex !important;
align-items: center !important;
width: 100% !important;
min-height: 46px !important;
margin: 0 !important;
padding: 11px 16px !important;
color: var(--navy) !important;
border: 0 !important;
border-radius: 6px !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 1.45 !important;
}
.site-header .gnb .sub-menu a:hover,
.site-header .gnb .sub-menu a:focus-visible {
background: rgba(184, 146, 74, 0.14) !important;
}
.site-header .gnb .nav-cta,
.site-header.site-header--hero .gnb .nav-cta,
.site-header.site-header--compact .gnb .nav-cta {
display: flex !important;
align-items: center !important;
justify-content: center !important;
flex: 0 0 auto !important;
width: calc(100% - 28px) !important;
min-height: 50px !important;
height: auto !important;
margin: 18px 14px 0 !important;
padding: 13px 18px !important;
color: #fff !important;
background: var(--navy) !important;
border-radius: 8px !important;
font-size: 15px !important;
font-weight: 800 !important;
}
}
@media (max-width: 640px) {
.site-header .gnb,
.site-header.site-header--hero .gnb,
.site-header.site-header--compact .gnb {
width: 100% !important;
border-left: 0 !important;
}
}
@media (prefers-reduced-motion: reduce) {
.site-header .gnb {
transition: none !important;
}
}