/* =========================
   Base
========================= */
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, Arial, sans-serif; }

body{
  /* below fixed navbar */
  padding-top:72px; /* adjust to your header height */
  background:
    radial-gradient(650px 450px at 12% 78%, rgba(157,184,232,0.18) 0%, transparent 32%),
    radial-gradient(560px 360px at 88% 12%, rgba(150,180,220,0.16) 0%, transparent 30%),
    linear-gradient(180deg,#fbfdff 0%, #f3f6fb 100%);
  background-attachment: fixed;
  color:#031c3f;
  overflow-x:hidden;
}

.page{ max-width:1400px; margin:0 auto; padding:0 28px; position:relative; z-index:0; }

/* Responsive background scale */
@media (max-width:1200px){
  body{ background:
    radial-gradient(520px 360px at 12% 78%, rgba(157,184,232,0.18) 0%, transparent 32%),
    radial-gradient(440px 300px at 88% 12%, rgba(150,180,220,0.16) 0%, transparent 30%),
    linear-gradient(180deg,#fbfdff 0%, #f3f6fb 100%); }
}
@media (max-width:992px){
  body{ background:
    radial-gradient(420px 300px at 12% 78%, rgba(157,184,232,0.18) 0%, transparent 32%),
    radial-gradient(360px 240px at 88% 12%, rgba(150,180,220,0.16) 0%, transparent 30%),
    linear-gradient(180deg,#fbfdff 0%, #f3f6fb 100%); }
}
@media (max-width:600px){
  body{ background:
    radial-gradient(300px 220px at 16% 82%, rgba(157,184,232,0.18) 0%, transparent 32%),
    radial-gradient(260px 180px at 84% 16%, rgba(150,180,220,0.16) 0%, transparent 30%),
    linear-gradient(180deg,#fbfdff 0%, #f3f6fb 100%); }
}

/* =========================
   Hero
========================= */
#hero{ display:flex; flex-direction:column; width:100%; }
.hero{ min-height:calc(100vh - 72px); display:flex; flex-direction:column; padding-bottom:18px; }

.hero-top{
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  margin-top: clamp(24px, 20vh, 200px);
  margin-bottom: 100px;
}

.hero-left{ width:56%; }
.eyebrow{ font-weight:600; color:rgba(3,28,63,.6); font-size:16px; margin-bottom:10px; }
.headline{ margin:0 0 10px; font-weight:800; font-size:clamp(54px,6vw,78px); line-height:.98; letter-spacing:-.6px; }
.headline .w{ display:inline-block; opacity:0; transform:translateY(8px); animation:fade .62s ease forwards; animation-delay:var(--d); position:relative; }
.headline .w::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.85) 45%,transparent);
  transform:translateX(-120%); mix-blend-mode:overlay; animation:shine 1s ease forwards;
  animation-delay:calc(var(--d,0s) + .06s);
}
@keyframes fade{0%{opacity:0;transform:translateY(10px)}60%{opacity:1;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}
@keyframes shine{0%{transform:translateX(-120%);opacity:0}40%{opacity:1}100%{transform:translateX(120%);opacity:0}}
.sub{ margin:2px 0 0; color:rgba(3,28,63,.62); font-size:20px; max-width:820px; line-height:1.6; }

/* RIGHT visuals */
.hero-right{ width:42%; min-height:480px; position:relative; display:flex; align-items:center; justify-content:center; }
.prod-shapes{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.prod-shapes .shape{ position:absolute; border-radius:50%; filter:blur(100px); opacity:.85; animation:floatSmooth 20s ease-in-out infinite; }
.prod-shapes .s1{ width:760px; height:760px; left:50%; top:36%; margin:-380px 0 0 -380px; background:radial-gradient(circle,rgba(159,190,235,.35),rgba(159,190,235,.10)); animation-delay:0s; }
.prod-shapes .s2{ width:860px; height:520px; left:62%; top:48%; margin:-260px 0 0 -430px; background:radial-gradient(circle,rgba(150,175,215,.24),transparent); animation-delay:2.4s; }
.prod-shapes .s3{ width:520px; height:520px; left:44%; top:72%; margin:-260px 0 0 -260px; background:radial-gradient(circle,rgba(200,220,245,.18),transparent); animation-delay:4.2s; }

@keyframes floatSmooth{
  0%{transform:translate(0,0) scale(1) rotate(0)}
  25%{transform:translate(15px,-20px) scale(1.02) rotate(1deg)}
  50%{transform:translate(0,-40px) scale(1.03) rotate(2deg)}
  75%{transform:translate(-15px,-20px) scale(1.02) rotate(1deg)}
  100%{transform:translate(0,0) scale(1) rotate(0)}
}

/* Product cards */
.product-card{
  position:absolute; width:246px; height:246px; border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.98));
  border:2px solid rgba(255,255,255,.7);
  box-shadow:0 18px 60px rgba(20,34,68,.06), inset 0 1px rgba(255,255,255,.85);
  display:flex; align-items:center; justify-content:center; z-index:0; transition:transform .35s cubic-bezier(.2,.9,.3,1);
}
.product-card img{ max-width:84%; max-height:84%; display:block; }
.prod-1{ right:200px; top:-50px; }
.prod-2{ right:-20px; top:160px; }
.prod-3{ right:200px; top:300px; }
.product-card:hover{ transform:translateY(-8px); }

/* Large tablet */
@media (max-width:1200px){
  .prod-shapes .s1{width:620px;height:620px;margin:-310px 0 0 -310px}
  .prod-shapes .s2{width:700px;height:440px;margin:-220px 0 0 -350px}
  .prod-shapes .s3{width:420px;height:420px;margin:-210px 0 0 -210px}
  .hero-top{ gap:26px; margin-top:calc(50vh - 360px); margin-bottom:80px; }
  .hero-right{ min-height:440px; }
  .headline{ font-size:clamp(48px,5.4vw,68px); }
  .sub{ font-size:19px; }
}

/* Tablet */
@media (max-width:992px){
  .prod-shapes .s1{width:520px;height:520px;margin:-260px 0 0 -260px}
  .prod-shapes .s2{width:560px;height:360px;margin:-180px 0 0 -280px}
  .prod-shapes .s3{width:360px;height:360px;margin:-180px 0 0 -180px}

  .hero-top{
    flex-direction:column; align-items:center; gap:18px;
    margin-top:36px; margin-bottom:48px;
  }

  .hero-right{
    width:100%; min-height:unset; display:flex; align-items:flex-end; justify-content:center; gap:14px; padding-top:6px;
  }
  .product-card{ position:relative; width:200px; height:200px; transform:none; }
  .product-card img{ max-width:82%; max-height:82%; }
  .prod-1,.prod-2,.prod-3{ right:auto; top:auto; }
  .prod-2{ transform:translateY(-10px); }
  .product-card:hover{ transform:translateY(-6px) rotate(2deg); }

  .hero-left{ width:100%; text-align:center; }
  .headline{ font-size:clamp(40px,5.2vw,56px); }
  .sub{ font-size:18px; max-width:760px; margin-left:auto; margin-right:auto; }
}

/* Mobile */
@media (max-width:600px){
  .prod-shapes .s1{width:360px;height:360px;margin:-180px 0 0 -180px}
  .prod-shapes .s2{width:380px;height:240px;margin:-120px 0 0 -190px}
  .prod-shapes .s3{width:260px;height:260px;margin:-130px 0 0 -130px}

  .hero{ min-height:auto; }
  .hero-top{ gap:14px; margin-top:28px; margin-bottom:32px; }

  .product-card{ width:160px; height:160px; }
  .prod-2{ transform:translateY(-8px); }
  .headline{ font-size:34px; letter-spacing:-.4px; }
  .sub{ font-size:16px; max-width:95%; }
}
/* ===== Bottom hero ===== */
.hero-bottom{display:flex;flex-direction:column;align-items:center;margin-bottom:60px}
.stats-row{
  display:flex;gap:12px;align-items:center;justify-content:center;
  margin-bottom:40px;margin-top:30px;
  font-weight:700;color:#031c3f;font-size:18px;white-space:nowrap
}
.stats-item{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.75));border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 26px rgba(30,50,80,.05)}
.emoji{font-size:20px;line-height:1}

.trusted{text-align:center}
.trusted h3{margin:0 0 24px;font-size:22px;font-weight:700;color:#031c3f}

/* LOGOS — desktop/tablet defaults */
.logos-wrap{display:flex;flex-direction:column;align-items:center;row-gap:12px;width:100%;}
.logos-row1,.logos-row2{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:nowrap}
.logo-card{
  width:160px;height:64px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;padding:10px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,250,250,.9));
  border:1px solid rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(20,34,68,.06);
  flex:0 0 auto;
}
.logo-card img{max-height:34px;max-width:100%;opacity:.95;display:block}
.logo-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px rgba(20,34,68,.09)}

.empty-spot{
  width:260px;height:68px;border-radius:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  color:#031c3f;font-weight:700;background:linear-gradient(135deg,rgba(58,123,213,.12),rgba(159,210,255,.06));
  border:1px solid rgba(58,123,213,.22);box-shadow:0 18px 48px rgba(58,123,213,.10), inset 0 1px rgba(255,255,255,.6);
  transform:translateY(-2px)
}
.empty-spot .arrow{width:26px;height:14px;border-left:3px solid #3a7bd5;border-bottom:3px solid #3a7bd5;transform:rotate(-45deg);display:inline-block}
.empty-spot small{font-size:13px;color:#3a7bd5;font-weight:800}

/* ===== Hero Bottom — Responsive ===== */

/* Mobile (<=600px): stats smaller & stacked; logos 2 per row; empty spot alone */
@media (max-width:600px){
  .stats-row{
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
    margin-bottom:24px;
    font-size:16px;
  }
  .stats-item{width:100%;justify-content:center;padding:8px 12px}

  .logos-wrap{row-gap:10px}
  .logos-row1,.logos-row2{
    display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  }
  .logo-card{width:48%;height:56px;padding:8px 12px}
  .logo-card img{max-height:28px}

  .empty-spot{
    width:100%;height:64px; /* takes full row -> sits alone */
  }
}

/* =========================
   Offers - Wrapper
========================= */
#offersSectionB1{
  display:flex; flex-direction:column; width:100%;
  padding-block: 28px 38px; gap: 20px;
  --navy:#031c3f; --accent:#3a7bd5;
}
@media (max-width:992px){ #offersSectionB1{ padding-block: 24px 32px; gap: 18px; } }
@media (max-width:600px){ #offersSectionB1{ padding-block: 18px 26px; gap: 16px; } }

/* Offers headline */
#offersHeadlineB1{ --navy:#031c3f; display:flex; align-items:center; justify-content:flex-start; padding-block: 6px 10px; padding-inline: 0; }
#offersHeadlineB1 .display{
  margin:0; color:var(--navy); font-weight:800; letter-spacing:-0.3px; line-height:1.08;
  font-size: clamp(28px, 6vw, 64px);
}
@media (max-width:992px){
  #offersHeadlineB1{ padding-block: 4px 8px; }
  #offersHeadlineB1 .display{ letter-spacing:-0.25px; }
}
@media (max-width:600px){
  #offersHeadlineB1{ padding-block: 2px 6px; }
  #offersHeadlineB1 .display{ font-size: clamp(22px, 7vw, 34px); letter-spacing:-0.2px; }
}

/* =========================
   Banner
========================= */
.banner-container{
  position:relative; width:100%; max-width:1400px; aspect-ratio: 1400 / 500; margin: 0 auto;
}

/* animated gradient border */
.banner-container::before{
  content:""; position:absolute; top:-6px; left:-6px; right:-6px; bottom:-6px;
  background: linear-gradient(90deg,
    rgba(255,190,11,0.7), rgba(131,56,236,0.7), rgba(58,134,255,0.7),
    rgba(6,255,165,0.7), rgba(255,0,110,0.7));
  background-size:300% 300%; border-radius:27px; z-index:0;
  animation: catchyGradientBorder 1s ease-in-out infinite;
}

/* soft backlight */
.banner-container::after{
  content:""; position:absolute; top:-12px; left:-12px; right:-12px; bottom:-12px;
  background: linear-gradient(45deg,
    rgba(255,0,110,0.15), rgba(251,86,7,0.15), rgba(255,190,11,0.15),
    rgba(131,56,236,0.15), rgba(58,134,255,0.15), rgba(6,255,165,0.15),
    rgba(255,0,110,0.15));
  background-size:300% 300%; border-radius:36px; z-index:-1; filter:blur(20px);
  animation: smoothBacklight 7s ease-in-out infinite;
}

@keyframes catchyGradientBorder{
  0%,100%{ background-position:0% 50%; }
  20%{ background-position:100% 0%; }
  40%{ background-position:100% 100%; }
  60%{ background-position:0% 100%; }
  80%{ background-position:0% 0%; }
}
@keyframes smoothBacklight{
  0%,100%{ background-position:0% 50%; opacity:.8; }
  33%{ background-position:100% 0%; opacity:1; }
  66%{ background-position:100% 100%; opacity:.9; }
}

.banner{
  width:100%; height:100%; position:relative; overflow:hidden; z-index:0;
  background: linear-gradient(135deg,
    rgba(30,64,175,0.8) 0%, rgba(29,78,216,0.75) 25%,
    rgba(37,99,235,0.7) 50%, rgba(59,130,246,0.75) 75%,
    rgba(30,64,175,0.8) 100%);
  backdrop-filter: blur(80px) saturate(150%);
  -webkit-backdrop-filter: blur(80px) saturate(150%);
  border-radius:24px; border:1px solid rgba(255,255,255,0.25);
  box-shadow: 0 25px 50px rgba(30,64,175,0.15),
              inset 0 1px 0 rgba(255,255,255,0.4),
              inset 0 -1px 0 rgba(0,0,0,0.1);
  transition: box-shadow .6s ease, transform .6s ease;
}

/* Make the <picture> fill and crop neatly */
.banner picture,
.banner img{
  position:absolute; inset:0; width:100%; height:100%;
  display:block; object-fit:cover; object-position:center;
}

/* clickable full banner link */
.banner-link{ position:absolute; inset:0; z-index:1; }

/* Subtle inner glow */
.banner::before{
  content:""; position:absolute; inset:0; border-radius:24px; pointer-events:none;
  background: linear-gradient(45deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0.08) 100%);
  animation: subtleInnerGlow 6s ease-in-out infinite;
}
.banner::after{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:rgba(147,197,253,0.15); pointer-events:none; }
@keyframes subtleInnerGlow{ 0%,100%{opacity:.8} 50%{opacity:1} }

.banner:hover{ transform: translateY(-2px); box-shadow: 0 35px 70px rgba(30,64,175,0.2),
  inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -1px 0 rgba(0,0,0,0.1); }

/* CTA button inside banner */
.cta-button{
  position:absolute; right:24px; bottom:24px; z-index:2;
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 28px; border-radius:16px; text-decoration:none; font-weight:600;
  color: rgba(15,23,42,0.9);
  background: rgba(255,255,255,0.25);
  backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.05), inset 0 1px 0 rgba(255,255,255,0.4), 0 1px 0 rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.2);
  overflow:hidden; transition: transform .4s cubic-bezier(.4,0,.2,1), box-shadow .4s cubic-bezier(.4,0,.2,1), background .4s;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
}
.cta-button::before{
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left .8s ease;
}
.cta-button:hover::before{ left:100%; }
.cta-button:hover{ transform: translateY(-1px); background: rgba(255,255,255,0.35);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 0 rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.3); }
.arrow{ width:18px; height:18px; display:flex; align-items:center; justify-content:center; transition: transform .3s cubic-bezier(.4,0,.2,1); }
.arrow svg{ width:18px; height:18px; stroke: currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.cta-button:hover .arrow{ transform: translateX(4px); }

/* Mobile banner tweaks */
@media (max-width:600px){
  .banner{ border-radius:20px; }
  .banner::before{ border-radius:22px; }
  .cta-button{
    right:16px; bottom:16px; padding:14px 22px;
    font-size: clamp(.95rem, 3.5vw, 1.05rem);
  }
  .arrow svg{ width:16px; height:16px; }
}

/* Very small */
@media (max-width:350px){
  .banner{ min-height:200px; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .banner-container::before,
  .banner-container::after,
  .banner::before{
    animation: none !important;
  }
}

/* =========================
   Offers cards (glass)
========================= */
#offersCardsA1{
  --navy:#1a365d; --muted:rgba(26,54,93,.75); --shadow:rgba(0,0,0,.1); --shadow-h:rgba(0,0,0,.15);
  padding:40px 20px; max-width:1200px; margin:0 auto;
}
#offersCardsA1 .cards{
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:24px;
}
#offersCardsA1 .card{
  position:relative; display:grid; grid-template-rows:auto auto 1fr auto; gap:16px;
  padding:28px 24px; border-radius:20px; overflow:hidden;
  backdrop-filter:blur(25px); -webkit-backdrop-filter:blur(25px);
  border:1px solid rgba(255,255,255,0.15);
  box-shadow: 0 8px 32px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.2), inset 0 -1px 0 rgba(255,255,255,0.05);
  transition: transform .3s cubic-bezier(.4,0,.2,1), background .3s, box-shadow .3s, border-color .3s;
}
#offersCardsA1 .card:nth-child(1){ background: linear-gradient(145deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0.05) 100%); }
#offersCardsA1 .card:nth-child(2){ background: linear-gradient(145deg, rgba(224,242,254,0.2) 0%, rgba(186,230,253,0.08) 100%); }
#offersCardsA1 .card:nth-child(3){ background: linear-gradient(145deg, rgba(147,197,253,0.25) 0%, rgba(59,130,246,0.1) 100%); }
#offersCardsA1 .card:nth-child(4){ background: linear-gradient(145deg, rgba(59,130,246,0.3) 0%, rgba(37,99,235,0.12) 100%); }

#offersCardsA1 .card::before{
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition:left .5s ease;
}
#offersCardsA1 .card:hover::before{ left:100%; }
#offersCardsA1 .card:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.2);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.3), 0 1px 0 rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.25);
}

#offersCardsA1 .icon{
  width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(145deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,0.3);
  box-shadow:0 8px 25px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.5);
  transition: transform .3s ease; font-size:28px;
}
#offersCardsA1 .card:hover .icon{ transform: scale(1.1) rotate(5deg); }

#offersCardsA1 .title{ margin:0; color:var(--navy); font-size:22px; line-height:1.3; font-weight:700;
  text-shadow:0 1px 2px rgba(255,255,255,.5); }
#offersCardsA1 .text{ margin:0; color:var(--muted); font-size:16px; line-height:1.6; font-weight:400; }

#offersCardsA1 .cta{
  position:relative; margin-top:8px; margin-left:auto; width:52px; height:52px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:var(--navy);
  background: linear-gradient(145deg, rgba(255,255,255,.6), rgba(255,255,255,.3));
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.4);
  box-shadow: 0 4px 15px rgba(0,0,0,.05), inset 0 1px 0 rgba(255,255,255,.6);
  transition: all .3s cubic-bezier(.4,0,.2,1); overflow:hidden;
}
#offersCardsA1 .cta::before{
  content:""; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);
  transition:left .5s ease;
}
#offersCardsA1 .cta:hover::before{ left:100%; }
#offersCardsA1 .arrow{ width:18px; height:18px; display:flex; align-items:center; justify-content:center; transition: transform .3s cubic-bezier(.4,0,.2,1); }
#offersCardsA1 .arrow svg{ width:18px; height:18px; stroke: currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
#offersCardsA1 .cta:hover .arrow{ transform: translateX(4px); }

/* Cards responsive */
@media (max-width:1100px){
  #offersCardsA1 .cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:560px){
  #offersCardsA1{ padding:20px 10px; }
  #offersCardsA1 .cards{ grid-template-columns: 1fr; gap:20px; }
  #offersCardsA1 .card{ padding:24px 20px; }
}

/* Disable fancy transitions if needed */
@media (prefers-reduced-motion: reduce){
  .banner-container::before,
  .banner-container::after,
  .banner::before,
  .headline .w::after,
  .headline .w,
  #offersCardsA1 .card::before{
    animation:none !important;
    transition:none !important;
  }
}
@media (max-width: 728px){
.banner {aspect-ratio: 1:1 !important}
.cta-button {padding:10px 20px; font-size: 12px;}
}
/* --- Mobile logos: 2 per row; "empty-spot" alone in the middle --- */
@media (max-width:600px){
  /* keep your existing mobile stats styles… */

  .logos-wrap{ row-gap:12px; }

  /* keep rows as flex so we can control order and widths */
  .logos-row1,
  .logos-row2{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
    align-items:center;
  }

  /* two logos per row */
  .logo-card{
    flex: 0 0 calc(50% - 12px);
    height:56px;
    padding:8px 12px;
  }
  .logo-card img{ max-height:28px; }

  /* make the saved-spot take a full row and appear first inside row2 */
  .logos-row2 .empty-spot{
    flex: 0 0 100%;
    order: -1;                 /* ensure it’s before the rest in row2 */
    height:64px;
    justify-content:center;
    align-items:center;
  }
}
.howitworks{max-width:1200px;margin:40px auto 20px;padding:0 20px;text-align:center}
.how-title{margin:0 0 14px;font-weight:800;letter-spacing:-.2px;color:#031c3f}
.how-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px
}
.how-card{
  padding:18px;border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(250,250,255,.82));
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 10px 28px rgba(20,34,68,.07);
}
.how-emoji{font-size:26px;margin-bottom:6px}
.how-card h4{margin:6px 0 4px}
.how-card p{margin:0;color:rgba(3,28,63,.7)}
@media (max-width:900px){ .how-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .how-grid{grid-template-columns:1fr} }

.cta-band{
  margin:30px auto 40px; padding:0 20px;
}
.cta-inner{
  max-width:1200px;margin:0 auto;
  border-radius:20px; padding:22px;
  background:linear-gradient(135deg,rgba(58,123,213,.18),rgba(159,210,255,.10));
  border:1px solid rgba(58,123,213,.25);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.cta-inner h3{margin:0;color:#031c3f}
.cta-main{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px; border-radius:14px;
  color:#fff; text-decoration:none; font-weight:700;
  background:linear-gradient(135deg,#5b6dff,#7a4dff);
  box-shadow:0 10px 28px rgba(75,31,239,.18);
}
@media (max-width:640px){
  .cta-inner{flex-direction:column;text-align:center}
  .cta-main{width:100%}
}
.site-footer{
  margin-top:40px; padding:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(245,248,255,.8));
  border-top:1px solid rgba(255,255,255,.6);
}
.ft-wrap{
  max-width:1200px;margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(250,250,255,.86));
  border:1px solid rgba(255,255,255,.75);
  border-radius:18px; padding:18px 18px 14px;
  box-shadow:0 18px 48px rgba(20,34,68,.06);
}
.ft-brand h4{margin:0 0 6px}
.ft-brand p{margin:0 0 10px;color:rgba(3,28,63,.7)}
.ft-social{display:flex;gap:12px;flex-wrap:wrap}
.ft-social a{color:#3a7bd5;text-decoration:none;font-weight:600}

.ft-col{display:flex;flex-direction:column;gap:8px}
.ft-col h5{margin:0 0 6px}
.ft-col a{color:rgba(3,28,63,.8);text-decoration:none}
.ft-col a:hover{color:#3a7bd5}

.ft-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ft-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;color:#fff;text-decoration:none;font-weight:700;
  background:linear-gradient(135deg,#5b6dff,#7a4dff);
  box-shadow:0 10px 28px rgba(75,31,239,.18);
}

.ft-bottom{
  max-width:1200px;margin:10px auto 0; padding-top:10px;
  color:rgba(3,28,63,.6); font-size:14px; text-align:center;
  border-top:1px dashed rgba(3,28,63,.12);
}

@media (max-width:900px){
  .ft-wrap{grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .ft-wrap{grid-template-columns:1fr; gap:16px}
  .ft-cta .ft-btn{width:100%}
}
/* =========================
   FIX PACK — paste at end
   (no logo changes)
========================= */

/* 1) Kill any horizontal scroll everywhere */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* 2) Make the background behave as ONE layer on mobile.
   iOS + backdrop-filter + background-attachment:fixed
   causes the “split”/banding you saw. */
@media (max-width: 768px) {
  body {
    background-attachment: scroll !important;
    background-position: center top !important;
    background-size: cover !important;
    /* small safety to stop rubber-banding offsets */
    overscroll-behavior: none;
  }
}


/* keep your banner fully filling the container after the new padding */
.banner { border-radius: 18px; }
.banner::before { border-radius: 18px; }

/* 4) HERO product cards — force perfect squares at every size */
.product-card {
  display: grid; 
grid-template-columns:1fr !important;
}

/* mobile layout for those three cards: tidy & centered */
@media (max-width: 600px) {
  .hero-right {
    display: flex !important;
    justify-content: center;
    align-items: flex-end;
    gap: 12px;
  }
  .product-card {
    position: relative !important;
    transform: none !important;
  }
  .prod-1, .prod-2, .prod-3 { right: auto; top: auto; }
  .prod-2 { transform: translateY(-6px); } /* small stagger */
}

/* 5) Offer cards — shorten on mobile (less padding, tighter type).
   Also remove the “1fr” row that was forcing extra height. */
@media (max-width: 560px) {
  #offersCardsA1 { padding: 16px 12px; }

  #offersCardsA1 .cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #offersCardsA1 .card {
    padding: 18px 16px;
    grid-template-rows: auto auto auto auto; /* no stretching */
    border-radius: 18px;
  }

  #offersCardsA1 .icon {
    width: 52px; height: 52px; border-radius: 14px;
  }

  #offersCardsA1 .title {
    font-size: 20px;
    line-height: 1.25;
  }

  #offersCardsA1 .text {
    font-size: 15px;
    line-height: 1.55;
  }

  #offersCardsA1 .cta {
    width: 46px; height: 46px;
  }

  /* remove any accidental min-height from elsewhere */
  #offersCardsA1 .card,
  #offersCardsA1 .text { min-height: 0 !important; }
}

/* 6) Small polish so the hero headline doesn’t overflow on very small screens */
@media (max-width: 380px) {
  .headline { font-size: 30px; }
  .sub { font-size: 15px; }
}

/* =========================================
   PATCH — mobile polish + headline spacing
   (append at end of index.css)
========================================= */

/* Center the “Gifts for all your needs” title everywhere
   and add a little room before the banner */
#offersHeadlineB1{
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 14px; /* space before banner */
}

/* Reduce extra gap before the logos section on mobile */
@media (max-width: 600px){
  .hero-bottom{ margin-bottom: 36px; }      /* was ~60px */
  .trusted h3{ margin-bottom: 14px; }       /* tighter heading spacing */
}

/* --- Product images (hero-right) — MOBILE ONLY ---
   One per row, big, perfectly square */
@media (max-width: 600px){
  .hero-right{
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100%;
  }
  .product-card{
    position: relative !important;
    width: min(88vw, 420px) !important;  /* big but stays inside screen */
    aspect-ratio: 1 / 1 !important;      /* perfect square */
    height: auto !important;
    transform: none !important;
  }
  .product-card img{
    width: 84% !important;
    height: 84% !important;
    object-fit: contain !important;
  }
  .prod-1, .prod-2, .prod-3{ right:auto; top:auto; } /* drop absolute offsets */
  .prod-2{ transform: translateY(-6px); }            /* small stagger */
}

/* --- Stats row: full width without overflow on mobile --- */
@media (max-width: 600px){
  .stats-row{
    width: 100%;
    padding-inline: 12px;   /* keep inside screen edges */
    white-space: normal;    /* allow wrapping (prevents cut-off) */
    box-sizing: border-box;
  }
  .stats-item{
    width: 100%;            /* full-width pills on their own lines */
    max-width: 100%;
    min-width: 0;
    justify-content: center;
  }
}

/* Safety: never allow horizontal scroll due to any strays */
html, body { overflow-x: hidden; max-width: 100%; }
