/* Conversion-focused landing additions: free registration, patient CRM and local pricing. */
.df-conversion-banner{
  background:linear-gradient(145deg,#075464,var(--df-brand-teal-deep,#003b4a));
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.df-conversion-banner__inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.45rem 1.5rem;
  font-size:.76rem;
  letter-spacing:.005em;
}
.df-conversion-banner__inner span{display:inline-flex;align-items:center;gap:.42rem}
.df-conversion-banner__inner i{color:#86e2ca}
.df-hero-v2-title{max-width:13ch!important}

.df-crm-section{position:relative}
.df-crm-title{
  margin:.8rem 0 1rem;
  max-width:13ch;
  color:#17344b;
  font-size:clamp(2rem,3.2vw,2.75rem);
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:760;
}
.df-crm-copy{max-width:56ch;color:var(--df-muted);font-size:.94rem;line-height:1.75}
.df-crm-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.5rem}
.df-crm-outcomes span{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.7rem .8rem;
  border:1px solid #e4ebef;
  border-radius:10px;
  background:#fbfcfd;
  color:#4f6474;
  font-size:.78rem;
  font-weight:690;
}
.df-crm-outcomes i{color:var(--df-teal);font-size:1rem}
.df-crm-comparison{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:1rem;
}
.df-crm-comparison__card{
  padding:1.4rem;
  border:1px solid #dfe8ed;
  border-radius:16px;
  background:#f9fbfc;
}
.df-crm-comparison__card--dawafill{background:#f1faf7;border-color:#cce9e1}
.df-crm-comparison__label{
  color:#6e8190;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.df-crm-comparison__card--dawafill .df-crm-comparison__label{color:#087d67}
.df-crm-comparison h3{margin:.65rem 0 1.1rem;color:#213b4f;font-size:1.15rem;line-height:1.3;font-weight:760}
.df-crm-comparison ul{list-style:none;margin:0;padding:0;display:grid;gap:.72rem}
.df-crm-comparison li{position:relative;padding-left:1.35rem;color:#5f7381;font-size:.82rem;line-height:1.45}
.df-crm-comparison li:before{content:'\2014';position:absolute;left:0;color:#9aabb6}
.df-crm-comparison__card--dawafill li:before{content:'\2713';color:#0b9a7d;font-weight:900}
.df-crm-comparison__arrow{display:grid;place-items:center;color:#9aabb6}
.df-crm-comparison__arrow i{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dfe8ed;border-radius:50%;background:#fff}

.df-site-section.df-solution-links-section{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(0,59,74,.08);
  border-bottom:1px solid rgba(0,59,74,.1);
  background:
    radial-gradient(circle at 8% 14%,rgba(34,221,176,.15),transparent 24rem),
    radial-gradient(circle at 94% 88%,rgba(0,47,80,.08),transparent 26rem),
    linear-gradient(145deg,#f0faf7 0%,#f7fbfc 52%,#edf5f8 100%)!important;
}
.df-solution-links-section .df-section-index{
  width:max-content;
  margin:0 auto .8rem;
  padding:.38rem .72rem;
  border:1px solid rgba(0,125,104,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
}
.df-solution-links-section .df-section-heading h2{color:var(--df-brand-navy,#002f50)!important}
.df-solution-links-section .df-section-heading p{color:#58727c!important}
.df-solution-link-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:240px;
  padding:1.4rem;
  overflow:hidden;
  border:1px solid rgba(0,59,74,.14);
  border-radius:18px;
  color:var(--df-brand-navy,#002f50)!important;
  text-decoration:none!important;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 30px rgba(0,47,80,.065);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.df-solution-link-card:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--df-brand-mint,#22ddb0),var(--df-brand-teal-deep,#003b4a));
}
.df-solution-link-card__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:1.2rem;
  border:1px solid rgba(34,221,176,.2);
  border-radius:13px;
  color:#fff;
  background:linear-gradient(145deg,#087d68,var(--df-brand-teal-deep,#003b4a));
  box-shadow:0 8px 20px rgba(0,59,74,.14);
}
.df-solution-link-card__icon i{font-size:1.2rem}
.df-solution-link-card h3{
  margin:0 0 .62rem;
  color:var(--df-brand-navy,#002f50);
  font-size:1.08rem;
  line-height:1.35;
  font-weight:760;
  letter-spacing:-.015em;
}
.df-solution-link-card p{
  margin:0 0 1.2rem;
  color:#617984;
  font-size:.84rem;
  line-height:1.65;
}
.df-solution-link-card__action{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:auto;
  color:#087d68;
  font-size:.76rem;
  font-weight:780;
}
.df-solution-link-card__action i{transition:transform .18s ease}
.df-solution-link-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,125,104,.35);
  color:var(--df-brand-navy,#002f50)!important;
  background:#fff;
  box-shadow:0 18px 38px rgba(0,47,80,.11);
}
.df-solution-link-card:hover .df-solution-link-card__action i{transform:translateX(4px)}
.df-solution-link-card:focus-visible{
  outline:3px solid rgba(34,221,176,.62);
  outline-offset:4px;
}

.df-pricing-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:-.4rem auto 1rem;
  padding:.9rem 1rem;
  max-width:920px;
  border:1px solid #dfe8ed;
  border-radius:12px;
  background:#fff;
}
.df-pricing-toolbar strong,.df-pricing-toolbar span{display:block}
.df-pricing-toolbar strong{color:#294457;font-size:.82rem}
.df-pricing-toolbar span{margin-top:.18rem;color:#7a8c98;font-size:.7rem}
.df-currency-switcher{display:inline-flex;padding:3px;border:1px solid #dce5eb;border-radius:9px;background:#f4f7f9;flex:0 0 auto}
.df-currency-switcher button{
  min-width:52px;
  border:0;
  border-radius:7px;
  padding:.42rem .55rem;
  background:transparent;
  color:#667b8a;
  font-size:.72rem;
  font-weight:800;
}
.df-currency-switcher button:hover{color:#063f97}
.df-currency-switcher button[aria-pressed="true"]{background:#fff;color:#063f97;box-shadow:0 1px 5px rgba(22,49,70,.1)}
.df-currency-switcher button:focus-visible{outline:2px solid #1ca88f;outline-offset:2px}

.df-payment-rail{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  margin:0 0 1.25rem;
  padding:1rem 1.1rem;
  border:1px solid #dce8e5;
  border-radius:14px;
  background:#f5fbf9;
}
.df-payment-rail__copy span,.df-payment-rail__copy strong{display:block}
.df-payment-rail__copy span{color:#168875;font-size:.66rem;font-weight:820;letter-spacing:.1em;text-transform:uppercase}
.df-payment-rail__copy strong{margin-top:.25rem;color:#294457;font-size:.87rem}
.df-payment-methods{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.55rem}
.df-payment-method{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:34px;
  padding:.38rem .65rem;
  border:1px solid #d6e1e6;
  border-radius:9px;
  background:#fff;
  color:#405866;
  font-size:.72rem;
  font-weight:680;
}
.df-payment-method--mtn{border-color:#ead45a;background:#fffbea;color:#493e00}
.df-payment-method--airtel{border-color:#efc3c3;background:#fff8f8;color:#9c1c21}
.df-payment-method--card i{color:#2b6fb7}
.df-pricing-price [data-price-current]{white-space:nowrap}

.df-registration-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin:1.2rem 0 1.5rem;
}
.df-registration-benefits>div{
  padding:.8rem;
  border:1px solid #dfe8ed;
  border-radius:12px;
  background:#fff;
  color:#5c7180;
  font-size:.74rem;
}
.df-registration-benefits i{display:block;margin-bottom:.35rem;color:#1ca88f;font-size:1rem}
.df-registration-benefits strong{display:block;color:#294457;font-size:.8rem}
.df-registration-benefits span{display:block;margin-top:.18rem;line-height:1.4}
.df-registration-free-note{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin-bottom:1rem;
  padding:.85rem 1rem;
  border:1px solid #cfe8e1;
  border-radius:10px;
  background:#f3fbf8;
  color:#4c665f;
  font-size:.8rem;
}
.df-registration-free-note i{color:#168875;font-size:1.05rem}
.df-payment-option-icon--mtn{background:#fff8cf!important;color:#594900!important}
.df-payment-option-icon--airtel{background:#fff0f0!important;color:#bd1e2d!important}

@media(max-width:991.98px){
  .df-crm-comparison{grid-template-columns:1fr}
  .df-crm-comparison__arrow{transform:rotate(90deg)}
  .df-payment-rail{align-items:flex-start;flex-direction:column}
  .df-payment-methods{justify-content:flex-start}
}
@media(max-width:767.98px){
  .df-conversion-banner__inner{justify-content:flex-start;gap:.32rem .8rem;padding:.5rem 0;font-size:.67rem}
  .df-conversion-banner__inner span:last-child{width:100%}
  .df-crm-title{max-width:none;font-size:1.85rem}
  .df-crm-outcomes{grid-template-columns:1fr}
  .df-pricing-toolbar{align-items:stretch;flex-direction:column}
  .df-currency-switcher{align-self:flex-start}
  .df-payment-methods{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .df-payment-method:last-child{grid-column:1/-1}
  .df-registration-benefits{grid-template-columns:1fr}
  .df-solution-link-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .df-solution-link-card,.df-solution-link-card__action i{transition:none}
  .df-solution-link-card:hover{transform:none}
}

/* ==========================================================
   Patch 027 UI refinement
   ========================================================== */

.df-solution-intro{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.df-solution-links-grid--primary{
  margin-top:2rem;
}

.df-solution-link-card--primary{
  min-height:280px;
  padding:1.8rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.df-solution-link-card--primary .df-solution-link-card__icon{
  width:52px;
  height:52px;
  border-radius:16px;
  margin-bottom:1.35rem;
}

.df-solution-link-card--primary h3{
  font-size:1.18rem;
  line-height:1.2;
  margin-bottom:.65rem;
}

.df-solution-link-card--primary p{
  font-size:.94rem;
  line-height:1.65;
}

.df-solution-link-card--primary .df-solution-link-card__action{
  margin-top:auto;
  padding-top:1.25rem;
}

.df-solution-audience{
  margin-top:2rem;
  padding:1.4rem 1.5rem;
  border:1px solid rgba(5,80,92,.10);
  border-radius:20px;
  background:rgba(255,255,255,.72);
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(0,2fr);
  gap:1.25rem 2rem;
  align-items:center;
}

.df-solution-audience__intro{
  display:flex;
  flex-direction:column;
  gap:.3rem;
}

.df-solution-audience__eyebrow{
  color:var(--df-brand-teal,#0aa899);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.df-solution-audience__intro strong{
  color:var(--df-brand-navy,#002f50);
  font-size:.96rem;
  line-height:1.45;
}

.df-solution-audience__links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}

.df-solution-audience__link{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.7rem;
  min-height:52px;
  padding:.65rem .8rem;
  border:1px solid rgba(5,80,92,.10);
  border-radius:13px;
  background:#fff;
  color:var(--df-brand-navy,#002f50);
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.df-solution-audience__link:hover{
  transform:translateY(-2px);
  border-color:rgba(10,168,153,.38);
  box-shadow:0 8px 24px rgba(0,47,80,.07);
}

.df-solution-audience__link:focus-visible{
  outline:3px solid rgba(10,168,153,.25);
  outline-offset:2px;
}

.df-solution-audience__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(10,168,153,.09);
  color:var(--df-brand-teal,#0aa899);
}


/* Final conversion decision */

.df-site-final .df-final-panel--decision{
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr)!important;
  gap:2.5rem!important;
  align-items:center!important;
}

.df-final-panel__copy{
  max-width:520px;
}

.df-final-choices{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.75rem!important;
  width:100%;
}

.df-site-final .df-final-choice{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.9rem;
  width:100%;
  padding:1rem 1.05rem;
  border-radius:15px;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.df-site-final .df-final-choice--primary{
  background:var(--df-brand-teal,#0aa899)!important;
  border:1px solid var(--df-brand-teal,#0aa899)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(0,0,0,.11);
}

.df-site-final .df-final-choice--secondary{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
}

.df-site-final .df-final-choice:hover{
  transform:translateY(-2px);
}

.df-site-final .df-final-choice--primary:hover{
  box-shadow:0 16px 32px rgba(0,0,0,.16);
}

.df-final-choice__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(255,255,255,.14);
  font-size:1.1rem;
}

.df-final-choice__copy{
  display:flex;
  flex-direction:column;
  gap:.16rem;
}

.df-final-choice__copy strong{
  color:inherit;
  font-size:.96rem;
}

.df-final-choice__copy small{
  color:inherit;
  opacity:.76;
  font-size:.74rem;
}

.df-final-choice__arrow{
  opacity:.75;
}

.df-final-secondary-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem .55rem;
  padding:.35rem .2rem 0;
  color:#bcd8da;
  font-size:.76rem;
}

.df-site-final .df-final-secondary-links a{
  color:#fff!important;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
}

.df-site-final .df-final-secondary-links a:hover{
  border-color:#fff;
}


/* Structured footer */

.df-site-footer-inner--structured{
  display:grid!important;
  grid-template-columns:minmax(220px,1.1fr) minmax(420px,1.5fr)!important;
  gap:4rem!important;
  align-items:start!important;
}

.df-site-footer-brand{
  max-width:310px;
}

.df-site-footer-brand__note{
  display:block;
  margin-top:.65rem;
  color:#7fa9ad;
  font-size:.72rem;
}

.df-site-footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2rem;
}

.df-site-footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.7rem;
}

.df-site-footer-column h2{
  margin:0 0 .2rem;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.df-site-footer-column a{
  color:#c2dddf!important;
  font-size:.78rem;
  text-decoration:none;
}

.df-site-footer-column a:hover{
  color:#fff!important;
}

.df-site-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:2rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.08);
  color:#789fa3;
  font-size:.68rem;
}


/* Responsive */

@media (max-width:991.98px){
  .df-solution-audience{
    grid-template-columns:1fr;
  }

  .df-site-final .df-final-panel--decision{
    grid-template-columns:1fr!important;
    gap:1.4rem!important;
  }

  .df-final-panel__copy{
    max-width:none;
  }

  .df-site-footer-inner--structured{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
}

@media (max-width:767.98px){
  .df-solution-links-grid--primary{
    gap:.8rem!important;
  }

  .df-solution-link-card--primary{
    min-height:0;
    padding:1.15rem;
  }

  .df-solution-link-card--primary .df-solution-link-card__icon{
    width:44px;
    height:44px;
    margin-bottom:.9rem;
  }

  .df-solution-audience{
    margin-top:1rem;
    padding:1rem;
    border-radius:16px;
  }

  .df-solution-audience__links{
    grid-template-columns:1fr;
  }

  .df-site-final .df-final-panel--decision{
    padding:1.25rem!important;
  }

  .df-final-choice__copy strong{
    font-size:.86rem;
  }

  .df-final-choice__copy small{
    font-size:.68rem;
  }

  .df-final-secondary-links{
    justify-content:center;
    text-align:center;
  }

  .df-site-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.5rem 1rem;
  }

  .df-site-footer-column:last-child{
    grid-column:1 / -1;
  }

  .df-site-footer-bottom{
    flex-direction:column;
    gap:.3rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .df-solution-audience__link,
  .df-site-final .df-final-choice{
    transition:none;
  }

  .df-solution-audience__link:hover,
  .df-site-final .df-final-choice:hover{
    transform:none;
  }
}
