/* Layout measured directly from the supplied Cleanplz reference. */
.site-header.floating-header {inset:0 0 auto;height:78px;padding:16px 6% 0;background:transparent;pointer-events:none;}
.site-header.floating-header .header-pill {position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;height:62px;margin:0 auto;padding:0 8px 0 28px;gap:0;border:1px solid #ffffffb3;border-radius:16px;background:#fffffff2;backdrop-filter:blur(18px);box-shadow:0 10px 34px #0f172a24;pointer-events:auto;}
.site-header.floating-header .wordmark--mascot {flex:none;display:inline-flex;font-size:20px;font-weight:800;gap:6px;letter-spacing:-.045em;}
.site-header.floating-header .wordmark-mascot {width:40px;height:40px;}
.site-header.floating-header .nav {position:absolute;left:50%;top:0;transform:translateX(-50%);height:100%;display:flex;align-items:center;justify-content:center;gap:2px;flex:none;margin:0;white-space:nowrap;}
.site-header.floating-header .nav a {display:inline-flex;align-items:center;position:relative;margin:0;padding:8px 12px;border-radius:999px;font-size:15px;font-weight:700;letter-spacing:-.025em;color:#1a1a1a;line-height:1.5;}
.site-header.floating-header .nav a:hover {background:#f2f6ff;color:#2563eb;}
.site-header.floating-header .nav a::after {display:none;}
.header-right-group {display:flex;align-items:center;gap:12px;margin-left:auto;}
.site-header.floating-header .header-phone {position:static;display:flex;align-items:center;font-size:14.5px;font-weight:750;color:#0c1b3c;gap:7px;margin:0;white-space:nowrap;}
.site-header.floating-header .header-phone svg {width:16px;height:16px;}
.site-header.floating-header .header-quote {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin:0;padding:8px 16px 8px 8px;border-radius:12px;background:#0b1b3d;font-size:15px;font-weight:750;color:#fff;box-shadow:0 3px 10px #0b1b3d20;}
.site-header.floating-header .header-quote::before {content:'↗';display:grid;place-items:center;width:32px;height:32px;background:linear-gradient(140deg,#39b5ff,#2563eb);border-radius:8px;color:#fff;font-size:21px;}
.site-header.floating-header .header-quote > svg {display:none;}
.site-header.floating-header .menu-toggle {display:none;}
.reference-home .hero-reference-copy .hero-consult {margin-top:32px;}
@media(min-width:1024px) and (max-width:1279px) {
 .site-header.floating-header {padding-left:4%;padding-right:4%;}
 .site-header.floating-header .nav a {font-size:13px;padding:8px 8px;}
 .site-header.floating-header .wordmark--mascot {font-size:18px;gap:4px;}
 .site-header.floating-header .wordmark-mascot {width:34px;height:36px;}
 .site-header.floating-header .header-phone {font-size:12px;}
 .site-header.floating-header .header-quote {font-size:13px;gap:7px;padding-right:12px;}
 .header-right-group {gap:9px;}
}
@media(max-width:1023px) {
 .site-header.floating-header {padding:12px 24px 0;height:74px;}
 .site-header.floating-header .header-pill {padding:0 10px 0 20px;}
 .site-header.floating-header .nav,.site-header.floating-header .header-phone {display:none;}
 .header-right-group {margin-left:auto;margin-right:12px;}
 .site-header.floating-header .menu-toggle {display:inline-flex;margin:0;width:34px;flex:none;}
 .mobile-nav {display:block;top:84px;}
}
@media(max-width:767px) {
 .site-header.floating-header {height:66px;padding:12px 12px 0;}
 .site-header.floating-header .header-pill {height:54px;border-radius:16px;padding-left:18px;padding-right:8px;}
 .site-header.floating-header .wordmark--mascot {font-size:18px;}
 .site-header.floating-header .wordmark-mascot {width:34px;height:34px;}
 .site-header.floating-header .header-quote {min-height:40px;font-size:12px;padding:5px 10px 5px 5px;gap:7px;border-radius:10px;}
 .site-header.floating-header .header-quote::before {width:28px;height:28px;font-size:18px;}
 .header-right-group {margin-right:8px;}
 .mobile-nav {top:76px;}
}

/* Compact header and text-only quotation action. */
.site-header.floating-header {height:60px;padding:8px 5% 0;}
.site-header.floating-header .header-pill {max-width:980px;height:48px;padding:0 8px 0 18px;border-radius:13px;}
.site-header.floating-header .wordmark--mascot {font-size:17px;gap:5px;}
.site-header.floating-header .wordmark-mascot {width:31px;height:32px;}
.site-header.floating-header .nav {gap:0;}
.site-header.floating-header .nav a {font-size:12px;padding:7px 8px;}
.header-right-group {gap:10px;}
.site-header.floating-header .header-phone {font-size:11px;gap:5px;}
.site-header.floating-header .header-phone svg {width:13px;height:13px;}
.site-header.floating-header .header-quote {min-height:34px;padding:9px 15px;font-size:11px;gap:0;border-radius:8px;box-shadow:none;}
.site-header.floating-header .header-quote::before {display:none;content:none;}
.reference-home .hero--cinematic .hero-reference-copy h1 {font-size:clamp(25px,2.3vw,34px);}
.reference-home .hero-reference-copy .hero-reference-subtitle {font-size:13px;margin-top:22px;}
.hero-reference-status {font-size:10px;margin-bottom:40px;}
.reference-home .hero--cinematic .hero-reference-copy .hero-consult {min-height:38px;padding:10px 21px;font-size:11px;}
@media(min-width:1024px) and (max-width:1120px) {
 .site-header.floating-header .nav a {font-size:11px;padding:7px 6px;}
 .site-header.floating-header .wordmark--mascot {font-size:16px;}
 .site-header.floating-header .header-phone {font-size:10px;}
}
@media(max-width:1023px) {
 .site-header.floating-header {height:60px;padding:8px 16px 0;}
 .site-header.floating-header .header-pill {height:48px;padding-left:16px;}
 .site-header.floating-header .header-quote {min-height:32px;padding:8px 13px;font-size:11px;}
 .mobile-nav {top:66px;}
}
@media(max-width:640px) {
 .site-header.floating-header {padding:8px 12px 0;}
 .site-header.floating-header .wordmark--mascot {font-size:16px;}
 .site-header.floating-header .wordmark-mascot {width:29px;height:30px;}
 .reference-home .hero--cinematic .hero-reference-copy h1 {font-size:25px;}
}

/* Only narrow the bar slightly; retain its height and type sizes. */
.site-header.floating-header .header-pill {max-width:940px;}
.menu-toggle-label {font:600 11px/1 "Pretendard Variable",sans-serif;color:#203548;}
@media(max-width:1023px) {
 .site-header.floating-header {padding-left:20px;padding-right:20px;}
 .site-header.floating-header .menu-toggle {display:inline-flex;align-items:center;justify-content:center;gap:9px;width:65px;height:36px;background:transparent;border:0;color:#203548;cursor:pointer;}
 .site-header.floating-header .menu-toggle > span {flex:none;background:#203548;}
 .site-header.floating-header .menu-toggle > span::before,.site-header.floating-header .menu-toggle > span::after {background:#203548;}
 .menu-open .site-header.floating-header .menu-toggle > span {background:transparent;}
 .mobile-nav {display:block;position:fixed;inset:66px 20px auto;max-height:calc(100svh - 86px);overflow-y:auto;padding:12px 20px 20px;background:#fff;border:1px solid #e1eaf3;border-radius:12px;box-shadow:0 10px 30px #001d4a15;opacity:0;visibility:hidden;transform:translateY(-6px);z-index:49;}
 .menu-open .mobile-nav {opacity:1;visibility:visible;transform:none;}
 .mobile-nav a:not(.btn) {display:block;padding:13px 0;font-size:14px;font-weight:600;color:#203548;text-decoration:none;border-bottom:1px solid #eaf0f6;}
 .mobile-nav .btn {display:flex;justify-content:center;margin-top:16px;font-size:13px;}
}

/* Expand the floating pill to an edge-to-edge header on scroll. */
.site-header.floating-header {transition:padding .5s cubic-bezier(.22,.8,.24,1),height .5s cubic-bezier(.22,.8,.24,1);}
.site-header.floating-header .header-pill {transition:max-width .5s cubic-bezier(.22,.8,.24,1),height .5s cubic-bezier(.22,.8,.24,1),border-radius .5s cubic-bezier(.22,.8,.24,1),padding .5s cubic-bezier(.22,.8,.24,1),box-shadow .5s;}
.site-header.floating-header.is-scrolled {padding:0;height:64px;}
.site-header.floating-header.is-scrolled .header-pill {max-width:100%;height:64px;border-radius:0;border-left:0;border-right:0;border-top:0;padding-left:max(28px,calc((100vw - 1180px)/2));padding-right:max(20px,calc((100vw - 1180px)/2));background:#fffffff7;box-shadow:0 3px 20px #001d4a0c;}
@media(max-width:1023px) {
 .site-header.floating-header.is-scrolled {height:58px;}
 .site-header.floating-header.is-scrolled .header-pill {height:58px;padding-left:20px;padding-right:16px;}
 body:has(.floating-header.is-scrolled) .mobile-nav {top:66px;}
}
@media(prefers-reduced-motion:reduce) {.site-header.floating-header,.site-header.floating-header .header-pill {transition:none;}}

/* Slightly thinner bar in both states; content sizes stay unchanged. */
.site-header.floating-header {height:56px;}
.site-header.floating-header .header-pill {height:44px;}
.site-header.floating-header.is-scrolled {height:58px;}
.site-header.floating-header.is-scrolled .header-pill {height:58px;}
@media(max-width:1023px) {
 .site-header.floating-header {height:56px;}
 .site-header.floating-header .header-pill {height:44px;}
 .site-header.floating-header.is-scrolled,.site-header.floating-header.is-scrolled .header-pill {height:52px;}
 .mobile-nav {top:62px;}
 body:has(.floating-header.is-scrolled) .mobile-nav {top:60px;}
}

/* Final 2px height trim only. */
.site-header.floating-header {height:54px;}
.site-header.floating-header .header-pill {height:42px;}
.site-header.floating-header.is-scrolled,.site-header.floating-header.is-scrolled .header-pill {height:56px;}
@media(max-width:1023px) {
 .site-header.floating-header {height:54px;}
 .site-header.floating-header .header-pill {height:42px;}
 .site-header.floating-header.is-scrolled,.site-header.floating-header.is-scrolled .header-pill {height:50px;}
 .mobile-nav {top:60px;}
 body:has(.floating-header.is-scrolled) .mobile-nav {top:58px;}
}
