
body > header { position: sticky !important; top: 0; z-index: 100; background: #fff; }
.site-global-nav { display:flex; align-items:center; justify-content:center; gap:32px; margin:auto; }
.site-global-nav a { color:#182231; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap; }
.site-footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.site-footer-logo .symbol { width:54px; height:auto; }
.site-footer-logo .wordmark { width:180px; height:auto; }
body[data-page="inquiry"] main { padding-top:36px; }
body[data-page="inquiry"] main > .hero { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:14px; min-height:0; height:auto; padding:0 24px; margin:0 auto 32px; max-width:none; width:100%; box-sizing:border-box; }
body[data-page="inquiry"] .hero h1, body[data-page="inquiry"] .hero p { margin:0; }
body[data-page="inquiry"] .hero p { line-height:1.7; }
body[data-page="inquiry"] .hero-icon { flex-shrink:0; width:52px; height:52px; }
@media(max-width:760px) { .site-global-nav {gap:14px; width:100%; order:3; padding:10px 0;} body > header .header-inner {flex-wrap:wrap;} .site-global-nav a{font-size:13px;} }

.site-footer-logo img.wordmark { width:180px !important; height:21px !important; min-height:0; object-fit:contain; }
.site-footer-logo img.symbol { width:54px !important; height:28px !important; object-fit:contain; }

body[data-page="inquiry"] .hero p { max-width:none; white-space:normal; word-break:keep-all; overflow-wrap:anywhere; }

/* Match school-edtech.kr navigation typography. */
.landing-header .header-nav a, body > header .site-global-nav a { font-size:16px; font-weight:600; line-height:1.55; }

/* Shared public page width, matching school-edtech.kr. */
body.connected-public-layout :is(header .header-inner, main .container, .connected-modes-inner, .gate-footer-inner, footer > .container, footer .footer-v3-body, footer .footer-v3-banner-inner),
body.connected-public-layout #company .gate-company-inner,
body.connected-public-layout[data-page="inquiry"] main > .hero {
 width:100% !important; max-width:1120px !important; box-sizing:border-box;
 margin-inline:auto !important; padding-inline:24px !important;
}
@media(max-width:640px) {
 body.connected-public-layout header .header-inner { padding-inline:14px !important; }
}

.search-page-intro { display:flex; flex-direction:column; align-items:center; gap:14px; margin:0 auto 32px; text-align:center; }
.search-page-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex-shrink:0; border-radius:50%; background:#e6e9f7; color:#2453ad; }
.search-page-icon svg { width:22px; height:22px; }
.search-page-intro h1 { margin:0; font-size:28px; font-weight:800; letter-spacing:-.02em; color:#131926; line-height:1.4; }
.search-page-intro p { margin:0; font-size:15px; line-height:1.7; color:#4b5563; word-break:keep-all; }
body.connected-public-layout:has(.search-page-intro) main { padding-top:36px; }
section.search-page-intro { min-height:0; height:auto; padding:0; }

/* Keep navigation at the same vertical position on every public page. */
@media(min-width:761px) {
 body.connected-public-layout > header .header-inner { height:72px; min-height:72px; padding-block:0; align-items:center; }
 body.connected-public-layout > header :is(.header-nav,.site-global-nav) { padding-block:0; gap:36px; align-items:center; }
}

/* Public navigation and login share one type and size specification. */
body.connected-public-layout > header :is(.header-nav a,.site-global-nav a,#loginBtn) {
 font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
 font-size:16px; font-weight:600; line-height:1.55; letter-spacing:-.025em;
}
body.connected-public-layout > header #loginBtn {
 display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box;
 width:88px; min-width:88px; height:40px; min-height:40px; padding:0 16px;
 border:1px solid #2453ad; border-radius:8px; background:#fff; color:#2453ad;
 flex-shrink:0;
}

/* Search-page house advertisement; replace content when a sponsor is booked. */
.connected-promo { display:flex; align-items:center; gap:24px; padding:24px; margin:0 0 28px; border:1px solid #dfe7ef; border-radius:16px; background:#f5f8fc; box-sizing:border-box; }
.connected-promo-visual { flex:0 0 210px; overflow:hidden; border-radius:9px; box-shadow:0 5px 16px #18345016; }
.connected-promo-visual img { display:block; width:100%; height:auto; }
.connected-promo-copy { flex:1; min-width:0; }
.connected-promo-brand { display:block; margin-bottom:8px; font-size:11px; font-weight:750; letter-spacing:.1em; color:#315a83; }
.connected-promo .connected-promo-copy h2 { margin:0 0 8px; font-size:21px; line-height:1.45; font-weight:750; letter-spacing:-.035em; color:#152c47; word-break:keep-all; }
.connected-promo .connected-promo-copy p { margin:0; font-size:14px; line-height:1.6; color:#526479; word-break:keep-all; }
.connected-promo-cta { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; gap:12px; padding:13px 18px; border-radius:8px; background:#2453ad; color:white; text-decoration:none; font-size:14px; font-weight:650; white-space:nowrap; }
.connected-promo-cta:hover { background:#193f88; }
.connected-promo-cta:focus-visible { outline:3px solid #80b6ed; outline-offset:3px; }
@media(max-width:900px) {
 .connected-promo { gap:18px; flex-wrap:wrap; }
 .connected-promo-visual { flex-basis:160px; }
 .connected-promo-cta { margin-left:auto; }
}
@media(max-width:600px) {
 .connected-promo { display:grid; grid-template-columns:1fr auto; gap:12px; padding:18px; margin-bottom:22px; }
 .connected-promo-visual { display:none; }
 .connected-promo-copy { grid-column:1 / -1; }
 .connected-promo-brand { margin-bottom:6px; font-size:10px; }
 .connected-promo .connected-promo-copy h2 { font-size:18px; margin-bottom:6px; }
 .connected-promo .connected-promo-copy p { font-size:12px; }
 .connected-promo-cta { grid-column:1 / -1; justify-self:start; margin:0; padding:10px 14px; font-size:13px; }
}

.connected-promo .connected-promo-brand { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.connected-promo-brand .promo-symbol { width:34px; height:18px; object-fit:contain; }
.connected-promo-brand .promo-wordmark { width:124px; height:15px; object-fit:contain; }
#askForm { scroll-margin-top:100px; }
@media(max-width:600px) { .connected-promo .connected-promo-brand { margin-bottom:10px; } }

/* Lighter navy footer and a tighter logo-to-tagline gap. */
body > footer.footer-v3, body > footer.gate-footer { background:#183b63; }
.footer-v3 .footer-v3-brand > div:first-child { margin-bottom:8px; }
.footer-v3 .footer-v3-brand .site-footer-logo { margin-bottom:0; }

/* Match search/inquiry intro baselines and reserve equal description space. */
body[data-page="inquiry"] .hero h1, .search-page-intro h1 {
 font-size:28px; font-weight:800; line-height:1.4; letter-spacing:-.02em;
}
body[data-page="inquiry"] .hero p, .search-page-intro p {
 font-size:15px; line-height:1.7; min-height:25.5px;
}
@media(max-width:900px) {
 body[data-page="inquiry"] .hero p, .search-page-intro p { min-height:51px; }
}
@media(max-width:600px) {
 body[data-page="inquiry"] .hero p, .search-page-intro p { min-height:76.5px; }
}
@media(max-width:380px) {
 body[data-page="inquiry"] .hero p, .search-page-intro p { min-height:102px; }
}

/* Match contact icons to the adjacent text with a lighter stroke. */
footer :is(.lucide-mail,.lucide-map-pin) { color:#ccd5df; stroke-width:1.5; }

/* Shared mobile GNB: never hide service navigation on the landing page. */
@media(max-width:767px) {
 body.connected-public-layout > header .header-inner { display:flex; flex-wrap:wrap; height:auto; min-height:0; padding-top:12px; padding-bottom:0; row-gap:0; }
 body.connected-public-layout > header :is(.header-nav,.site-global-nav) { display:flex; order:3; flex:0 0 100%; width:100%; justify-content:center; gap:22px; margin:0; padding:12px 0; }
 body.connected-public-layout > header .logo-wrap { width:220px; }
 body.connected-public-layout > header .header-actions { margin-left:auto; }
}
@media(max-width:380px) {
 body.connected-public-layout > header .logo-wrap { width:184px; }
 body.connected-public-layout > header .logo-wrap > .w-40 { transform:scale(.78); transform-origin:left center; flex-shrink:0; }
}

/* Align both contact icons to a fixed column and the first text line. */
.footer-v3 .footer-v3-contact-list > div { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; column-gap:12px; margin:0; }
.footer-v3 .footer-v3-contact-list > div > svg { width:20px; height:20px; margin:3px 0 0; }
.footer-v3 .footer-v3-contact-list > div > span { line-height:26px; min-width:0; overflow-wrap:anywhere; }

/* Compact footer spacing on desktop and mobile. */
.footer-v3 .footer-v3-body { padding-top:36px; padding-bottom:28px; }
.footer-v3 .footer-v3-brand > p { margin-bottom:16px; }
.footer-v3 .footer-v3-brand > .site-business-number { margin:0; }
.footer-v3 .footer-v3-bottom { margin-top:28px; padding-top:20px; }
@media(max-width:767px) {
 .footer-v3 .footer-v3-body { padding-top:28px; padding-bottom:24px; }
 .footer-v3 .footer-v3-grid { gap:24px; }
 .footer-v3 .footer-v3-bottom { margin-top:24px; padding-top:16px; }
}

/* The inner container owns horizontal footer spacing, as in the main content. */
body.connected-public-layout > footer.gate-footer { padding-inline:0; }

/* Balance contact information after removing the postal address. */
.footer-v3 .footer-v3-grid { align-items:center; }
.footer-v3 .footer-v3-contact-wrap h3 { margin-bottom:10px; }
.gate-footer-info { gap:6px; }
.gate-footer-info .gate-footer-copy { margin-top:6px; }

/* Shared public footer: company details together, copyright separately. */
body > .connected-footer { width:100%; background:#183b63; color:#d6e1ed; padding:36px 0; font-family:"Pretendard",sans-serif; font-size:14px; line-height:1.6; }
.connected-footer * { box-sizing:border-box; }
.connected-footer-inner { max-width:1120px; padding:0 24px; margin:0 auto; display:flex; align-items:center; gap:40px; }
.connected-footer-brand { display:flex; flex:0 0 158px; flex-direction:column; align-items:center; gap:10px; text-decoration:none; }
.connected-footer-symbol { display:block; width:84px; height:auto; }
.connected-footer-wordmark { display:block; width:158px; height:18.48px; }
.connected-footer-details { min-width:0; flex:1; }
.connected-footer-company { display:flex; flex-direction:column; gap:4px; }
.connected-footer-company p { display:flex; flex-wrap:wrap; gap:0 10px; margin:0; }
.connected-footer a { color:inherit; text-decoration:none; }
.connected-footer a:hover { text-decoration:underline; }
.connected-footer-company a { overflow-wrap:anywhere; }
.connected-footer .connected-footer-copy { margin:14px 0 0; color:#a9bdd2; font-size:13px; }
.connected-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:13px; align-self:flex-end; }
.connected-footer-links span { color:#8faac5; }
@media(max-width:900px) {
 .connected-footer-inner { flex-wrap:wrap; gap:24px; }
 .connected-footer-links { width:100%; padding-left:198px; }
}
@media(max-width:600px) {
 body > .connected-footer { padding:28px 0; }
 .connected-footer-inner { padding:0 14px; flex-direction:column; align-items:flex-start; gap:20px; }
 .connected-footer-brand { flex-basis:auto; width:138px; }
 .connected-footer-symbol { width:72px; }
 .connected-footer-wordmark { width:138px; height:16.11px; }
 .connected-footer-links { padding-left:0; align-self:auto; gap:8px; }
}

/* Bring the registration line closer to the contact email. */
.connected-footer-company p + p { position:relative; top:-5px; }
