*, *::before, *::after { box-sizing: border-box; }
:root {
  --sol-blue:#1a56db;
  --sol-blue-dark:#1747b4;
  --sol-blue-soft:#eef5ff;
  --sol-navy:#11213e;
  --sol-text:#182235;
  --sol-sub:#5a687d;
  --sol-muted:#8b98aa;
  --sol-border:#e2e8f1;
  --sol-soft:#f6f8fb;
}
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:#fff;
  color:var(--sol-text);
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; }
.solutions-container { width:min(calc(100% - 48px),1180px); margin:0 auto; }

.solutions-hero {
  padding:76px 0 82px;
  background:
    radial-gradient(circle at 83% 16%,rgba(72,133,234,.18),transparent 28%),
    linear-gradient(135deg,#102b5b 0%,#153c7e 58%,#1a56db 100%);
  color:#fff;
}
.solutions-breadcrumb { display:flex; gap:8px; align-items:center; margin-bottom:38px; color:rgba(255,255,255,.58); font-size:12px; }
.solutions-breadcrumb a { text-decoration:none; }
.solutions-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.8fr); gap:70px; align-items:end; }
.solutions-eyebrow { display:block; margin-bottom:14px; color:#9ec4ff; font-size:11px; font-weight:750; letter-spacing:.14em; }
.solutions-hero h1 { margin:0; font-size:clamp(38px,5vw,58px); line-height:1.16; letter-spacing:-.055em; word-break:keep-all; }
.solutions-hero p { margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.85; word-break:keep-all; }

.solutions-jump { border-bottom:1px solid var(--sol-border); background:#fff; }
.solutions-jump-inner { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.solutions-jump a { min-height:74px; display:flex; align-items:center; justify-content:center; gap:10px; border-right:1px solid var(--sol-border); color:#4e5e75; text-decoration:none; font-size:14px; font-weight:650; transition:background .18s,color .18s; }
.solutions-jump a:first-child { border-left:1px solid var(--sol-border); }
.solutions-jump a span { color:#9aa7b9; font-size:10px; font-weight:800; letter-spacing:.1em; }
.solutions-jump a:hover { color:var(--sol-blue); background:#f6f9ff; }

.solutions-intro { padding:96px 0 78px; }
.solutions-intro-grid { display:grid; grid-template-columns:minmax(300px,.65fr) minmax(0,1fr); gap:90px; align-items:end; }
.solutions-section-kicker,.domain-kicker { display:block; margin-bottom:12px; color:var(--sol-blue); font-size:11px; font-weight:800; letter-spacing:.13em; }
.solutions-intro h2 { margin:0; color:var(--sol-navy); font-size:clamp(32px,4vw,48px); line-height:1.2; letter-spacing:-.05em; }
.solutions-intro p { margin:0; color:var(--sol-sub); font-size:16px; line-height:1.85; word-break:keep-all; }

.solution-domain { padding:104px 0; scroll-margin-top:78px; border-top:1px solid var(--sol-border); }
.domain-soft { background:var(--sol-soft); }
.domain-heading { display:grid; grid-template-columns:72px minmax(0,1fr); gap:28px; align-items:start; margin-bottom:44px; }
.domain-number { width:64px; height:64px; display:grid; place-items:center; border:1px solid #cfe0f8; border-radius:18px; background:var(--sol-blue-soft); color:var(--sol-blue); font-size:13px; font-weight:800; letter-spacing:.08em; }
.domain-heading h2 { margin:0; color:var(--sol-navy); font-size:34px; line-height:1.25; letter-spacing:-.045em; }
.domain-heading p { max-width:720px; margin:11px 0 0; color:var(--sol-sub); font-size:15px; line-height:1.78; word-break:keep-all; }

.solution-card-grid { display:grid; gap:18px; }
.three-cols { grid-template-columns:repeat(3,minmax(0,1fr)); }
.two-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
.one-col { grid-template-columns:1fr; }
.solution-overview-card { position:relative; min-height:390px; padding:30px; display:flex; flex-direction:column; border:1px solid var(--sol-border); border-radius:19px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 12px 30px rgba(32,66,111,.045); transition:transform .2s,border-color .2s,box-shadow .2s; }
.solution-overview-card:hover { transform:translateY(-4px); border-color:#9fbee9; box-shadow:0 20px 40px rgba(32,66,111,.10); }
.solution-card-icon { width:54px; height:54px; display:grid; place-items:center; margin-bottom:26px; border-radius:15px; background:var(--sol-blue-soft); color:var(--sol-blue); }
.solution-card-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.65; }
.solution-card-label { color:#8492a6; font-size:10px; font-weight:800; letter-spacing:.12em; }
.solution-overview-card h3 { margin:8px 0 10px; color:#20304a; font-size:22px; line-height:1.3; letter-spacing:-.035em; }
.solution-overview-card p { margin:0; color:var(--sol-sub); font-size:13px; line-height:1.76; word-break:keep-all; }
.solution-overview-card ul { margin:22px 0 28px; padding:0; display:grid; gap:8px; list-style:none; }
.solution-overview-card li { display:flex; align-items:center; gap:8px; color:#647287; font-size:12px; }
.solution-overview-card li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--sol-blue); box-shadow:0 0 0 4px rgba(26,86,219,.08); }
.solution-card-more { margin-top:auto; display:inline-flex; align-items:center; gap:7px; color:var(--sol-blue); font-size:13px; font-weight:750; }
.solution-card-more svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; transition:transform .18s; }
.solution-overview-card:hover .solution-card-more svg { transform:translateX(3px); }
.solution-card-wide { min-height:260px; display:grid; grid-template-columns:70px minmax(0,1fr) minmax(250px,.7fr) auto; gap:26px; align-items:center; }
.solution-card-wide .solution-card-icon { margin:0; }
.solution-card-wide .solution-card-wide-copy h3 { margin-bottom:8px; }
.solution-card-wide ul { margin:0; }
.solution-card-wide .solution-card-more { margin:0; white-space:nowrap; }

.solutions-contact { padding:90px 0; background:#112d5e; color:#fff; }
.solutions-contact-inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.solutions-contact span { color:#8fbaff; font-size:10px; font-weight:800; letter-spacing:.14em; }
.solutions-contact h2 { margin:11px 0 10px; font-size:clamp(27px,3.3vw,40px); line-height:1.25; letter-spacing:-.045em; }
.solutions-contact p { margin:0; color:rgba(255,255,255,.66); font-size:14px; }
.solutions-contact a { flex:0 0 auto; min-height:50px; padding:0 22px; display:inline-flex; align-items:center; gap:9px; border-radius:10px; background:#fff; color:#183968; text-decoration:none; font-size:14px; font-weight:750; }
.solutions-contact a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; }

@media(max-width:1000px){
  .solutions-hero-grid { grid-template-columns:1fr; gap:28px; }
  .solutions-hero p { max-width:720px; }
  .three-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solution-card-wide { grid-template-columns:62px minmax(0,1fr); }
  .solution-card-wide ul { grid-column:2; }
  .solution-card-wide .solution-card-more { grid-column:2; }
}
@media(max-width:760px){
  .solutions-container { width:min(calc(100% - 32px),1180px); }
  .solutions-hero { padding:58px 0 64px; }
  .solutions-breadcrumb { margin-bottom:28px; }
  .solutions-jump-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .solutions-jump a:nth-child(3) { border-left:1px solid var(--sol-border); border-top:1px solid var(--sol-border); }
  .solutions-jump a:nth-child(4) { border-top:1px solid var(--sol-border); }
  .solutions-intro { padding:72px 0 54px; }
  .solutions-intro-grid { grid-template-columns:1fr; gap:24px; }
  .solution-domain { padding:76px 0; }
  .domain-heading { grid-template-columns:1fr; gap:18px; }
  .domain-number { width:54px; height:54px; border-radius:15px; }
  .three-cols,.two-cols { grid-template-columns:1fr; }
  .solution-overview-card { min-height:0; }
  .solution-card-wide { display:flex; align-items:flex-start; }
  .solution-card-wide ul { margin:22px 0 28px; }
  .solutions-contact-inner { align-items:flex-start; flex-direction:column; }
  .solutions-contact a { width:100%; justify-content:center; }
}
@media(prefers-reduced-motion:reduce){ *,*::before,*::after{ scroll-behavior:auto!important; transition:none!important; } }
