.elementor-kit-5{--e-global-color-primary:#1F7256;--e-global-color-secondary:#EB975B;--e-global-color-text:#030303;--e-global-color-accent:#C6D6C2;--e-global-color-c3cream:#FAF6EE;--e-global-color-c3ghovr:#14563F;--e-global-typography-primary-font-family:"Figtree";--e-global-typography-primary-font-weight:900;--e-global-typography-primary-font-style:italic;--e-global-typography-primary-line-height:0.98em;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.14em;color:#030303;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:1.75em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#EB975B;font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#030303;border-radius:999px 999px 999px 999px;padding:16px 34px 16px 34px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#DE8442;color:#030303;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#1F7256;}.elementor-kit-5 a:hover{color:#14563F;}.elementor-kit-5 h1{color:#030303;font-family:"Figtree", Sans-serif;font-size:clamp(34px, 6.4vw, 76px);font-weight:900;font-style:italic;line-height:0.96em;letter-spacing:-0.025em;}.elementor-kit-5 h2{color:#030303;font-family:"Figtree", Sans-serif;font-size:clamp(28px, 4.6vw, 46px);font-weight:900;font-style:italic;line-height:1em;letter-spacing:-0.02em;}.elementor-kit-5 h3{color:#030303;font-family:"Figtree", Sans-serif;font-size:28px;font-weight:900;font-style:italic;line-height:1.1em;letter-spacing:-0.01em;}.elementor-kit-5 h4{color:#030303;font-family:"Figtree", Sans-serif;font-size:17px;font-weight:800;font-style:italic;line-height:1.2em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.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);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root{--c3-green:#1f7256;--c3-green-hover:#14563f;--c3-amber:#eb975b;--c3-sage:#c6d6c2;--c3-cream:#faf6ee;--c3-ink:#030303}
body{background:var(--c3-cream)}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--c3-amber);outline-offset:3px}
.elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.elementor-button:hover{transform:none;box-shadow:none}
h1,h2,h3,h4{text-wrap:balance}

/* logo lockup */
.c3-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.c3-logo__mark{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:15px;line-height:1}
.c3-logo__word{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:17px;letter-spacing:-.01em;line-height:1}

/* header */
.elementor-location-header .e-con{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.elementor-location-header .e-con .c3-nav{margin-left:auto}
.elementor-location-header .e-con .c3-nav .elementor-nav-menu--main .elementor-item{padding-left:0;padding-right:0}
.elementor-location-header .e-con .elementor-location-header .e-con-cta{margin-left:14px}
@media(max-width:1024px){
  .elementor-location-header .e-con .c3-nav{margin-left:0;order:3}
  .elementor-location-header .e-con .elementor-location-header .e-con-cta{margin-left:auto;order:2}
  .elementor-location-header .e-con .elementor-location-header .e-con-cta .elementor-button{padding:12px 13px;font-size:10px;letter-spacing:.04em}
}

/* auto-fit grids, matching the mock */
.c3-foot-grid,.c3-grid-230{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.c3-grid-240{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.c3-grid-250{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.c3-grid-260{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.c3-grid-280{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* footer */
.c3-fmeasure p{max-width:38ch}
.c3-flinks .elementor-icon-list-item a{padding:7px 0;min-height:0}
.c3-flinks .elementor-icon-list-text{font-family:Montserrat,sans-serif;font-size:14px}
.c3-funderline .elementor-button{border-bottom:1px solid rgba(255,255,255,.7);border-radius:0;padding-left:0;padding-right:0}
.c3-fsmall p{font-size:12px;margin:0;color:rgba(255,255,255,.9)}
.c3-fsmall a{color:rgba(255,255,255,.9)}
.c3-fsmall a:hover{color:#fff}
.elementor-location-header .e-con-inner{align-items:center}
.elementor-location-header .c3-nav{margin-left:auto}
.elementor-location-header .c3-header-cta{margin-left:14px}
@media(max-width:1024px){
 .elementor-location-header .c3-nav{margin-left:0;order:3}
 .elementor-location-header .c3-header-cta{margin-left:auto;order:2}
}

/* hero */
.c3-hero{position:relative;overflow:hidden}
.c3-hero .c3-hero-h1 h1{max-width:15ch}
.c3-hero .c3-hero-lead p{max-width:52ch;margin:0}
.c3-photo-slot{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;font:600 12px/1.6 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.42);border:1px dashed rgba(255,255,255,.28);text-align:center;padding:20px}
.c3-eyebrow{margin-bottom:0}

/* heading scale — beat theme specificity */
.elementor-widget-heading h1.elementor-heading-title,.elementor-kit-5 h1{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:clamp(34px,6.4vw,76px);line-height:.96;letter-spacing:-.025em}
.elementor-widget-heading h2.elementor-heading-title,.elementor-kit-5 h2{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:clamp(28px,4.6vw,46px);line-height:1;letter-spacing:-.02em}
.elementor-widget-heading h3.elementor-heading-title,.elementor-kit-5 h3{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:28px;line-height:1.1;letter-spacing:-.01em}
.elementor-widget-heading h4.elementor-heading-title,.elementor-kit-5 h4{font-family:Figtree,sans-serif;font-weight:800;font-style:italic;font-size:17px;line-height:1.2}
.elementor-widget-heading .c3-eyebrow .elementor-heading-title,.c3-eyebrow .elementor-heading-title{font-family:Montserrat,sans-serif;font-weight:700;font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;line-height:1.4}

.c3-measure p{max-width:60ch}
.c3-cap p{font-size:13px;margin:0}
.c3-two-col{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,72px);align-items:start}
@media(max-width:1024px){.c3-two-col{grid-template-columns:1fr}}
.c3-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;border:1px dashed rgba(3,3,3,.25);border-radius:14px;background:rgba(3,3,3,.03);font:600 11px/1.5 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(3,3,3,.5);text-align:center;padding:18px}
.c3-slot span{font-size:10px;letter-spacing:.06em;text-transform:none;color:rgba(3,3,3,.42)}
.c3-slot--portrait{min-height:520px;aspect-ratio:4/5}
.c3-slot--sig{min-height:70px;margin:22px 0 8px;max-width:240px}
.c3-plan-item{border-left:2px solid #1f7256;padding-left:14px}
.c3-plan-item p{margin:0}

.elementor-element.c3-eyebrow .elementor-heading-title{font-family:Montserrat,sans-serif!important;font-style:normal!important;font-weight:700!important;font-size:12px!important;letter-spacing:.16em!important;text-transform:uppercase;line-height:1.5}
.c3-hero .c3-hero-h1 .elementor-heading-title{max-width:15ch}

/* === c3 page utilities v1 === */
.c3-grid-180{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.c3-grid-220{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.c3-grid-300{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.c3-slot--wide{width:100%;aspect-ratio:16/10;border:0;border-bottom:1px dashed rgba(3,3,3,.14);border-radius:0;background:repeating-linear-gradient(135deg,#e9e5db 0 12px,#f3efe6 12px 24px)}
.c3-slot--43{width:100%;aspect-ratio:4/3;border-radius:20px;background:repeating-linear-gradient(135deg,#e9e5db 0 12px,#f3efe6 12px 24px)}
.c3-slot--1x1{width:100%;aspect-ratio:1/1;border-radius:18px;background:repeating-linear-gradient(135deg,#e9e5db 0 12px,#f3efe6 12px 24px)}
.c3-slot--dark{border-color:rgba(255,255,255,.3);background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 12px,rgba(255,255,255,.04) 12px 24px);color:rgba(255,255,255,.78)}
.c3-slot--dark span{color:rgba(255,255,255,.6)}
.c3-slot--embed{min-height:190px;padding:60px 20px;border-radius:18px}
.c3-m46 p{max-width:46ch}
.c3-m48 p{max-width:48ch}
.c3-m52 p{max-width:52ch}
.c3-m56 p{max-width:56ch}
.c3-m58 p{max-width:58ch}
.c3-mono p{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.9;color:#1f7256;margin:0;white-space:pre-line}
.c3-timeline-row{display:grid!important;grid-template-columns:96px 1fr;gap:clamp(16px,3vw,32px);align-items:start}
@media(max-width:600px){.c3-timeline-row{grid-template-columns:1fr;gap:4px}}
.c3-num-row{display:grid!important;grid-template-columns:38px 1fr;gap:18px;align-items:start}
.c3-h1-16 h1{max-width:16ch}
.c3-h2-18 h2{max-width:18ch}
.c3-h2-16 h2{max-width:16ch}
.c3-h3-sub h3{font-weight:800;font-style:normal;font-size:20px;line-height:1.25}
.c3-h3-q h3{font-weight:800;font-style:normal;font-size:18px;line-height:1.3}
.c3-h3-name h3{font-weight:800;font-style:normal;font-size:19px;line-height:1.3}
.c3-h3-flow h3{font-weight:800;font-style:normal;font-size:21px;line-height:1.25}
.c3-carousel .elementor-swiper-button{width:46px;height:46px;border-radius:999px;border:1px solid rgba(3,3,3,.35);background:#fff;color:#030303;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.c3-carousel .elementor-swiper-button:hover{background:#030303;color:#fff;border-color:#030303}
.c3-carousel .elementor-swiper-button svg,.c3-carousel .elementor-swiper-button i{width:16px;height:16px;font-size:16px;fill:currentColor!important;color:inherit!important}
.c3-form .elementor-field-group>label{font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(3,3,3,.7);margin-bottom:7px}
.c3-form .elementor-field-group .elementor-field{min-height:48px;border:1px solid rgba(3,3,3,.2)!important;border-radius:12px!important;background:#faf6ee!important;color:#030303!important;padding:14px 16px!important;font-family:Montserrat,sans-serif;font-size:15px}
.c3-form textarea.elementor-field{min-height:130px;resize:vertical}
.c3-form .elementor-button{border-radius:999px;min-height:48px}
.c3-linkcta .elementor-button{padding:0;min-height:44px;background:transparent;color:#1f7256;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;justify-content:flex-start}
.c3-linkcta .elementor-button:hover{background:transparent;color:#14563f}

/* === c3 carousel controls v2 === */
.c3-carousel .elementor-swiper-button{width:46px!important;height:46px!important;border:1px solid rgba(3,3,3,.35)!important;border-radius:999px!important;background:#faf6ee!important;color:#030303!important;display:inline-flex!important;align-items:center;justify-content:center}
.c3-carousel .elementor-swiper-button svg,.c3-carousel .elementor-swiper-button i{width:17px;height:17px;fill:currentColor!important;color:inherit!important;opacity:1!important}
.c3-carousel .elementor-swiper-button:hover{background:#030303!important;color:#fff!important;border-color:#030303!important}
.elementor-swiper-button:focus-visible{outline:3px solid var(--c3-amber);outline-offset:3px}
@media(min-width:768px){
 .c3-carousel .elementor-swiper-button{top:-84px!important;transform:none!important}
 .c3-carousel .elementor-swiper-button-prev{left:auto!important;right:66px!important}
 .c3-carousel .elementor-swiper-button-next{right:0!important;left:auto!important}
}

/* === c3 heading variants v3 === */
.elementor-widget-heading.c3-h3-sub h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:800;font-style:normal;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-name h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:800;font-style:normal;font-size:19px;line-height:1.3;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-q h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:800;font-style:normal;font-size:18px;line-height:1.3;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-flow h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:800;font-style:normal;font-size:21px;line-height:1.25;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-card h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:23px;line-height:1.15;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-24 h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:24px;line-height:1.15;letter-spacing:-.01em}
.elementor-widget-heading.c3-h3-22 h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:22px;line-height:1.15;letter-spacing:-.01em}
.elementor-widget-heading.c3-h2-26 h2.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:26px;line-height:1.15;letter-spacing:-.01em}
.elementor-widget-heading.c3-h2-42 h2.elementor-heading-title{font-size:clamp(26px,4.2vw,42px)}

/* === c3 form select v4 === */
.c3-form .elementor-field-group .elementor-select-wrapper{padding:0!important;border:0!important;background:transparent!important;min-height:0!important;border-radius:0!important}
.c3-form .elementor-field-group select.elementor-field-textual{width:100%;min-height:48px!important;border:1px solid rgba(3,3,3,.2)!important;border-radius:12px!important;background-color:#faf6ee!important;color:#030303!important;padding:14px 44px 14px 16px!important;font-family:Montserrat,sans-serif!important;font-size:15px!important;-webkit-appearance:none;appearance:none}
.c3-form .elementor-select-wrapper .select-caret-down-wrapper{right:16px;pointer-events:none}
.c3-form .elementor-field-group>label{display:block}
.c3-form .elementor-message{font-family:Montserrat,sans-serif;font-size:14px}

/* === c3 responsive fixes v5 === */
@media(max-width:1024px){
 .elementor-location-header .c3-header-cta .elementor-button{padding:12px 13px!important;font-size:10px!important;letter-spacing:.04em!important}
}
.c3-slot{max-width:100%}
@media(max-width:600px){.c3-slot--portrait{min-height:0}}
.c3-carousel .swiper-pagination-bullet{position:relative}
.c3-carousel .swiper-pagination-bullet::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.c3-carousel .swiper-pagination{position:relative;margin-top:22px}

/* === c3 touch targets v6 === */
@media(max-width:1024px){.elementor-location-header .elementor-menu-toggle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:1px solid rgba(3,3,3,.2)!important;border-radius:12px!important;background:transparent!important;color:#030303!important;display:inline-flex!important;align-items:center;justify-content:center}}
.c3-logo{min-height:44px}
.c3-flinks .elementor-icon-list-item a{padding:12px 0!important;min-height:44px!important;display:inline-flex;align-items:center}
.c3-fsmall a{display:inline-flex;align-items:center;min-height:44px}
.c3-mailcta a{display:inline-flex;align-items:center;min-height:44px}

/* === c3 mobile header v7 === */
@media(max-width:1024px){
 .elementor-location-header .e-con{position:relative}
 .elementor-location-header .c3-nav{position:static!important;width:44px!important;flex:0 0 44px!important;margin-left:0!important;order:3}
 .elementor-location-header .c3-nav .elementor-nav-menu--dropdown{position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;z-index:99;background:#FAF6EE}
 .elementor-location-header .c3-header-cta{margin-left:auto!important;order:2}
}

/* === c3 mobile header gap v8 === */
@media(max-width:1024px){
 .elementor-location-header .e-con-inner{column-gap:10px!important;flex-wrap:nowrap!important}
 .elementor-location-header .c3-logo__word{font-size:15px}
}
@media(max-width:400px){
 .elementor-location-header .c3-header-cta .elementor-button{padding:12px 11px!important;font-size:9px!important}
}

/* === c3 slot contrast v9 === */
.c3-slot{color:rgba(3,3,3,.62)}
.c3-slot span{color:rgba(3,3,3,.6)}
.c3-slot--dark{color:rgba(255,255,255,.88)}
.c3-slot--dark span{color:rgba(255,255,255,.8)}
.c3-photo-slot{color:rgba(255,255,255,.8)}

/* === c3 nav touch targets v10 === */
.elementor-location-header .elementor-nav-menu .elementor-item{min-height:44px!important;display:flex;align-items:center;padding-top:0!important;padding-bottom:0!important}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item{padding-left:0!important}

/* ~~~ c3 aspect slot sizing v11 ~~~ */
.elementor-widget:has(>.c3-slot),.elementor-widget-container:has(>.c3-slot){width:100%}

/* ~~~ c3 footer alignment v11 ~~~ */
.c3-flinks .elementor-icon-list-item{margin:0}
.c3-flinks .elementor-icon-list-item a{display:flex!important;align-items:center!important;width:100%;min-height:44px!important;padding:0!important;line-height:1.4}
.c3-flinks .elementor-icon-list-text{display:block;line-height:1.4}
.c3-funderline .elementor-button{border-bottom:0!important;padding-top:0!important;padding-bottom:0!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;line-height:1.4}
.c3-funderline .elementor-button .elementor-button-content-wrapper{border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px;transition:border-color .18s ease}
.c3-funderline .elementor-button .elementor-button-text{line-height:1.35!important}
.c3-funderline .elementor-button:hover .elementor-button-content-wrapper{border-bottom-color:#fff}
.c3-foot-bar{align-items:center!important}
.c3-credit a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5);transition:text-decoration-color .18s ease,color .18s ease}
.c3-credit a:hover{color:#fff;text-decoration-color:#fff}
@media(max-width:767px){
 .c3-foot-bar{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;row-gap:0!important}
 .c3-foot-bar>.elementor-widget{width:100%}
}

/* c3 photo slots */
.elementor-element.c3-photo img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
.elementor-element.c3-photo--43 img{aspect-ratio:4/3}
.elementor-element.c3-photo--portrait img{aspect-ratio:4/5}
.elementor-element.c3-photo--wide img{aspect-ratio:16/10}
.elementor-element.c3-photo .elementor-widget-container{line-height:0}

@media(max-width:767px){.elementor-location-header .c3-header-cta .elementor-button{white-space:nowrap}}
.elementor-location-header .c3-logo-img img,.elementor-location-footer .c3-logo-img img{display:block}

/* hero motion — gentler than Elementor's default 1.3 scale */
.c3-hero .elementor-ken-burns{transition-property:transform;transition-timing-function:ease-out;transition-duration:9s!important}
.c3-hero .elementor-ken-burns--in.elementor-ken-burns--active{transform:scale(1.11)!important}
.c3-hero .elementor-ken-burns--out.elementor-ken-burns--active{transform:scale(1)!important}
/* mobile: text is full width, so darken evenly rather than left-to-right */
@media(max-width:767px){
 .c3-hero > .elementor-background-overlay{background-image:linear-gradient(180deg,rgba(3,3,3,.58) 0%,rgba(3,3,3,.84) 100%)!important}
}
/* respect reduced-motion preferences: hold the image still */
@media(prefers-reduced-motion:reduce){
 .c3-hero .elementor-ken-burns,.c3-hero .elementor-ken-burns--active{transform:none!important;transition:none!important}
}

/* the background overlay was painting behind the slideshow, so no scrim was visible */
.c3-hero > .elementor-background-slideshow{z-index:0}
.c3-hero::before{z-index:1!important}
.c3-hero > .elementor-element{position:relative;z-index:2}


/* === c3 pre-launch fixes v10 === */
@media(max-width:1024px){
 .elementor-location-header .c3-header-cta .elementor-button{font-size:13px!important;padding:10px 14px!important;letter-spacing:.02em!important;line-height:1.25!important}
}
@media(max-width:400px){
 .elementor-location-header .c3-header-cta .elementor-button{font-size:12px!important;padding:9px 10px!important;max-width:116px;text-align:center;white-space:normal!important}
 .elementor-location-header .c3-header-cta .elementor-button .elementor-button-text,.elementor-location-header .c3-header-cta .elementor-button span{white-space:normal!important}
}
@media(max-width:767px){
 .elementor-widget-text-editor:not(.c3-fsmall):not(.c3-mono) p,
 .elementor-widget-text-editor:not(.c3-fsmall):not(.c3-mono) li{font-size:16px!important;line-height:1.7!important}
}
.c3-hero-strap p{font-size:16px!important;line-height:1.6!important;margin:0}
.c3-carousel .swiper-pagination{position:relative;margin-top:22px;display:flex;justify-content:center;align-items:center;min-height:44px}
.c3-carousel .swiper-pagination-bullet{width:12px!important;height:12px!important;position:relative;margin:0 9px!important;opacity:.35}
.c3-carousel .swiper-pagination-bullet-active{opacity:1}
.c3-carousel .swiper-pagination-bullet::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}
.c3-ft-item h3,.elementor-widget-heading.c3-ft-h h3.elementor-heading-title{font-family:Figtree,sans-serif;font-weight:900;font-style:italic;font-size:20px;line-height:1.15;letter-spacing:-.01em;margin:0 0 6px}
.c3-ft-item p{font-size:15px;line-height:1.6;margin:0 0 6px}
.c3-ft-item a{color:#1F7256;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.c3-ft-item a:hover{color:#14563F}
.elementor-widget-text-editor a:not(.elementor-button){color:#1F7256;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.elementor-widget-text-editor a:not(.elementor-button):hover{color:#14563F}

/* hero content must sit above the scrim in boxed containers too */
.c3-hero > .e-con-inner, .c3-hero > .elementor-element{position:relative;z-index:2}

/* anchor targets must clear the sticky header when jumped to */
html{scroll-behavior:smooth}
#c3-kids,#common-questions{scroll-margin-top:110px}
@media(max-width:767px){#c3-kids,#common-questions{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* First time? — accordion */
.c3-firsttime .c3-acc{background:rgba(255,255,255,.55);border-radius:12px;overflow:hidden}
.c3-firsttime .c3-acc .e-n-accordion-item{border-bottom:1px solid rgba(3,3,3,.10)}
.c3-firsttime .c3-acc .e-n-accordion-item:last-child{border-bottom:0}
.c3-firsttime .c3-acc summary{cursor:pointer;min-height:44px;list-style:none}
.c3-firsttime .c3-acc summary::-webkit-details-marker{display:none}
.c3-firsttime .c3-acc .e-n-accordion-item-title{color:#030303}
.c3-firsttime .c3-acc .e-n-accordion-item-title-icon{color:#1F7256}
.c3-firsttime .c3-ft-more p{margin:0}
.c3-firsttime .c3-ft-more a{color:#1F7256;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(31,114,86,.45);display:inline-flex;align-items:center;min-height:44px}
.c3-firsttime .c3-ft-more a:hover{color:#14563F;text-decoration-color:#14563F}
@media(max-width:767px){
 .c3-firsttime > .e-con-inner > .e-con:first-child{width:100%!important}
}

.c3-firsttime > .e-con-inner{flex-wrap:nowrap;align-items:flex-start}
.c3-firsttime > .e-con-inner > .e-con:first-child{flex:0 0 250px;width:250px}
.c3-firsttime > .e-con-inner > .e-con:last-child{flex:1 1 auto;width:auto;min-width:0}
@media(max-width:900px){
 .c3-firsttime > .e-con-inner{flex-wrap:wrap}
 .c3-firsttime > .e-con-inner > .e-con:first-child,
 .c3-firsttime > .e-con-inner > .e-con:last-child{flex:1 1 100%;width:100%}
}

@media(max-width:767px){
 .c3-firsttime > .e-con-inner > .e-con:first-child .elementor-widget-text-editor{display:none}
 .c3-firsttime > .e-con-inner{row-gap:14px}
 .c3-firsttime .c3-acc .e-n-accordion-item-title{font-size:15px}
}

/* First time? accordion — match the approved mockup */
.c3-firsttime .c3-acc{max-width:680px}
.c3-firsttime .c3-ft-more{max-width:680px}
.c3-firsttime .c3-acc summary.e-n-accordion-item-title{justify-content:space-between;align-items:center;gap:16px;padding:14px 20px}
.c3-firsttime .c3-acc .e-n-accordion-item-title-header{flex:1 1 auto;min-width:0}
.c3-firsttime .c3-acc .e-n-accordion-item-title-icon{flex:0 0 auto;margin-left:auto}
.c3-firsttime .c3-acc .e-n-accordion-item-title-icon svg{width:13px;height:13px;fill:#1F7256}
.c3-firsttime .c3-acc .e-n-accordion-item{border-bottom:1px solid rgba(3,3,3,.13)}
.c3-firsttime .c3-acc .e-n-accordion-item:last-child{border-bottom:0}
.c3-firsttime .c3-acc .e-n-accordion-item-title-text{margin:0;line-height:1.35}
.c3-firsttime .c3-acc .e-con-inner,.c3-firsttime .c3-acc .e-con{padding-top:0}
@media(max-width:767px){
 .c3-firsttime .c3-acc summary.e-n-accordion-item-title{padding:13px 15px;gap:12px}
}

/* Elementor sets max-width:100% per element, so this needs to outrank it */
.c3-firsttime .elementor-element.c3-acc{max-width:680px!important}
.c3-firsttime .elementor-element.c3-ft-more{max-width:680px!important}
@media(max-width:900px){
 .c3-firsttime .elementor-element.c3-acc,
 .c3-firsttime .elementor-element.c3-ft-more{max-width:100%!important}
}

/* Elementor pins the accordion icon to the start with order:-1 */
.c3-firsttime .c3-acc .e-n-accordion-item-title-header{order:0!important}
.c3-firsttime .c3-acc .e-n-accordion-item-title-icon{order:1!important;margin-left:auto!important}

/* accordion answer must align with its question, and the intro line must not be
   smaller than the body text it introduces */
.c3-firsttime .c3-acc .e-n-accordion-item > .e-con,
.c3-firsttime .c3-acc .e-n-accordion-item > .e-con > .e-con-inner{padding:0 20px 16px!important}
.c3-firsttime .c3-acc .e-n-accordion-item > .e-con p{margin:0}
.c3-firsttime > .e-con-inner > .e-con:first-child .elementor-widget-text-editor p{font-size:15px!important;line-height:1.65}
@media(max-width:767px){
 .c3-firsttime .c3-acc .e-n-accordion-item > .e-con,
 .c3-firsttime .c3-acc .e-n-accordion-item > .e-con > .e-con-inner{padding:0 15px 14px!important}
}

/* ── C3 type scale ───────────────────────────────────────────
   body 16 · secondary 15 · small print 13 · uppercase labels 12
   Applies to running text only. Headings, buttons and uppercase
   labels keep their own sizes.                                */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li{font-size:16px!important;line-height:1.75}
.elementor-widget-icon-list .elementor-icon-list-text{font-size:16px!important}

/* deliberate exceptions: small print and captions stay small */
.c3-fsmall p,.c3-fsmall a{font-size:13px!important;line-height:1.6}
.c3-cap p{font-size:14px!important}
.c3-plan-item p{font-size:15px!important}
.c3-slot,.c3-slot span{font-size:11px!important}

/* secondary copy inside cards sits one step down from body */
.c3-firsttime > .e-con-inner > .e-con:first-child .elementor-widget-text-editor p{font-size:15px!important;line-height:1.65}

/* 12px is the floor for uppercase labels; nothing on the site sits below it */
.c3-flabel .elementor-heading-title{font-size:12px!important}
.c3-footer .elementor-button{font-size:12px!important}

/* footer sits on brand green — links must never inherit the green link colour */
.elementor-location-footer a{color:#FFFFFF}
.elementor-location-footer .c3-fsmall a{color:#FFFFFF!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.5)}
.elementor-location-footer .c3-fsmall a:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF}
.elementor-location-footer .c3-flinks .elementor-icon-list-text{color:#FFFFFF}

/* true half-pixel hairline, inset to align with the text */
.c3-firsttime .c3-acc .e-n-accordion-item{border-bottom:0!important;position:relative}
.c3-firsttime .c3-acc .e-n-accordion-item::after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:1px;background:rgba(3,3,3,.14);transform:scaleY(.5);transform-origin:bottom;pointer-events:none}
.c3-firsttime .c3-acc .e-n-accordion-item:last-child::after{display:none}
@media(max-width:767px){
 .c3-firsttime .c3-acc .e-n-accordion-item::after{left:15px;right:15px}
}

/* Elementor draws a grey rule under the summary, which separates a question
   from its own answer. Item separation is handled by the ::after hairline. */
.c3-firsttime .c3-acc summary.e-n-accordion-item-title{border:0!important;box-shadow:none!important}
.c3-firsttime .c3-acc .e-n-accordion-item,
.c3-firsttime .c3-acc details{border:0!important}

/* the answer pane ships with its own 1px grey border top and bottom */
.c3-firsttime .c3-acc .e-n-accordion-item > .e-con{border:0!important}/* End custom CSS */