/* Generated by build/generate.mjs — do not edit directly.
   Source: the CUSTOM_CSS constant in build/generate.mjs.
   Installed to uploads/ and enqueued by the T65 Layout CSS mu-plugin. */

/* ---------------------------------------------------------------------------
   Sizing note. Elementor drives container layout through custom properties, and
   declares its own defaults on .e-con.e-flex — two classes. A single-class
   selector loses that specificity battle, so --flex-basis silently stays auto.
   Every sizing rule below therefore carries the .e-con.e-flex prefix to match
   it, and wins on source order. Purely cosmetic rules don't need the prefix.
   --------------------------------------------------------------------------- */
.e-con.e-flex.t65-fit{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}

/* ============ HEADER ============ */
.t65-hdr-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-hdr-logo,.e-con.e-flex.t65-hdr-actions,
.e-con.e-flex.t65-hdr-badge,.e-con.e-flex.t65-hdr-words,
.e-con.e-flex.t65-hdr-phone,.e-con.e-flex.t65-hdr-cta{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.e-con.e-flex.t65-hdr-nav{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;}
.t65-hdr-words .elementor-widget{margin-block-end:0;}

/* nav items — pill on hover and active */
/* Covers both markups: Pro emits .elementor-item, HFE emits .hfe-menu-item. */
.t65-hdr-nav .elementor-nav-menu--main .elementor-item,
.t65-hdr-nav .hfe-nav-menu .hfe-menu-item{
  border-radius:50px;padding:9px 14px;transition:background-color .18s ease,color .18s ease;
}
/* !important is needed here: the nav-menu widget emits its own item-colour rule
   at equal specificity, and it would otherwise win on source order. */
.t65-hdr-nav .elementor-nav-menu--main .elementor-item:hover,
.t65-hdr-nav .elementor-nav-menu--main .elementor-item:focus,
.t65-hdr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.t65-hdr-nav .hfe-nav-menu .hfe-menu-item:hover,
.t65-hdr-nav .hfe-nav-menu .current-menu-item > .hfe-menu-item{
  background-color:#FBEAEA;
  color:var(--e-global-color-primary) !important;
  font-weight:600;
}
/* HFE base styling for the menu items */
.t65-hdr-nav .hfe-nav-menu .hfe-menu-item{
  color:#453E3E;font-size:15px;font-weight:500;line-height:1;
}
.t65-hdr-nav .hfe-nav-menu__layout-horizontal .menu-item{margin:0 1px;}
.t65-hdr-nav .hfe-nav-menu-icon{display:none;}

/* phone */
.t65-hdr-phone .elementor-icon-list-items{margin:0;}
.t65-hdr-phone .elementor-icon-list-item,
.t65-hdr-phone .elementor-icon-list-item a{
  font-size:15px;font-weight:600;color:var(--e-global-color-secondary);white-space:nowrap;
}
.t65-hdr-phone .elementor-icon-list-icon svg,
.t65-hdr-phone .elementor-icon-list-icon i{color:var(--e-global-color-primary);}
.t65-hdr-cta .elementor-button{white-space:nowrap;font-size:14px;padding:12px 22px;}

@media(max-width:1024px){
  .t65-hdr-phone{display:none;}
}
@media(max-width:767px){
  .t65-hdr-inner{flex-wrap:wrap;row-gap:10px;}
  .t65-hdr-cta .elementor-button{font-size:13px;padding:10px 16px;}
}

/* ============ HERO ============ */
.t65-hero-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-hero-copy{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;max-width:580px;}
.e-con.e-flex.t65-hero-media{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;position:relative;}

/* the photo is a 1:1 source — crop it to a landscape-ish panel */
.t65-hero-media .elementor-widget-image img{
  border-radius:18px;width:100%;height:auto;aspect-ratio:11/9;object-fit:cover;object-position:center 28%;
  box-shadow:0 18px 46px rgba(6,17,74,.14);
}

/* ---- shared eyebrow pill (reused by every section) ---- */
.t65-pill .elementor-icon-list-items{margin:0;display:flex;}
.t65-pill .elementor-icon-list-item{
  display:inline-flex;align-items:center;gap:7px;
  background:#FBEAEA;border-radius:50px;padding:7px 15px;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--e-global-color-primary);
}
.t65-pill .elementor-icon-list-item > .elementor-icon-list-text{
  color:var(--e-global-color-primary)!important;
  font-size:11px!important;font-weight:700!important;letter-spacing:.09em!important;
  text-transform:uppercase;padding-inline-start:0;
}
.t65-pill .elementor-icon-list-icon i,
.t65-pill .elementor-icon-list-icon svg{
  color:var(--e-global-color-primary);fill:var(--e-global-color-primary);
}
/* variant with no leading icon */
.t65-pill--plain .elementor-icon-list-icon{display:none;}

/* highlighted word in the headline, with the underline swash */
.t65-accent{color:var(--e-global-color-primary);position:relative;white-space:nowrap;}
.t65-accent::after{
  content:"";position:absolute;left:1%;right:1%;bottom:.04em;height:.09em;
  border-radius:99px;background:var(--e-global-color-primary);opacity:.4;
}

.e-con.e-flex.t65-hero-btns{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-hero-btns .elementor-button{font-size:15px;padding:15px 26px;}

/* four trust items in a row, small bold label beside a crimson check */
.t65-hero-trust .elementor-icon-list-items{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px 18px;margin:0;
}
.t65-hero-trust .elementor-icon-list-item{align-items:flex-start;}
/* Size/weight must target the text span itself, and need !important: the
   icon-list widget emits its own typography rule into post-<id>.css, which
   loads after this kit CSS. */
.t65-hero-trust .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:12.5px!important;line-height:1.3!important;font-weight:700!important;
  color:#06114A!important;padding-inline-start:8px;
}
.t65-hero-trust .elementor-icon-list-icon{
  margin-top:1px;width:auto;
}
.t65-hero-trust .elementor-icon-list-icon svg,
.t65-hero-trust .elementor-icon-list-icon i{
  width:15px;height:15px;font-size:15px;fill:var(--e-global-color-primary);color:var(--e-global-color-primary);
}

/* floating cards over the photo */
.t65-hero-card{
  position:absolute;z-index:2;width:auto;
  background:#fff;border-radius:14px;
  box-shadow:0 12px 34px rgba(6,17,74,.16);
  border:1px solid rgba(6,17,74,.05);
}
.t65-hero-card--tr{top:-20px;right:-14px;}
.t65-hero-card--bl{bottom:-20px;left:-28px;}
.e-con.e-flex.t65-hero-card,
.e-con.e-flex.t65-card-ico,.e-con.e-flex.t65-card-txt{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.t65-hero-card .elementor-widget{margin-block-end:0;}
.t65-hero-card .elementor-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;}

@media(max-width:1024px){
  /* Stacking goes through Elementor's own vars — flex-direction and align-items
     live on .e-con-inner, so setting them directly on the container is a no-op.
     !important is required because Elementor writes a per-element
     --flex-direction:row into post-<id>.css, which loads after this kit CSS at
     equal specificity and would otherwise win. */
  .e-con.e-flex.t65-hero-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:44px 44px;}
  .e-con.e-flex.t65-hero-copy,.e-con.e-flex.t65-hero-media{
    --flex-basis:auto;--flex-grow:0;--width:100%;max-width:100%;
  }
  .t65-hero-card--bl{left:0;}
  .t65-hero-card--tr{right:0;}
}
@media(max-width:767px){
  .t65-hero-trust .elementor-icon-list-items{grid-template-columns:repeat(2,1fr);}
  .t65-hero-btns{flex-direction:column;align-items:stretch;}
  .t65-hero-card{position:static;margin-top:12px;display:inline-flex;}
  .t65-hero-media .elementor-widget-image img{aspect-ratio:4/3;}
}

/* ============ COMMON QUESTIONS ============ */
.t65-cq-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-cq-left{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:41%;min-width:0;}
.e-con.e-flex.t65-cq-right{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:59%;min-width:0;}

/* navy CTA card */
.t65-cq-card{margin-top:10px;box-shadow:0 14px 34px rgba(6,17,74,.16);}
.t65-cq-card .elementor-button{font-size:14px;padding:13px 22px;margin-top:4px;}

/* question cards */
.t65-q-card{
  background:#fff;border:1px solid rgba(6,17,74,.07);border-radius:12px;
  box-shadow:0 2px 10px rgba(6,17,74,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  cursor:pointer;
}
.t65-q-card:hover{
  border-color:rgba(145,8,9,.28);
  box-shadow:0 10px 26px rgba(6,17,74,.11);
  transform:translateY(-2px);
}
.e-con.e-flex.t65-q-ico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-q-txt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-q-card .elementor-widget{margin-block-end:0;}

/* whole card clickable — the anchor stretches over it */
.t65-q-card{position:relative;}
.t65-q-card a.t65-stretch{color:inherit;text-decoration:none;}
.t65-q-card a.t65-stretch::after{content:"";position:absolute;inset:0;z-index:1;}
.t65-q-card:hover a.t65-stretch{color:var(--e-global-color-primary);}
.t65-q-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:11px;background:#FBEAEA;
}
.t65-q-card:hover .t65-q-ico .elementor-icon{background:#F6D9D9;}

@media(max-width:1024px){
  .e-con.e-flex.t65-cq-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:36px 36px;}
  .e-con.e-flex.t65-cq-left,.e-con.e-flex.t65-cq-right{
    --flex-basis:auto;--flex-grow:0;--width:100%;
  }
}

/* ============ HOW IT WORKS ============ */
.t65-hiw-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-hiw-grid{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-step{
  --width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:14px;
  box-shadow:0 2px 12px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.t65-step:hover{
  border-color:rgba(145,8,9,.22);
  box-shadow:0 14px 32px rgba(6,17,74,.11);
  transform:translateY(-3px);
}
.e-con.e-flex.t65-step-top{--width:100%;--flex-basis:auto;--flex-grow:0;margin-bottom:6px;}
.e-con.e-flex.t65-step-ico,.e-con.e-flex.t65-step-num{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.t65-step .elementor-widget{margin-block-end:0;}
/* These are image widgets, not icon widgets — an .elementor-icon rule does not
   reach them, which is why they rendered at their natural 512px. The source
   uses a bare 68px illustration with no tile behind it. */
.t65-step-ico .elementor-widget-image img{
  width:68px;height:68px;object-fit:contain;display:block;
}

@media(max-width:1024px){
  .e-con.e-flex.t65-hiw-grid{--flex-direction:column!important;--align-items:stretch!important;}
  .e-con.e-flex.t65-step{--flex-basis:auto;--flex-grow:0;--width:100%;}
}

/* ============ GOOGLE REVIEWS ============ */
.t65-gr-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-gr-left{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:38%;min-width:0;}
.e-con.e-flex.t65-gr-right{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:62%;min-width:0;}
.e-con.e-flex.t65-gr-rating,.e-con.e-flex.t65-gr-stars,
.e-con.e-flex.t65-gr-score,.e-con.e-flex.t65-gr-cta{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}

/* 2x2 card grid — .e-con-inner is the actual layout box */
.t65-gr-right > .e-con-inner{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;align-items:stretch;
}
.e-con.e-flex.t65-review{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.07);border-radius:12px;
  box-shadow:0 2px 10px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease;
}
.t65-review:hover{box-shadow:0 12px 28px rgba(6,17,74,.1);transform:translateY(-2px);}
.t65-review .elementor-widget{margin-block-end:0;}
.t65-review .elementor-widget-text-editor p{font-size:13.5px;line-height:1.6;margin:0;}
.t65-review .elementor-star-rating{font-size:14px;}
.t65-gr-stars .elementor-star-rating{font-size:19px;}

/* The star-rating widget's colour settings don't round-trip, so the gold is set
   here. Gold is deliberate — it reads as a Google rating, not a brand colour. */
.t65-gr .elementor-star-rating i,
.t65-gr .elementor-star-rating .elementor-star-full,
.t65-gr .elementor-star-rating .elementor-star-empty{color:#FBBF24;}

@media(max-width:1024px){
  .e-con.e-flex.t65-gr-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:34px 34px;}
  .e-con.e-flex.t65-gr-left,.e-con.e-flex.t65-gr-right{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
@media(max-width:767px){
  .t65-gr-right > .e-con-inner{grid-template-columns:1fr;}
}

/* ============ OFFICE ============ */
.t65-off-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-off-media{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:52%;min-width:0;}
.e-con.e-flex.t65-off-copy{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:48%;min-width:0;}
.e-con.e-flex.t65-off-grid{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-off-thumb,.e-con.e-flex.t65-off-map{
  --width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;
}

/* large photo, then a photo + map pair of matching height */
.t65-off-media .elementor-widget-image img{
  width:100%;border-radius:22px;object-fit:cover;
  border:1px solid rgba(6,17,74,.08);display:block;
}
.t65-off-media > .e-con-inner > .elementor-widget-image img{aspect-ratio:4/3;}
.t65-off-thumb .elementor-widget-image img{height:200px;}
.t65-off-map iframe{
  height:200px!important;min-height:200px!important;width:100%;display:block;
  border-radius:22px;border:1px solid rgba(6,17,74,.08);
}

/* labelled contact rows */
.e-con.e-flex.t65-off-list{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-off-item{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-off-ico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-off-txt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-off-item .elementor-widget{margin-block-end:0;}
.t65-off-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:11px;background:#FBEAEA;
}
.t65-off-txt a.t65-plain{color:inherit;text-decoration:none;}
.t65-off-txt a.t65-plain:hover{color:var(--e-global-color-primary);}

.e-con.e-flex.t65-off-btns{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-off-btns .elementor-button{font-size:14px;padding:13px 22px;}
.t65-off-copy > .e-con-inner > .elementor-widget-text-editor:last-child p{font-size:13px;}

@media(max-width:1024px){
  .e-con.e-flex.t65-off-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:36px 36px;}
  .e-con.e-flex.t65-off-media,.e-con.e-flex.t65-off-copy{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
@media(max-width:767px){
  .e-con.e-flex.t65-off-grid{--flex-direction:column!important;--align-items:stretch!important;}
  .e-con.e-flex.t65-off-btns{--flex-direction:column!important;--align-items:stretch!important;}
}

/* ============ SEMINARS TEASER ============ */
.t65-sem-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-sem-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  /* lighter than the #FBEAEA pill inside it, so the eyebrow still reads */
  background:#FDF4F4;border:1px solid #F3DADA;border-radius:20px;
}
.e-con.e-flex.t65-sem-copy{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.e-con.e-flex.t65-sem-cta{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-sem-copy .elementor-widget-text-editor p{max-width:640px;}
.t65-sem-cta .elementor-button{font-size:15px;padding:15px 26px;white-space:nowrap;}

@media(max-width:1024px){
  .e-con.e-flex.t65-sem-card{--flex-direction:column!important;--align-items:flex-start!important;--gap:24px 24px;}
}
@media(max-width:767px){
  /* must go through the vars — a plain padding shorthand here would sit on the
     outer container and add to the vertical padding Elementor puts on
     .e-con-inner, doubling it */
  .e-con.e-flex.t65-sem-card{
    --padding-top:30px;--padding-bottom:30px;--padding-left:24px;--padding-right:24px;
  }
  .e-con.e-flex.t65-sem-cta{--width:100%;}
  .t65-sem-cta .elementor-button{width:100%;justify-content:center;}
}

/* ============ FINAL CTA ============ */
.t65-cta-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-cta-panel{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  border-radius:32px;overflow:hidden;
  background-color:#06114A;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(145,8,9,.45), transparent 55%),
    radial-gradient(circle at 85% 80%, rgba(145,8,9,.28), transparent 50%);
}
.e-con.e-flex.t65-cta-copy{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;}
.e-con.e-flex.t65-cta-actions{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;min-width:310px;
}
.e-con.e-flex.t65-cta-primary,.e-con.e-flex.t65-cta-ghost{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-cta-copy .elementor-widget-text-editor p{max-width:560px;font-size:16.5px;}

/* eyebrow on a dark panel */
.t65-pill--dark .elementor-icon-list-item{background:rgba(255,255,255,.13);}
.t65-pill--dark .elementor-icon-list-item > .elementor-icon-list-text{color:#FFFFFF!important;}

/* two-column checklist */
.t65-cta-list .elementor-icon-list-items{
  display:grid;grid-template-columns:repeat(2,1fr);gap:9px 22px;margin:0;
}
.t65-cta-list .elementor-icon-list-item{align-items:center;}
.t65-cta-list .elementor-icon-list-item > .elementor-icon-list-text{
  color:rgba(255,255,255,.92)!important;font-size:13.5px!important;font-weight:600!important;
  padding-inline-start:8px;
}
.t65-cta-list .elementor-icon-list-icon svg,
.t65-cta-list .elementor-icon-list-icon i{
  width:15px;height:15px;fill:#EF4D48!important;color:#EF4D48!important;
}

/* stacked full-width buttons */
.t65-cta-actions .elementor-widget{margin-block-end:0;}
.t65-cta-actions .elementor-button{
  width:100%;justify-content:center;padding:16px 24px;font-size:15px;
}
.t65-cta-ghost .elementor-button{
  background-color:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.24)!important;
  border-width:1px!important;
}
.t65-cta-ghost .elementor-button:hover{background-color:rgba(255,255,255,.17)!important;}
.t65-cta-actions .elementor-widget-text-editor p{
  text-align:center;font-size:12px;color:rgba(255,255,255,.6);margin:2px 0 0;
}

@media(max-width:1024px){
  .e-con.e-flex.t65-cta-panel{--flex-direction:column!important;--align-items:stretch!important;--gap:32px 32px;}
  .e-con.e-flex.t65-cta-copy,.e-con.e-flex.t65-cta-actions{--flex-basis:auto;--flex-grow:0;--width:100%;min-width:0;}
}
@media(max-width:767px){
  .e-con.e-flex.t65-cta-panel{
    --padding-top:44px;--padding-bottom:44px;--padding-left:26px;--padding-right:26px;
    border-radius:24px;
  }
  .t65-cta-list .elementor-icon-list-items{grid-template-columns:1fr;}
}

/* ============ FOOTER ============ */
.t65-ft-inner{--width:100%;max-width:1220px;margin-inline:auto;}
/* four columns via grid on .e-con-inner — the actual layout box */
.t65-ft-inner > .e-con-inner{
  display:grid;grid-template-columns:1.15fr 1.3fr 0.85fr 1fr;gap:44px;align-items:start;
}
.e-con.e-flex.t65-ft-brand,.e-con.e-flex.t65-ft-col{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-ft-logo,.e-con.e-flex.t65-ft-mark,.e-con.e-flex.t65-ft-words{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.t65-ft .elementor-widget{margin-block-end:0;}

/* Brand mark sits on a white tile — the logo artwork is navy and red, so a
   translucent tile on the navy footer made it disappear. */
.t65-ft-mark .elementor-widget-image img{
  width:42px;height:42px;border-radius:13px;background:#FFFFFF;
  padding:4px;object-fit:contain;display:block;
}
.t65-ft-brand .elementor-widget-text-editor p{
  font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.7);margin:0;
}

/* Contact + explore lists.
   Elementor wraps the whole item in an <a> when a link is set, so the anchor
   must be coloured too — otherwise the global link colour (crimson) wins and
   reads almost black against the navy footer. */
.t65-ft-contact .elementor-icon-list-item > .elementor-icon-list-text,
.t65-ft-links .elementor-icon-list-item > .elementor-icon-list-text,
.t65-ft-contact .elementor-icon-list-item a,
.t65-ft-links .elementor-icon-list-item a,
.t65-ft-contact .elementor-icon-list-item a .elementor-icon-list-text,
.t65-ft-links .elementor-icon-list-item a .elementor-icon-list-text{
  font-size:13.5px!important;font-weight:500!important;color:rgba(255,255,255,.82)!important;
  padding-inline-start:9px;
}
.t65-ft-contact .elementor-icon-list-item a,
.t65-ft-links .elementor-icon-list-item a{padding-inline-start:0;text-decoration:none;}

/* The email must sit on one line (client request). Breaking anywhere was
   splitting it mid-word as "resourcecente / r.org", which reads badly, so the
   Contact column above is widened to fit it and wrapping is switched off. */
.t65-ft-contact .elementor-icon-list-text{overflow-wrap:normal;word-break:normal;}
.t65-ft-contact .elementor-icon-list-item:nth-child(2) .elementor-icon-list-text,
.t65-ft-contact .elementor-icon-list-item:nth-child(2) a .elementor-icon-list-text{
  white-space:nowrap;
}
.t65-ft-contact .elementor-icon-list-icon svg,
.t65-ft-contact .elementor-icon-list-icon i{
  width:13px;height:13px;fill:#EF4D48!important;color:#EF4D48!important;margin-top:2px;
}
.t65-ft-contact .elementor-icon-list-item{align-items:flex-start;}
.t65-ft-contact a:hover,.t65-ft-contact a:hover .elementor-icon-list-text,
.t65-ft-links a:hover,.t65-ft-links a:hover .elementor-icon-list-text{color:#FFFFFF!important;}

/* explore links carry no icons */
.t65-ft-links .elementor-icon-list-icon{display:none;}
.t65-ft-links .elementor-icon-list-item > .elementor-icon-list-text,
.t65-ft-links .elementor-icon-list-item a .elementor-icon-list-text{padding-inline-start:0;}
.t65-ft-legal{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);}
.t65-ft-legal .elementor-icon-list-item > .elementor-icon-list-text,
.t65-ft-legal .elementor-icon-list-item a,
.t65-ft-legal .elementor-icon-list-item a .elementor-icon-list-text{
  color:rgba(255,255,255,.62)!important;font-size:12.5px!important;
}

/* map */
.t65-ft-map iframe{
  width:100%;height:180px!important;min-height:180px!important;display:block;
  border-radius:16px;border:1px solid rgba(255,255,255,.12);
}

/* bottom bar */
.t65-ft-bottom{border-top:1px solid rgba(255,255,255,.12);}
.t65-ft-bottom-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.t65-ft-bottom .elementor-widget{margin-block-end:0;}
.t65-ft-bottom p{font-size:11.5px;line-height:1.65;color:rgba(255,255,255,.6);margin:0;}
.t65-ft-bottom strong{color:rgba(255,255,255,.85);}
.e-con.e-flex.t65-ft-copy{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);
}
.t65-ft-copy a{color:rgba(255,255,255,.75);text-decoration:none;}
.t65-ft-copy a:hover{color:#FFFFFF;}

@media(max-width:1024px){
  .t65-ft-inner > .e-con-inner{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:767px){
  .t65-ft-inner > .e-con-inner{grid-template-columns:1fr;gap:30px;}
  .e-con.e-flex.t65-ft-copy{--flex-direction:column!important;--align-items:flex-start!important;--gap:8px 8px;}
}

/* ============ ABOUT PAGE ============ */
.t65-ab-hero-inner,.t65-ab-mission-inner,.t65-ab-values-inner,
.t65-ab-why-inner,.t65-ab-cta-inner{--width:100%;max-width:1220px;margin-inline:auto;}

/* hero — copy 1.1fr against media 1fr */
.e-con.e-flex.t65-ab-hero-copy{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:52%;min-width:0;}
.e-con.e-flex.t65-ab-hero-media{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:48%;min-width:0;}
.t65-ab-hero-media .elementor-widget-image img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;display:block;
  border:1px solid rgba(6,17,74,.08);box-shadow:0 16px 40px rgba(6,17,74,.12);
}

/* mission — soft gradient card */
.e-con.e-flex.t65-ab-mission-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  border-radius:32px;border:1px solid #F0DCDC;
  background:linear-gradient(135deg,#F7F3F5 0%,#FFFFFF 52%,#FBEAEA 100%);
}
.t65-ab-mission-card .elementor-heading-title{max-width:800px;margin-inline:auto;}

/* shared section head */
.e-con.e-flex.t65-ab-head{--width:100%;--flex-basis:auto;--flex-grow:0;max-width:640px;}

/* values — three cards */
.e-con.e-flex.t65-ab-grid{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-ab-card{
  --width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:16px;
  box-shadow:0 2px 12px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.t65-ab-card:hover{
  border-color:rgba(145,8,9,.22);box-shadow:0 14px 32px rgba(6,17,74,.11);transform:translateY(-3px);
}
.e-con.e-flex.t65-ab-ico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-ab-card .elementor-widget{margin-block-end:0;}
.t65-ab-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:12px;background:#FBEAEA;margin-bottom:4px;
}
.t65-ab-card:hover .t65-ab-ico .elementor-icon{background:#F6D9D9;}

/* why us — tinted card with a two-column checklist */
.e-con.e-flex.t65-ab-why-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  border-radius:32px;border:1px solid #E4E8F2;background:#F7F8FC;
}
.t65-ab-check .elementor-icon-list-items{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px 34px;margin:0;
}
.t65-ab-check .elementor-icon-list-item{align-items:flex-start;}
.t65-ab-check .elementor-icon-list-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 24px;
  width:24px;height:24px;border-radius:50%;background:var(--e-global-color-primary);margin-top:1px;
}
.t65-ab-check .elementor-icon-list-icon svg,
.t65-ab-check .elementor-icon-list-icon i{
  width:11px;height:11px;fill:#FFFFFF!important;color:#FFFFFF!important;
}
.t65-ab-check .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:14.5px!important;font-weight:600!important;color:#06114A!important;
  padding-inline-start:12px;line-height:1.4;
}

/* closing CTA */
.e-con.e-flex.t65-ab-cta-panel{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  border-radius:32px;overflow:hidden;background-color:#06114A;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(145,8,9,.42), transparent 55%),
    radial-gradient(circle at 82% 82%, rgba(145,8,9,.26), transparent 52%);
}
.t65-ab-cta-panel .elementor-widget-text-editor p{max-width:600px;margin-inline:auto;font-size:16.5px;}
.e-con.e-flex.t65-ab-cta-btns{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}

@media(max-width:1024px){
  .e-con.e-flex.t65-ab-hero-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:32px 32px;}
  .e-con.e-flex.t65-ab-hero-copy,.e-con.e-flex.t65-ab-hero-media{--flex-basis:auto;--flex-grow:0;--width:100%;}
  .e-con.e-flex.t65-ab-grid{--flex-direction:column!important;--align-items:stretch!important;}
  .e-con.e-flex.t65-ab-card{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
/* ============ LEGAL PAGES ============ */
.t65-lg-head,.t65-lg-inner{--width:100%;max-width:820px;margin-inline:auto;}
.t65-lg-head .elementor-widget-text-editor p{font-size:17px;}
.e-con.e-flex.t65-lg-cta{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}

/* intro panel */
.e-con.e-flex.t65-lg-intro{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#F7F8FC;border:1px solid #E4E8F2;border-radius:16px;
}
.t65-lg-intro .elementor-widget-text-editor p{font-size:15.5px;line-height:1.7;margin:0;}

/* sections — marker beside the title, body indented to align under it */
.e-con.e-flex.t65-lg-section,.e-con.e-flex.t65-lg-shead,.e-con.e-flex.t65-lg-body{
  --width:100%;--flex-basis:auto;--flex-grow:0;
}
.e-con.e-flex.t65-lg-marker{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-lg-title{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-lg-section .elementor-widget{margin-block-end:0;}
.t65-lg-marker .elementor-widget-heading .elementor-heading-title,
.t65-lg-marker .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:12px;background:#F0F3FA;border:1px solid #E4E8F2;
}
.t65-lg-marker .elementor-icon svg{fill:var(--e-global-color-primary)!important;width:16px;height:16px;}
.t65-lg-body{padding-inline-start:53px;}
.t65-lg-body .elementor-widget-text-editor p{font-size:15.5px;line-height:1.75;margin:0;}
.t65-lg-body strong{color:#06114A;}

/* bullet lists */
.t65-lg-list .elementor-icon-list-items{margin:0;}
.t65-lg-list .elementor-icon-list-item{align-items:flex-start;}
.t65-lg-list .elementor-icon-list-icon{margin-top:8px;}
.t65-lg-list .elementor-icon-list-icon svg{width:6px;height:6px;fill:var(--e-global-color-primary)!important;}
.t65-lg-list .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:15.5px!important;font-weight:400!important;color:#1B2440!important;
  padding-inline-start:11px;line-height:1.7;
}

@media(max-width:767px){
  .t65-lg-body{padding-inline-start:0;}
  .e-con.e-flex.t65-lg-intro{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}
}

/* ============ MEDICARE Q&A PAGES ============ */
.t65-qa-inner{--width:100%;max-width:920px;margin-inline:auto;}
.t65-qa-hero-inner{--width:100%;max-width:1080px;margin-inline:auto;}
.e-con.e-flex.t65-qa-cta{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}

/* back link */
.t65-qa-back .elementor-icon-list-items{margin:0;}
.t65-qa-back .elementor-icon-list-item > .elementor-icon-list-text,
.t65-qa-back .elementor-icon-list-item a .elementor-icon-list-text{
  font-size:13px!important;font-weight:600!important;color:var(--e-global-color-primary)!important;
  padding-inline-start:7px;
}
.t65-qa-back .elementor-icon-list-icon svg{width:12px;height:12px;fill:var(--e-global-color-primary)!important;}

/* hero — copy beside the question illustration */
.e-con.e-flex.t65-qa-copy{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:58%;min-width:0;}
.e-con.e-flex.t65-qa-artwrap{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:42%;min-width:0;}
.e-con.e-flex.t65-qa-art{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
  background:#fff;border-radius:26px;box-shadow:0 14px 40px rgba(6,17,74,.13);
  border:1px solid rgba(6,17,74,.06);
}
.t65-qa-art .elementor-widget-image img{width:250px;height:250px;object-fit:contain;display:block;}
.t65-qa-copy .elementor-widget-text-editor p{font-size:16.5px;}

/* answer card */
.e-con.e-flex.t65-qa-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.09);border-radius:22px;
  box-shadow:0 4px 22px rgba(6,17,74,.06);
}
.t65-qa-card .elementor-widget{margin-block-end:0;}
/* "Important factors" reads as a small caps label, per the source.
   Targeted by class — nth-of-type does not match, because other widget types
   sit between the two headings. */
.t65-qa-sublabel .elementor-heading-title{
  text-transform:uppercase!important;letter-spacing:.08em!important;
  color:var(--e-global-color-primary)!important;margin-top:8px;
}
/* bullet lists — crimson dots for the key points, navy for the caveats */
.t65-qa-list .elementor-icon-list-items{margin:0;}
.t65-qa-list .elementor-icon-list-item{align-items:flex-start;}
.t65-qa-list .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:15px!important;font-weight:500!important;color:#1B2440!important;
  padding-inline-start:11px;line-height:1.6;
}
.t65-qa-list .elementor-icon-list-icon{margin-top:8px;}
.t65-qa-list .elementor-icon-list-icon svg{width:6px;height:6px;}
.t65-qa-list--key .elementor-icon-list-icon svg{fill:var(--e-global-color-primary)!important;}
.t65-qa-list--factors .elementor-icon-list-icon svg{fill:#06114A!important;}
.t65-qa-card > .e-con-inner > .elementor-widget-text-editor p{
  font-size:13.5px;font-style:italic;color:#4B4F58;margin-top:6px;
}

/* related question cards */
.e-con.e-flex.t65-qa-related{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-qa-related > .e-con-inner{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:stretch;
}
.e-con.e-flex.t65-qa-rcard{
  --width:100%;--flex-basis:auto;--flex-grow:0;position:relative;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:14px;
  box-shadow:0 2px 10px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.t65-qa-rcard:hover{
  border-color:rgba(145,8,9,.24);box-shadow:0 12px 26px rgba(6,17,74,.1);transform:translateY(-2px);
}
.e-con.e-flex.t65-qa-rico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-qa-rtxt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-qa-rcard .elementor-widget{margin-block-end:0;}
.t65-qa-rico .elementor-widget-image img{
  width:44px;height:44px;object-fit:contain;display:block;
  background:#F7F8FC;border-radius:12px;padding:4px;border:1px solid #E4E8F2;
}
.t65-qa-rcard a.t65-stretch{color:inherit;text-decoration:none;}
.t65-qa-rcard a.t65-stretch::after{content:"";position:absolute;inset:0;z-index:1;}
.t65-qa-rcard:hover a.t65-stretch{color:var(--e-global-color-primary);}

@media(max-width:1024px){
  .e-con.e-flex.t65-qa-hero-inner{--flex-direction:column-reverse!important;--align-items:center!important;--gap:28px 28px;}
  .e-con.e-flex.t65-qa-copy,.e-con.e-flex.t65-qa-artwrap{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
@media(max-width:767px){
  .t65-qa-related > .e-con-inner{grid-template-columns:1fr;}
  .t65-qa-art .elementor-widget-image img{width:200px;height:200px;}
  .e-con.e-flex.t65-qa-card{--padding-top:26px;--padding-bottom:28px;--padding-left:22px;--padding-right:22px;}
}

/* ============ SEMINAR REGISTRATION ============ */
.t65-sr-hero-inner{--width:100%;max-width:880px;margin-inline:auto;}
.t65-sr-hero-inner .elementor-widget-text-editor p{font-size:17px;max-width:700px;margin-inline:auto;}
/* soft twin radial wash behind the hero, as on the source */
.t65-sr-hero{
  background-image:
    radial-gradient(60% 60% at 20% 10%, #F7F3F5, transparent 70%),
    radial-gradient(50% 50% at 90% 20%, #FBEAEA, transparent 70%);
}

/* ============ OFFICE PAGE ============ */
.t65-of-hero-inner{--width:100%;max-width:820px;margin-inline:auto;}
.t65-of-photos,.t65-of-map-inner{--width:100%;max-width:1080px;margin-inline:auto;}
.t65-of-card-inner{--width:100%;max-width:720px;margin-inline:auto;}
.t65-of-hero-inner .elementor-widget-text-editor p{font-size:17px;max-width:720px;margin-inline:auto;}

/* photo pair — wide shot beside the monument sign */
.e-con.e-flex.t65-of-photo{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;}
.e-con.e-flex.t65-of-photo--wide{--flex-grow:1.4;}
.t65-of-photo .elementor-widget-image img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;display:block;
  border:1px solid rgba(6,17,74,.08);box-shadow:0 10px 30px rgba(6,17,74,.1);
}

/* office information card */
.e-con.e-flex.t65-of-card,.e-con.e-flex.t65-of-cta-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.09);border-radius:22px;
  box-shadow:0 4px 22px rgba(6,17,74,.06);
}
.e-con.e-flex.t65-of-badge,.e-con.e-flex.t65-of-rico,.e-con.e-flex.t65-of-cta-btns{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.e-con.e-flex.t65-of-rows{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-of-row{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-of-rtxt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-of-card .elementor-widget,.t65-of-cta-card .elementor-widget{margin-block-end:0;}
.t65-of-badge .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:14px;background:#FBEAEA;
}
.t65-of-rico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;background:#F7F8FC;border:1px solid #E4E8F2;
}
.t65-of-rtxt a.t65-plain{color:inherit;text-decoration:none;}
.t65-of-rtxt a.t65-plain:hover{color:var(--e-global-color-primary);}

/* map */
.t65-of-map-inner iframe{
  width:100%;height:380px!important;min-height:380px!important;display:block;
  border-radius:22px;border:1px solid rgba(6,17,74,.1);
}
.t65-of-cta-card .elementor-widget-text-editor p{font-size:16px;max-width:560px;margin-inline:auto;}

@media(max-width:1024px){
  .e-con.e-flex.t65-of-photos{--flex-direction:column!important;--align-items:stretch!important;--gap:18px 18px;}
  .e-con.e-flex.t65-of-photo{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
@media(max-width:767px){
  .e-con.e-flex.t65-of-cta-btns{--flex-direction:column!important;--align-items:stretch!important;}
  .e-con.e-flex.t65-of-card,.e-con.e-flex.t65-of-cta-card{
    --padding-top:28px;--padding-bottom:30px;--padding-left:22px;--padding-right:22px;
  }
  .t65-of-map-inner iframe{height:300px!important;min-height:300px!important;}
}

/* ============ CONTACT PAGE ============ */
.t65-ct-hero-inner,.t65-ct-form-inner{--width:100%;max-width:740px;margin-inline:auto;}
.t65-ct-reassure-inner,.t65-ct-map-inner{--width:100%;max-width:1000px;margin-inline:auto;}
.t65-ct-hero-inner .elementor-widget-text-editor p{font-size:17px;max-width:620px;margin-inline:auto;}

/* form card */
.e-con.e-flex.t65-ct-form-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.09);border-radius:20px;
  box-shadow:0 6px 26px rgba(6,17,74,.07);
}
.t65-ct-privacy .elementor-icon-list-items{margin:0;}
.t65-ct-privacy .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:13px!important;font-weight:600!important;color:#06114A!important;padding-inline-start:7px;
}
.t65-ct-privacy .elementor-icon-list-icon svg{width:12px;height:12px;fill:var(--e-global-color-primary)!important;}
.t65-ct-form-card .elementor-field-group > label{
  font-size:13px!important;font-weight:600!important;color:#06114A!important;margin-bottom:6px;
}
.t65-ct-form-card .elementor-field-textual{
  border:1px solid rgba(6,17,74,.14)!important;border-radius:11px!important;
  padding:12px 14px!important;font-size:14.5px!important;background:#fff!important;
}
.t65-ct-form-card .elementor-field-textual:focus{
  border-color:var(--e-global-color-primary)!important;
  box-shadow:0 0 0 4px rgba(145,8,9,.10)!important;outline:none!important;
}
/* SMS consent radios read as selectable cards, matching the source */
.t65-ct-form-card .elementor-field-subgroup .elementor-field-option{
  display:block;border:1px solid rgba(6,17,74,.14);border-radius:11px;
  padding:11px 14px;margin-bottom:9px;background:#fff;transition:border-color .15s ease;
}
.t65-ct-form-card .elementor-field-subgroup .elementor-field-option:hover{border-color:rgba(145,8,9,.35);}
.t65-ct-form-card .elementor-field-subgroup label{font-size:13.5px;line-height:1.45;font-weight:500;}
.t65-ct-form-card .elementor-button[type="submit"]{width:100%;justify-content:center;padding:16px 24px;font-size:15px;}
.t65-ct-form-card > .e-con-inner > .elementor-widget-text-editor:last-child p{
  font-size:12px;text-align:center;color:#4B4F58;margin:0;
}

/* reassurance block */
.e-con.e-flex.t65-ct-head{--width:100%;--flex-basis:auto;--flex-grow:0;max-width:760px;margin-inline:auto;}
.e-con.e-flex.t65-ct-benefits{--width:100%;--flex-basis:auto;--flex-grow:0;}
.e-con.e-flex.t65-ct-benefit{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:0%;min-width:0;}
.e-con.e-flex.t65-ct-bico,.e-con.e-flex.t65-ct-dico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-ct-btxt,.e-con.e-flex.t65-ct-dtxt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-ct-benefit .elementor-widget,.t65-ct-detail .elementor-widget{margin-block-end:0;}
.t65-ct-benefit .elementor-widget-text-editor p{font-size:13.5px;line-height:1.55;margin:0;}
.t65-ct-bico .elementor-icon,.t65-ct-dico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:11px;background:#FBEAEA;
}

/* contact details card — four across */
.e-con.e-flex.t65-ct-details{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.09);border-radius:18px;
  box-shadow:0 2px 12px rgba(6,17,74,.05);
}
.t65-ct-details > .e-con-inner{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px 26px;align-items:start;
}
.e-con.e-flex.t65-ct-detail{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-ct-dtxt a.t65-plain{color:inherit;text-decoration:none;}
.t65-ct-dtxt a.t65-plain:hover{color:var(--e-global-color-primary);}

/* in-person / map */
.e-con.e-flex.t65-ct-map-copy{--width:auto;--flex-grow:0;--flex-shrink:1;--flex-basis:46%;min-width:0;}
.e-con.e-flex.t65-ct-map-media{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:54%;min-width:0;}
.e-con.e-flex.t65-ct-map-cta{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-ct-map-media iframe{
  width:100%;height:330px!important;min-height:330px!important;display:block;
  border-radius:18px;border:1px solid rgba(6,17,74,.1);
}

@media(max-width:1024px){
  .e-con.e-flex.t65-ct-benefits{--flex-direction:column!important;--align-items:stretch!important;--gap:18px 18px;}
  .e-con.e-flex.t65-ct-benefit{--flex-basis:auto;--flex-grow:0;--width:100%;}
  .e-con.e-flex.t65-ct-map-inner{--flex-direction:column!important;--align-items:stretch!important;--gap:30px 30px;}
  .e-con.e-flex.t65-ct-map-copy,.e-con.e-flex.t65-ct-map-media{--flex-basis:auto;--flex-grow:0;--width:100%;}
}
@media(max-width:767px){
  .t65-ct-details > .e-con-inner{grid-template-columns:1fr;}
  .e-con.e-flex.t65-ct-form-card{--padding-top:24px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}
}

/* ============ FLUENTFORM (contact + seminar registration) ============ */
/* FluentForm ships its own styling, so these need !important to win. Class
   names taken from the rendered markup, not guessed. */
.t65-ff .ff-el-group{margin-bottom:15px;}
.t65-ff .ff-el-input--label label{
  font-size:13px!important;font-weight:600!important;color:#06114A!important;margin-bottom:6px!important;
}
.t65-ff .ff-el-form-control{
  border:1px solid rgba(6,17,74,.14)!important;border-radius:11px!important;
  padding:12px 14px!important;font-size:14.5px!important;height:auto!important;
  background:#fff!important;color:#1B2440!important;box-shadow:none!important;
}
.t65-ff .ff-el-form-control:focus{
  border-color:var(--e-global-color-primary)!important;
  box-shadow:0 0 0 4px rgba(145,8,9,.10)!important;outline:none!important;
}
.t65-ff textarea.ff-el-form-control{min-height:110px!important;}

/* Name/phone/zip pairs sit two-up on desktop, matching the reference. The
   .t65-half class is stamped onto the field in create-forms.php rather than
   picked out positionally: FluentForm nests the groups inside a <fieldset>
   behind a legend and three hidden inputs, so ":nth-child" counts the wrong
   things and "> .ff-el-group" never matches at all. */
@media(min-width:768px){
  .t65-ff .ff-el-group.t65-half{
    width:calc(50% - 7px);display:inline-block;vertical-align:top;margin-right:14px;
  }
  .t65-ff .ff-el-group.t65-half:nth-of-type(2n){margin-right:0;}
}

/* SMS consent: intro copy, then the two options as selectable cards */
.t65-ff .t65-sms-block{
  border:1px solid rgba(6,17,74,.12);border-radius:12px;background:#F7F8FC;
  padding:15px 16px;margin-bottom:4px;
}
.t65-ff .t65-sms-q{font-weight:600;color:#06114A;font-size:13.5px;margin:0 0 7px;}
.t65-ff .t65-sms-body{font-size:12.5px;line-height:1.6;color:#4B4F58;margin:0;}
.t65-ff .t65-sms-foot{font-size:12px;color:#4B4F58;margin:4px 0 0;}
.t65-ff .t65-sms-foot a{color:var(--e-global-color-primary);text-decoration:underline;}
.t65-ff .ff-el-form-check{
  border:1px solid rgba(6,17,74,.14);border-radius:11px;padding:11px 14px;
  margin-bottom:9px;background:#fff;transition:border-color .15s ease;
}
.t65-ff .ff-el-form-check:hover{border-color:rgba(145,8,9,.35);}
.t65-ff .ff-el-form-check-label{font-size:13.5px!important;line-height:1.45;font-weight:500;color:#1B2440;}

/* Submit — brand crimson pill, full width. Colour, radius, width and padding
   are set on the widget itself (see fluentForm() in lib/elementor.mjs): the
   plugin emits its own "!important" colour under a five-class selector that no
   rule here can outrank. Only the type styling is left for CSS. */
.t65-ff .ff-btn-submit{
  border:0!important;
  font-size:15px!important;font-weight:700!important;font-family:Montserrat,sans-serif!important;
  transition:background-color .18s ease;
}
.t65-ff .ff-el-is-error .ff-el-form-control{border-color:var(--e-global-color-primary)!important;}
.t65-ff .ff-el-form-check-input{accent-color:var(--e-global-color-primary);}

/* ============ FAQ PAGE ============ */
.t65-faq-hero-inner,.t65-faq-inner{--width:100%;max-width:840px;margin-inline:auto;}
.t65-faq-mission-inner{--width:100%;max-width:1000px;margin-inline:auto;}
.t65-faq-hero-inner .elementor-widget-text-editor p{font-size:17px;}

/* accordion styled as separate cards, toggle icon in a tile on the right */
.t65-faq-acc .elementor-accordion{display:flex;flex-direction:column;gap:12px;}
.t65-faq-acc .elementor-accordion-item{
  background:#fff;border:1px solid rgba(6,17,74,.08)!important;border-radius:14px;overflow:hidden;
  box-shadow:0 2px 10px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,border-color .2s ease;
}
.t65-faq-acc .elementor-accordion-item:hover{
  border-color:rgba(145,8,9,.2)!important;box-shadow:0 10px 24px rgba(6,17,74,.09);
}
.t65-faq-acc .elementor-tab-title{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 22px!important;border:0!important;background:transparent!important;
}
/* The title is an <a>, so it inherits the global crimson link colour. It has
   to be forced back to navy, with crimson reserved for the open item. */
.t65-faq-acc .elementor-tab-title .elementor-accordion-title,
.t65-faq-acc .elementor-tab-title a.elementor-accordion-title{
  font-size:16.5px!important;font-weight:600!important;line-height:1.4;
  color:#06114A!important;
}
.t65-faq-acc .elementor-tab-title.elementor-active .elementor-accordion-title,
.t65-faq-acc .elementor-tab-title.elementor-active a.elementor-accordion-title{
  color:var(--e-global-color-primary)!important;
}
.t65-faq-acc .elementor-tab-title:hover .elementor-accordion-title{
  color:var(--e-global-color-primary)!important;
}
/* the plus/minus sits in its own soft tile */
/* Elementor's icon_align setting does not round-trip, so the toggle is moved
   to the right with flex order instead. */
.t65-faq-acc .elementor-tab-title .elementor-accordion-title{order:1;flex:1 1 auto;}
/* Elementor sets display:block and float:right on this container, which beats
   a plain flex rule and left the glyph pinned to the top of the tile —
   hence the !important on the layout properties. */
.t65-faq-acc .elementor-accordion-icon{
  order:2;
  display:flex!important;align-items:center!important;justify-content:center!important;
  float:none!important;flex:0 0 36px;
  width:36px;height:36px;border-radius:11px;background:#FBEAEA;
  margin:0!important;padding:0!important;line-height:0!important;
  transition:background-color .18s ease;
}
.t65-faq-acc .elementor-tab-title.elementor-active .elementor-accordion-icon{background:#F3D5D5;}
.t65-faq-acc .elementor-tab-title:hover .elementor-accordion-icon{background:#F3D5D5;}
/* Deliberately NOT setting display on these — Elementor toggles the open and
   closed glyphs with display, so forcing it would show both at once. The tile
   above is the flex parent, so whichever child is visible gets centred. */
.t65-faq-acc .elementor-accordion-icon-opened,
.t65-faq-acc .elementor-accordion-icon-closed{
  line-height:0;align-self:center;
}
.t65-faq-acc .elementor-accordion-icon svg,
.t65-faq-acc .elementor-accordion-icon i{
  width:13px!important;height:13px!important;font-size:13px!important;
  fill:var(--e-global-color-primary)!important;color:var(--e-global-color-primary)!important;
}
.t65-faq-acc .elementor-tab-content{
  border:0!important;padding:0 22px 22px!important;background:transparent!important;
}
.t65-faq-acc .elementor-tab-content p{font-size:14.5px;line-height:1.7;margin:0;}

/* attribution under the mission quote */
.t65-faq-attrib .elementor-icon-list-items{margin:0;}
.t65-faq-attrib .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:13.5px!important;font-weight:700!important;color:#06114A!important;padding-inline-start:7px;
}
.t65-faq-attrib .elementor-icon-list-icon svg{width:12px;height:12px;fill:var(--e-global-color-primary)!important;}

@media(max-width:767px){
  .t65-faq-acc .elementor-tab-title{padding:16px 18px!important;}
  .t65-faq-acc .elementor-tab-content{padding:0 18px 18px!important;}
}

/* ============ SEMINARS PAGE ============ */
.t65-sch-hero-inner{--width:100%;max-width:880px;margin-inline:auto;}
.t65-sch-inner{--width:100%;max-width:960px;margin-inline:auto;}
.e-con.e-flex.t65-sch-hero-btns,.e-con.e-flex.t65-sch-cta-btn,
.e-con.e-flex.t65-sch-loc-ico,.e-con.e-flex.t65-sch-loc-cta{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.t65-sch-hero-inner .elementor-widget-text-editor p{font-size:17px;max-width:680px;margin-inline:auto;}

/* month group heading sits over a hairline rule */
.e-con.e-flex.t65-sch-month,.e-con.e-flex.t65-sch-head{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-sch-month > .e-con-inner > .elementor-widget-heading:first-child{
  border-bottom:1px solid rgba(6,17,74,.12);padding-bottom:9px;
}

/* date cards — three across */
.e-con.e-flex.t65-sch-grid{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-sch-grid > .e-con-inner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:stretch;
}
.e-con.e-flex.t65-sch-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:14px;
  box-shadow:0 2px 10px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.t65-sch-card:hover{
  border-color:rgba(145,8,9,.24);box-shadow:0 12px 26px rgba(6,17,74,.1);transform:translateY(-2px);
}
.t65-sch-card .elementor-widget{margin-block-end:0;}
.e-con.e-flex.t65-sch-ico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.e-con.e-flex.t65-sch-info{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-sch-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;background:#FBEAEA;
}
.t65-sch-time .elementor-icon-list-items{margin:0;}
.t65-sch-time .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:12.5px!important;font-weight:500!important;color:#4B4F58!important;padding-inline-start:6px;
}
.t65-sch-time .elementor-icon-list-icon svg{width:12px;height:12px;fill:#4B4F58!important;}

/* info card + badge pills */
.e-con.e-flex.t65-sch-info-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:20px;
  box-shadow:0 2px 12px rgba(6,17,74,.05);
}
.t65-sch-info-card .elementor-widget-text-editor p{font-size:16px;max-width:720px;margin-inline:auto;}
.t65-sch-badges .elementor-icon-list-items{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;
}
.t65-sch-badges .elementor-icon-list-item{
  display:inline-flex;align-items:center;
  background:#F7F8FC;border:1px solid #E4E8F2;border-radius:50px;padding:9px 16px;
}
.t65-sch-badges .elementor-icon-list-item > .elementor-icon-list-text{
  font-size:13px!important;font-weight:600!important;color:#06114A!important;padding-inline-start:7px;
}
.t65-sch-badges .elementor-icon-list-icon svg{width:12px;height:12px;fill:var(--e-global-color-primary)!important;}

/* location strip */
.e-con.e-flex.t65-sch-loc{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#F7F8FC;border:1px solid #E4E8F2;border-radius:18px;
}
.e-con.e-flex.t65-sch-loc-txt{--width:auto;--flex-grow:1;--flex-shrink:1;--flex-basis:auto;min-width:0;}
.t65-sch-loc .elementor-widget{margin-block-end:0;}
.t65-sch-loc .elementor-widget-text-editor p{font-size:13.5px;color:#4B4F58;margin:0;}
.t65-sch-loc-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;background:#FBEAEA;
}
.t65-sch-loc-cta .elementor-button{font-size:13px;padding:11px 18px;white-space:nowrap;}

/* closing CTA */
.e-con.e-flex.t65-sch-cta-panel{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  border-radius:32px;overflow:hidden;background-color:#06114A;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(145,8,9,.42), transparent 55%),
    radial-gradient(circle at 82% 82%, rgba(145,8,9,.26), transparent 52%);
}
.t65-sch-cta-panel .elementor-widget-text-editor p{max-width:580px;margin-inline:auto;font-size:16.5px;}

@media(max-width:1024px){
  .t65-sch-grid > .e-con-inner{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){
  .t65-sch-grid > .e-con-inner{grid-template-columns:1fr;}
  .e-con.e-flex.t65-sch-hero-btns{--flex-direction:column!important;--align-items:stretch!important;}
  .e-con.e-flex.t65-sch-loc{--flex-direction:column!important;--align-items:flex-start!important;--gap:14px 14px;}
  .e-con.e-flex.t65-sch-cta-panel{--padding-top:48px;--padding-bottom:50px;--padding-left:26px;--padding-right:26px;border-radius:24px;}
}

/* ============ SERVICES PAGE ============ */
.t65-sv-hero-inner{--width:100%;max-width:900px;margin-inline:auto;}
.t65-sv-inner{--width:100%;max-width:1220px;margin-inline:auto;}
.e-con.e-flex.t65-sv-head{--width:100%;--flex-basis:auto;--flex-grow:0;max-width:640px;margin-inline:auto;}
.e-con.e-flex.t65-sv-hero-cta,.e-con.e-flex.t65-sv-rx{
  --width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;
}
.t65-sv-hero-inner .elementor-widget-text-editor p{font-size:17.5px;max-width:760px;margin-inline:auto;}

/* six cards, three across */
.e-con.e-flex.t65-sv-grid{--width:100%;--flex-basis:auto;--flex-grow:0;}
.t65-sv-grid > .e-con-inner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;
}
.e-con.e-flex.t65-sv-card{
  --width:100%;--flex-basis:auto;--flex-grow:0;
  background:#fff;border:1px solid rgba(6,17,74,.08);border-radius:16px;
  box-shadow:0 2px 12px rgba(6,17,74,.05);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.t65-sv-card:hover{
  border-color:rgba(145,8,9,.22);box-shadow:0 14px 32px rgba(6,17,74,.11);transform:translateY(-3px);
}
.t65-sv-card .elementor-widget{margin-block-end:0;}
.e-con.e-flex.t65-sv-ico{--width:auto;--flex-grow:0;--flex-shrink:0;--flex-basis:auto;}
.t65-sv-ico .elementor-icon{
  display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:13px;background:#FBEAEA;margin-bottom:6px;
}
.t65-sv-card:hover .t65-sv-ico .elementor-icon{background:#F6D9D9;}
.t65-sv-rx .elementor-button{font-size:13px;padding:10px 18px;}

@media(max-width:1024px){
  .t65-sv-grid > .e-con-inner{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){
  .t65-sv-grid > .e-con-inner{grid-template-columns:1fr;}
}

@media(max-width:767px){
  .t65-ab-check .elementor-icon-list-items{grid-template-columns:1fr;}
  .e-con.e-flex.t65-ab-mission-card{--padding-top:36px;--padding-bottom:36px;--padding-left:26px;--padding-right:26px;}
  .e-con.e-flex.t65-ab-why-card{--padding-top:30px;--padding-bottom:30px;--padding-left:24px;--padding-right:24px;}
  .e-con.e-flex.t65-ab-cta-panel{--padding-top:48px;--padding-bottom:50px;--padding-left:26px;--padding-right:26px;border-radius:24px;}
  .e-con.e-flex.t65-ab-cta-btns{--flex-direction:column!important;--align-items:stretch!important;}
}
