  :root{
    --bg:#F8F1DE;
    --card:#FFFFFF;
    --ink:#191A1E;
    --ink-dim:#5B5E66;
    --ink-faint:#8B8D93;
    --line:rgba(20,20,25,0.09);
    --line-strong:rgba(20,20,25,0.14);
    --brand-dark:#274A1D;
    --brand-light:#8CC63F;
    --ink-soft:#3A3D44;
    --shadow: 0 20px 50px -18px rgba(20,20,30,0.18);
    --radius:22px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;}
  .wrap{max-width:1140px; margin:0 auto; padding:0 28px;}
  .heading{font-family:'Space Grotesk', sans-serif;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  :focus-visible{outline:2px solid var(--brand-light); outline-offset:3px; border-radius:4px;}

  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(247,245,239,0.82); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:18px 28px;}
  .logo{display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; font-family:'Space Grotesk',sans-serif; letter-spacing:1.5px; text-transform:uppercase; color:var(--brand-dark);}
  .logo-mark{height:38px; width:auto; flex-shrink:0; display:block;}
  nav.links{display:flex; gap:30px; font-size:14.5px; color:var(--ink-dim); font-weight:500;}
  nav.links a{text-decoration:none; transition:color .2s;}
  nav.links a:hover{color:var(--ink);}
  .nav-cta{
    background:var(--ink); color:#fff; font-weight:600; font-size:14px;
    padding:10px 18px; border-radius:100px; text-decoration:none; border:none; cursor:pointer;
    transition:transform .15s ease;
  }
  .nav-cta:hover{transform:translateY(-1px);}
  @media (max-width:760px){ nav.links{display:none;} }
  @media (max-width:760px){ .nav-cta{display:none;} }

  .nav-hamburger{
    display:none; align-items:center; justify-content:center; gap:5px; flex-direction:column;
    width:46px; height:46px; border-radius:100px; background:#fff; border:1px solid var(--line);
    box-shadow:0 2px 10px rgba(20,30,20,0.10); cursor:pointer; flex-shrink:0; padding:0;
  }
  .nav-hamburger span{display:block; width:20px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media (max-width:760px){ .nav-hamburger{display:flex;} }

  .mobile-menu{
    display:none; flex-direction:column; background:#fff; border-top:1px solid var(--line);
    padding:6px 28px 14px;
  }
  .mobile-menu a{
    padding:14px 0; text-decoration:none; color:var(--ink); font-weight:500; font-size:15.5px;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu a:last-child{border-bottom:none;}
  .mobile-menu.open{display:flex;}
  @media (min-width:761px){ .mobile-menu{display:none !important;} }
  .mobile-menu .mobile-menu-cta{
    display:block; text-align:center; background:var(--ink); color:#fff !important; font-weight:600;
    padding:13px 0 !important; border-radius:100px; border-bottom:none !important; margin:10px 0 4px;
  }

  .hero{padding:64px 0 30px;}
  .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center;}
  @media (max-width:940px){ .hero-grid{grid-template-columns:1fr;} }

  .pill{
    display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
    color:var(--ink-dim); background:var(--card); border:1px solid var(--line-strong);
    padding:7px 15px; border-radius:100px; margin-bottom:22px; font-family:'IBM Plex Mono',monospace;
    box-shadow:0 2px 8px rgba(20,20,30,0.04);
  }
  .pill .dot{width:6px; height:6px; border-radius:50%; background:var(--brand-dark); animation:pulse 2s infinite;}
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(39,74,29,0.5);} 70%{box-shadow:0 0 0 7px rgba(39,74,29,0);} 100%{box-shadow:0 0 0 0 rgba(39,74,29,0);}
  }

  h1.hero-head{
    font-family:'Space Grotesk',sans-serif; font-size:clamp(32px,4.4vw,52px); line-height:1.08;
    font-weight:700; margin:0 0 20px; letter-spacing:-0.01em;
  }
  .hero-sub{font-size:16.5px; line-height:1.65; color:var(--ink-dim); max-width:460px; margin:0 0 30px;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:30px;}
  .btn-primary{
    background:var(--ink); color:#fff; font-weight:600; font-size:15px;
    padding:14px 24px; border-radius:100px; text-decoration:none; border:none; cursor:pointer;
    transition:transform .15s ease, box-shadow .2s ease; font-family:inherit;
  }
  .btn-primary:hover{transform:translateY(-1px); box-shadow:0 12px 24px rgba(20,20,30,0.18);}
  .btn-ghost{
    background:transparent; color:var(--ink); font-weight:600; font-size:15px;
    padding:14px 22px; border-radius:100px; text-decoration:none; border:1px solid var(--line-strong); cursor:pointer;
    transition:border-color .2s ease, background .2s ease; font-family:inherit;
  }
  .btn-ghost:hover{border-color:var(--ink);}
  .trust-row{display:flex; gap:22px; align-items:center; color:var(--ink-faint); font-size:13px; flex-wrap:wrap; font-weight:500;}

  /* HERO CARD — matches original + adds live flip/odometer */
  .rate-card{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 28px 24px; box-shadow:var(--shadow); position:relative;
  }
  .rate-card-top{text-align:center; margin-bottom:4px;}
  .rate-card-top h3{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; margin:0 0 4px;}
  .rate-card-top .sub{font-size:13.5px; color:var(--ink-faint); font-weight:500;}

  .flip-stage{margin:22px 0 8px; position:relative; perspective:800px;}
  .flip-row{
    display:flex; align-items:center; justify-content:center; gap:10px;
    padding:14px 10px; border-radius:14px; font-size:22px; font-weight:600;
    transition:opacity .5s ease, transform .5s ease;
    font-family:'IBM Plex Mono',monospace;
  }
  .flip-row.dim{opacity:0.32; transform:scale(0.97);}
  .flip-row.active{opacity:1; background:rgba(140,198,63,0.10); border:1px solid rgba(140,198,63,0.3);}
  .flip-row .arrow{color:var(--brand-light); font-size:18px;}
  .flip-row.active .arrow{color:var(--brand-light);}

  .amount{display:flex; align-items:baseline;}
  .amount .sym{color:var(--brand-light); font-size:0.8em; margin-right:2px;}
  .digit-reel{display:inline-block; height:1em; overflow:hidden; position:relative; width:0.62em; vertical-align:baseline;}
  .digit-reel .strip{display:flex; flex-direction:column; transition:transform .55s cubic-bezier(.22,1,.36,1); will-change:transform;}
  .digit-reel .strip span{height:1em; line-height:1; display:flex; align-items:baseline;}
  .static-ch{display:inline-block;}

  .smart-routing{text-align:center; margin:16px 0 18px; color:var(--ink-dim); font-size:13.5px;}
  .smart-routing b{color:var(--ink); font-weight:600;}

  .tags-row{display:flex; justify-content:center; gap:22px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-dim); font-weight:500;}
  .tags-row span{display:flex; align-items:center; gap:6px;}
  .tags-row .check{color:var(--brand-dark); font-weight:700;}
  .tags-row .bolt{color:var(--brand-light);}

  section{padding:84px 0;}
  .section-head{max-width:640px; margin:0 auto 48px;}
  .section-head.center{text-align:center;}
  .kicker{font-size:13px; color:var(--brand-light); font-weight:700; letter-spacing:0.4px; text-transform:uppercase; margin-bottom:10px; display:block;}
  h2{font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,3.1vw,36px); font-weight:700; margin:0 0 14px; letter-spacing:-0.01em;}
  .section-sub{color:var(--ink-dim); font-size:16px; line-height:1.6;}

  .broken{
    background:var(--card); border:1px solid var(--line); border-radius:24px; padding:48px;
    display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; box-shadow:var(--shadow);
  }
  @media (max-width:820px){ .broken{grid-template-columns:1fr;} }
  .route-art{
    aspect-ratio:4/3; border-radius:16px; position:relative; overflow:hidden;
    background:linear-gradient(150deg,#101828,#1C2B3A);
  }
  .route-art .path{position:absolute; inset:0;}
  .route-art .city{position:absolute; width:10px; height:10px; border-radius:50%; background:var(--brand-light); box-shadow:0 0 14px rgba(140,198,63,0.7);}
  .route-art .city.a{top:34%; left:20%;}
  .route-art .city.b{top:58%; left:78%;}
  .route-art .line{position:absolute; top:34%; left:20%; width:58%; height:1px; background:repeating-linear-gradient(90deg, rgba(255,255,255,0.35) 0 6px, transparent 6px 12px); transform-origin:left center; transform:rotate(18deg);}
  .route-art .pulse-dot{position:absolute; width:8px; height:8px; border-radius:50%; background:#fff; top:34%; left:20%; animation:fly 3.2s linear infinite;}
  @keyframes fly{
    0%{transform:translate(0,0); opacity:0;}
    10%{opacity:1;}
    90%{opacity:1;}
    100%{transform:translate(300px,150px); opacity:0;}
  }

  .persona-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:860px){ .persona-grid{grid-template-columns:1fr;} }
  .persona{background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow);}
  .persona .art{height:150px; background:linear-gradient(135deg,#EFE8D8,#E4DCC6); position:relative;}
  .persona .art.a{background:linear-gradient(135deg,#E8D9C3,#D9C6A3);}
  .persona .art.b{background:linear-gradient(135deg,#D7E4DA,#B9D2C0);}
  .persona .art.c{background:linear-gradient(135deg,#E3DCEF,#C9BADD);}
  .persona-photo{height:230px; position:relative; overflow:hidden; background:var(--bg);}
  .persona-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.1s ease;}
  .persona-photo img.active{opacity:1;}
  .persona-banner{width:100%; border-radius:22px; overflow:hidden; margin:36px 0 8px; box-shadow:var(--shadow);}
  .persona-banner img{width:100%; height:auto; display:block;}
  .persona-body{padding:22px 22px 24px;}
  .persona h3{font-family:'Space Grotesk',sans-serif; font-size:18px; margin:0 0 8px; font-weight:700;}
  .persona p{color:var(--ink-dim); font-size:14.5px; line-height:1.6; margin:0 0 14px;}
  .mini-tags{display:flex; gap:8px; flex-wrap:wrap;}
  .mini-tags span{font-size:11px; font-weight:700; letter-spacing:0.3px; color:var(--ink-dim); background:var(--bg); border:1px solid var(--line-strong); padding:5px 10px; border-radius:100px;}

  .features{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  @media (max-width:860px){ .features{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .features{grid-template-columns:1fr;} }
  .feature{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:26px 22px; box-shadow:var(--shadow);}
  .feature .icon{width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-weight:700; font-family:'Space Grotesk',sans-serif;}
  .feature h3{font-size:16px; margin:0 0 8px; font-weight:700; font-family:'Space Grotesk',sans-serif;}
  .feature p{color:var(--ink-dim); font-size:13.8px; line-height:1.6; margin:0;}

  .waitlist{
    background:linear-gradient(135deg,#191A1E,#2B2E36); color:#fff; border-radius:26px; padding:56px; text-align:center; position:relative; overflow:hidden;
  }
  .waitlist::after{content:""; position:absolute; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle, rgba(140,198,63,0.22), transparent 70%); top:-140px; right:-90px;}
  .waitlist h2{color:#fff;}
  .waitlist .section-sub{color:#C7C9D1; max-width:440px; margin:0 auto 30px;}
  .waitlist .btn-primary{background:var(--brand-light); color:#12240D;}
  .waitlist .btn-primary:hover{box-shadow:0 12px 24px rgba(140,198,63,0.3);}
  .fine{color:#9A9CA6; font-size:13px; margin-top:16px;}
  .wl-msg{margin-top:14px; font-size:14px; color:#7FD9A6; min-height:20px; font-family:'IBM Plex Mono',monospace;}

  footer{padding:48px 0 40px; border-top:1px solid var(--line);}
  .footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px;}
  @media (max-width:700px){ .footer-grid{grid-template-columns:1fr; gap:28px;} }
  .footer-grid p{color:var(--ink-dim); font-size:14px; line-height:1.6; max-width:320px;}
  .footer-grid h4{font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:0.6px; color:var(--ink); margin:0 0 14px;}
  .footer-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; font-size:14px; color:var(--ink-dim);}
  .footer-grid ul a{text-decoration:none;}
  .footer-grid ul a:hover{color:var(--ink);}
  .footer-grid ul li{display:flex; align-items:center; gap:10px;}
  .footer-grid ul li a{display:flex; align-items:center; gap:10px;}
  .footer-grid ul li svg{flex-shrink:0; width:16px; height:16px; color:var(--brand-dark);}
  .footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-faint);}
  .footer-bottom a{text-decoration:none; margin-left:18px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

/* ---- Additional styles for content pages (About, Mission, Careers, Legal) ---- */
.page-hero{padding:56px 0 20px;}
.page-hero h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(30px,4vw,44px); font-weight:700; margin:0 0 14px; letter-spacing:-0.01em;}
.page-hero p{color:var(--ink-dim); font-size:16.5px; line-height:1.6; max-width:640px;}
.page-featured-image{width:100%; max-height:360px; object-fit:cover; border-radius:var(--radius); margin:28px 0; box-shadow:var(--shadow);}
.page-content{font-size:16px; line-height:1.75; color:var(--ink-soft); max-width:760px;}
.page-content p{margin:0 0 18px;}
.page-content h2, .page-content h3{font-family:'Space Grotesk',sans-serif; margin:32px 0 14px;}
.page-content img{max-width:100%; border-radius:14px;}
.page-content a{color:var(--brand-dark); font-weight:600;}

.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px;}
@media (max-width:820px){ .team-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .team-grid{grid-template-columns:1fr;} }
.team-card{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:22px; text-align:center; box-shadow:var(--shadow);}
.team-card img{width:84px; height:84px; border-radius:50%; object-fit:cover; margin:0 auto 14px; display:block; background:var(--bg);}
.team-card h3{font-family:'Space Grotesk',sans-serif; font-size:16px; margin:0 0 4px;}
.team-card .role{color:var(--brand-dark); font-size:13px; font-weight:600; margin-bottom:10px;}
.team-card p{color:var(--ink-dim); font-size:13.5px; line-height:1.6; margin:0;}
.team-card .team-linkedin{
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  background:var(--ink); color:#fff; margin-top:16px; transition:background .2s ease, transform .2s ease;
}
.team-card .team-linkedin:hover{background:var(--brand-dark); transform:translateY(-2px);}

.job-list{display:flex; flex-direction:column; gap:16px; margin-top:24px;}
.job-card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px 26px; box-shadow:var(--shadow); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
.job-card h3{font-family:'Space Grotesk',sans-serif; font-size:17px; margin:0 0 6px;}
.job-meta{color:var(--ink-faint); font-size:13px; font-weight:500;}
.job-desc{color:var(--ink-dim); font-size:14px; line-height:1.6; margin-top:10px; max-width:600px;}
.job-apply{white-space:nowrap;}
.empty-note{color:var(--ink-dim); font-size:15px; padding:20px 0;}

/* ---- Expanded waitlist form ---- */
.wl-form{display:flex; gap:10px; max-width:520px; margin:0 auto; flex-wrap:wrap; justify-content:center; position:relative; z-index:1;}
.wl-form input, .wl-form select{
  flex:1; min-width:200px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2); color:#fff;
  padding:14px 18px; border-radius:100px; font-size:15px; font-family:inherit;
}
.wl-form select{color:#C7C9D1; -webkit-appearance:none; appearance:none;}
.wl-form select option{color:#191A1E;}
.wl-form input::placeholder{color:rgba(255,255,255,0.55);}
.wl-form button{flex:0 0 auto;}

/* ---- Partner With Us CTA + form ---- */
.partner-cta{
  margin-top:40px; padding-top:40px; border-top:1px solid var(--line); max-width:640px;
}
.partner-form{display:flex; flex-direction:column; gap:12px; margin-top:22px;}
.pf-row{display:flex; gap:12px; flex-wrap:wrap;}
.pf-row input{flex:1; min-width:220px;}
.partner-form input, .partner-form textarea{
  padding:13px 16px; border-radius:12px; border:1px solid var(--line-strong); font-size:14.5px; font-family:inherit; background:var(--card);
}
.partner-form textarea{min-height:100px; resize:vertical;}
.partner-form button{align-self:flex-start;}
.pf-msg{margin-top:12px; font-size:14px; color:var(--brand-dark); font-family:'IBM Plex Mono',monospace; min-height:20px;}

/* ---- Dedicated Waitlist ("Get Early Access") page ---- */
.ea-wrap{padding:56px 0 80px; max-width:640px; margin:0 auto;}
.ea-wrap h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,3.6vw,38px); font-weight:700; margin:0 0 28px;}
.ea-benefits h2{font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; margin:0 0 16px;}
.ea-benefits ul{list-style:none; padding:0; margin:0 0 40px; display:flex; flex-direction:column; gap:12px;}
.ea-benefits ul li{position:relative; padding-left:22px; color:var(--ink-dim); font-size:15.5px; line-height:1.6;}
.ea-benefits ul li::before{content:"•"; position:absolute; left:0; color:var(--brand-dark); font-weight:700;}
.ea-form{display:flex; flex-direction:column; gap:20px;}
.ea-field label{display:block; font-size:14px; font-weight:600; margin-bottom:8px;}
.ea-field input{width:100%; padding:14px 16px; border-radius:12px; border:1px solid var(--line-strong); font-size:15px; font-family:inherit; background:var(--card);}
.ea-checkbox-group{display:flex; flex-direction:column; gap:14px;}
.ea-checkbox-option{display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:1px solid var(--line-strong); border-radius:12px; cursor:pointer; background:var(--card);}
.ea-checkbox-option input{width:18px; height:18px; margin-top:2px; flex-shrink:0;}
.ea-checkbox-option .opt-title{font-weight:600; font-size:14.5px;}
.ea-checkbox-option .opt-sub{color:var(--ink-faint); font-size:13px;}
.ea-privacy-note{color:var(--ink-faint); font-size:13.5px;}
.ea-submit{width:100%; text-align:center; padding:16px; font-size:16px; border-radius:12px;}
.ea-msg{min-height:20px; font-size:14px; color:var(--brand-dark); font-family:'IBM Plex Mono',monospace;}

/* ---- Dedicated Partner page ---- */
.partner-page-wrap{padding:56px 0 80px;}
.partner-page-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start;}
@media (max-width:900px){ .partner-page-grid{grid-template-columns:1fr;} }
.partner-page-form h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,3.2vw,34px); font-weight:700; margin:0 0 28px;}
.partner-page-info{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:34px; box-shadow:var(--shadow); position:sticky; top:24px;}
.partner-page-info h2{font-family:'Space Grotesk',sans-serif; font-size:21px; font-weight:700; margin:0 0 18px;}
.partner-page-info ul{list-style:none; padding:0; margin:0 0 24px; display:flex; flex-direction:column; gap:12px;}
.partner-page-info ul li{position:relative; padding-left:22px; color:var(--ink-dim); font-size:15px; line-height:1.6;}
.partner-page-info ul li::before{content:"•"; position:absolute; left:0; color:var(--brand-dark); font-weight:700;}
.partner-page-info .review-note{font-weight:700; font-size:15.5px; line-height:1.5;}

/* ---- "Get the App" section (App Store / Google Play badges + QR card) ---- */
.app-cta{padding:84px 0; background:var(--bg);}
.app-cta-inner{max-width:760px; margin:0 auto; text-align:center;}
.app-cta .pill{margin:0 auto 18px; display:inline-flex;}
.app-cta h2{margin-bottom:14px;}
.app-cta .section-sub{max-width:520px; margin:0 auto 34px;}

.store-badges{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:44px;}
.store-badge{
  display:flex; align-items:center; gap:12px; background:#12130F; color:#fff; text-decoration:none;
  padding:12px 22px; border-radius:14px; border:1px solid rgba(255,255,255,0.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.store-badge:hover{transform:translateY(-2px); box-shadow:0 12px 24px rgba(20,20,30,0.18);}
.store-badge .badge-icon{width:26px; height:26px; flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.store-badge .badge-text{text-align:left; line-height:1.2;}
.store-badge .badge-text .small{display:block; font-size:11px; color:#C7C9D1; text-transform:uppercase; letter-spacing:0.4px;}
.store-badge .badge-text .big{display:block; font-size:16.5px; font-weight:700; font-family:'Space Grotesk',sans-serif;}

.qr-card{
  background:var(--card); border:1px solid var(--line); border-radius:24px; padding:48px 40px; box-shadow:var(--shadow);
}
.qr-card h3{font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:700; margin:0 0 10px;}
.qr-card .qr-subtext{color:var(--ink-dim); font-size:15px; margin:0 0 28px;}
.qr-card .qr-box{
  width:220px; height:220px; margin:0 auto 22px; padding:14px; background:#fff; border:1px solid var(--line-strong);
  border-radius:16px; display:flex; align-items:center; justify-content:center;
}
.qr-card .qr-box img{width:100%; height:100%; object-fit:contain;}
.qr-card .qr-caption{color:var(--ink-faint); font-size:13px; margin:0; word-break:break-word;}

/* ---- "How RemitRova Works" step section ---- */
.steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:36px;}
@media (max-width:900px){ .steps-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .steps-grid{grid-template-columns:1fr;} }
.step{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:28px 24px; box-shadow:var(--shadow); position:relative;}
.step-num{
  width:36px; height:36px; border-radius:50%; background:var(--brand-dark); color:#fff; font-weight:700;
  font-family:'Space Grotesk',sans-serif; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:15px;
}
.step h3{font-family:'Space Grotesk',sans-serif; font-size:16.5px; margin:0 0 8px;}
.step p{color:var(--ink-dim); font-size:14px; line-height:1.6; margin:0;}

/* ---- Footer social icons ---- */
.social-row{display:flex; gap:10px; margin-top:18px;}
.social-icon{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--ink); color:#fff; transition:background .2s ease, transform .2s ease; box-shadow:0 2px 6px rgba(20,20,25,0.15);
}
.social-icon:hover{background:var(--brand-dark); transform:translateY(-2px);}
.social-label{font-size:12px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; color:var(--ink-faint); margin-top:24px; margin-bottom:2px;}

/* ---- "We're Here to Help" contact cards section ---- */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px;}
@media (max-width:820px){ .contact-cards{grid-template-columns:1fr;} }
.contact-card{
  background:var(--card); border:1px solid var(--line); border-radius:20px; padding:36px 28px; text-align:center; box-shadow:var(--shadow);
}
.contact-card .icon-circle{
  width:56px; height:56px; border-radius:50%; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
}
.contact-card h3{font-family:'Space Grotesk',sans-serif; font-size:18px; margin:0 0 10px;}
.contact-card a.contact-value{
  display:block; font-size:16px; font-weight:700; color:var(--brand-dark); text-decoration:none; margin-bottom:8px; word-break:break-word;
}
.contact-card a.contact-value:hover{ text-decoration:underline; }
.contact-card .contact-subtext{color:var(--ink-faint); font-size:13.5px;}

/* ---- Live two-way rate calculator (hero) ---- */
.calc-card{
  width:100%; max-width:400px; background:var(--card); border-radius:20px; overflow:hidden;
  box-shadow:0 1px 3px rgba(11,31,58,0.08), 0 20px 45px -18px rgba(20,20,30,0.28); border:1px solid var(--line);
}
.calc-header{
  background:var(--brand-dark); padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.calc-header h3{color:#fff; font-size:15px; font-weight:700; margin:0; font-family:'Space Grotesk',sans-serif;}
.calc-live{display:inline-flex; align-items:center; gap:6px; color:#C7EE8C; font-size:12px; font-weight:600;}
.calc-live .dot{width:7px; height:7px; border-radius:50%; background:var(--brand-light); display:inline-block; animation:calcPulse 2s infinite;}
@keyframes calcPulse{ 0%,100%{opacity:1;} 50%{opacity:0.35;} }

.calc-body{padding:22px;}

.calc-toggle{display:flex; background:var(--bg); border-radius:10px; padding:4px; margin-bottom:16px;}
.calc-toggle button{
  flex:1; border:none; background:transparent; padding:9px 8px; font-size:12.5px; font-weight:700; color:var(--ink-faint);
  border-radius:8px; cursor:pointer; transition:all .15s ease; font-family:inherit;
}
.calc-toggle button.active{background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(11,31,58,0.14);}

.calc-error{font-size:12px; color:#B3261E; text-align:center; margin-bottom:12px; display:none;}

.calc-field{margin-bottom:12px;}
.calc-field label{display:block; font-size:11px; font-weight:700; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.4px; margin-bottom:6px;}
.calc-input-row{
  display:flex; align-items:center; border:1.5px solid var(--line-strong); border-radius:10px; padding:10px 14px; transition:border-color .15s ease; background:#fff;
}
.calc-input-row:focus-within{border-color:var(--brand-dark);}
.calc-flag{font-size:19px; margin-right:9px;}
.calc-currency{font-size:13.5px; font-weight:800; color:var(--ink); margin-right:9px; white-space:nowrap;}
.calc-input-row input{
  border:none; outline:none; font-size:19px; font-weight:700; color:var(--ink); width:100%; background:transparent;
  text-align:right; font-family:'IBM Plex Mono',monospace; -moz-appearance:textfield;
}
.calc-input-row input::-webkit-outer-spin-button, .calc-input-row input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

.calc-swap-row{display:flex; align-items:center; justify-content:center; margin:2px 0 12px;}
.calc-line{flex:1; height:1px; background:var(--line);}
.calc-swap-btn{
  width:32px; height:32px; border-radius:50%; background:var(--bg); border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center; margin:0 10px; font-size:14px; color:var(--ink);
  cursor:pointer; padding:0; transition:background .15s ease, transform .2s ease;
}
.calc-swap-btn:hover{background:#EEF1F6;}
.calc-swap-btn:active{transform:rotate(180deg);}

.calc-rate-line{font-size:12.5px; color:var(--ink-faint); text-align:center; margin-bottom:16px; line-height:1.5;}
.calc-rate-line strong{color:var(--ink); font-weight:700;}

.calc-cta{width:100%; text-align:center; display:block; padding:13px; border-radius:10px; font-size:14.5px;}

.calc-footnote{margin-top:14px; font-size:11px; color:var(--ink-faint); text-align:center; line-height:1.5;}
.calc-footnote a{color:var(--ink-faint); text-decoration:underline;}

/* ---- Partner landing page: hero, intro, work-with grid, gain list, focus, compliance ---- */
.partner-hero{padding:64px 0 20px; text-align:center;}
.partner-hero h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(30px,4vw,44px); font-weight:700; margin:16px 0 14px; letter-spacing:-0.01em;}
.partner-hero .section-sub{max-width:600px; margin:0 auto;}
.partner-hero .pill{margin:0 auto;}

.route-flow{display:flex; align-items:center; justify-content:center; gap:14px; margin:40px auto 8px; flex-wrap:wrap;}
.route-chip{
  background:var(--card); border:1px solid var(--line-strong); border-radius:100px; padding:10px 20px; font-weight:700;
  font-size:14px; font-family:'IBM Plex Mono',monospace; box-shadow:var(--shadow); color:var(--ink);
}
.route-chip.accent{background:var(--brand-dark); color:#fff; border-color:var(--brand-dark);}
.route-arrow-flow{color:var(--ink-faint); font-size:18px;}

.intro-block{max-width:720px; margin:0 auto; text-align:center;}
.intro-block p{font-size:17px; line-height:1.7; color:var(--ink-dim);}

.work-with-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
@media (max-width:900px){ .work-with-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .work-with-grid{grid-template-columns:1fr;} }
.work-with-card{
  background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px 22px; box-shadow:var(--shadow);
  display:flex; align-items:flex-start; gap:14px;
}
.work-with-card .icon-circle{width:42px; height:42px; flex-shrink:0; font-size:16px;}
.work-with-card p{font-weight:600; font-size:14.5px; color:var(--ink); margin:0; line-height:1.5; padding-top:8px;}

.gain-list{max-width:680px; margin:36px auto 0; display:flex; flex-direction:column; gap:14px;}
.gain-item{
  display:flex; align-items:flex-start; gap:14px; background:var(--card); border:1px solid var(--line);
  border-radius:14px; padding:16px 20px; box-shadow:var(--shadow);
}
.gain-item .check-badge{
  width:26px; height:26px; border-radius:50%; background:var(--brand-dark); color:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; margin-top:1px;
}
.gain-item p{margin:0; font-size:15px; font-weight:600; color:var(--ink);}

.how-note{max-width:680px; margin:24px auto 0; text-align:center; font-size:14.5px; color:var(--ink-faint); line-height:1.6;}

.focus-block{max-width:680px; margin:0 auto; text-align:center;}
.focus-block p{font-size:17px; line-height:1.7; color:var(--ink-dim);}

.compliance-callout{
  max-width:760px; margin:0 auto; background:var(--brand-dark); color:#fff; border-radius:20px; padding:40px 44px; text-align:center;
}
.compliance-callout h2{color:#fff; margin-bottom:14px;}
.compliance-callout p{color:#D7E4CC; font-size:16px; line-height:1.7; margin:0;}

.partner-cta-banner{text-align:center; padding:8px 0;}
.partner-cta-banner h2{margin-bottom:14px;}

/* ---- Blog listing & single post ---- */
.blog-hero{padding:56px 0 20px;}
.blog-hero h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(30px,4vw,44px); font-weight:700; margin:0 0 14px;}
.blog-hero p{color:var(--ink-dim); font-size:16.5px; max-width:600px;}

.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
@media (max-width:900px){ .blog-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{
  background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow);
  display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:transform .18s ease, box-shadow .18s ease;
}
.blog-card:hover{transform:translateY(-3px); box-shadow:0 22px 40px -18px rgba(20,20,30,0.22);}
.blog-card .blog-card-img{height:170px; background:linear-gradient(135deg,#EFE8D8,#E4DCC6); overflow:hidden;}
.blog-card .blog-card-img img{width:100%; height:100%; object-fit:cover; display:block;}
.blog-card-body{padding:20px 22px 24px; display:flex; flex-direction:column; flex:1;}
.blog-category{
  display:inline-block; align-self:flex-start; background:rgba(140,198,63,0.14); color:var(--brand-dark);
  font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.4px; padding:5px 12px; border-radius:100px; margin-bottom:12px;
}
.blog-card h3{font-family:'Space Grotesk',sans-serif; font-size:17px; margin:0 0 10px; line-height:1.4;}
.blog-card p{color:var(--ink-dim); font-size:14px; line-height:1.6; margin:0 0 14px; flex:1;}
.blog-card-meta{font-size:12.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace;}

.blog-empty{color:var(--ink-dim); font-size:15px; padding:40px 0; text-align:center;}

/* Single post */
.post-hero{padding:56px 0 0;}
.post-category{margin-bottom:16px;}
.post-hero h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,4vw,42px); font-weight:700; margin:0 0 18px; line-height:1.25;}
.post-meta{color:var(--ink-faint); font-size:14px; margin-bottom:32px;}
.post-featured-image{width:100%; max-height:420px; object-fit:cover; border-radius:var(--radius,18px); margin-bottom:8px; box-shadow:var(--shadow);}
.post-content{font-size:16.5px; line-height:1.8; color:var(--ink-soft); max-width:760px; margin:0 auto;}
.post-content p{margin:0 0 20px;}
.post-content h2, .post-content h3{font-family:'Space Grotesk',sans-serif; margin:32px 0 14px;}
.post-content img{max-width:100%; border-radius:14px;}
.post-back-link{display:inline-block; margin-bottom:20px; color:var(--ink-dim); text-decoration:none; font-size:14px; font-weight:600;}
.post-back-link:hover{color:var(--ink);}
.post-cta{
  max-width:760px; margin:48px auto 0; background:var(--brand-dark); color:#fff; border-radius:18px; padding:32px 36px; text-align:center;
}
.post-cta h3{color:#fff; margin:0 0 10px; font-family:'Space Grotesk',sans-serif;}
.post-cta p{color:#D7E4CC; margin:0 0 20px; font-size:14.5px;}

/* ---- Language switcher ---- */
.lang-switch{display:flex; align-items:center; gap:2px; background:rgba(20,20,25,0.06); border-radius:100px; padding:3px; flex-shrink:0;}
.lang-switch a{
  padding:6px 12px; border-radius:100px; font-size:12.5px; font-weight:700; text-decoration:none; color:var(--ink-faint);
  letter-spacing:0.3px; transition:background .15s ease, color .15s ease;
}
.lang-switch a.active{background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(20,20,25,0.12);}
.lang-switch a:hover:not(.active){color:var(--ink);}
.mobile-menu .lang-switch{margin:14px 0 4px; justify-content:center; background:var(--bg);}
