/* Evergreen Epoxy design system - dark - v2.2 (ambient lighting + 21st.dev-style component layer) */
:root{--bg:#070d08;--bg2:#0b120c;--panel:#101b12;--panel-2:#131f15;--border:#1e3324;--border-strong:#2a4530;
--green:#4ade80;--green-d:#22c55e;--green-deep:#16a34a;--copper:#d9a05b;
--text:#f2f7f2;--text-2:#d5e2d6;--muted:#9ab19d;--muted-2:#7a917d;
--maxw:1120px;--r-sm:8px;--r-md:12px;--r-lg:16px;
--ring:0 0 0 4px rgba(74,222,128,.22);
--shadow-sm:0 1px 2px rgba(0,0,0,.35);
--shadow-md:0 4px 8px -2px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);
--shadow-lg:0 12px 24px -6px rgba(0,0,0,.5),0 4px 10px -4px rgba(0,0,0,.4);
--ease:cubic-bezier(.4,0,.2,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:auto;padding:0 24px}
img{max-width:100%}
a{color:var(--green)}
::selection{background:rgba(74,222,128,.3);color:#fff}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}
/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(16,27,18,.6),rgba(7,13,8,.82));backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.nav-in{max-width:var(--maxw);margin:auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.nav-brand img{height:42px}
.nav-brand b{font-size:.95rem;line-height:1.2;display:block;letter-spacing:-.01em}
.nav-brand span{font-size:.66rem;color:var(--muted-2);letter-spacing:.14em}
.nav-links{display:flex;gap:4px;align-items:center}
.nav-links a{color:var(--text-2);text-decoration:none;font-size:.92rem;font-weight:600;padding:8px 14px;border-radius:var(--r-sm);transition:color .15s var(--ease),background .15s var(--ease)}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-phone{background:var(--green-d);color:#052e12!important;padding:10px 18px!important;border-radius:var(--r-sm);font-weight:700!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),var(--shadow-sm);margin-left:8px;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
.nav-phone:hover{background:var(--green)!important;transform:translateY(-1px)}
.nav{position:sticky}
.nav-burger{display:none;background:rgba(255,255,255,.04);border:1px solid var(--border-strong);border-radius:10px;width:42px;height:42px;color:var(--text);font-size:1.35rem;align-items:center;justify-content:center;cursor:pointer;flex:none;margin-left:10px;transition:background .15s var(--ease)}
.nav-burger:hover{background:rgba(74,222,128,.12)}
@media(max-width:920px){
.nav-links a:not(.nav-phone){display:none}
.nav-in{height:60px;padding:0 14px;gap:10px}
.nav-burger{display:flex;margin-left:0;width:40px;height:40px}
.nav-brand{gap:8px;min-width:0;flex:1 1 auto;overflow:hidden}
.nav-brand img{height:34px}
.nav-brand>span{min-width:0}
.nav-brand b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-brand span span{display:none}
.nav-links{flex:none}
.nav-links a.nav-phone{white-space:nowrap;padding:9px 12px!important;font-size:.85rem;margin-left:0}
.nav.open .nav-links{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(7,13,8,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-strong);padding:8px 24px calc(18px + env(safe-area-inset-bottom));box-shadow:0 24px 40px rgba(0,0,0,.5)}
.nav.open .nav-links a:not(.nav-phone){display:block;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.06);font-size:1.02rem}
.nav.open .nav-links a.nav-phone{margin-top:12px;justify-content:center;display:inline-flex}
}
/* ---------- hero ---------- */
.hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden}
.hero.short{min-height:84vh}
.hero-bg{position:absolute;inset:0;background-position:center 60%;background-size:cover;filter:brightness(.5)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,13,8,.3),rgba(7,13,8,.97))}
.hero-c{position:relative;z-index:2;padding-top:96px;padding-bottom:72px;width:100%}
.eyebrow{letter-spacing:.2em;font-size:.78rem;color:var(--copper);font-weight:700}
h1{font-size:clamp(2.4rem,5.8vw,4.2rem);line-height:1.05;letter-spacing:-.025em;margin:16px 0 20px;font-weight:800}
h1 em{font-style:normal;background:linear-gradient(92deg,var(--green),#b8f5cd);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{max-width:620px;color:var(--text-2);font-size:1.15rem;line-height:1.65}
.cta-row{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.btn{padding:0 28px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);font-weight:700;text-decoration:none;letter-spacing:-.01em;border:none;cursor:pointer;font-size:1rem;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}
.btn.p{background:var(--green-d);color:#052e12;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 20px -6px rgba(34,197,94,.45)}
.btn.p:hover{background:var(--green);transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 14px 28px -8px rgba(34,197,94,.55)}
.btn.s{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(4px)}
.btn.s:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.chips{display:flex;gap:8px;margin-top:28px;flex-wrap:wrap;justify-content:center;text-align:center}
.chip{border:1px solid var(--border-strong);background:rgba(16,27,18,.75);backdrop-filter:blur(8px);border-radius:999px;padding:8px 16px;font-size:.84rem;color:var(--muted);font-weight:500}
.chip b{color:var(--text);font-weight:700}
/* ---------- sections ---------- */
section{padding:96px 0;position:relative;background:radial-gradient(ellipse 95% 65% at 50% 0%,rgba(22,163,74,.07),transparent 58%)}
.sec-label{letter-spacing:.2em;font-size:.76rem;color:var(--green);font-weight:700}
h2{font-size:clamp(1.8rem,3.4vw,2.5rem);letter-spacing:-.02em;margin:12px 0 16px;font-weight:800;line-height:1.2}
.sub{color:var(--muted);max-width:640px;font-size:1.05rem;line-height:1.7}
.alt{background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px),radial-gradient(ellipse 85% 85% at 50% 42%,#0d2411 0%,var(--bg2) 68%);background-size:46px 46px,46px 46px,100% 100%;border-top:1px solid rgba(30,58,30,.55);border-bottom:1px solid rgba(30,58,30,.55)}
/* ---------- audience ---------- */
.aud{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.aud a{border:1px solid var(--border);background:var(--panel);border-radius:var(--r-md);padding:16px 22px;color:var(--text);text-decoration:none;font-weight:700;font-size:.95rem;transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}
.aud a span{display:block;font-weight:400;color:var(--muted);font-size:.82rem;margin-top:3px}
.aud a:hover{border-color:var(--green-deep);transform:translateY(-2px);box-shadow:var(--shadow-md)}
/* ---------- layers ---------- */
.layers{display:grid;gap:12px;margin-top:36px}
.layer{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--copper);border-radius:var(--r-md);padding:22px 26px;box-shadow:var(--shadow-sm)}
.layer h3{color:var(--copper);font-size:1.02rem;margin-bottom:6px;letter-spacing:-.01em}
.layer p{color:var(--muted);font-size:.95rem;line-height:1.65}
/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:36px}
.gal figure{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);margin:0;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.gal figure:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.gal img{width:100%;height:252px;object-fit:cover;display:block;transition:transform .45s var(--ease)}
.gal figure:hover img{transform:scale(1.045)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.88));padding:1.6rem 1rem .7rem;font-size:.83rem;color:#eaffee;font-weight:500}
/* ---------- price band ---------- */
.price{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f2013,var(--panel));border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:32px 36px;margin-top:36px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md)}
.price .n{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--green)}
.price .sub{font-size:.95rem}
/* ---------- reviews ---------- */
blockquote{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:24px 26px;margin:0 0 14px;color:var(--text-2);box-shadow:var(--shadow-sm);position:relative}
blockquote::before{content:'\201C';position:absolute;top:10px;right:20px;font-size:3rem;color:rgba(74,222,128,.18);font-family:Georgia,serif;line-height:1}
blockquote cite{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-style:normal;font-size:.85rem;font-weight:600}
blockquote cite::before{content:'\2605\2605\2605\2605\2605';color:#fbbf24;font-size:.75rem;letter-spacing:.1em}
/* ---------- faq ---------- */
details{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:18px 22px;margin-bottom:10px;transition:border-color .15s var(--ease)}
details:hover{border-color:var(--border-strong)}
details[open]{border-color:var(--green-deep);background:var(--panel-2);box-shadow:0 0 22px rgba(34,197,94,.1)}
details[open]>*:not(summary){animation:eefFaqIn .3s var(--ease) both}
details:hover{border-color:var(--border-strong)}
details[open] summary{color:var(--green)}
summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--green);font-size:1.15rem;font-weight:600;flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);transition:transform .25s var(--ease),background .25s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:12px;color:var(--muted);line-height:1.7}
/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:40px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--text);display:block;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.card:hover{transform:translateY(-4px);border-color:var(--green-deep);box-shadow:var(--shadow-lg)}
.card img{width:100%;height:200px;object-fit:cover;display:block}
.card .cb{padding:22px 24px 26px}
.card h3{font-size:1.14rem;margin-bottom:7px;letter-spacing:-.015em}
.card p{color:var(--muted);font-size:.9rem;line-height:1.6}
.card .from{color:var(--copper);font-weight:700;font-size:.86rem;margin-top:14px;display:block;letter-spacing:-.01em}
/* ---------- form wrap ---------- */
.formwrap{max-width:640px;margin:40px auto 0}
/* ---------- footer ---------- */
footer{background:#060b07;border-top:1px solid var(--border);padding:64px 0 100px;color:var(--muted);font-size:.9rem}
.foot{max-width:var(--maxw);margin:auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.foot h4{color:var(--text);font-size:.78rem;letter-spacing:.14em;margin-bottom:16px}
.foot a{color:var(--muted);text-decoration:none;display:block;margin-bottom:9px;transition:color .15s var(--ease)}
.foot a:hover{color:var(--green)}
/* ---------- sticky mobile bar ---------- */
.sticky-bar{display:none}
@media(max-width:760px){
.sticky-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:rgba(7,13,8,.97);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
.sticky-bar a{flex:1;text-align:center;padding:14px;border-radius:var(--r-md);font-weight:700;text-decoration:none;font-size:.95rem}
.sticky-bar .call{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green)}
.sticky-bar .quote{background:var(--green-d);color:#052e12;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
section{padding:64px 0}.hero,.hero.short{min-height:70vh}
.hero .hero-c{padding-bottom:150px!important}
.fx-sd{width:44px;height:44px;bottom:calc(12px + env(safe-area-inset-bottom))}.hero-c{padding-top:72px;padding-bottom:56px}
.btn{width:100%;}.cta-row{flex-direction:column}}
/* ---------- msf form ---------- */
.msf{position:relative;overflow:hidden;background:linear-gradient(145deg,#0d1a0d 0%,var(--panel) 45%,#0d2411 100%);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:1.7rem 1.5rem;box-shadow:0 0 30px rgba(22,163,74,.08),var(--shadow-lg)}
.msf-progress{display:flex;align-items:center;gap:.4rem;margin-bottom:1.5rem}
.msf-node{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:62px}
.msf-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;background:#17241a;border:1.5px solid var(--border-strong);color:var(--muted-2);transition:all .25s var(--ease)}
.msf-node.active .msf-dot{background:var(--green-d);border-color:var(--green);color:#052e12;box-shadow:0 0 0 4px rgba(74,222,128,.16)}
.msf-node.done .msf-dot{background:#143321;border-color:var(--green-deep);color:var(--green)}
.msf-node span{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-weight:700;white-space:nowrap}
.msf-node.active span{color:var(--green)}
.msf-line{flex:1;height:2px;background:var(--border-strong);border-radius:2px}
.msf-step{display:none}
.msf-step.on{display:block;animation:msfIn .25s var(--ease)}
@keyframes msfIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.msf h4{color:#fff;font-size:1.3rem;margin-bottom:.3rem;letter-spacing:-.02em}
.msf .msf-sub{color:var(--muted);font-size:.9rem;margin-bottom:1.2rem}
.msf label{display:block;color:var(--text-2);font-size:.86rem;font-weight:600;margin:.95rem 0 .4rem}
.msf label .req{color:#f87171}
.msf input[type=text],.msf input[type=tel],.msf input[type=email],.msf select,.msf textarea{width:100%;height:46px;padding:0 .9rem;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:#0b130c;color:#fff;font-size:1rem;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.msf textarea{height:auto;padding:.75rem .9rem;line-height:1.55}
.msf input::placeholder,.msf textarea::placeholder{color:#5e745f}
.msf input:focus,.msf select:focus,.msf textarea:focus{border-color:var(--green);box-shadow:var(--ring)}
.msf .msf-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}
.msf .msf-3col{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:0 .9rem}
.msf-areas{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.25rem}
.msf-area{display:flex;align-items:center;gap:.6rem;background:#0b130c;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.7rem .85rem;cursor:pointer;color:var(--text-2);font-size:.9rem;transition:all .15s var(--ease)}
.msf-area:hover{border-color:var(--green-deep)}
.msf-area:has(input:checked){border-color:var(--green);background:#0f2013;color:#fff;box-shadow:inset 0 0 0 1px var(--green)}
.msf-area input{accent-color:var(--green);width:17px;height:17px;flex:none}
.msf-consent{display:flex;gap:.65rem;align-items:flex-start;background:#0b130c;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.85rem .95rem;margin-top:1rem;cursor:pointer}
.msf-consent input{accent-color:var(--green);width:17px;height:17px;flex:none;margin-top:.15rem}
.msf-consent span{color:var(--muted-2);font-size:.76rem;line-height:1.5}
.msf-nav{display:flex;gap:.8rem;margin-top:1.5rem;align-items:center}
.msf-back{background:none;border:none;color:var(--muted);font-weight:700;cursor:pointer;font-size:.9rem;padding:.8rem .5rem;border-radius:var(--r-sm);transition:color .15s var(--ease)}
.msf-back:hover{color:var(--text)}
.msf-next,.msf-submit{flex:1;height:52px;border:none;border-radius:var(--r-md);background:var(--green-d);color:#052e12;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 20px -6px rgba(34,197,94,.4);transition:background .15s var(--ease),transform .15s var(--ease)}
.msf-next:hover,.msf-submit:hover{background:var(--green);transform:translateY(-1px)}
.msf-submit:disabled{opacity:.6;cursor:wait;transform:none}
.msf-err{color:#f87171;font-size:.82rem;margin-top:.55rem;display:none}
.msf-fail{display:none;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.35);border-radius:var(--r-sm);padding:.85rem .95rem;color:#fca5a5;font-size:.85rem;margin-top:.9rem}
.msf-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media(max-width:560px){.msf .msf-3col{grid-template-columns:1fr}.msf .msf-2col{grid-template-columns:1fr}.msf-node span{display:none}.msf-node{min-width:36px}}

/* ---------- v2.1 ambient lighting & motion (from legacy homepage) ---------- */
.hero::after{content:'';position:absolute;inset:-12%;z-index:1;pointer-events:none;filter:blur(14px);
background:radial-gradient(640px 420px at 16% 28%,rgba(34,197,94,.17),transparent 62%),
radial-gradient(760px 520px at 86% 72%,rgba(217,160,91,.10),transparent 62%),
radial-gradient(420px 300px at 62% 12%,rgba(74,222,128,.08),transparent 60%)}
.price::before,.msf::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:1;
background:linear-gradient(90deg,var(--green-deep),var(--green),var(--green-deep));background-size:220% 100%}
.card:hover{box-shadow:var(--shadow-lg),0 0 26px rgba(34,197,94,.14)}
@media (prefers-reduced-motion: no-preference){
.hero::after{animation:eefAurora 24s ease-in-out infinite alternate}
.price::before,.msf::before{animation:eefShimmer 5.5s linear infinite}
@keyframes eefAurora{0%{transform:translate3d(-3%,-2%,0) scale(1);opacity:.85}50%{transform:translate3d(3%,3%,0) scale(1.07);opacity:1}100%{transform:translate3d(-2%,2%,0) scale(1.02);opacity:.9}}
@keyframes eefShimmer{from{background-position:0% 0}to{background-position:220% 0}}
@supports (animation-timeline: view()){
@media(min-width:921px) and (prefers-reduced-motion: no-preference){
.card,.layer,.gal figure,blockquote,.aud a{animation:eefRise .7s var(--ease) both;animation-timeline:view();animation-range:entry 0% entry 55%}
}
@keyframes eefRise{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
}
}

/* ---------- v2.2: 21st.dev-style component layer ---------- */
/* Lamp section header */
.lamp{position:relative;text-align:center;padding-top:64px;margin-bottom:8px}
.lamp .sec-label{display:inline-block}
.lamp::before{content:'';position:absolute;top:26px;left:50%;transform:translateX(-50%);width:min(480px,76%);height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,#86efac 14%,#eafff2 50%,#86efac 86%,transparent);box-shadow:0 0 12px 3px rgba(214,255,228,.5),0 0 26px 7px rgba(74,222,128,.35),0 0 60px 16px rgba(34,197,94,.2)}
.lamp::after{content:'';position:absolute;top:28px;left:50%;transform:translateX(-50%);width:min(700px,96%);height:260px;pointer-events:none;background:conic-gradient(from 0deg at 50% 0%,transparent 36%,rgba(74,222,128,.17) 50%,transparent 64%),radial-gradient(52% 46% at 50% 8%,rgba(134,239,172,.12),transparent 70%);filter:blur(14px)}
.lamp h2{position:relative;z-index:1}
/* Hero spotlight beam */
.hero::before{content:'';position:absolute;z-index:1;top:-25%;left:-12%;width:65%;height:150%;pointer-events:none;transform:rotate(-18deg);filter:blur(34px);background:radial-gradient(48% 46% at 50% 42%,rgba(214,255,228,.11),rgba(74,222,128,.05) 55%,transparent 72%)}
/* Card spotlight (pointer-tracked via eef-fx.js) */
.fx-spot{position:relative;--mx:50%;--my:50%}
.fx-spot::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s var(--ease);background:radial-gradient(340px circle at var(--mx) var(--my),rgba(74,222,128,.13),transparent 62%)}
.fx-spot:hover::after{opacity:1}
/* Meteors */
.fx-meteors{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.fx-meteor{position:absolute;width:2px;height:2px;border-radius:999px;background:#d6ffe4;box-shadow:0 0 6px 1px rgba(74,222,128,.7);transform:rotate(215deg);opacity:0}
.fx-meteor::before{content:'';position:absolute;top:50%;left:1px;width:120px;height:1px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(186,245,205,.75),transparent)}
/* Pixel stars */
.fx-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.fx-star{position:absolute;border-radius:1px;background:#cfeedd;opacity:0}
/* Logo cloud marquee */
.logocloud{overflow:hidden;position:relative;margin-top:30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.fx-marquee-track{display:flex;align-items:center;gap:72px;width:max-content;padding:6px 0;animation:eefMarquee 30s linear infinite;will-change:transform}
@keyframes eefMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.logocloud:hover .fx-marquee-track{animation-play-state:paused}}
.logomark{flex:none;display:flex;align-items:center;gap:10px;color:var(--muted-2);font-weight:800;letter-spacing:.14em;font-size:1.02rem;white-space:nowrap;filter:grayscale(1);opacity:.75;transition:opacity .25s var(--ease),color .25s var(--ease),filter .25s var(--ease)}
.logomark i{font-size:1.25rem;color:var(--green-deep)}
.logomark:hover{opacity:1;color:var(--text);filter:none}
.logomark small{display:block;font-weight:500;letter-spacing:.04em;font-size:.68rem;color:var(--muted-2)}
/* Glass fold panel (commercial band + chips get glass treatment) */
.glassfold{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.015) 45%,rgba(74,222,128,.05));backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),var(--shadow-lg)}
.glassfold::after{content:'';position:absolute;top:0;right:0;width:74px;height:74px;pointer-events:none;background:linear-gradient(225deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 55%,transparent 60%);clip-path:polygon(100% 0,0 0,100% 100%);border-radius:0 var(--r-lg) 0 0}
/* Magic UI touches: shimmer sweep on primary buttons, slow gradient drift on h1 accent */
.btn.p{position:relative;overflow:hidden}
.btn.p::after{content:'';position:absolute;top:0;bottom:0;left:-80%;width:50%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg)}
h1 em{background-size:200% 100%}
@media (prefers-reduced-motion: no-preference){
.fx-meteor{animation:eefMeteor linear infinite}
.fx-star{animation:eefTwinkle ease-in-out infinite}
.btn.p::after{animation:eefSheen 4.5s var(--ease) infinite}
h1 em{animation:eefHue 9s ease-in-out infinite alternate}
.hero::before{animation:eefSpotIn 1.8s var(--ease) both}
@keyframes eefMeteor{0%{opacity:0;transform:rotate(215deg) translateX(0)}8%{opacity:1}55%{opacity:1}70%{opacity:0;transform:rotate(215deg) translateX(-560px)}100%{opacity:0;transform:rotate(215deg) translateX(-560px)}}
@keyframes eefTwinkle{0%,100%{opacity:0}50%{opacity:.9}}
@keyframes eefSheen{0%{left:-80%}46%{left:130%}100%{left:130%}}
@keyframes eefHue{from{background-position:0% 0}to{background-position:100% 0}}
@keyframes eefMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes eefSpotIn{from{opacity:0;transform:rotate(-18deg) translateY(-14%)}to{opacity:1;transform:rotate(-18deg) translateY(0)}}
}
@keyframes eefFaqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

[data-meteors]{position:relative;overflow:hidden}
.price>*{position:relative;z-index:2}
.price .sub{position:relative;z-index:2}

/* scroll-down indicator */
.fx-sd{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(74,222,128,.45);background:rgba(16,27,18,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#b8f5cd;box-shadow:0 0 18px rgba(34,197,94,.45),0 0 44px rgba(34,197,94,.2),inset 0 0 12px rgba(74,222,128,.14);transition:background .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease}
.fx-sd:hover{background:rgba(34,197,94,.32);color:#fff;transform:translateX(-50%) scale(1.07);box-shadow:0 0 28px rgba(74,222,128,.75),0 0 70px rgba(34,197,94,.35),inset 0 0 14px rgba(74,222,128,.25)}
.fx-sd::before{content:'';position:absolute;inset:-6px;border-radius:999px;border:1px solid rgba(74,222,128,.55);pointer-events:none}
.fx-sd svg{width:22px;height:22px;display:block}
@media (prefers-reduced-motion: no-preference){
.fx-sd::before{animation:eefSdPulse 2.2s ease-out infinite}
.fx-sd svg{animation:eefSdBob 1.8s ease-in-out infinite}
@keyframes eefSdPulse{0%{transform:scale(.78);opacity:.9}70%{transform:scale(1.4);opacity:0}100%{transform:scale(1.4);opacity:0}}
@keyframes eefSdBob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
}
