/* 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 .hero.wrap h1{font-size:clamp(38px,5.7vw,80px);font-weight:800;white-space:normal;word-break:keep-all}
.elauren-b .services,.elauren-b .direct-lead{padding-block:96px}
.elauren-b .services .section-head,.elauren-b .direct-layout{display:grid;grid-template-columns:1fr;align-items:start;gap:24px;margin-bottom:48px}
.elauren-b .services .section-head h2,.elauren-b #direct-title{font-size:42px;font-weight:700;letter-spacing:-.065em;line-height:1.4;margin:0;word-break:keep-all}
.elauren-b .section-head>p,.elauren-b .direct-copy>p{font-size:15px;line-height:1.9;margin:0;color:var(--muted)}
.elauren-b .direct-process{margin-top:0!important}
@media(max-width:800px){.elauren-b .services,.elauren-b .direct-lead{padding-block:60px}.elauren-b .services .section-head,.elauren-b .direct-layout{gap:20px;margin-bottom:32px}.elauren-b .services .section-head h2,.elauren-b #direct-title{font-size:30px}.elauren-b .section-head>p,.elauren-b .direct-copy>p{font-size:14px;margin:0}.elauren-b .direct-process{margin-top:0!important}}
@media(max-width:800px){.elauren-b .hero.wrap h1{font-size:clamp(23px,6vw,46px);letter-spacing:-.06em}.elauren-b .hero-bottom p{word-break:keep-all}}
.brand-intro{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.brand-intro[hidden]{display:none}
.brand-intro>svg{position:absolute;top:50%;left:0;width:100%;height:auto;aspect-ratio:5/3;display:block;overflow:visible;transform:translateY(-50%)}
.brand-intro .intro-zoom{transform-origin:515px 300px}
.intro-caption{position:absolute;bottom:12%;left:0;width:100%;text-align:center;color:#8e97ab;font:9px Arial,sans-serif;letter-spacing:.3em}
.intro-playing .brand-intro{animation:intro-cover 2s both}
.intro-playing .intro-zoom{animation:intro-zoom 2s cubic-bezier(.5,0,.9,.4) both}
.intro-playing .intro-white-type{animation:intro-type 2s both}
.intro-playing .intro-caption{animation:intro-caption 2s both}
.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}
.elauren-b.intro-playing .variant-switch{opacity:0;pointer-events:none}
.elauren-b .intro-replay{background:none;border:0;color:#171a2280;font:9px Arial,sans-serif;letter-spacing:.12em;cursor:pointer;margin-left:auto;padding:10px}
.elauren-b .intro-replay:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@keyframes intro-zoom{0%{transform:scale(.9)}18%{transform:scale(1.15)}100%{transform:scale(40)}}
@keyframes intro-type{0%{opacity:0}8%,22%{opacity:1}45%,100%{opacity:0}}
@keyframes intro-cover{0%,52%{opacity:1}78%,100%{opacity:0}}
@keyframes intro-caption{0%{opacity:0;transform:translateY(6px)}15%,30%{opacity:1;transform:translateY(0)}43%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes intro-content{0%,50%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.elauren-b .intro-replay{font-size:8px;padding:7px}.elauren-b .hero-footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.brand-intro,.elauren-b .intro-replay{display:none!important}.elauren-b.intro-playing .header,.elauren-b.intro-playing .hero>*{animation:none!important}.elauren-b.intro-playing .variant-switch{opacity:1}}
.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}
.elauren-b .hero.wrap{width:100%;max-width:none;min-height:800px;min-height:max(760px,100svh);padding:190px max(48px,calc((100% - 1120px)/2)) 60px;background:#fff;color:var(--ink);overflow:hidden;isolation:isolate;justify-content:center}
.elauren-b .hero-art{display:none}
/* Clip the background without creating a scroll container on intro replay. */
.elauren-b .hero.wrap{overflow:clip}
.elauren-b .immersive-bg{position:absolute;inset:0;z-index:-3;background:#fff}
.elauren-b .immersive-bg canvas{width:100%;height:100%;display:block}
.elauren-b .ambient-fallback{position:absolute;inset:-25%;background:radial-gradient(ellipse at 60% 40%,#dfe9ff 0%,#eef3ff 20%,transparent 45%),#fff;animation:ambient-drift 16s ease-in-out infinite alternate;will-change:transform}
.elauren-b .immersive-bg canvas{position:relative}
.elauren-b .ambient-paused .ambient-fallback{animation-play-state:paused}
@keyframes ambient-drift{from{transform:translate(-5%,-4%) rotate(-9deg) scale(1)}to{transform:translate(7%,5%) rotate(14deg) scale(1.16)}}
@media(prefers-reduced-motion:reduce){.elauren-b .ambient-fallback{animation:none}}
.elauren-b .hero:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 35% 50%,#fff 0,#ffffffee 36%,#ffffffa8 66%,#ffffff70 100%);pointer-events:none}
.elauren-b .hero:after{content:none}
.elauren-b .hero>.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.19em;margin-bottom:40px}.elauren-b .hero>.eyebrow i{background:var(--blue)}
.elauren-b .hero h1{font-size:clamp(66px,7.6vw,108px);font-weight:500;letter-spacing:-.075em;line-height:1.22;margin:0 0 48px;max-width:1120px;text-shadow:none}
.elauren-b .hero h1 span{color:var(--blue)}.elauren-b .hero h1 .hero-outline{color:var(--ink);font-weight:300}
.elauren-b .hero-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}
.elauren-b .hero-bottom p{font-size:15px;color:#4e5361;line-height:1.9;margin:0;font-weight:400}
.elauren-b .hero .button.dark{background:var(--ink);color:#fff;border-radius:0;min-width:235px;justify-content:space-between;padding:21px 25px;font-size:14px;border:1px solid var(--ink);transition:background .2s,transform .2s}
.elauren-b .hero .button:hover{background:var(--blue);border-color:var(--blue)}
.elauren-b .hero-footer{margin-top:82px;padding-top:20px;border-top:1px solid #171a2222;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#171a2299;gap:20px}
.elauren-b .hero-footer a{display:flex;align-items:center;gap:18px;color:#171a22cc}.elauren-b .hero-footer a span{font-size:17px}
.elauren-b .ambient-control{width:32px;height:32px;border:1px solid #171a2250;color:var(--ink);background:#ffffff80;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.elauren-b .ambient-control:focus-visible,.elauren-b .hero a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.elauren-b .variant-switch{opacity:.85}
@media(max-width:1100px) and (min-width:801px){.elauren-b .hero h1{font-size:8.3vw}.elauren-b .hero.wrap{padding-inline:48px}.elauren-b .hero-footer{margin-top:70px}}
@media(max-width:800px){.elauren-b .header{height:76px}.elauren-b .header nav{background:#fff;border-bottom:1px solid var(--line)}.elauren-b .hero.wrap{padding:155px 24px 35px;min-height:max(750px,100svh);justify-content:center}.elauren-b .hero>.eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:36px}.elauren-b .hero h1{font-size:clamp(43px,8.4vw,66px);line-height:1.3;letter-spacing:-.075em;margin:0 0 35px;white-space:nowrap}.elauren-b .hero-bottom{display:block}.elauren-b .hero-bottom p{font-size:13px;line-height:1.9;margin-bottom:32px}.elauren-b .hero .button.dark{width:fit-content;min-width:218px;font-size:13px;padding:17px 21px}.elauren-b .hero-footer{margin-top:65px;font-size:8px;letter-spacing:.1em;gap:10px}.elauren-b .hero-footer>span{max-width:170px;line-height:1.8}.elauren-b .hero-footer a{gap:8px}.elauren-b .variant-switch{bottom:12px;right:12px}}
@media(max-width:360px){.elauren-b .hero.wrap{padding-inline:20px}.elauren-b .hero h1{font-size:39px}.elauren-b .hero-footer>span{max-width:130px}}

/* 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}
.elauren-b .clients{border-bottom:0;border-top:1px solid var(--line)}

/* Hero CTA pair */
.elauren-b .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
.elauren-b .hero .button.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:0;min-width:235px;justify-content:space-between;padding:21px 25px;font-size:14px}
@media(max-width:800px){.elauren-b .hero-ctas{flex-direction:column;gap:10px}.elauren-b .hero .button.primary{width:fit-content;min-width:218px;font-size:13px;padding:17px 21px}}
/* Service page CTA */
.elauren-b .svc .button.svc-cta{display:inline-flex;margin-top:26px;background:var(--blue);color:#fff;border-radius:0;padding:16px 22px;font-size:14px;gap:28px;min-width:0}
/* Lead modal */
.lead-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.lead-modal[hidden]{display:none}
.lead-backdrop{position:absolute;inset:0;background:#0b1020a8;backdrop-filter:blur(3px)}
.lead-panel{position:relative;width:min(560px,100%);max-height:calc(100svh - 40px);overflow:auto;background:#fff;padding:40px 36px 32px;box-shadow:0 30px 80px #00000040;animation:lead-in .35s cubic-bezier(.2,.8,.2,1)}
@keyframes lead-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.lead-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;background:none;font:300 30px Arial;color:var(--muted);cursor:pointer}
.lead-panel h2{font-size:26px;margin:0 0 6px;letter-spacing:-.05em}
.lead-sub{margin:0 0 26px;color:var(--muted);font-size:14px}
.lead-form{display:grid;gap:20px}
.lead-field{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}
.lead-field>span,.lead-field legend{font-size:13px;font-weight:700;color:var(--ink);padding:0;margin-bottom:8px}
.lead-field input[type=text],.lead-field input[type=tel],.lead-field textarea{width:100%;border:1px solid #cfd3dc;border-radius:0;padding:12px 14px;font:inherit;font-size:15px;letter-spacing:-.02em;background:#fff}
.lead-field input:focus-visible,.lead-field textarea:focus-visible{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.lead-phone{display:flex;align-items:center;gap:8px}.lead-phone input{text-align:center}.lead-phone i{font-style:normal;color:var(--muted)}
.lead-checks{display:flex;flex-wrap:wrap;gap:8px}
.lead-checks label{display:inline-flex;align-items:center;gap:8px;border:1px solid #dadde5;padding:9px 13px;font-size:14px;cursor:pointer;background:#fff}
.lead-checks input{margin:0;width:15px;height:15px;accent-color:var(--blue)}
.lead-checks label:has(input:checked){border-color:var(--blue);background:#eef2ff;color:var(--blue)}
.lead-error{margin:0;font-size:13px;color:#d33;min-height:18px}
.lead-submit{justify-content:center;width:100%;background:var(--blue);color:#fff;border:0;cursor:pointer;padding:18px}
.lead-submit[disabled]{opacity:.6;cursor:wait}
.lead-done{text-align:center;padding:30px 0 10px}.lead-done strong{display:block;font-size:22px;margin-bottom:8px}.lead-done p{color:var(--muted);margin:0 0 22px}
body.lead-open{overflow:hidden}
@media(max-width:600px){.lead-panel{padding:32px 20px 24px}.lead-panel h2{font-size:22px}}

/* Modal: link to full page */
.lead-alt{margin:14px 0 0;font-size:13px;color:var(--muted);text-align:center}.lead-alt a{color:var(--blue);font-weight:600;border-bottom:1px solid currentColor}
.lead-done .button{margin-top:4px}
/* Kakao chat floating button */
.kakao-chat{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:10px;background:#fee500;color:#191919;font-weight:700;font-size:14px;padding:13px 18px 13px 14px;border-radius:999px;box-shadow:0 10px 30px #00000026;letter-spacing:-.03em}
.kakao-chat svg{width:22px;height:22px;flex:0 0 22px}
.elauren-b .variant-switch{bottom:20px;right:auto;left:20px}
@media(max-width:720px){.kakao-chat{right:14px;bottom:14px;padding:12px 15px 12px 12px;font-size:13px}.kakao-chat span{display:none}.kakao-chat{padding:14px}}
/* Contact page */
.contact-page{padding:150px 0 90px;background:#fff}
.contact-page .wrap{max-width:1120px}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:start}
.contact-page h1{font-size:clamp(34px,4.4vw,56px);letter-spacing:-.07em;line-height:1.25;margin:0 0 22px;word-break:keep-all}
.contact-page h1 span{color:var(--blue)}
.contact-intro p{font-size:16px;line-height:1.9;color:#4e5361;margin:0 0 18px;word-break:keep-all}
.contact-steps{list-style:none;margin:30px 0 0;padding:26px 0 0;border-top:1px solid var(--line);display:grid;gap:14px}
.contact-steps li{display:flex;gap:14px;font-size:15px;color:var(--ink)}.contact-steps li b{color:var(--blue);font-weight:700;flex:0 0 28px}
.contact-direct{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);line-height:1.9}
.contact-direct a{color:var(--ink);font-weight:600}
.contact-form-card{background:#f7f8fb;border:1px solid #e6e8ef;padding:36px 32px}
.contact-form-card .lead-form{gap:22px}
.contact-faq{max-width:1120px;margin:80px auto 0;border-top:1px solid var(--line);padding-top:40px}
.contact-faq h2{font-size:24px;margin:0 0 10px}
.contact-faq details{border-bottom:1px solid var(--line)}.contact-faq summary{display:flex;justify-content:space-between;padding:18px 0;font-size:15px;font-weight:500;cursor:pointer}.contact-faq summary span{color:var(--blue)}.contact-faq p{font-size:14px;color:var(--muted);margin:0 0 18px;line-height:1.85}
@media(max-width:900px){.contact-page{padding:120px 0 60px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-form-card{padding:26px 18px}}

.elauren-b .clients h2{font-size:32px}
@media(max-width:720px){.elauren-b .clients h2{font-size:24px}}

.lead-privacy{margin-top:-6px;font-size:13px;color:var(--muted)}
.lead-privacy summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:600;padding:2px 0}
.lead-privacy summary::-webkit-details-marker{display:none}
.lead-privacy summary: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}
.lead-privacy[open] summary:after{transform:rotate(225deg) translateY(-1px)}
.lead-privacy div{margin-top:10px;padding:14px 16px;background:#f7f8fb;border:1px solid #e6e8ef;line-height:1.75}
.lead-privacy p{margin:0 0 6px}.lead-privacy p:last-child{margin:0}.lead-privacy strong{color:var(--ink);margin-right:6px}
/* Back to top */
.to-top{position:fixed;right:20px;bottom:78px;z-index:90;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#ffffffee;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px #0000001a;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}
.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}
.to-top svg{width:20px;height:20px}
@media(max-width:720px){.to-top{right:14px;bottom:70px;width:42px;height:42px}}

/* Hero mosaic background (real class/consulting photos, grayscale) */
.elauren-b .hero-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:6px;opacity:.26;filter:grayscale(1) contrast(1.05)}
.elauren-b .hero-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:800px){.elauren-b .hero-mosaic{grid-template-columns:repeat(3,1fr)}.elauren-b .hero:before{background:radial-gradient(ellipse at 50% 45%,#fff 0,#ffffffee 40%,#ffffffb4 70%,#ffffff80 100%)}}
.elauren-b .hero h1{max-width:900px}
@media(max-width:800px){.elauren-b .hero h1{white-space:normal}}
