body.intro-locked{overflow:hidden;position:fixed;width:100%;overscroll-behavior:none}.intro-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;touch-action:none;overscroll-behavior:none;background:radial-gradient(circle at 50% 45%,rgba(255,98,72,.14),transparent 36%),rgba(18,18,18,.96);color:#f9f5ee;transition:opacity .8s var(--ease),visibility .8s ease,backdrop-filter .8s ease}.intro-gate.active{backdrop-filter:blur(16px)}.intro-gate.released{opacity:0;visibility:hidden;pointer-events:none}.intro-gate-noise{position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:radial-gradient(rgba(255,255,255,.8) .7px,transparent .7px);background-size:7px 7px}.intro-gate-content{position:relative;z-index:2;width:min(1050px,88vw);text-align:center}.intro-eyebrow{margin-bottom:42px;color:var(--acid);font:700 10px var(--mono);letter-spacing:.22em}.intro-text{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.32em;row-gap:.15em;max-width:1000px;margin:auto;font-size:clamp(2rem,5vw,5.1rem);line-height:.97;letter-spacing:-.065em}.intro-text span{display:inline-block;opacity:.28;filter:blur(1.5px);transform:translateY(18px) rotateX(15deg);transition:opacity .09s linear,transform .12s var(--ease),filter .09s linear,font-weight .09s linear}.intro-text span.active{font-weight:700;opacity:1;filter:blur(0);transform:translateY(0)}.intro-text span:last-child.active{color:var(--coral)}.intro-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:65px;color:rgba(255,255,255,.48);font:10px var(--mono);letter-spacing:.15em}.intro-counter{justify-self:start}.intro-counter b{color:var(--coral);font:700 17px var(--serif)}.intro-arrow{justify-self:end;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--acid);font-size:18px;animation:introArrow 1.6s ease-in-out infinite}@keyframes introArrow{50%{transform:translateY(6px)}}#particles{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.65}body.intro-locked #particles{filter:blur(3px);opacity:.35}.particle{position:absolute;width:2px;height:2px;background:var(--acid);border-radius:50%;opacity:.55;animation:particleFloat 5s ease-in-out infinite}@keyframes particleFloat{50%{transform:translateY(-14px);opacity:1}}.rocket-layer{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none}.rocket-flight{position:absolute;top:var(--rocket-y);left:0;width:150px;height:34px;opacity:0;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18));transform:translate(var(--start),var(--rise)) rotate(var(--angle));animation:rocketCross 2.8s var(--ease) forwards}.rocket-body{position:absolute;right:0;top:4px;width:56px;height:24px;border-radius:70% 45% 45% 70%;background:linear-gradient(135deg,#292723,var(--coral));transform:skewX(-12deg)}.rocket-window{position:absolute;right:20px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--paper);border:2px solid rgba(18,18,18,.35)}.rocket-fin{position:absolute;right:39px;width:13px;height:11px;background:#d9402d;clip-path:polygon(0 100%,100% 0,100% 100%)}.rocket-fin-top{top:0}.rocket-fin-bottom{bottom:0;transform:rotate(180deg)}.rocket-flame,.rocket-flame:before,.rocket-flame:after{position:absolute;content:"";left:0;border-radius:100% 0 100% 100%;transform:rotate(45deg)}.rocket-flame{top:10px;left:4px;width:19px;height:19px;background:var(--coral);animation:flamePulse .18s ease-in-out infinite alternate}.rocket-flame:before{top:3px;left:-17px;width:17px;height:17px;background:rgba(255,98,72,.48)}.rocket-flame:after{top:6px;left:-33px;width:12px;height:12px;background:rgba(217,64,45,.25)}@keyframes rocketCross{0%{opacity:0;transform:translate(var(--start),var(--rise)) rotate(var(--angle))}10%{opacity:.8}82%{opacity:.35}100%{opacity:0;transform:translate(var(--end),var(--fall)) rotate(var(--angle))}}@keyframes flamePulse{to{transform:rotate(45deg) scale(1.08)}}.floating-cta{position:fixed;left:22px;top:105px;z-index:150;width:min(210px,calc(100vw - 30px));min-height:50px;display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:100px;background:var(--ink);color:white;border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px rgba(0,0,0,.17);font-size:9px;letter-spacing:.06em;transition:background .3s,transform .2s;will-change:transform}.floating-cta:hover{background:var(--coral)}.floating-cta span{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--acid)}.floating-cta b{flex:1}.floating-cta strong{font-size:16px;font-weight:400}.offer-preview{position:relative;text-decoration:none}.offer-preview:hover .preview-overlay{opacity:1;transform:translateY(0)}.preview-kicker{position:absolute;top:18px;left:20px;z-index:2;font:9px var(--mono);letter-spacing:.1em;color:rgba(18,18,18,.65)}.preview-overlay{position:absolute;inset:auto 12px 12px 12px;padding:12px;background:var(--ink);color:#fff;text-align:center;font:10px var(--mono);letter-spacing:.08em;opacity:0;transform:translateY(8px);transition:.25s}.offer-card:nth-child(2) .preview-overlay{background:#fff;color:var(--ink)}@media(max-width:640px){.floating-cta{top:auto;bottom:22px;left:18px;width:190px}.intro-text{font-size:clamp(2rem,9vw,3.3rem)}.intro-eyebrow{font-size:8px;line-height:1.5}.intro-bottom{margin-top:38px;font-size:8px}}

.brand-logo-image{width:31px;height:31px;object-fit:contain}.offer-preview{display:block;position:relative;height:155px;background:var(--paper2);overflow:hidden}.offer-preview img{display:block;width:100%;height:155px;object-fit:cover}.offer-preview .preview-overlay{z-index:3}.offer-preview:hover img{transform:scale(1.04);transition:transform .35s ease}

.scroll-progress{position:fixed;z-index:300;top:0;left:0;width:100%;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left center;box-shadow:0 0 12px rgba(255,98,72,.5);pointer-events:none}.hero-art{transform:translate3d(0,var(--scroll-shift,0),0);transition:transform .12s linear}.reveal:nth-child(2){transition-delay:.06s}.reveal:nth-child(3){transition-delay:.12s}.reveal:nth-child(4){transition-delay:.18s}.service-row.reveal,.method-step.reveal,.offer-card.reveal,.faq-item.reveal{transition-duration:.75s}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-art{transform:none!important}.reveal{transition:none!important}}

/* CTA disintegration effect */
.floating-cta.is-disintegrating{animation:ctaDissolve .48s cubic-bezier(.7,0,.9,.35) forwards;filter:blur(7px);pointer-events:none}.cta-fragment-layer{position:fixed;inset:0;z-index:260;pointer-events:none;overflow:hidden}.cta-fragment-layer i{position:absolute;display:block;background:var(--coral);border-radius:2px;box-shadow:0 0 12px rgba(255,98,72,.55);animation:fragmentFly .85s cubic-bezier(.12,.72,.15,1) var(--delay) forwards;opacity:0}.cta-fragment-layer i:nth-child(3n){background:var(--acid);border-radius:50%}.cta-fragment-layer i:nth-child(4n){background:#fff;transform:rotate(45deg)}@keyframes ctaDissolve{0%{opacity:1;filter:blur(0);transform:scale(1)}55%{opacity:.7;filter:blur(3px);transform:scale(.92) rotate(-2deg)}100%{opacity:0;filter:blur(12px);transform:scale(.35) rotate(5deg)}}@keyframes fragmentFly{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.05);filter:blur(4px)}}
/* more visible but still subtle ambient particles */
#particles{opacity:.82}.particle{width:3px;height:3px;box-shadow:0 0 8px currentColor;animation:particleFloat 5s ease-in-out infinite,particlePulse 2.8s ease-in-out infinite alternate}.particle:nth-child(3n){background:var(--coral);color:var(--coral)}.particle:nth-child(4n){width:2px;height:2px;background:#fff;color:#fff}.particle:nth-child(5n){background:var(--acid);color:var(--acid)}@keyframes particlePulse{to{opacity:.2;transform:scale(.55)}}
@media(prefers-reduced-motion:reduce){.floating-cta.is-disintegrating{animation:none;opacity:0}.cta-fragment-layer{display:none}.particle{animation:none}}

.floating-cta.is-gone{opacity:0;visibility:hidden;pointer-events:none}

/* Full-page particle field and arrival focus */
#particles-js{position:fixed;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.96;transition:opacity .7s ease,filter .7s ease}#particles-js canvas{display:block!important;width:100%!important;height:100%!important;opacity:1}.hero-section,.statement-section,.section-pad,.contact-section{position:relative;z-index:1}.hero-section>*:not(.hero-grid),.statement-section>*,.section-pad>*,.contact-section>*{position:relative;z-index:3}.site-header,.floating-cta,.intro-gate{z-index:100}.hero-copy,.hero-art{transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}.particle-focus .hero-copy{opacity:0;transform:translateY(34px);filter:blur(12px)}.particle-focus .hero-art{opacity:.2;transform:scale(.9);filter:blur(5px)}.particle-focus #particles-js{opacity:1;filter:saturate(1.35) brightness(1.2)}.particle-focus .hero-bottom-line{opacity:.45}@media(max-width:640px){#particles-js{opacity:.9}.particle-focus .hero-copy{transform:translateY(24px)}.particle-focus .hero-art{opacity:.3}}

body.intro-locked .floating-cta{opacity:0!important;visibility:hidden;pointer-events:none;transform:scale(.8)}

#particles-js.palette-fading{opacity:.18;filter:blur(3px) saturate(.7);transition:opacity .38s ease,filter .38s ease}
