@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#05070e;--surface:#090d18;--blue:#496dff;--electric:#6e8dff;--purple:#a28aff;--text:#f4f6ff;--muted:#9aa3ba;--line:rgba(201,211,255,.15);--font:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}em{font-style:normal;color:#aabaff;font-weight:400}.section-pad{padding-right:max(5vw,28px);padding-left:max(5vw,28px)}.site-header{position:fixed;top:16px;left:50%;z-index:10;display:flex;align-items:center;gap:24px;width:min(1320px,calc(100% - 32px));min-height:68px;padding:10px 12px 10px 16px;border:1px solid rgba(211,220,255,.13);border-radius:12px;background:rgba(5,7,14,.67);backdrop-filter:blur(20px);transform:translateX(-50%);transition:.25s}.site-header.is-scrolled{top:8px;background:rgba(5,7,14,.91);border-color:rgba(211,220,255,.22)}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:.91rem;letter-spacing:-.05em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:linear-gradient(145deg,#8aa8ff,#5e56ee);color:#fff;font-family:Georgia,serif;font-size:1.2rem;box-shadow:0 0 22px rgba(94,86,238,.45)}.brand-dot{color:#849cff}.nav{display:flex;gap:5px;margin-left:auto}.nav a{padding:10px 13px;color:#abb4ca;font-size:.78rem;font-weight:700}.nav a:hover{color:#fff}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:7px;font-size:.78rem;font-weight:800}.header-cta{height:42px;padding:0 15px;background:#e8edff;color:#0b1021}.header-cta span,.button span{font-size:1.05rem}.nav-toggle{display:none}.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(320px,.93fr) minmax(460px,1.07fr);min-height:830px;padding:178px max(5vw,28px) 68px;overflow:hidden;background:radial-gradient(circle at 71% 44%,#141e6c 0,rgba(18,31,106,.5) 14%,transparent 36%),linear-gradient(115deg,#05070e 21%,#080c28 100%)}.hero-grid{position:absolute;z-index:-1;inset:0;opacity:.19;background-image:linear-gradient(rgba(133,157,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(133,157,255,.18) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,transparent,black 62%)}.hero-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(10px);opacity:.54}.orb-one{width:510px;height:510px;right:9%;top:16%;background:#263bc8;filter:blur(80px)}.orb-two{width:350px;height:270px;right:-120px;bottom:5%;background:#8d59ff;filter:blur(120px)}.hero-copy{align-self:center;max-width:680px}.eyebrow{margin:0 0 20px;color:#aab5d3;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.eyebrow span{display:inline-block;width:18px;height:1px;margin:0 8px 3px 0;background:#839bff}.hero h1,.intro h2,.section-top h2,.method h2,.impact h2,.contact h2{margin:0;letter-spacing:-.075em;font-weight:600}.hero h1{font-size:clamp(3.35rem,6.1vw,6.55rem);line-height:.96}.hero-description{max-width:485px;margin:29px 0 0;color:#b7c0d7;font-size:1rem;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.button{min-height:52px;padding:0 20px;border:0;background:linear-gradient(110deg,#b8c9ff,#778cff);color:#10152d;box-shadow:0 12px 36px rgba(97,117,255,.23);cursor:pointer}.button:hover{transform:translateY(-2px);filter:brightness(1.07)}.text-link{font-size:.78rem;font-weight:800}.text-link span{margin-left:8px;color:#879cff}.hero-visual{position:relative;align-self:center;height:520px;min-width:520px;transform:translateX(1vw)}.visual-ring{position:absolute;border:1px solid rgba(172,190,255,.21);border-radius:50%}.ring-large{inset:19px}.ring-small{inset:102px;border-color:rgba(172,190,255,.28)}.visual-ring:before,.visual-ring:after{position:absolute;width:8px;height:8px;border-radius:50%;background:#bfd0ff;box-shadow:0 0 17px 5px #718aff;content:""}.ring-large:before{top:9%;left:22%}.ring-large:after{right:7%;bottom:18%}.ring-small:before{bottom:-4px;left:46%;background:#bd83ff}.ring-small:after{right:10%;top:15%}.visual-core{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:112px;height:112px;border:1px solid rgba(216,223,255,.38);border-radius:30px;background:linear-gradient(145deg,#354588,#171d43);box-shadow:0 0 0 18px rgba(99,121,255,.07),0 0 90px #546fff;transform:translate(-50%,-50%) rotate(12deg)}.visual-core span{font-family:Georgia,serif;font-size:4.3rem}.orbit-card{position:absolute;display:grid;grid-template-columns:22px 1fr;column-gap:9px;min-width:174px;padding:13px;border:1px solid rgba(209,220,255,.22);border-radius:9px;background:rgba(14,19,48,.71);box-shadow:0 14px 40px rgba(0,0,0,.22);backdrop-filter:blur(10px)}.orbit-card i{grid-row:span 2;width:17px;height:17px;border-radius:5px;background:linear-gradient(135deg,#879eff,#b88bff)}.orbit-card b{font-size:.62rem;letter-spacing:-.02em}.orbit-card small{margin-top:3px;color:#a7b0ce;font-family:var(--mono);font-size:.48rem}.card-sites{top:3%;left:8%}.card-systems{right:3%;top:22%}.card-ai{bottom:11%;left:12%}.visual-status{position:absolute;bottom:-3px;right:17%;color:#b9c5e9;font-family:var(--mono);font-size:.55rem}.visual-status span{display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;border-radius:50%;background:#82e5b6;box-shadow:0 0 9px #82e5b6}.hero-bottom{position:absolute;bottom:31px;left:max(5vw,28px);right:max(5vw,28px);display:flex;align-items:center;gap:10px;color:#8992a9;font-family:var(--mono);font-size:.52rem;letter-spacing:.08em}.hero-bottom i{width:54px;height:1px;background:#4d5982}.hero-bottom p{margin:0 0 0 auto}.intro{position:relative;padding-top:130px;padding-bottom:0;background:#090d18}.section-index{margin:0;color:#65708f;font-family:var(--mono);font-size:.58rem;letter-spacing:.04em}.intro-content{width:min(100%,1050px);margin:70px auto 92px}.intro h2{font-size:clamp(3rem,5.3vw,5.6rem);line-height:.99}.large-copy{max-width:515px;margin:32px 0 0 auto;color:#aab3c8;font-size:1.04rem;line-height:1.8}.intro-line{display:flex;justify-content:space-between;padding:20px max(5vw,28px);border-top:1px solid var(--line);color:#77819a;font-family:var(--mono);font-size:.53rem;letter-spacing:.09em}.solutions{padding-top:130px;padding-bottom:140px;background:#090d18}.section-top{display:flex;justify-content:space-between;gap:45px;margin-bottom:62px}.section-top h2{max-width:620px;font-size:clamp(2.4rem,4.3vw,4.5rem);line-height:1.01}.solution-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.solution-card{position:relative;display:flex;flex-direction:column;min-height:580px;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:linear-gradient(150deg,#12182d,#0c1021)}.solution-card.featured{background:linear-gradient(150deg,#171e4b,#101630)}.card-number{color:#9da8c4;font-family:var(--mono);font-size:.58rem}.card-art{position:absolute;top:65px;left:16px;right:16px;height:190px;opacity:.9}.site-art{border:1px solid rgba(156,177,255,.24);border-radius:9px;background:linear-gradient(135deg,#1a2462,#0e132f);box-shadow:inset 0 0 70px rgba(85,113,255,.28)}.site-art span{position:absolute;left:18px;right:18px;height:8px;border-radius:3px;background:rgba(180,196,255,.48)}.site-art span:first-child{top:23px;right:44%}.site-art span:nth-child(2){top:47px;right:20%;height:5px}.site-art span:last-child{top:70px;bottom:17px;height:auto;background:linear-gradient(135deg,rgba(112,137,255,.7),rgba(123,83,235,.2))}.system-art{padding:14px;border-radius:9px;background:rgba(4,7,18,.7);display:grid;gap:8px}.system-art div{border:1px solid rgba(126,151,255,.26);border-radius:5px;background:linear-gradient(90deg,rgba(75,99,220,.5),rgba(96,72,188,.15))}.system-art div:first-child{width:75%}.system-art div:nth-child(2){width:90%}.system-art div:last-child{width:62%}.ai-art{background:radial-gradient(circle at center,rgba(104,119,255,.6),transparent 18%),radial-gradient(circle at center,transparent 0 29%,rgba(117,142,255,.25) 29.5% 30%,transparent 30.5% 46%,rgba(117,142,255,.14) 46.5% 47%,transparent 47.5%)}.ai-node{position:absolute;top:77px;left:calc(50% - 26px);width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,#a18cff,#5372ff);box-shadow:0 0 35px #616ffb}.ai-art i{position:absolute;width:8px;height:8px;border-radius:50%;background:#c8d6ff;box-shadow:0 0 14px #7890ff}.ai-art i:nth-of-type(1){left:20%;top:27%}.ai-art i:nth-of-type(2){right:20%;top:27%}.ai-art i:nth-of-type(3){left:23%;bottom:24%}.ai-art i:nth-of-type(4){right:22%;bottom:26%}.card-content{z-index:1;margin-top:auto}.card-content p{margin:0 0 10px;color:#9facdc;font-family:var(--mono);font-size:.54rem;letter-spacing:.09em}.card-content h3{max-width:290px;margin:0;font-size:1.37rem;line-height:1.18;letter-spacing:-.055em}.card-content>span{display:block;margin:15px 0 20px;color:#aeb7cc;font-size:.76rem;line-height:1.6}.card-content a{font-size:.7rem;font-weight:800}.card-content b{margin-left:8px;color:#98aaff;font-size:1rem}.method{position:relative;overflow:hidden;padding:120px 0 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#080c1c,#080817)}.method-glow{position:absolute;top:-220px;left:25%;width:55%;height:560px;background:#2436a1;filter:blur(150px);opacity:.43}.method-heading{position:relative}.method-heading h2{font-size:clamp(2.7rem,4.9vw,5.2rem);line-height:1.01}.method-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:102px;padding-bottom:116px}.method-steps article{position:relative;padding-top:20px}.step-num{color:#aebcff;font-family:var(--mono);font-size:.63rem}.step-line{height:1px;margin:20px 0 23px;background:linear-gradient(90deg,#8ca3ff,rgba(140,163,255,.1))}.method-steps h3{margin:0 0 11px;font-size:1.15rem;letter-spacing:-.05em}.method-steps p{max-width:240px;margin:0;color:#a7afc4;font-size:.76rem;line-height:1.65}.impact{padding-top:130px;padding-bottom:130px;background:#090d18}.impact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;margin-top:67px}.impact-copy h2{margin-bottom:27px;font-size:clamp(3rem,5vw,5.2rem);line-height:.98}.impact-copy>p:last-child{max-width:420px;color:#adb6c9;line-height:1.8}.impact-points{border-top:1px solid var(--line)}.impact-points div{display:grid;grid-template-columns:42px 1fr;column-gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.impact-points b{grid-row:span 2;color:#899aff;font-family:var(--mono);font-size:.62rem}.impact-points h3{margin:0;font-size:.96rem;letter-spacing:-.04em}.impact-points p{margin:6px 0 0;color:#909bb3;font-size:.74rem}.contact{position:relative;display:grid;grid-template-columns:1fr .82fr;gap:100px;overflow:hidden;padding:125px max(9vw,28px);border-top:1px solid var(--line);background:linear-gradient(115deg,#101952,#080c1c 54%,#0b0d20)}.contact-glow{position:absolute;right:-8%;bottom:-45%;width:630px;height:630px;border-radius:50%;background:#5549d8;filter:blur(95px);opacity:.42}.contact-copy,.contact-form{position:relative;z-index:1}.contact h2{font-size:clamp(2.75rem,4.5vw,4.7rem);line-height:.98}.contact-copy>p:last-child{max-width:490px;margin:28px 0 0;color:#b4bed9;line-height:1.75}.contact-form{display:grid;gap:18px;padding:26px;border:1px solid rgba(195,208,255,.22);border-radius:11px;background:rgba(9,13,35,.7);backdrop-filter:blur(14px)}label{display:grid;gap:8px;color:#d5dcf2;font-family:var(--mono);font-size:.58rem}input,textarea{width:100%;border:0;border-bottom:1px solid rgba(205,218,255,.22);border-radius:0;background:transparent;color:#fff;outline:0;padding:7px 0 12px;font-family:var(--font);font-size:.8rem}textarea{resize:vertical;line-height:1.5}input:focus,textarea:focus{border-color:#9babff}::placeholder{color:#77819b}.contact-form .button{margin-top:8px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px max(5vw,28px);background:#05070e;color:#808aa0;font-family:var(--mono);font-size:.57rem}.footer .brand{color:#e6eaff;font-family:var(--font);font-size:.88rem}
@media(max-width:900px){.header-cta{display:none}.hero{grid-template-columns:1fr;min-height:870px}.hero-copy{z-index:1}.hero-visual{position:absolute;right:-105px;bottom:50px;width:500px;transform:scale(.84)}.hero-bottom{z-index:2}.solution-grid{grid-template-columns:1fr 1fr}.solution-card.featured{grid-column:span 2}.method-steps{grid-template-columns:1fr 1fr;row-gap:35px}.contact{grid-template-columns:1fr;gap:55px}.impact-grid{gap:45px}}
@media(max-width:620px){.site-header{gap:12px;min-height:60px}.brand{font-size:.78rem}.brand-mark{width:28px;height:28px}.nav-toggle{display:block;margin-left:auto;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:transparent}.nav-toggle span{display:block;width:15px;height:1px;margin:5px auto;background:#e5eaff}.nav{position:absolute;top:calc(100% + 8px);left:0;right:0;display:none;padding:8px;border:1px solid var(--line);border-radius:9px;background:#0a0e1e}.nav.is-open{display:grid}.nav a{padding:12px}.hero{min-height:760px;padding-top:145px;padding-bottom:65px}.hero h1{font-size:3.45rem}.hero-description{max-width:370px;font-size:.88rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-visual{right:-220px;bottom:35px;transform:scale(.6)}.hero-bottom p{display:none}.intro{padding-top:92px}.intro-content{margin:52px 0 60px}.large-copy{margin:27px 0 0;font-size:.9rem}.intro-line{overflow:hidden;gap:27px;justify-content:flex-start;white-space:nowrap}.section-top{display:block;margin-bottom:43px}.section-top h2{margin-top:41px}.solutions{padding-top:90px;padding-bottom:95px}.solution-grid{grid-template-columns:1fr}.solution-card,.solution-card.featured{grid-column:auto;min-height:490px}.card-art{height:150px}.method{padding-top:91px}.method-steps{grid-template-columns:1fr;margin-top:60px;padding-bottom:80px}.impact{padding-top:90px;padding-bottom:90px}.impact-grid{grid-template-columns:1fr;margin-top:45px}.contact{padding-top:90px;padding-bottom:90px}.footer{align-items:flex-start;flex-direction:column;gap:16px}.footer span:last-child{display:none}}

/* =============================================
   REVEAL ANIMATIONS
   ============================================= */
[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .65s ease,transform .65s ease}
[data-reveal].visible{opacity:1;transform:translateY(0)}
[data-reveal][data-delay="1"]{transition-delay:.12s}
[data-reveal][data-delay="2"]{transition-delay:.24s}
[data-reveal][data-delay="3"]{transition-delay:.36s}
[data-reveal][data-delay="4"]{transition-delay:.48s}

/* =============================================
   HERO LOAD ANIMATION
   ============================================= */
@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-animate{animation:hero-in .7s ease both}

/* =============================================
   HERO ORBITAL ANIMATIONS
   ============================================= */
@keyframes ring-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ring-spin-rev{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orb-pulse{0%,100%{opacity:.54}50%{opacity:.72}}
@keyframes status-pulse{0%,100%{box-shadow:0 0 9px #82e5b6}50%{box-shadow:0 0 20px #82e5b6,0 0 40px rgba(130,229,182,.35)}}

.ring-large{animation:ring-spin 28s linear infinite}
.ring-small{animation:ring-spin-rev 20s linear infinite}
.orb-one{animation:orb-pulse 5.5s ease-in-out infinite}
.orb-two{animation:orb-pulse 5.5s ease-in-out 2.75s infinite}
.card-sites{animation:float 4.2s ease-in-out infinite}
.card-systems{animation:float 4.8s ease-in-out .6s infinite}
.card-ai{animation:float 4s ease-in-out 1.2s infinite}
.visual-status span{animation:status-pulse 2.2s ease-in-out infinite}

/* =============================================
   TRUST STRIP
   ============================================= */
.trust{padding-top:60px;padding-bottom:60px;border-bottom:1px solid var(--line);background:#090d18}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.trust-item{display:flex;flex-direction:column;gap:9px;padding:34px 28px;background:#090d18;transition:background .2s}
.trust-item:hover{background:#0d1224}
.trust-value{font-size:1.65rem;font-weight:800;letter-spacing:-.055em;color:#aabaff;line-height:1}
.trust-item p{margin:0;color:#8a93aa;font-size:.74rem;line-height:1.55;max-width:190px}

/* =============================================
   FAQ SECTION
   ============================================= */
.faq{padding-top:130px;padding-bottom:130px;background:#090d18;border-top:1px solid var(--line)}
.faq-top{margin-bottom:56px}
.faq-top h2{margin:16px 0 0;font-size:clamp(2.5rem,4.3vw,4.5rem);letter-spacing:-.075em;line-height:.99;font-weight:600}
.faq-list{max-width:860px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font-size:.97rem;font-weight:700;letter-spacing:-.03em;list-style:none;user-select:none;transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:#aabaff}
.faq-item summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:1.15rem;font-weight:300;color:#778aff;transition:transform .25s,border-color .2s}
.faq-item[open] summary::after{transform:rotate(45deg);border-color:rgba(119,138,255,.4)}
.faq-item p{margin:0 0 26px;padding-right:50px;color:#a9b3cc;font-size:.87rem;line-height:1.8;max-width:720px}

/* =============================================
   CONTACT WHATSAPP BUTTON
   ============================================= */
.contact-whatsapp{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:13px 22px;border:1px solid rgba(100,230,150,.28);border-radius:9px;background:rgba(100,230,150,.06);color:#82e5b6;font-size:.8rem;font-weight:700;letter-spacing:-.01em;transition:background .2s,border-color .2s,transform .2s}
.contact-whatsapp:hover{background:rgba(100,230,150,.12);border-color:rgba(100,230,150,.5);transform:translateY(-2px)}
.wa-icon{display:grid;place-items:center;flex-shrink:0}

/* =============================================
   CARD HOVER LIFT
   ============================================= */
.solution-card{transition:transform .25s ease,box-shadow .25s ease}
.solution-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.card-content a{display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.card-content a:hover{color:#aabaff}

/* =============================================
   RESPONSIVE — NEW SECTIONS
   ============================================= */
@media(max-width:900px){
  .trust-grid{grid-template-columns:1fr 1fr}
  .faq{padding-top:90px;padding-bottom:90px}
}
@media(max-width:620px){
  .trust{padding-top:48px;padding-bottom:48px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-item{padding:22px 18px}
  .trust-value{font-size:1.35rem}
  .faq{padding-top:80px;padding-bottom:80px}
  .faq-top h2{font-size:2.3rem}
  .faq-item p{padding-right:0}
  .contact-whatsapp{width:100%;justify-content:center}
}
@media(max-width:380px){
  .trust-grid{grid-template-columns:1fr}
}

/* =============================================
   REDUCED MOTION
   ============================================= */
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .ring-large,.ring-small,.orb-one,.orb-two,.card-sites,.card-systems,.card-ai,.visual-status span,.hero-animate{animation:none}
}

/* =============================================
   SCROLL PROGRESS BAR
   ============================================= */
.scroll-progress{position:fixed;top:0;left:0;z-index:9999;height:2px;width:0;background:linear-gradient(90deg,#496dff,#a28aff);pointer-events:none;transition:width .08s linear}

/* =============================================
   CURSOR GLOW (desktop)
   ============================================= */
.cursor-glow{pointer-events:none;position:fixed;z-index:9998;top:0;left:0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(100,130,255,.065) 0,transparent 68%);will-change:transform}

/* =============================================
   ACTIVE NAV LINK
   ============================================= */
.nav a{position:relative}
.nav a.is-active{color:#fff}
.nav a.is-active::after{content:'';position:absolute;bottom:4px;left:13px;right:13px;height:1px;background:#8aa2ff;border-radius:1px;display:block}

/* =============================================
   NAV TOGGLE — animated X
   ============================================= */
.nav-toggle.is-active span:first-child{transform:translateY(3px) rotate(45deg)}
.nav-toggle.is-active span:last-child{transform:translateY(-3px) rotate(-45deg)}
.nav-toggle span{display:block;transition:transform .22s ease,opacity .2s}
.nav-toggle.is-active span{opacity:1}

/* =============================================
   BACK TO TOP
   ============================================= */
.back-top{position:fixed;bottom:30px;right:30px;z-index:100;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(9,13,35,.88);backdrop-filter:blur(14px);color:#aabaff;font-size:1.1rem;cursor:pointer;display:grid;place-items:center;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s,background .2s,border-color .2s;pointer-events:none}
.back-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.back-top:hover{background:rgba(20,30,80,.95);border-color:rgba(120,140,255,.4);color:#c8d5ff}

/* =============================================
   MOBILE NAV ANIMATION
   ============================================= */
@keyframes nav-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.nav.is-open{animation:nav-drop .2s ease both;box-shadow:0 20px 60px rgba(0,0,0,.5)}

/* =============================================
   CARD TILT — remove CSS hover transform (JS handles it)
   ============================================= */
.solution-card{transform-style:preserve-3d}
.solution-card:hover{transform:none;box-shadow:0 22px 64px rgba(0,0,0,.38)}

/* =============================================
   BUTTON — remove CSS hover transform (JS magnetic effect handles it)
   ============================================= */
.button:hover{transform:none;filter:brightness(1.08)}

/* =============================================
   INTERACTIVE LINK HOVER (solution cards)
   ============================================= */
.card-content a{transition:color .2s,gap .2s}
.card-content a:hover{color:#aabaff}

/* =============================================
   HERO — MOBILE FIX
   Fix: hero-copy invisible on mobile because of animation start state.
   On mobile, show immediately with faster animation and no delay.
   ============================================= */
@media(max-width:900px){
  .hero-animate{animation-delay:0s;animation-duration:.5s}
}

/* =============================================
   RESPONSIVE — HERO OVERFLOW FIX
   ============================================= */

/* 620px and below */
@media(max-width:620px){
  /* Switch hero to block layout — avoids grid cell percentage resolution issues */
  .hero{display:block;position:relative}
  .hero-visual{position:absolute;right:-260px;bottom:15px;transform:scale(.5);transform-origin:right bottom;opacity:.55}
  /* Hero copy fills block width safely */
  .hero-copy{position:relative;z-index:2;padding-right:0;box-sizing:border-box;width:100%;max-width:100%}
  .hero h1{font-size:clamp(1.95rem,8.2vw,3.45rem);line-height:.97;word-break:break-word}
  .hero-description{font-size:.72rem;max-width:100%;overflow-wrap:break-word;word-break:break-word}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:14px}
}

/* 400px and below */
@media(max-width:400px){
  .section-pad{padding-left:18px;padding-right:18px}
  .hero{min-height:700px;padding-top:118px;padding-bottom:55px}
  .hero h1{font-size:clamp(1.8rem,7.8vw,2rem)}
  .hero-description{font-size:.82rem}
  .intro h2,.impact h2,.method h2{font-size:clamp(2rem,8.5vw,2.4rem)}
  .contact h2{font-size:clamp(1.9rem,8vw,2.3rem)}
  .section-top h2{font-size:clamp(1.9rem,7.5vw,2.3rem);margin-top:30px}
  .faq-top h2{font-size:clamp(1.85rem,7.8vw,2.1rem)}
  .trust-value{font-size:1.2rem}
  .card-content h3{font-size:1.15rem}
  .large-copy{font-size:.86rem}
}

/* 340px and below */
@media(max-width:340px){
  .hero h1{font-size:1.75rem}
  .hero-visual{display:none}
  .contact{padding-left:18px;padding-right:18px}
}

/* =============================================
   RESPONSIVE — BETTER TOUCH TARGETS & MOBILE UX
   ============================================= */
@media(max-width:620px){
  /* Nav items bigger on mobile for easy tapping */
  .nav a{padding:14px 16px;font-size:.82rem}
  /* Form fields easier to type in */
  input,textarea{padding:12px 0 14px;font-size:.88rem}
  label{font-size:.62rem}
  .contact-form{padding:24px 18px}
  /* FAQ summary easier to tap */
  .faq-item summary{padding:18px 0;min-height:52px;font-size:.9rem}
  /* Back to top closer to edge on small screens */
  .back-top{bottom:20px;right:18px;width:40px;height:40px;font-size:1rem}
  /* WhatsApp button full width on mobile */
  .contact-whatsapp{width:100%;justify-content:center;margin-top:24px}
  /* Trust strip text */
  .trust-item{padding:24px 20px}
  .trust-item p{font-size:.7rem}
}

/* =============================================
   RESPONSIVE — TRUST & FAQ SMALL SCREENS
   ============================================= */
@media(max-width:480px){
  .trust-grid{grid-template-columns:1fr 1fr}
  .faq-item p{padding-right:0}
}
@media(max-width:320px){
  .trust-grid{grid-template-columns:1fr}
  .trust-item{padding:20px 18px}
}

/* =============================================
   PREFERS REDUCED MOTION — updated
   ============================================= */
@media(prefers-reduced-motion:reduce){
  .scroll-progress,.cursor-glow{display:none}
  .back-top{transition:opacity .2s}
  .nav.is-open{animation:none}
  .solution-card{transition:box-shadow .2s}
}
