.elementor-kit-15{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#172D2B;--e-global-color-text:#000000;--e-global-color-accent:#306666;--e-global-color-29c0d8b:#FFFFFF00;--e-global-color-f9cf4cf:#F1F4FF24;--e-global-color-f9a77c8:#F2F4FF;--e-global-color-0b51e0a:#F8F8F8;--e-global-color-831e5e0:#000000;--e-global-color-930cf04:#E1E1E1;--e-global-color-24353f8:#BBABA7;--e-global-color-d53eca5:#A45E47;--e-global-color-48bdd28:#381B15;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:17px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-line-height:1.1em;--e-global-typography-4778c42-font-family:"Plus Jakarta Sans";--e-global-typography-4778c42-font-size:72px;--e-global-typography-4778c42-font-weight:700;--e-global-typography-4778c42-text-transform:capitalize;--e-global-typography-4778c42-line-height:1.2em;--e-global-typography-af4e88d-font-family:"Plus Jakarta Sans";--e-global-typography-af4e88d-font-size:48px;--e-global-typography-af4e88d-font-weight:700;--e-global-typography-af4e88d-text-transform:capitalize;--e-global-typography-af4e88d-line-height:1.2em;--e-global-typography-55e89d2-font-family:"Plus Jakarta Sans";--e-global-typography-55e89d2-font-size:32px;--e-global-typography-55e89d2-font-weight:700;--e-global-typography-55e89d2-text-transform:capitalize;--e-global-typography-55e89d2-line-height:1.2em;--e-global-typography-4e6b6a3-font-family:"Plus Jakarta Sans";--e-global-typography-4e6b6a3-font-size:25px;--e-global-typography-4e6b6a3-font-weight:700;--e-global-typography-4e6b6a3-text-transform:capitalize;--e-global-typography-4e6b6a3-line-height:1.2em;--e-global-typography-b5b1704-font-family:"Plus Jakarta Sans";--e-global-typography-b5b1704-font-size:22px;--e-global-typography-b5b1704-font-weight:700;--e-global-typography-b5b1704-text-transform:capitalize;--e-global-typography-b5b1704-line-height:1.2em;--e-global-typography-2842b22-font-family:"Plus Jakarta Sans";--e-global-typography-2842b22-font-size:20px;--e-global-typography-2842b22-font-weight:600;--e-global-typography-2842b22-text-transform:capitalize;--e-global-typography-2842b22-line-height:1.2em;--e-global-typography-e453cfb-font-family:"Plus Jakarta Sans";--e-global-typography-e453cfb-font-size:72px;--e-global-typography-e453cfb-font-weight:500;--e-global-typography-e453cfb-text-transform:capitalize;--e-global-typography-e453cfb-line-height:1.2em;--e-global-typography-6dec33d-font-family:"Plus Jakarta Sans";--e-global-typography-6dec33d-font-size:48px;--e-global-typography-6dec33d-font-weight:500;--e-global-typography-6dec33d-text-transform:capitalize;--e-global-typography-6dec33d-line-height:1.2em;--e-global-typography-a6e7a03-font-family:"Plus Jakarta Sans";--e-global-typography-a6e7a03-font-size:17px;--e-global-typography-a6e7a03-font-weight:600;--e-global-typography-a6e7a03-text-transform:capitalize;--e-global-typography-a6e7a03-line-height:1.1em;background-color:var( --e-global-color-primary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-f9cf4cf );border-radius:25px 25px 25px 25px;padding:16px 30px 16px 30px;}.elementor-kit-15 button:hover,.elementor-kit-15 button:focus,.elementor-kit-15 input[type="button"]:hover,.elementor-kit-15 input[type="button"]:focus,.elementor-kit-15 input[type="submit"]:hover,.elementor-kit-15 input[type="submit"]:focus,.elementor-kit-15 .elementor-button:hover,.elementor-kit-15 .elementor-button:focus{background-color:var( --e-global-color-831e5e0 );color:var( --e-global-color-secondary );}.elementor-kit-15 e-page-transition{background-color:#FFBC7D;}.elementor-kit-15 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-4778c42-font-family ), Sans-serif;font-size:var( --e-global-typography-4778c42-font-size );font-weight:var( --e-global-typography-4778c42-font-weight );text-transform:var( --e-global-typography-4778c42-text-transform );line-height:var( --e-global-typography-4778c42-line-height );}.elementor-kit-15 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-af4e88d-font-family ), Sans-serif;font-size:var( --e-global-typography-af4e88d-font-size );font-weight:var( --e-global-typography-af4e88d-font-weight );text-transform:var( --e-global-typography-af4e88d-text-transform );line-height:var( --e-global-typography-af4e88d-line-height );}.elementor-kit-15 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-55e89d2-font-family ), Sans-serif;font-size:var( --e-global-typography-55e89d2-font-size );font-weight:var( --e-global-typography-55e89d2-font-weight );text-transform:var( --e-global-typography-55e89d2-text-transform );line-height:var( --e-global-typography-55e89d2-line-height );}.elementor-kit-15 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-4e6b6a3-font-family ), Sans-serif;font-size:var( --e-global-typography-4e6b6a3-font-size );font-weight:var( --e-global-typography-4e6b6a3-font-weight );text-transform:var( --e-global-typography-4e6b6a3-text-transform );line-height:var( --e-global-typography-4e6b6a3-line-height );}.elementor-kit-15 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-b5b1704-font-family ), Sans-serif;font-size:var( --e-global-typography-b5b1704-font-size );font-weight:var( --e-global-typography-b5b1704-font-weight );text-transform:var( --e-global-typography-b5b1704-text-transform );line-height:var( --e-global-typography-b5b1704-line-height );}.elementor-kit-15 h6{color:var( --e-global-color-831e5e0 );font-family:var( --e-global-typography-2842b22-font-family ), Sans-serif;font-size:var( --e-global-typography-2842b22-font-size );font-weight:var( --e-global-typography-2842b22-font-weight );text-transform:var( --e-global-typography-2842b22-text-transform );line-height:var( --e-global-typography-2842b22-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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-15{--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:17px;--e-global-typography-4778c42-font-size:56px;--e-global-typography-4778c42-line-height:1.2em;--e-global-typography-af4e88d-font-size:40px;--e-global-typography-af4e88d-line-height:1.2em;--e-global-typography-55e89d2-font-size:24px;--e-global-typography-55e89d2-line-height:1.2em;--e-global-typography-4e6b6a3-font-size:22px;--e-global-typography-4e6b6a3-line-height:1.2em;--e-global-typography-b5b1704-font-size:20px;--e-global-typography-b5b1704-line-height:1.2em;--e-global-typography-2842b22-font-size:18px;--e-global-typography-2842b22-line-height:1.2em;--e-global-typography-e453cfb-font-size:56px;--e-global-typography-e453cfb-line-height:1.2em;--e-global-typography-6dec33d-font-size:40px;--e-global-typography-6dec33d-line-height:1.2em;--e-global-typography-a6e7a03-font-size:17px;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-15 h1{font-size:var( --e-global-typography-4778c42-font-size );line-height:var( --e-global-typography-4778c42-line-height );}.elementor-kit-15 h2{font-size:var( --e-global-typography-af4e88d-font-size );line-height:var( --e-global-typography-af4e88d-line-height );}.elementor-kit-15 h3{font-size:var( --e-global-typography-55e89d2-font-size );line-height:var( --e-global-typography-55e89d2-line-height );}.elementor-kit-15 h4{font-size:var( --e-global-typography-4e6b6a3-font-size );line-height:var( --e-global-typography-4e6b6a3-line-height );}.elementor-kit-15 h5{font-size:var( --e-global-typography-b5b1704-font-size );line-height:var( --e-global-typography-b5b1704-line-height );}.elementor-kit-15 h6{font-size:var( --e-global-typography-2842b22-font-size );line-height:var( --e-global-typography-2842b22-line-height );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}@media(max-width:767px){.elementor-kit-15{--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:15px;--e-global-typography-4778c42-font-size:32px;--e-global-typography-4778c42-line-height:1.2em;--e-global-typography-af4e88d-font-size:24px;--e-global-typography-af4e88d-line-height:1.2em;--e-global-typography-55e89d2-font-size:24px;--e-global-typography-55e89d2-line-height:1.2em;--e-global-typography-4e6b6a3-font-size:18px;--e-global-typography-4e6b6a3-line-height:1.2em;--e-global-typography-b5b1704-font-size:16px;--e-global-typography-b5b1704-line-height:1.2em;--e-global-typography-2842b22-font-size:15px;--e-global-typography-2842b22-line-height:1.2em;--e-global-typography-e453cfb-font-size:32px;--e-global-typography-e453cfb-line-height:1.2em;--e-global-typography-6dec33d-font-size:24px;--e-global-typography-6dec33d-line-height:1.2em;--e-global-typography-a6e7a03-font-size:15px;font-size:var( --e-global-typography-text-font-size );}.elementor-kit-15 h1{font-size:var( --e-global-typography-4778c42-font-size );line-height:var( --e-global-typography-4778c42-line-height );}.elementor-kit-15 h2{font-size:var( --e-global-typography-af4e88d-font-size );line-height:var( --e-global-typography-af4e88d-line-height );}.elementor-kit-15 h3{font-size:var( --e-global-typography-55e89d2-font-size );line-height:var( --e-global-typography-55e89d2-line-height );}.elementor-kit-15 h4{font-size:var( --e-global-typography-4e6b6a3-font-size );line-height:var( --e-global-typography-4e6b6a3-line-height );}.elementor-kit-15 h5{font-size:var( --e-global-typography-b5b1704-font-size );line-height:var( --e-global-typography-b5b1704-line-height );}.elementor-kit-15 h6{font-size:var( --e-global-typography-2842b22-font-size );line-height:var( --e-global-typography-2842b22-line-height );}.elementor-kit-15 button,.elementor-kit-15 input[type="button"],.elementor-kit-15 input[type="submit"],.elementor-kit-15 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}/* Start custom CSS *//**
 * Plan A Franchise Advisors — Global Styles
 * Source: Brand Guidelines v1.0 — June 2026
 *
 * How to load on all pages (pick one):
 * 1. Elementor → Site Settings → Custom CSS → paste this file (omit @import if fonts load via Kit).
 * 2. Appearance → Customize → Additional CSS → paste this file.
 * 3. Upload this CSS to Media/theme and enqueue site-wide, or link it from an Elementor
 *    Theme Builder Header HTML widget: <link rel="stylesheet" href="YOUR_URL/pa-global.css" />
 *
 * Also update Elementor Site Settings → Global Colors / Fonts to match (recommended):
 *   Primary / Accent → Teal #306666
 *   Secondary / Text → Deep Forest #172D2B
 *   Typography → Montserrat (all roles)
 */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&display=swap");

/* -------------------------------------------------------------------------- */
/* Brand tokens                                                               */
/* -------------------------------------------------------------------------- */

:root {
  /* Core palette */
  --pa-deep-forest: #172d2b;
  --pa-teal: #306666;
  --pa-stone: #bbaba7;
  --pa-terracotta: #a45e47;
  --pa-espresso: #381b15;
  --pa-white: #ffffff;

  /* Deep Forest tints (20% avoided per guide) */
  --pa-deep-forest-40: #356863;
  --pa-deep-forest-60: #53a29b;
  --pa-deep-forest-80: #8ac3be;
  --pa-deep-forest-100: #c4e1df;

  /* Teal tints (several marked Avoid — keep usable ones) */
  --pa-teal-40: #479797;
  --pa-teal-80: #9dd1d1;
  --pa-teal-100: #cee8e8;

  /* Stone tints */
  --pa-stone-20: #c9bcb9;
  --pa-stone-40: #d6cdca;
  --pa-stone-60: #e4dddc;
  --pa-stone-80: #f1eeed;

  /* Terracotta tints */
  --pa-terracotta-20: #bd7b65;
  --pa-terracotta-40: #cd9c8c;
  --pa-terracotta-60: #debdb2;
  --pa-terracotta-80: #eeded9;

  /* Espresso tints (mid tints avoided) */
  --pa-espresso-20: #77392d;
  --pa-espresso-80: #e7c7c0;

  /* Surfaces / UI */
  --pa-bg: var(--pa-white);
  --pa-bg-soft: var(--pa-stone-80);
  --pa-bg-mist: var(--pa-teal-100);
  --pa-border: var(--pa-stone-40);
  --pa-text: var(--pa-deep-forest);
  --pa-text-muted: var(--pa-stone);
  --pa-link: var(--pa-teal);
  --pa-link-hover: var(--pa-espresso);
  --pa-cta: var(--pa-teal);
  --pa-cta-hover: var(--pa-espresso);

  /* Type */
  --pa-font: "Montserrat", Helvetica, Arial, sans-serif;
  --pa-h1-size: 3rem; /* 48px */
  --pa-h2-size: 2.25rem; /* 36px */
  --pa-h3-size: 1.75rem; /* 28px */
  --pa-h4-size: 1.375rem; /* 22px */
  --pa-body-size: 1rem; /* 16px */
  --pa-small-size: 0.8125rem; /* 13px */

  /* Align Elementor global tokens to brand (overrides kit defaults) */
  --e-global-color-primary: var(--pa-teal);
  --e-global-color-secondary: var(--pa-deep-forest);
  --e-global-color-text: var(--pa-deep-forest);
  --e-global-color-accent: var(--pa-teal);
}

/* -------------------------------------------------------------------------- */
/* Base document                                                              */
/* -------------------------------------------------------------------------- */

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--pa-font) !important;
  font-size: var(--pa-body-size);
  font-weight: 400;
  line-height: 1.6;
  color: var(--pa-text) !important;
  background-color: var(--pa-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* -------------------------------------------------------------------------- */
/* Typography scale (Brand Guidelines p.04)                                   */
/* -------------------------------------------------------------------------- */

.elementor-widget-heading .elementor-heading-title,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--pa-font) !important;
  color: var(--pa-deep-forest) !important;
}

h1,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-page h1 {
  font-size: clamp(2rem, 4vw, var(--pa-h1-size)) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  color: var(--pa-teal) !important;
}

h2,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-page h2 {
  font-size: clamp(1.75rem, 3vw, var(--pa-h2-size)) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--pa-deep-forest) !important;
}

h3,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-page h3 {
  font-size: clamp(1.375rem, 2.4vw, var(--pa-h3-size)) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--pa-deep-forest) !important;
}

h4,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-page h4 {
  font-size: clamp(1.125rem, 2vw, var(--pa-h4-size)) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--pa-teal) !important;
}

h5, h6,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--pa-deep-forest) !important;
}

p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: var(--pa-font) !important;
  font-size: var(--pa-body-size);
  font-weight: 400;
  line-height: 1.6;
  color: var(--pa-deep-forest) !important;
}

small,
.pa-caption,
.elementor-widget-text-editor small {
  font-size: var(--pa-small-size) !important;
  font-weight: 400;
  line-height: 1.5;
  color: var(--pa-stone) !important;
}

/* -------------------------------------------------------------------------- */
/* Links                                                                      */
/* -------------------------------------------------------------------------- */

a {
  color: var(--pa-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus-visible {
  color: var(--pa-link-hover);
}

/* Do not restyle CTA/button anchors. Teal !important here was washing
   white labels on filled CTAs (Coming Soon .pa-soon__btn, Jeg Kit
   .jkit-button-wrapper on /homepage, etc.) to dark-on-teal/forest. */
.elementor-widget-text-editor a:not(.elementor-button):not(.elementor-button-link):not(.pa-soon__btn):not(.jkit-button-wrapper):not([class*="btn"]):not([class*="button"]),
.elementor a:not(.elementor-button):not(.elementor-button-link):not(.elementor-item):not(.pa-soon__btn):not(.jkit-button-wrapper):not([class*="btn"]):not([class*="button"]) {
  color: var(--pa-teal) !important;
  text-decoration-color: var(--pa-espresso);
}

.elementor-widget-text-editor a:not(.elementor-button):not(.elementor-button-link):not(.pa-soon__btn):not(.jkit-button-wrapper):not([class*="btn"]):not([class*="button"]):hover,
.elementor a:not(.elementor-button):not(.elementor-button-link):not(.elementor-item):not(.pa-soon__btn):not(.jkit-button-wrapper):not([class*="btn"]):not([class*="button"]):hover {
  color: var(--pa-espresso) !important;
}

/* Coming Soon / custom filled CTAs */
.pa-soon__btn--primary,
a.pa-soon__btn--primary {
  color: #ffffff !important;
}
.pa-soon__btn--primary:hover,
.pa-soon__btn--primary:focus-visible,
a.pa-soon__btn--primary:hover,
a.pa-soon__btn--primary:focus-visible {
  color: #ffffff !important;
}

/* Jeg Elementor Kit buttons (/homepage Book a Call pills, etc.)
   Kit maps Primary=#fff, Secondary=#172D2B, Accent=#306666 — fills are
   secondary/accent, so labels must stay white (kit often sets Primary). */
a.jkit-button-wrapper,
.jkit-button-wrapper {
  color: #ffffff !important;
}
a.jkit-button-wrapper:hover,
a.jkit-button-wrapper:focus,
a.jkit-button-wrapper:focus-visible,
.jkit-button-wrapper:hover,
.jkit-button-wrapper:focus {
  color: #ffffff !important;
}

/* -------------------------------------------------------------------------- */
/* Buttons (Espresso on hover per guidelines)                                 */
/* Filled teal/forest CTAs always use white label text for AA contrast.       */
/* -------------------------------------------------------------------------- */

.elementor-button,
.elementor-button-link.elementor-button,
button[type="submit"],
input[type="submit"],
.gform_button {
  font-family: var(--pa-font) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  border-radius: 2px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.elementor-button:hover,
.elementor-button:focus,
button[type="submit"]:hover,
input[type="submit"]:hover,
.gform_button:hover {
  transform: translateY(-1px);
}

.elementor-button,
.elementor-button-link.elementor-button,
button[type="submit"],
input[type="submit"],
.gform_button {
  background-color: var(--pa-cta) !important;
  border-color: var(--pa-cta) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Beat Elementor kit text-color on the label (was inheriting Deep Forest / teal) */
.elementor-button .elementor-button-content-wrapper,
.elementor-button .elementor-button-text,
.elementor-button-link .elementor-button-text,
.elementor-button-link.elementor-button .elementor-button-text,
button[type="submit"],
.gform_button {
  color: #ffffff !important;
}

.elementor-button:hover,
.elementor-button:focus,
.elementor-button:focus-visible,
.elementor-button-link.elementor-button:hover,
.elementor-button-link.elementor-button:focus,
button[type="submit"]:hover,
input[type="submit"]:hover,
.gform_button:hover {
  background-color: var(--pa-cta-hover) !important;
  border-color: var(--pa-cta-hover) !important;
  color: #ffffff !important;
}

.elementor-button:hover .elementor-button-text,
.elementor-button:focus .elementor-button-text,
.elementor-button:hover .elementor-button-content-wrapper,
.elementor-button:focus .elementor-button-content-wrapper,
.elementor-button-link:hover .elementor-button-text,
.elementor-button-link:focus .elementor-button-text {
  color: #ffffff !important;
}

/* Outline / ghost buttons: dark text on light/transparent — not white */
.elementor-button.elementor-button--outline,
.elementor-button[class*="outline"],
.elementor-button.pa-btn-outline {
  background-color: transparent !important;
  color: var(--pa-deep-forest) !important;
  border: 1px solid var(--pa-border) !important;
  fill: var(--pa-deep-forest) !important;
}

.elementor-button.elementor-button--outline .elementor-button-text,
.elementor-button[class*="outline"] .elementor-button-text,
.elementor-button.pa-btn-outline .elementor-button-text {
  color: var(--pa-deep-forest) !important;
}

.elementor-button.elementor-button--outline:hover,
.elementor-button[class*="outline"]:hover,
.elementor-button.pa-btn-outline:hover {
  border-color: var(--pa-teal) !important;
  color: var(--pa-teal) !important;
  background-color: var(--pa-stone-80) !important;
}

.elementor-button.elementor-button--outline:hover .elementor-button-text,
.elementor-button[class*="outline"]:hover .elementor-button-text,
.elementor-button.pa-btn-outline:hover .elementor-button-text {
  color: var(--pa-teal) !important;
}

/* -------------------------------------------------------------------------- */
/* Forms                                                                      */
/* -------------------------------------------------------------------------- */

.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea,
.gform_wrapper select {
  font-family: var(--pa-font) !important;
  color: var(--pa-deep-forest) !important;
  border-color: var(--pa-border) !important;
  border-radius: 2px !important;
}

.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
  border-color: var(--pa-teal) !important;
  outline: 2px solid color-mix(in srgb, var(--pa-teal) 25%, transparent);
  outline-offset: 1px;
}

.elementor-field-label,
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description {
  font-family: var(--pa-font) !important;
  color: var(--pa-deep-forest) !important;
}

.gform_wrapper .gfield_description,
.elementor-field-textual::placeholder {
  color: var(--pa-stone) !important;
}

/* -------------------------------------------------------------------------- */
/* Navigation                                                                 */
/* -------------------------------------------------------------------------- */

.elementor-nav-menu a,
.elementor-nav-menu--main .elementor-item {
  font-family: var(--pa-font) !important;
  font-weight: 500;
  color: var(--pa-deep-forest) !important;
}

.elementor-nav-menu a:hover,
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--pa-teal) !important;
}

/* -------------------------------------------------------------------------- */
/* Surfaces, cards, footers                                                   */
/* -------------------------------------------------------------------------- */

.elementor-location-footer,
.site-footer {
  background-color: var(--pa-espresso);
  color: var(--pa-stone-80);
}

.elementor-location-footer a,
.site-footer a {
  color: var(--pa-teal-100) !important;
}

.elementor-location-footer a:hover,
.site-footer a:hover {
  color: var(--pa-white) !important;
}

.elementor-location-footer .elementor-heading-title,
.elementor-location-footer p,
.elementor-location-footer li {
  color: var(--pa-stone-80) !important;
}

/* Soft section helpers (optional classes you can add in Elementor Advanced → CSS Classes) */
.pa-bg-soft { background-color: var(--pa-bg-soft) !important; }
.pa-bg-mist { background-color: var(--pa-bg-mist) !important; }
.pa-bg-forest { background-color: var(--pa-deep-forest) !important; color: var(--pa-white) !important; }
.pa-bg-teal { background-color: var(--pa-teal) !important; color: var(--pa-white) !important; }
.pa-bg-espresso { background-color: var(--pa-espresso) !important; color: var(--pa-stone-80) !important; }
.pa-text-teal { color: var(--pa-teal) !important; }
.pa-text-forest { color: var(--pa-deep-forest) !important; }
.pa-text-stone { color: var(--pa-stone) !important; }
.pa-text-terracotta { color: var(--pa-terracotta) !important; }

/* -------------------------------------------------------------------------- */
/* Accessibility                                                              */
/* -------------------------------------------------------------------------- */

:focus-visible {
  outline: 2px solid var(--pa-teal);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .elementor-button,
  a {
    transition: none !important;
  }
}/* End custom CSS */