/* styles.css - light / off-white theme */
:root{
    --bg: #f7f7f5;
    --card: #ffffff;
    --muted: #6b7280;
    --text: #0f1724;
    --accent: #6b46ff;
    --accent-2: #5a8bff;
    --glass: rgba(15,23,36,0.04);
    --radius: 14px;
    --shadow-sm: 0 6px 20px rgba(16,24,40,0.06);
    --shadow-md: 0 12px 40px rgba(16,24,40,0.08);
    --container: 1150px;
    --wrap-pad: 28px;
    --max-width: 1150px;
  }
  
  *{box-sizing:border-box}
  html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;color:var(--text);background:linear-gradient(180deg,var(--bg),#f3f5f7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 var(--wrap-pad)}
  
  /* Header */
  .site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);border-bottom:1px solid rgba(15,23,36,0.04);box-shadow:var(--shadow-sm)}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
  .brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text)}
  .logo{width:44px;height:44px;border-radius:10px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800}
  .brand-text .sub{display:block;font-size:11px;color:var(--muted);margin-top:-6px}
  
  /* Desktop nav */
  nav.desktop{display:flex;gap:16px;align-items:center}
  nav.desktop a{color:var(--text);text-decoration:none;font-weight:600;padding:8px 6px;border-radius:8px}
  nav.desktop a:hover{background:var(--glass)}
  .btn{display:inline-block;padding:10px 18px;border-radius:12px;text-decoration:none;font-weight:700}
  .btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:white;box-shadow:0 8px 24px rgba(107,70,255,0.12)}
  .btn-outline{background:transparent;border:1px solid rgba(15,23,36,0.06);color:var(--text)}
  
  /* Mobile menu */
  .hamburger{display:none;background:none;border:0;padding:8px}
  .hamburger-box{width:22px;height:18px;display:inline-block;position:relative}
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{background:var(--text);position:absolute;height:2px;width:100%;border-radius:3px;transition:transform .25s ease,opacity .2s linear}
  .hamburger-inner{top:50%;transform:translateY(-50%)}
  .hamburger-inner::before{content:"";top:-7px}
  .hamburger-inner::after{content:"";top:7px}
  .mobile-nav{display:none;flex-direction:column;padding:12px;border-top:1px solid rgba(15,23,36,0.03)}
  
  /* Hero */
  .hero{padding:64px 0}
  .hero-inner{display:flex;gap:36px;align-items:center}
  .hero-text{flex:1}
  .hero h1{font-size:64px;line-height:0.95;margin:0 0 10px}
  .lead{color:var(--muted);font-size:18px;margin-bottom:20px}
  .hero-ctas{display:flex;gap:12px;margin-top:12px}
  .hero-card{width:420px;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:16px;padding:36px;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}
  .card-grid{display:flex;gap:20px}
  .sq{width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,#ede9fe,#e6f0ff);box-shadow:0 6px 18px rgba(90,139,255,0.06)}
  .sq.alt{background:linear-gradient(135deg,#c7d2fe,#bde0ff)}
  
  /* Sections */
  .section{padding:56px 0}
  .section h2{font-size:40px;margin:0 0 8px}
  .muted{color:var(--muted)}
  .steps{display:flex;gap:20px;margin-top:20px}
  .step{background:var(--card);padding:22px;border-radius:12px;box-shadow:var(--shadow-sm);flex:1}
  .step .icon{font-size:28px;margin-bottom:10px}
  
  /* Features grid */
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
  .feature{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow-sm)}
  .f-icon{font-size:22px;margin-bottom:10px}
  
  /* two-column layout */
  .two-col{display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:start}
  .dashboard-preview .earn-card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow-sm)}
  .earn-amount{font-size:28px;font-weight:800}
  .stats{display:flex;gap:18px;margin-top:12px}
  .request{margin-top:12px;display:flex;align-items:center;justify-content:space-between}
  
  /* Contact form */
  .contact-form{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:12px}
  .contact-form .label{display:block;margin-bottom:6px;color:var(--muted)}
  .contact-form input, .contact-form textarea{border:1px solid rgba(15,23,36,0.06);padding:10px;border-radius:8px;background:#fff}
  
  /* CTA and metrics */
  .center{text-align:center}
  .metrics{display:flex;gap:36px;justify-content:center;margin-top:22px}
  .metrics div{min-width:120px}
  
  /* Footer */
  .site-footer{padding:36px 0 60px}
  .footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}
  .footer-bottom{border-top:1px solid rgba(15,23,36,0.03);padding-top:16px;margin-top:20px;text-align:center}
  
  /* utility */
  .card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow-sm)}
  .pill{background:linear-gradient(90deg,#eef2ff,#fff);padding:6px 10px;border-radius:999px;color:var(--accent);display:inline-block;font-weight:700}
  
  /* Responsive */
  @media (max-width:1000px){
    .hero h1{font-size:44px}
    .two-col{grid-template-columns:1fr}
    .desktop{display:none}
    .hamburger{display:inline-block}
    .mobile-nav{display:flex}
    .feature-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:640px){
    .wrap{padding:16px}
    .hero h1{font-size:32px}
    .feature-grid{grid-template-columns:1fr}
    .steps{flex-direction:column}
  }
  

  /* ---------- attractive header + optional logo + CSS-only mobile menu ---------- */

/* Layout basics */
.site-header{
    position:sticky;
    top:0;
    z-index:60;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(15,23,36,0.04);
    box-shadow: 0 6px 18px rgba(16,24,40,0.06);
  }
  .wrap.nav-row{
    max-width:1150px;
    margin:0 auto;
    padding:14px 20px;
    display:flex;
    align-items:center;
    gap:16px;
    justify-content:space-between;
  }
  
  /* Brand block */
  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:var(--text, #0f1724);
    min-width:0;
  }
  .brand-text{line-height:1; display:flex;flex-direction:column}
  .brand-text strong{font-size:18px; letter-spacing:-0.2px}
  .brand-text .sub{font-size:11px;color:var(--muted,#6b7280);margin-top:-4px}
  
  /* Image logo - optional. If file is missing, it hides via onerror attr in HTML */
  .brand-img{
    width:52px;
    height:52px;
    object-fit:cover;
    border-radius:12px;
    box-shadow: 0 8px 26px rgba(107,70,255,0.12);
    border: 1px solid rgba(15,23,36,0.03);
    transform:translateZ(0);
    transition:transform .25s cubic-bezier(.2,.9,.2,1), box-shadow .25s ease;
  }
  
  /* Fallback logo when image absent */
  .logo-fallback{
    width:52px;
    height:52px;
    display:inline-grid;
    place-items:center;
    border-radius:12px;
    background: linear-gradient(135deg, #6b46ff 0%, #5a8bff 100%);
    color:#fff;
    font-weight:800;
    box-shadow: 0 8px 26px rgba(90,139,255,0.12);
    border: 1px solid rgba(255,255,255,0.06);
    flex-shrink:0;
  }
  .logo-initials{font-size:18px; letter-spacing:-0.5px}
  
  /* Hover flourish */
  .brand:hover .brand-img{transform:translateY(-4px) scale(1.02); box-shadow:0 18px 46px rgba(90,139,255,0.16)}
  .brand:hover .logo-fallback{transform:translateY(-4px); filter:brightness(1.03); transition:transform .22s ease, filter .22s ease}
  
  /* Desktop nav */
  .nav-desktop{
    display:flex;
    gap:12px;
    align-items:center;
  }
  .nav-desktop a{
    text-decoration:none;
    color:var(--text,#0f1724);
    font-weight:600;
    padding:8px 10px;
    border-radius:10px;
    transition: background .18s ease, transform .12s ease;
  }
  .nav-desktop a:hover{background: rgba(15,23,36,0.03); transform:translateY(-2px)}
  .btn{padding:9px 16px;border-radius:12px;font-weight:700;text-decoration:none}
  .btn-primary{
    background:linear-gradient(90deg,#6b46ff,#5a8bff);
    color:#fff;
    box-shadow: 0 10px 30px rgba(107,70,255,0.12);
    border: none;
  }
  
  /* ---------- CSS-only mobile menu controls ---------- */
  /* hidden checkbox controls the mobile menu state */
  .nav-toggle{position:absolute;left:-9999px;opacity:0;pointer-events:none}
  
  /* hamburger label - visible on mobile, hidden on desktop */
  .hamburger{
    display:none;
    cursor:pointer;
    background:transparent;
    border:0;
    padding:8px;
    border-radius:8px;
    align-items:center;
    justify-content:center;
  }
  
  /* hamburger visuals (3 lines) */
  .hamburger-box{width:22px;height:18px;position:relative;display:inline-block}
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{
    background:var(--text,#0f1724);
    position:absolute;
    height:2px;
    width:100%;
    left:0;
    border-radius:2px;
    transition: transform .28s cubic-bezier(.2,.9,.3,1), opacity .2s linear;
  }
  .hamburger-inner{top:50%; transform:translateY(-50%)}
  .hamburger-inner::before{content:""; top:-7px}
  .hamburger-inner::after{content:""; top:7px}
  
  /* Mobile nav hidden by default */
  .nav-mobile{
    display:none;
    flex-direction:column;
    gap:8px;
    padding:14px 20px;
    border-top:1px solid rgba(15,23,36,0.03);
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.98));
    box-shadow: 0 12px 36px rgba(16,24,40,0.04);
  }
  
  /* When toggle is checked: show menu and transform hamburger */
  .nav-toggle:checked + .hamburger .hamburger-inner{
    transform: rotate(45deg) translateY(0);
  }
  .nav-toggle:checked + .hamburger .hamburger-inner::before{
    transform: rotate(90deg);
    top:0;
  }
  .nav-toggle:checked + .hamburger .hamburger-inner::after{
    opacity:0;
  }
  .nav-toggle:checked ~ .nav-desktop { /* keep desktop nav hidden on narrow screens */
    display:none;
  }
  
  /* show mobile menu when checked */
  .nav-toggle:checked ~ .nav-mobile{
    display:flex;
  }
  
  /* mobile nav links */
  .nav-mobile a{
    display:block;
    padding:12px 10px;
    text-decoration:none;
    color:var(--text,#0f1724);
    border-radius:8px;
  }
  .nav-mobile a:hover{background: rgba(15,23,36,0.03)}
  
  /* ---------- responsive breakpoints ---------- */
  @media (max-width:1000px){
    .nav-desktop{display:none}
    .hamburger{display:inline-flex}
    .brand-text strong{font-size:16px}
  }
  
  /* small screens tidy */
  @media (max-width:540px){
    .wrap.nav-row{padding:12px 14px}
    .brand-text small.sub{display:none}
    .brand-text strong{font-size:15px}
    .brand-img, .logo-fallback{width:44px;height:44px}
    .nav-mobile{padding:12px 14px;gap:6px}
    .nav-mobile a{padding:10px 8px}
  }
  
  /* Accessibility focus */
  a:focus, button:focus, label:focus{
    outline:3px solid rgba(90,139,255,0.15);
    outline-offset:3px;
    border-radius:8px;
  }
  
  /* header container */
.site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(15,23,36,0.04);
    box-shadow: 0 6px 18px rgba(16,24,40,0.06);
  }
  
  /* place the checkbox and label at header level so they are siblings of nav-mobile */
  .site-header .nav-toggle{
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
  }
  
  /* The hamburger label is visually placed inside the header using absolute positioning */
  .hamburger{
    display: none;               /* visible only on mobile via media query below */
    position: absolute;
    right: 18px;                 /* adjust to match .wrap padding */
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    background: transparent;
    border: 0;
    padding: 8px;
    border-radius: 8px;
    z-index: 70;
  }
  
  /* hamburger lines */
  .hamburger-box{width:22px;height:18px;position:relative;display:inline-block}
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{
    background:var(--text,#0f1724);
    position:absolute;
    height:2px;
    width:100%;
    left:0;
    border-radius:2px;
    transition: transform .28s cubic-bezier(.2,.9,.3,1), opacity .18s linear;
  }
  .hamburger-inner{top:50%; transform:translateY(-50%)}
  .hamburger-inner::before{content:""; top:-7px}
  .hamburger-inner::after{content:""; top:7px}
  
  /* the visible wrap (brand + desktop nav) - center contents */
  .wrap.nav-row{
    max-width:1150px;
    margin:0 auto;
    padding:14px 20px;
    display:flex;
    align-items:center;
    gap:16px;
    justify-content:space-between;
  }
  
  /* Desktop nav shows by default; mobile nav is hidden */
  .nav-desktop{display:flex; gap:12px; align-items:center}
  .nav-mobile{
    display:none;
    flex-direction:column;
    gap:8px;
    padding:14px 20px;
    border-top:1px solid rgba(15,23,36,0.03);
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.98));
    box-shadow: 0 12px 36px rgba(16,24,40,0.04);
  }
  
  /* When checkbox is checked -> show mobile nav */
  .nav-toggle:checked ~ .nav-mobile {
    display:flex;
  }
  
  /* transform hamburger into X when checked */
  .nav-toggle:checked + .hamburger .hamburger-inner{
    transform: rotate(45deg) translateY(0);
  }
  .nav-toggle:checked + .hamburger .hamburger-inner::before{
    transform: rotate(90deg);
    top:0;
  }
  .nav-toggle:checked + .hamburger .hamburger-inner::after{
    opacity:0;
  }
  
  /* Responsive: hide desktop nav and show hamburger on smaller screens */
  @media (max-width:1000px) {
    .nav-desktop { display: none; }
    .hamburger { display: inline-flex; }
    /* ensure hamburger sits visually over the wrap; tweak right/top as needed */
  }
  
  /* further small-screen adjustments */
  @media (max-width:540px){
    .hamburger{ right: 12px; }
    .wrap.nav-row { padding:10px 12px; }
    .brand-img{ width:44px; height:44px; }
  }
/* --- Demo video card styling + animations --- */
.hero-card{
    width:420px;
    max-width:44vw;
    min-width:260px;
    border-radius:18px;
    overflow:hidden;
    position:relative;
    box-shadow: 0 30px 60px rgba(16,24,40,0.08), inset 0 1px 0 rgba(255,255,255,0.05);
    transform-origin:center;
    background: linear-gradient(180deg,#ffffff,#f7fbff);
    transition: transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s ease;
    animation: hero-pop .6s cubic-bezier(.2,.9,.2,1) both, floaty 6s ease-in-out infinite;
  }
  
  /* makes the card slightly tilt on hover when on desktop */
  .hero-card:hover{
    transform: translateY(-8px) rotateZ(-1deg) scale(1.01);
    box-shadow: 0 42px 80px rgba(16,24,40,0.12);
  }
  
  /* video fills the card */
  .demo-video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    aspect-ratio:16/9;
    vertical-align: middle;
    background: #111; /* fallback color behind poster */
  }
  
  /* overlay contains the play/pause control and shine */
  .video-overlay{
    position:absolute;
    inset:0;
    pointer-events:none; /* enable pointer events only on the button */
  }
  .video-toggle{
    pointer-events:auto;
    position:absolute;
    right:14px;
    bottom:14px;
    border:0;
    background: linear-gradient(90deg, rgba(107,70,255,0.95), rgba(90,139,255,0.95));
    color:#fff;
    padding:10px 12px;
    border-radius:12px;
    box-shadow: 0 10px 30px rgba(107,70,255,0.18);
    display:inline-flex;
    gap:8px;
    align-items:center;
    cursor:pointer;
    transition: transform .15s ease, box-shadow .18s ease;
  }
  .video-toggle:hover{ transform: translateY(-3px); box-shadow: 0 18px 36px rgba(107,70,255,0.18); }
  .video-toggle .icon{opacity:.98; transform:translateX(0);}
  
  /* optional tiny label for screen readers */
  .vis{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
  
  /* fallback image shown only if video fails to load (kept hidden by default) */
  .video-fallback{ display:none; width:100%; height:100%; }
  .video-fallback img{ width:100%; height:100%; object-fit:cover }
  
  /* subtle top-to-bottom sheen animation */
  .hero-card::after{
    content:"";
    position:absolute;
    left:-40%;
    top:-40%;
    width:200%;
    height:200%;
    background: linear-gradient(120deg, rgba(255,255,255,0.0) 30%, rgba(255,255,255,0.06) 48%, rgba(255,255,255,0.0) 60%);
    transform: rotate(20deg) translateX(-30%);
    pointer-events:none;
    transition:opacity .4s ease;
    animation: sheen 6s linear infinite;
    mix-blend-mode:screen;
    opacity:0.9;
  }
  
  /* Keyframes */
  @keyframes hero-pop {
    0%{ transform: scale(.96) translateY(8px); opacity:0 }
    60%{ transform: scale(1.02) translateY(-4px); opacity:1 }
    100%{ transform: scale(1) translateY(0) }
  }
  @keyframes floaty {
    0%{ transform: translateY(0) }
    50%{ transform: translateY(-6px) }
    100%{ transform: translateY(0) }
  }
  @keyframes sheen {
    0%{ transform: translateX(-60%) rotate(20deg) }
    50%{ transform: translateX(30%) rotate(20deg) }
    100%{ transform: translateX(120%) rotate(20deg) }
  }
  
  /* small screens: make card full width below hero text */
  @media (max-width:980px){
    .hero-card{ width:100%; max-width:none; min-width:0; border-radius:14px; margin-top:18px; animation: none; box-shadow:var(--shadow-sm) }
    .hero-inner{ flex-direction:column-reverse; align-items:stretch }
    .video-toggle{ right:12px; bottom:12px }
  }
  
  /* When the video is paused, change the toggle look */
  .video-toggle[aria-pressed="true"]{ background: rgba(255,255,255,0.95); color:var(--text,#0f1724); border:1px solid rgba(15,23,36,0.06); box-shadow: 0 8px 20px rgba(16,24,40,0.06) }

  
  /* ------------------------------
  How It Works — attractive CSS-only styling + animations
   Drop this into your styles.css (after other styles)
   Respects prefers-reduced-motion for accessibility
-------------------------------*/

.how {
    padding: 64px 0;
    background: linear-gradient(180deg, rgba(250,250,248,1) 0%, rgba(245,247,251,1) 100%);
  }
  
  .how h2 {
    font-size: 36px;
    margin-bottom: 6px;
    letter-spacing: -0.2px;
  }
  .how .muted {
    margin-bottom: 28px;
    color: var(--muted, #6b7280);
  }
  
  /* grid layout for steps */
  .how .steps{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
  }
  
  /* step card */
  .how .step{
    background: linear-gradient(180deg,#ffffff, #fbfdff);
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 14px 36px rgba(16,24,40,0.06);
    border: 1px solid rgba(15,23,36,0.04);
    transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s ease, filter .2s ease;
    will-change: transform, opacity;
    overflow: visible;
    position: relative;
    transform-origin: center;
    cursor: default;
    min-height: 170px;
    display:flex;
    flex-direction:column;
  }
  
  /* icon circle */
  .how .step .icon{
    display:inline-grid;
    place-items:center;
    width:64px;
    height:64px;
    border-radius:12px;
    font-size:28px;
    margin-bottom:14px;
    background: linear-gradient(135deg, rgba(107,70,255,0.12), rgba(90,139,255,0.08));
    color: var(--accent, #6b46ff);
    box-shadow: 0 8px 20px rgba(107,70,255,0.06), inset 0 1px 0 rgba(255,255,255,0.55);
    transition: transform .28s cubic-bezier(.2,.9,.2,1);
  }
  
  /* headings and text */
  .how .step h3{
    margin:0 0 8px 0;
    font-size:18px;
  }
  .how .step p{
    margin:0;
    color:var(--muted, #6b7280);
    margin-top:auto; /* push description down if you want */
    line-height:1.5;
  }
  
  /* hover effect: lift + accent */
  .how .step:hover{
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 28px 60px rgba(16,24,40,0.10);
    filter: saturate(1.02);
  }
  .how .step:hover .icon{
    transform: translateY(-6px) rotate(-6deg) scale(1.04);
  }
  
  /* decorative accent ribbon (pseudo element) */
  .how .step::before{
    content:'';
    position:absolute;
    right:-24px;
    top:18px;
    width:78px;
    height:78px;
    border-radius:14px;
    background: linear-gradient(135deg, rgba(107,70,255,0.06), rgba(90,139,255,0.02));
    transform: rotate(12deg);
    z-index:0;
    pointer-events:none;
    filter: blur(6px);
    opacity:.9;
  }
  
  /* ensure content sits above pseudo element */
  .how .step > * { position:relative; z-index:1; }
  
  /* staggered entrance animation (fades up) */
  @keyframes fadeUp {
    0% { opacity: 0; transform: translateY(18px) scale(.995); }
    60% { opacity: 1; transform: translateY(-6px) scale(1.005); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  /* assign animation with delays per child to create the stagger */
  .how .step{
    opacity:0;
    animation: fadeUp 700ms cubic-bezier(.2,.9,.2,1) forwards;
  }
  .how .step:nth-child(1){ animation-delay: 0.10s; }
  .how .step:nth-child(2){ animation-delay: 0.26s; }
  .how .step:nth-child(3){ animation-delay: 0.42s; }
  
  /* small floating micro animation for the icon */
  @keyframes floatIcon {
    0% { transform: translateY(0) }
    50% { transform: translateY(-6px) }
    100% { transform: translateY(0) }
  }
  .how .step .icon { animation: floatIcon 4.6s ease-in-out infinite; }
  
  /* soft glow pulse around icon (using pseudo element) */
  .how .step .icon::after{
    content:'';
    position:absolute;
    width:84px;
    height:84px;
    border-radius:14px;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.12), transparent 40%);
    z-index:-1;
    filter: blur(6px);
    opacity:0.85;
    transition: opacity .25s ease;
  }
  .how .step:hover .icon::after{ opacity:1; transform: translate(-50%,-54%) scale(1.04) }
  
  /* responsive adjustments */
  @media (max-width:1000px){
    .how .steps{ grid-template-columns: repeat(2, 1fr); gap:18px; }
    .how .step{ min-height:150px; padding:18px; }
    .how .step .icon{ width:56px;height:56px; font-size:24px; }
    .how .step::before{ display:none; }
  }
  @media (max-width:640px){
    .how .steps{ grid-template-columns: 1fr; }
    .how h2{ font-size:28px; }
    .how .muted{ margin-bottom:18px; }
    .how .step{ padding:16px; min-height:unset; }
    .how .step .icon{ width:52px; height:52px; }
  }
  
  /* Accessibility: respect prefers-reduced-motion */
  @media (prefers-reduced-motion: reduce) {
    .how .step,
    .how .step .icon { animation: none !important; transition: none !important; }
  }
/* ------------------------------
   HOW IT WORKS — side-slide animations (CSS only)
-------------------------------*/

.how {
    padding: 80px 0;
    background: linear-gradient(180deg, #fafaf9 0%, #f5f7fb 100%);
    overflow: hidden;
    position: relative;
  }
  
  .how h2 {
    font-size: 38px;
    margin-bottom: 6px;
    letter-spacing: -0.2px;
    text-align: center;
  }
  
  .how .muted {
    text-align: center;
    margin-bottom: 36px;
    color: var(--muted, #6b7280);
  }
  
  /* Step grid */
  .how .steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    align-items: stretch;
    justify-items: center;
    position: relative;
  }
  
  /* Step card design */
  .how .step {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 18px 42px rgba(16, 24, 40, 0.08);
    border: 1px solid rgba(15, 23, 36, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: left;
    max-width: 320px;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 1s cubic-bezier(.16,.8,.3,1) forwards;
    will-change: transform, opacity;
    position: relative;
  }
  
  /* Different directions per card */
  .how .step:nth-child(1) {
    animation-name: slideFromLeft;
    animation-delay: 0.2s;
  }
  .how .step:nth-child(2) {
    animation-name: slideFromBottom;
    animation-delay: 0.45s;
  }
  .how .step:nth-child(3) {
    animation-name: slideFromRight;
    animation-delay: 0.7s;
  }
  
  /* Icon design */
  .how .step .icon {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 14px;
    font-size: 28px;
    background: linear-gradient(135deg, rgba(107, 70, 255, 0.1), rgba(90, 139, 255, 0.1));
    color: var(--accent, #6b46ff);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    margin-bottom: 18px;
    animation: floatIcon 5s ease-in-out infinite;
  }
  
  .how .step h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }
  
  .how .step p {
    color: var(--muted, #6b7280);
    line-height: 1.6;
  }
  
  /* Hover effect */
  .how .step:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow: 0 26px 60px rgba(16, 24, 40, 0.12);
  }
  
  /* Glowing accent line under heading */
  .how .step h3::after {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 2px;
    margin-top: 6px;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    transform-origin: left;
    transform: scaleX(0);
    transition: transform 0.4s ease;
  }
  .how .step:hover h3::after {
    transform: scaleX(1);
  }
  
  /* Unique entry animations */
  @keyframes slideFromLeft {
    0% { opacity: 0; transform: translateX(-80px) rotate(-2deg) scale(0.9); }
    60% { opacity: 1; transform: translateX(10px) rotate(1deg) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
  }
  
  @keyframes slideFromBottom {
    0% { opacity: 0; transform: translateY(80px) scale(0.9); }
    60% { opacity: 1; transform: translateY(-10px) scale(1.03); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  @keyframes slideFromRight {
    0% { opacity: 0; transform: translateX(80px) rotate(2deg) scale(0.9); }
    60% { opacity: 1; transform: translateX(-10px) rotate(-1deg) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) rotate(0) scale(1); }
  }
  
  /* Floating icon subtle motion */
  @keyframes floatIcon {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
  }
  
  /* Accessibility: turn off for reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .how .step {
      animation: none;
      opacity: 1;
      transform: none;
    }
    .how .step .icon {
      animation: none;
    }
  }
  
  /* Responsive adjustments */
  @media (max-width: 900px) {
    .how .steps { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  }
  @media (max-width: 640px) {
    .how .steps { grid-template-columns: 1fr; }
    .how .step { max-width: none; width: 100%; text-align: center; }
    .how .step h3::after { margin: 6px auto 0; }
    .how .step .icon { margin: 0 auto 14px; }
  }

  /* ------------------------
  Features — animated, CSS-only (drop into styles.css)
  Works with the existing HTML you provided.
-------------------------*/

.features {
    padding: 72px 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  }
  
  .features h2 {
    font-size: 36px;
    margin-bottom: 6px;
    text-align: center;
  }
  .features .muted {
    text-align: center;
    margin-bottom: 30px;
    color: var(--muted, #6b7280);
  }
  
  /* grid */
  .feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
  }
  
  /* individual feature card */
  .feature {
    position: relative;
    background: linear-gradient(180deg,#fff,#fbfdff);
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 18px 40px rgba(16,24,40,0.06);
    border: 1px solid rgba(15,23,36,0.04);
    transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s ease, filter .2s ease;
    overflow: hidden;
    opacity: 0;
    transform: translateY(22px) scale(.995);
    will-change: transform, opacity;
  }
  
  /* smooth hover/tilt - CSS only */
  .feature:hover {
    transform: translateY(-10px) rotateX(3deg) scale(1.02);
    box-shadow: 0 38px 78px rgba(16,24,40,0.12);
    cursor: default;
  }
  .feature:active { transform: translateY(-6px) scale(1.01); }
  
  /* icon container */
  .f-icon {
    width:64px;
    height:64px;
    border-radius:12px;
    display:inline-grid;
    place-items:center;
    font-size:28px;
    margin-bottom:12px;
    background: linear-gradient(135deg, rgba(107,70,255,0.10), rgba(90,139,255,0.06));
    color:var(--accent,#6b46ff);
    transition: transform .36s cubic-bezier(.2,.9,.2,1), box-shadow .36s ease;
    box-shadow: 0 10px 28px rgba(90,139,255,0.06), inset 0 1px 0 rgba(255,255,255,0.6);
  }
  
  /* icon micro animation */
  @keyframes iconPulse {
    0% { transform: scale(1); filter:brightness(1); }
    50% { transform: scale(1.06); filter:brightness(1.03); }
    100% { transform: scale(1); filter:brightness(1); }
  }
  .f-icon { animation: iconPulse 6s ease-in-out infinite; }
  
  /* heading and text */
  .feature h4 { margin: 6px 0 8px; font-size:18px; }
  .feature p { margin:0; color:var(--muted,#6b7280); line-height:1.5; }
  
  /* decorative accent bar (subtle) */
  .feature::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -30px;
    width: 220px;
    height: 120px;
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.06), transparent 35%);
    pointer-events: none;
    transform: rotate(14deg);
    filter: blur(8px);
    opacity: 0.95;
  }
  
  /* staggered reveal animation (different delay per card) */
  @keyframes riseFade {
    0% { opacity: 0; transform: translateY(28px) scale(.995); }
    60% { opacity: 1; transform: translateY(-6px) scale(1.01); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  .feature { animation: riseFade 700ms cubic-bezier(.2,.9,.2,1) forwards; }
  .feature:nth-child(1){ animation-delay: 0.12s; }
  .feature:nth-child(2){ animation-delay: 0.26s; }
  .feature:nth-child(3){ animation-delay: 0.40s; }
  .feature:nth-child(4){ animation-delay: 0.56s; }
  .feature:nth-child(5){ animation-delay: 0.70s; }
  .feature:nth-child(6){ animation-delay: 0.84s; }
  
  /* small hover sparkle on icons */
  .feature:hover .f-icon{ transform: translateY(-6px) rotate(-4deg) scale(1.04); box-shadow: 0 20px 46px rgba(90,139,255,0.12); }
  
  /* responsive */
  @media (max-width:1000px){
    .feature-grid{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width:640px){
    .feature-grid{ grid-template-columns: 1fr; }
    .feature { padding:16px; border-radius:12px; }
    .f-icon { width:56px; height:56px; font-size:24px; }
  }
  
  /* Accessibility: respect reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .feature, .f-icon { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
    .feature:hover { transform: none; box-shadow: 0 12px 28px rgba(16,24,40,0.06); }
  }

  
  /* -----------------------------
  Premium Features — animated, CSS-only
  Paste into styles.css (after existing styles)
------------------------------*/

.features {
    padding: 80px 0;
    background: linear-gradient(180deg, #fafaf9 0%, #f7fbff 100%);
    position: relative;
    overflow: hidden;
  }
  
  .features h2 {
    font-size: 38px;
    text-align: center;
    margin-bottom: 6px;
    letter-spacing: -0.2px;
  }
  .features .muted {
    text-align: center;
    margin-bottom: 34px;
    color: var(--muted, #6b7280);
  }
  
  /* grid */
  .feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    align-items: stretch;
  }
  
  /* premium glass card */
  .feature {
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(250,252,255,0.9));
    border-radius: 16px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid rgba(15,23,36,0.04);
    box-shadow: 0 24px 60px rgba(16,24,40,0.10), inset 0 1px 0 rgba(255,255,255,0.6);
    transition: transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s ease, filter .2s ease;
    transform-style: preserve-3d;
    opacity: 0;
    will-change: transform, opacity;
    min-height: 160px;
  }
  
  /* subtle surface gloss */
  .feature::before{
    content:"";
    position:absolute;
    inset: -20% -40% auto -40%;
    height:60%;
    background: linear-gradient(180deg, rgba(255,255,255,0.45), rgba(255,255,255,0.06));
    transform: rotate(-12deg);
    pointer-events:none;
    mix-blend-mode: screen;
    filter: blur(18px);
    opacity: 0.9;
  }
  
  /* decorative accent blob */
  .feature::after{
    content:"";
    position:absolute;
    right:-30px;
    bottom:-30px;
    width:220px;
    height:140px;
    background: radial-gradient(circle at 20% 20%, rgba(90,139,255,0.12), transparent 40%);
    transform: rotate(18deg);
    filter: blur(12px);
    pointer-events:none;
  }
  
  /* icon */
  .f-icon{
    width:68px;
    height:68px;
    border-radius:14px;
    display:inline-grid;
    place-items:center;
    font-size:28px;
    margin-bottom:14px;
    background: linear-gradient(135deg, rgba(107,70,255,0.12), rgba(90,139,255,0.06));
    color:var(--accent,#5a5cff);
    box-shadow: 0 12px 30px rgba(90,139,255,0.06), inset 0 1px 0 rgba(255,255,255,0.6);
    transform-origin:center;
    transition: transform .36s ease, box-shadow .36s ease;
  }
  
  /* text */
  .feature h4{ margin:6px 0 8px; font-size:18px; }
  .feature p{ margin:0; color:var(--muted,#6b7280); line-height:1.55; }
  
  /* hover / 3D tilt */
  .feature:hover{
    transform: translateY(-14px) rotateX(3deg) scale(1.03);
    box-shadow: 0 44px 110px rgba(16,24,40,0.16);
    cursor: default;
  }
  .feature:hover .f-icon{
    transform: translateY(-6px) rotate(-6deg) scale(1.06);
    box-shadow: 0 28px 60px rgba(90,139,255,0.14);
  }
  
  /* staggered entry: different directions */
  @keyframes enterFromLeft {
    0% { opacity:0; transform: translateX(-80px) rotate(-3deg) scale(.98); }
    60% { opacity:1; transform: translateX(12px) rotate(1deg) scale(1.02); }
    100% { opacity:1; transform: translateX(0) rotate(0) scale(1); }
  }
  @keyframes enterFromBottom {
    0% { opacity:0; transform: translateY(80px) scale(.96); }
    60% { opacity:1; transform: translateY(-8px) scale(1.03); }
    100% { opacity:1; transform: translateY(0) scale(1); }
  }
  @keyframes enterFromRight {
    0% { opacity:0; transform: translateX(80px) rotate(3deg) scale(.98); }
    60% { opacity:1; transform: translateX(-12px) rotate(-1deg) scale(1.02); }
    100% { opacity:1; transform: translateX(0) rotate(0) scale(1); }
  }
  
  /* assign animations and stagger delays */
  .feature { animation-duration: 800ms; animation-timing-function: cubic-bezier(.16,.84,.3,1); animation-fill-mode: forwards; }
  .feature:nth-child(1){ animation-name: enterFromLeft; animation-delay: 0.12s; }
  .feature:nth-child(2){ animation-name: enterFromBottom; animation-delay: 0.28s; }
  .feature:nth-child(3){ animation-name: enterFromRight; animation-delay: 0.44s; }
  .feature:nth-child(4){ animation-name: enterFromLeft; animation-delay: 0.60s; }
  .feature:nth-child(5){ animation-name: enterFromBottom; animation-delay: 0.76s; }
  .feature:nth-child(6){ animation-name: enterFromRight; animation-delay: 0.92s; }
  
  /* icon pulse */
  @keyframes premiumPulse {
    0% { transform: scale(1); filter:brightness(1); }
    50% { transform: scale(1.06) translateY(-4px); filter:brightness(1.02); }
    100% { transform: scale(1); filter:brightness(1); }
  }
  .f-icon { animation: premiumPulse 6s ease-in-out infinite; }
  
  /* subtle tilt effect on focus for accessibility */
  .feature:focus-within { outline: none; transform: translateY(-10px) scale(1.02); }
  
  /* responsive */
  @media (max-width:1000px){
    .feature-grid{ grid-template-columns: repeat(2, 1fr); gap:18px; }
    .feature{ min-height:150px; padding:20px; }
  }
  @media (max-width:640px){
    .feature-grid{ grid-template-columns: 1fr; }
    .feature{ padding:16px; border-radius:12px; }
    .f-icon{ width:56px;height:56px;font-size:22px; margin-bottom:10px; }
    .feature::after, .feature::before{ display:none; } /* simplify decoration on small screens */
  }
  
  /* Accessibility: respect reduced motion */
  @media (prefers-reduced-motion: reduce){
    .feature, .f-icon { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; }
    .feature:hover{ transform:none; box-shadow: 0 12px 28px rgba(16,24,40,0.06); }
  }

  /* -----------------------------
   DRIVERS SECTION — premium animated (CSS only)
------------------------------*/

.drivers {
    padding: 90px 0;
    background: linear-gradient(180deg, #f7f8fc 0%, #ffffff 100%);
    overflow: hidden;
    position: relative;
  }
  
  .drivers .two-col {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 60px;
    align-items: center;
  }
  
  .drivers h2 {
    font-size: 38px;
    margin-bottom: 10px;
    letter-spacing: -0.2px;
  }
  
  .drivers .muted {
    color: var(--muted, #6b7280);
    margin-bottom: 20px;
  }
  
  .drivers .pill {
    background: linear-gradient(90deg, #eef2ff, #fff);
    padding: 6px 12px;
    border-radius: 999px;
    color: var(--accent, #6b46ff);
    font-weight: 700;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 12px;
  }
  
  /* Benefits list */
  .benefits {
    list-style: none;
    padding: 0;
    margin: 18px 0 30px;
  }
  .benefits li {
    padding-left: 28px;
    margin-bottom: 10px;
    position: relative;
    font-weight: 500;
  }
  .benefits li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent, #6b46ff);
    font-weight: 800;
  }
  
  /* CTA button */
  .drivers .btn-primary {
    font-size: 15px;
    padding: 12px 22px;
    border-radius: 12px;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    box-shadow: 0 10px 28px rgba(107, 70, 255, 0.18);
  }
  
  /* Dashboard card (right side) */
  .dashboard-preview {
    position: relative;
    opacity: 0;
    transform: translateX(80px) scale(0.96);
    animation: slideInRight 1s cubic-bezier(.2, .9, .2, 1) 0.4s forwards;
  }
  
  .earn-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 247, 255, 0.92));
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 28px 60px rgba(16, 24, 40, 0.12);
    border: 1px solid rgba(15, 23, 36, 0.06);
    position: relative;
    animation: floaty 6s ease-in-out infinite;
  }
  
  .earn-card::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 220px;
    height: 140px;
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.08), transparent 40%);
    filter: blur(10px);
    z-index: -1;
  }
  
  .earn-amount {
    font-size: 38px;
    font-weight: 800;
    color: var(--accent, #6b46ff);
  }
  .earn-sub {
    margin-bottom: 18px;
  }
  .stats {
    display: flex;
    gap: 22px;
    margin-bottom: 20px;
  }
  .stats div strong {
    font-size: 20px;
  }
  .request {
    background: rgba(107,70,255,0.06);
    padding: 12px;
    border-radius: 10px;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .btn.accept {
    background: var(--accent, #6b46ff);
    color: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
  }
  
  /* Animation keyframes */
  @keyframes slideInLeft {
    0% { opacity: 0; transform: translateX(-80px) scale(0.95); }
    60% { opacity: 1; transform: translateX(8px) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) scale(1); }
  }
  @keyframes slideInRight {
    0% { opacity: 0; transform: translateX(80px) scale(0.95); }
    60% { opacity: 1; transform: translateX(-8px) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) scale(1); }
  }
  @keyframes floaty {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
  }
  
  /* Animate the text column too */
  .drivers .two-col > div:first-child {
    opacity: 0;
    transform: translateX(-80px);
    animation: slideInLeft 1s cubic-bezier(.2, .9, .2, 1) 0.2s forwards;
  }
  
  /* Responsive */
  @media (max-width: 950px) {
    .drivers .two-col {
      grid-template-columns: 1fr;
      gap: 36px;
    }
    .dashboard-preview {
      order: -1;
      transform: translateY(40px);
      animation: slideInBottom 1s cubic-bezier(.2, .9, .2, 1) 0.2s forwards;
    }
  }
  @keyframes slideInBottom {
    0% { opacity: 0; transform: translateY(80px) scale(0.95); }
    60% { opacity: 1; transform: translateY(-8px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  /* Accessibility: reduced motion */
  @media (prefers-reduced-motion: reduce) {
    .drivers .two-col > div:first-child,
    .dashboard-preview,
    .earn-card {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

  /* -----------------------------
   DRIVERS SECTION — premium responsive (CSS-only)
------------------------------*/

.drivers {
    padding: 100px 0;
    background: linear-gradient(180deg, #f7f8fc 0%, #ffffff 100%);
    overflow: hidden;
    position: relative;
  }
  
  /* Layout */
  .drivers .two-col {
    display: grid;
    grid-template-columns: 1.2fr 1fr; /* bigger left column on desktop */
    gap: 80px;
    align-items: center;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 28px;
  }
  
  /* Text section (left side) */
  .drivers .two-col > div:first-child {
    opacity: 0;
    transform: translateX(-80px);
    animation: slideInLeft 1s cubic-bezier(.2, .9, .2, 1) 0.2s forwards;
  }
  
  .drivers h2 {
    font-size: 44px;
    margin-bottom: 16px;
    letter-spacing: -0.5px;
    line-height: 1.2;
  }
  .drivers .muted {
    color: var(--muted, #6b7280);
    margin-bottom: 28px;
    font-size: 18px;
    line-height: 1.6;
  }
  .drivers .pill {
    background: linear-gradient(90deg, #eef2ff, #fff);
    padding: 8px 14px;
    border-radius: 999px;
    color: var(--accent, #6b46ff);
    font-weight: 700;
    font-size: 15px;
    display: inline-block;
    margin-bottom: 16px;
    box-shadow: 0 6px 16px rgba(107,70,255,0.12);
  }
  
  /* Benefits list */
  .benefits {
    list-style: none;
    padding: 0;
    margin: 20px 0 36px;
  }
  .benefits li {
    padding-left: 32px;
    margin-bottom: 14px;
    position: relative;
    font-weight: 500;
    font-size: 16px;
  }
  .benefits li::before {
    content: "✔";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent, #6b46ff);
    font-weight: 800;
  }
  
  /* CTA */
  .drivers .btn-primary {
    font-size: 16px;
    padding: 14px 28px;
    border-radius: 12px;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    box-shadow: 0 12px 32px rgba(107, 70, 255, 0.2);
  }
  
  /* Right side - Dashboard preview */
  .dashboard-preview {
    position: relative;
    opacity: 0;
    transform: translateX(80px) scale(0.95);
    animation: slideInRight 1s cubic-bezier(.2, .9, .2, 1) 0.4s forwards;
    justify-self: center;
  }
  
  .earn-card {
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(245,247,255,0.96));
    border-radius: 22px;
    padding: 36px;
    box-shadow: 0 40px 80px rgba(16,24,40,0.12);
    border: 1px solid rgba(15,23,36,0.06);
    width: 100%;
    max-width: 440px;
    position: relative;
    animation: floaty 6s ease-in-out infinite;
  }
  
  .earn-card::after {
    content: "";
    position: absolute;
    right: -50px;
    bottom: -50px;
    width: 260px;
    height: 160px;
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.08), transparent 40%);
    filter: blur(12px);
    z-index: -1;
  }
  
  .earn-amount {
    font-size: 48px;
    font-weight: 800;
    color: var(--accent, #6b46ff);
    margin-bottom: 10px;
  }
  .earn-sub {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .stats {
    display: flex;
    gap: 26px;
    margin-bottom: 26px;
  }
  .stats div strong {
    font-size: 22px;
    display: block;
  }
  .request {
    background: rgba(107,70,255,0.06);
    padding: 14px;
    border-radius: 12px;
    font-size: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .btn.accept {
    background: var(--accent, #6b46ff);
    color: #fff;
    padding: 6px 14px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
  }
  
  /* Animations */
  @keyframes slideInLeft {
    0% { opacity: 0; transform: translateX(-80px) scale(0.95); }
    60% { opacity: 1; transform: translateX(8px) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) scale(1); }
  }
  @keyframes slideInRight {
    0% { opacity: 0; transform: translateX(80px) scale(0.95); }
    60% { opacity: 1; transform: translateX(-8px) scale(1.02); }
    100% { opacity: 1; transform: translateX(0) scale(1); }
  }
  @keyframes floaty {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
  }
  
  /* 🌙 Responsive layout */
  @media (max-width: 950px) {
    .drivers .two-col {
      grid-template-columns: 1fr;
      gap: 50px;
    }
  
    /* make left div (text) appear on top */
    .drivers .two-col > div:first-child {
      order: -1;
      transform: translateY(40px);
      animation: slideInTop 1s cubic-bezier(.2, .9, .2, 1) 0.2s forwards;
    }
  
    /* dashboard below */
    .dashboard-preview {
      justify-self: center;
      transform: translateY(60px);
      animation: slideInBottom 1s cubic-bezier(.2, .9, .2, 1) 0.4s forwards;
    }
  
    .drivers h2 {
      font-size: 34px;
      text-align: center;
    }
    .drivers .muted, .benefits, .drivers .btn-primary {
      text-align: center;
    }
    .benefits li {
      text-align: left;
      max-width: 320px;
      margin: 0 auto 12px;
    }
    .earn-card {
      max-width: 100%;
      padding: 26px;
    }
  }
  
  @keyframes slideInTop {
    0% { opacity: 0; transform: translateY(-80px) scale(0.95); }
    60% { opacity: 1; transform: translateY(10px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  @keyframes slideInBottom {
    0% { opacity: 0; transform: translateY(80px) scale(0.95); }
    60% { opacity: 1; transform: translateY(-8px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  /* Reduced motion support */
  @media (prefers-reduced-motion: reduce) {
    .drivers .two-col > div:first-child,
    .dashboard-preview,
    .earn-card {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

  /* -----------------------------
  CONTACT SECTION — premium, animated, responsive (CSS only)
------------------------------*/

.contact {
    padding: 80px 0;
    background: linear-gradient(180deg,#fcfcfd 0%, #f6f8fb 100%);
    position: relative;
    overflow: hidden;
  }
  
  /* Two-column layout */
  .contact .two-col {
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 48px;
    align-items: start;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 28px;
  }
  
  /* Left column (info) */
  .contact > .two-col > div:first-child {
    animation: slideInLeft 850ms cubic-bezier(.16,.84,.3,1) 0.12s both;
  }
  .contact h2 { font-size: 40px; margin-bottom: 8px; line-height:1.08; }
  .contact .muted { color: var(--muted,#6b7280); margin-bottom: 18px; }
  
  /* contact-info blocks */
  .contact-info > div {
    margin-bottom: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,251,255,0.98));
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(15,23,36,0.04);
    box-shadow: 0 14px 34px rgba(16,24,40,0.06);
  }
  .contact-info strong { display:block; font-weight:700; margin-bottom:6px; }
  .business-hours.card { margin-top: 16px; }
  
  /* Contact form card */
  .contact-form.card{
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,249,255,0.98));
    padding: 22px;
    border-radius: 16px;
    box-shadow: 0 28px 68px rgba(16,24,40,0.10);
    border: 1px solid rgba(15,23,36,0.05);
    transform-style: preserve-3d;
    animation: slideInRight 900ms cubic-bezier(.16,.84,.3,1) 0.2s both;
  }
  
  /* Form field layout - each label wraps input (matches your HTML) */
  .contact-form label{
    display:block;
    position:relative;
    margin-bottom:14px;
    padding-top:8px;
  }
  
  /* floating label (moves when user focuses the field) */
  .contact-form .label{
    display:inline-block;
    position:absolute;
    left:12px;
    top:12px;
    font-size:13px;
    color:var(--muted,#7b7f88);
    background:transparent;
    padding:0 6px;
    transition: transform .22s cubic-bezier(.2,.9,.2,1), font-size .18s ease, color .18s ease;
    transform-origin:left top;
    pointer-events:none;
  }
  
  /* input & textarea base */
  .contact-form input,
  .contact-form textarea{
    width:100%;
    padding:14px 12px 12px 12px;
    border-radius:10px;
    border:1px solid rgba(15,23,36,0.06);
    background: rgba(255,255,255,0.98);
    font-size:15px;
    color:var(--text,#0f1724);
    transition: box-shadow .18s ease, border-color .18s ease, transform .12s ease;
    outline: none;
    -webkit-appearance: none;
  }
  
  /* move label up when field is focused (or when label's parent has focus-within) */
  .contact-form label:focus-within .label{
    transform: translateY(-12px) scale(.86);
    color: var(--accent,#6b46ff);
  }
  
  /* nice focus styles */
  .contact-form input:focus,
  .contact-form textarea:focus{
    box-shadow: 0 10px 30px rgba(107,70,255,0.09);
    border-color: rgba(107,70,255,0.22);
  }
  
  /* textarea tweaks */
  .contact-form textarea{ min-height:120px; resize:vertical; padding-top:18px; }
  
  /* submit button */
  .contact-form .btn-primary{
    display:inline-block;
    padding:12px 18px;
    border-radius:12px;
    background: linear-gradient(90deg,#6b46ff,#5a8bff);
    color:#fff;
    font-weight:700;
    box-shadow: 0 12px 36px rgba(107,70,255,0.16);
    border: none;
    transition: transform .14s ease, box-shadow .18s ease, opacity .18s ease;
  }
  .contact-form .btn-primary:hover{ transform: translateY(-4px); box-shadow: 0 22px 56px rgba(107,70,255,0.16); }
  
  /* little success micro-animation for button when :active */
  .contact-form .btn-primary:active{ transform: translateY(-2px) scale(.995); }
  
  /* small decorative floating gloss on form */
  .contact-form::before{
    content:"";
    position:absolute;
    left:-40%;
    top:-20%;
    width:200%;
    height:60%;
    background: linear-gradient(120deg, rgba(255,255,255,0.5), rgba(255,255,255,0.02));
    transform: rotate(-18deg);
    filter: blur(20px);
    pointer-events:none;
    opacity:0.9;
  }
  
  /* Animations */
  @keyframes slideInLeft {
    0% { opacity:0; transform: translateX(-60px) scale(.98) rotate(-1deg); }
    60% { opacity:1; transform: translateX(8px) scale(1.01); }
    100% { opacity:1; transform: translateX(0) scale(1); }
  }
  @keyframes slideInRight {
    0% { opacity:0; transform: translateX(60px) scale(.98) rotate(1deg); }
    60% { opacity:1; transform: translateX(-8px) scale(1.01); }
    100% { opacity:1; transform: translateX(0) scale(1); }
  }
  
  /* responsive: stack on mobile, make the left block appear first (top) */
  @media (max-width: 920px){
    .contact .two-col {
      grid-template-columns: 1fr;
      gap: 28px;
      padding: 0 18px;
    }
  
    /* ensure left column (info) appears on top */
    .contact .two-col > div:first-child { order: -1; animation: slideInTop 700ms cubic-bezier(.16,.84,.3,1) 0.08s both; }
    .contact-form.card { animation: slideInBottom 700ms cubic-bezier(.16,.84,.3,1) 0.2s both; }
  
    .contact h2 { text-align:center; font-size:32px; }
    .contact .muted { text-align:center; margin-bottom: 20px; }
    .contact-info > div { max-width: 560px; margin: 0 auto 12px; }
    .business-hours.card { max-width:560px; margin: 16px auto 0; }
    .contact-form .btn-primary { width:100%; display:block; text-align:center; }
  }
  
  /* small keyframes used for stacked entry */
  @keyframes slideInTop {
    0% { opacity:0; transform: translateY(-40px) scale(.98); }
    60% { opacity:1; transform: translateY(6px) scale(1.01); }
    100% { opacity:1; transform: translateY(0) scale(1); }
  }
  @keyframes slideInBottom {
    0% { opacity:0; transform: translateY(40px) scale(.98); }
    60% { opacity:1; transform: translateY(-6px) scale(1.01); }
    100% { opacity:1; transform: translateY(0) scale(1); }
  }
  
  /* Accessibility: respect reduced motion preference */
  @media (prefers-reduced-motion: reduce) {
    .contact > .two-col > div:first-child,
    .contact-form.card {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
    .contact-form .label,
    .contact-form input,
    .contact-form textarea,
    .contact-form .btn-primary { transition: none !important; }
  }

  /* -----------------------------
  CTA SECTION — premium animated & responsive (CSS-only)
------------------------------*/

.section.cta{
    padding: 72px 0 110px;
    background: linear-gradient(180deg,#ffffff 0%, #f3f7ff 100%);
    position: relative;
    overflow: visible;
  }
  
  /* decorative floating blobs */
  .section.cta::before,
  .section.cta::after{
    content: "";
    position: absolute;
    width: 360px;
    height: 200px;
    border-radius: 50%;
    filter: blur(40px);
    z-index: 0;
    pointer-events: none;
    opacity: 0.85;
  }
  .section.cta::before{
    left: -60px;
    top: -30px;
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.14), rgba(90,139,255,0.05));
    transform: scaleX(1.2) rotate(-12deg);
  }
  .section.cta::after{
    right: -60px;
    bottom: -20px;
    width: 420px;
    height: 240px;
    background: radial-gradient(circle at 70% 70%, rgba(90,139,255,0.10), transparent 40%);
    transform: scaleX(1) rotate(6deg);
  }
  
  /* container */
  .section.cta .wrap.center{
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 0 20px;
  }
  
  /* headline */
  .section.cta h2{
    font-size: 40px;
    margin-bottom: 8px;
    letter-spacing: -0.3px;
    line-height: 1.08;
    transform-origin: center;
    opacity: 0;
    transform: translateY(22px) scale(.995);
    animation: ctaTitleIn 700ms cubic-bezier(.16,.84,.3,1) 0.08s forwards;
  }
  .section.cta p.muted{
    margin-bottom: 20px;
    color: var(--muted,#6b7280);
    opacity: 0;
    transform: translateY(18px);
    animation: ctaSubIn 700ms cubic-bezier(.16,.84,.3,1) 0.16s forwards;
  }
  
  /* CTA buttons */
  .hero-ctas{
    display:inline-flex;
    gap:12px;
    margin-top: 14px;
    margin-bottom: 26px;
    justify-content:center;
    opacity: 0;
    transform: translateY(18px);
    animation: ctaBtnsIn 700ms cubic-bezier(.16,.84,.3,1) 0.24s forwards;
  }
  
  .btn-primary{
    padding: 14px 24px;
    border-radius: 12px;
    font-weight: 800;
    letter-spacing: .2px;
    text-decoration:none;
    color: #fff;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    box-shadow: 0 16px 48px rgba(107,70,255,0.18);
    position: relative;
    overflow: hidden;
    transition: transform .16s ease, box-shadow .18s ease;
  }
  
  /* shimmer effect using pseudo-element */
  .btn-primary::after{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.12) 45%, rgba(255,255,255,0) 80%);
    transform: translateX(-120%);
    transition: none;
    pointer-events:none;
    mix-blend-mode: overlay;
  }
  .btn-primary:hover{ transform: translateY(-4px); box-shadow: 0 26px 64px rgba(107,70,255,0.22); }
  .btn-primary:hover::after{ animation: btnShine 900ms linear forwards; }
  
  /* outline button */
  .btn-outline{
    padding: 12px 20px;
    border-radius: 12px;
    border: 1px solid rgba(15,23,36,0.06);
    background: rgba(255,255,255,0.9);
    color: var(--text,#0f1724);
    font-weight:700;
    transition: transform .16s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn-outline:hover{ transform: translateY(-3px); background: rgba(255,255,255,1); box-shadow: 0 14px 36px rgba(16,24,40,0.06) }
  
  /* metrics */
  .metrics{
    display:flex;
    gap:28px;
    justify-content:center;
    margin-top:18px;
    flex-wrap:wrap;
    z-index:2;
  }
  .metrics > div{
    min-width:110px;
    padding:14px 18px;
    border-radius:12px;
    background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(248,250,255,0.98));
    box-shadow: 0 12px 36px rgba(16,24,40,0.06);
    border:1px solid rgba(15,23,36,0.04);
    text-align:center;
    opacity:0;
    transform: translateY(26px) scale(.995);
    animation: metricIn 700ms cubic-bezier(.16,.84,.3,1) forwards;
  }
  
  /* stagger metric delays */
  .metrics > div:nth-child(1){ animation-delay: 0.28s; }
  .metrics > div:nth-child(2){ animation-delay: 0.42s; }
  .metrics > div:nth-child(3){ animation-delay: 0.56s; }
  
  .metrics > div strong{ display:block; font-size:20px; margin-bottom:6px; color:var(--text,#0f1724); }
  .metrics > div .muted{ display:block; font-size:13px; color:var(--muted,#6b7280) }
  
  /* small glow under first metric */
  .metrics > div:first-child::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-18px;
    width:80%;
    height:12px;
    background: radial-gradient(ellipse at center, rgba(107,70,255,0.12), transparent 40%);
    filter: blur(10px);
    z-index:-1;
  }
  
  /* keyframes */
  @keyframes ctaTitleIn {
    0% { opacity:0; transform: translateY(26px) scale(.995); }
    60% { opacity:1; transform: translateY(-6px) scale(1.01); }
    100% { opacity:1; transform: translateY(0) scale(1); }
  }
  @keyframes ctaSubIn { 0%{ opacity:0; transform: translateY(18px)} 100%{ opacity:1; transform: translateY(0)} }
  @keyframes ctaBtnsIn { 0%{ opacity:0; transform: translateY(22px)} 100%{ opacity:1; transform: translateY(0)} }
  @keyframes metricIn {
    0% { opacity: 0; transform: translateY(28px) scale(.995); }
    60% { opacity: 1; transform: translateY(-6px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  @keyframes btnShine {
    0% { transform: translateX(-120%); opacity: 0; }
    40% { transform: translateX(-16%); opacity: 0.95; }
    100% { transform: translateX(120%); opacity: 0; }
  }
  
  /* hover micro-bounce on metrics */
  .metrics > div:hover{ transform: translateY(-6px); box-shadow: 0 26px 64px rgba(16,24,40,0.10); }
  
  /* responsive */
  @media (max-width:900px){
    .section.cta{ padding: 48px 0 80px; }
    .section.cta h2{ font-size:28px; }
    .hero-ctas{ flex-direction:column; gap:12px; }
    .hero-ctas .btn-primary, .hero-ctas .btn-outline{ width:100%; max-width:360px; margin:0 auto; }
    .metrics{ gap:14px; margin-top:22px; }
    .metrics > div{ min-width:unset; padding:12px 14px; }
  }
  
  /* accessibility: reduce motion */
  @media (prefers-reduced-motion: reduce){
    .section.cta h2,
    .section.cta p.muted,
    .hero-ctas,
    .metrics > div,
    .btn-primary::after { animation: none !important; transition: none !important; transform: none !important; opacity:1 !important; }
  }
/* -----------------------------
   FOOTER — premium animated & responsive (CSS-only)
------------------------------*/

.site-footer {
    background: linear-gradient(180deg, #f7f8fc 0%, #ffffff 100%);
    border-top: 1px solid rgba(15, 23, 36, 0.05);
    padding: 60px 0 30px;
    position: relative;
    overflow: hidden;
  }
  
  /* subtle background glow shapes */
  .site-footer::before,
  .site-footer::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 200px;
    border-radius: 50%;
    filter: blur(40px);
    opacity: 0.6;
    pointer-events: none;
  }
  .site-footer::before {
    top: -40px;
    left: -60px;
    background: radial-gradient(circle at 30% 30%, rgba(107,70,255,0.1), transparent 60%);
  }
  .site-footer::after {
    bottom: -40px;
    right: -80px;
    background: radial-gradient(circle at 70% 70%, rgba(90,139,255,0.12), transparent 60%);
  }
  
  /* grid layout */
  .footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    position: relative;
    z-index: 2;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 28px;
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 0.9s cubic-bezier(.16,.84,.3,1) 0.2s forwards;
  }
  
  .footer-grid h4 {
    font-size: 18px;
    margin-bottom: 12px;
    color: var(--text, #0f1724);
    position: relative;
  }
  
  .footer-grid .muted {
    font-size: 15px;
    color: var(--muted, #6b7280);
  }
  
  .footer-grid a {
    text-decoration: none;
    color: var(--muted, #6b7280);
    font-size: 15px;
    display: inline-block;
    margin-bottom: 6px;
    position: relative;
    transition: color 0.25s ease;
  }
  .footer-grid a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0%;
    height: 2px;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    transition: width 0.25s ease;
  }
  .footer-grid a:hover {
    color: var(--accent, #6b46ff);
  }
  .footer-grid a:hover::after {
    width: 100%;
  }
  
  /* footer bottom */
  .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 50px;
    border-top: 1px solid rgba(15, 23, 36, 0.05);
    padding-top: 20px;
    font-size: 14px;
    color: var(--muted, #6b7280);
    opacity: 0;
    transform: translateY(40px);
    animation: fadeUp 0.9s cubic-bezier(.16,.84,.3,1) 0.6s forwards;
  }
  
  /* left copyright */
  .footer-bottom small {
    display: inline-block;
  }
  
  /* right powered by */
  .footer-bottom .powered {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--text, #0f1724);
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
  }
  .footer-bottom .powered::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 0%;
    background: linear-gradient(90deg, #6b46ff, #5a8bff);
    transition: width 0.4s ease;
  }
  .footer-bottom .powered:hover::after {
    width: 100%;
  }
  
  /* simple icon animation (optional sparkle) */
  @keyframes glowPulse {
    0%,100% { text-shadow: 0 0 0 rgba(107,70,255,0); }
    50% { text-shadow: 0 0 10px rgba(107,70,255,0.4); }
  }
  .footer-bottom .powered:hover {
    animation: glowPulse 1.2s ease-in-out infinite;
  }
  
  /* keyframes */
  @keyframes fadeUp {
    0% { opacity: 0; transform: translateY(40px) scale(.98); }
    60% { opacity: 1; transform: translateY(-6px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
  }
  
  /* responsive design */
  @media (max-width: 900px) {
    .footer-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }
  }
  @media (max-width: 600px) {
    .footer-grid {
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .footer-bottom {
      flex-direction: column;
      text-align: center;
      gap: 10px;
    }
  }
  
  /* accessibility: reduce motion */
  @media (prefers-reduced-motion: reduce) {
    .footer-grid, .footer-bottom {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }

  
  /* styles.css — Premium responsive UI for JaldiRide
   Desktop / Tablet / Mobile handled
   Put this file next to your HTML and link it in <head>
*/

/* -------------------------
   Root variables
-------------------------*/
:root{
    --bg: #f7f7f5;
    --card: #ffffff;
    --muted: #6b7280;
    --text: #0f1724;
    --accent: #6b46ff;
    --accent-2: #5a8bff;
    --glass: rgba(15,23,36,0.04);
    --radius: 14px;
    --shadow-sm: 0 6px 18px rgba(16,24,40,0.06);
    --shadow-md: 0 18px 48px rgba(16,24,40,0.09);
    --container: 1150px;
    --pad: 24px;
    --max-content-width: 1150px;
  }
  
  /* -------------------------
     Global basics
  -------------------------*/
  *{box-sizing:border-box}
  html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;color:var(--text);background:linear-gradient(180deg,var(--bg),#f3f5f7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  a{color:inherit}
  .wrap{max-width:var(--container);margin:0 auto;padding:0 20px}
  
  /* Utility */
  .center{text-align:center}
  .muted{color:var(--muted)}
  .card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow-sm)}
  .pill{background:linear-gradient(90deg,#eef2ff,#fff);padding:6px 10px;border-radius:999px;color:var(--accent);display:inline-block;font-weight:700}
  
  /* -------------------------
     Header
  -------------------------*/
  .site-header{
    position:sticky;
    top:0;
    z-index:80;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(6px);
    border-bottom:1px solid rgba(15,23,36,0.04);
    box-shadow: var(--shadow-sm);
  }
  .wrap.nav-row{
    max-width:var(--max-content-width);
    margin:0 auto;
    padding:12px 20px;
    display:flex;
    align-items:center;
    gap:16px;
    justify-content:space-between;
  }
  
  /* Brand */
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
  .brand-img{width:56px;height:56px;border-radius:12px;object-fit:cover;box-shadow:0 10px 30px rgba(107,70,255,0.12);border:1px solid rgba(15,23,36,0.03);transition:transform .22s ease}
  .brand-text strong{font-size:18px;display:block}
  .brand:hover .brand-img{transform:translateY(-4px) scale(1.02)}
  
  /* Nav - desktop */
  .nav-desktop{display:flex;gap:14px;align-items:center}
  .nav-desktop a{padding:8px 10px;border-radius:10px;text-decoration:none;font-weight:600;transition:background .16s ease,transform .12s ease}
  .nav-desktop a:hover{background:var(--glass);transform:translateY(-3px)}
  .btn{display:inline-block;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700}
  .btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:white;box-shadow:0 12px 36px rgba(107,70,255,0.12)}
  .btn-outline{background:transparent;border:1px solid rgba(15,23,36,0.06);color:var(--text)}
  
  /* hamburger (mobile) */
  .nav-toggle{position:absolute;left:-9999px;opacity:0;pointer-events:none}
  .hamburger{display:none;position:absolute;right:20px;top:50%;transform:translateY(-50%);cursor:pointer;padding:8px;border-radius:8px;background:transparent;border:0;z-index:90}
  .hamburger-box{width:22px;height:18px;position:relative;display:inline-block}
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{background:var(--text);position:absolute;height:2px;width:100%;border-radius:2px;transition:transform .28s cubic-bezier(.2,.9,.3,1),opacity .18s linear}
  .hamburger-inner{top:50%;transform:translateY(-50%)}
  .hamburger-inner::before{content:"";top:-7px}
  .hamburger-inner::after{content:"";top:7px}
  
  /* mobile nav */
  .nav-mobile{display:none;flex-direction:column;padding:14px 20px;border-top:1px solid rgba(15,23,36,0.03);background:linear-gradient(180deg,rgba(255,255,255,0.97),rgba(255,255,255,0.99));box-shadow:var(--shadow-sm)}
  .nav-mobile a{padding:12px 8px;border-radius:10px}
  .nav-toggle:checked + .hamburger .hamburger-inner{transform: rotate(45deg)}
  .nav-toggle:checked + .hamburger .hamburger-inner::before{transform: rotate(90deg);top:0}
  .nav-toggle:checked + .hamburger .hamburger-inner::after{opacity:0}
  .nav-toggle:checked ~ .nav-mobile{display:flex}
  
  /* -------------------------
     Hero
  -------------------------*/
  .hero{padding:72px 0}
  .hero-inner{display:flex;gap:36px;align-items:center;justify-content:space-between}
  .hero-text{flex:1;min-width:260px}
  .hero h1{font-size:56px;line-height:1.02;margin:0 0 12px}
  .lead{color:var(--muted);font-size:18px;margin-bottom:18px}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
  
  /* demo card */
  .hero-card{width:460px;max-width:44vw;min-width:300px;border-radius:18px;overflow:hidden;position:relative;box-shadow:var(--shadow-md);background:linear-gradient(180deg,#fff,#fbfdff);transform-origin:center;transition:transform .35s ease}
  .hero-card:hover{transform:translateY(-8px) scale(1.01)}
  .demo-video{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9;background:#111}
  
  /* overlay control */
  .video-overlay{position:absolute;inset:0;pointer-events:none}
  .video-toggle{pointer-events:auto;position:absolute;right:14px;bottom:14px;border:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#fff;padding:10px 12px;border-radius:12px;box-shadow:0 12px 30px rgba(107,70,255,0.16);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:transform .14s ease}
  .video-toggle:hover{transform:translateY(-3px)}
  .video-fallback{display:none}
  
  /* sheen effect */
  .hero-card::after{content:"";position:absolute;left:-40%;top:-40%;width:200%;height:200%;background:linear-gradient(120deg,rgba(255,255,255,0) 30%, rgba(255,255,255,0.06) 48%, rgba(255,255,255,0) 60%);transform:rotate(20deg) translateX(-30%);pointer-events:none;animation:sheen 6s linear infinite;mix-blend-mode:screen;opacity:.9}
  @keyframes sheen{0%{transform:translateX(-60%) rotate(20deg)}50%{transform:translateX(30%) rotate(20deg)}100%{transform:translateX(120%) rotate(20deg)}}
  
  /* -------------------------
     HOW IT WORKS (animated)
  -------------------------*/
  .how{padding:80px 0;background:linear-gradient(180deg,#fafaf9 0%,#f5f7fb 100%)}
  .how h2{font-size:34px;text-align:center;margin-bottom:6px}
  .how .muted{text-align:center;margin-bottom:36px;color:var(--muted)}
  .how .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;justify-items:center}
  .how .step{background:var(--card);border-radius:14px;padding:24px;box-shadow:0 14px 36px rgba(16,24,40,0.06);border:1px solid rgba(15,23,36,0.04);text-align:left;max-width:340px;opacity:0;transform:translateY(30px);animation:fadeUp 700ms cubic-bezier(.2,.9,.2,1) both}
  .how .step .icon{width:68px;height:68px;border-radius:12px;display:grid;place-items:center;font-size:28px;margin-bottom:14px;background:linear-gradient(135deg,rgba(107,70,255,0.1),rgba(90,139,255,0.06));color:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,0.5)}
  .how .step:nth-child(1){animation-name:slideFromLeft;animation-delay:0.14s}
  .how .step:nth-child(2){animation-name:slideFromBottom;animation-delay:0.32s}
  .how .step:nth-child(3){animation-name:slideFromRight;animation-delay:0.5s}
  @keyframes slideFromLeft{0%{opacity:0;transform:translateX(-80px) rotate(-2deg) scale(.95)}60%{opacity:1;transform:translateX(8px) rotate(1deg) scale(1.02)}100%{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
  @keyframes slideFromBottom{0%{opacity:0;transform:translateY(80px) scale(.95)}60%{opacity:1;transform:translateY(-10px) scale(1.03)}100%{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes slideFromRight{0%{opacity:0;transform:translateX(80px) rotate(2deg) scale(.95)}60%{opacity:1;transform:translateX(-10px) rotate(-1deg) scale(1.02)}100%{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
  @keyframes fadeUp{0%{opacity:0;transform:translateY(18px) scale(.995)}100%{opacity:1;transform:translateY(0) scale(1)}}
  .how .step:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 28px 60px rgba(16,24,40,0.10)}
  .how .step h3{margin:0 0 8px}
  
  /* -------------------------
     FEATURES (premium)
  -------------------------*/
  .features{padding:72px 0;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
  .features h2{text-align:center;font-size:36px;margin-bottom:6px}
  .features .muted{text-align:center;margin-bottom:28px;color:var(--muted)}
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
  .feature{position:relative;background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(250,252,255,0.98));border-radius:14px;padding:20px;box-shadow:0 18px 40px rgba(16,24,40,0.06);border:1px solid rgba(15,23,36,0.04);opacity:0;transform:translateY(22px) scale(.995);animation:riseFade 700ms cubic-bezier(.2,.9,.2,1) forwards}
  .feature:nth-child(1){animation-delay:.12s}
  .feature:nth-child(2){animation-delay:.26s}
  .feature:nth-child(3){animation-delay:.40s}
  .feature:nth-child(4){animation-delay:.56s}
  .feature:nth-child(5){animation-delay:.70s}
  .feature:nth-child(6){animation-delay:.84s}
  .f-icon{width:64px;height:64px;border-radius:12px;display:grid;place-items:center;font-size:28px;margin-bottom:12px;background:linear-gradient(135deg,rgba(107,70,255,0.10),rgba(90,139,255,0.06));color:var(--accent);box-shadow:0 10px 28px rgba(90,139,255,0.06),inset 0 1px 0 rgba(255,255,255,0.6);transition:transform .36s}
  .feature:hover{transform:translateY(-10px) rotateX(3deg) scale(1.02);box-shadow:0 38px 78px rgba(16,24,40,0.12)}
  @keyframes riseFade{0%{opacity:0;transform:translateY(28px) scale(.995)}60%{opacity:1;transform:translateY(-6px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}
  
  /* -------------------------
     DRIVERS (responsive)
  -------------------------*/
  .drivers{padding:90px 0;background:linear-gradient(180deg,#f7f8fc 0%,#fff 100%);overflow:hidden}
  .drivers .two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;max-width:1150px;margin:0 auto;padding:0 20px}
  .drivers h2{font-size:40px;margin-bottom:10px}
  .drivers .muted{color:var(--muted);margin-bottom:20px;font-size:16px;line-height:1.6}
  .benefits{list-style:none;padding:0;margin:18px 0 30px}
  .benefits li{padding-left:28px;margin-bottom:12px;position:relative;font-weight:600}
  .benefits li::before{content:"✔";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
  .drivers .btn-primary{padding:12px 22px;border-radius:12px}
  .dashboard-preview{position:relative;opacity:0;transform:translateX(80px) scale(.95);animation:slideInRight 1s cubic-bezier(.2,.9,.2,1) .4s forwards;justify-self:center}
  .earn-card{background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(245,247,255,0.96));border-radius:22px;padding:28px;box-shadow:0 36px 80px rgba(16,24,40,0.12);border:1px solid rgba(15,23,36,0.06);width:100%;max-width:440px;animation:floaty 6s ease-in-out infinite}
  .earn-amount{font-size:36px;font-weight:800;color:var(--accent);margin-bottom:8px}
  .stats{display:flex;gap:22px;margin-bottom:20px}
  .request{background:rgba(107,70,255,0.06);padding:12px;border-radius:10px;display:flex;justify-content:space-between;align-items:center}
  .btn.accept{background:var(--accent);color:white;padding:8px 12px;border-radius:8px;border:0}
  @keyframes slideInRight{0%{opacity:0;transform:translateX(80px) scale(.95)}60%{opacity:1;transform:translateX(-8px) scale(1.02)}100%{opacity:1;transform:translateX(0) scale(1)}}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  
  /* -------------------------
     CONTACT
  -------------------------*/
  .contact{padding:80px 0;background:linear-gradient(180deg,#fcfcfd 0%, #f6f8fb 100%)}
  .contact .two-col{display:grid;grid-template-columns:1fr 480px;gap:48px;align-items:start;max-width:1150px;margin:0 auto;padding:0 20px}
  .contact h2{font-size:36px;margin-bottom:8px}
  .contact-info>div{margin-bottom:12px;background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(250,251,255,0.98));padding:12px 14px;border-radius:12px;border:1px solid rgba(15,23,36,0.04);box-shadow:0 14px 34px rgba(16,24,40,0.06)}
  .contact-form.card{padding:22px;border-radius:16px;box-shadow:0 28px 68px rgba(16,24,40,0.10);border:1px solid rgba(15,23,36,0.05)}
  .contact-form label{display:block;position:relative;margin-bottom:14px;padding-top:8px}
  .contact-form .label{position:absolute;left:12px;top:12px;font-size:13px;color:var(--muted);padding:0 6px;transition:transform .22s,color .18s}
  .contact-form input, .contact-form textarea{width:100%;padding:14px 12px 12px;border-radius:10px;border:1px solid rgba(15,23,36,0.06);background:rgba(255,255,255,0.98);font-size:15px}
  .contact-form label:focus-within .label{transform:translateY(-12px) scale(.86);color:var(--accent)}
  .contact-form textarea{min-height:120px;resize:vertical}
  .contact-form .btn-primary{width:auto;padding:12px 18px;border-radius:12px}
  
  /* -------------------------
     CTA
  -------------------------*/
  .section.cta{padding:72px 0 110px;background:linear-gradient(180deg,#ffffff 0%, #f3f7ff 100%);position:relative;overflow:visible}
  .section.cta::before, .section.cta::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);opacity:.85;pointer-events:none}
  .section.cta::before{left:-60px;top:-30px;width:360px;height:200px;background:radial-gradient(circle at 30% 30%, rgba(107,70,255,0.14), rgba(90,139,255,0.05))}
  .section.cta::after{right:-60px;bottom:-20px;width:420px;height:240px;background:radial-gradient(circle at 70% 70%, rgba(90,139,255,0.10), transparent 40%)}
  .section.cta .wrap.center{max-width:980px;margin:0 auto;text-align:center;padding:0 20px;z-index:2}
  .section.cta h2{font-size:36px;margin-bottom:6px;opacity:0;transform:translateY(18px);animation:ctaTitleIn .7s .08s forwards}
  .section.cta p.muted{opacity:0;transform:translateY(18px);animation:ctaSubIn .7s .16s forwards}
  .hero-ctas{display:inline-flex;gap:12px;margin-top:14px;margin-bottom:26px;opacity:0;transform:translateY(18px);animation:ctaBtnsIn .7s .24s forwards}
  .btn-primary{padding:14px 24px;border-radius:12px;font-weight:800}
  .btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%, rgba(255,255,255,0.12) 45%, rgba(255,255,255,0) 80%);transform:translateX(-120%);mix-blend-mode:overlay}
  .btn-primary:hover::after{animation:btnShine .9s linear forwards}
  .metrics{display:flex;gap:28px;justify-content:center;margin-top:18px;flex-wrap:wrap}
  .metrics>div{min-width:110px;padding:14px 18px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.95),rgba(248,250,255,0.98));box-shadow:0 12px 36px rgba(16,24,40,0.06);border:1px solid rgba(15,23,36,0.04);text-align:center;opacity:0;transform:translateY(26px);animation:metricIn .7s forwards}
  .metrics>div:nth-child(1){animation-delay:.28s}
  .metrics>div:nth-child(2){animation-delay:.42s}
  .metrics>div:nth-child(3){animation-delay:.56s}
  
  /* CTA keyframes */
  @keyframes ctaTitleIn{0%{opacity:0;transform:translateY(26px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes ctaSubIn{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes ctaBtnsIn{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes metricIn{0%{opacity:0;transform:translateY(28px) scale(.995)}60%{opacity:1;transform:translateY(-6px) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}
  @keyframes btnShine{0%{transform:translateX(-120%);opacity:0}40%{transform:translateX(-16%);opacity:.95}100%{transform:translateX(120%);opacity:0}}
  
  /* -------------------------
     Footer
  -------------------------*/
  .site-footer{background:linear-gradient(180deg,#f7f8fc 0%,#fff 100%);border-top:1px solid rgba(15,23,36,0.05);padding:60px 0 30px;position:relative;overflow:hidden}
  .site-footer::before,.site-footer::after{content:"";position:absolute;width:300px;height:200px;border-radius:50%;filter:blur(40px);opacity:.6;pointer-events:none}
  .site-footer::before{top:-40px;left:-60px;background:radial-gradient(circle at 30% 30%, rgba(107,70,255,0.1), transparent 60%)}
  .site-footer::after{bottom:-40px;right:-80px;background:radial-gradient(circle at 70% 70%, rgba(90,139,255,0.12), transparent 60%)}
  .footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1150px;margin:0 auto;padding:0 20px;opacity:0;transform:translateY(40px);animation:fadeUp .9s .18s forwards}
  .footer-grid h4{font-size:18px;margin-bottom:12px;color:var(--text)}
  .footer-grid a{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:6px;transition:color .25s}
  .footer-grid a::after{content:"";position:absolute;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s}
  .footer-grid a:hover{color:var(--accent)}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;border-top:1px solid rgba(15,23,36,0.05);padding-top:20px;font-size:14px;color:var(--muted);opacity:0;transform:translateY(40px);animation:fadeUp .9s .6s forwards}
  .footer-bottom .powered{font-weight:700;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}
  .footer-bottom .powered::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s}
  .footer-bottom .powered:hover::after{width:100%}
  
  /* -------------------------
     Responsive Breakpoints
  -------------------------*/
  @media (max-width:1000px){
    .hero h1{font-size:44px}
    .hero-inner{flex-direction:column-reverse;align-items:stretch}
    .hero-card{width:100%;max-width:none;min-width:0;border-radius:14px;margin-top:18px}
    .nav-desktop{display:none}
    .hamburger{display:inline-flex}
  }
  
  @media (max-width:800px){
    .how .steps{grid-template-columns:repeat(2,1fr)}
    .feature-grid{grid-template-columns:repeat(2,1fr)}
    .drivers .two-col{grid-template-columns:1fr;gap:36px;padding:0 18px}
    .contact .two-col{grid-template-columns:1fr;gap:28px;padding:0 18px}
    .footer-grid{grid-template-columns:repeat(2,1fr);gap:30px}
  }
  
  @media (max-width:560px){
    .hero h1{font-size:28px}
    .how .steps{grid-template-columns:1fr}
    .feature-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .metrics{flex-direction:column;gap:12px}
    .brand-img{width:44px;height:44px}
    .nav-mobile a{padding:10px 8px}
    .contact-form .btn-primary{width:100%}
    .drivers .two-col{grid-template-columns:1fr}
  }
  
  /* -------------------------
     Accessibility - reduced motion
  -------------------------*/
  @media (prefers-reduced-motion: reduce){
    *{animation:none!important;transition:none!important}
    .hero-card,.feature,.how .step,.earn-card,.contact-form.card{transform:none!important;opacity:1!important}
  }
  

  /* Prevent horizontal scroll gaps during animations */
html, body {
    width: 100%;
    overflow-x: hidden;
  }
  
  /* Ensure every section fits the viewport perfectly */
  body, main, section, header, footer {
    max-width: 100vw;
  }
  
  /* Wrap containers always fit neatly */
  .wrap {
    width: 100%;
    overflow-x: hidden;
  }
  
  /* Fix any accidental transform overflow during animations */
  .hero-inner,
  .how .steps,
  .feature-grid,
  .drivers .two-col,
  .contact .two-col,
  .footer-grid {
    overflow-x: hidden;
  }
 
  
  /* HERO CARD - thin border, subtle glass, soft shadow */
.hero-card {
  --card-radius: 16px;
  --border-color: rgba(255,255,255,0.06); /* light theme adjust as needed */
  --shadow: 0 10px 30px rgba(2,6,23,0.35);
  position: relative;
  width: 100%;
  max-width: 640px;        /* adjust */
  margin: 0 auto;
  padding: 14px;           /* inner padding around the video */
  border-radius: var(--card-radius);
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 1px solid var(--border-color); /* thin border */
  box-shadow: var(--shadow);
  overflow: hidden;
  -webkit-backdrop-filter: blur(6px); /* subtle glass effect (optional) */
  backdrop-filter: blur(6px);
}

/* make the video fill the card but retain rounded corners */
.demo-video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  object-fit: cover; /* fill nicely */
  background: #000;  /* fallback while loading */
}

/* overlay for a soft shine (decorative) */
.hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0.00), rgba(255,255,255,0.02) 60%);
  mix-blend-mode: overlay;
  border-radius: inherit;
}

/* play/pause button styling */
.video-overlay {
  position: absolute;
  inset: 0; /* cover whole card so button can be positioned relative */
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 12px;
  pointer-events: none; /* allow button to be the only interactive element */
}

.video-toggle {
  pointer-events: auto;
  background: linear-gradient(135deg, #6c5cff, #7fd3ff);
  border: none;
  color: white;
  width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(16,24,40,0.45);
  transform: translateY(4px);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
  border: 1px solid rgba(255,255,255,0.06);
}

/* small pressed state */
.video-toggle[aria-pressed="true"]{
  transform: translateY(0);
  box-shadow: 0 6px 18px rgba(16,24,40,0.35);
  opacity: 0.98;
}

/* icon sizing */
.video-toggle .icon { width: 20px; height: 20px; color: white; }

/* fallback image appearance */
.video-fallback img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

/* Responsive tweaks */
@media (max-width: 640px) {
  .hero-card { padding: 10px; max-width: 92vw; }
  .video-toggle { width:44px; height:44px; }
}

/* -----------------------------
   CONTACT SECTION — Premium look
------------------------------*/

.section.contact {
  background: linear-gradient(180deg, #fcfcfd 0%, #f4f6f9 100%);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.section.contact::before {
  content: "";
  position: absolute;
  top: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(107,70,255,0.12), transparent 70%);
  filter: blur(60px);
  opacity: 0.8;
}

.section.contact::after {
  content: "";
  position: absolute;
  bottom: -100px;
  right: -100px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(90,139,255,0.1), transparent 70%);
  filter: blur(70px);
  opacity: 0.7;
}

.contact .wrap.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Left content (text + contact info) */
.contact h2 {
  font-size: 38px;
  font-weight: 800;
  margin-bottom: 8px;
}

.contact p.muted {
  font-size: 17px;
  margin-bottom: 26px;
  color: #6b7280;
}

.contact-info div {
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(15,23,36,0.05);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 16px;
  box-shadow: 0 12px 24px rgba(16,24,40,0.06);
  backdrop-filter: blur(8px);
  transform: translateX(-50px);
  opacity: 0;
  animation: slideFromLeft 0.8s cubic-bezier(.2,.9,.2,1) forwards;
}

.contact-info div:nth-child(2) {
  animation-delay: 0.15s;
}
.contact-info div:nth-child(3) {
  animation-delay: 0.3s;
}

.business-hours.card {
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(250,252,255,0.96));
  border: 1px solid rgba(15,23,36,0.05);
  border-radius: 16px;
  padding: 20px 22px;
  box-shadow: 0 18px 40px rgba(16,24,40,0.08);
  margin-top: 30px;
  transform: translateY(50px);
  opacity: 0;
  animation: fadeUp 0.8s cubic-bezier(.2,.9,.2,1) 0.45s forwards;
}

/* FORM card */
.contact-form.card {
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(15,23,36,0.06);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(16,24,40,0.08);
  padding: 30px;
  backdrop-filter: blur(12px);
  transform: translateX(50px);
  opacity: 0;
  animation: slideFromRight 0.8s cubic-bezier(.2,.9,.2,1) 0.2s forwards;
}

/* Floating labels */
.contact-form label {
  position: relative;
  display: block;
  margin-bottom: 22px;
}

.contact-form .label {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 14px;
  color: #6b7280;
  pointer-events: none;
  background: transparent;
  transition: all 0.25s ease;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 16px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,36,0.08);
  font-size: 15px;
  color: #0f1724;
  background: rgba(255,255,255,0.95);
  box-shadow: inset 0 1px 3px rgba(16,24,40,0.04);
  transition: all 0.25s ease;
  font-family: inherit;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--accent, #6b46ff);
  box-shadow: 0 0 0 3px rgba(107,70,255,0.1);
}

/* floating label active state */
.contact-form input:focus + .label,
.contact-form input:not(:placeholder-shown) + .label,
.contact-form textarea:focus + .label,
.contact-form textarea:not(:placeholder-shown) + .label {
  transform: translateY(-18px) scale(0.85);
  color: var(--accent, #6b46ff);
  background: #fff;
  padding: 0 4px;
}

.contact-form textarea {
  resize: vertical;
  min-height: 120px;
}

/* Submit button */
.contact-form .btn.btn-primary {
  background: linear-gradient(90deg, #6b46ff, #5a8bff);
  color: #fff;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-form .btn.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(107,70,255,0.2);
}

/* Animations */
@keyframes slideFromLeft {
  0% { opacity: 0; transform: translateX(-50px); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes slideFromRight {
  0% { opacity: 0; transform: translateX(50px); }
  100% { opacity: 1; transform: translateX(0); }
}

@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 900px) {
  .contact .wrap.two-col {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .contact h2 {
    font-size: 32px;
  }

  .contact-form.card,
  .business-hours.card,
  .contact-info div {
    transform: none;
    opacity: 1;
    animation: none;
  }

  .contact-form .btn.btn-primary {
    width: 100%;
  }
}

.contact .wrap.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center; /* ✅ ensures both columns align vertically in the middle */
  justify-content: center;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ----------------------------
  CONTACT — mobile responsiveness fixes
  Paste this after your existing contact styles
----------------------------*/

/* Base: ensure the container can shrink on narrow screens */
.contact .wrap.two-col {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 18px;
  box-sizing: border-box;
}

/* Mobile-first stacking for small screens */
@media (max-width: 900px) {
  .contact .wrap.two-col {
    display: grid;
    grid-template-columns: 1fr;    /* single column */
    gap: 28px;                     /* breathing room between stacked blocks */
    align-items: start;            /* left content first on top */
    justify-items: stretch;
  }

  /* Make left/info column full width and centered content */
  .contact .wrap.two-col > div:first-child {
    width: 100%;
    margin: 0 auto;
    text-align: left; /* keep left alignment for contact items, change if you want center */
  }

  /* Contact info cards: full width and consistent padding */
  .contact-info > div {
    width: 100%;
    margin: 0 0 12px;
    padding: 14px;
    border-radius: 12px;
    box-shadow: 0 10px 26px rgba(16,24,40,0.04);
  }

  /* Business hours card: full width */
  .business-hours.card {
    width: 100%;
    padding: 18px;
    margin-top: 6px;
  }

  /* Form card: full width and sits below the info */
  .contact-form.card {
    width: 100%;
    padding: 18px;
    box-shadow: 0 22px 48px rgba(16,24,40,0.06);
    border-radius: 14px;
    transform: none !important;   /* remove any translate animation that affected layout */
    opacity: 1 !important;
  }

  /* Make inputs use full width and comfortable touch sizes */
  .contact-form input,
  .contact-form textarea {
    padding: 14px;
    font-size: 15px;
    border-radius: 10px;
  }

  /* Floating labels still work — ensure placeholder remains a single space in HTML */
  .contact-form .label {
    left: 12px;
    top: 12px;
    font-size: 13px;
  }

  /* Submit button full width, comfortable touch area */
  .contact-form .btn.btn-primary {
    width: 100%;
    display: block;
    padding: 12px;
    margin-top: 4px;
    font-size: 15px;
    border-radius: 12px;
  }

  /* Reduce left column heading size for small screens */
  .contact h2 { font-size: 28px; margin-bottom: 8px; }
  .contact p.muted { font-size: 15px; }

  /* Slightly reduce overall padding for mobile */
  .section.contact { padding: 48px 0; }
}

/* Very small phones: tighten up spacing */
@media (max-width: 420px) {
  .contact .wrap.two-col { padding: 0 14px; gap: 20px; }
  .contact h2 { font-size: 24px; }
  .contact-form textarea { min-height: 110px; }
  .contact-form .label { font-size: 12px; left: 10px; top: 10px; }
  .contact-form input, .contact-form textarea { padding: 12px; font-size: 14px; }
  .contact-info > div { padding: 12px; }
}
/* -----------------------------
  DRIVERS — responsive fix & no horizontal scroll
  Paste after your existing drivers rules
-----------------------------*/

/* safety: prevent accidental horizontal overflow during transforms */
html, body { overflow-x: hidden; }

/* container improvements */
.drivers .wrap.two-col {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1.2fr 1fr; /* desktop */
  gap: 60px;
  align-items: center;              /* align columns vertically */
  overflow: visible;
}

/* ensure inner children do not create horizontal overflow while animating */
.drivers .wrap.two-col > * { min-width: 0; } /* important for flex/grid items */

/* earn-card safe sizing */
.earn-card {
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
}

/* remove any transform that might push outside viewport on small screens */
@media (max-width: 960px) {
  .drivers .wrap.two-col {
    grid-template-columns: 1fr;  /* stack */
    gap: 36px;
    align-items: start;          /* left (text) on top) */
    justify-items: stretch;
  }

  /* keep left content full width */
  .drivers .wrap.two-col > div:first-child {
    width: 100%;
    margin: 0 auto;
  }

  /* dashboard below the text and centered */
  .dashboard-preview {
    width: 100%;
    max-width: 720px;    /* allow wider on tablet */
    justify-self: center;
    transform: none !important;  /* prevent leftover translateX causing overflow */
    animation: slideInBottom 0.9s cubic-bezier(.2,.9,.2,1) .15s both;
  }

  /* earn-card responsive appearance */
  .earn-card {
    max-width: 560px;
    margin: 0 auto;
    padding: 22px;
  }

  /* reduce font sizes/spacing to fit smaller screens */
  .drivers h2 { font-size: 30px; line-height:1.12; }
  .drivers .muted { font-size: 15px; }
  .benefits li { font-size: 15px; padding-left: 24px; }
}

/* ensure transforms used for desktop animations don't create horizontal scroll
   when items are off-screen during the animation. Clips overflow visually
   but keeps animation visible. */
.drivers,
.drivers .wrap,
.drivers .two-col,
.earn-card {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
}

/* optional: a gentle slide-in-from-bottom for mobile dashboard */
@keyframes slideInBottom {
  0% { opacity: 0; transform: translateY(40px) scale(.98); }
  60% { opacity: 1; transform: translateY(-8px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Accessibility: prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .dashboard-preview, .earn-card, .drivers .wrap.two-col > div:first-child {
    animation: none !important;
    transform: none !important;
    transition: none !important;
  }
}


/* ---------- Fix: remove unwanted inner scrollbar from dashboard card ---------- */
/* keep box-sizing predictable */
.earn-card, .dashboard-preview, .dashboard-preview * {
  box-sizing: border-box;
}

/* Ensure the card expands naturally and never forces an inner scroll.
   Remove any fixed heights and allow content to wrap. */
.earn-card {
  width: 100%;
  max-width: 560px;        /* keep card limited on large screens */
  min-width: 0;            /* prevents grid children from forcing overflow */
  padding: 22px;
  overflow: hidden;        /* no internal scrolling */
  -webkit-overflow-scrolling: auto;
}

/* Ensure the inner blocks wrap instead of causing overflow */
.earn-card .stats,
.earn-card .request {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* Make request area wrap text and keep the accept button pinned to the right on wide screens */
.earn-card .request {
  justify-content: space-between;
  align-items: center;
  white-space: normal;     /* allow wrapping if needed */
}

/* Button sizing so it doesn't force overflow */
.earn-card .request .btn.accept {
  flex: 0 0 auto;
  margin-left: 12px;
}

/* On narrow screens stack stats/request vertically so nothing overflows */
@media (max-width: 520px) {
  .earn-card .stats {
    width: 100%;
    justify-content: flex-start;
  }
  .earn-card .request {
    width: 100%;
    margin-top: 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .earn-card .request .btn.accept {
    margin-left: 0;
    align-self: flex-end; /* keep it to the right but inside the card */
  }
}

/* Hide native scrollbar visually for this card (non-destructive) */
.dashboard-preview,
.earn-card {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.dashboard-preview::-webkit-scrollbar,
.earn-card::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Edge */
}

/* -----------------------------
   CTA SECTION — Responsive fix & remove vertical scroll
------------------------------*/

/* Ensure no accidental overflow */
.section.cta,
.section.cta * {
  box-sizing: border-box;
}

.section.cta {
  position: relative;
  overflow: hidden; /* ✅ Prevent vertical or horizontal scrollbar */
  padding: 100px 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%);
}

/* Center content cleanly */
.section.cta .wrap.center {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  overflow: hidden; /* ✅ No internal scrollbars */
}

/* Headline & text */
.section.cta h2 {
  font-size: 40px;
  line-height: 1.2;
  margin-bottom: 12px;
}
.section.cta p.muted {
  font-size: 18px;
  margin-bottom: 40px;
  color: #6b7280;
}

/* Call-to-action buttons */
.section.cta .hero-ctas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 50px;
}
.section.cta .btn {
  min-width: 160px;
  font-size: 16px;
  border-radius: 12px;
  padding: 12px 22px;
}

/* Metrics cards */
.section.cta .metrics {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 40px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 18px;
  padding: 24px 20px;
  box-shadow: 0 10px 28px rgba(107, 70, 255, 0.08);
  overflow: hidden; /* ✅ Prevent inner scrollbars */
}
.section.cta .metrics div {
  text-align: center;
  min-width: 120px;
}
.section.cta .metrics strong {
  display: block;
  font-size: 28px;
  color: var(--accent, #6b46ff);
}
.section.cta .metrics .muted {
  color: #6b7280;
  font-size: 15px;
}

/* Animation (optional premium fade-up) */
@keyframes fadeUpCTA {
  0% { opacity: 0; transform: translateY(40px) scale(0.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.section.cta h2,
.section.cta p.muted,
.section.cta .hero-ctas,
.section.cta .metrics {
  opacity: 0;
  animation: fadeUpCTA 0.8s cubic-bezier(.2,.9,.2,1) forwards;
}
.section.cta h2 { animation-delay: 0.1s; }
.section.cta p.muted { animation-delay: 0.2s; }
.section.cta .hero-ctas { animation-delay: 0.3s; }
.section.cta .metrics { animation-delay: 0.4s; }

/* Responsive layout */
@media (max-width: 900px) {
  .section.cta {
    padding: 70px 0;
  }
  .section.cta h2 {
    font-size: 30px;
  }
  .section.cta p.muted {
    font-size: 16px;
  }
  .section.cta .metrics {
    flex-direction: column;
    gap: 24px;
    padding: 20px;
  }
}

/* About section styles — drop into styles.css or include separately */

/* container */
.about-section { padding: 72px 0; background: linear-gradient(180deg,#fbfdff,#ffffff); }
.about-section .container { max-width: 1150px; margin: 0 auto; padding: 0 20px; }

/* header */
.about-header { text-align: left; margin-bottom: 28px; }
.about-header h2 { font-size: 36px; margin: 0 0 6px; letter-spacing: -0.4px; }
.about-header .lead { color: #6b7280; font-size: 16px; max-width: 800px; }

/* grid */
.about-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}

/* cards */
.about-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,252,255,0.98));
  border: 1px solid rgba(15,23,36,0.04);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 18px 48px rgba(16,24,40,0.06);
  transform-origin: center;
  overflow: hidden;
  opacity: 0;
  transform: translateY(22px) scale(.995);
  animation: cardIn 700ms cubic-bezier(.16,.84,.3,1) forwards;
}

/* staggered animation delays */
.about-grid .about-card:nth-child(1){ animation-delay: 0.08s; }
.about-grid .about-card:nth-child(2){ animation-delay: 0.18s; }
.about-grid .about-card:nth-child(3){ animation-delay: 0.28s; }
.about-grid .about-card:nth-child(4){ animation-delay: 0.38s; }

/* headings inside cards */
.about-card h3 { margin: 0 0 10px; font-size: 20px; }
.about-card p { color: #4b5563; line-height: 1.6; margin: 0 0 12px; }
.about-card h4 { margin: 10px 0 6px; font-size: 16px; }

/* features list */
.features ul { list-style: none; padding: 0; margin: 6px 0 0; display:block; }
.features li { padding: 12px 0; border-bottom: 1px dashed rgba(15,23,36,0.03); display:flex; gap:12px; align-items:flex-start; }
.features li strong { display:block; min-width: 160px; font-weight:700; color:#111827; }
.features li span { color:#6b7280; font-size:14px; }

/* Team */
.team-grid { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.member { width: calc(33.333% - 8px); background:transparent; border-radius:12px; text-align:center; padding:10px; display:flex; flex-direction:column; gap:10px; align-items:center; }
.member img { width:96px; height:96px; object-fit:cover; border-radius:999px; box-shadow: 0 10px 30px rgba(16,24,40,0.06); border:1px solid rgba(15,23,36,0.03); transition: transform .28s cubic-bezier(.2,.9,.2,1); }
.member:hover img { transform: translateY(-6px) scale(1.03); }
.member figcaption strong { display:block; margin-top:4px; font-size:15px; }
.member .role { font-size:13px; color:#6b7280; }

/* CTA card */
.cta { display:flex; flex-direction:column; gap:12px; justify-content:center; text-align:left; }
.cta .muted { color:#6b7280; }
.cta-actions { display:flex; gap:12px; margin-top:6px; }
.btn { display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:700; }
.btn-primary { background: linear-gradient(90deg,#6b46ff,#5a8bff); color:#fff; box-shadow:0 12px 36px rgba(107,70,255,0.12); }
.btn-outline { border:1px solid rgba(15,23,36,0.06); background:transparent; color:#111827; }

/* animations */
@keyframes cardIn {
  0% { opacity: 0; transform: translateY(28px) scale(.995); }
  60% { opacity: 1; transform: translateY(-6px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* small responsive tweaks */
@media (max-width: 980px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-header { text-align:center; }
  .team-grid { gap:16px; }
  .member { width: calc(33.333% - 8px); }
  .about-card { padding:18px; }
  .about-header .lead { margin: 0 auto 16px; max-width: 520px; }
  .cta { text-align:center; align-items:center; }
  .cta-actions { justify-content:center; }
}

/* very small screens: ensure team stacks nicely */
@media (max-width:520px) {
  .member { width: 48%; }
  .member img { width:84px;height:84px; }
}

/* accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
  .about-card { animation: none; opacity: 1; transform:none }
  .member img { transition: none; }
}


/* About section styles — drop into styles.css or include separately */

/* container */
.about-section { padding: 72px 0; background: linear-gradient(180deg,#fbfdff,#ffffff); }
.about-section .container { max-width: 1150px; margin: 0 auto; padding: 0 20px; }

/* header */
.about-header { text-align: left; margin-bottom: 28px; }
.about-header h2 { font-size: 36px; margin: 0 0 6px; letter-spacing: -0.4px; }
.about-header .lead { color: #6b7280; font-size: 16px; max-width: 800px; }

/* grid */
.about-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}

/* cards */
.about-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,252,255,0.98));
  border: 1px solid rgba(15,23,36,0.04);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 18px 48px rgba(16,24,40,0.06);
  transform-origin: center;
  overflow: hidden;
  opacity: 0;
  transform: translateY(22px) scale(.995);
  animation: cardIn 700ms cubic-bezier(.16,.84,.3,1) forwards;
}

/* staggered animation delays */
.about-grid .about-card:nth-child(1){ animation-delay: 0.08s; }
.about-grid .about-card:nth-child(2){ animation-delay: 0.18s; }
.about-grid .about-card:nth-child(3){ animation-delay: 0.28s; }
.about-grid .about-card:nth-child(4){ animation-delay: 0.38s; }

/* headings inside cards */
.about-card h3 { margin: 0 0 10px; font-size: 20px; }
.about-card p { color: #4b5563; line-height: 1.6; margin: 0 0 12px; }
.about-card h4 { margin: 10px 0 6px; font-size: 16px; }

/* features list */
.features ul { list-style: none; padding: 0; margin: 6px 0 0; display:block; }
.features li { padding: 12px 0; border-bottom: 1px dashed rgba(15,23,36,0.03); display:flex; gap:12px; align-items:flex-start; }
.features li strong { display:block; min-width: 160px; font-weight:700; color:#111827; }
.features li span { color:#6b7280; font-size:14px; }

/* Team */
.team-grid { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
.member { width: calc(33.333% - 8px); background:transparent; border-radius:12px; text-align:center; padding:10px; display:flex; flex-direction:column; gap:10px; align-items:center; }
.member img { width:96px; height:96px; object-fit:cover; border-radius:999px; box-shadow: 0 10px 30px rgba(16,24,40,0.06); border:1px solid rgba(15,23,36,0.03); transition: transform .28s cubic-bezier(.2,.9,.2,1); }
.member:hover img { transform: translateY(-6px) scale(1.03); }
.member figcaption strong { display:block; margin-top:4px; font-size:15px; }
.member .role { font-size:13px; color:#6b7280; }

/* CTA card */
.cta { display:flex; flex-direction:column; gap:12px; justify-content:center; text-align:left; }
.cta .muted { color:#6b7280; }
.cta-actions { display:flex; gap:12px; margin-top:6px; }
.btn { display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; font-weight:700; }
.btn-primary { background: linear-gradient(90deg,#6b46ff,#5a8bff); color:#fff; box-shadow:0 12px 36px rgba(107,70,255,0.12); }
.btn-outline { border:1px solid rgba(15,23,36,0.06); background:transparent; color:#111827; }

/* animations */
@keyframes cardIn {
  0% { opacity: 0; transform: translateY(28px) scale(.995); }
  60% { opacity: 1; transform: translateY(-6px) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* small responsive tweaks */
@media (max-width: 980px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-header { text-align:center; }
  .team-grid { gap:16px; }
  .member { width: calc(33.333% - 8px); }
  .about-card { padding:18px; }
  .about-header .lead { margin: 0 auto 16px; max-width: 520px; }
  .cta { text-align:center; align-items:center; }
  .cta-actions { justify-content:center; }
}

/* very small screens: ensure team stacks nicely */
@media (max-width:520px) {
  .member { width: 48%; }
  .member img { width:84px;height:84px; }
}

/* accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
  .about-card { animation: none; opacity: 1; transform:none }
  .member img { transition: none; }
}

/* ===========================
   Scroll-reveal CSS (drop-in)
   =========================== */

/* base reveal state (hidden) */
.reveal {
  opacity: 0;
  transform: translateY(28px) scale(.996);
  will-change: transform, opacity;
  transition-property: opacity, transform;
  transition-duration: 720ms;
  transition-timing-function: cubic-bezier(.2,.9,.2,1);
  transition-delay: 0s;
  pointer-events: auto;
}

/* revealed state */
.reveal.in-view {
  opacity: 1;
  transform: none;
  transition-duration: 720ms;
  transition-timing-function: cubic-bezier(.16,.84,.3,1);
}

/* Slightly faster micro items */
.reveal.small {
  transition-duration: 560ms;
}

/* Groups where children are staggered (we add inline delays via JS) */
.reveal-group > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 560ms cubic-bezier(.2,.9,.2,1),
              transform 560ms cubic-bezier(.2,.9,.2,1);
}

/* when parent is in view, children become visible — JS sets per-child delays */
.reveal-group.in-view > * {
  opacity: 1;
  transform: none;
}

/* utility to reduce the transform slightly for larger elements */
.reveal.large { transform: translateY(36px) scale(.996); }

/* small hover polish (desktop only) */
@media (hover: hover) and (pointer: fine) {
  .reveal:not(.reveal-group):hover,
  .reveal.in-view:hover {
    transform: translateY(-6px) scale(1.01);
    transition-duration: 250ms;
    box-shadow: 0 30px 80px rgba(16,24,40,0.06);
  }
}

/* Respect users who prefer reduced motion: reveal everything instantly */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-group,
  .reveal-group > * {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
