<style>
/* ══════════════════════════════════════════════
   HOMEPAGE — v5.5
   Clean, professional, fully responsive
══════════════════════════════════════════════ */

/* ── HERO SLIDER ── */
.hero-slider {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 580px;
  max-height: 820px;
  overflow: hidden;
  background: #0f0b07;
}

.hs-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 1;
  transition: opacity .9s ease;
}
.hs-slide.active { opacity: 1; z-index: 2; }

/* Background layer — image or gradient */
.hs-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transform: scale(1.06);
  transition: transform 6s ease;
}
.hs-slide.active .hs-bg { transform: scale(1); }

/* On mobile: shift image right so subject isn't hidden behind text */
@media(max-width:768px) {
  .hs-bg {
    background-position: 65% center;
  }
}
@media(max-width:480px) {
  .hs-bg {
    background-position: 70% center;
    /* Also darken overlay more on mobile for readability */
  }
}

/* Dark overlay on top of image */
.hs-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(0,0,0,.78) 0%,
    rgba(0,0,0,.52) 55%,
    rgba(0,0,0,.25) 100%
  );
}
/* Stronger overlay on mobile — text must always be readable */
@media(max-width:768px) {
  .hs-overlay {
    background: linear-gradient(
      160deg,
      rgba(0,0,0,.84) 0%,
      rgba(0,0,0,.65) 50%,
      rgba(0,0,0,.45) 100%
    );
  }
}

/* Subtle glow circle - decorative */
.hs-glow {
  position: absolute;
  right: -8%;
  top: -15%;
  width: 60vw;
  max-width: 700px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: .18;
  pointer-events: none;
  filter: blur(40px);
}

/* Grid texture removed — intentionally blank */

/* Slide content */
.hs-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 10;
}
.hs-inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(24px, 6vw, 72px);
  padding-top: 70px;
  padding-bottom: 130px; /* space for stats bar */
}

/* Badge */
.hs-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50px;
  padding: .4rem 1.1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  letter-spacing: .04em;
  margin-bottom: 1.4rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.hs-live {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #4ade80;
  flex-shrink: 0;
  animation: livePulse 2s ease infinite;
}
@keyframes livePulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.65)} }

/* Headline */
.hs-h1 {
  font-family: 'Familjen Grotesk', sans-serif;
  font-weight: 700;
  font-size: clamp(2.8rem, 6.5vw, 5.2rem);
  line-height: 1.0;
  letter-spacing: -.04em;
  color: #fff;
  margin: 0 0 1.1rem;
  max-width: 800px;
}
/* The red italic second line */
.hs-h1 .hs-red {
  display: block;
  color: #ff3347;
  font-style: normal;
}

/* Subtext */
.hs-sub {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(.95rem, 1.8vw, 1.15rem);
  font-weight: 400;
  line-height: 1.75;
  color: rgba(255,255,255,.7);
  max-width: 520px;
  margin: 0 0 2.2rem;
}

/* CTA buttons */
.hs-btns {
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
  margin-bottom: 2.4rem;
}
.hs-btn-p {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: #e8192c;
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: .98rem;
  padding: .85rem 2rem;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 5px 22px rgba(232,25,44,.5);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hs-btn-p:hover { background: #ff2d42; color: #fff; transform: translateY(-2px); box-shadow: 0 10px 32px rgba(232,25,44,.6); }
.hs-btn-s {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.9);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: .98rem;
  padding: .82rem 1.8rem;
  border-radius: 50px;
  border: 1.5px solid rgba(255,255,255,.28);
  text-decoration: none;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background .2s, border-color .2s;
}
.hs-btn-s:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.5); color: #fff; }

/* ── TRUST ROW — clean, minimal ── */
.hs-trust {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
  overflow: hidden;
}
.hs-t-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: .83rem;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
  padding-right: 1.2rem;
}
.hs-t-sep {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.22);
  flex-shrink: 0;
  margin-right: 1.2rem;
}

/* ── STATS BAR — bottom of slider ── */
.hs-statsbar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 20;
  background: rgba(10,8,5,.7);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255,255,255,.07);
}
.hs-statsbar-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(24px, 6vw, 72px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.hs-stat {
  padding: 1.1rem 1rem;
  border-right: 1px solid rgba(255,255,255,.07);
  text-align: center;
}
.hs-stat:last-child { border-right: none; }
.hs-stat-n {
  display: block;
  font-family: 'Familjen Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.55rem;
  letter-spacing: -.04em;
  color: #fff;
  line-height: 1;
}
.hs-stat-n em { font-style: normal; color: #e8192c; }
.hs-stat-l {
  display: block;
  font-size: .68rem;
  font-weight: 600;
  color: rgba(255,255,255,.38);
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-top: .28rem;
}

/* ── SLIDER CONTROLS ── */
.hs-dots {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  gap: .55rem;
  align-items: center;
}
.hs-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.3);
  border: none; cursor: pointer; padding: 0;
  transition: background .3s, width .3s, border-radius .3s;
}
.hs-dot.active {
  background: #e8192c;
  width: 24px;
  border-radius: 4px;
}

/* Arrow buttons */
.hs-arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  z-index: 20;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.18);
  color: #fff; font-size: 1.2rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background .2s, border-color .2s;
}
.hs-arrow:hover { background: rgba(232,25,44,.45); border-color: #e8192c; }
.hs-arrow-l { left: clamp(12px, 2.5vw, 36px); }
.hs-arrow-r { right: clamp(12px, 2.5vw, 36px); }

/* Progress line */
.hs-prog {
  position: absolute;
  bottom: 0; left: 0;
  height: 3px;
  background: #e8192c;
  z-index: 30;
  width: 0%;
}

/* Responsive */
@media(max-width:900px) {
  .hs-statsbar-inner { grid-template-columns: repeat(2,1fr); }
  .hs-stat:nth-child(2) { border-right: none; }
}
@media(max-width:600px) {
  .hero-slider { max-height: 700px; min-height: 560px; }
  .hs-inner { padding-bottom: 110px; }
  .hs-arrow { width: 38px; height: 38px; font-size: 1rem; }
  .hs-dots { bottom: 76px; }
  .hs-statsbar-inner { grid-template-columns: repeat(2,1fr); }
  .hs-stat { padding: .75rem .5rem; }
  .hs-stat-n { font-size: 1.25rem; }
  .hs-trust { display: none; } /* hidden on small mobile — too tight */
}
@media(max-width:400px) {
  .hs-btns { flex-direction: column; align-items: flex-start; }
  .hs-btn-p, .hs-btn-s { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════
   PAGE SECTIONS
══════════════════════════════════════════════ */

/* Section wrapper */
.pg-section { padding: 96px 0; }
.pg-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 72px);
}

/* Eyebrow + title */
.eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .72rem; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: #e8192c; margin-bottom: .85rem;
}
.eyebrow::before { content:''; width:14px; height:2px; background:#e8192c; border-radius:2px; flex-shrink:0; }
.section-title {
  font-family: 'Familjen Grotesk', sans-serif; font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08;
  letter-spacing: -.035em; color: var(--ink,#18120a);
}
html.dark .section-title { color: #f0ebe3; }
.section-lead {
  color: var(--mid,#6b5f52); font-size: 1.05rem;
  line-height: 1.8; max-width: 520px; margin-top: .8rem;
}

/* Reveal animation */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1); }
.reveal.in { opacity:1; transform:none; }

/* ── REACH STRIP ── */
.reach-strip { background: #18120a; }
.reach-inner {
  max-width: 1180px; margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 60px);
  display: flex; /* flex — never collapses weirdly */
}
.reach-cell {
  flex: 1;
  display: flex;
  align-items: center;   /* icon + text side by side, vertically centered */
  gap: .85rem;
  padding: 1.3rem 1rem;
  border-right: 1px solid rgba(255,255,255,.07);
  text-decoration: none;
  transition: background .18s;
  min-width: 0;          /* prevents flex children overflowing */
}
.reach-cell:last-child { border-right: none; }
.reach-cell:hover { background: rgba(255,255,255,.05); }
.reach-ico {
  width: 40px; height: 40px;
  border-radius: 10px; flex-shrink: 0;
  background: rgba(232,25,44,.15);
  border: 1px solid rgba(232,25,44,.28);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
}
.reach-text { min-width: 0; }
.reach-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700; font-size: .88rem;
  color: #fff; display: block;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.reach-val {
  font-size: .78rem; color: rgba(255,255,255,.42);
  display: block; margin-top: .1rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.reach-val a { color: #e8192c; text-decoration: none; }

/* Mobile: 3 columns stay side by side — just tighter */
@media(max-width:600px) {
  .reach-cell { gap: .55rem; padding: 1rem .65rem; }
  .reach-ico { width: 34px; height: 34px; font-size: .95rem; border-radius: 8px; }
  .reach-name { font-size: .78rem; }
  .reach-val { display: none; } /* hide subtext on small mobile — too cramped */
}
@media(max-width:360px) {
  .reach-name { font-size: .72rem; }
  .reach-cell { padding: .9rem .45rem; gap: .4rem; }
}

/* ── HOW IT WORKS ── */
.how-section { background: var(--s1,#faf7f2); }
html.dark .how-section { background: #181410; }
.how-grid {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 1.2rem; margin-top: 3rem;
}
@media(max-width:900px) { .how-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px) { .how-grid { grid-template-columns:1fr; } }
.how-card {
  background: var(--bg,#fefcf8); border: 1px solid var(--s3,#ede6d8);
  border-radius: 18px; padding: 2rem 1.8rem;
  position: relative; overflow: hidden;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
html.dark .how-card { background:#111009; border-color:#2a2420; }
.how-card:hover { border-color: rgba(232,25,44,.3); transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,.1); }
.how-step {
  position: absolute; top:1rem; right:1.4rem;
  font-family:'Familjen Grotesk',sans-serif; font-weight:700;
  font-size:3rem; letter-spacing:-.06em; color:var(--s3,#ede6d8); line-height:1;
}
html.dark .how-step { color:#2a2420; }
.how-ico {
  width:52px; height:52px; border-radius:14px;
  background:rgba(232,25,44,.09); border:1px solid rgba(232,25,44,.22);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin-bottom:1.2rem;
}
.how-card h3 { margin-bottom:.5rem; color:var(--ink,#18120a); }
html.dark .how-card h3 { color:#f0ebe3; }
.how-card p { color:var(--mid,#6b5f52); font-size:.95rem; line-height:1.72; }
html.dark .how-card p { color:#b0a090; }

/* ── SERVICES ── */
.svcs-section { background: var(--bg,#fefcf8); }
html.dark .svcs-section { background:#111009; }
.svcs-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem; margin-bottom:3rem; }
.svc-grid {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 1px; background: var(--s3,#ede6d8);
  border: 1px solid var(--s3,#ede6d8); border-radius: 24px; overflow: hidden;
}
html.dark .svc-grid { background:#2a2420; border-color:#2a2420; }
@media(max-width:1000px) { .svc-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px)  { .svc-grid { grid-template-columns:1fr; } }
.svc {
  background:var(--bg,#fefcf8); padding:2rem 1.8rem;
  display:flex; flex-direction:column; position:relative; overflow:hidden;
  transition:background .22s;
}
html.dark .svc { background:#111009; }
.svc::after {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#e8192c,#ff2d42);
  transform:scaleX(0); transform-origin:left; transition:transform .35s;
}
.svc:hover::after { transform:scaleX(1); }
.svc:hover { background:var(--s1,#faf7f2); }
html.dark .svc:hover { background:#181410; }
.svc.star { background:#e8192c!important; grid-column:span 2; }
.svc.star::after { display:none; }
.svc.star:hover { background:#ff2d42!important; }
@media(max-width:520px) { .svc.star { grid-column:span 1; } }
.svc-ico { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.2rem; }
.svc-ico.warm { background:var(--s2,#f4efe6); border:1px solid var(--s4,#d6cbba); }
html.dark .svc-ico.warm { background:#201c16; border-color:#3a322a; }
.svc-ico.white { background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.3); }
.svc h3 { margin-bottom:.5rem; color:var(--ink,#18120a); }
html.dark .svc h3 { color:#f0ebe3; }
.svc.star h3 { color:#fff; }
.svc p { font-size:.93rem; color:var(--mid,#6b5f52); line-height:1.7; flex:1; }
html.dark .svc p { color:#b0a090; }
.svc.star p { color:rgba(255,255,255,.8); }
.svc-tags { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:1rem; }
.stag { font-size:.72rem; font-weight:600; padding:.22rem .65rem; border-radius:50px; background:var(--s2,#f4efe6); color:var(--mid,#6b5f52); border:1px solid var(--s4,#d6cbba); }
html.dark .stag { background:#201c16; color:#b0a090; border-color:#3a322a; }
.svc.star .stag { background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.25); }
.svc-lnk { display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-size:.83rem; font-weight:700; color:var(--muted,#9c917f); text-decoration:none; transition:color .2s; }
.svc:hover .svc-lnk { color:#e8192c; }
.svc.star .svc-lnk { color:rgba(255,255,255,.65); }
.svc.star:hover .svc-lnk { color:#fff; }
.so-badge { display:inline-flex; align-items:center; gap:.3rem; background:rgba(234,179,8,.12); border:1px solid rgba(234,179,8,.3); color:#b45309; font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:.2rem .6rem; border-radius:50px; margin-bottom:.5rem; }

/* ── WHY IFIX ── */
.why-section { background:var(--s1,#faf7f2); }
html.dark .why-section { background:#181410; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
@media(max-width:900px) { .why-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px) { .why-grid { grid-template-columns:1fr; } }
.why-card { padding:1.8rem 1.6rem; border:1px solid var(--s3,#ede6d8); border-radius:16px; background:var(--bg,#fefcf8); transition:border-color .2s,transform .22s,box-shadow .22s; }
html.dark .why-card { background:#111009; border-color:#2a2420; }
.why-card:hover { border-color:rgba(232,25,44,.3); transform:translateY(-3px); box-shadow:0 16px 48px rgba(0,0,0,.1); }
.why-ico { font-size:2rem; margin-bottom:.9rem; }
.why-card h3 { margin-bottom:.45rem; color:var(--ink,#18120a); }
html.dark .why-card h3 { color:#f0ebe3; }
.why-card p { font-size:.93rem; color:var(--mid,#6b5f52); line-height:1.7; }
html.dark .why-card p { color:#b0a090; }

/* ── REVIEWS ── */
.reviews-section { background:var(--s2,#f4efe6); }
html.dark .reviews-section { background:#201c16; }
.rv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem; }
@media(max-width:860px) { .rv-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .rv-grid { grid-template-columns:1fr; } }
.rv { background:var(--bg,#fefcf8); border:1px solid var(--s3,#ede6d8); border-radius:18px; padding:1.8rem; transition:border-color .22s,transform .22s,box-shadow .22s; }
html.dark .rv { background:#181410; border-color:#2a2420; }
.rv:hover { border-color:rgba(232,25,44,.3); transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,.1); }
.rv-stars { color:#f59e0b; font-size:.95rem; letter-spacing:2px; margin-bottom:.9rem; }
.rv blockquote { font-size:.95rem; color:var(--mid,#6b5f52); line-height:1.8; font-style:italic; margin-bottom:1.2rem; quotes:none; }
html.dark .rv blockquote { color:#b0a090; }
.rv-auth { display:flex; align-items:center; gap:.7rem; }
.rv-av { width:40px; height:40px; border-radius:50%; background:rgba(232,25,44,.09); border:1.5px solid rgba(232,25,44,.25); display:flex; align-items:center; justify-content:center; font-family:'Familjen Grotesk',sans-serif; font-weight:700; font-size:.95rem; color:#e8192c; flex-shrink:0; }
.rv-name { font-weight:700; font-size:.9rem; color:var(--ink,#18120a); display:block; }
html.dark .rv-name { color:#f0ebe3; }
.rv-type { font-size:.75rem; color:var(--muted,#9c917f); }

/* ── FAQ ── */
.faq-section { background:var(--s1,#faf7f2); }
html.dark .faq-section { background:#181410; }
.faq-layout { display:grid; grid-template-columns:1fr 1.8fr; gap:5rem; align-items:start; margin-top:2.5rem; }
@media(max-width:800px) { .faq-layout { grid-template-columns:1fr; gap:2.5rem; } }
.faq-list { border:1px solid var(--s3,#ede6d8); border-radius:18px; overflow:hidden; background:var(--bg,#fefcf8); }
html.dark .faq-list { background:#111009; border-color:#2a2420; }
.faq-item { border-bottom:1px solid var(--s3,#ede6d8); }
html.dark .faq-item { border-bottom-color:#2a2420; }
.faq-item:last-child { border-bottom:none; }
.faq-btn { width:100%; display:flex; justify-content:space-between; align-items:center; padding:1.3rem 1.7rem; background:none; border:none; cursor:pointer; text-align:left; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:.95rem; color:var(--ink,#18120a); gap:1rem; transition:color .2s,background .2s; }
html.dark .faq-btn { color:#f0ebe3; }
.faq-btn:hover { color:#e8192c; background:rgba(232,25,44,.06); }
.faq-arr { width:24px; height:24px; border-radius:50%; border:1.5px solid var(--s4,#d6cbba); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:.68rem; color:var(--mid,#6b5f52); transition:transform .3s,background .2s,border-color .2s; }
html.dark .faq-arr { border-color:#3a322a; color:#b0a090; }
.faq-item.open .faq-arr { transform:rotate(180deg); background:#e8192c; border-color:#e8192c; color:#fff; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,1,.36,1); }
.faq-ai { padding:0 1.7rem 1.3rem; font-size:.93rem; color:var(--mid,#6b5f52); line-height:1.8; }
html.dark .faq-ai { color:#b0a090; }
.faq-ai a { color:#e8192c; font-weight:600; }

/* ── BOTTOM CTA ── */
.cta-wrap { background:var(--s1,#faf7f2); padding-bottom:80px; }
html.dark .cta-wrap { background:#181410; }
.cta-box {
  max-width: 1180px; margin: 0 auto;
  padding: 0 clamp(24px,5vw,72px);
}
.cta-inner {
  background: linear-gradient(135deg,#18120a,#2c1f14);
  border-radius: 28px;
  padding: clamp(44px,6vw,80px) clamp(32px,6vw,72px);
  display: grid; grid-template-columns: 1fr auto;
  gap: 3rem; align-items: center;
  position: relative; overflow: hidden;
}
@media(max-width:700px) { .cta-inner { grid-template-columns:1fr; padding:44px 32px; } }
.cta-inner::before {
  content:''; position:absolute; right:-80px; top:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(232,25,44,.2),transparent 70%);
  pointer-events:none;
}
.cta-inner h2 { font-family:'Familjen Grotesk',sans-serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:700; color:#fff; letter-spacing:-.03em; margin-bottom:.5rem; position:relative;z-index:1; }
.cta-inner p { color:rgba(255,255,255,.45); font-size:1rem; position:relative;z-index:1; }
.cta-acts { display:flex; flex-direction:column; gap:.65rem; flex-shrink:0; position:relative;z-index:1; }
.cta-bw { display:inline-flex; align-items:center; gap:.5rem; background:#fff; color:#e8192c; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.95rem; padding:.78rem 1.8rem; border-radius:50px; text-decoration:none; white-space:nowrap; transition:transform .2s,box-shadow .2s; }
.cta-bw:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,255,255,.15); color:#e8192c; }
.cta-bg { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:.92rem; padding:.75rem 1.6rem; border-radius:50px; border:1px solid rgba(255,255,255,.2); text-decoration:none; white-space:nowrap; transition:background .2s; }
.cta-bg:hover { background:rgba(255,255,255,.18); color:#fff; }

/* ── Shared button ── */
.btn-red { display:inline-flex; align-items:center; gap:.45rem; background:#e8192c; color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:.95rem; padding:.78rem 1.7rem; border-radius:50px; text-decoration:none; white-space:nowrap; box-shadow:0 4px 18px rgba(232,25,44,.35); transition:transform .2s,box-shadow .2s,background .2s; }
.btn-red:hover { background:#ff2d42; color:#fff; transform:translateY(-2px); box-shadow:0 8px 28px rgba(232,25,44,.45); }
</style>
