/* Projectify Lab 2.9 - $300/month digital marketing offer.
   Non-intrusive by design: a dismissible card that never covers the main
   content on mobile (Google's intrusive-interstitial guidance). */
.pl-offer{position:fixed;z-index:60;right:24px;bottom:24px;width:min(400px,calc(100vw - 32px));background:var(--white,#fff);color:var(--ink,#15243a);border:1px solid var(--line,#dce3ed);border-radius:var(--radius,14px);box-shadow:0 24px 60px -20px rgba(16,30,52,.35),0 2px 6px rgba(16,30,52,.08);padding:24px 24px 20px;font-family:var(--font,system-ui,sans-serif);transform:translateY(16px);opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s,visibility 0s linear .35s}
.pl-offer.is-open{transform:none;opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s,visibility 0s}
.pl-offer__close{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted,#56647a);font-size:22px;line-height:1;cursor:pointer}
.pl-offer__close:hover,.pl-offer__close:focus-visible{background:var(--soft,#f0f4f9);color:var(--ink,#15243a)}
.pl-offer__close:focus-visible,.pl-offer a:focus-visible{outline:2px solid var(--blue,#245eea);outline-offset:2px}
.pl-offer__kicker{margin:0 40px 10px 0;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--blue,#245eea)}
.pl-offer .pl-offer__title{margin:0 0 6px;max-width:none;font-family:var(--font,system-ui,sans-serif);font-size:21px;line-height:1.25;font-weight:650;letter-spacing:-.015em;color:var(--ink,#15243a)}
.pl-offer__price{display:flex;align-items:baseline;gap:6px;margin:12px 0 4px}
.pl-offer .pl-offer__price strong{font-size:40px;line-height:1;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--blue,#245eea)}
.pl-offer__price span{font-size:15px;color:var(--muted,#56647a)}
.pl-offer__list{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:8px;font-size:14.5px;line-height:1.45}
.pl-offer__list li{position:relative;padding-left:26px}
.pl-offer__list li::before{content:"";position:absolute;left:2px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--blue,#245eea);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm3.6 5.8-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.5a.8.8 0 1 1 1.2-1.1l1.2 1.3 3.6-4a.8.8 0 0 1 1.2 1.1Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm3.6 5.8-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.5a.8.8 0 1 1 1.2-1.1l1.2 1.3 3.6-4a.8.8 0 0 1 1.2 1.1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pl-offer__actions{display:grid;gap:10px}
.pl-offer__cta{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:7px;background:var(--blue,#245eea);color:#fff;font-size:15px;font-weight:650;text-decoration:none;transition:background .2s}
.pl-offer__cta:hover{background:var(--blue-dark,#194dc7);color:#fff}
.pl-offer__more{justify-self:center;font-size:14px;font-weight:600;color:var(--ink,#15243a);text-decoration:underline;text-underline-offset:3px}
.pl-offer__note{margin:12px 0 0;font-size:12px;color:var(--muted,#56647a);text-align:center}
/* Compact pill shown after the card is dismissed, so the offer stays reachable. */
.pl-offer-pill{position:fixed;z-index:59;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:var(--navy,#101e34);color:#fff;font:600 14px/1 var(--font,system-ui,sans-serif);box-shadow:0 12px 30px -12px rgba(16,30,52,.5);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s}
.pl-offer-pill.is-open{opacity:1;visibility:visible;transition:opacity .25s,visibility 0s}
.pl-offer-pill b{color:var(--sky,#b4ceff)}
.pl-offer-pill:focus-visible{outline:2px solid var(--blue,#245eea);outline-offset:3px}
@media (max-width:640px){
  .pl-offer{right:12px;bottom:12px;left:12px;width:auto;padding:18px 18px 16px;max-height:40vh;overflow:auto}
  .pl-offer .pl-offer__title{font-size:17px}
  .pl-offer__price{margin-top:8px}
  .pl-offer .pl-offer__price strong{font-size:28px}
  .pl-offer__list{display:none}
  .pl-offer__note{display:none}
  .pl-offer-pill{right:12px;bottom:12px}
}
@media (prefers-reduced-motion:reduce){.pl-offer,.pl-offer.is-open,.pl-offer-pill{transition:none;transform:none}}
@media print{.pl-offer,.pl-offer-pill{display:none!important}}
/* Price block on the package service page. */
.service-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:22px 0 0}
.service-price strong{font-size:44px;line-height:1;font-weight:700;letter-spacing:-.04em;color:var(--blue,#245eea)}
.service-price span{color:var(--muted,#56647a);font-size:16px}
.service-price small{flex-basis:100%;color:var(--muted,#56647a);font-size:14px}
/* 2.9.1 - top offer bar. Part of the initial HTML, so it reserves its own height
   (no layout shift); only the inner row animates with a transform. */
.pl-bar{position:relative;z-index:101;overflow:hidden;background:linear-gradient(90deg,#194dc7,#245eea 55%,#3b74f5);color:#fff;font-family:var(--font,system-ui,sans-serif)}
.pl-bar[hidden]{display:none}
.pl-bar__inner{display:flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding-top:7px;padding-bottom:7px;animation:plBarIn .55s cubic-bezier(.2,.7,.2,1) .1s both}
@keyframes plBarIn{from{transform:translateY(-110%)}to{transform:none}}
.pl-bar__text{display:flex;align-items:center;gap:10px;margin:0;font-size:14.5px;line-height:1.35;color:#fff}
.pl-bar__text strong{font-weight:700;color:#fff}
.pl-bar__tag{flex:none;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.18);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pl-bar__short{display:none}
.pl-bar__cta{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 14px;border-radius:999px;background:#fff;color:#194dc7;font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.pl-bar__cta:hover{color:#194dc7;transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(0,0,0,.35)}
.pl-bar__close{flex:none;width:32px;height:32px;margin-left:-4px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;opacity:.85}
.pl-bar__close:hover{background:rgba(255,255,255,.16);opacity:1}
.pl-bar__cta:focus-visible,.pl-bar__close:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:760px){
  .pl-bar__inner{justify-content:space-between;gap:10px}
  .pl-bar__long,.pl-bar__tag{display:none}
  .pl-bar__short{display:inline}
  .pl-bar__text{font-size:13px}
  .pl-bar__cta{padding:6px 12px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.pl-bar__inner{animation:none}}
@media print{.pl-bar{display:none!important}}
