.elementor-kit-8{--e-global-color-primary:#0B2A4A;--e-global-color-secondary:#52708C;--e-global-color-text:#52708C;--e-global-color-accent:#1E6FD9;--e-global-color-rod_bg:#F1F6FC;--e-global-color-rod_surface:#FFFFFF;--e-global-color-rod_border:#D7E6F5;--e-global-color-rod_accent2:#FF6F59;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Space Grotesk";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Sans";--e-global-typography-accent-font-weight:600;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{
  --bg:#F1F6FC; --surface:#FFFFFF; --ink:#0B2A4A; --accent:#1E6FD9; --accent-ink:#FFFFFF;
  --accent2:#FF6F59; --accent2-ink:#FFFFFF;
  --muted:#52708C; --border:#D7E6F5; --r-sm:8px; --r-md:14px; --r-lg:24px;
  --transition-theme:background-color .2s ease, color .2s ease, border-color .2s ease;
}
[data-theme="dark"]{
  --bg:#071627; --surface:#0F2740; --ink:#E8F1FC; --accent:#5B9DFF; --accent-ink:#071627;
  --accent2:#FF8B75; --accent2-ink:#071627;
  --muted:#8FB0CE; --border:#1B3A57;
}
body, .elementor-widget-container{ transition: var(--transition-theme); }
body{ background:var(--bg) !important; color:var(--ink); }
.dm-bg{ background:var(--bg) !important; }
.dm-surface{ background:var(--surface) !important; border-color:var(--border) !important; }
.dm-ink, .dm-ink *{ color:var(--ink) !important; }
.dm-muted, .dm-muted *{ color:var(--muted) !important; }
.dm-accent-text{ color:var(--accent) !important; }
.dm-border{ border-color:var(--border) !important; }

/* Buttons */
.dm-btn-primary, .dm-btn-primary .elementor-button{
  background:var(--accent) !important; color:var(--accent-ink) !important; border:none !important;
  border-radius:10px !important; transition:filter .15s ease;
}
.dm-btn-primary:hover, .dm-btn-primary .elementor-button:hover{ filter:brightness(1.08); color:var(--accent-ink) !important; }
.dm-btn-ghost, .dm-btn-ghost .elementor-button{
  background:transparent !important; color:var(--ink) !important; border:1px solid var(--border) !important; border-radius:10px !important;
}
.dm-btn-ghost:hover .elementor-button, .dm-btn-ghost:hover{ border-color:var(--accent) !important; color:var(--accent) !important; }

/* Cards / tiles */
.dm-card{ background:var(--surface) !important; border:1px solid var(--border) !important; border-radius:14px !important; transition:border-color .2s ease, transform .2s ease; }
.dm-card:hover{ border-color:var(--accent) !important; }
.dm-tile-featured{ background:color-mix(in srgb, var(--accent2) 12%, var(--surface)) !important; border-color:var(--accent2) !important; }
.dm-badge-accent2{ display:inline-block; background:var(--accent2) !important; color:var(--accent2-ink) !important; border-radius:999px; padding:4px 12px; font-size:.78rem; font-weight:600; }
.dm-icon-box{ background:var(--bg) !important; border:1px solid var(--border) !important; color:var(--accent) !important; border-radius:8px !important; }
.dm-icon-box-filled{ background:var(--accent) !important; border-color:var(--accent) !important; color:var(--accent-ink) !important; }

/* Eyebrow */
.dm-eyebrow, .dm-eyebrow *{ color:var(--accent) !important; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }

/* CTA banner */
.dm-cta-banner{ background:var(--ink) !important; border-radius:24px !important; }
[data-theme="dark"] .dm-cta-banner{ background:var(--surface) !important; border:1px solid var(--border) !important; }
.dm-cta-banner, .dm-cta-banner *:not(.elementor-button){ color:var(--bg) !important; }
[data-theme="dark"] .dm-cta-banner, [data-theme="dark"] .dm-cta-banner *:not(.elementor-button){ color:var(--ink) !important; }

/* Hero portrait rings */
.dm-ring{ position:absolute; border:1.5px solid var(--accent); border-radius:999px; opacity:.3; pointer-events:none; }

/* Sticky header */
.dm-header{ background:color-mix(in srgb, var(--bg) 78%, transparent) !important; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transition:var(--transition-theme), box-shadow .2s ease; position:sticky !important; top:0; z-index:999; }
.dm-header.is-scrolled{ box-shadow:0 8px 24px -12px rgba(14,110,92,.18); border-bottom:1px solid var(--border); }

/* Theme toggle button */
.theme-toggle-btn{ width:40px; height:40px; border-radius:999px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink); background:transparent; }
.theme-toggle-btn:hover{ border-color:var(--accent); color:var(--accent); }
.theme-toggle-btn svg{ width:18px; height:18px; }
.theme-toggle-btn .tt-sun{ display:none; }
[data-theme="dark"] .theme-toggle-btn .tt-moon{ display:none; }
[data-theme="dark"] .theme-toggle-btn .tt-sun{ display:block; }

/* Reveal (CSS-only, never JS-dependent) */
@keyframes rodFadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.dm-reveal{ animation:rodFadeUp .7s ease both; }
@media (prefers-reduced-motion: reduce){ .dm-reveal{ animation:none; opacity:1; transform:none; } }

/* Map desaturation in dark mode */
[data-theme="dark"] .dm-map iframe{ filter:grayscale(.4) invert(.92) hue-rotate(150deg) contrast(.9); }
/* Buttons for HTML-widget button rows */
.btn{ display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:.95rem; padding:13px 26px; border-radius:10px; text-decoration:none; transition:filter .15s ease; }
.btn-primary{ background:var(--accent); color:var(--accent-ink); }
.btn-primary:hover{ filter:brightness(1.08); color:var(--accent-ink); }
.btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--border); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }

/* Hero media */
.hero-media-frame{ border-radius:24px !important; overflow:hidden; }
.hero-media-frame img{ width:100% !important; height:100% !important; max-height:480px; object-fit:cover; object-position:top center; display:block; aspect-ratio:4/5; }
@media (max-width:767px){ .hero-media-frame img{ max-height:360px; } }
.hero-tag{ display:inline-block; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 18px; margin-top:-40px; margin-left:20px; position:relative; box-shadow:0 20px 40px -20px rgba(0,0,0,.25); }
.hero-tag strong{ display:block; font-family:'Space Grotesk',sans-serif; font-size:.95rem; color:var(--ink); }
.hero-tag span{ font-size:.78rem; color:var(--muted); }

/* Card link arrow */
.card-link{ font-size:.85rem; font-weight:600; color:var(--accent); text-decoration:none; }

/* Simple bullet list used inside text-editor / html widgets */
.dm-bullets{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.dm-bullets li{ display:flex; gap:10px; align-items:flex-start; font-size:.98rem; }
.dm-bullets li::before{ content:''; flex-shrink:0; width:7px; height:7px; margin-top:8px; border-radius:2px; background:var(--accent); }
/* Force headings & body text to follow the theme variables instead of Elementor's baked-in hex */
.elementor-heading-title{ color:var(--ink) !important; }
.elementor-widget-text-editor{ color:var(--ink); }
.elementor-widget-text-editor p, .elementor-widget-text-editor li, .elementor-widget-text-editor span{ color:inherit; }
.elementor-icon{ color:var(--ink); }
/* Forms */
.rod-form{ display:grid; gap:16px; margin-top:10px; }
.rod-form .rod-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .rod-form .rod-row{ grid-template-columns:1fr; } }
.rod-form label{ display:block; font-size:.82rem; font-weight:600; margin-bottom:6px; color:var(--ink); }
.rod-form input[type=text], .rod-form input[type=email], .rod-form input[type=tel], .rod-form input[type=number], .rod-form input[type=date], .rod-form input[type=time], .rod-form select, .rod-form textarea, .rod-form input[type=file]{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--ink); font-family:'IBM Plex Sans',sans-serif; font-size:.95rem; box-sizing:border-box;
}
.rod-form textarea{ min-height:110px; resize:vertical; }
.rod-form input:focus, .rod-form select:focus, .rod-form textarea:focus{ outline:2px solid var(--accent); outline-offset:1px; }
.rod-form .rod-checkbox{ display:flex; gap:10px; align-items:flex-start; font-size:.85rem; color:var(--muted); }
.rod-form .rod-checkbox input{ width:auto; margin-top:3px; }
.rod-form button[type=submit]{ justify-self:start; }
.rod-status{ display:none; padding:14px 18px; border-radius:8px; margin-bottom:10px; font-size:.92rem; }
.rod-status.show{ display:block; }
.rod-status-success{ background:color-mix(in srgb, var(--accent) 15%, var(--surface)); border:1px solid var(--accent); color:var(--ink); }
.rod-status-error{ background:color-mix(in srgb, #b23b3b 15%, var(--surface)); border:1px solid #b23b3b; color:var(--ink); }

/* ROD_FONT_ENFORCEMENT: never let nav/menus/footer fall back to system fonts */
.elementor-nav-menu, .elementor-nav-menu li, .elementor-nav-menu a, .elementor-nav-menu .elementor-item,
.elementor-widget-nav-menu *, nav a, nav li, .dm-header *{ font-family:'IBM Plex Sans', sans-serif !important; }
body, .elementor-widget-container, input, textarea, select, button{ font-family:'IBM Plex Sans', sans-serif; }


/* ROD_HERO_IMAGE_FIX: cap oversized portrait images (class never rendered on image widgets) */
.elementor-element-22f64b1, .elementor-element-687e3ab{ border-radius:24px !important; overflow:hidden; }
.elementor-element-22f64b1 img, .elementor-element-687e3ab img{ width:100% !important; height:100% !important; max-height:420px; object-fit:cover; object-position:top center; display:block; border-radius:24px; aspect-ratio:4/5; }
@media (max-width:767px){ .elementor-element-22f64b1 img, .elementor-element-687e3ab img{ max-height:320px; } }/* End custom CSS */