
:root{
  --navy:#0d2f57;
  --navy2:#08233f;
  --blue:#1d5f99;
  --sky:#eaf3fb;
  --ink:#17202b;
  --muted:#687484;
  --line:#dce4ec;
  --white:#fff;
  --shadow:0 24px 60px rgba(11,42,73,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.narrow{width:min(850px,calc(100% - 40px));text-align:center}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,47,87,.08)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:12px}
.logo-mark{width:42px;height:42px;display:inline-flex;align-items:flex-end;justify-content:center;gap:3px;position:relative}
.logo-mark:before{content:"S";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--navy);z-index:2}
.gate-left,.gate-right{width:16px;height:31px;border:2px solid var(--navy);border-bottom:0;opacity:.9}
.gate-left{border-right:0;border-radius:7px 0 0 0}
.gate-right{border-left:0;border-radius:0 7px 0 0}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-size:21px;letter-spacing:.1em;color:var(--navy)}
.brand-text small{font-size:9px;letter-spacing:.34em;margin-top:6px;color:#58718c}
.mainnav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:650}
.mainnav a:hover{color:var(--blue)}
.nav-cta{padding:10px 17px;border:1px solid var(--navy);border-radius:999px}
.menu-btn{display:none;border:0;background:none;font-size:25px;color:var(--navy)}
.hero{background:linear-gradient(135deg,#f7fbff 0%,#edf5fc 52%,#dfeef9 100%);padding:90px 0 82px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:65px}
.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--blue);margin:0 0 16px}
.hero h1{font-size:clamp(42px,5vw,66px);line-height:1.18;letter-spacing:-.045em;margin:0;color:var(--navy2)}
.hero h1 span{color:var(--blue)}
.hero-lead{font-size:18px;color:#4e6071;max-width:660px;margin:28px 0 33px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;border-radius:8px;font-weight:800;font-size:14px;transition:.2s}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(13,47,87,.18)}
.btn.primary:hover{transform:translateY(-2px);background:#123d6b}
.btn.ghost{border:1px solid #a8bacb;background:rgba(255,255,255,.55);color:var(--navy)}
.trust-strip{display:flex;align-items:center;gap:13px;margin-top:38px;font-size:12px;font-weight:750;color:#62758a;letter-spacing:.03em}
.trust-strip i{width:3px;height:3px;border-radius:50%;background:#91a7ba}
.hero-visual{min-height:470px;display:flex;align-items:center;justify-content:center;position:relative}
.hero-visual:before,.hero-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.7)}
.hero-visual:before{width:290px;height:290px;right:-40px;top:15px}
.hero-visual:after{width:190px;height:190px;left:-20px;bottom:20px}
.visual-card{position:relative;z-index:2;width:min(430px,100%);height:410px;border-radius:28px;background:linear-gradient(150deg,#123c69,#0b2949 72%);box-shadow:var(--shadow);padding:48px;color:#fff;overflow:hidden}
.visual-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-75px;top:-65px;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02)}
.sg-line{font-size:11px;letter-spacing:.28em;color:#a8c6e4;font-weight:800}
.visual-title{font-size:34px;line-height:1.15;font-weight:800;margin-top:38px;max-width:260px}
.visual-sub{margin-top:12px;color:#b9cce0;font-size:13px}
.skyline{position:absolute;left:42px;right:42px;bottom:32px;height:118px;display:flex;gap:8px;align-items:flex-end;opacity:.72}
.skyline b{display:block;flex:1;background:linear-gradient(#7ca9cf,#d6e7f5);border-radius:3px 3px 0 0}
.skyline b:nth-child(1){height:46%}.skyline b:nth-child(2){height:73%}.skyline b:nth-child(3){height:55%}.skyline b:nth-child(4){height:98%}.skyline b:nth-child(5){height:64%}.skyline b:nth-child(6){height:82%}
.section{padding:100px 0}
.intro h2,.section-heading h2,.why h2,.contact h2{font-size:clamp(32px,4vw,48px);line-height:1.25;letter-spacing:-.04em;margin:0;color:var(--navy2)}
.intro p:last-child{font-size:18px;color:var(--muted);margin:28px auto 0;max-width:760px}
.services{background:#f7f9fb}
.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:44px}
.section-heading>p{margin:0;color:var(--muted);font-size:16px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:white;border:1px solid #e2e8ee;border-radius:16px;padding:31px 28px 30px;min-height:280px;display:flex;flex-direction:column;transition:.22s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(27,59,89,.09);border-color:#c8d7e5}
.num{font-size:12px;color:#7591aa;font-weight:800;letter-spacing:.12em}
.service-card h3{font-size:22px;color:var(--navy);margin:24px 0 12px;letter-spacing:-.02em}
.service-card p{font-size:14px;color:#687484;margin:0}
.service-card a{margin-top:auto;padding-top:23px;font-size:13px;font-weight:800;color:var(--blue)}
.why{background:linear-gradient(135deg,var(--navy2),var(--navy));color:white}
.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.section-kicker.light{color:#8eb9df}
.why h2{color:white}
.why-copy{color:#bacadd;max-width:520px;margin-top:24px}
.why-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16)}
.why-list>div{display:flex;gap:22px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.why-list strong{color:#74a8d3;font-size:13px;letter-spacing:.12em}
.why-list span{display:flex;flex-direction:column}
.why-list b{font-size:18px}
.why-list small{color:#aebfd0;margin-top:5px;font-size:14px}
.contact{background:white}
.contact-box{border:1px solid #dbe4ec;border-radius:22px;padding:54px 58px;display:flex;justify-content:space-between;align-items:center;gap:50px;background:linear-gradient(120deg,#fff,#f5f9fc)}
.contact h2{font-size:40px}
.contact p{color:var(--muted)}
.contact-actions{text-align:center;min-width:220px}
.contact-actions .btn{width:100%}
.contact-note{font-size:12px!important;margin:12px 0 0}
footer{background:#071b30;color:#b9c6d3;padding:44px 0}
.footer-wrap{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:25px;font-size:12px}
.footer-brand .logo-mark:before{color:white}.footer-brand .gate-left,.footer-brand .gate-right{border-color:white}.footer-brand .brand-text strong{color:white}.footer-brand .brand-text small{color:#9ab0c6}
.footer-wrap>p:nth-child(2){text-align:center}
.copyright{text-align:right}
@media(max-width:900px){
  .mainnav{position:absolute;top:81px;left:0;right:0;background:#fff;border-bottom:1px solid #e5eaf0;padding:20px;display:none;flex-direction:column;align-items:flex-start;gap:16px}
  .mainnav.open{display:flex}.menu-btn{display:block}
  .hero{padding:66px 0 58px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-visual{min-height:340px}.visual-card{height:330px;padding:36px}
  .section{padding:76px 0}.section-heading,.why-grid{grid-template-columns:1fr;gap:28px}.service-grid{grid-template-columns:1fr 1fr}
  .contact-box{padding:38px 32px;align-items:flex-start;flex-direction:column}.contact-actions{text-align:left}
  .footer-wrap{grid-template-columns:1fr}.footer-wrap>p:nth-child(2),.copyright{text-align:left}
}
@media(max-width:620px){
  .container,.narrow{width:min(100% - 28px,1160px)}
  .nav-wrap{height:72px}.mainnav{top:71px}
  .hero h1{font-size:38px}.hero-lead{font-size:16px}
  .hero-visual{min-height:300px}.visual-card{height:290px;border-radius:20px;padding:30px}.visual-title{font-size:29px;margin-top:28px}.skyline{height:82px}
  .section{padding:64px 0}.section-heading h2,.intro h2,.why h2,.contact h2{font-size:31px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:240px}
  .contact-box{padding:30px 24px}.trust-strip{gap:8px;font-size:10px}.footer-wrap{gap:16px}
}
