.elementor-kit-9{--e-global-color-primary:#0A2342;--e-global-color-secondary:#2F3E4E;--e-global-color-text:#0A2342;--e-global-color-accent:#C9A66B;--e-global-color-e10ea4d:#F9F6F0;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:3rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2rem;--e-global-typography-primary-letter-spacing:-0.01rem;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:1rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.65rem;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:0.95rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65rem;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:0.95rem;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2rem;color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:1rem;font-weight:400;line-height:1.6rem;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:0.95rem;font-weight:600;line-height:1.2rem;letter-spacing:0.05em;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:6px 6px 6px 6px;padding:16px 32px 16px 32px;}.elementor-kit-9 button:hover,.elementor-kit-9 button:focus,.elementor-kit-9 input[type="button"]:hover,.elementor-kit-9 input[type="button"]:focus,.elementor-kit-9 input[type="submit"]:hover,.elementor-kit-9 input[type="submit"]:focus,.elementor-kit-9 .elementor-button:hover,.elementor-kit-9 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:6px 6px 6px 6px;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-accent );}.elementor-kit-9 a:hover{color:var( --e-global-color-primary );}.elementor-kit-9 h1{color:var( --e-global-color-secondary );font-family:"Playfair Display", Sans-serif;font-size:3rem;font-weight:600;line-height:1.2rem;letter-spacing:-0.01rem;}.elementor-kit-9 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h4{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h5{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h6{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h4{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h5{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h6{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   LEGACY COLLEGE & CAREER PREP — BULLETPROOF GLOBAL CSS
   Elementor Pro 3.35.6 compatible (Containers + Sections)

   HOW TO USE:
   - Paste ONLY this into: Elementor → Site Settings → Custom CSS
   - Add classes in Elementor (Advanced → CSS Classes):
       legacy-hero  (Hero sections)
       legacy-section / legacy-section--tight (Spacing helpers)
       legacy-card  (Service/testimonial/pricing cards)
       legacy-footer (Footer section)
       legacy-popular (Most popular pricing card/column)
       legacy-btn--secondary (Outline button wrapper class on parent container)
   ========================================================= */

/* -------------------------
   1) Design Tokens
-------------------------- */
:root{
  --legacy-navy:#0A2342;
  --legacy-char:#2F3E4E;
  --legacy-ivory:#F9F6F0;
  --legacy-gold:#C9A66B;
  --legacy-white:#FFFFFF;

  --legacy-text:#0A2342;
  --legacy-muted:#415469;

  --legacy-radius-sm:10px;
  --legacy-radius-md:14px;
  --legacy-radius-lg:18px;

  --legacy-shadow-soft: 0 10px 30px rgba(10,35,66,0.10);
  --legacy-shadow-hover: 0 14px 40px rgba(10,35,66,0.16);

  --legacy-container-pad: clamp(18px, 3vw, 34px);
  --legacy-section-pad-y: clamp(42px, 7vw, 88px);

  /* Responsive typography scale */
  --legacy-h1: clamp(2.15rem, 3.2vw, 3.05rem);
  --legacy-h2: clamp(1.65rem, 2.4vw, 2.25rem);
  --legacy-h3: clamp(1.3rem, 1.6vw, 1.6rem);
  --legacy-h4: 1.25rem;
  --legacy-h5: 1.125rem;
  --legacy-h6: 1rem;
  --legacy-p: 1rem;
}

/* -------------------------
   2) Base + Rendering
-------------------------- */
html{
  scroll-behavior:smooth;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: var(--legacy-p);
  line-height: 1.65;
  letter-spacing: 0;
  word-spacing: 0;
  color: var(--legacy-text);
  background: var(--legacy-ivory);
}

/* Selection */
::selection{ background: rgba(201,166,107,0.35); }

/* Default spacing for Elementor canvas */
.elementor-section,
.elementor-top-section,
.e-con{
  padding-left: var(--legacy-container-pad);
  padding-right: var(--legacy-container-pad);
}

/* -------------------------
   3) Typography (Global)
-------------------------- */

/* Force Elementor heading titles */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  color: var(--legacy-char);
  letter-spacing: -0.01em;
  margin: 0 0 0.85rem 0;
}

h1{ font-size: var(--legacy-h1); line-height:1.12; }
h2{ font-size: var(--legacy-h2); line-height:1.18; }
h3{ font-size: var(--legacy-h3); line-height:1.22; }
h4{ font-size: var(--legacy-h4); line-height:1.25; letter-spacing:0; }
h5{ font-size: var(--legacy-h5); line-height:1.25; letter-spacing:0; }
h6{ font-size: var(--legacy-h6); line-height:1.2;  letter-spacing:0; }

/* Body text */
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--legacy-text);
}

/* Paragraph rhythm */
.elementor-widget-text-editor p{
  margin: 0 0 1.05rem 0;
}

/* Muted text helper (apply class .legacy-muted to any widget/container) */
.legacy-muted{
  color: var(--legacy-muted) !important;
}

/* Strong */
strong{
  font-weight: 650;
  color: var(--legacy-navy);
}

/* -------------------------
   4) Links (Global)
-------------------------- */
a{
  color: var(--legacy-gold);
  text-decoration: none;
  transition: color .25s ease, text-decoration-color .25s ease;
}

a:hover{
  color: var(--legacy-navy);
  text-decoration: underline;
  text-decoration-color: rgba(10,35,66,0.35);
  text-underline-offset: 3px;
}

/* Accessible focus */
a:focus-visible{
  outline: 3px solid rgba(201,166,107,0.65);
  outline-offset: 3px;
  border-radius: 6px;
}

/* -------------------------
   5) Buttons (Global)
-------------------------- */

/* Elementor buttons + native buttons + form submits */
.elementor .elementor-button,
button,
input[type="submit"],
.wp-block-button__link{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 650 !important;
  font-size: 0.98rem;
  line-height: 1.15;
  letter-spacing: 0.05em;
  border-radius: 10px !important;
  padding: 16px 28px !important;
  border: 1px solid transparent !important;
  background: var(--legacy-gold) !important;
  color: var(--legacy-white) !important;
  box-shadow: 0 8px 22px rgba(201,166,107,0.25);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

.elementor .elementor-button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover{
  background: var(--legacy-navy) !important;
  color: var(--legacy-white) !important;
  box-shadow: var(--legacy-shadow-hover);
  transform: translateY(-1px);
}

.elementor .elementor-button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
.wp-block-button__link:focus-visible{
  outline: 3px solid rgba(201,166,107,0.7);
  outline-offset: 3px;
}

/* Secondary outline button:
   Put CSS class "legacy-btn--secondary" on the button's parent container/column */
.legacy-btn--secondary .elementor-button{
  background: transparent !important;
  color: var(--legacy-navy) !important;
  border-color: rgba(10,35,66,0.35) !important;
  box-shadow: none !important;
}
.legacy-btn--secondary .elementor-button:hover{
  background: var(--legacy-navy) !important;
  color: var(--legacy-white) !important;
  border-color: var(--legacy-navy) !important;
  box-shadow: var(--legacy-shadow-hover) !important;
}

/* -------------------------
   6) Navigation (Bulletproof)
-------------------------- */

/* Main menu items */
.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main a{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: color .2s ease;
}

/* Default nav color (works on light headers). If your header is dark, Elementor may set it; this still behaves well. */
.elementor-nav-menu--main .elementor-item{
  color: var(--legacy-navy);
}
.elementor-nav-menu--main .elementor-item:hover{
  color: var(--legacy-gold);
}

/* Dropdown menu polish */
.elementor-nav-menu--dropdown{
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--legacy-shadow-soft);
}
.elementor-nav-menu--dropdown a{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* -------------------------
   7) Spacing Helpers (Opt-in)
-------------------------- */
.legacy-section{
  padding-top: var(--legacy-section-pad-y) !important;
  padding-bottom: var(--legacy-section-pad-y) !important;
}
.legacy-section--tight{
  padding-top: clamp(28px, 4vw, 56px) !important;
  padding-bottom: clamp(28px, 4vw, 56px) !important;
}

/* -------------------------
   8) HERO (Opt-in, Bulletproof)
-------------------------- */
/* Apply class "legacy-hero" to the OUTER container/section */
.legacy-hero,
.legacy-hero.elementor-element,
.legacy-hero.elementor-section,
.legacy-hero.e-con{
  background: var(--legacy-navy) !important;
  color: var(--legacy-white) !important;
  padding-top: clamp(56px, 8vw, 110px) !important;
  padding-bottom: clamp(56px, 8vw, 110px) !important;
}

/* Center + constrain inner content for Containers + Sections */
.legacy-hero .e-con-inner,
.legacy-hero .elementor-container{
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Force readable text in hero even if widget styles fight back */
.legacy-hero,
.legacy-hero *{
  text-align: center !important;
}
.legacy-hero .elementor-heading-title{
  color: var(--legacy-white) !important;
  font-size: var(--legacy-h1) !important;
  line-height: 1.12 !important;
}
.legacy-hero .elementor-widget-text-editor,
.legacy-hero .elementor-widget-text-editor p{
  color: rgba(255,255,255,0.88) !important;
  font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
  line-height: 1.7 !important;
  max-width: 60ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure hero button stands out even if button widget custom styles exist */
.legacy-hero .elementor-button{
  background: var(--legacy-gold) !important;
  color: var(--legacy-white) !important;
}

/* -------------------------
   9) Cards (Opt-in)
-------------------------- */
/* Apply class "legacy-card" to a Container */
.legacy-card{
  background: var(--legacy-white) !important;
  border-radius: var(--legacy-radius-md) !important;
  box-shadow: var(--legacy-shadow-soft) !important;
  border: 1px solid rgba(10,35,66,0.08) !important;
  padding: clamp(18px, 3vw, 26px) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.legacy-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--legacy-shadow-hover) !important;
  border-color: rgba(201,166,107,0.35) !important;
}

/* -------------------------
   10) Pricing (Elementor widgets + custom)
-------------------------- */
.elementor-price-table{
  border-radius: var(--legacy-radius-md) !important;
  overflow: hidden;
  border: 1px solid rgba(10,35,66,0.10) !important;
  box-shadow: var(--legacy-shadow-soft) !important;
}
.elementor-price-table__header{
  background: var(--legacy-ivory) !important;
}
.elementor-price-table__heading{
  font-family: "Playfair Display", Georgia, serif !important;
  color: var(--legacy-char) !important;
}
.elementor-price-table__price{
  color: var(--legacy-navy) !important;
}
.elementor-price-table__button{
  background: var(--legacy-gold) !important;
  border-radius: 10px !important;
}

/* Apply class "legacy-popular" to the column/container wrapping the pricing widget */
.legacy-popular .elementor-price-table{
  border-color: rgba(201,166,107,0.55) !important;
  box-shadow: 0 18px 50px rgba(201,166,107,0.18) !important;
  transform: translateY(-2px);
}
.legacy-popular .elementor-price-table__header{
  background: rgba(201,166,107,0.12) !important;
}

/* -------------------------
   11) Forms (Elementor Forms)
-------------------------- */
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select{
  border-radius: 10px !important;
  border: 1px solid rgba(10,35,66,0.18) !important;
  padding: 14px 14px !important;
  background: var(--legacy-white) !important;
  color: var(--legacy-text) !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus{
  border-color: rgba(201,166,107,0.8) !important;
  box-shadow: 0 0 0 4px rgba(201,166,107,0.18) !important;
  outline: none !important;
}

/* -------------------------
   12) Footer (Opt-in)
-------------------------- */
/* Apply class "legacy-footer" to footer section/container */
.legacy-footer{
  background: var(--legacy-navy) !important;
  color: var(--legacy-white) !important;
}
.legacy-footer,
.legacy-footer *{
  color: rgba(255,255,255,0.90) !important;
}
.legacy-footer .elementor-heading-title{
  color: var(--legacy-white) !important;
}
.legacy-footer a{
  color: rgba(255,255,255,0.90) !important;
  text-decoration: none !important;
}
.legacy-footer a:hover{
  color: var(--legacy-gold) !important;
  text-decoration: none !important;
}

/* -------------------------
   13) Mobile Tweaks
-------------------------- */
@media (max-width: 767px){
  .elementor .elementor-button,
  button,
  input[type="submit"],
  .wp-block-button__link{
    padding: 14px 22px !important;
  }
  .elementor-nav-menu--main .elementor-item{
    letter-spacing: 0.06em;
  }
  p, .elementor-widget-text-editor, .elementor-widget-text-editor p{
    line-height: 1.75;
  }
  .legacy-hero{
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}
/* Fix card heading size inside legacy-card containers */
.legacy-card .elementor-heading-title{
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em;
}
/* Fix heading overlap / tight line-height issues */
.elementor-heading-title{
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

h1.elementor-heading-title{ line-height: 1.12 !important; }
h2.elementor-heading-title{ line-height: 1.18 !important; }
h3.elementor-heading-title{ line-height: 1.22 !important; }

/* Remove any accidental negative margins */
.elementor-widget-heading{
  margin-top: 0 !important;
}
/* =========================================================
   TYPOGRAPHY SAFETY PATCH (Future-proof)
   Prevents stacked letters + improves readability
   Applies to ALL headings and body text in Elementor
   ========================================================= */

/* Universal text rendering + wrapping */
body,
.elementor,
.elementor-widget,
.elementor-widget-container,
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
p{
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Headings: enforce safe line-height + spacing */
h1,h2,h3,h4,h5,h6,
.elementor-widget-heading .elementor-heading-title,
.elementor-heading-title{
  line-height: 1.25 !important;   /* safe default prevents stacking */
  letter-spacing: -0.01em;        /* classy serif spacing */
  margin-top: 0 !important;
}

/* Fine-tune heading hierarchy (still safe) */
h1, h1.elementor-heading-title { line-height: 1.15 !important; }
h2, h2.elementor-heading-title { line-height: 1.18 !important; }
h3, h3.elementor-heading-title { line-height: 1.22 !important; }
h4, h4.elementor-heading-title { line-height: 1.25 !important; }
h5, h5.elementor-heading-title { line-height: 1.28 !important; }
h6, h6.elementor-heading-title { line-height: 1.3  !important; }

/* Paragraphs: enforce safe line-height */
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p{
  line-height: 1.7 !important;
}

/* Prevent accidental microscopic line-height set in px */
.elementor-heading-title[style*="line-height"],
.elementor-widget-text-editor p[style*="line-height"]{
  line-height: inherit !important;
}
/* Student Outcomes stat box headings */
.legacy-stat-number.elementor-heading-title,
.legacy-stat-number .elementor-heading-title,
.elementor-widget-heading .legacy-stat-number{
  font-size: 3rem !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  color: #0A2342 !important;
}

.legacy-stat-label.elementor-heading-title,
.legacy-stat-label .elementor-heading-title,
.elementor-widget-heading .legacy-stat-label{
  font-size: 1.1rem !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #2F3E4E !important;
}/* End custom CSS */