/* Reference-inspired typography and luminous navy, preserving the approved layout. */
body{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;color:#132d4e;-webkit-font-smoothing:antialiased;line-height:1.75}
h1,h2,h3,.brand strong{font-weight:800;word-break:keep-all}
h1{font-size:clamp(36px,3.7vw,60px);letter-spacing:-.045em;line-height:1.23}
h2{font-size:38px;letter-spacing:-.035em;line-height:1.3}
h3{letter-spacing:-.025em}
h1 em{color:#285fa2}
.lede{font-size:18px;line-height:1.85;color:#53667c;letter-spacing:-.02em}
.eyebrow{color:#356aab;font-weight:800;letter-spacing:.16em}
.brand strong{letter-spacing:-.045em}.brand strong span{color:#4d84c6}.brand>span{font-size:16px;letter-spacing:-.025em}.brand small{font-size:10px;letter-spacing:0}
header{background:linear-gradient(110deg,#fff 55%,#f2f6fc);border-bottom-color:#dfe6ef;box-shadow:0 3px 20px #112d4e06}
nav{font-size:15px;font-weight:750}
.preview{background:linear-gradient(105deg,#0c1f39,#204a77 55%,#10243e)}
.header-cta,.button{background:linear-gradient(135deg,#386698 0%,#183c65 38%,#102746 80%,#234c78 100%);border-color:#31577d;box-shadow:inset 0 1px 0 #ffffff38,0 5px 14px #0f294519;border-radius:6px;font-size:15px;font-weight:750;transition:transform .18s,box-shadow .18s}
.header-cta:hover,.button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff55,0 8px 20px #18395728}
.button.secondary{background:linear-gradient(130deg,#fff,#f0f5fb);color:#193b62;border-color:#bacbdd;box-shadow:inset 0 1px 0 white}
.hero-copy{background:radial-gradient(ellipse at 10% 90%,#eaf1fc88,transparent 65%)}
.hero-photo:after{background:linear-gradient(transparent,#0e284be0)}
.photo-caption p{font-weight:650;letter-spacing:-.02em}
.intro-strip{background:linear-gradient(110deg,#eff4fb,#f7f9fc 55%,#e9f0f9);border-bottom:1px solid #e1e9f3}
.intro-strip strong{font-weight:750}
.section-head p,.field p,.case p,.service-grid p{font-size:16px;line-height:1.85;letter-spacing:-.015em}
.field h3{font-size:24px;font-weight:800}
.fields{border-color:#b9cadd}.field{border-color:#dfe7f0}.field:hover{background:linear-gradient(135deg,#f4f8fe,#eaf1fb)}
.services{background:radial-gradient(ellipse at 22% 0%,#406c9e66,transparent 55%),linear-gradient(125deg,#193d66 0%,#102845 45%,#0b1c33 75%,#1c3f69 100%);border-top:1px solid #5e7fa055;border-bottom:1px solid #254b72;box-shadow:inset 0 1px 0 #ffffff20}
.services .eyebrow{color:#9abce6}.service-grid article{border-top-color:#90add14d}.service-grid p{color:#c1d0e2}.service-grid h3{font-weight:800}.service-grid .text-link{border-color:#8daacc70}
.tag{color:#376ba9}.text-link{font-size:15px}
.logo-panel{background:radial-gradient(ellipse at 40% 15%,#355c87,transparent 80%),linear-gradient(140deg,#152e4d,#0b1e35);border:1px solid #496584;box-shadow:inset 0 1px 0 #ffffff30;border-radius:8px}
.logo-panel strong{color:#d6e4f6}.logo-panel span{color:#a6bad3}
.case img{border-radius:8px}.case h3{font-weight:800}
.about{background:linear-gradient(120deg,#f3f6fb,#eaf0f8)}
.contact{background:radial-gradient(ellipse at 80% 0%,#fff9,transparent 65%),linear-gradient(120deg,#e4edf9,#f0f5fc)}
.contact-links a{border:1px solid #c8d6e8;border-radius:7px;box-shadow:0 5px 20px #163c6808;font-weight:650}
footer{background:radial-gradient(ellipse at 90% 0%,#31598566,transparent 65%),linear-gradient(120deg,#142f50,#0b1d33)}
.detail h1{font-weight:800;line-height:1.3;letter-spacing:-.04em}.detail h2{font-weight:750}.detail p{font-size:17px}.detail .sample{font-size:14px;border-left-color:#4077ba;background:#eef3fa}.detail .contact-box{background:linear-gradient(120deg,#e7eef9,#f3f7fc)}
@media(max-width:720px){h1{font-size:39px;line-height:1.27}h2{font-size:30px}.lede{font-size:17px}.field h3{font-size:21px}.field p{font-size:14px}.brand>span{font-size:13px}nav{font-size:13px}.detail h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.header-cta{transition:none}}
.brand-ci{position:relative;display:block;flex:0 0 49px;width:49px;height:54px;overflow:hidden;background:#fff}
.brand-ci img{position:absolute;width:113px;max-width:none;height:auto;left:-31px;top:-18px}
.hero-photo img{object-position:50% 45%}
@media(max-width:720px){.brand-ci{flex-basis:39px;width:39px;height:44px}.brand-ci img{width:91px;left:-25px;top:-14px}}
/* Responsive brand lockup, varied field photography and scroll entrances. */
header .brand{flex-shrink:0;gap:12px;align-items:center}
header .brand>span{line-height:1.35;white-space:nowrap}
header .brand small{display:block;white-space:nowrap;font-size:9px;margin-top:5px}
header nav{white-space:nowrap}
main{overflow:clip}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}
.field-scene{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:55px;margin:65px 0 30px}
.field-scene figure{margin:0;min-width:0}
.field-scene img{display:block;width:100%;height:auto;border-radius:10px}
.field-scene figcaption{font-size:12px;color:#64727d;margin-top:10px}
.field-scene p{color:#53667c}
.reveal{opacity:0;transform:translateX(-85px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal[data-direction="right"]{transform:translateX(85px)}
.reveal.is-visible,.reveal:focus-within{opacity:1;transform:translateX(0)}
@media(max-width:1200px){header{padding:18px 24px;flex-wrap:wrap}header nav{margin-left:auto}header .header-cta{display:none}}
@media(max-width:720px){
 header{padding:14px 16px;gap:10px}
 header .brand{gap:7px}
 header .brand>span{font-size:12px}
 header .brand small{font-size:6.2px;margin-top:4px}
 header .brand strong{font-size:23px}
 header .brand-ci{flex-basis:32px;width:32px;height:38px}
 header .brand-ci img{width:77px;left:-21px;top:-12px}
 header #lang{font-size:12px;padding:6px;margin-left:auto;min-height:36px}
 header nav{margin:0;gap:8px}
 header nav a{padding:8px 0;min-height:44px;display:flex;align-items:center}
 .field-scene{grid-template-columns:1fr;gap:25px;margin-top:40px}
 .service-grid{grid-template-columns:1fr;gap:28px}
 .reveal{transform:translateX(-28px);transition-duration:.65s}
 .reveal[data-direction="right"]{transform:translateX(28px)}
 .reveal.is-visible,.reveal:focus-within{transform:none}
 .hero-photo{min-height:340px}
 .contact-links{min-width:0}
 .contact-links a{overflow-wrap:anywhere}
}
@media(max-width:360px){header .brand small{font-size:5.4px}header .brand strong{font-size:21px}header .brand>span{font-size:11px}h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal[data-direction]{opacity:1;transform:none;transition:none}}
.photo-credit{font-size:12px;color:#64727d;margin-bottom:20px}
.field-scene figure{max-width:466px}
.mobile-contact{display:none}
a:focus-visible,button:focus-visible{outline:3px solid #4287c7;outline-offset:5px}
@media(max-width:720px){body{padding-bottom:70px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#102c4e;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px #102c4e20}.mobile-contact a{flex:1;text-align:center;padding:9px;color:white;border:1px solid #6c86a3;border-radius:6px;font-weight:650}}
.inquiry-wrap{max-width:1184px;margin:50px auto 0;padding:0 48px}
#inquiry-form{background:#fff;border:1px solid #c8d6e8;border-radius:12px;padding:32px}
#inquiry-form h3{font-size:25px;margin:0}
.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}
.inquiry-grid label{display:grid;gap:7px;font-size:14px;font-weight:650}
.inquiry-grid .wide{grid-column:1/-1}
.inquiry-grid input,.inquiry-grid select,.inquiry-grid textarea,#copy-fallback{box-sizing:border-box;width:100%;min-width:0;border:1px solid #b9c9dc;border-radius:6px;padding:12px;font:inherit;font-size:16px;background:white;color:#132d4e}
.inquiry-grid textarea{resize:vertical}
.inquiry-note,#inquiry-status{font-size:13px}
.inquiry-actions{display:flex;gap:12px;flex-wrap:wrap}
.inquiry-actions button{cursor:pointer}
@media(max-width:720px){.inquiry-wrap{padding:0 24px;margin-top:30px}#inquiry-form{padding:22px}.inquiry-grid{grid-template-columns:1fr}.inquiry-actions button{width:100%}}
.case-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.case-list .case img{height:235px;width:100%;object-fit:cover}
.case-list .case h3{font-size:23px}
.case-list [hidden]{display:none!important}
.case-filters{display:flex;gap:10px;flex-wrap:wrap}
.case-filters button{font:inherit;border:1px solid #c8d6e8;border-radius:30px;padding:9px 20px;background:white;color:#193b62;cursor:pointer}
.case-filters button[aria-pressed="true"]{background:#193b62;color:white}
#case-count{font-size:13px;color:#53667c;margin:16px 0 25px}
.faq{background:#f6f8fb}
.faq-list{margin-top:30px}
.faq details{border-bottom:1px solid #c8d6e8;padding:20px 0}
.faq summary{cursor:pointer;font-size:18px;font-weight:650;min-height:30px}
.faq details p{color:#53667c;max-width:900px;padding-left:20px}
html[lang="en"] header .brand>span{font-size:12px;white-space:normal;max-width:230px}
html[lang="en"] header .brand small{display:none}
@media(max-width:720px){.case-list{grid-template-columns:1fr}.case-list .case img{height:auto;max-height:350px}.faq summary{font-size:16px}.case-filters button{min-height:44px}html[lang="en"] header .brand>span{font-size:10px;max-width:155px}}
section[id]{scroll-margin-top:120px}
.case-list .case img{aspect-ratio:4/3}
@media(max-width:720px){section[id]{scroll-margin-top:145px}.case-list .case img{height:auto;aspect-ratio:4/3;object-fit:cover}}
@media(max-width:360px){html[lang="en"] header .brand>span{max-width:108px;font-size:9px}}
.company-hero{padding:60px 0 70px;background:radial-gradient(ellipse at 0% 10%,#dbe8fb,transparent 70%),#f4f7fc}
.company-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.company-page h1{font-size:clamp(34px,3.5vw,52px)}
.company-page figure{margin:0;min-width:0}
.company-page figure img{display:block;width:100%;height:auto;border-radius:12px}
.company-page figcaption{font-size:12px;color:#64727d;margin-top:12px}
.company-index{display:flex;flex-wrap:wrap;gap:12px;padding-top:25px;padding-bottom:25px;border-bottom:1px solid #dce5f0}
.company-index a{padding:9px 16px;background:#eff4fa;border-radius:25px;font-weight:650;font-size:14px}
.company-lead{font-size:24px;line-height:1.65;font-weight:650}
.company-page p{word-break:keep-all}
.company-tint{background:#f3f6fa}
.expert-card{border-left:3px solid #376ba9;padding:12px 24px;margin:25px 0;background:white}
.expert-card span{font-size:13px;color:#64727d}
.expert-card h3{font-size:28px;margin:4px 0}
.expert-card p{margin:0}
.company-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:40px}
.company-offers article{padding:25px;border:1px solid #dce5f0;border-radius:10px}
.company-offers h3{font-size:24px;margin-top:0}
.company-process{padding:30px;background:#f3f6fa;margin-top:40px;border-radius:10px}
.company-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-left:25px}
.company-process li::marker{color:#376ba9;font-weight:750}
.company-info{display:grid;grid-template-columns:110px 1fr;gap:18px;font-size:15px}
.company-info dt{font-weight:750}.company-info dd{margin:0;overflow-wrap:anywhere}
.company-page .case-list{margin-top:35px}
@media(max-width:720px){.company-split,.company-offers,.company-process ol{grid-template-columns:1fr;gap:28px}.company-hero{padding:35px 0}.company-page h1{font-size:34px}.company-index{gap:7px}.company-index a{font-size:12px;padding:10px 12px}.company-lead{font-size:21px}.company-info{grid-template-columns:80px 1fr;font-size:14px}.company-process{padding:22px}}
.education-catalog{min-height:70vh}
.education-search{display:grid;gap:10px;margin:30px 0 15px;font-weight:650;max-width:600px}
.education-search input{font:inherit;font-size:16px;padding:14px;border:1px solid #b9c9dc;border-radius:7px;min-width:0;width:100%;box-sizing:border-box}
.education-results{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 35px}
.education-results article{border:1px solid #dce5f0;border-radius:10px;padding:28px}
.education-results h2{font-size:26px}
.education-results [hidden]{display:none!important}
#education-count{font-size:13px;color:#53667c}
@media(max-width:720px){.education-results{grid-template-columns:1fr}.education-results article{padding:22px}.education-catalog h1{font-size:34px}}
.service-topics{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}
.service-topics span{background:#eaf0f8;padding:10px 18px;border-radius:24px;font-size:15px}
.service-detail .lede{max-width:800px}
/* Online inquiry stays gated until hosted integration checks pass */
.online-inquiry-panel{display:grid;gap:16px;padding:22px;margin:20px 0;border:1px solid #63788f;border-radius:16px;background:#10263d;color:#f4f7fa;min-width:0}
.online-inquiry-panel p{line-height:1.8;overflow-wrap:anywhere}
.online-inquiry-panel label{display:flex!important;align-items:flex-start;gap:10px;line-height:1.6}
.online-inquiry-panel input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin-top:2px;accent-color:#b8d8f8}
.online-inquiry-panel .button{min-height:48px;white-space:normal}
#inquiry-status{overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:480px){.online-inquiry-panel{padding:12px}.online-inquiry-panel .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
