.elementor-79791 .elementor-element.elementor-element-1c40ca1c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-1bab57d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-5782f4b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-6a4f2756 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-77e6bce6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-414c057e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-12564e51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-12564e51:not(.elementor-motion-effects-element-type-background), .elementor-79791 .elementor-element.elementor-element-12564e51 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDFBF8;}.elementor-79791 .elementor-element.elementor-element-43eda951{--display:flex;}.elementor-79791 .elementor-element.elementor-element-6e67c9b7{width:100%;max-width:100%;}.elementor-79791 .elementor-element.elementor-element-6e67c9b7 > .elementor-widget-container{margin:100px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-6e67c9b7.elementor-element{--align-self:center;}.elementor-79791 .elementor-element.elementor-element-40724870{color:var( --e-global-color-90f219b );}.elementor-79791 .elementor-element.elementor-element-2c7bd877{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-207aed15 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-3d9d5fc9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-48e2f688 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-5fff0019{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-764ccdc3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-48886fb4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-4bea8bd3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-61535377{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-f00ba53 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-25ac1c68{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-651d3447 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-58898448{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-408e6f54 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-431d8f7f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-75d7d2db > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-7184abe3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-2d44e80 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-9e9123{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-9e9123:not(.elementor-motion-effects-element-type-background), .elementor-79791 .elementor-element.elementor-element-9e9123 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDFBF8;}.elementor-79791 .elementor-element.elementor-element-200627d4{--display:flex;}.elementor-79791 .elementor-element.elementor-element-26a96bac{width:100%;max-width:100%;}.elementor-79791 .elementor-element.elementor-element-26a96bac > .elementor-widget-container{margin:0px 0px 100px 0px;}.elementor-79791 .elementor-element.elementor-element-26a96bac.elementor-element{--align-self:center;}.elementor-79791 .elementor-element.elementor-element-1ef2aae7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-36d10eda > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-615d1f3d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-78f895a6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-560e0097{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-239b4a9d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-2b9dfe4e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-2e6043b0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-7696c580{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-1fb5f282 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-351d7f15{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-76abac57 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-e6173c4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-71e6c28b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-135fdff2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-44013ca0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-3877abd9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-3e8d8ecc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-2201b895{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-4ddf249a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-2c189656{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-cb22b9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-679e0627{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-71bf5b17 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-79791 .elementor-element.elementor-element-13f65fa0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79791 .elementor-element.elementor-element-7940a1d1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-79791 .elementor-element.elementor-element-43eda951{--content-width:800px;}.elementor-79791 .elementor-element.elementor-element-200627d4{--content-width:800px;}}/* Start custom CSS *//* ============================================================
   BPT GLOBAL FOUNDATION CSS
   Buddhist Psychology Training – Spirit Rock
   Prefix: bpt-imscp-426
   Scope: Page-level (paste into page settings / head)
   Description: Global tokens, typography, buttons, layout
   utilities, and responsive breakpoints.
   ============================================================ */

/* ------------------------------------------------------------
   1. GOOGLE FONTS IMPORT
      Source Serif Pro & Source Sans Pro
   ------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400;1,8..60,500;1,8..60,600&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;1,400&display=swap');

/* ------------------------------------------------------------
   2. CSS CUSTOM PROPERTIES (Design Tokens)
   ------------------------------------------------------------ */
.bpt-imscp-426 {

  /* --- Colors: Dark / Navy --- */
  --bpt-color-navy:              #1B3A4B;   /* primary dark navy-teal */
  --bpt-color-navy-deep:         #152F3D;   /* deeper navy for hero overlay / footers */
  --bpt-color-navy-mid:          #2A4D5E;   /* mid navy for lighter dark sections */
  --bpt-color-navy-light:        #3A6178;   /* lighter navy for accents on dark bg */

  /* --- Colors: Gold / Accent --- */
  --bpt-color-gold:              #D4A843;   /* primary gold CTA / accent */
  --bpt-color-gold-hover:        #C09530;   /* darker gold on hover */
  --bpt-color-gold-light:        #E8C96A;   /* lighter gold for subtle highlights */
  --bpt-color-gold-muted:        #BFA05C;   /* muted gold for secondary elements */

  /* --- Colors: Backgrounds (Light) --- */
  --bpt-color-bg-primary:        #F7F3EE;   /* main warm cream page background */
  --bpt-color-bg-secondary:      #EDE7DF;   /* slightly deeper cream for alt sections */
  --bpt-color-bg-tertiary:       #E3DBD0;   /* deeper warm tan for contrast */
  --bpt-color-bg-white:          #FFFFFF;   /* pure white for cards */
  --bpt-color-bg-card:           #FAF7F3;   /* subtle warm white for cards/boxes */
  --bpt-color-bg-highlight:      #FFF9E6;   /* very light gold highlight bg */

  /* --- Colors: Text --- */
  --bpt-color-text-heading:      #1C1610;   /* near-black warm brown for headings */
  --bpt-color-text-body:         #3D342A;   /* medium warm brown for body */
  --bpt-color-text-muted:        #8C7B6E;   /* muted warm gray-brown for labels */
  --bpt-color-text-light:        #A89888;   /* lighter muted for captions */
  --bpt-color-text-white:        #FFFFFF;   /* white text on dark backgrounds */
  --bpt-color-text-white-muted:  #C5CDD4;   /* muted white for dark bg secondary text */

  /* --- Colors: Borders & Dividers --- */
  --bpt-color-border:            #D9CFC4;   /* standard warm border */
  --bpt-color-border-light:      #E8E0D6;   /* lighter border */
  --bpt-color-border-dark:       #3A5565;   /* border on dark backgrounds */

  /* --- Typography: Font Families --- */
  --bpt-font-serif:              'Source Serif 4', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
  --bpt-font-sans:               'Source Sans 3', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* --- Typography: Font Weights --- */
  --bpt-fw-normal:               400;
  --bpt-fw-medium:               500;
  --bpt-fw-semibold:             600;

  /* --- Typography: Font Sizes (Desktop) --- */
  --bpt-fs-display:              3.25rem;   /* 52px — hero headline */
  --bpt-fs-h1:                   2.5rem;    /* 40px — section headlines */
  --bpt-fs-h2:                   2rem;      /* 32px — sub-headlines */
  --bpt-fs-h3:                   1.5rem;    /* 24px — card titles */
  --bpt-fs-h4:                   1.25rem;   /* 20px — small headings */
  --bpt-fs-body-lg:              1.1875rem; /* 19px — primary body text */
  --bpt-fs-body:                 1.0625rem; /* 17px — secondary body */
  --bpt-fs-body-sm:              1rem;      /* 16px — smaller body */
  --bpt-fs-caption:              0.9375rem; /* 15px — captions, labels */
  --bpt-fs-eyebrow:              0.875rem;  /* 14px — eyebrow text */
  --bpt-fs-fine:                 0.8125rem; /* 13px — fine print */

  /* --- Spacing --- */
  --bpt-section-pad-y:           100px;     /* vertical section padding */
  --bpt-section-pad-x:           24px;      /* horizontal gutter */
  --bpt-content-max-width:       1140px;    /* max content width */
  --bpt-content-narrow:          800px;     /* narrow content column */
  --bpt-content-xnarrow:         640px;     /* extra-narrow for text-heavy */
  --bpt-gap-sm:                  12px;
  --bpt-gap-md:                  20px;
  --bpt-gap-lg:                  32px;
  --bpt-gap-xl:                  48px;
  --bpt-gap-xxl:                 64px;

  /* --- Border Radius --- */
  --bpt-radius-sm:               4px;
  --bpt-radius-md:               8px;
  --bpt-radius-lg:               12px;
  --bpt-radius-xl:               16px;
  --bpt-radius-pill:             999px;

  /* --- Shadows --- */
  --bpt-shadow-sm:               0 1px 3px rgba(0,0,0,0.06);
  --bpt-shadow-md:               0 4px 12px rgba(0,0,0,0.08);
  --bpt-shadow-lg:               0 8px 24px rgba(0,0,0,0.10);
  --bpt-shadow-card:             0 2px 8px rgba(0,0,0,0.06);

  /* --- Transitions --- */
  --bpt-transition:              all 0.3s ease;
  --bpt-transition-fast:         all 0.15s ease;
}

/* ------------------------------------------------------------
   3. BASE / RESET
   ------------------------------------------------------------ */
.bpt-imscp-426 *,
.bpt-imscp-426 *::before,
.bpt-imscp-426 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.bpt-imscp-426 {
  background-color: var(--bpt-color-bg-primary);
  color: var(--bpt-color-text-body);
  font-family: var(--bpt-font-sans);
  font-size: var(--bpt-fs-body-lg);
  font-weight: var(--bpt-fw-normal);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bpt-imscp-426 img {
  max-width: 100%;
  height: auto;
  display: block;
}

.bpt-imscp-426 a {
  color: var(--bpt-color-gold);
  text-decoration: none;
  transition: var(--bpt-transition);
}

.bpt-imscp-426 a:hover {
  color: var(--bpt-color-gold-hover);
  text-decoration: underline;
}

/* ------------------------------------------------------------
   4. TYPOGRAPHY
   ------------------------------------------------------------ */

/* — Headings — */
.bpt-imscp-426 h1,
.bpt-imscp-426 h2,
.bpt-imscp-426 h3,
.bpt-imscp-426 h4 {
  font-family: var(--bpt-font-serif);
  color: var(--bpt-color-text-heading);
  line-height: 1.25;
  margin-bottom: 0.5em;
}

.bpt-imscp-426 h1 {
  font-size: var(--bpt-fs-display);
  font-weight: var(--bpt-fw-semibold);
  line-height: 1.15;
}

.bpt-imscp-426 h2 {
  font-size: var(--bpt-fs-h1);
  font-weight: var(--bpt-fw-semibold);
}

.bpt-imscp-426 h3 {
  font-size: var(--bpt-fs-h2);
  font-weight: var(--bpt-fw-semibold);
}

.bpt-imscp-426 h4 {
  font-size: var(--bpt-fs-h3);
  font-weight: var(--bpt-fw-medium);
}

/* — Eyebrow / Label — */
.bpt-eyebrow {
  font-family: var(--bpt-font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--bpt-color-text-muted);
  margin-bottom: 12px;
}

.bpt-eyebrow--light {
  color: var(--bpt-color-text-white-muted);
}

.bpt-eyebrow--gold {
  color: #BF9530;
}

/* — Subtitle (italic serif) — */
.bpt-subtitle {
  font-family: var(--bpt-font-serif);
  font-size: var(--bpt-fs-h3);
  font-weight: var(--bpt-fw-normal);
  font-style: italic;
  color: var(--bpt-color-text-muted);
  line-height: 1.5;
}

.bpt-subtitle--light {
  color: var(--bpt-color-text-white-muted);
}

.bpt-subtitle--gold {
  color: var(--bpt-color-gold-light);
}

/* — Body text — */
.bpt-body {
  font-family: var(--bpt-font-sans);
  font-size: var(--bpt-fs-body-lg);
  font-weight: var(--bpt-fw-normal);
  color: var(--bpt-color-text-body);
  line-height: 1.7;
  margin-bottom: 1em;
}

.bpt-body--light {
  color: var(--bpt-color-text-white);
}

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

.bpt-body--sm {
  font-size: var(--bpt-fs-body);
}

.bpt-body--accent {
  font-family: var(--bpt-font-serif);
  font-weight: var(--bpt-fw-medium);
  font-style: italic;
}

/* — Serif emphasis (for inline serif callouts) — */
.bpt-serif {
  font-family: var(--bpt-font-serif);
  font-weight: var(--bpt-fw-medium);
}

.bpt-serif--italic {
  font-style: italic;
}

/* ------------------------------------------------------------
   5. BUTTONS
   ------------------------------------------------------------ */
.bpt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--bpt-font-sans);
  font-size: var(--bpt-fs-body);
  font-weight: var(--bpt-fw-semibold);
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--bpt-radius-md);
  padding: 14px 36px;
  cursor: pointer;
  transition: var(--bpt-transition);
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.bpt-btn:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

/* Primary: Gold fill */
.bpt-btn--primary {
  background-color: var(--bpt-color-gold);
  color: var(--bpt-color-navy-deep);
  border-color: var(--bpt-color-gold);
}

.bpt-btn--primary:hover {
  background-color: var(--bpt-color-gold-hover);
  border-color: var(--bpt-color-gold-hover);
  color: var(--bpt-color-navy-deep);
  box-shadow: 0 4px 16px rgba(212, 168, 67, 0.3);
}

/* Outline: transparent with gold border */
.bpt-btn--outline {
  background-color: transparent;
  color: var(--bpt-color-gold);
  border-color: var(--bpt-color-gold);
}

.bpt-btn--outline:hover {
  background-color: var(--bpt-color-gold);
  color: var(--bpt-color-navy-deep);
}

/* Outline light: for dark backgrounds */
.bpt-btn--outline-light {
  background-color: transparent;
  color: var(--bpt-color-text-white);
  border-color: rgba(255,255,255,0.4);
}

.bpt-btn--outline-light:hover {
  background-color: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.7);
  color: var(--bpt-color-text-white);
}

/* Ghost: for over images */
.bpt-btn--ghost {
  background-color: rgba(255,255,255,0.15);
  color: var(--bpt-color-text-white);
  border-color: rgba(255,255,255,0.3);
  backdrop-filter: blur(4px);
}

.bpt-btn--ghost:hover {
  background-color: rgba(255,255,255,0.25);
  border-color: rgba(255,255,255,0.5);
  color: var(--bpt-color-text-white);
}

/* Size modifiers */
.bpt-btn--lg {
  font-size: var(--bpt-fs-body-lg);
  padding: 16px 44px;
}

.bpt-btn--sm {
  font-size: var(--bpt-fs-caption);
  padding: 10px 24px;
}

.bpt-btn--full {
  width: 100%;
}

/* ------------------------------------------------------------
   6. LAYOUT UTILITIES
   ------------------------------------------------------------ */

/* — Section Wrapper — */
.bpt-section {
  width: 100%;
  padding: var(--bpt-section-pad-y) var(--bpt-section-pad-x);
}

.bpt-section--dark {
  background-color: var(--bpt-color-navy);
  color: var(--bpt-color-text-white);
}

.bpt-section--dark h1,
.bpt-section--dark h2,
.bpt-section--dark h3,
.bpt-section--dark h4 {
  color: var(--bpt-color-text-white);
}

.bpt-section--cream {
  background-color: var(--bpt-color-bg-primary);
}

.bpt-section--cream-alt {
  background-color: var(--bpt-color-bg-secondary);
}

.bpt-section--white {
  background-color: var(--bpt-color-bg-white);
}

/* — Container — */
.bpt-container {
  max-width: var(--bpt-content-max-width);
  margin: 0 auto;
  width: 100%;
}

.bpt-container--narrow {
  max-width: var(--bpt-content-narrow);
}

.bpt-container--xnarrow {
  max-width: var(--bpt-content-xnarrow);
}

/* — Text Alignment — */
.bpt-text-center { text-align: center; }
.bpt-text-left   { text-align: left; }
.bpt-text-right  { text-align: right; }

/* — Flex Utilities — */
.bpt-flex {
  display: flex;
}

.bpt-flex--center {
  align-items: center;
  justify-content: center;
}

.bpt-flex--col {
  flex-direction: column;
}

.bpt-flex--wrap {
  flex-wrap: wrap;
}

.bpt-flex--between {
  justify-content: space-between;
}

.bpt-flex--gap-sm  { gap: var(--bpt-gap-sm); }
.bpt-flex--gap-md  { gap: var(--bpt-gap-md); }
.bpt-flex--gap-lg  { gap: var(--bpt-gap-lg); }
.bpt-flex--gap-xl  { gap: var(--bpt-gap-xl); }

/* — Grid Utilities — */
.bpt-grid {
  display: grid;
  gap: var(--bpt-gap-lg);
}

.bpt-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}

.bpt-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}

.bpt-grid--4col {
  grid-template-columns: repeat(4, 1fr);
}

/* — Cards — */
.bpt-card {
  background-color: var(--bpt-color-bg-white);
  border-radius: var(--bpt-radius-lg);
  padding: var(--bpt-gap-lg);
  box-shadow: var(--bpt-shadow-card);
  transition: var(--bpt-transition);
}

.bpt-card:hover {
  box-shadow: var(--bpt-shadow-md);
}

.bpt-card--bordered {
  border: 1px solid var(--bpt-color-border-light);
}

.bpt-card--cream {
  background-color: var(--bpt-color-bg-card);
}

/* — Dividers — */
.bpt-divider {
  border: none;
  height: 1px;
  background-color: var(--bpt-color-border);
  margin: var(--bpt-gap-lg) 0;
}

.bpt-divider--light {
  background-color: var(--bpt-color-border-light);
}

.bpt-divider--dark {
  background-color: var(--bpt-color-border-dark);
}

/* — Spacing Helpers — */
.bpt-mb-0   { margin-bottom: 0; }
.bpt-mb-sm  { margin-bottom: var(--bpt-gap-sm); }
.bpt-mb-md  { margin-bottom: var(--bpt-gap-md); }
.bpt-mb-lg  { margin-bottom: var(--bpt-gap-lg); }
.bpt-mb-xl  { margin-bottom: var(--bpt-gap-xl); }
.bpt-mb-xxl { margin-bottom: var(--bpt-gap-xxl); }

.bpt-mt-0   { margin-top: 0; }
.bpt-mt-sm  { margin-top: var(--bpt-gap-sm); }
.bpt-mt-md  { margin-top: var(--bpt-gap-md); }
.bpt-mt-lg  { margin-top: var(--bpt-gap-lg); }
.bpt-mt-xl  { margin-top: var(--bpt-gap-xl); }

/* — Callout / Highlight Box — */
.bpt-callout {
  background-color: var(--bpt-color-bg-highlight);
  border-left: 4px solid var(--bpt-color-gold);
  border-radius: var(--bpt-radius-sm);
  padding: var(--bpt-gap-md) var(--bpt-gap-lg);
  margin: var(--bpt-gap-lg) 0;
}

.bpt-callout--dark {
  background-color: var(--bpt-color-navy-mid);
  border-left-color: var(--bpt-color-gold);
  color: var(--bpt-color-text-white);
}

/* — Blockquote — */
.bpt-blockquote {
  font-family: var(--bpt-font-serif);
  font-size: var(--bpt-fs-h3);
  font-weight: var(--bpt-fw-normal);
  font-style: italic;
  color: var(--bpt-color-gold);
  line-height: 1.5;
  padding: var(--bpt-gap-md) 0;
  border: none;
  margin: var(--bpt-gap-lg) 0;
  text-align: center;
}

.bpt-blockquote--light {
  color: var(--bpt-color-gold-light);
}

/* — Check List (generic) — */
.bpt-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bpt-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  font-size: var(--bpt-fs-body-lg);
  line-height: 1.6;
}

.bpt-checklist li::before {
  content: '';
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-top: 3px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4A843' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* — Badge / Pill — */
.bpt-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--bpt-font-sans);
  font-size: var(--bpt-fs-fine);
  font-weight: var(--bpt-fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 6px 14px;
  border-radius: var(--bpt-radius-pill);
  background-color: var(--bpt-color-bg-highlight);
  color: var(--bpt-color-gold);
}

.bpt-badge--dark {
  background-color: var(--bpt-color-navy-mid);
  color: var(--bpt-color-gold-light);
}

/* ------------------------------------------------------------
   7. RESPONSIVE BREAKPOINTS
   ------------------------------------------------------------ */

/* — Tablet (max 1024px) — */
@media (max-width: 1024px) {
  .bpt-imscp-426 {
    --bpt-fs-display:    2.5rem;
    --bpt-fs-h1:         2rem;
    --bpt-fs-h2:         1.625rem;
    --bpt-fs-h3:         1.25rem;
    --bpt-section-pad-y: 72px;
  }

  .bpt-grid--3col,
  .bpt-grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* — Large phone / small tablet (max 768px) — */
@media (max-width: 768px) {
  .bpt-imscp-426 {
    --bpt-fs-display:    2rem;
    --bpt-fs-h1:         1.75rem;
    --bpt-fs-h2:         1.375rem;
    --bpt-fs-h3:         1.125rem;
    --bpt-fs-body-lg:    1rem;
    --bpt-section-pad-y: 56px;
    --bpt-section-pad-x: 20px;
  }

  .bpt-grid--2col,
  .bpt-grid--3col,
  .bpt-grid--4col {
    grid-template-columns: 1fr;
  }

  .bpt-btn {
    padding: 12px 28px;
    font-size: var(--bpt-fs-body);
  }

  .bpt-btn--lg {
    padding: 14px 32px;
  }
}

/* — Small phone (max 480px) — */
@media (max-width: 480px) {
  .bpt-imscp-426 {
    --bpt-fs-display:    1.625rem;
    --bpt-fs-h1:         1.5rem;
    --bpt-fs-h2:         1.25rem;
    --bpt-fs-h3:         1.0625rem;
    --bpt-section-pad-y: 44px;
    --bpt-section-pad-x: 16px;
  }

  .bpt-btn--full-mobile {
    width: 100%;
  }

  .bpt-subtitle {
    font-size: var(--bpt-fs-body-lg);
  }
}/* End custom CSS */