/* Dr.Site 0.2.31 — shared conversion layer. Scoped to existing design. */
:root {
  --ds-conversion-border:#dce9ef;
  --ds-conversion-shadow:0 15px 35px rgba(6,31,53,.08);
}
/* Pricing continues to favor Business without overpowering the other choices. */
.ds-pricing-grid .ds-price-card {transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ds-pricing-grid .ds-price-card--featured {box-shadow:0 15px 35px rgba(19,203,211,.16)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .ds-pricing-grid .ds-price-card:hover {box-shadow:0 18px 38px rgba(6,31,53,.11);transform:translateY(-3px)}
}
/* Custom projects: this is a premium, clearly visible branch of the sales funnel. */
.ds-home .ds-custom-plan,.ds-maint-page .ds-custom-plan {
  border:1px solid rgba(19,203,211,.3);
  background:linear-gradient(110deg,#def9fc 0%,#c9f3f8 100%);
  box-shadow:0 9px 24px rgba(6,31,53,.07);
  padding-block:23px;
}
.ds-home .ds-custom-plan::before,.ds-maint-page .ds-custom-plan::before {width:48px;height:48px;left:17px;box-shadow:0 3px 10px rgba(6,31,53,.09)}
.ds-home .ds-custom-plan::after,.ds-maint-page .ds-custom-plan::after {width:24px;height:24px;left:29px}
.ds-home .ds-custom-plan h3,.ds-maint-page .ds-custom-plan h3 {font-size:clamp(17px,1.5vw,21px);font-weight:700;line-height:1.18;margin:0 0 5px}
.ds-home .ds-custom-plan p,.ds-maint-page .ds-custom-plan p {font-size:14px;line-height:1.45;color:#405e72}
.ds-home .ds-custom-plan .wp-block-button__link,.ds-maint-page .ds-custom-plan .wp-block-button__link {
  background:var(--ds-navy);border-color:var(--ds-navy);color:#fff;min-height:46px;padding:11px 19px;
}
.ds-home .ds-custom-plan .wp-block-button__link:hover {background:#124263}
/* Credibility: larger type, better separation and depth, while still light and professional. */
.ds-home .ds-proof {background:linear-gradient(180deg,#fff 0%,#f9fcfe 100%)}
.ds-home .ds-proof__top {gap:clamp(24px,3.5vw,52px)}
.ds-home .ds-testimonials {gap:clamp(14px,1.6vw,22px);margin-top:28px!important}
.ds-home .ds-testimonial {
  min-height:205px;padding:23px 24px 21px;
  background:#fff;border:1px solid #dce8ef;border-radius:12px;
  box-shadow:var(--ds-conversion-shadow);
}
.ds-home .ds-testimonial .ds-quote {font-size:46px;line-height:.75;margin-bottom:17px!important}
.ds-home .ds-testimonial > p:not(.ds-quote) {font-size:14.5px;line-height:1.54;color:#415d72}
.ds-home .ds-testimonial > p:last-child {margin-top:auto;color:var(--ds-ink)}
.ds-home .ds-stats > div::after {background:var(--ds-cyan)}
/* The single footer CTA remains editorial and uses the same grid everywhere. */
.ds-cta--conversion .ds-cta__grid {grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:center}
.ds-cta--conversion .ds-conversion-final {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-width:0}
.ds-cta--conversion .ds-conversion-final__buttons {display:flex;justify-content:center;width:100%}
.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button,
.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link {width:min(100%,355px)}
.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link {
  display:flex;align-items:center;justify-content:center;min-height:55px;
  background:var(--ds-cyan);border:1px solid var(--ds-cyan);border-radius:8px;
  padding:14px 22px;color:var(--ds-navy);font-size:14px;font-weight:700;text-align:center;
  text-transform:uppercase;letter-spacing:.012em;
  box-shadow:0 8px 25px rgba(19,203,211,.20),0 0 0 1px rgba(255,255,255,.14);transition:background .16s ease,transform .16s ease;
}
.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link:hover {background:var(--ds-cyan-dark);border-color:var(--ds-cyan-dark)}
.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link:focus-visible {outline:3px solid #fff;outline-offset:3px}
.ds-cta--conversion .ds-conversion-final__hint {color:#c5dce7;font-size:12.5px;text-align:center;line-height:1.4;margin:0!important}
/* Semantic red exclusively for urgent problems. Icon circle stays round on mobile. */
.ds-urgent .ds-urgent__icon {aspect-ratio:1;flex-shrink:0;border-radius:50%}
.ds-urgent .ds-danger-button .wp-block-button__link {background:var(--ds-danger)!important;border-color:var(--ds-danger)!important;color:#fff!important;min-height:45px}
/* Modal uses native <dialog> for keyboard, focus trap and Escape behavior. */
.ds-lead-dialog {position:fixed;inset:0;width:min(94vw,610px);max-width:610px;max-height:min(90dvh,840px);
  margin:auto;padding:0;overflow:auto;border:1px solid #d8e9f0;border-radius:16px;
  background:#fff;color:var(--ds-ink);box-shadow:0 35px 90px rgba(0,12,30,.36);overscroll-behavior:contain}
.ds-lead-dialog::backdrop {background:rgba(2,18,34,.73);backdrop-filter:blur(3px)}
.ds-lead-dialog__panel {padding:clamp(19px,3.1vw,36px)}
.ds-lead-dialog__header {display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.ds-lead-dialog__eyebrow {color:#5c7185;font:700 11px/1.3 Inter,sans-serif;letter-spacing:.055em;margin:0 0 10px}
.ds-lead-dialog h2 {font:700 clamp(26px,3.1vw,33px)/1.14 Inter,sans-serif;letter-spacing:-.025em;color:var(--ds-ink);margin:0 0 10px}
.ds-lead-dialog__header p:not(.ds-lead-dialog__eyebrow) {font-size:14px;line-height:1.5;color:var(--ds-muted);margin:0 0 19px}
.ds-lead-dialog__close {flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;
  padding:0;background:#eff8fb;border:1px solid #d9e8ee;border-radius:10px;
  font-size:26px;line-height:1;color:var(--ds-ink);cursor:pointer}
.ds-lead-dialog__close:hover {background:#dff4f7}
.ds-lead-dialog__context {padding:10px 13px;margin:0 0 15px;border-radius:8px;
  color:#165668;background:#eafaff;font-weight:650;font-size:13px;line-height:1.4}
.ds-lead-dialog__form :is(input:not([type="hidden"]),select,textarea) {box-sizing:border-box;max-width:100%;width:100%;min-height:44px;
  padding:10px 12px;color:var(--ds-ink);background:#fff;border:1px solid #d6e5eb;border-radius:7px}
.ds-lead-dialog__form textarea {min-height:105px}
.ds-lead-dialog__form :is(button[type="submit"],input[type="submit"],.ff-btn-submit) {min-height:47px;
  border:0!important;border-radius:8px!important;background:var(--ds-cyan)!important;color:var(--ds-navy)!important;font-weight:700!important}
.ds-lead-dialog__form :is(label,.ff-el-input--label) {font-weight:600;color:var(--ds-ink)}
.ds-lead-dialog :is(button,a,input,select,textarea):focus-visible {outline:3px solid rgba(19,203,211,.65);outline-offset:2px}
.ds-lead-dialog__assurance {margin:16px 0 0;color:var(--ds-muted);text-align:center;font-size:12px;line-height:1.45}
html.ds-conversion-modal-open {overflow:hidden}
@media(max-width:900px) {
  .ds-cta--conversion .ds-cta__grid {grid-template-columns:1fr;gap:24px}
  .ds-cta--conversion .ds-conversion-final {align-items:flex-start}
  .ds-cta--conversion .ds-conversion-final__buttons {justify-content:flex-start}
}
@media(max-width:680px) {
  .ds-home .ds-hero__buttons {display:grid;grid-template-columns:1fr;gap:10px!important;width:100%}
  .ds-home .ds-hero__buttons .wp-block-button,.ds-home .ds-hero__buttons .wp-block-button__link {width:100%}
  .ds-home .ds-hero__meta {gap:10px 16px!important}
  .ds-pricing-grid .ds-price-card {margin-inline:0}
  .ds-home .ds-custom-plan {padding:19px 16px 19px 70px;grid-template-columns:1fr;gap:16px}
  .ds-home .ds-custom-plan::before {left:13px;top:25px;transform:none;width:42px;height:42px}
  .ds-home .ds-custom-plan::after {left:23px;top:35px;transform:none;width:22px;height:22px}
  .ds-home .ds-custom-plan .wp-block-buttons,.ds-home .ds-custom-plan .wp-block-button,.ds-home .ds-custom-plan .wp-block-button__link {width:100%}
  .ds-home .ds-custom-plan .wp-block-button__link {white-space:normal}
  /* Equal-height proof cards: one 1fr grid row per card, all use the tallest
     testimonial's natural content height; no fragile fixed min-height. */
  .ds-home .ds-testimonials {display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:14px;align-items:stretch}
  .ds-home .ds-testimonial {min-height:0;height:100%;padding:19px 19px 17px}
  .ds-cta--conversion .ds-cta__grid {display:flex;flex-direction:column;align-items:stretch;gap:20px}
  .ds-cta--conversion .ds-conversion-final {align-items:stretch}
  .ds-cta--conversion .ds-conversion-final__buttons .wp-block-button,.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link {width:100%}
  .ds-lead-dialog {width:calc(100% - 20px);max-height:calc(100dvh - 22px);border-radius:13px}
  .ds-lead-dialog__panel {padding:20px 17px 18px}
  .ds-lead-dialog h2 {font-size:26px}
  .ds-lead-dialog__context {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
  .ds-pricing-grid .ds-price-card,.ds-cta--conversion .ds-conversion-final__buttons .wp-block-button__link {transition:none!important;transform:none!important}
  .ds-lead-dialog::backdrop {backdrop-filter:none}
}

