@charset "UTF-8";
/* CSS Document */

/* Palmetto Prescription Reform */
/* Last update: Feb. 20, 2026 */

/* css/ppr.css (Version 6: slightly larger text + SEO/GEO elements styled to match comp) */

:root{
  --ppr-navy:#182242;
  --ppr-white:#ffffff;
  --ppr-blue:#3c6bbd;
  --ppr-light:#75b4e6;

  --font-sans: azo-sans-web, sans-serif;
  --font-body: ingra, sans-serif;
  --font-serif: cardea, serif;

  /* Slightly larger base sizes than v5 */
  --body-size: clamp(17px, 0.55vw + 15px, 18px);
  --body-line: 1.50;

  /* Comp-like label sizes retained */
  --pt14: 18.67px;
  --pt12: 16px;

  /* Contrast */
  --text: rgba(24,34,66,.90);
  --text-muted: rgba(24,34,66,.76);
  --text-soft: rgba(24,34,66,.66);

  --card-border: 2px solid var(--ppr-blue);
}

html, body{ height:100%; }

body{
  background: var(--ppr-white);
  color: var(--ppr-navy);
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: var(--body-size);
  line-height: var(--body-line);
}

.ppr-container {
	max-width: 1280px;
}

/* Skip link */
.ppr-skip-link{
  position:absolute;
  left:-999px;
  top:0;
  background: var(--ppr-white);
  color: var(--ppr-navy);
  border: 2px solid var(--ppr-blue);
  padding: .5rem .75rem;
  z-index: 9999;
}
.ppr-skip-link:focus{
  left: 1rem;
  top: 1rem;
}

/* Minimal internal nav (kept subtle) */
.ppr-mininav{
  background: #fff;
  border-bottom: 1px solid rgba(24,34,66,.10);
  padding: .5rem 0;
}
.ppr-mininav .container{
  display:flex;
  gap: .35rem;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1680px !important;
}
.ppr-mininav-link{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  color: rgba(24,34,66,.72);
  text-decoration: none;
}
.ppr-mininav-link:hover{ color: var(--ppr-blue); text-decoration: underline; }

.ppr-mininav .ppr-sponsorline{
  margin-left: auto;   /* pushes it to the right in a flex row */
  text-align: right;
}


/* ---------- HERO ---------- */
.ppr-hero{
  position: relative;
  min-height: clamp(380px, 42vw, 560px);
  overflow: hidden;
  max-width: 1680px;
  margin: 0 auto;
}

.ppr-hero-bg{
  position:absolute;
  inset:0;
  z-index: 0;
}
.ppr-hero-bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

/* Veil */
.ppr-hero::after{
  content:"";
  position:absolute;
  inset:0;
  /* background: rgba(255,255,255,.05); */
  z-index: 1;
}

.ppr-hero-inner{
  position: relative;
  z-index: 2;
  padding-top: 2.1rem;
  padding-bottom: 2rem;
}

.ppr-hero-logo-wrap{
  display:flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .55rem;
  margin-bottom: 1rem;
}

.ppr-hero .ppr-hero-logo{
  width: 100%;
  display: block;
}
.ppr-hero .ppr-hero-logo img{
  width: 100%;
  height: auto;
  max-width: none; /* important: overrides your previous max-width cap */
  display: block;
}

/* Sponsorship line near top (GEO/E-E-A-T) */
.ppr-sponsorline{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  line-height: 1.25;
  color: rgba(24,34,66,.70);
  max-width: 46ch;
  text-align: right;
}

/* Above-the-fold CTA */
.ppr-hero-ctas{
  display: none;
  gap: .5rem;
}
.ppr-hero-ctas-mobile{
  display: flex;
  gap: .5rem;
  margin-top: .9rem;
  flex-wrap: wrap;
}
.ppr-hero .ppr-hero-ctas{
  display: flex;
  justify-content: flex-end;
  gap: .6rem;
  width: 100%;
}

@media (min-width: 768px){
  .ppr-hero-ctas{ display: inline-flex; }
  .ppr-hero-ctas-mobile{ display:none; }
}

/* Buttons (architectural, square) */
.ppr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: .6rem .95rem;
  border: 2px solid transparent;
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}

.ppr-btn-primary{
  background: var(--ppr-blue);
  border-color: var(--ppr-blue);
  color: var(--ppr-white);
}
.ppr-btn-primary:hover{
  background: var(--ppr-navy);
  border-color: var(--ppr-navy);
  color: var(--ppr-white);
}

.ppr-btn-outline{
  background: transparent;
  border-color: var(--ppr-blue);
  color: var(--ppr-blue);
}
.ppr-btn-outline:hover{
  background: rgba(60,107,189,.10);
  color: var(--ppr-navy);
}

/* Ribbon */
.ppr-ribbon{
  display:inline-flex;
  align-items: stretch;
  background: var(--ppr-light);
  width: 100%;
}
.ppr-ribbon-bar{
  width: 12px;
  background: var(--ppr-navy);
}
.ppr-ribbon-text{
  font-family: var(--font-serif);
  font-weight: 700;
  font-style: normal;
  font-size: clamp(23px, 1.15vw + 18px, 30px);
  line-height: 1.05;
  color: var(--ppr-white);
  padding: .6rem 1rem .65rem 1rem;
}

/* Hero type */
.ppr-h1{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: clamp(30px, 2.7vw, 42px);
  line-height: 1.08;
  margin: 0;
  color: var(--ppr-navy);
}

.ppr-lead{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: var(--body-size);
  color: var(--text);
  max-width: 72ch;
}

.ppr-hero-urgency{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: clamp(17px, 0.4vw + 16px, 19px);
  color: var(--ppr-navy);
}

/* GEO: key points (kept compact) */
.ppr-keypoints{
  margin: .85rem 0 0 0;
  padding-left: 1.1rem;
  max-width: 78ch;
}
.ppr-keypoints li{
  margin: .35rem 0;
  font-size: 16px;
  color: rgba(24,34,66,.78);
}
.ppr-keypoints li::marker{
  color: var(--ppr-blue);
}

/* ---------- SECTIONS ---------- */
.ppr-section{
  padding: 2.25rem 0;
}

.ppr-section-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: var(--pt14);
  margin: 0;
  color: var(--ppr-navy);
}

.ppr-subhead{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: var(--pt14);
  margin: 0 0 .35rem 0;
  color: var(--ppr-navy);
}
.ppr-subhead-blue{ color: var(--ppr-blue); }

.ppr-body{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: var(--body-size);
  color: var(--text-soft);
  margin-bottom: .85rem;
}

.ppr-muted{ color: var(--text-muted); }

/* Definition block */
.ppr-definition{
  color: var(--text);
  margin-top: .25rem;
  padding-left: .75rem;
  border-left: 3px solid rgba(60,107,189,.25);
}
.ppr-definition strong{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-navy);
}

/* Example block */
.ppr-example{
  color: var(--text);
  margin-top: .25rem;
  padding-left: .75rem;
  border-left: 3px solid rgba(60,107,189,.35);
}
.ppr-example strong{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-navy);
}

/* Images */
.ppr-img img{
  width: 100%;
  height: auto;
  display:block;
}
.ppr-img-tall img{
  height: 100%;
  min-height: 260px;
  object-fit: cover;
}
.ppr-img-feature img{
  height: auto;
  object-fit: cover;
}

/* Bullets */
.ppr-bullets{
  margin: .75rem 0 0 0;
  padding-left: 1.1rem;
}
.ppr-bullets li{
  margin: .55rem 0;
  font-size: var(--body-size);
  color: var(--text-soft);
}
.ppr-bullets li::marker{
  color: var(--ppr-blue);
}
.ppr-bullet-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-blue);
}

/* ---------- FAQ BAR ---------- */
.ppr-faq-head{ padding: 0 0 1rem 0; }

.ppr-faq-bar{
  display:flex;
  align-items: stretch;
  background: var(--ppr-light);
}
.ppr-faq-bar-left{
  width: 14px;
  background: var(--ppr-navy);
}
.ppr-faq-bar-text{
  padding: .85rem 1rem;
  color: var(--ppr-white);
}
.ppr-faq-kicker{
  font-family: var(--font-serif);
  font-weight: 700;
  font-style: normal;
  font-size: var(--pt12);
  line-height: 1.1;
}
.ppr-faq-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: italic;
  font-size: var(--pt14);
  line-height: 1.05;
  margin-top: .15rem;
}

/* ---------- FAQ CARDS ---------- */
.ppr-card{
  border: var(--card-border);
  background: #ffffff;
  padding: 1.0rem;
  height: 100%;
}
.ppr-card-gray{ background: #e9edf2; }

.ppr-card-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: var(--pt14);
  line-height: 1.15;
  margin: 0 0 .5rem 0;
  color: var(--ppr-navy);
}

.ppr-card-body{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: var(--body-size);
  color: var(--text-soft);
  margin: 0 0 7px;
  line-height: 1.1;
}

.ppr-card-body strong{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-blue);
}

.ppr-card-cta{
  background: #e9edf2;
  display:flex;
  flex-direction: column;
  gap: .85rem;
}

/* CTA card */
.ppr-cta-kicker{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-light);
  font-size: 22px;
  line-height: 1.05;
}
.ppr-cta-line{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  color: var(--ppr-navy);
  font-size: 22px;
  line-height: 1.05;
  margin-top: .2rem;
}
.ppr-cta-trust{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  line-height: 1.25;
  color: rgba(24,34,66,.76);
  max-width: 32ch;
}

/* Embed container */
.ppr-form-embed{
  border-top: 2px solid rgba(60,107,189,.25);
  padding-top: .9rem;
}
.ppr-form-placeholder{
  background: rgba(255,255,255,.70);
  border: 1px dashed rgba(24,34,66,.25);
  padding: .9rem;
}
.ppr-form-placeholder-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: 16px;
  color: var(--ppr-navy);
}
.ppr-form-placeholder-sub{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  color: rgba(24,34,66,.76);
  margin-top: .35rem;
}

/* Sources (kept small and quiet) */
.ppr-sources{
  margin-top: .85rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(24,34,66,.12);
}
.ppr-sources-title{
  font-family: var(--font-sans);
  font-weight: 900;
  font-style: normal;
  font-size: 14px;
  color: rgba(24,34,66,.78);
  margin-bottom: .35rem;
}
.ppr-sources-list{
  margin: 0;
  padding-left: 1.1rem;
}
.ppr-sources-list li{
  margin: .25rem 0;
  font-size: 14px;
  color: rgba(24,34,66,.72);
}
.ppr-sources-list a{
  color: rgba(24,34,66,.76);
  text-decoration: underline;
}
.ppr-sources-list a:hover{ color: var(--ppr-blue); }

/* ABOUT + color bars */
.ppr-about-body{
  margin-top: .6rem;
  max-width: 110ch;
}
.ppr-colorbars{
  margin-top: 1rem;
  display:flex;
  height: 12px;
  overflow:hidden;
}
.ppr-bar{ flex: 1 1 0; }
.ppr-bar-navy{ background: var(--ppr-navy); }
.ppr-bar-blue{ background: var(--ppr-blue); }
.ppr-bar-light{ background: var(--ppr-light); }

/* FOOTER */
.ppr-footer{
  padding: 1.25rem 0;
  border-top: 1px solid rgba(24,34,66,.12);
  background: #ffffff;
}
.ppr-footer-inner{
  display:flex;
  flex-direction: column;
  gap: .6rem;
}
@media (min-width: 768px){
  .ppr-footer-inner{
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.ppr-footer small{
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  color: rgba(24,34,66,.76);
}
.ppr-footer a{
  color: rgba(24,34,66,.82);
  text-decoration: underline;
}
.ppr-footer a:hover{ color: var(--ppr-blue); }
.ppr-footer-links span,
.ppr-footer-sep{
  margin: 0 .35rem;
  color: rgba(24,34,66,.45);
}
/* Social links */
.ppr-social{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}

.ppr-social-label{
  font-size:.9rem;
  opacity:.8;
  margin-right:.25rem;
}

.ppr-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  text-decoration:none;
}

.ppr-social-icon{
  width:18px;
  height:18px;
  fill: currentColor;
}

.ppr-social-link:hover{
  border-color: rgba(255,255,255,.65);
}

/* If you place icons on a light background section, you may prefer a darker border.
   You can scope this with a parent class (e.g., .ppr-take-action .ppr-social-link { ... }) */
