/* ============================================================
   css/location-hero.css
   The flagship "Tablet-Based IPD Software" visual design, scoped
   under .dipd-loc so it only applies inside location.php and never
   touches the rest of the site's look (site.css stays untouched).
   Header/nav/footer are NOT redefined here — those keep using the
   real site chrome from partials/nav.php + partials/foot.php.
   ============================================================ */

.dipd-loc{
  --plum:#2C1036;--violet:#4E1560;--purple:#7A2090;--rose:#AE3A48;--teal:#1F9E97;
  --cream:#FDFCFD;
  --rule:rgba(44,16,54,.13);--rule-soft:rgba(44,16,54,.08);--muted:rgba(44,16,54,.62);
  --display:"Fraunces",Georgia,serif;--body:"Bricolage Grotesque",system-ui,sans-serif;
  --hand:"Caveat",cursive;
  --grad:linear-gradient(142deg,#2C1036 0%,#3E1044 42%,#5A1668 78%,#7A2090 100%);

  background:var(--cream);color:var(--plum);font-family:var(--body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.dipd-loc *,.dipd-loc *::before,.dipd-loc *::after{box-sizing:border-box}
.dipd-loc a{color:var(--violet);text-underline-offset:3px}
.dipd-loc svg{display:block;max-width:100%;height:auto}
.dipd-loc .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 30px}

.dipd-loc h1,.dipd-loc h2,.dipd-loc h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;
  line-height:1.08;margin:0;text-wrap:balance}
.dipd-loc h1{font-size:clamp(2.15rem,4.4vw,3.5rem);line-height:1.05}
.dipd-loc h2{font-size:clamp(1.85rem,3.3vw,2.7rem)}
.dipd-loc h3{font-size:1.18rem;line-height:1.28}
.dipd-loc em{font-style:italic;color:var(--purple)}
.dipd-loc .on-dark h1 em,.dipd-loc .on-dark h2 em{color:#D9A6F0}
.dipd-loc p{margin:0 0 1em;max-width:60ch}
.dipd-loc section{padding:96px 0}

.dipd-loc .eyebrow{display:flex;align-items:center;gap:16px;font-size:.72rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--rose);margin:0 0 22px}
.dipd-loc .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--rose);flex-shrink:0}
.dipd-loc .on-dark .eyebrow{color:#E8A0AE}
.dipd-loc .on-dark .eyebrow::before{background:#E8A0AE}

.dipd-loc .btn{display:inline-block;font-family:var(--body);font-size:.98rem;font-weight:600;
  padding:14px 28px;border-radius:4px;text-decoration:none;border:1.5px solid transparent;
  transition:background-color .18s,color .18s,border-color .18s;cursor:pointer}
.dipd-loc .btn-primary{background:var(--rose);color:#fff}
.dipd-loc .btn-primary:hover{background:var(--violet);color:#fff}
.dipd-loc .btn-light{background:#fff;color:var(--violet)}
.dipd-loc .btn-light:hover{background:#F3DFFA}
.dipd-loc .btn-outline{border-color:rgba(255,255,255,.42);color:#fff}
.dipd-loc .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.dipd-loc .actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}

/* HERO */
.dipd-loc .hero{background:var(--grad);color:#fff;position:relative;overflow:hidden;padding:88px 0 96px}
.dipd-loc .hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(720px 420px at 86% 6%,rgba(217,166,240,.2),transparent 60%)}
.dipd-loc .hero .wrap{position:relative;z-index:2}
.dipd-loc .hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;
  align-items:center}
.dipd-loc .hero h1{color:#fff;margin-bottom:22px}
.dipd-loc .hero-sub{font-size:1.12rem;color:rgba(255,255,255,.82);max-width:50ch;margin:0}
.dipd-loc .hero-note{font-size:.92rem;color:rgba(255,255,255,.6);margin:30px 0 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18);max-width:46ch}
.dipd-loc .loc-kicker{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.68);margin:0 0 14px}

/* PORTRAIT TABLET */
.dipd-loc .device{max-width:330px;margin:0 auto;filter:drop-shadow(0 34px 60px rgba(0,0,0,.5))}

/* PROBLEM -> SOLUTION */
.dipd-loc .ps{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.dipd-loc .card{border:1px solid var(--rule);border-radius:10px;padding:36px 34px;background:#fff}
.dipd-loc .card.dark{background:var(--grad);border:0;color:#fff}
.dipd-loc .card h3{font-size:1.42rem;margin-bottom:6px}
.dipd-loc .card.dark h3{color:#fff}
.dipd-loc .card-sub{font-size:.83rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--rose);margin:0 0 22px}
.dipd-loc .card.dark .card-sub{color:#7FE3DC}
.dipd-loc .pslist{list-style:none;margin:0;padding:0}
.dipd-loc .pslist li{position:relative;padding:15px 0 15px 28px;font-size:.99rem;line-height:1.52}
.dipd-loc .pslist li+li{border-top:1px solid var(--rule-soft)}
.dipd-loc .card.dark .pslist li+li{border-top-color:rgba(255,255,255,.15)}
.dipd-loc .pslist li::before{position:absolute;left:0;top:15px;font-size:1.02rem;font-weight:700}
.dipd-loc .card:not(.dark) .pslist li::before{content:"\00d7";color:var(--rose)}
.dipd-loc .card.dark .pslist li::before{content:"\2713";color:#7FE3DC}
.dipd-loc .card.dark .pslist li{color:rgba(255,255,255,.9)}
.dipd-loc .pslist strong{font-weight:600}
.dipd-loc .card.dark .pslist strong{color:#fff}

/* NOTHING TO */
.dipd-loc .nothing{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;
  border-top:1px solid var(--rule)}
.dipd-loc .nothing>div{padding:34px 34px 8px 0;border-right:1px solid var(--rule-soft)}
.dipd-loc .nothing>div:last-child{border-right:0;padding-right:0}
.dipd-loc .nothing b{display:block;font-family:var(--display);font-size:1.55rem;font-weight:600;
  color:var(--purple);letter-spacing:-.02em;margin-bottom:12px}
.dipd-loc .nothing p{font-size:.99rem;color:var(--muted);margin:0;max-width:34ch}

/* PEDIGREE */
.dipd-loc .pedigree{background:var(--grad);color:#fff}
.dipd-loc .pedigree h2{color:#fff;max-width:16ch}
.dipd-loc .pedigree-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;
  align-items:center}
.dipd-loc .stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.16);border-radius:10px;overflow:hidden}
.dipd-loc .stats>div{padding:24px 26px;background:rgba(44,16,54,.34)}
.dipd-loc .stats b{display:block;font-family:var(--display);font-size:2rem;font-weight:600;
  line-height:1;margin-bottom:8px}
.dipd-loc .stats span{font-size:.85rem;color:rgba(255,255,255,.72);line-height:1.4}
.dipd-loc .certs{margin-top:24px;font-size:.88rem;color:rgba(255,255,255,.72)}

/* LIGHT STATS — location health-status numbers on a cream section */
.dipd-loc .stats-light{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-top:30px}
.dipd-loc .stats-light>div{padding:24px 26px;background:#fff}
.dipd-loc .stats-light b{display:block;font-family:var(--display);font-size:2rem;font-weight:600;
  color:var(--purple);line-height:1;margin-bottom:8px}
.dipd-loc .stats-light span{font-size:.85rem;color:var(--muted);line-height:1.4}

/* CAPTURES / CHIPS (also reused for the places-served list) */
.dipd-loc .caps{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.dipd-loc .caps span,.dipd-loc .caps a.chip{border:1px solid var(--rule);border-radius:40px;padding:11px 22px;
  font-size:.97rem;background:#fff}
.dipd-loc .caps a.chip{color:inherit;text-decoration:none;display:inline-block;transition:border-color .15s,color .15s}
.dipd-loc .caps a.chip:hover,.dipd-loc .caps a.chip:focus-visible{border-color:var(--purple);color:var(--purple)}
.dipd-loc .caps-note{margin-top:22px;font-size:.95rem;color:var(--muted)}

/* FAQ */
.dipd-loc .faq{max-width:800px;margin-top:34px}
.dipd-loc .faq details{border-bottom:1px solid var(--rule-soft)}
.dipd-loc .faq summary{cursor:pointer;padding:20px 36px 20px 0;font-family:var(--display);font-size:1.1rem;
  font-weight:600;list-style:none;position:relative}
.dipd-loc .faq summary::-webkit-details-marker{display:none}
.dipd-loc .faq summary::after{content:"+";position:absolute;right:4px;top:17px;font-family:var(--body);
  font-size:1.45rem;font-weight:400;color:var(--purple);line-height:1}
.dipd-loc .faq details[open] summary::after{content:"\2212"}
.dipd-loc .faq details p{padding:0 0 20px;color:var(--muted);font-size:.98rem;max-width:70ch}

/* CTA */
.dipd-loc .cta{background:var(--grad);color:#fff}
.dipd-loc .cta h2{color:#fff;max-width:16ch}
.dipd-loc .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.dipd-loc .cta p{color:rgba(255,255,255,.78)}
.dipd-loc .cta-contact{margin-top:26px}
.dipd-loc .cta-contact a{color:#fff;font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.4)}
.dipd-loc .form{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:10px;padding:30px}
.dipd-loc .form label{display:block;font-size:.79rem;color:rgba(255,255,255,.7);margin:0 0 6px}
.dipd-loc .form input,.dipd-loc .form select{width:100%;font-family:var(--body);font-size:.98rem;color:#fff;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:4px;
  padding:12px 13px;margin-bottom:15px}
.dipd-loc .form select option{color:var(--plum)}
.dipd-loc .form button{width:100%;font:600 1rem var(--body);color:#fff;background:var(--rose);border:0;
  border-radius:4px;padding:15px;cursor:pointer}
.dipd-loc .form button:hover{background:#fff;color:var(--violet)}
.dipd-loc .form-note{font-size:.78rem;color:rgba(255,255,255,.5);margin:12px 0 0}

/* SIBLINGS / cross-links */
.dipd-loc .siblings{border-top:1px solid var(--rule)}
.dipd-loc .siblings h2{font-size:1.5rem}
.dipd-loc .sib-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;margin:26px 0 0;padding:0}
.dipd-loc .sib-list a{display:inline-block;border:1px solid var(--rule);border-radius:40px;
  padding:9px 18px;font-size:.92rem;text-decoration:none;color:var(--plum)}
.dipd-loc .sib-list a:hover{border-color:var(--purple);color:var(--purple)}

/* ============================================================
   SITE.CSS ISOLATION LAYER
   ------------------------------------------------------------
   The location page reuses class NAMES that site.css already
   defines globally for other pages:

     .hero .device .pedigree .cta .actions  -> inside-the-ward.php
     .stats                                 -> home-body.php
     .card                                  -> blog-post / book-a-demo / brochure modal
     .certs                                 -> partials/foot.php
     .btn .btn-primary .btn-outline .wrap
     .eyebrow .loc-kicker                   -> used site-wide

   None of those can be deleted from site.css — every one of them
   is load-bearing for another page (see the list above). So instead
   of removing them there, this block cancels the declarations that
   leak in here. Each rule below neutralises a specific site.css
   declaration; the site.css selector it answers is named in the
   comment. Delete a line here only if you also delete its twin there.
   ============================================================ */

/* site.css .hero{height:100vh; background:transparent !important; margin:0;padding:0}
   The !important is why the hero gradient was not showing at all, and
   100vh is why it was a full screen tall with the content floating. */
.dipd-loc .hero{
  background:var(--grad) !important;
  height:auto;min-height:0;width:auto;
}

/* site.css .device{background:var(--ink);border-radius:22px;padding:12px;box-shadow:...}
   — that is the inside-the-ward video frame; here it drew a dark slab
   behind the tablet SVG, which already draws its own bezel. */
.dipd-loc .device{
  background:none;border-radius:0;padding:0;box-shadow:none;position:static;
}

/* site.css .pedigree{max-width:32rem;margin-top:2.9rem;padding-top:1.9rem;
   border-top:1px solid ...;font-size:clamp(...);color:#F8F1F9}
   — there .pedigree is a <p>; here it is a full-bleed <section>, so the
   32rem cap was squeezing the whole band into a column. */
.dipd-loc .pedigree{
  max-width:none;margin-top:0;border-top:0;
  font-size:inherit;color:#fff;
}

/* site.css .stats{margin:3rem auto 0;max-width:820px;grid-template-columns:repeat(3,1fr)} */
.dipd-loc .stats{margin:0;max-width:none}

/* site.css .card{border-radius:22px;box-shadow:0 30px 60px -40px ...;position:sticky;top:104px}
   — the sticky is for the blog sidebar card; it made these two columns
   detach and follow the scroll. */
.dipd-loc .card{
  border-radius:10px;box-shadow:none;position:static;top:auto;
}
/* site.css .card h3{text-align:center;font-weight:400;font-variation-settings:'opsz' 60,'SOFT' 30;margin-top:.6rem} */
.dipd-loc .card h3{
  text-align:left;font-weight:600;font-variation-settings:normal;margin-top:0;
}

/* site.css .certs{padding-top:var(--sp-3);border-top:1px solid var(--on-dark-line);max-width:none}
   — that is the footer certification strip. */
.dipd-loc .certs{padding-top:0;border-top:0}

/* site.css .cta h2{font-size:clamp(2.4rem,6vw,4.2rem);max-width:13ch} */
.dipd-loc .cta h2{font-size:clamp(1.85rem,3.3vw,2.7rem)}

/* site.css .btn{display:inline-flex;gap:.6rem;border-radius:999px;padding:.95rem 1.7rem}
   plus .btn:not(.btn-outline):not(.btn--ghost){background:var(--purple);color:#fff;margin-top:12px}
   — that last selector scores three classes, so it beat ".dipd-loc .btn"
   and painted the white hero button purple. The doubled class selectors
   below score three as well and, loading after site.css, win the tie. */
.dipd-loc .btn,
.dipd-loc a.btn{display:inline-block;gap:0;margin-top:0;border-radius:4px;
  padding:14px 28px;box-shadow:none;transform:none}
.dipd-loc .btn.btn-primary{background: #ebe8e8;
    color: #342323;
    box-shadow: none;
    border-radius: 35px;}
.dipd-loc .btn.btn-primary:hover{background:var(--violet);color:#fff}
.dipd-loc .btn.btn-light{background:#fff;color:var(--violet);border-color:transparent}
.dipd-loc .btn.btn-light:hover{background:#F3DFFA;color:var(--violet)}
.dipd-loc .btn.btn-outline{background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.42)}
.dipd-loc .btn.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

/* site.css .wrap{max-width:var(--maxw);padding-inline:clamp(1.25rem,4vw,2.5rem)} */
.dipd-loc .wrap{max-width:1120px;padding-inline:30px}

/* site.css .eyebrow{color:var(--purple);font-size:.74rem;letter-spacing:.16em}
   and .loc-kicker{color:var(--purple);margin-bottom:var(--sp-2)} */
.dipd-loc .eyebrow{color:var(--rose);font-size:.72rem;letter-spacing:.22em}
.dipd-loc .on-dark .eyebrow{color:#E8A0AE}
.dipd-loc .loc-kicker{color:rgba(255,255,255,.68);margin-bottom:14px}

@media(max-width:980px){
  .dipd-loc .hero-grid,.dipd-loc .ps,.dipd-loc .cta-grid,.dipd-loc .pedigree-grid{grid-template-columns:1fr;gap:38px}
  .dipd-loc .nothing{grid-template-columns:1fr}
  .dipd-loc .nothing>div{border-right:0;border-bottom:1px solid var(--rule-soft);padding:28px 0}
  .dipd-loc .nothing>div:last-child{border-bottom:0}
}
@media(max-width:620px){
  .dipd-loc{font-size:16px}
  .dipd-loc .wrap{padding:0 20px}
  .dipd-loc section{padding:64px 0}
  .dipd-loc .hero{padding:56px 0 64px}
  .dipd-loc .card{padding:28px 24px}
  .dipd-loc .stats{grid-template-columns:1fr}
  .dipd-loc .device{max-width:265px}
  .dipd-loc .btn{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.dipd-loc *{transition-duration:.01ms!important}}