:root{
    --navy:#061225;
    --navy-2:#0b1d3a;
    --blue:#2458e8;
    --blue-2:#3a7bff;
    --sky:#eaf2ff;
    --text:#111827;
    --muted:#667085;
    --line:#e7ecf4;
    --soft:#f7f9fc;
    --white:#fff;
    --shadow:0 24px 70px rgba(13, 32, 67, .10);
    --shadow-soft:0 16px 40px rgba(13, 32, 67, .08);
    --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color:var(--text);
    background:#fff;
    letter-spacing:-.035em;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit}
.container{width:min(1180px, calc(100% - 48px));margin:0 auto}
.site-wrap{min-height:100vh;overflow:hidden;background:#fff}
.site-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:1000;
    background:rgba(255,255,255,.78);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(231,236,244,.72);
    transition:.28s ease;
}
.site-header.is-scrolled{box-shadow:0 12px 34px rgba(9,25,57,.08);background:rgba(255,255,255,.94)}
.header-inner{height:78px;display:flex;align-items:center;gap:34px}
.brand,.footer-logo{font-weight:900;font-size:25px;letter-spacing:-.04em;color:var(--navy)}
.brand span,.footer-logo span{color:#1e4ddd}
.gnb{margin-left:auto;display:flex;align-items:center;gap:38px;font-size:15px;font-weight:700;color:#1d2939}
.gnb a{position:relative;padding:28px 0;transition:.2s ease}
.gnb a:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.2s ease}
.gnb a:hover{color:var(--blue)}
.gnb a:hover:after{transform:scaleX(1)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800;font-size:14px;box-shadow:0 10px 24px rgba(6,18,37,.18);transition:.2s ease}
.header-cta:hover{transform:translateY(-2px);background:#102244}
.mobile-menu-btn{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;position:relative;cursor:pointer}
.mobile-menu-btn span{display:block;width:24px;height:2px;background:var(--navy);margin:5px auto;border-radius:5px;transition:.25s ease}
.mobile-drawer{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 28px;border-radius:12px;font-weight:850;font-size:16px;transition:.22s ease;gap:8px;white-space:nowrap}
.btn:after{content:"→";font-weight:900}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 16px 34px rgba(6,18,37,.18)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(6,18,37,.24)}
.btn-ghost{background:#fff;color:#182338;border:1px solid var(--line);box-shadow:0 10px 26px rgba(13,32,67,.05)}
.btn-ghost:hover,.btn-line:hover{border-color:#b9c7de;transform:translateY(-2px)}
.btn-line{height:50px;background:#fff;border:1px solid #b9c7de;color:#182338}
.btn-outline-light{height:50px;color:#fff;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.06)}
.btn-outline-light:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.eyebrow{margin:0 0 14px;color:var(--blue);font-size:14px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.section-pad{padding:100px 0}
.section-head{margin-bottom:46px}
.section-head h2,.about-copy h2,.ai-copy h2,.contact-band h2{margin:0;color:var(--text);font-size:42px;line-height:1.22;letter-spacing:-.06em;font-weight:900}
.split-head,.row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.split-head>p{margin:0;max-width:430px;color:#475467;font-size:17px;line-height:1.75;font-weight:600}
.text-link{font-weight:850;color:var(--navy);transition:.2s ease}.text-link:hover{color:var(--blue)}
.site-footer{background:#041126;color:#fff;padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3, .8fr) 1.3fr;gap:36px}
.footer-logo{display:inline-block;color:#fff;margin-bottom:20px}.footer-logo span{color:#79a7ff}
.footer-brand p,.footer-contact p{margin:0 0 14px;color:#b8c3d7;font-size:14px;line-height:1.7}
.social-links{display:flex;gap:10px;margin-top:22px}.social-links a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#dfe8ff;font-weight:700;font-size:13px}
.footer-col h3,.footer-contact h3{margin:0 0 18px;font-size:15px}.footer-col a{display:block;color:#b8c3d7;font-size:14px;margin:0 0 12px;transition:.2s}.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:46px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#8794aa;font-size:13px}.footer-bottom p{margin:0}.footer-bottom a{margin-left:22px;color:#8794aa}
.reveal-up,.reveal-scale{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal-scale{transform:translateY(24px) scale(.96)}
.is-visible .reveal-up,.is-visible.reveal-up{opacity:1;transform:translateY(0)}
.is-visible .reveal-scale,.is-visible.reveal-scale{opacity:1;transform:translateY(0) scale(1)}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}
@media (max-width:1024px){
    .gnb,.header-cta{display:none}.mobile-menu-btn{display:block}.header-inner{height:68px}.container{width:min(100% - 36px, 1180px)}
    .mobile-drawer{display:block;position:fixed;inset:68px 0 auto 0;z-index:999;opacity:0;pointer-events:none;transition:.25s ease;background:rgba(6,18,37,.35);height:calc(100vh - 68px)}
    .mobile-drawer.is-open{opacity:1;pointer-events:auto}.mobile-drawer-panel{background:#fff;margin:0 18px;border-radius:0 0 22px 22px;box-shadow:var(--shadow);padding:18px}.mobile-drawer-panel a{display:block;padding:16px 14px;border-bottom:1px solid var(--line);font-weight:800}.mobile-drawer-panel a:last-child{border-bottom:0}.mobile-drawer-cta{background:var(--navy);color:#fff;border-radius:12px;text-align:center;margin-top:8px}
    .section-head h2,.about-copy h2,.ai-copy h2,.contact-band h2{font-size:34px}.split-head,.row-head{display:block}.split-head>p{margin-top:18px}
    .footer-grid{grid-template-columns:1fr 1fr}.footer-brand,.footer-contact{grid-column:span 2}.footer-bottom{display:block}.footer-bottom div{margin-top:16px}.footer-bottom a{margin:0 16px 0 0}
}
@media (max-width:640px){.container{width:min(100% - 28px, 1180px)}.section-pad{padding:72px 0}.btn{width:100%;height:52px}.footer-grid{grid-template-columns:1fr}.footer-brand,.footer-contact{grid-column:auto}.section-head h2,.about-copy h2,.ai-copy h2,.contact-band h2{font-size:30px}}

/* shared refinements for sub pages */
.gnb a.is-active{color:var(--blue)}
.gnb a.is-active:after{transform:scaleX(1)}
.mobile-drawer-panel a.is-active{color:var(--blue);font-weight:900}
.global-cta{padding:86px 0;background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)}
.global-cta-inner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:42px;padding:48px 54px;border-radius:30px;background:linear-gradient(135deg,#061225 0%,#0d2a5b 56%,#123c8a 100%);color:#fff;box-shadow:0 28px 80px rgba(6,18,37,.22)}
.global-cta-inner:before{content:"";position:absolute;inset:-80px -140px auto auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(75,132,255,.52),rgba(75,132,255,0) 68%)}
.global-cta-inner:after{content:"";position:absolute;right:34px;bottom:-80px;width:280px;height:150px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 1px,transparent 1px 18px);transform:rotate(-12deg);opacity:.5}
.global-cta-inner>*{position:relative;z-index:1}.global-cta .eyebrow{color:#8db7ff}.global-cta h2{margin:0;font-size:34px;line-height:1.28;letter-spacing:-.06em}.global-cta p:not(.eyebrow){margin:18px 0 0;color:#cbd7ee;font-size:16px;line-height:1.7;font-weight:600}.global-cta .btn{background:#fff;color:#061225;box-shadow:none;min-width:205px}
@media (max-width:900px){.global-cta-inner{display:block;padding:38px 28px}.global-cta .btn{margin-top:26px;width:100%}.global-cta h2{font-size:28px}}
