/* Essence redesign kit: shared motion + conversion components (brand #0066CC / #2997FF, system font) */
:root{--efr-b:#0066CC;--efr-a:#2997FF;--efr-ink:#1d1d1f;--efr-mute:#6e6e73;--efr-bg:#f5f5f7;--efr-navy:#0a1a3d;--efr-r:18px;--efr-font:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue','Segoe UI',Inter,Roboto,Arial,sans-serif}
.efr-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:99999;pointer-events:none}
.efr-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--efr-b),var(--efr-a));box-shadow:0 0 12px rgba(41,151,255,.6)}
.efr-js .efr-rv{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.efr-js .efr-rv.efr-in{opacity:1;transform:none}
.efr-js .efr-rv-l{opacity:0;transform:translateX(-50px);transition:all .9s cubic-bezier(.2,.7,.2,1)}
.efr-js .efr-rv-r{opacity:0;transform:translateX(50px);transition:all .9s cubic-bezier(.2,.7,.2,1)}
.efr-js .efr-rv-s{opacity:0;transform:scale(.94);transition:all .9s cubic-bezier(.2,.7,.2,1)}
.efr-js .efr-rv-l.efr-in,.efr-js .efr-rv-r.efr-in,.efr-js .efr-rv-s.efr-in{opacity:1;transform:none}
.efr-stag>*{transition-delay:calc(var(--i,0)*90ms)}
.efr-words .w{display:inline-block;opacity:0;transform:translateY(.6em);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*55ms)}
.efr-words.efr-in .w{opacity:1;transform:none}
.efr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--efr-font);font-weight:600;font-size:17px;line-height:1;padding:17px 26px;border-radius:980px;text-decoration:none!important;cursor:pointer;border:0;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;position:relative;overflow:hidden;white-space:nowrap}
.efr-btn-p{background:var(--efr-b);color:#fff!important;box-shadow:0 12px 30px rgba(0,102,204,.35)}
.efr-btn-p:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,102,204,.45);background:#0071e3}
.efr-btn-p:after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:efrShine 3.8s ease-in-out infinite}
@keyframes efrShine{0%,60%{left:-60%}100%{left:130%}}
.efr-btn-g{background:rgba(255,255,255,.14);color:#fff!important;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.efr-btn-g:hover{background:rgba(255,255,255,.26)}
.efr-btn-o{background:#fff;color:var(--efr-b)!important;border:1.5px solid var(--efr-b)}
.efr-btn-o:hover{background:var(--efr-b);color:#fff!important}
.efr-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--efr-font);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.efr-eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--efr-a);box-shadow:0 0 0 4px rgba(41,151,255,.25);animation:efrPulse 2s infinite}
@keyframes efrPulse{0%,100%{box-shadow:0 0 0 4px rgba(41,151,255,.25)}50%{box-shadow:0 0 0 9px rgba(41,151,255,0)}}
.efr-stars{color:#FFB800;letter-spacing:2px}
.efr-avs{display:flex}.efr-avs img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover;margin-left:-10px;box-shadow:0 4px 10px rgba(0,0,0,.2)}.efr-avs img:first-child{margin-left:0}
.efr-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(0,0,0,.08);border-radius:var(--efr-r);overflow:hidden;font-family:var(--efr-font)}
.efr-stats>div{background:#fff;padding:26px 18px;text-align:center}
.efr-stats b{display:block;font-size:clamp(34px,6vw,54px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--efr-ink);background:linear-gradient(90deg,var(--efr-b),var(--efr-a));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.efr-stats span{display:block;margin-top:8px;font-size:14px;color:var(--efr-mute);line-height:1.35}
@media(min-width:900px){.efr-stats{grid-template-columns:repeat(5,1fr)}}
.efr-band{padding:56px 16px;background:var(--efr-bg)}.efr-wrap{max-width:1200px;margin:0 auto}
.efr-marquee{overflow:hidden;white-space:nowrap;padding:18px 0;font-family:var(--efr-font);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.efr-marquee .t{display:inline-flex;gap:48px;animation:efrMq 38s linear infinite;padding-right:48px}
.efr-marquee:hover .t{animation-play-state:paused}
.efr-marquee span{font-size:16px;font-weight:600;color:var(--efr-mute)}.efr-marquee span b{color:var(--efr-b)}
@keyframes efrMq{to{transform:translateX(-100%)}}
.efr-dock{position:fixed;left:50%;bottom:92px;transform:translate(-50%,calc(100% + 140px));opacity:0;pointer-events:none;z-index:9990;display:flex;gap:8px;align-items:center;padding:8px;border-radius:980px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:0 18px 50px rgba(10,26,61,.25);border:1px solid rgba(255,255,255,.7);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s;font-family:var(--efr-font);max-width:calc(100vw - 24px)}
.efr-dock.on{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.efr-dock .efr-btn{padding:13px 18px;font-size:15px}
.efr-dock .lbl{display:none;padding:0 10px 0 14px;font-size:14px;color:var(--efr-ink);line-height:1.25}.efr-dock .lbl b{display:block}
@media(min-width:900px){.efr-dock{bottom:26px}.efr-dock .lbl{display:block}}
.efr-nav{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:9980;display:none;flex-direction:column;gap:10px}
.efr-nav a{position:relative;width:10px;height:10px;border-radius:50%;background:rgba(0,0,0,.18);transition:all .3s}
.efr-nav a.on{background:var(--efr-b);transform:scale(1.5)}
.efr-nav a span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 12px var(--efr-font);background:var(--efr-ink);color:#fff;padding:5px 9px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s}
.efr-nav a:hover span{opacity:1}
@media(min-width:1100px){.efr-nav{display:flex}}
.efr-hs{position:relative}
@media(min-width:1024px){.efr-hs{height:var(--efr-hs-h,400vh)}.efr-hs-st{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}.efr-hs-tr{display:flex;will-change:transform}.efr-hs-tr>*{flex:0 0 100vw;width:100vw!important;max-width:100vw!important}}
.efr-hs-bar{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:200px;height:4px;border-radius:4px;background:rgba(0,0,0,.1);overflow:hidden;display:none}.efr-hs-bar i{display:block;height:100%;width:0;background:var(--efr-b)}
@media(min-width:1024px){.efr-hs-bar{display:block}}
@media (prefers-reduced-motion:reduce){.efr-js .efr-rv,.efr-js .efr-rv-l,.efr-js .efr-rv-r,.efr-js .efr-rv-s,.efr-words .w{opacity:1!important;transform:none!important;transition:none!important}.efr-marquee .t,.efr-btn-p:after{animation:none}}
.efr-stack>.efr-sec{position:sticky;top:calc(70px + var(--k,0)*16px);border-radius:28px;overflow:hidden;box-shadow:0 -10px 40px rgba(10,26,61,.12);margin:0 12px 22px!important;background:#fff}
@media(max-width:767px){.efr-stack>.efr-sec{position:relative;top:auto;border-radius:20px;margin:0 8px 14px!important}}
/* kit-v2: action cards + image gallery */
.efr-ac{position:relative;display:grid;grid-template-columns:44px 1fr;gap:2px 14px;padding:18px 44px 18px 18px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff!important;text-decoration:none!important;transition:transform .3s ease,background .3s ease;font-family:var(--efr-font)}
.efr-ac:hover{background:rgba(255,255,255,.2)}
.efr-ac .ic{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:rgba(41,151,255,.3);display:flex;align-items:center;justify-content:center;font-size:22px}
.efr-ac b{font-size:17px;line-height:1.25}.efr-ac span{font-size:14px;color:rgba(255,255,255,.75)}
.efr-ac i{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-style:normal;font-size:22px;transition:transform .3s}.efr-ac:hover i{transform:translate(6px,-50%)}
.efr-gal{padding:64px 0 48px;background:#fff;font-family:var(--efr-font)}
.efr-gal h2{max-width:1200px;margin:0 auto 20px;padding:0 16px;font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.03em;color:var(--efr-ink);font-weight:700}
.efr-gal-t{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 16px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.efr-gal-t::-webkit-scrollbar{display:none}
.efr-gal figure{flex:0 0 80%;max-width:440px;margin:0;scroll-snap-align:start;position:relative;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px rgba(10,26,61,.14)}
@media(min-width:900px){.efr-gal figure{flex-basis:31%}.efr-gal-t{padding-left:max(16px,calc((100vw - 1200px)/2))}}
.efr-gal img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.efr-gal figure:hover img{transform:scale(1.07)}
.efr-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(10,26,61,.88));color:#fff;font-size:14px;font-weight:600;line-height:1.3}
.efr-gal-t:after{content:'';flex:0 0 1px}