.elementor-kit-8{--e-global-color-primary:#1976D2;--e-global-color-secondary:#2DE2E6;--e-global-color-text:#121212;--e-global-color-accent:#FFC107;--e-global-color-6a332cf:#E0E0E0;--e-global-color-303e72c:#FFFFFF;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;font-family:"Open Sans", Sans-serif;font-size:18px;font-weight:400;line-height:27px;letter-spacing:0px;word-spacing:0px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#1976D2;color:#000000;border-radius:8px 8px 8px 8px;padding:16px 16px 16px 16px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#FFC107;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-primary );font-size:18px;}.elementor-kit-8 a:hover{color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-8 h1{font-family:"Montserrat", Sans-serif;font-size:36px;font-weight:700;}.elementor-kit-8 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-8 h3{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-8 label{color:#121212;font-family:"Open Sans", Sans-serif;font-size:16px;font-weight:600;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{color:#121212;accent-color:#CCCCCC;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-radius:6px 6px 6px 6px;padding:12px 14px 12px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1080px;}.e-con{--container-max-width:1080px;--container-default-padding-top:40px;--container-default-padding-right:0px;--container-default-padding-bottom:10px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end: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(min-width:2400px){.elementor-kit-8 a:hover{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-8 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );}}@media(max-width:1024px){.elementor-kit-8 a:hover{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-8 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8 a:hover{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-8 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-8 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===============================================================
   LEVEL 2 — GLOBAL DESIGN SYSTEM (No Dark Mode)
   =============================================================== */

/* 0) TOKENS + Elementor mapping */
:root{
  --l2-primary: #1976d2;   /* buttons, links */
  --l2-accent : #ffc107;   /* highlights */
  --l2-dark   : #121212;   /* body text */
  --l2-light  : #ffffff;   /* page background */

  --e-global-color-primary:   var(--l2-primary);
  --e-global-color-secondary: #2DE2E6;
  --e-global-color-accent:    var(--l2-accent);
  --e-global-color-text:      var(--l2-dark);
}

/* 1) Global background */
html, body, .elementor, .elementor-page, .site, #page{
  background: var(--l2-light) !important;
  transition: background .3s ease;
}

/* 2) Header & logo */
.elementor-location-header,
header.elementor-sticky--active{
  background: var(--l2-light);
  padding: 12px 0 !important;
  line-height: 1;
  transition: background .3s ease;
}
/* Only use the light logo; hide any dark-mode alt */
.logo-light{ display:inline-block; }
.logo-dark{  display:none; }
.logo-light img, .logo-dark img{ max-height:72px; width:auto; }
/* If you had a mode toggle in the header, hide it */
#modeToggle{ display:none; }

/* 3) Nav menu */
.elementor-nav-menu--main{ white-space:nowrap; }
.elementor-nav-menu--main a{
  font-size:16px; font-weight:600; margin:0 12px; display:inline-block;
  color:var(--l2-primary); transition:color .2s ease;
}
.elementor-nav-menu--main a:hover{ color:var(--l2-accent); }

/* 4) Buttons */
.elementor-button{
  font-size:16px; padding:10px 24px; border-radius:8px;
  background:var(--l2-primary); color:#fff;
  transition:background .2s ease, color .2s ease;
}
.elementor-button:hover{ background:var(--l2-accent); color:var(--l2-dark); }

/* 5) iOS text zoom guard */
html{ -webkit-text-size-adjust:100%; }

/* ===============================================================
   6) HERO VISIBILITY + MOBILE HERO STYLES
   =============================================================== */

/* Show only one hero per breakpoint */
@media (min-width:1025px){ .hero-mbl{ display:none !important; } }   /* desktop/widescreen */
@media (max-width:1024px){ .hero-desk{ display:none !important; } }  /* tablet + phone */

/* Desktop hero (keeps track visible on wide screens) */
.hero-desk{
  min-height: clamp(640px, 72vh, 880px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 88% 100%;                /* near-right, bottom */
}
/* If the image is on Background Overlay, this targets it */
.hero-desk::before{
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: 88% 100% !important;
}
/* Fluid focal-point shift for ultra-wide screens */
@media (min-width:1200px){
  .hero-desk{ background-position: calc(100% - 8vw) 100%; }
  .hero-desk::before{ background-position: calc(100% - 8vw) 100% !important; }
}

/* Mobile hero (phones) */
@media (max-width:767px){
  .hero-mbl{
    position:relative;
    min-height:100dvh;
    display:flex; flex-direction:column; justify-content:flex-end;
    box-sizing:border-box;
    padding:clamp(18px,6vw,28px);
    padding-top:calc(env(safe-area-inset-top,0px) + 28px);
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px);
    background-size:cover; background-position:50% 38%; background-repeat:no-repeat;
  }
  @supports (-webkit-touch-callout:none){
    .hero-mbl{ min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  }
  /* Wrap H1 + P + button in .hero-copy; add .hero-cta to button wrapper */
  .hero-copy{ max-width:36ch; display:flex; flex-direction:column; gap:clamp(8px,2.5vw,14px); }
  .hero-copy h1{ margin:0; font-size:clamp(28px,7.2vw,44px); line-height:1.15; letter-spacing:-.2px; }
  .hero-copy p { margin:0; font-size:clamp(16px,4.4vw,18px); line-height:1.35; }
  .hero-cta, .hero-cta .elementor-button{ width:100%; max-width:380px; margin:12px 0 0; }
  .hero-mbl::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,.30) 100%);
    pointer-events:none;
  }
}

/* ===============================================================
   7) OPTIONAL — subtle patriotic section backgrounds
   =============================================================== */

/* A) Soft flag gradient */
.bg-flag-soft{
  background:linear-gradient(135deg,
    rgba(0,76,109,.07) 0%,   /* Pantone 302C #004C6D */
    rgba(255,255,255,.96) 52%,
    rgba(155,27,48,.07) 100% /* Pantone 201C #9B1B30 */
  );
}

/* B) Corner glows */
.bg-flag-glow{
  background:
    radial-gradient(600px 400px at 12% 18%, rgba(0,76,109,.08), transparent 55%),
    radial-gradient(600px 400px at 88% 82%, rgba(155,27,48,.08), transparent 55%),
    #ffffff;
}

/* C) Ultra-light stars watermark */
.bg-flag-stars{ position:relative;
  background:linear-gradient(135deg, rgba(0,76,109,.05) 0%, rgba(255,255,255,.96) 55%, rgba(155,27,48,.05) 100%);
}
.bg-flag-stars::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'>\
    <polygon points='40,13 46,30 64,30 50,41 55,59 40,49 25,59 30,41 16,30 34,30' fill='%23004c6d0D'/>\
  </svg>");
  background-size:96px 96px; background-repeat:repeat;
}/* End custom CSS */