/* Rafusoft homepage v3: scoped to .rf-home so shared layout styles stay untouched */

html:has(.rf-home){scroll-behavior:smooth;overflow-x:clip}
body:has(.rf-home){background:#04060b;color:#fff;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
body:has(.rf-home) #bottom-content #contact_section{display:none !important}

.rf-home{
  --bg:#04060b; --bg2:#080d16; --bg3:#0b1220;
  --panel:rgba(255,255,255,.035); --panel2:rgba(255,255,255,.05);
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.14);
  --accent:#F15A29; --accent-d:#d94e1f; --accent2:#FF9800;
  --cold:#8fb3d9; --cold-d:#5b7c99;
  --text:#fff; --muted:rgba(255,255,255,.64); --faint:rgba(255,255,255,.42);
  --disp:"Archivo",sans-serif; --mono:"IBM Plex Mono",monospace; --body:"Manrope",sans-serif;
  --maxw:1240px;
  position:relative;color:#fff;font-family:var(--body);font-size:16px;line-height:1.65;
}
.rf-home *{box-sizing:border-box;margin:0;padding:0}
.rf-home a{color:inherit;text-decoration:none}
.rf-home img{max-width:100%;display:block}
.rf-home h1,.rf-home h2,.rf-home h3,.rf-home h4,.rf-home h5,.rf-home h6{color:inherit}
.rf-home ul{list-style:none}
.rf-home button{font:inherit;color:inherit}
.rf-home .wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}
.rf-home section{position:relative;z-index:2}
.rf-home .skip{position:fixed;left:16px;top:-64px;z-index:200;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:6px;font-weight:700;transition:top .2s}
.rf-home .skip:focus{top:12px}

/* ---------- shared section furniture ---------- */
.rf-home .kicker{display:flex;align-items:center;gap:.8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;font-variant-numeric:tabular-nums}
.rf-home .kicker::before{content:"";width:34px;height:1px;background:var(--accent)}
.rf-home .h2{font-family:var(--disp);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.07;letter-spacing:-.025em;text-wrap:balance;color:#fff}
.rf-home .h2 .em{color:var(--accent)}
.rf-home .lede{color:var(--muted);max-width:60ch;margin-top:1.1rem;font-size:1.05rem}
.rf-home .sec{padding:6rem 0}
.rf-home .sec-head{margin-bottom:3.2rem}
.rf-home .services,.rf-home .process,.rf-home .poc,.rf-home .testi{border-top:1px solid rgba(255,255,255,.06)}

/* ---------- hero: original hand-built storm + water ---------- */
.rf-home .hero-stage{position:relative;background:#030509}
.rf-home .hero-stage .thunder{width:100%;height:100%;background-color:#030509;background-size:cover;background-position:center 30%;background-repeat:no-repeat;position:relative;z-index:0;overflow:hidden}
.rf-home .hero-stage .thunder>canvas{display:block;position:absolute;top:0;left:0;width:100%;height:100%}
.rf-home #canvas1{z-index:100}
.rf-home #canvas2{z-index:10}
.rf-home #canvas3{z-index:5}
.rf-home .hero-stage .thunder:after{content:"";width:100%;height:100%;display:block;position:absolute;top:0;left:0;background-color:rgba(0,0,0,.1);z-index:1;animation:thunder-bg 6s infinite;pointer-events:none}
@keyframes thunder-bg{0%{background-color:rgba(34,34,34,.9)}9%{background-color:rgba(34,34,34,.9)}10%{background-color:rgba(59,59,59,.3)}10.5%{background-color:rgba(34,34,34,.9)}80%{background-color:rgba(34,34,34,.9)}82%{background-color:rgba(59,59,59,.3)}83%{background-color:rgba(34,34,34,.9)}83.5%{background-color:rgba(59,59,59,.3)}100%{background-color:rgba(34,34,34,.9)}}
.rf-home .wave_area{position:relative;text-align:center;color:#fff;z-index:101}
.rf-home .inner_wave_area{height:86vh;width:100%;margin:0;padding:0;position:relative}
.rf-home .inner_wave_flex{display:flex;justify-content:center;align-items:center;text-align:left}
.rf-home .waves{position:relative;width:100%;height:15vh;margin-bottom:-7px;min-height:100px;max-height:150px;display:block}
.rf-home .wave_parallax>use{animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite}
.rf-home .wave_parallax>use:nth-child(1){animation-delay:-2s;animation-duration:7s}
.rf-home .wave_parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s}
.rf-home .wave_parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s}
.rf-home .wave_parallax>use:nth-child(4){animation-delay:-5s;animation-duration:20s}
@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}100%{transform:translate3d(85px,0,0)}}
.rf-home .hero-stage .inner_wave_area{height:auto;min-height:calc(100svh - 130px);align-items:flex-end;padding:12rem 0 4rem}
.rf-home .hero-stage .wave_area::before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background:radial-gradient(72% 82% at 10% 42%,rgba(3,5,9,.88) 0%,rgba(3,5,9,.58) 46%,rgba(3,5,9,0) 78%),linear-gradient(180deg,rgba(3,5,9,.55) 0%,rgba(3,5,9,0) 34%);pointer-events:none}
.rf-home .hero-inner{position:relative;z-index:3;width:100%;max-width:1280px;margin:0 auto;padding:0 1.25rem}
.rf-home .hero-eyebrow{display:flex;align-items:center;gap:.9rem;margin:0 0 1.55rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.rf-home .hero-eyebrow::before{content:"";width:38px;height:1px;background:var(--accent);flex:none}
.rf-home .hero-title{margin:0;font-family:var(--disp);font-weight:800;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.025em;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.45)}
.rf-home .hero-title .hero-accent{color:var(--accent)}
.rf-home .hero-lede{max-width:46ch;margin:1.5rem 0 0;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.75;color:rgba(255,255,255,.76)}
.rf-home .hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem}
.rf-home .hero-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:transform .18s,background .18s,border-color .18s}
.rf-home .hero-btn-primary{background:var(--accent);color:#fff;box-shadow:0 14px 34px -14px rgba(241,90,41,.75)}
.rf-home .hero-btn-primary:hover{background:var(--accent-d);color:#fff;transform:translateY(-1px)}
.rf-home .hero-btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.05)}
.rf-home .hero-btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.1);transform:translateY(-1px)}
.rf-home .hero-proof{display:flex;flex-wrap:wrap;gap:2.6rem;margin:2.8rem 0 0;padding:1.4rem 0 0;border-top:1px solid rgba(255,255,255,.16);list-style:none}
.rf-home .hero-proof li{list-style:none;display:flex;flex-direction:column;gap:.2rem;margin:0}
.rf-home .hero-proof strong{font-family:var(--disp);font-size:1.45rem;font-weight:700;line-height:1;color:#fff}
.rf-home .hero-proof span{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
@media(max-width:767px){.rf-home .hero-stage .inner_wave_area{min-height:0;padding:6.4rem 0 3.2rem}.rf-home .hero-stage .wave_area::before{height:100%}.rf-home .hero-title{font-size:clamp(2.1rem,9.4vw,2.9rem)}.rf-home .hero-eyebrow-full{display:none}.rf-home .hero-eyebrow{font-size:.64rem;letter-spacing:.16em}.rf-home .hero-lede{font-size:.98rem}.rf-home .hero-actions .hero-btn{flex:1 1 auto;justify-content:center}.rf-home .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.4rem}.rf-home .waves{height:40px;min-height:40px}.rf-home .h2{overflow-wrap:break-word}.rf-home .wrap{width:100%;max-width:100vw}}

/* ---------- popular links ---------- */
.rf-home .popular{background:var(--bg2);border-bottom:1px solid var(--line)}
.rf-home .popular-in{max-width:var(--maxw);margin:0 auto;padding:1.05rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.6rem}
.rf-home .popular-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.rf-home .popular a{font-size:.85rem;color:var(--muted);border-bottom:1px solid transparent}
.rf-home .popular a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- about ---------- */
.rf-home .about{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.rf-home .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:start}
.rf-home .about-copy p{color:var(--muted);margin-top:1.1rem;max-width:60ch}
.rf-home .about-copy p strong{color:#fff;font-weight:700}
.rf-home .mvv{display:flex;flex-direction:column;gap:1rem}
.rf-home .mvv-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.5rem;transition:border-color .2s,transform .2s,background .2s}
.rf-home .mvv-card:hover{border-color:rgba(241,90,41,.5);background:var(--panel2);transform:translateX(4px)}
.rf-home .mvv-card .tag{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.rf-home .mvv-card h3{font-family:var(--disp);font-size:1.15rem;font-weight:700;margin:.4rem 0 .5rem;color:#fff}
.rf-home .mvv-card p{color:var(--muted);font-size:.92rem;line-height:1.65}
.rf-home .values{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem;padding:0;list-style:none}
.rf-home .values span{font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;border:1px solid var(--line2);border-radius:999px;padding:.3rem .8rem;color:var(--cold)}
@media(max-width:860px){.rf-home .about-grid{grid-template-columns:1fr;gap:2.2rem}}

/* ---------- services ---------- */
.rf-home .services{background:var(--bg)}
.rf-home .svc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.rf-home .svc-more{font-weight:700;font-size:.88rem;color:#fff;border-bottom:1px solid var(--line2);padding-bottom:.3rem;white-space:nowrap}
.rf-home .svc-more:hover{color:var(--accent);border-bottom-color:var(--accent)}
.rf-home .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.rf-home .svc{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}
.rf-home .svc::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,rgba(241,90,41,.12),transparent 55%);opacity:0;transition:opacity .25s}
.rf-home .svc:hover{transform:translateY(-5px);border-color:rgba(241,90,41,.45);box-shadow:0 30px 60px -34px rgba(0,0,0,.9)}
.rf-home .svc:hover::before{opacity:1}
.rf-home .svc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.3rem}
.rf-home .svc-num{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.rf-home .svc-ico{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(241,90,41,.12);border:1px solid rgba(241,90,41,.3);color:var(--accent)}
.rf-home .svc-ico svg{width:24px;height:24px}
.rf-home .svc h3{font-family:var(--disp);font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.7rem;color:#fff}
.rf-home .svc p{color:var(--muted);font-size:.94rem;line-height:1.7}
.rf-home .svc-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:1.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cold)}
.rf-home .svc:hover .svc-link{color:var(--accent)}
@media(max-width:760px){.rf-home .svc-grid{grid-template-columns:1fr}}

/* ---------- process ---------- */
.rf-home .process{background:linear-gradient(180deg,var(--bg),var(--bg2))}
.rf-home .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;position:relative}
.rf-home .proc{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem;position:relative}
.rf-home .proc-step{font-family:var(--disp);font-weight:900;font-size:3rem;line-height:1;color:rgba(255,255,255,.07);position:absolute;top:1.1rem;right:1.4rem}
.rf-home .proc-ico{width:50px;height:50px;border-radius:12px;background:rgba(143,179,217,.1);border:1px solid rgba(143,179,217,.28);color:var(--cold);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem}
.rf-home .proc-ico svg{width:26px;height:26px}
.rf-home .proc h3{font-family:var(--disp);font-size:1.25rem;font-weight:700;margin-bottom:1.1rem;color:#fff}
.rf-home .proc ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;padding:0}
.rf-home .proc li{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.92rem}
.rf-home .proc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 10px rgba(241,90,41,.8)}
@media(max-width:760px){.rf-home .proc-grid{grid-template-columns:1fr}}

/* ---------- stats ---------- */
.rf-home .stats{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rf-home .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
.rf-home .stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem 1.6rem;text-align:center;position:relative;overflow:hidden}
.rf-home .stat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6}
.rf-home .stat .num{font-family:var(--disp);font-weight:900;font-size:clamp(2.2rem,3.6vw,3rem);line-height:1;background:linear-gradient(180deg,#fff,var(--cold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rf-home .stat .lbl{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.7rem}
.rf-home .quote-band{margin-top:3.5rem;text-align:center;padding:2.5rem 1.5rem;border:1px solid var(--line);border-radius:18px;background:radial-gradient(90% 140% at 50% 0%,rgba(241,90,41,.1),transparent 60%)}
.rf-home .quote-band .q{font-family:var(--disp);font-weight:700;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.3;max-width:24ch;margin:0 auto;color:#fff}
.rf-home .quote-band .q .em{color:var(--accent2)}
.rf-home .mini-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:2rem}
.rf-home .mini-stats div{display:flex;flex-direction:column;gap:.2rem}
.rf-home .mini-stats b{font-family:var(--disp);font-size:1.6rem;font-weight:800;color:#fff}
.rf-home .mini-stats span{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
@media(max-width:760px){.rf-home .stats-grid{grid-template-columns:1fr 1fr}}

/* ---------- idea to poc ---------- */
.rf-home .poc{background:var(--bg)}
.rf-home .poc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:3rem}
.rf-home .poc-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.8rem 1.5rem;transition:transform .2s,border-color .2s}
.rf-home .poc-card:hover{transform:translateY(-4px);border-color:rgba(255,152,0,.45)}
.rf-home .poc-ico{width:48px;height:48px;border-radius:12px;background:rgba(255,152,0,.12);border:1px solid rgba(255,152,0,.3);color:var(--accent2);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.rf-home .poc-ico svg{width:25px;height:25px}
.rf-home .poc-card .stage{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2)}
.rf-home .poc-card h3{font-family:var(--disp);font-size:1.15rem;font-weight:700;margin:.35rem 0 1rem;color:#fff}
.rf-home .poc-card ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;padding:0}
.rf-home .poc-card li{color:var(--muted);font-size:.85rem;display:flex;gap:.55rem;align-items:flex-start;line-height:1.5}
.rf-home .poc-card li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent2);flex:none;margin-top:.5rem}
@media(max-width:900px){.rf-home .poc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rf-home .poc-grid{grid-template-columns:1fr}}

/* ---------- testimonials ---------- */
.rf-home .testi{background:linear-gradient(180deg,var(--bg),var(--bg2))}
.rf-home .rating{display:inline-flex;align-items:center;gap:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.6rem 1.5rem;margin-top:1.4rem}
.rf-home .rating .stars{color:var(--accent2);letter-spacing:.1em}
.rf-home .rating b{font-weight:700}
.rf-home .rating span{color:var(--muted);font-size:.9rem}
.rf-home .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.8rem}
.rf-home .tcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.8rem;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.rf-home .tcard:hover{transform:translateY(-4px);border-color:rgba(143,179,217,.4)}
.rf-home .tcard .stars{color:var(--accent2);letter-spacing:.12em;margin-bottom:1rem}
.rf-home .tcard blockquote{color:rgba(255,255,255,.82);font-size:.96rem;line-height:1.7;font-style:italic;flex:1}
.rf-home .tcard .who{margin-top:1.4rem;font-weight:700;font-size:.92rem;color:#fff}
.rf-home .tcard .src{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--faint);margin-top:.25rem}
.rf-home .tcard .src a{color:var(--accent)}
@media(max-width:820px){.rf-home .testi-grid{grid-template-columns:1fr}}

/* ---------- trusted ---------- */
.rf-home .trusted{background:var(--bg2);border-top:1px solid var(--line);padding:3.5rem 0;overflow:hidden}
.rf-home .trusted .kicker{justify-content:center}
.rf-home .marquee{overflow:hidden;margin-top:2rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.rf-home .marquee-track{display:flex;width:max-content;animation:rf-scroll 110s linear infinite}
.rf-home .marquee-group{display:flex;align-items:center;gap:3.5rem;padding-right:3.5rem;flex:none}
.rf-home .marquee-group span{font-family:var(--disp);font-weight:700;font-size:1.4rem;color:rgba(255,255,255,.34);white-space:nowrap;transition:color .2s;letter-spacing:-.01em}
.rf-home .marquee-group span:hover{color:#fff}
.rf-home .marquee:hover .marquee-track,.rf-home .marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes rf-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rf-home .marquee-track{animation:none}}
.rf-home .trusted-empty{display:none}

/* ---------- cta ---------- */
.rf-home .cta{position:relative;background:var(--bg2);border-top:1px solid var(--line);padding:5rem 0;overflow:hidden}
.rf-home .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 78% 100%,rgba(241,90,41,.26),transparent 60%),radial-gradient(50% 60% at 15% 0%,rgba(143,179,217,.08),transparent 60%)}
.rf-home .cta-in{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:3rem}
.rf-home .cta-copy{text-align:left}
.rf-home .cta h2{font-family:var(--disp);font-weight:900;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.025em;color:#fff}
.rf-home .cta p{color:var(--muted);max-width:46ch;margin:1.2rem 0 0;font-size:1.08rem}
.rf-home .cta .btn{margin-top:2.2rem;background:var(--accent);color:#fff;box-shadow:0 18px 40px -18px rgba(241,90,41,.8)}
.rf-home .cta .btn:hover{transform:translateY(-2px);background:var(--accent-d)}
.rf-home .cta-contact{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.5rem;margin-top:1.7rem;font-size:.92rem}
.rf-home .cta-contact a{display:inline-flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.8);font-weight:600;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:.1rem}
.rf-home .cta-contact a:hover{color:#fff;border-bottom-color:var(--accent)}
.rf-home .cta-contact svg{width:15px;height:15px;color:var(--accent);flex:none}
.rf-home .cta-contact .addr{display:inline-flex;align-items:center;gap:.45rem;color:var(--faint)}
.rf-home .cta-contact .addr svg{color:var(--cold)}
.rf-home .cta-rocket{position:relative;display:flex;justify-content:center}
.rf-home .cta-rocket img{position:relative;z-index:2;width:min(280px,80%);height:auto;filter:drop-shadow(0 0 60px rgba(241,90,41,.45));animation:rf-launch 6s ease-in-out infinite}
.rf-home .cta-rocket::after{content:"";position:absolute;bottom:-6%;left:50%;transform:translateX(-50%);width:70%;height:70px;background:radial-gradient(50% 50% at 50% 50%,rgba(255,152,0,.5),transparent 70%);filter:blur(12px)}
@keyframes rf-launch{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.rf-home .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.55rem;border-radius:6px;font-weight:700;font-size:.95rem;transition:transform .18s,background .18s,border-color .18s}
@media(max-width:767px){.rf-home .cta-in{grid-template-columns:1fr;gap:2.2rem}.rf-home .cta-copy{text-align:center}.rf-home .cta p{margin-left:auto;margin-right:auto}.rf-home .cta-contact{justify-content:center}.rf-home .cta-rocket{order:-1}.rf-home .cta-rocket img{width:170px}}

/* ---------- hero fits the first screen so the wave closes the photo ---------- */
@media(min-width:768px){
  .rf-home .hero-stage{display:flex;flex-direction:column;min-height:calc(100svh - var(--head,117px))}
  .rf-home .hero-stage .thunder{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  .rf-home .hero-stage .wave_area{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
  .rf-home .hero-stage .inner_wave_area{flex:1 1 auto;height:auto;min-height:0;padding:clamp(2rem,6vh,4.5rem) 0 2.5rem}
  .rf-home .hero-stage .waves{flex:none;margin-top:auto}
}
@media(min-width:768px) and (max-height:880px){
  .rf-home .hero-stage .inner_wave_area{padding:clamp(1.2rem,4vh,2.2rem) 0 1.4rem}
  .rf-home .hero-stage .hero-eyebrow{margin-bottom:1rem}
  .rf-home .hero-stage .hero-title{font-size:clamp(2.2rem,min(5.4vw,7.4vh),4.4rem)}
  .rf-home .hero-stage .hero-lede{margin-top:1rem;line-height:1.6}
  .rf-home .hero-stage .hero-actions{margin-top:1.4rem}
  .rf-home .hero-stage .hero-proof{margin-top:1.6rem;padding-top:1rem}
  .rf-home .hero-stage .waves{height:12vh}
}
