/* ====================
   0. Header + Title Overrides
======================= */
.kadence-sticky-header .site-header-row-container {
  background-color: #ffffff !important;
}
.page-title, .page-title h1 {
  color: #FFFFFF !important;
}
/* ====================
   0.5 Coming Soon Banner Hero Page
======================= */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.dev-banner {
  animation: fadeIn 1s ease-out;
}

/* ====================
   1. Cards (Feature + Philosophy + Dark Variant)
======================= */
.landing-card-grid,
.philosophy-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin: 64px auto;
  max-width: 1200px;
  padding: 0 1rem;
}

.landing-card,
.philosophy-card {
  background-color: rgba(255, 255, 255, 0.9); /* semi-transparent white */
  border: 1px solid #C8CEC9;
  border-radius: 12px;
  padding: 24px;
  text-align: left;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.2s ease-in-out, transform 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.landing-card:hover,
.philosophy-card:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.landing-card h4,
.philosophy-card h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1A3E5C;
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.landing-card p,
.philosophy-card p {
  color: #2F2F2F;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

.landing-card.why-it-matters,
.philosophy-card.dark {
  background-color: #1A3E5C !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.landing-card.why-it-matters:hover,
.philosophy-card.dark:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
  transform: translateY(-4px);
}

.landing-card.why-it-matters h4,
.philosophy-card.dark h4 {
  color: #BFA980 !important;
}

.landing-card.why-it-matters p,
.philosophy-card.dark p {
  color: #E6E6E6 !important;
}

/* ====================
   2. Hero Section Styles
======================= */
.hero-tagline {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  color: #D1E8F2;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.hero-headline {
  font-size: 2.5rem;
  font-weight: 700;
  max-width: 700px;
  line-height: 1.25;
  margin-bottom: 1rem;
  color: #ffffff;
}

.hero-subheading {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 700px;
  margin-bottom: 2rem;
  color: #ffffff;
}

@media (max-width: 480px) {
  .hero-headline {
    font-size: 1.8rem;
    line-height: 1.3;
    word-break: normal;
    white-space: normal;
  }

  .hero-subheading {
    font-size: 1rem;
  }
}

/* ====================
   3. Hero CTA Buttons
======================= */
.hero-btn-primary,
.hero-btn-secondary,
.wp-block-kadence-rowlayout .hero-btn-primary,
.wp-block-kadence-rowlayout .hero-btn-secondary {
  display: inline-block;
  padding: 14px 28px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 12px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  min-width: 220px;
  transition: all 0.2s ease-in-out;
}

.hero-btn-primary {
  background-color: #5AC8C8;
  color: #ffffff;
  border: none;
}

.hero-btn-primary:hover {
  background-color: #48b5b5;
}

.hero-btn-secondary {
  background-color: #2F2F2F;
  color: #ffffff;
  border: 2px solid #ffffff;
}

.hero-btn-secondary:hover {
  background-color: #444444;
}

@media (max-width: 768px) {
  .hero-btn-primary,
  .hero-btn-secondary {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto 16px;
  }
}

/* ====================
   4. Call-to-Action Block
======================= */
.landing-cta-block {
  background-color: #5AC8C8;
  color: #ffffff;
  padding: 48px 24px;
  text-align: center;
  border-radius: 12px;
  margin-top: 64px;
}

.landing-cta-block h3 {
  font-size: 1.8rem;
  margin-bottom: 16px;
  color: #ffffff;
}

.landing-cta-block p {
  font-size: 1.1rem;
  margin-bottom: 24px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

.landing-cta-block a.cta-button {
  background-color: #1A3E5C;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  transition: background-color 0.2s;
}

.landing-cta-block a.cta-button:hover {
  background-color: #163549;
}

/* ====================
   5. Utility + Animation
======================= */
.card-animate {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.card-animate.in-view {
  opacity: 1;
  transform: translateY(0);
}

.site-footer {
  margin-top: 48px;
}

/* ====================
   6. Page-Specific Overrides
======================= */
.home h1.entry-title,
.home .entry-meta,
.home .post-meta,
.home .posted-on,
.home .byline,
.home .entry-header,
.home .single-header,
.home header.entry-header,
header.entry-header .entry-breadcrumbs,
.entry-hero-breadcrumb,
.page .entry-header .breadcrumb,
.page .entry-header nav {
  display: none !important;
}

/* ====================
   6.1 Featured Tier Container Pop
======================= */
/* Highlight Tier 2 as Featured */
.tier2-featured {
    border: 3px solid #38C7C7; /* Pennate Aqua */
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    position: relative;
    transform: scale(1.03);
    z-index: 3;
    overflow: visible !important; /* CRITICAL FIX */
}

/* "Most Popular" Tag ABOVE the border */
.tier2-featured::before {
    content: "Most Popular";
    position: absolute;
    top: -18px; /* move it above the border */
    left: 50%;
    transform: translateX(-50%);
    background: #38C7C7;
    color: white;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    white-space: nowrap;

    /* Shadow to visually separate from card */
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);

    z-index: 10; /* ensure it's on top of the card */
    pointer-events: none; /* purely decorative */
}
/*Add a hover effect (premium feel) */
.tier2-featured:hover {
    transform: scale(1.05);
    box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}


/* ====================
   7. Media Queries (Cards)
======================= */
@media (min-width: 992px) {
  .philosophy-card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991px) and (min-width: 600px) {
  .philosophy-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 599px) {
  .philosophy-card-grid {
    grid-template-columns: 1fr;
  }
}

.service-icon {
  border: 2px solid transparent;
  border-radius: 50%;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.service-icon:hover {
  transform: rotate(20deg);
  border-color: #5AC8C8; /* Use Pennate accent */
}

.pennate-callout-box {
  border-left: 4px solid #1A3E5C;
  background-color: #F2E8D5;
  padding: 1.25em 1.5em;
  margin: 2em 0;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #2F2F2F;
}
.pennate-callout-box strong {
  color: #1A3E5C;
}
.pennate-button {
  display: inline-block;
  margin-top: 0.5em;
  padding: 0.6em 1.25em;
  background-color: #5AC8C8;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
}

:target { scroll-margin-top: 100px; }

/*======================
 * CSS Statement to resolve border issues with Landing pages                               ========================*/ 

:root{
  --pn-container: 1200px;
  --pn-gutter: clamp(16px, 3vw, 32px);
  --pn-section: clamp(24px, 5vw, 64px);
  --pn-stack-sm: 8px;
  --pn-stack: 16px;
  --pn-stack-lg: 24px;
}
.pn-container{max-width:var(--pn-container); margin-inline:auto; padding-inline:var(--pn-gutter);}
.pn-section{padding-block:var(--pn-section);}
.pn-stack > * + *{margin-top:var(--pn-stack);}
.pn-stack-lg > * + *{margin-top:var(--pn-stack-lg);}
.pn-hero{display:grid; grid-template-columns:1.1fr 0.9fr; gap:var(--pn-gutter); align-items:start;}
@media (max-width:1024px){ .pn-hero{grid-template-columns:1fr;} }
.pn-form-card{background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px; padding:24px; box-shadow:0 6px 20px rgba(0,0,0,.06);}
.pn-form-card .kadence-blocks-form-field,
.pn-form-card .wp-block-kadence-form{margin-bottom:14px;}
.pn-form-card input[type="text"],
.pn-form-card input[type="email"],
.pn-form-card input[type="tel"],
.pn-form-card textarea,
.pn-form-card select{width:100%;}
.pn-cta{padding:14px 22px; border-radius:10px;}
.pn-h1{margin:0 0 14px 0;}
.pn-sub{margin:0 0 18px 0; color:#3d3d3d;}
.pn-cred{display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:10px; font-weight:600;}
.pn-cred span{white-space:nowrap;}
.kadence-row-layout-inner-wrap{max-width:var(--pn-container);}
.pn-form-card .kb-form-field-checkbox,
.pn-form-card .kb-form-field-radio{display:flex; align-items:center; gap:8px;}
@media (max-width:768px){
  .pn-sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:50; background:#fff; border-top:1px solid rgba(0,0,0,.08); padding:10px var(--pn-gutter); display:flex; gap:10px; align-items:center; justify-content:space-between;}
  body{padding-bottom:62px;}
}

/*======================
 * CSS attempt to phish for bots to prevent database flooding DDoS attacks: 
 * 
 * if (payload.hp_field_honeypot && payload.hp_field_honeypot.trim() !== "") {
  return new Response("OK", { status: 200 }); // silently drop
}
                             ========================*/
.pennate-honeypot {
  display: none !important;
}

/* Pennate — global dropdown consistency (forms) */
form select,
form select option {
  color: #2F2F2F;            /* Charcoal Gray */
  background-color: #ffffff; /* Clean white */
}

/* Hover + selected option */
form select option:hover,
form select option:checked {
  background-color: #5AC8C8; /* Primary Aqua */
  color: #2F2F2F;
}

/* Pennate Consulting Form — force readable select + options */
.pennate-consulting-form select,
.pennate-consulting-form select option {
  color: #2F2F2F !important;            /* Charcoal Gray */
  background-color: #ffffff !important; /* White */
}

/* The closed select field itself */
.pennate-consulting-form select {
  border-color: rgba(47,47,47,0.25) !important;
}

/* Fix WooCommerce product gallery forcing excessive height */
.woocommerce div.product div.woocommerce-product-gallery {
  height: auto !important;
}


/* ====================
   Pennate — Why Pennate
======================= */

.pennate-why-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 36px auto 0;
}

.pennate-why-card {
  justify-content: flex-start;
  background: #F2E8D5;
  border: 1px solid rgba(26, 62, 92, 0.12);
  border-top: 4px solid #5AC8C8;
  border-radius: 14px;
  padding: 32px;
  box-shadow: none;
}

.pennate-why-card:hover {
  box-shadow: none;
  transform: none;
}

.pennate-why-card h3 {
  margin: 0 0 16px;
  color: #1A3E5C;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.35;
}

.pennate-why-card p {
  margin: 0 0 14px;
  color: #2F2F2F;
  font-size: 1rem;
  line-height: 1.65;
}

.pennate-why-card p:last-child {
  margin-bottom: 0;
}

.pennate-why-close {
  max-width: 900px;
  margin: 34px auto 0;
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 767px) {
  .pennate-why-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .pennate-why-card {
    padding: 24px;
  }

  .pennate-why-close {
    text-align: left;
    font-size: 1.1rem;
  }
}


/* ====================
   Pennate — Process Timeline
======================= */

.pennate-process {
  width: 100%;
}

.pennate-process-header {
  max-width: 760px;
  margin: 0 auto 48px;
  text-align: center;
}

.pennate-process-header h2 {
  margin: 0 0 16px;
  color: #1A3E5C;
}

.pennate-process-header p {
  margin: 0;
  color: #2F2F2F;
  font-size: 1.05rem;
  line-height: 1.65;
}

.pennate-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

.pennate-process-grid::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: rgba(26, 62, 92, 0.16);
  z-index: 0;
}

.pennate-process-step {
  position: relative;
  z-index: 1;
  text-align: center;
}

.pennate-process-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #5AC8C8;
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.pennate-process-step h3 {
  margin: 0 0 12px;
  color: #1A3E5C;
  font-size: 1.1rem;
  line-height: 1.35;
}

.pennate-process-step p {
  margin: 0;
  color: #2F2F2F;
  font-size: 0.96rem;
  line-height: 1.6;
}

.pennate-process-close {
  max-width: 900px;
  margin: 48px auto 0;
  padding: 28px 32px;
  border-left: 4px solid #5AC8C8;
  border-radius: 12px;
  background: #F2E8D5;
  text-align: center;
}

.pennate-process-close h3 {
  margin: 0 0 10px;
  color: #1A3E5C;
  font-size: 1.25rem;
}

.pennate-process-close p {
  margin: 0;
  color: #2F2F2F;
  line-height: 1.65;
}

@media (max-width: 991px) {
  .pennate-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pennate-process-grid::before {
    display: none;
  }

  .pennate-process-step {
    text-align: left;
    padding: 24px;
    border: 1px solid rgba(26, 62, 92, 0.12);
    border-radius: 14px;
  }

  .pennate-process-number {
    margin: 0 0 18px;
  }
}

@media (max-width: 599px) {
  .pennate-process-grid {
    grid-template-columns: 1fr;
  }

  .pennate-process-header {
    text-align: left;
  }

  .pennate-process-close {
    text-align: left;
    padding: 24px;
  }
}
/* ====================
   Pennate — Product Comparison Cards
======================= */

.pennate-products {
  width: 100%;
}

.pennate-products-header {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.pennate-products-header h2 {
  margin: 0 0 16px;
  color: #1A3E5C;
}

.pennate-products-header p {
  margin: 0;
  color: #2F2F2F;
  font-size: 1.05rem;
  line-height: 1.65;
}

.pennate-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.pennate-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(26, 62, 92, 0.14);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

.pennate-product-featured {
  border: 3px solid #5AC8C8;
  transform: translateY(-8px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.09);
}

.pennate-product-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  padding: 6px 12px;
  background: #5AC8C8;
  color: #FFFFFF;
  border-radius: 20px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pennate-product-image-link {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #E6E6E6;
}

.pennate-product-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

a.pennate-product-image-link:hover .pennate-product-image {
  transform: scale(1.025);
}

.pennate-product-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  padding: 26px;
}

.pennate-product-main {
  margin-bottom: 26px;
}

.pennate-product-eyebrow {
  margin: 0 0 8px;
  color: #56717F;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pennate-product-card h3 {
  margin: 0 0 10px;
  color: #1A3E5C;
  font-size: 1.35rem;
  line-height: 1.3;
}

.pennate-product-card h3 a {
  color: inherit;
  text-decoration: none;
}

.pennate-product-card h3 a:hover {
  color: #327A86;
}

.pennate-product-price {
  margin: 0 0 16px;
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
}

.pennate-product-description {
  margin: 0;
  color: #2F2F2F;
  font-size: 0.98rem;
  line-height: 1.65;
}

.pennate-product-button {
  display: block;
  width: 100%;
  padding: 13px 18px;
  background: #5AC8C8;
  color: #FFFFFF;
  border-radius: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}

.pennate-product-button:hover {
  background: #48B5B5;
  color: #FFFFFF;
}

.pennate-product-button-disabled {
  background: #C8CEC9;
  cursor: default;
}

.pennate-product-image-disabled {
  cursor: default;
}

@media (max-width: 991px) {
  .pennate-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pennate-product-featured {
    transform: none;
  }
}

@media (max-width: 640px) {
  .pennate-products-header {
    text-align: left;
  }

  .pennate-products-grid {
    grid-template-columns: 1fr;
  }

  .pennate-product-content {
    padding: 24px;
  }
}

/* ====================
   Pennate — Package Comparison
======================= */

.pennate-compare {
  width: 100%;
  padding: 72px 0;
  background: #F2E8D5;
}

.pennate-compare-header {
  max-width: 760px;
  margin: 0 auto 40px;
  padding: 0 24px;
  text-align: center;
}

.pennate-compare-header h2 {
  margin: 0 0 14px;
  color: #1A3E5C;
}

.pennate-compare-header p {
  margin: 0;
  color: #2F2F2F;
  font-size: 1.05rem;
  line-height: 1.65;
}

.pennate-compare-scroll {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto;
  overflow-x: auto;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  -webkit-overflow-scrolling: touch;
}

.pennate-compare-table {
  display: grid;
  grid-template-columns:
    minmax(190px, 0.9fr)
    repeat(3, minmax(220px, 1fr));
  min-width: 880px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(26, 62, 92, 0.12);
  border-radius: 16px;
}

.pennate-compare-cell {
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 18px 22px;
  color: #2F2F2F;
  font-size: 0.94rem;
  line-height: 1.5;
  border-bottom: 1px solid rgba(26, 62, 92, 0.10);
}

.pennate-compare-label {
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.pennate-compare-package {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 220px;
  padding: 28px 22px;
  text-align: center;
}

.pennate-compare-package h3 {
  margin: 8px 0 12px;
  color: #1A3E5C;
  font-size: 1.18rem;
  line-height: 1.35;
}

.pennate-compare-type {
  display: block;
  color: #56717F;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pennate-compare-price {
  margin: 0;
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
}

.pennate-compare-badge {
  display: inline-block;
  margin-top: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #5AC8C8;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.pennate-compare-featured {
  background: rgba(90, 200, 200, 0.09);
  border-left: 1px solid rgba(90, 200, 200, 0.35);
  border-right: 1px solid rgba(90, 200, 200, 0.35);
}

.pennate-compare-check,
.pennate-compare-dash,
.pennate-compare-center {
  justify-content: center;
  text-align: center;
}

.pennate-compare-check span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
	background: rgba(90,200,200,.04);
  color: #1A3E5C;
  font-size: 1rem;
  font-weight: 700;
}

.pennate-compare-dash span {
  color: #8A9490;
  font-size: 1.15rem;
}

.pennate-compare-top {
  border-bottom: 1px solid rgba(26, 62, 92, 0.16);
}

.pennate-compare-bottom {
  min-height: 92px;
  border-bottom: none;
}

.pennate-compare-button {
  display: block;
  width: 100%;
  padding: 13px 16px;
  border-radius: 10px;
  background: #5AC8C8;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}

.pennate-compare-button:hover {
  background: #48B5B5;
  color: #FFFFFF;
}

.pennate-compare-button-disabled {
  background: #C8CEC9;
  cursor: default;
}

@media (max-width: 767px) {
  .pennate-compare {
    padding: 56px 0;
  }

  .pennate-compare-header {
    text-align: left;
  }

  .pennate-compare-scroll {
    width: calc(100% - 24px);
  }

  .pennate-compare-cell {
    padding: 16px 18px;
    font-size: 0.9rem;
  }

  .pennate-compare-package {
    min-height: 210px;
  }
}


/* ====================
   Pennate — Local Consultation Section
======================= */

.pennate-local {
  width: 100%;
}

.pennate-local-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 56px;
  align-items: center;
}

.pennate-local-eyebrow {
  margin: 0 0 10px;
  color: #56717F;
  font-family: "Montserrat", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pennate-local-content h2 {
  margin: 0 0 22px;
  color: #1A3E5C;
}

.pennate-local-content > p {
  margin: 0 0 18px;
  color: #2F2F2F;
  font-size: 1rem;
  line-height: 1.7;
}

.pennate-local-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 30px;
}

.pennate-local-button {
  display: inline-block;
  padding: 14px 22px;
  border-radius: 10px;
  background: #5AC8C8;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease;
}

.pennate-local-button:hover {
  background: #48B5B5;
  color: #FFFFFF;
}

.pennate-local-link {
  color: #1A3E5C;
  font-family: "Montserrat", sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.pennate-local-link:hover {
  color: #327A86;
}

.pennate-local-callout {
  padding: 34px;
  border-left: 4px solid #5AC8C8;
  border-radius: 14px;
  background: #F2E8D5;
}

.pennate-local-callout h3 {
  margin: 0 0 16px;
  color: #1A3E5C;
  font-size: 1.35rem;
  line-height: 1.35;
}

.pennate-local-callout p {
  margin: 0 0 18px;
  color: #2F2F2F;
  font-size: 0.96rem;
  line-height: 1.65;
}

.pennate-local-callout ul {
  margin: 0 0 20px;
  padding-left: 20px;
  color: #2F2F2F;
}

.pennate-local-callout li {
  margin-bottom: 10px;
  line-height: 1.55;
}

.pennate-local-callout li:last-child {
  margin-bottom: 0;
}

.pennate-local-callout-note {
  margin-bottom: 0 !important;
  padding-top: 18px;
  border-top: 1px solid rgba(26, 62, 92, 0.14);
  color: #1A3E5C !important;
  font-weight: 600;
}

@media (max-width: 900px) {
  .pennate-local-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 599px) {
  .pennate-local-callout {
    padding: 26px;
  }

  .pennate-local-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pennate-local-button,
  .pennate-local-link {
    width: 100%;
    text-align: center;
  }
}

/* ====================
   Pennate — Not Sure Section
======================= */

.pennate-unsure{
    width:100%;
}

.pennate-unsure-grid{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
    gap:56px;
    align-items:center;
}

.pennate-unsure-eyebrow{
    margin:0 0 10px;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.pennate-unsure-content h2{
    margin:0 0 22px;
    color:#1A3E5C;
}

.pennate-unsure-content>p{
    margin:0 0 18px;
    color:#2F2F2F;
    line-height:1.7;
}

.pennate-unsure-actions{
    margin-top:30px;
}

.pennate-unsure-button{
    display:inline-block;
    padding:14px 22px;
    background:#5AC8C8;
    color:#fff;
    border-radius:10px;
    text-decoration:none;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:.2s;
}

.pennate-unsure-button:hover{
    background:#48B5B5;
    color:#fff;
}

.pennate-unsure-card{
    padding:34px;
    background:#F2E8D5;
    border-left:4px solid #5AC8C8;
    border-radius:14px;
}

.pennate-unsure-card h3{
    margin:0 0 18px;
    color:#1A3E5C;
    font-size:1.35rem;
}

.pennate-unsure-card ul{
    margin:0;
    padding-left:22px;
}

.pennate-unsure-card li{
    margin-bottom:12px;
    line-height:1.6;
}

.pennate-unsure-note{
    margin:24px 0 0;
    padding-top:20px;
    border-top:1px solid rgba(26,62,92,.12);
    color:#1A3E5C;
    font-weight:600;
    line-height:1.6;
}

@media (max-width:900px){

    .pennate-unsure-grid{
        grid-template-columns:1fr;
        gap:36px;
    }

}

/* ====================
   Pennate — FAQ
======================= */

.pennate-faq{
    width:100%;
}

.pennate-faq-header{
    max-width:760px;
    margin:0 auto 42px;
    text-align:center;
}

.pennate-faq-header h2{
    margin:0 0 16px;
    color:#1A3E5C;
}

.pennate-faq-header p{
    margin:0;
    color:#2F2F2F;
    line-height:1.7;
}

.pennate-faq-list{
    max-width:900px;
    margin:0 auto;
}

.pennate-faq-item{
    margin-bottom:16px;
    background:#FFFFFF;
    border:1px solid rgba(26,62,92,.12);
    border-radius:14px;
    overflow:hidden;
    transition:border-color .2s ease;
}

.pennate-faq-item:last-child{
    margin-bottom:0;
}

.pennate-faq-item[open]{
    border-color:rgba(90,200,200,.55);
}

.pennate-faq-item summary{
    position:relative;
    padding:22px 60px 22px 24px;
    cursor:pointer;
    list-style:none;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:1rem;
    font-weight:600;
    line-height:1.5;
}

.pennate-faq-item summary::-webkit-details-marker{
    display:none;
}

.pennate-faq-item summary::after{
    content:"+";
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
    color:#5AC8C8;
    font-size:1.5rem;
    font-weight:400;
    transition:transform .2s ease;
}

.pennate-faq-item[open] summary::after{
    content:"–";
}

.pennate-faq-answer{
    padding:0 24px 24px;
}

.pennate-faq-answer p{
    margin:0;
    color:#2F2F2F;
    line-height:1.75;
}

@media (max-width:767px){

    .pennate-faq-header{
        text-align:left;
    }

    .pennate-faq-item summary{
        padding:20px 52px 20px 20px;
    }

    .pennate-faq-answer{
        padding:0 20px 20px;
    }

}

/* ====================
   Pennate — Final CTA
======================= */

.pennate-final-cta{

    padding:90px 30px;

    background:#1A3E5C;

    color:#FFFFFF;

    text-align:center;

    border-radius:18px;

}

.pennate-final-inner{

    max-width:760px;

    margin:0 auto;

}

.pennate-final-eyebrow{

    margin:0 0 12px;

    font-family:"Montserrat",sans-serif;

    font-size:.76rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:#5AC8C8;

}

.pennate-final-title,
.pennate-final-cta h2{

    margin:0 0 24px;

    color:#FFFFFF;

}

.pennate-final-copy{

    margin:0 auto 20px;

    max-width:650px;

    font-size:1.05rem;

    line-height:1.8;

    color:rgba(255,255,255,.90);

}

.pennate-final-actions{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    margin-top:42px;

}

.pennate-final-primary{

    display:inline-block;

    padding:16px 30px;

    background:#5AC8C8;

    color:#FFFFFF;

    border-radius:10px;

    text-decoration:none;

    font-family:"Montserrat",sans-serif;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.06em;

    transition:.2s;

}

.pennate-final-primary:hover{

    background:#48B5B5;

    color:#FFFFFF;

}

.pennate-final-secondary{

    display:inline-block;

    padding:16px 30px;

    border:2px solid rgba(255,255,255,.30);

    color:#FFFFFF;

    border-radius:10px;

    text-decoration:none;

    font-family:"Montserrat",sans-serif;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.06em;

    transition:.2s;

}

.pennate-final-secondary:hover{

    border-color:#5AC8C8;

    color:#FFFFFF;

}

@media (max-width:767px){

    .pennate-final-cta{

        padding:70px 24px;

    }

    .pennate-final-actions{

        flex-direction:column;

    }

    .pennate-final-primary,

    .pennate-final-secondary{

        width:100%;

    }

}

/* ==================================================
   HERO
================================================== */

.pennate-hero{

    background:#1A3E5C;

    color:#FFFFFF;

    border-radius:18px;

    padding:72px;

}

.pennate-hero-content{

    max-width:760px;

}

.pennate-hero-eyebrow{

    margin:0 0 12px;

    color:#5AC8C8;

    font-family:"Montserrat",sans-serif;

    font-size:.78rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

}

.pennate-hero h1{

    margin:0 0 22px;

    color:#F2E8D5;

}

.pennate-hero-lead{

    margin:0 0 26px;

    color:#FFFFFF;

    font-size:1.35rem;

    line-height:1.6;

    font-weight:500;

}

.pennate-hero p{

    color:rgba(255,255,255,.92);

    line-height:1.8;

}

.pennate-hero-statement{

    margin:34px 0 30px;

    font-size:1.15rem;

    color:#FFFFFF;

}

.pennate-hero-actions{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:28px;

}

.pennate-button-primary{

    display:inline-block;

    padding:16px 28px;

    background:#5AC8C8;

    color:#FFFFFF;

    border-radius:10px;

    text-decoration:none;

    font-family:"Montserrat",sans-serif;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

}

.pennate-button-primary:hover{

    background:#49B9B9;

    color:#FFFFFF;

}

.pennate-button-secondary{

    display:inline-block;

    padding:16px 28px;

    border:2px solid rgba(255,255,255,.30);

    color:#FFFFFF;

    border-radius:10px;

    text-decoration:none;

    font-family:"Montserrat",sans-serif;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

}

.pennate-button-secondary:hover{

    border-color:#5AC8C8;

    color:#FFFFFF;

}

.pennate-hero-footnote{

    margin:0;

    font-size:.95rem;

    color:rgba(255,255,255,.70);

}

@media (max-width:768px){

    .pennate-hero{

        padding:48px 30px;

    }

    .pennate-hero-actions{

        flex-direction:column;

    }

    .pennate-button-primary,

    .pennate-button-secondary{

        width:100%;

        text-align:center;

    }

}

/* ==================================================
   PENNATE — FLORIDA LANDSCAPE DESIGN PRODUCT PAGE
================================================== */

.pennate-product-short{
    margin:0;
}

.pennate-product-short-lead{
    margin:0 0 18px;
    color:#1A3E5C;
    font-size:1.08rem;
    font-weight:600;
    line-height:1.65;
}

.pennate-product-short-list{
    margin:0 0 20px;
    padding-left:22px;
    color:#2F2F2F;
}

.pennate-product-short-list li{
    margin-bottom:8px;
    line-height:1.55;
}

.pennate-product-short-list li:last-child{
    margin-bottom:0;
}

.pennate-product-short-meta{
    margin:0;
    padding-top:16px;
    border-top:1px solid rgba(26,62,92,.12);
    color:#2F2F2F;
    font-size:.95rem;
    line-height:1.6;
}


/* ==================================================
   PRODUCT PAGE WRAPPER
================================================== */

.pennate-rld-product{
    width:100%;
    color:#2F2F2F;
}

.pennate-rld-product *,
.pennate-rld-product *::before,
.pennate-rld-product *::after{
    box-sizing:border-box;
}

.pennate-rld-product section{
    margin:0;
}

.pennate-rld-product h2,
.pennate-rld-product h3{
    color:#1A3E5C;
}

.pennate-rld-product h2{
    margin:0 0 20px;
    font-size:2rem;
    line-height:1.25;
}

.pennate-rld-product h3{
    margin:0 0 12px;
    font-size:1.2rem;
    line-height:1.4;
}

.pennate-rld-product p{
    margin:0 0 18px;
    line-height:1.75;
}

.pennate-rld-product p:last-child{
    margin-bottom:0;
}

.pennate-rld-eyebrow{
    margin:0 0 10px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.1em;
    line-height:1.4;
    text-transform:uppercase;
}


/* ==================================================
   INTRO
================================================== */

.pennate-rld-intro{
    margin-bottom:56px !important;
    padding:42px;
    border-left:4px solid #5AC8C8;
    border-radius:14px;
    background:#F2E8D5;
}

.pennate-rld-intro h2{
    max-width:760px;
}

.pennate-rld-lead{
    max-width:820px;
    color:#1A3E5C;
    font-size:1.15rem;
    font-weight:600;
    line-height:1.7 !important;
}


/* ==================================================
   GENERAL SECTIONS
================================================== */

.pennate-rld-section{
    margin-bottom:64px !important;
}

.pennate-rld-section > h2{
    max-width:820px;
}

.pennate-rld-section > p{
    max-width:860px;
}


/* ==================================================
   DELIVERABLE CARDS
================================================== */

.pennate-rld-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.pennate-rld-card{
    padding:28px;
    border:1px solid rgba(26,62,92,.12);
    border-top:3px solid #5AC8C8;
    border-radius:14px;
    background:#FFFFFF;
}

.pennate-rld-card p{
    margin:0;
    font-size:.98rem;
    line-height:1.7;
}


/* ==================================================
   FIT / NOT FIT
================================================== */

.pennate-rld-fit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.pennate-rld-fit-card{
    padding:30px;
    border-radius:14px;
}

.pennate-rld-fit-good{
    border-left:4px solid #5AC8C8;
    background:#F2E8D5;
}

.pennate-rld-fit-not{
    border:1px solid rgba(26,62,92,.14);
    background:#F7F7F5;
}

.pennate-rld-fit-card ul{
    margin:0;
    padding-left:22px;
}

.pennate-rld-fit-card li{
    margin-bottom:10px;
    line-height:1.6;
}

.pennate-rld-fit-card li:last-child{
    margin-bottom:0;
}


/* ==================================================
   PACKAGE LIMITS
================================================== */

.pennate-rld-limits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-bottom:22px;
}

.pennate-rld-limit{
    display:flex;
    min-height:132px;
    padding:24px;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    border:1px solid rgba(26,62,92,.12);
    border-radius:14px;
    background:#FFFFFF;
}

.pennate-rld-limit strong{
    display:block;
    margin-bottom:8px;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:1.45rem;
    font-weight:700;
    line-height:1.2;
}

.pennate-rld-limit span{
    color:#2F2F2F;
    font-size:.92rem;
    line-height:1.5;
}


/* ==================================================
   PROCESS
================================================== */

.pennate-rld-process{
    margin:0;
    padding:0;
    list-style:none;
    counter-reset:pennate-rld-step;
}

.pennate-rld-process li{
    position:relative;
    margin-bottom:18px;
    padding:24px 24px 24px 76px;
    border:1px solid rgba(26,62,92,.12);
    border-radius:14px;
    background:#FFFFFF;
    counter-increment:pennate-rld-step;
}

.pennate-rld-process li:last-child{
    margin-bottom:0;
}

.pennate-rld-process li::before{
    content:counter(pennate-rld-step);
    position:absolute;
    top:22px;
    left:22px;
    display:flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#5AC8C8;
    color:#FFFFFF;
    font-family:"Montserrat",sans-serif;
    font-size:.88rem;
    font-weight:700;
}

.pennate-rld-process strong{
    display:block;
    margin-bottom:7px;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:1rem;
    font-weight:700;
    line-height:1.4;
}

.pennate-rld-process span{
    display:block;
    line-height:1.65;
}


/* ==================================================
   NOTES / CALLOUTS
================================================== */

.pennate-rld-note{
    max-width:900px !important;
    margin-top:24px !important;
    padding:20px 22px;
    border-left:4px solid #5AC8C8;
    border-radius:10px;
    background:#F2E8D5;
    color:#1A3E5C;
    font-weight:600;
    line-height:1.65 !important;
}


/* ==================================================
   EXCLUSIONS
================================================== */

.pennate-rld-columns{
    columns:2;
    column-gap:48px;
    margin:24px 0 0;
    padding-left:22px;
}

.pennate-rld-columns li{
    margin-bottom:10px;
    break-inside:avoid;
    line-height:1.55;
}


/* ==================================================
   REQUIREMENTS CHECKLIST
================================================== */

.pennate-rld-checklist{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 28px;
    margin:24px 0 0;
    padding:0;
    list-style:none;
}

.pennate-rld-checklist li{
    position:relative;
    padding-left:28px;
    line-height:1.6;
}

.pennate-rld-checklist li::before{
    content:"✓";
    position:absolute;
    top:0;
    left:0;
    color:#5AC8C8;
    font-weight:700;
}


/* ==================================================
   FAQ
================================================== */

.pennate-rld-faq{
    margin-top:24px;
}

.pennate-rld-faq details{
    margin-bottom:14px;
    border:1px solid rgba(26,62,92,.12);
    border-radius:14px;
    background:#FFFFFF;
    overflow:hidden;
}

.pennate-rld-faq details:last-child{
    margin-bottom:0;
}

.pennate-rld-faq details[open]{
    border-color:rgba(90,200,200,.55);
}

.pennate-rld-faq summary{
    position:relative;
    padding:21px 56px 21px 22px;
    cursor:pointer;
    list-style:none;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:1rem;
    font-weight:600;
    line-height:1.5;
}

.pennate-rld-faq summary::-webkit-details-marker{
    display:none;
}

.pennate-rld-faq summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:22px;
    transform:translateY(-50%);
    color:#5AC8C8;
    font-size:1.45rem;
    font-weight:400;
}

.pennate-rld-faq details[open] summary::after{
    content:"–";
}

.pennate-rld-faq details p{
    margin:0;
    padding:0 22px 22px;
    line-height:1.7;
}


/* ==================================================
   FINAL PRODUCT CTA
================================================== */

.pennate-rld-final{
    padding:56px 42px;
    border-radius:18px;
    background:#1A3E5C;
    color:#FFFFFF;
    text-align:center;
}

.pennate-rld-final h2{
    margin:0 auto 18px;
    max-width:720px;
    color:#FFFFFF;
}

.pennate-rld-final p{
    margin:0 auto;
    max-width:700px;
    color:rgba(255,255,255,.9);
    line-height:1.75;
}

.pennate-rld-final .pennate-rld-eyebrow{
    color:#5AC8C8;
}


/* ==================================================
   RESPONSIVE
================================================== */

@media (max-width:900px){

    .pennate-rld-grid,
    .pennate-rld-fit-grid{
        grid-template-columns:1fr;
    }

    .pennate-rld-limits{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media (max-width:767px){

    .pennate-rld-product h2{
        font-size:1.65rem;
    }

    .pennate-rld-intro{
        margin-bottom:44px !important;
        padding:30px 24px;
    }

    .pennate-rld-section{
        margin-bottom:48px !important;
    }

    .pennate-rld-card,
    .pennate-rld-fit-card{
        padding:24px;
    }

    .pennate-rld-limits{
        grid-template-columns:1fr;
    }

    .pennate-rld-limit{
        min-height:auto;
    }

    .pennate-rld-process li{
        padding:68px 22px 22px;
    }

    .pennate-rld-process li::before{
        top:20px;
        left:22px;
    }

    .pennate-rld-columns{
        columns:1;
    }

    .pennate-rld-checklist{
        grid-template-columns:1fr;
    }

    .pennate-rld-final{
        padding:46px 24px;
    }

}

@media (max-width:480px){

    .pennate-rld-intro{
        padding:26px 20px;
    }

    .pennate-rld-card,
    .pennate-rld-fit-card{
        padding:22px 20px;
    }

    .pennate-rld-faq summary{
        padding:19px 50px 19px 18px;
    }

    .pennate-rld-faq details p{
        padding:0 18px 20px;
    }

}

/* ==================================================
   PENNATE GUIDES — REFERENCE LIBRARY
================================================== */

.pennate-guides{
    width:100%;
    color:#2F2F2F;
}

.pennate-guides *,
.pennate-guides *::before,
.pennate-guides *::after{
    box-sizing:border-box;
}

.pennate-guides h1,
.pennate-guides h2,
.pennate-guides h3{
    color:#1A3E5C;
}

.pennate-guides h1{
    margin:0 0 24px;
    color:#F2E8D5;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1.08;
}

.pennate-guides h2{
    margin:0 0 20px;
    font-size:clamp(1.8rem,3vw,2.45rem);
    line-height:1.22;
}

.pennate-guides h3{
    margin:0;
    font-size:1.35rem;
    line-height:1.35;
}

.pennate-guides p{
    line-height:1.75;
}

.pennate-guides a{
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pennate-guides a:focus-visible{
    outline:3px solid rgba(90,200,200,.55);
    outline-offset:3px;
}

.pennate-guides-section,
.pennate-guides-card,
.pennate-guides-series-card{
    scroll-margin-top:120px;
}


/* ==================================================
   SHARED EYEBROW
================================================== */

.pennate-guides-eyebrow{
    margin:0 0 12px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.4;
    text-transform:uppercase;
}


/* ==================================================
   HERO
================================================== */

.pennate-guides-hero{
    margin-bottom:72px;
    padding:76px 64px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-guides-hero-inner{
    max-width:900px;
}

.pennate-guides-hero .pennate-guides-eyebrow{
    color:#5AC8C8;
}

.pennate-guides-hero p{
    max-width:820px;
    margin:0 0 18px;
    color:rgba(255,255,255,.88);
}

.pennate-guides-hero p:last-of-type{
    margin-bottom:0;
}

.pennate-guides-lead{
    color:#FFFFFF !important;
    font-size:1.22rem;
    font-weight:500;
    line-height:1.7 !important;
}


/* ==================================================
   JUMP NAVIGATION
================================================== */

.pennate-guides-jump{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:34px;
}

.pennate-guides-jump a{
    display:inline-flex;
    align-items:center;
    padding:10px 15px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:999px;
    color:#FFFFFF;
    font-family:"Montserrat",sans-serif;
    font-size:.78rem;
    font-weight:600;
    line-height:1.3;
    text-decoration:none;
}

.pennate-guides-jump a:hover{
    border-color:#5AC8C8;
    background:rgba(90,200,200,.12);
    color:#FFFFFF;
}


/* ==================================================
   GENERAL SECTIONS
================================================== */

.pennate-guides-section{
    margin-bottom:76px;
}

.pennate-guides-section-header{
    max-width:820px;
    margin-bottom:34px;
}

.pennate-guides-section-header p:last-child{
    margin:0;
}


/* ==================================================
   PRIMARY AUTHORITY GUIDE
================================================== */

.pennate-guides-primary{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);
    gap:40px;
    padding:48px;
    border-left:5px solid #5AC8C8;
    border-radius:18px;
    background:#F2E8D5;
}

.pennate-guides-label-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.pennate-guides-badge{
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    background:#5AC8C8;
    color:#FFFFFF;
    font-family:"Montserrat",sans-serif;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.3;
    text-transform:uppercase;
}

.pennate-guides-type{
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.pennate-guides-primary-copy h2{
    max-width:760px;
    margin-bottom:22px;
}

.pennate-guides-primary-lead{
    color:#1A3E5C;
    font-size:1.12rem;
    font-weight:600;
    line-height:1.7 !important;
}

.pennate-guides-primary-copy > p{
    max-width:760px;
}

.pennate-guides-primary-audience{
    margin:26px 0 30px;
    padding:0;
    list-style:none;
}

.pennate-guides-primary-audience li{
    position:relative;
    margin-bottom:10px;
    padding-left:28px;
    line-height:1.6;
}

.pennate-guides-primary-audience li::before{
    content:"✓";
    position:absolute;
    top:0;
    left:0;
    color:#5AC8C8;
    font-weight:700;
}

.pennate-guides-primary-button,
.pennate-guides-series-button,
.pennate-guides-secondary-button,
.pennate-guides-final-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 24px;
    border-radius:10px;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.045em;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}

.pennate-guides-primary-button,
.pennate-guides-series-button{
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-guides-primary-button:hover,
.pennate-guides-series-button:hover{
    background:#123149;
    color:#FFFFFF;
    transform:translateY(-1px);
}

.pennate-guides-primary-path{
    align-self:stretch;
    padding:28px;
    border:1px solid rgba(26,62,92,.13);
    border-radius:14px;
    background:rgba(255,255,255,.48);
}

.pennate-guides-primary-path-title{
    margin:0 0 18px !important;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.pennate-guides-primary-path ol{
    margin:0;
    padding-left:22px;
}

.pennate-guides-primary-path li{
    margin-bottom:13px;
    padding-left:5px;
    color:#1A3E5C;
    font-weight:600;
    line-height:1.45;
}

.pennate-guides-primary-path li:last-child{
    margin-bottom:0;
}


/* ==================================================
   CATEGORY CARDS
================================================== */

.pennate-guides-category-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
}

.pennate-guides-card{
    padding:32px;
    border:1px solid rgba(26,62,92,.13);
    border-top:4px solid #5AC8C8;
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-guides-card-header{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px;
}

.pennate-guides-card-number{
    display:flex;
    flex:0 0 42px;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#F2E8D5;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
}

.pennate-guides-card-kicker{
    margin:0 0 5px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.4;
    text-transform:uppercase;
}

.pennate-guides-card-description{
    margin:0 0 24px;
    color:#4A4A4A;
    font-size:.96rem;
    line-height:1.7 !important;
}


/* ==================================================
   GUIDE LINK LISTS
================================================== */

.pennate-guides-link-list{
    margin:0;
    padding:0;
    list-style:none;
}

.pennate-guides-link-list li{
    margin:0;
    border-top:1px solid rgba(26,62,92,.1);
}

.pennate-guides-link-list li:last-child{
    border-bottom:1px solid rgba(26,62,92,.1);
}

.pennate-guides-link-list a{
    position:relative;
    display:block;
    padding:14px 30px 14px 0;
    color:#1A3E5C;
    font-size:.94rem;
    font-weight:600;
    line-height:1.5;
    text-decoration:none;
}

.pennate-guides-link-list a::after{
    content:"→";
    position:absolute;
    top:50%;
    right:4px;
    transform:translateY(-50%);
    color:#5AC8C8;
    font-size:1rem;
}

.pennate-guides-link-list a:hover{
    color:#347F86;
    transform:translateX(3px);
}


/* ==================================================
   FEATURED SERIES
================================================== */

.pennate-guides-series{
    padding:54px;
    border-radius:20px;
    background:#F7F7F5;
}

.pennate-guides-series-grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
    gap:26px;
}

.pennate-guides-series-card{
    overflow:hidden;
    border:1px solid rgba(26,62,92,.13);
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-guides-series-intro{
    padding:32px;
    border-bottom:1px solid rgba(26,62,92,.1);
}

.pennate-guides-series-intro h3{
    margin:18px 0 14px;
    font-size:1.5rem;
}

.pennate-guides-series-intro p{
    margin:0 0 24px;
}

.pennate-guides-series-links,
.pennate-guides-series-principles{
    padding:26px 32px 32px;
}

.pennate-guides-series-links-title{
    margin:0 0 14px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pennate-guides-series-principles ul{
    margin:0;
    padding-left:21px;
}

.pennate-guides-series-principles li{
    margin-bottom:12px;
    line-height:1.6;
}

.pennate-guides-series-principles li:last-child{
    margin-bottom:0;
}

.pennate-guides-series-native{
    border-top:4px solid #5AC8C8;
}


/* ==================================================
   PLANT LIBRARY CALLOUT
================================================== */

.pennate-guides-library-callout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:40px;
    align-items:center;
    padding:40px 44px;
    border-left:4px solid #5AC8C8;
    border-radius:16px;
    background:#F2E8D5;
}

.pennate-guides-library-callout h2{
    margin-bottom:14px;
}

.pennate-guides-library-callout p:last-child{
    max-width:760px;
    margin-bottom:0;
}

.pennate-guides-secondary-button{
    border:2px solid #1A3E5C;
    background:transparent;
    color:#1A3E5C;
}

.pennate-guides-secondary-button:hover{
    background:#1A3E5C;
    color:#FFFFFF;
}


/* ==================================================
   CONTRIBUTIONS
================================================== */

.pennate-guides-contributions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:40px;
    align-items:center;
    padding:38px 42px;
    border:1px solid rgba(26,62,92,.13);
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-guides-contributions h2{
    margin-bottom:14px;
}

.pennate-guides-contributions p{
    max-width:780px;
    margin:0 0 12px;
}

.pennate-guides-contributions p:last-child{
    margin-bottom:0;
}


/* ==================================================
   FINAL CTA
================================================== */

.pennate-guides-final{
    padding:64px 42px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
    text-align:center;
}

.pennate-guides-final-inner{
    max-width:760px;
    margin:0 auto;
}

.pennate-guides-final .pennate-guides-eyebrow{
    color:#5AC8C8;
}

.pennate-guides-final h2{
    margin-bottom:20px;
    color:#FFFFFF;
}

.pennate-guides-final p{
    margin:0 auto 30px;
    max-width:680px;
    color:rgba(255,255,255,.88);
}

.pennate-guides-final-button{
    background:#5AC8C8;
    color:#FFFFFF;
}

.pennate-guides-final-button:hover{
    background:#49B9B9;
    color:#FFFFFF;
    transform:translateY(-1px);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width:980px){

    .pennate-guides-primary{
        grid-template-columns:1fr;
    }

    .pennate-guides-primary-path{
        max-width:none;
    }

    .pennate-guides-series-grid{
        grid-template-columns:1fr;
    }

    .pennate-guides-library-callout,
    .pennate-guides-contributions{
        grid-template-columns:1fr;
    }

    .pennate-guides-library-callout-action{
        justify-self:start;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width:767px){

    .pennate-guides-hero{
        margin-bottom:52px;
        padding:52px 26px;
        border-radius:16px;
    }

    .pennate-guides-lead{
        font-size:1.08rem;
    }

    .pennate-guides-jump{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .pennate-guides-jump a{
        justify-content:center;
        text-align:center;
    }

    .pennate-guides-section{
        margin-bottom:54px;
    }

    .pennate-guides-primary{
        gap:28px;
        padding:30px 24px;
    }

    .pennate-guides-category-grid{
        grid-template-columns:1fr;
    }

    .pennate-guides-card{
        padding:26px 22px;
    }

    .pennate-guides-card-header{
        gap:13px;
    }

    .pennate-guides-series{
        padding:38px 22px;
    }

    .pennate-guides-series-intro,
    .pennate-guides-series-links,
    .pennate-guides-series-principles{
        padding:25px 22px;
    }

    .pennate-guides-library-callout,
    .pennate-guides-contributions{
        gap:26px;
        padding:30px 24px;
    }

    .pennate-guides-secondary-button{
        width:100%;
    }

    .pennate-guides-final{
        padding:50px 24px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width:480px){

    .pennate-guides-jump{
        grid-template-columns:1fr;
    }

    .pennate-guides-primary-button,
    .pennate-guides-series-button,
    .pennate-guides-final-button{
        width:100%;
    }

    .pennate-guides-card-header{
        align-items:center;
    }

    .pennate-guides-card-number{
        flex-basis:38px;
        width:38px;
        height:38px;
    }

}

/* ==================================================
   PENNATE LEARNING CENTER HUB
================================================== */

.pennate-learning{
    width:100%;
    color:#2F2F2F;
}

.pennate-learning *,
.pennate-learning *::before,
.pennate-learning *::after{
    box-sizing:border-box;
}

.pennate-learning h1,
.pennate-learning h2,
.pennate-learning h3{
    color:#1A3E5C;
}

.pennate-learning h1{
    margin:0 0 24px;
    color:#F2E8D5;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1.08;
}

.pennate-learning h2{
    margin:0 0 20px;
    font-size:clamp(1.8rem,3vw,2.4rem);
    line-height:1.24;
}

.pennate-learning h3{
    margin:0 0 15px;
    font-size:1.42rem;
    line-height:1.35;
}

.pennate-learning p{
    line-height:1.75;
}

.pennate-learning a{
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pennate-learning a:focus-visible{
    outline:3px solid rgba(90,200,200,.55);
    outline-offset:3px;
}


/* ==================================================
   SHARED
================================================== */

.pennate-learning-eyebrow{
    margin:0 0 12px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.4;
    text-transform:uppercase;
}

.pennate-learning-section{
    margin-bottom:76px;
}

.pennate-learning-section-header{
    max-width:820px;
    margin-bottom:34px;
}

.pennate-learning-section-header p:last-child{
    margin-bottom:0;
}


/* ==================================================
   HERO
================================================== */

.pennate-learning-hero{
    margin-bottom:72px;
    padding:76px 64px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-learning-hero-content{
    max-width:900px;
}

.pennate-learning-hero .pennate-learning-eyebrow{
    color:#5AC8C8;
}

.pennate-learning-hero p{
    max-width:830px;
    margin:0 0 18px;
    color:rgba(255,255,255,.88);
}

.pennate-learning-hero p:last-child{
    margin-bottom:0;
}

.pennate-learning-lead{
    color:#FFFFFF !important;
    font-size:1.22rem;
    font-weight:500;
    line-height:1.7 !important;
}


/* ==================================================
   START HERE
================================================== */

.pennate-learning-start{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);
    gap:40px;
    padding:48px;
    border-left:5px solid #5AC8C8;
    border-radius:18px;
    background:#F2E8D5;
}

.pennate-learning-label-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.pennate-learning-badge{
    display:inline-flex;
    padding:7px 11px;
    align-items:center;
    border-radius:999px;
    background:#5AC8C8;
    color:#FFFFFF;
    font-family:"Montserrat",sans-serif;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.3;
    text-transform:uppercase;
}

.pennate-learning-type{
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.pennate-learning-start-copy > p{
    max-width:760px;
}

.pennate-learning-start-lead{
    color:#1A3E5C;
    font-size:1.1rem;
    font-weight:600;
    line-height:1.7 !important;
}

.pennate-learning-primary-button,
.pennate-learning-secondary-button,
.pennate-learning-final-button{
    display:inline-flex;
    padding:15px 24px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.045em;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}

.pennate-learning-primary-button{
    margin-top:10px;
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-learning-primary-button:hover{
    background:#123149;
    color:#FFFFFF;
    transform:translateY(-1px);
}

.pennate-learning-start-aside{
    align-self:stretch;
    padding:28px;
    border:1px solid rgba(26,62,92,.13);
    border-radius:14px;
    background:rgba(255,255,255,.5);
}

.pennate-learning-aside-title{
    margin:0 0 17px !important;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.77rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pennate-learning-start-aside ul{
    margin:0;
    padding-left:21px;
}

.pennate-learning-start-aside li{
    margin-bottom:13px;
    color:#1A3E5C;
    font-weight:600;
    line-height:1.5;
}

.pennate-learning-start-aside li:last-child{
    margin-bottom:0;
}


/* ==================================================
   RESOURCE CARDS
================================================== */

.pennate-learning-resource-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.pennate-learning-resource-card{
    display:flex;
    min-width:0;
    padding:30px;
    flex-direction:column;
    border:1px solid rgba(26,62,92,.13);
    border-top:4px solid rgba(26,62,92,.22);
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-learning-resource-featured{
    border-top-color:#5AC8C8;
}

.pennate-learning-resource-top{
    display:flex;
    margin-bottom:22px;
    align-items:center;
    gap:12px;
}

.pennate-learning-resource-number{
    display:flex;
    width:40px;
    height:40px;
    flex:0 0 40px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#F2E8D5;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.8rem;
    font-weight:700;
}

.pennate-learning-resource-label{
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.4;
    text-transform:uppercase;
}

.pennate-learning-resource-card > p{
    margin:0 0 22px;
    color:#4A4A4A;
    font-size:.96rem;
}

.pennate-learning-resource-card ul{
    margin:0 0 28px;
    padding-left:20px;
}

.pennate-learning-resource-card li{
    margin-bottom:9px;
    line-height:1.5;
}

.pennate-learning-resource-card li:last-child{
    margin-bottom:0;
}

.pennate-learning-card-link{
    position:relative;
    display:block;
    margin-top:auto;
    padding:16px 32px 0 0;
    border-top:1px solid rgba(26,62,92,.11);
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.035em;
    line-height:1.4;
    text-decoration:none;
    text-transform:uppercase;
}

.pennate-learning-card-link::after{
    content:"→";
    position:absolute;
    right:3px;
    bottom:0;
    color:#5AC8C8;
    font-size:1.1rem;
}

.pennate-learning-card-link:hover{
    color:#347F86;
    transform:translateX(3px);
}


/* ==================================================
   KNOWLEDGE FRAMEWORK
================================================== */

.pennate-learning-framework{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:48px;
    padding:48px;
    border-radius:18px;
    background:#F7F7F5;
}

.pennate-learning-framework-copy p{
    margin:0 0 18px;
}

.pennate-learning-framework-copy p:last-child{
    margin-bottom:0;
}

.pennate-learning-framework-steps{
    margin:0;
    padding:0;
    list-style:none;
}

.pennate-learning-framework-steps li{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:18px;
    margin-bottom:16px;
    padding:22px;
    border:1px solid rgba(26,62,92,.11);
    border-radius:13px;
    background:#FFFFFF;
}

.pennate-learning-framework-steps li:last-child{
    margin-bottom:0;
}

.pennate-learning-step-number{
    display:flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#5AC8C8;
    color:#FFFFFF;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
}

.pennate-learning-framework-steps strong{
    display:block;
    margin-bottom:6px;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.95rem;
}

.pennate-learning-framework-steps p{
    margin:0;
    font-size:.94rem;
    line-height:1.65;
}


/* ==================================================
   DIRECTION CALLOUT
================================================== */

.pennate-learning-direction{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    padding:40px 44px;
    align-items:center;
    border-left:4px solid #5AC8C8;
    border-radius:16px;
    background:#F2E8D5;
}

.pennate-learning-direction h2{
    margin-bottom:13px;
}

.pennate-learning-direction p:last-child{
    max-width:750px;
    margin-bottom:0;
}

.pennate-learning-secondary-button{
    border:2px solid #1A3E5C;
    background:transparent;
    color:#1A3E5C;
}

.pennate-learning-secondary-button:hover{
    background:#1A3E5C;
    color:#FFFFFF;
}


/* ==================================================
   FINAL CTA
================================================== */

.pennate-learning-final{
    padding:64px 42px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
    text-align:center;
}

.pennate-learning-final-content{
    max-width:760px;
    margin:0 auto;
}

.pennate-learning-final .pennate-learning-eyebrow{
    color:#5AC8C8;
}

.pennate-learning-final h2{
    color:#FFFFFF;
}

.pennate-learning-final p{
    max-width:680px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.88);
}

.pennate-learning-final-button{
    background:#5AC8C8;
    color:#FFFFFF;
}

.pennate-learning-final-button:hover{
    background:#49B9B9;
    color:#FFFFFF;
    transform:translateY(-1px);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width:980px){

    .pennate-learning-start{
        grid-template-columns:1fr;
    }

    .pennate-learning-resource-grid{
        grid-template-columns:1fr;
    }

    .pennate-learning-framework{
        grid-template-columns:1fr;
    }

    .pennate-learning-direction{
        grid-template-columns:1fr;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width:767px){

    .pennate-learning-hero{
        margin-bottom:52px;
        padding:52px 26px;
        border-radius:16px;
    }

    .pennate-learning-lead{
        font-size:1.08rem;
    }

    .pennate-learning-section{
        margin-bottom:54px;
    }

    .pennate-learning-start{
        gap:28px;
        padding:30px 24px;
    }

    .pennate-learning-resource-card{
        padding:26px 22px;
    }

    .pennate-learning-framework{
        gap:32px;
        padding:34px 22px;
    }

    .pennate-learning-direction{
        gap:25px;
        padding:30px 24px;
    }

    .pennate-learning-secondary-button{
        width:100%;
    }

    .pennate-learning-final{
        padding:50px 24px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width:480px){

    .pennate-learning-primary-button,
    .pennate-learning-final-button{
        width:100%;
    }

    .pennate-learning-framework-steps li{
        grid-template-columns:1fr;
    }

}

/* ==================================================
   PENNATE PLANT LIBRARY
================================================== */

.pennate-plant-library{
    width:100%;
    color:#2F2F2F;
}

.pennate-plant-library *,
.pennate-plant-library *::before,
.pennate-plant-library *::after{
    box-sizing:border-box;
}

.pennate-plant-library h1,
.pennate-plant-library h2,
.pennate-plant-library h3{
    color:#1A3E5C;
}

.pennate-plant-library h1{
    margin:0 0 24px;
    color:#F2E8D5;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1.08;
}

.pennate-plant-library h2{
    margin:0 0 20px;
    font-size:clamp(1.8rem,3vw,2.4rem);
    line-height:1.24;
}

.pennate-plant-library h3{
    margin:0 0 13px;
    font-size:1.25rem;
    line-height:1.38;
}

.pennate-plant-library p{
    line-height:1.75;
}

.pennate-plant-library a{
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pennate-plant-library a:focus-visible{
    outline:3px solid rgba(90,200,200,.55);
    outline-offset:3px;
}


/* ==================================================
   SHARED
================================================== */

.pennate-plant-library-eyebrow{
    margin:0 0 12px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.4;
    text-transform:uppercase;
}

.pennate-plant-library-section{
    margin-bottom:76px;
}

.pennate-plant-library-section-header{
    max-width:820px;
    margin-bottom:34px;
}

.pennate-plant-library-section-header p:last-child{
    margin-bottom:0;
}


/* ==================================================
   HERO
================================================== */

.pennate-plant-library-hero{
    margin-bottom:72px;
    padding:76px 64px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-plant-library-hero-content{
    max-width:900px;
}

.pennate-plant-library-hero .pennate-plant-library-eyebrow{
    color:#5AC8C8;
}

.pennate-plant-library-hero p{
    max-width:830px;
    margin:0 0 18px;
    color:rgba(255,255,255,.88);
}

.pennate-plant-library-hero p:last-child{
    margin-bottom:0;
}

.pennate-plant-library-lead{
    color:#FFFFFF !important;
    font-size:1.22rem;
    font-weight:500;
    line-height:1.7 !important;
}


/* ==================================================
   PURPOSE
================================================== */

.pennate-plant-library-purpose{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
    gap:42px;
    padding:48px;
    border-left:5px solid #5AC8C8;
    border-radius:18px;
    background:#F2E8D5;
}

.pennate-plant-library-purpose-copy p{
    max-width:760px;
    margin:0 0 18px;
}

.pennate-plant-library-purpose-copy p:last-child{
    margin-bottom:0;
}

.pennate-plant-library-purpose-aside{
    align-self:stretch;
    padding:28px;
    border:1px solid rgba(26,62,92,.13);
    border-radius:14px;
    background:rgba(255,255,255,.5);
}

.pennate-plant-library-aside-title{
    margin:0 0 17px !important;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.77rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pennate-plant-library-purpose-aside ul{
    margin:0;
    padding-left:21px;
}

.pennate-plant-library-purpose-aside li{
    margin-bottom:12px;
    color:#1A3E5C;
    font-weight:600;
    line-height:1.5;
}

.pennate-plant-library-purpose-aside li:last-child{
    margin-bottom:0;
}


/* ==================================================
   USE CARDS
================================================== */

.pennate-plant-library-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.pennate-plant-library-card{
    position:relative;
    padding:30px;
    border:1px solid rgba(26,62,92,.13);
    border-top:4px solid #5AC8C8;
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-plant-library-card-number{
    display:flex;
    width:40px;
    height:40px;
    margin-bottom:20px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#F2E8D5;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.8rem;
    font-weight:700;
}

.pennate-plant-library-card p{
    margin:0;
    color:#4A4A4A;
}


/* ==================================================
   SITE CONTEXT
================================================== */

.pennate-plant-library-context{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
    gap:48px;
    padding:48px;
    border-radius:18px;
    background:#F7F7F5;
}

.pennate-plant-library-context-copy p{
    margin:0 0 18px;
}

.pennate-plant-library-context-copy p:last-child{
    margin-bottom:0;
}

.pennate-plant-library-context-list{
    display:grid;
    gap:14px;
}

.pennate-plant-library-context-item{
    padding:20px 22px;
    border:1px solid rgba(26,62,92,.11);
    border-radius:13px;
    background:#FFFFFF;
}

.pennate-plant-library-context-item strong{
    display:block;
    margin-bottom:5px;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.92rem;
}

.pennate-plant-library-context-item span{
    display:block;
    color:#4A4A4A;
    font-size:.94rem;
    line-height:1.55;
}


/* ==================================================
   DEVELOPMENT STATUS
================================================== */

.pennate-plant-library-development{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
    gap:42px;
    align-items:center;
}

.pennate-plant-library-development > div:first-child p{
    max-width:780px;
    margin:0 0 18px;
}

.pennate-plant-library-development > div:first-child p:last-child{
    margin-bottom:0;
}

.pennate-plant-library-development-note{
    padding:28px;
    border-left:4px solid #5AC8C8;
    border-radius:14px;
    background:#F2E8D5;
}

.pennate-plant-library-development-note strong{
    display:block;
    margin-bottom:10px;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pennate-plant-library-development-note p{
    margin:0;
    color:#1A3E5C;
    font-weight:600;
}


/* ==================================================
   GUIDES BRIDGE
================================================== */

.pennate-plant-library-guides{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    padding:40px 44px;
    align-items:center;
    border-left:4px solid #5AC8C8;
    border-radius:16px;
    background:#F2E8D5;
}

.pennate-plant-library-guides h2{
    margin-bottom:13px;
}

.pennate-plant-library-guides p:last-child{
    max-width:760px;
    margin-bottom:0;
}

.pennate-plant-library-secondary-button,
.pennate-plant-library-final-button{
    display:inline-flex;
    padding:15px 24px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-family:"Montserrat",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.045em;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}

.pennate-plant-library-secondary-button{
    border:2px solid #1A3E5C;
    background:transparent;
    color:#1A3E5C;
}

.pennate-plant-library-secondary-button:hover{
    background:#1A3E5C;
    color:#FFFFFF;
}


/* ==================================================
   FINAL CTA
================================================== */

.pennate-plant-library-final{
    padding:64px 42px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
    text-align:center;
}

.pennate-plant-library-final-content{
    max-width:760px;
    margin:0 auto;
}

.pennate-plant-library-final .pennate-plant-library-eyebrow{
    color:#5AC8C8;
}

.pennate-plant-library-final h2{
    color:#FFFFFF;
}

.pennate-plant-library-final p{
    max-width:690px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.88);
}

.pennate-plant-library-final-button{
    background:#5AC8C8;
    color:#FFFFFF;
}

.pennate-plant-library-final-button:hover{
    background:#49B9B9;
    color:#FFFFFF;
    transform:translateY(-1px);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width:980px){

    .pennate-plant-library-purpose,
    .pennate-plant-library-context,
    .pennate-plant-library-development,
    .pennate-plant-library-guides{
        grid-template-columns:1fr;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width:767px){

    .pennate-plant-library-hero{
        margin-bottom:52px;
        padding:52px 26px;
        border-radius:16px;
    }

    .pennate-plant-library-lead{
        font-size:1.08rem;
    }

    .pennate-plant-library-section{
        margin-bottom:54px;
    }

    .pennate-plant-library-purpose{
        gap:28px;
        padding:30px 24px;
    }

    .pennate-plant-library-card-grid{
        grid-template-columns:1fr;
    }

    .pennate-plant-library-card{
        padding:26px 22px;
    }

    .pennate-plant-library-context{
        gap:32px;
        padding:34px 22px;
    }

    .pennate-plant-library-development{
        gap:28px;
    }

    .pennate-plant-library-guides{
        gap:25px;
        padding:30px 24px;
    }

    .pennate-plant-library-secondary-button{
        width:100%;
    }

    .pennate-plant-library-final{
        padding:50px 24px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width:480px){

    .pennate-plant-library-final-button{
        width:100%;
    }

}

/* ==================================================
   PENNATE ARTICLES ARCHIVE INTRO
================================================== */

.pennate-articles-intro{
    width:100%;
    margin-bottom:56px;
    color:#2F2F2F;
}

.pennate-articles-intro *,
.pennate-articles-intro *::before,
.pennate-articles-intro *::after{
    box-sizing:border-box;
}

.pennate-articles-intro h1,
.pennate-articles-intro h2,
.pennate-articles-intro h3{
    color:#1A3E5C;
}

.pennate-articles-intro h1{
    margin:0 0 24px;
    color:#F2E8D5;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1.08;
}

.pennate-articles-intro h2{
    margin:0 0 18px;
    font-size:clamp(1.7rem,3vw,2.3rem);
    line-height:1.25;
}

.pennate-articles-intro h3{
    margin:0 0 14px;
    font-size:1.28rem;
    line-height:1.35;
}

.pennate-articles-intro p{
    line-height:1.75;
}

.pennate-articles-intro a{
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pennate-articles-intro a:focus-visible{
    outline:3px solid rgba(90,200,200,.55);
    outline-offset:3px;
}


/* ==================================================
   SHARED
================================================== */

.pennate-articles-eyebrow{
    margin:0 0 12px !important;
    color:#56717F;
    font-family:"Montserrat",sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    line-height:1.4;
    text-transform:uppercase;
}

.pennate-articles-section{
    margin-bottom:64px;
}

.pennate-articles-section-header{
    max-width:820px;
    margin-bottom:32px;
}

.pennate-articles-section-header p:last-child{
    margin-bottom:0;
}


/* ==================================================
   HERO
================================================== */

.pennate-articles-hero{
    margin-bottom:66px;
    padding:70px 62px;
    border-radius:20px;
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-articles-hero-content{
    max-width:900px;
}

.pennate-articles-hero .pennate-articles-eyebrow{
    color:#5AC8C8;
}

.pennate-articles-hero p{
    max-width:840px;
    margin:0 0 18px;
    color:rgba(255,255,255,.88);
}

.pennate-articles-hero p:last-child{
    margin-bottom:0;
}

.pennate-articles-lead{
    color:#FFFFFF !important;
    font-size:1.2rem;
    font-weight:500;
    line-height:1.7 !important;
}


/* ==================================================
   ARTICLE TYPE CARDS
================================================== */

.pennate-articles-type-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.pennate-articles-type-card{
    padding:30px;
    border:1px solid rgba(26,62,92,.13);
    border-top:4px solid #5AC8C8;
    border-radius:16px;
    background:#FFFFFF;
}

.pennate-articles-type-number{
    display:flex;
    width:40px;
    height:40px;
    margin-bottom:20px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#F2E8D5;
    color:#1A3E5C;
    font-family:"Montserrat",sans-serif;
    font-size:.8rem;
    font-weight:700;
}

.pennate-articles-type-card > p{
    margin:0 0 17px;
    color:#4A4A4A;
}

.pennate-articles-type-card > p:last-child{
    margin-bottom:0;
}

.pennate-articles-type-examples{
    padding-top:16px;
    border-top:1px solid rgba(26,62,92,.1);
    color:#56717F !important;
    font-size:.9rem;
    font-style:italic;
}


/* ==================================================
   GUIDES DISTINCTION
================================================== */

.pennate-articles-guides{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    padding:40px 44px;
    align-items:center;
    border-left:4px solid #5AC8C8;
    border-radius:16px;
    background:#F2E8D5;
}

.pennate-articles-guides-copy p{
    max-width:780px;
    margin:0 0 17px;
}

.pennate-articles-guides-copy p:last-child{
    margin-bottom:0;
}

.pennate-articles-secondary-button,
.pennate-articles-email-button{
    display:inline-flex;
    padding:15px 24px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-family:"Montserrat",sans-serif;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.045em;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}

.pennate-articles-secondary-button{
    border:2px solid #1A3E5C;
    background:transparent;
    color:#1A3E5C;
}

.pennate-articles-secondary-button:hover{
    background:#1A3E5C;
    color:#FFFFFF;
}


/* ==================================================
   ARCHIVE INTRODUCTION
================================================== */

.pennate-articles-browse{
    margin-bottom:34px;
    padding-bottom:28px;
    border-bottom:1px solid rgba(26,62,92,.14);
}

.pennate-articles-browse > div{
    max-width:800px;
}

.pennate-articles-browse h2{
    margin-bottom:12px;
}

.pennate-articles-browse p:last-child{
    margin-bottom:0;
}


/* ==================================================
   ARTICLE SUGGESTIONS
================================================== */

.pennate-articles-suggestions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    margin-top:58px;
    padding:38px 42px;
    align-items:center;
    border-radius:16px;
    background:#F7F7F5;
}

.pennate-articles-suggestions > div{
    max-width:780px;
}

.pennate-articles-suggestions h2{
    margin-bottom:14px;
}

.pennate-articles-suggestions p{
    margin:0 0 14px;
}

.pennate-articles-suggestions p:last-child{
    margin-bottom:0;
}

.pennate-articles-suggestions-note{
    color:#56717F;
    font-size:.9rem;
}

.pennate-articles-email-button{
    background:#1A3E5C;
    color:#FFFFFF;
}

.pennate-articles-email-button:hover{
    background:#123149;
    color:#FFFFFF;
    transform:translateY(-1px);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width:980px){

    .pennate-articles-type-grid{
        grid-template-columns:1fr;
    }

    .pennate-articles-guides,
    .pennate-articles-suggestions{
        grid-template-columns:1fr;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width:767px){

    .pennate-articles-intro{
        margin-bottom:42px;
    }

    .pennate-articles-hero{
        margin-bottom:50px;
        padding:50px 25px;
        border-radius:16px;
    }

    .pennate-articles-lead{
        font-size:1.07rem;
    }

    .pennate-articles-section{
        margin-bottom:50px;
    }

    .pennate-articles-type-card{
        padding:26px 22px;
    }

    .pennate-articles-guides{
        gap:24px;
        padding:30px 24px;
    }

    .pennate-articles-secondary-button{
        width:100%;
    }

    .pennate-articles-suggestions{
        gap:24px;
        padding:30px 24px;
    }

    .pennate-articles-email-button{
        width:100%;
    }

}

/* ==================================================
   ARTICLE SECTION DIVIDERS
================================================== */

.pennate-articles-divider{
    width:100%;
    margin:72px 0 34px;
    padding:42px 44px;
    border-left:4px solid #5AC8C8;
    border-radius:16px;
    background:#F7F7F5;
}

.pennate-articles-divider-content{
    max-width:820px;
}

.pennate-articles-divider h2{
    margin:0 0 16px;
    color:#1A3E5C;
    font-size:clamp(1.7rem,3vw,2.3rem);
    line-height:1.25;
}

.pennate-articles-divider p{
    margin:0 0 16px;
    color:#3F3F3F;
    line-height:1.75;
}

.pennate-articles-divider p:last-child{
    margin-bottom:0;
}

.pennate-articles-plant-divider{
    background:#F2E8D5;
}

.pennate-articles-archive-divider{
    border-left-color:#1A3E5C;
    background:#F7F7F5;
}


/* ==================================================
   SPACING AROUND DYNAMIC POST BLOCKS
================================================== */

.pennate-articles-intro + .wp-block-kadence-postgrid,
.pennate-articles-divider + .wp-block-kadence-postgrid{
    margin-top:0;
}

.wp-block-kadence-postgrid + .pennate-articles-divider{
    margin-top:72px;
}


/* ==================================================
   ARTICLE DIVIDER MOBILE
================================================== */

@media (max-width:767px){

    .pennate-articles-divider{
        margin:52px 0 28px;
        padding:30px 24px;
    }

}