@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css);:root{--fg:#111827;--muted:#667085;--subtle:#98a2b3;--border:#e5e7eb;--surface:#f8fafc;--surface-blue:#f3f7fb;--primary:#315f8c;--primary-hover:#254c73;--navy:#172b3f}*{box-sizing:border-box}#root,body,html{min-height:100%}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fff;color:#111827;color:var(--fg);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7;margin:0}.container{margin:0 auto;max-width:1120px;padding-inline:clamp(24px,5vw,56px)}.muted{color:#667085;color:var(--muted)}.pad-y{padding-block:clamp(76px,9vw,112px)}.top-gap{margin-top:12px}.vstack-8{grid-gap:12px;display:grid;gap:12px}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;transition:box-shadow .25s ease,background .25s ease;z-index:1000}.nav.scrolled{background:#fffffffa;box-shadow:0 3px 14px #1018280d}.nav-inner{align-items:center;display:flex;gap:24px;justify-content:space-between;min-height:78px}.brand{display:inline-flex;text-decoration:none}.brand-logo{display:block;height:43px;width:auto}.nav-actions{align-items:center;display:flex;gap:30px}.nav-actions a{color:#475467;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s ease}.nav-actions a.muted:hover{color:#315f8c;color:var(--primary)}.btn{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;justify-content:center;min-height:44px;padding:10px 22px;text-decoration:none;transition:background-color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}.btn.primary{background:#315f8c;background:var(--primary);border-color:#315f8c;border-color:var(--primary);color:#fff}.btn.primary:hover{background:#254c73;background:var(--primary-hover);border-color:#254c73;border-color:var(--primary-hover);box-shadow:0 4px 10px #315f8c29;transform:translateY(-1px)}.btn.outline{background:#ffffff14;border-color:#ffffff80;color:#fff}.btn.outline:hover{background:#ffffff24;border-color:#ffffffbf;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.6}.hero{background:linear-gradient(135deg,#6fa9dc,#5f94ca 55%,#537fab);min-height:510px;overflow:hidden;padding-block:clamp(84px,11vh,116px);position:relative}.hero .overlay{background:linear-gradient(180deg,#1118272b,#11182714);inset:0;position:absolute}.hero-content{align-items:center;color:#fff;display:flex;flex-direction:column;gap:25px;justify-content:center;position:relative;text-align:center}.hero-graphic{height:auto;opacity:.95;width:min(45vw,360px)}.hero h1{font-size:clamp(1.85rem,3.4vw,2.65rem);font-weight:650;letter-spacing:-.035em;line-height:1.25;margin:0}.hero p{font-size:clamp(1rem,1.8vw,1.18rem);font-weight:400;line-height:1.75;margin:0;max-width:720px;opacity:.95;word-break:keep-all}.cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:5px}h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:650;letter-spacing:-.035em;line-height:1.3;margin:8px 0 0;text-align:center}h2,h3{color:#111827;color:var(--fg)}.section-label,h3{font-weight:600}.section-label{color:#315f8c;color:var(--primary);display:block;font-size:.68rem;letter-spacing:.18em;text-align:center}.section-label.align-left{text-align:left}.section-subtitle{color:#667085;color:var(--muted);font-size:1rem;line-height:1.75;margin:13px auto 0;max-width:720px;text-align:center}.cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:45px}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;padding:30px 27px;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.card:hover{border-color:#cbd5e1;box-shadow:0 5px 15px #1018280d;transform:translateY(-2px)}.card-title{color:#111827;color:var(--fg);font-size:1.08rem;font-weight:600;margin:0 0 11px}.card-desc{color:#667085;color:var(--muted);font-size:.92rem;line-height:1.75;margin:0;word-break:keep-all}.portfolio-section{background:#f8fafc;background:var(--surface);border-block:1px solid #eef0f3;max-width:none;padding-inline:max(24px,calc(50vw - 504px))}.current-projects{background:#f2f6fa;border:1px solid #dae4ed;border-radius:10px;display:grid;grid-template-columns:.72fr 2fr;margin:42px auto 0;max-width:1008px;overflow:hidden}.current-projects-heading{grid-gap:13px;align-items:center;border-right:1px solid #dae4ed;display:grid;gap:13px;grid-template-columns:9px 1fr auto;padding:25px 27px}.status-dot{background:#315f8c;background:var(--primary);border-radius:50%;box-shadow:0 0 0 4px #315f8c1a;height:8px;width:8px}.current-projects-heading div{grid-gap:4px;display:grid;gap:4px}.current-projects-heading span:not(.status-dot){color:#315f8c;color:var(--primary);font-size:.61rem;font-weight:600;letter-spacing:.13em}.current-projects-heading strong{color:#111827;color:var(--fg);font-size:.84rem;font-weight:600}.current-projects-heading em{color:#7f93a6;font-size:.75rem;font-style:normal}.current-projects-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.current-projects-list article{display:flex;flex-direction:column;gap:5px;justify-content:center;min-width:0;padding:22px 27px}.current-projects-list article+article{border-left:1px solid #dae4ed}.current-projects-list span{color:#315f8c;color:var(--primary);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.current-projects-list strong{color:#111827;color:var(--fg);font-size:.91rem;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-projects-list time{color:#7b8795;font-size:.69rem;font-weight:500}.portfolio-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));margin:48px auto 0;max-width:1008px}.portfolio-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px rgba(16,24,40,.025);display:flex;flex-direction:column;min-height:455px;overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.portfolio-card:hover{border-color:#c8d2dc;box-shadow:0 7px 18px rgba(16,24,40,.055);transform:translateY(-2px)}.portfolio-image{align-items:center;aspect-ratio:16/6.7;background:#eaf0f6;display:flex;justify-content:center;overflow:hidden;position:relative}.portfolio-image:before{background:var(--project-accent);content:"";inset:0;opacity:.1;position:absolute;transition:transform .25s ease}.portfolio-image:after{border:1px solid #315f8c29;border-radius:50%;content:"";height:170px;position:absolute;width:170px}.portfolio-card:hover .portfolio-image:before{transform:scale(1.02)}.portfolio-image span{background:#ffffffc2;border:1px solid #315f8c29;border-radius:10px;color:#315f8c;display:grid;filter:grayscale(.55);font-size:1.65rem;height:58px;place-items:center;position:relative;width:58px;z-index:1}.portfolio-content{display:flex;flex:1 1;flex-direction:column;padding:29px 30px 28px}.portfolio-header{margin-bottom:0}.portfolio-category{color:#315f8c;color:var(--primary);display:block;font-size:.69rem;font-weight:600;letter-spacing:.11em;margin-bottom:11px;text-transform:uppercase}.portfolio-title{color:#111827;color:var(--fg);font-size:1.18rem;font-weight:600;letter-spacing:-.02em;line-height:1.5;margin:0;min-height:3.1em;word-break:keep-all}.portfolio-desc{color:#667085;color:var(--muted);font-size:.91rem;line-height:1.75;margin:15px 0 16px;min-height:3.6em;word-break:keep-all}.portfolio-meta{color:#7b8794;display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:500;gap:12px;margin-top:auto}.portfolio-period:before{color:#98a2b3;color:var(--subtle);content:"PERIOD";font-size:.63rem;letter-spacing:.09em;margin-right:9px}.portfolio-tech{border-top:1px solid #eef0f2;display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;padding-top:17px}.tech-badge{background:#f4f7fa;border:1px solid #e3e9ef;border-radius:5px;color:#51677d;display:inline-block;font-size:.7rem;font-weight:500;line-height:1.35;padding:4px 9px}.tech-section{background:#fff}.tech-categories{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px}.tech-category{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;padding:25px 22px;transition:border-color .22s ease,box-shadow .22s ease}.tech-category:hover{border-color:#cdd6df;box-shadow:0 4px 12px #1018280a}.tech-category-title{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#111827;color:var(--fg);font-size:.9rem;font-weight:600;margin:0 0 17px;padding-bottom:13px}.tech-category-title:after{background:#315f8c;background:var(--primary);content:"";display:block;height:2px;margin-bottom:-15px;margin-top:13px;width:22px}.tech-items{grid-gap:7px;display:grid;gap:7px}.tech-item{align-items:center;background:#f8fafc;border:1px solid #0000;border-radius:6px;display:flex;gap:10px;padding:8px 9px;transition:background .2s ease,border-color .2s ease}.tech-item:hover{background:#f3f7fb;background:var(--surface-blue);border-color:#e0e8f0}.tech-icon{filter:grayscale(.65);font-size:1rem;line-height:1;text-align:center;width:22px}.tech-name{color:#475467;font-size:.8rem;font-weight:500}.about-panel,.about-section{background:#fff}.about-panel{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px rgba(16,24,40,.025);padding:clamp(32px,5vw,48px)}.about-panel h3{font-size:1.45rem;margin:9px 0 22px}.about-desc{color:#667085;color:var(--muted);font-size:.96rem;line-height:1.85;margin:0 0 18px;word-break:keep-all}.about-desc:last-of-type{margin-bottom:0}.about-values{grid-gap:26px;border-top:1px solid #e5e7eb;border-top:1px solid var(--border);display:grid;gap:26px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;padding-top:30px}.value-item{display:flex;flex-direction:column;gap:7px}.value-item strong{color:#111827;color:var(--fg);font-size:.98rem;font-weight:600}.value-item span{color:#667085;color:var(--muted);font-size:.86rem;line-height:1.65}.contact-gap{background:#f8fafc;background:var(--surface);border-top:1px solid #eef0f2}.contact-list{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;font-style:normal;margin:25px auto 0;max-width:630px;padding:4px 24px}.contact-list>div{border-bottom:1px solid #eef0f2;color:#475467;font-size:.9rem;line-height:1.6;padding:13px 0}.contact-list>div:last-child{border-bottom:0}.contact-list a{color:inherit;text-decoration:none;transition:color .2s ease}.contact-list a:hover{color:#315f8c;color:var(--primary)}.footer{background:#172b3f;background:var(--navy);border-top:0;color:#ffffffb8;padding:40px 0 24px}.footer-inner{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding-bottom:20px}.footer-links{display:flex;gap:28px}.footer-links a{color:#ffffffad;font-size:.84rem;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#fff}.footer-inner>div:first-child{color:#ffffff8f;font-size:.82rem}.btn:focus-visible,.contact-list a:focus-visible,.footer a:focus-visible,.nav a:focus-visible{outline:2px solid #70a0cc;outline-offset:3px}@media (max-width:900px){.cards{grid-template-columns:1fr}.tech-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.container{padding-inline:24px}.nav-inner{min-height:68px}.brand-logo{height:38px}.nav-actions{gap:12px}.nav-actions a:not(.btn){display:none}.hero{min-height:460px;padding-block:72px}.hero-graphic{width:min(68vw,320px)}.hero-content{gap:21px}.pad-y{padding-block:72px}.portfolio-section{padding-inline:24px}.current-projects{grid-template-columns:1fr}.current-projects-heading{border-bottom:1px solid #dae4ed;border-right:0}.portfolio-grid{gap:20px;grid-template-columns:1fr}.portfolio-card,.portfolio-desc,.portfolio-title{min-height:0}.portfolio-image{aspect-ratio:16/6.5}.about-values{gap:20px;grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column;gap:14px}.footer-links{flex-wrap:wrap;gap:18px 24px}}@media (max-width:560px){.hero h1{font-size:1.75rem}.hero p{font-size:.96rem}.btn{padding-inline:18px}.tech-categories{grid-template-columns:1fr}.portfolio-content{padding:25px 23px 24px}.current-projects-list{grid-template-columns:1fr}.current-projects-list article+article{border-left:0;border-top:1px solid #dae4ed}.current-projects-list strong{white-space:normal}.about-panel{padding:28px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.fc97406e.css.map*/