/* ============================================================
   AMPS V2 OVERRIDES — loads LAST, after staging.css + staging-inline.css
   + amps-chrome.css. Carries (a) client decisions that intentionally
   deviate from staging, (b) local asset repoints, (c) components the
   staging site doesn't have (placeholder vocabulary, device mockups,
   team cards, forms, portals) ported from the v1 reference build.
   CLIENT LAW (do not violate anywhere):
   · numbers + bullets are SOLID colors, never gradients
   · no two dark/blue sections adjacent (staging arc already alternates)
   · gradient text only via .amps-em (light bg) / .hero-em (dark bg), sparingly
   · no em dashes in copy, no orange, ® as &reg;
   · brand order ClaimInsight → PriceDynamix → Drexi
   ============================================================ */
:root{
  --navy:#002152; --blue:#0047BB; --teal:#3CCBDA; --green:#88CAB8;
  --bg:#F4F7FA; --ink:#1E2D3D; --muted:#5A6A7A; --line:#D6E4EA;
  --grad:linear-gradient(90deg,#0047BB 0%,#3CCBDA 50%,#88CAB8 100%);
  --radius:18px;
  --shadow:0 12px 34px rgba(0,33,82,.10);
  --shadow-lg:0 26px 56px rgba(0,33,82,.16);
}

/* ---- section rhythm: Tony chose ~6rem (Sarah's whitespace note) over staging's 8rem ---- */
.section{padding:6rem 0;}
@media(max-width:991px){.section{padding:5rem 0;}}
@media(max-width:600px){.section{padding:3.75rem 0;}}
/* staging's own tighter sections keep their specificity (.section.testimonials etc.) */

/* ---- local asset repoints (same art as staging, served locally) ---- */
.pp-hero-bg-ci{background-image:url("../assets/sol/ci-bg.jpg");}
.pp-hero-bg-pd{background-image:url("../assets/sol/pd-bg.jpg");}
.pp-hero-bg-dx{background-image:url("../assets/sol/dx-bg.jpg");}
.sol-img-ci{background-image:url("../assets/sol/ci-bg.jpg");}
.sol-img-pd{background-image:url("../assets/sol/pd-bg.jpg");}
.sol-img-dx{background-image:url("../assets/sol/dx-bg.jpg");}

/* ---- generic pp-hero variant for corporate/inner pages (no brand photo yet):
       navy + subtle brand glows, with the "hero image to provide" tag ---- */
.pp-hero-bg-generic{position:absolute;inset:-9% 0;background:var(--navy);}
.pp-hero-glow-generic{pointer-events:none;position:absolute;inset:0;
  background-image:radial-gradient(62% 60% at 84% 18%,rgba(60,203,218,.22) 0%,rgba(136,202,184,.08) 42%,transparent 70%),
                   radial-gradient(50% 70% at 8% 92%,rgba(0,71,187,.28) 0%,transparent 65%);}
.pp-hero .hero-tag{position:absolute;top:84px;right:16px;z-index:3;font-size:.62rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.14);color:#cfe0ee;
  border:1px solid rgba(255,255,255,.28);padding:.3rem .65rem;border-radius:20px;}
/* compact hero for utility/archive pages */
.pp-hero.pp-hero-compact{min-height:0;}
.pp-hero.pp-hero-compact .pp-hero-pad{padding-top:5.5rem;padding-bottom:5.5rem;}
.pp-hero .eco-crumb{margin-bottom:1rem;}

/* ---- solid content bullets (client rule: never gradient) ---- */
.flist{list-style:none;display:grid;gap:1.1rem;margin:0;padding:0;}
.flist li{position:relative;padding-left:2rem;color:var(--ink);}
.flist li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:11px;
  border-radius:50%;background:var(--blue);}
.flist li strong{color:var(--navy);}
.pp-navy .flist li,.cta-section .flist li{color:rgba(255,255,255,.86);}
.pp-navy .flist li::before,.cta-section .flist li::before{background:var(--teal);}

/* ---- FAQ (centralized; markup uses .pp-faq without per-instance <style>) ---- */
.pp-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.7rem;overflow:hidden;}
.pp-faq summary{padding:1.3rem 1.6rem;font-weight:500;color:var(--navy);cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:1rem;}
.pp-faq summary::-webkit-details-marker{display:none;}
.pp-faq summary span{color:var(--blue);font-size:1.5rem;font-weight:400;flex-shrink:0;line-height:1;}
.pp-faq .a{padding:0 1.6rem 1.4rem;color:var(--muted);font-weight:400;}

/* ============================================================
   PORTED FROM V1 (components staging doesn't have)
   ============================================================ */

/* note banner (reference pages) */
.refnote{background:#fff8e6;border:1px solid #f0d98a;color:#7a5c00;font-size:.82rem;
  padding:.5rem 1rem;text-align:center;}
.refnote code{background:rgba(0,0,0,.06);padding:.1rem .35rem;border-radius:4px;font-family:inherit;}

/* asset placeholders — grey, labeled slots for imagery AMPS will provide */
.ph{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.55rem;text-align:center;background:#e9eef4;border:2px dashed #b9c6d6;border-radius:var(--radius);
  color:#5a6a7a;padding:1.7rem;min-height:240px;}
.ph svg{width:40px;height:40px;stroke:#9fb0c4;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.ph .ph-t{font-weight:600;color:#3f5064;font-size:.98rem;}
.ph .ph-d{font-size:.83rem;color:#70808f;max-width:38ch;line-height:1.5;}
.ph .ph-tag{position:absolute;top:.7rem;right:.7rem;font-size:.6rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;background:#d4deea;color:#556677;padding:.24rem .55rem;border-radius:20px;}
.ph.ph-wide{min-height:300px;}
.ph.ph-tall{min-height:380px;}
.ph.ph-chart{min-height:320px;
  background:#e9eef4 repeating-linear-gradient(90deg,transparent 0 46px,#dde5ee 46px 47px);}
.ph.media{min-height:340px;}

/* phone gallery placeholder + alternating app-feature rows */
.ph-cap{display:flex;align-items:center;gap:.6rem;justify-content:center;font-size:.82rem;font-weight:600;
  color:#3f5064;margin-bottom:1rem;}
.pp-navy .ph-cap,.cta-section .ph-cap{color:rgba(255,255,255,.9);}
.ph-cap .ph-tag{position:static;}
.ph-gallery{display:flex;gap:.9rem;justify-content:center;align-items:stretch;}
.ph-phone{flex:1 1 0;min-width:0;aspect-ratio:10/19;background:#e9eef4;border:2px dashed #b9c6d6;
  border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.5rem;color:#5a6a7a;padding:.7rem;text-align:center;}
.ph-phone svg{width:26px;height:26px;stroke:#9fb0c4;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.ph-phone .n{font-size:.72rem;color:#70808f;font-weight:500;}
.feat-rows{display:grid;gap:1.6rem;}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center;}
.feat-row .feat-txt h3{margin:0 0 .45rem;color:var(--navy);font-weight:400;font-size:1.35rem;}
.feat-row .feat-txt p{color:var(--muted);margin:0;}
.pp-navy .feat-row .feat-txt h3{color:#fff;}
.pp-navy .feat-row .feat-txt p{color:rgba(255,255,255,.82);}
.feat-media{display:flex;justify-content:center;}
.feat-media .ph-phone{flex:0 0 auto;width:min(220px,62%);}
.feat-row:nth-child(even) .feat-media{order:-1;}
@media(max-width:800px){.feat-row{grid-template-columns:1fr;gap:1.1rem;}
  .feat-row:nth-child(even) .feat-media{order:0;}}

/* premium phone device mockup (screen = labeled placeholder) */
.device-scene{position:relative;display:flex;justify-content:center;align-items:center;padding:1.4rem 0;}
.device-scene::before{content:"";position:absolute;width:74%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(60,203,218,.40),rgba(136,202,184,.14) 55%,transparent 72%);filter:blur(34px);}
.device{position:relative;z-index:1;width:min(250px,80%);aspect-ratio:9/18.6;
  background:linear-gradient(160deg,#0c2547,#04152e);border-radius:38px;padding:9px;
  box-shadow:0 36px 72px rgba(0,20,55,.42),0 12px 26px rgba(0,20,55,.28),inset 0 0 0 1.5px rgba(255,255,255,.07);
  transform:rotate(-3deg);transition:transform .55s cubic-bezier(.22,.61,.36,1);}
.device:hover{transform:rotate(0) translateY(-4px);}
.feat-row:nth-child(even) .device{transform:rotate(3deg);}
.feat-row:nth-child(even) .device:hover{transform:rotate(0) translateY(-4px);}
.device .screen{position:relative;width:100%;height:100%;border-radius:30px;overflow:hidden;
  background:linear-gradient(180deg,#eef2f7,#e3e9f1);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.55rem;text-align:center;padding:1.2rem;color:#5a6a7a;}
.device .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:40%;height:19px;
  background:#04152e;border-radius:0 0 13px 13px;z-index:2;}
.device .home{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:34%;height:4px;
  border-radius:4px;background:#b9c6d6;}
.device .screen svg{width:30px;height:30px;stroke:#9aabc0;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.device .n{font-size:.8rem;color:#5a6a7a;font-weight:600;}
.device .sub{font-size:.68rem;color:#8b9bad;letter-spacing:.06em;text-transform:uppercase;}

/* leadership team cards — full photo, glass gradient scrim, name/title overlaid */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr 1fr;gap:1rem;}}
.team-card{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  box-shadow:var(--shadow);transition:transform .4s,box-shadow .4s;}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.team-card img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.team-meta{position:absolute;inset:auto 0 0 0;padding:1.6rem 1.15rem .95rem;
  background:linear-gradient(to top,rgba(0,18,46,.95) 0%,rgba(0,18,46,.74) 42%,rgba(0,18,46,.26) 78%,transparent 100%);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.team-meta h3{color:#fff;font-size:1.05rem;font-weight:500;line-height:1.2;letter-spacing:0;margin:0;}
.team-meta p{color:rgba(255,255,255,.82);font-size:.82rem;line-height:1.35;margin:.25rem 0 0;}

/* simple form */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:2.2rem;box-shadow:var(--shadow);}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.form .row{grid-template-columns:1fr;}}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:.85rem;font-weight:500;color:var(--navy);margin-bottom:.35rem;}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:.95rem;
  padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);}
.field textarea{min-height:120px;resize:vertical;}

/* portal cards (login hubs) */
.portal{display:flex;gap:1.2rem;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;}
.portal:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.portal .badge{width:52px;height:52px;border-radius:14px;background:#eef3fb;flex:0 0 auto;
  display:grid;place-items:center;color:var(--blue);font-weight:600;}
.portal .badge svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.portal h3{margin:0 0 .2rem;font-size:1.08rem;font-weight:500;color:var(--navy);}
.portal p{margin:0;color:var(--muted);font-size:.9rem;}

/* blue line icons (client-approved: no gradient boxes) */
.ico svg{width:32px;height:32px;stroke:var(--blue);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.pp-navy .ico svg,.cta-section .ico svg{stroke:var(--teal);}
.inl-ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;}

/* breadcrumb on light */
.crumb{font-size:.85rem;color:var(--muted);margin-bottom:.4rem;}
.crumb a:hover{color:var(--blue);}

/* static insight grids (Webflow dyn-list equivalents for our static pages) */
.v2-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:991px){.v2-insight-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.v2-insight-grid{grid-template-columns:1fr;}}
.v2-insight-grid .insight-card{height:100%;}

/* generic content split (text + media) used across inner pages */
.v2-split{display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:center;}
@media(max-width:900px){.v2-split{grid-template-columns:1fr;gap:2.2rem;}}
.v2-split img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);display:block;}

/* ---- motion fail-safe: if amps-motion.js never runs, everything stays visible ---- */
html:not(.mo-js) [data-mo="fadeup"],html:not(.mo-js) [data-mo="rvl"],html:not(.mo-js) [data-mo="rvr"]{opacity:1!important;transform:none!important;}
html:not(.mo-js) [data-mo="swcover"]{display:none!important;}

/* skip link (markup injected by amps-chrome.js; hidden until focused) */
.amps-skip{position:absolute;left:1rem;top:-120px;z-index:3000;background:var(--blue);
  color:#fff;font-weight:600;padding:.7rem 1.2rem;border-radius:0 0 10px 10px;transition:top .2s;}
.amps-skip:focus{top:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--blue);outline-offset:2px;border-radius:3px;}

/* photo hero background (inline background-image on the div) */
.pp-hero-bg-photo{position:absolute;inset:-9% 0;background-position:50% 30%;background-size:cover;}

/* ============================================================
   REVIEW PASS 2026-09-14 (Tony's punch-list) — spacing + alignment
   ============================================================ */
/* head -> content vertical rhythm. staging's .section-head has no bottom margin
   (it relies on grid margin-top); our pp-grid/insight/statband/split/flist lack it,
   so heads butt against tiles. Inline grid margins outrank this selector -> no doubling. */
.section-head + .pp-grid-3,
.section-head + .pp-grid-4,
.section-head + .pp-grid-3-why,
.section-head + .pp-grid-2,
.section-head + .pp-statband,
.section-head + .v2-insight-grid,
.section-head + .v2-split,
.section-head + .flist { margin-top: 2.5rem; }

/* centered inner-page head: eyebrow + h2 (+ inline sub) all centered, matches section-head */
.pp-head.is-center { text-align: center; max-width: 760px; margin-left: auto; margin-right: auto; }
.pp-head.is-center .pp-cap-intro,
.pp-head.is-center .lead { margin-left: auto; margin-right: auto; }

/* text+image / form split: top-align columns so the image sits beside the form/list */
.v2-split.is-top { align-items: flex-start; }

/* compact archive/utility heroes: widen the single column + ease the headline so a
   long title spreads across the space instead of stacking into a narrow left rail */
.pp-hero-compact .pp-hero-col { max-width: 940px; }
.pp-hero-compact .pp-h1 { font-size: 3.5rem; }
@media (max-width: 600px){ .pp-hero-compact .pp-h1 { font-size: 2.6rem; } }
