/* Shared site header (generated from style.css, b.css, immersive-hero.css by tools/make-site-header.py). Loaded by service pages. */
:root{--blue:#2349ef;--ink:#171a22;--muted:#656975;--line:#dddfe5;--paper:#f5f6f8}
.header{height:96px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.logo{font-size:32px;font-weight:900;letter-spacing:-2px;line-height:1;display:flex;align-items:center;gap:16px}
.logo span{font-size:13px;letter-spacing:-.6px;font-weight:600;padding-left:16px;border-left:1px solid #bfc1c8}
.header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}
.nav-contact{border:1px solid var(--ink);padding:11px 18px}
.nav-contact span{margin-left:20px}
.menu{display:none}
.skip{position:fixed;top:-100px;z-index:100;background:white;padding:14px}
.skip:focus{top:0}
@media(min-width:1600px){.header{padding-left:max(56px,calc((100vw - 1280px)/2));padding-right:max(56px,calc((100vw - 1280px)/2))}}
@media(max-width:1100px){.header nav{gap:22px}.logo span{display:none}}
@media(max-width:720px){.header{height:72px;padding:0 20px}.logo{font-size:29px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 12px;font-size:13px}.header nav{display:none;position:absolute;top:71px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);align-items:stretch;gap:12px}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:12px}}
.logo-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.logo-track{display:flex;width:max-content;animation:client-roll 65s linear infinite}
.logo-group{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex-shrink:0}
.logo-group li{width:224px;padding:0 22px;display:flex;align-items:center;justify-content:center}
.logo-group img{display:block;width:180px;height:85px;object-fit:contain}
.clients.is-paused .logo-track,.logo-window:hover .logo-track{animation-play-state:paused}
@media(max-width:720px){.logo-group li{width:174px;padding:0 17px}.logo-group img{width:140px;height:70px}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-window{overflow-x:auto;mask-image:none}.logo-group[aria-hidden]{display:none}}

.elauren-b .header{height:80px;border:0;padding-inline:max(48px,calc((100% - 1120px)/2));background:rgba(255,255,255,.96)}

.elauren-b .logo{font-size:28px;letter-spacing:-1.5px}
.elauren-b .logo span{border:0;padding:0;color:#647082;font-size:12px}

.elauren-b .header nav{font-weight:500;color:#566071;gap:28px}
.elauren-b .nav-contact{border:0;background:#f0f4fa;border-radius:12px;color:#283b54;padding:10px 17px}
.elauren-b .logo-group img{filter:grayscale(1);opacity:.7}
.elauren-b .footer-top .logo{font-size:22px}
@media(max-width:800px){.elauren-b .header{height:72px;padding:0 20px}.elauren-b .header nav{gap:14px}.elauren-b .logo-group li{width:170px}.elauren-b .logo-group img{width:130px;height:65px}}
/* Original full-bleed light study for elauren. */
.elauren-b .header .logo{font-size:23px;font-weight:600;letter-spacing:-.06em}
@media(max-width:800px){.elauren-b .header .logo{font-size:21px}}

.elauren-b.intro-playing .header,.elauren-b.intro-playing .hero>.eyebrow,.elauren-b.intro-playing .hero h1,.elauren-b.intro-playing .hero-bottom,.elauren-b.intro-playing .hero-footer{animation:intro-content 2s both}
@media(prefers-reduced-motion:reduce){.elauren-b.intro-playing .header,.elauren-b.intro-playing .hero>*{animation:none!important}}

.elauren-b .header{position:fixed;inset:0 0 auto;z-index:30;background:transparent;color:var(--ink);height:94px;border-bottom:1px solid #171a2218;transition:transform .35s ease,background .3s,box-shadow .3s,height .3s}

.elauren-b .header.is-hidden{transform:translateY(-100%)}

.elauren-b .header.is-solid{background:#ffffffeb;backdrop-filter:blur(10px);height:72px;border-bottom:1px solid var(--line);box-shadow:0 6px 24px #0f172008}

.elauren-b .header .logo,.elauren-b .header .logo span,.elauren-b .header nav{color:var(--ink)}
.elauren-b .header .logo span{opacity:.55}

.elauren-b .header .nav-contact{background:#ffffffa6;color:var(--ink);border:1px solid #171a22;border-radius:0}

.elauren-b .header .menu{color:var(--ink);background:transparent;border-color:#171a2250}
@media(max-width:800px){.elauren-b .header{height:76px}.elauren-b .header nav{background:#fff;border-bottom:1px solid var(--line)}}


/* Header nav with services dropdown (click only). */
.elauren-b .header nav{align-items:center}

.elauren-b .has-sub{position:relative}

.elauren-b .has-sub>button{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}

.elauren-b .has-sub>button:after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}

.elauren-b .has-sub.open>button:after{transform:rotate(225deg) translateY(-1px)}

.elauren-b .sub{position:absolute;top:calc(100% + 16px);left:-18px;min-width:290px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px #0f172014;padding:8px;display:none;flex-direction:column;gap:2px}

.elauren-b .has-sub.open .sub{display:flex}

.elauren-b .sub a{display:flex;justify-content:space-between;align-items:baseline;white-space:nowrap;gap:24px;padding:11px 12px;font-size:14px;font-weight:500;color:var(--ink)}

.elauren-b .sub a small{font-size:11px;color:var(--muted);letter-spacing:.04em}
@media(max-width:720px){.elauren-b .has-sub{display:block}.elauren-b .has-sub>button{width:100%;padding:12px;justify-content:space-between}.elauren-b .sub{position:static;border:0;box-shadow:none;background:var(--paper);padding:4px 8px}.elauren-b .sub a{padding:10px 12px}}

/* Client logos keep rolling; no hover pause. */
.elauren-b .logo-window:hover .logo-track{animation-play-state:running}
.svc-page .header{position:fixed;background:#ffffffeb;backdrop-filter:blur(10px);height:72px;border-bottom:1px solid var(--line);font-family:"Noto Sans KR",Arial,sans-serif;letter-spacing:-.04em}
.svc-page .header .logo{font-size:23px;font-weight:600;letter-spacing:-.06em}
.svc-page .header nav{font-size:14px}
.svc-page main{padding-top:0}
@media(max-width:800px){.svc-page .header{height:64px}}
