:root{
  --ink:#0e1220; --muted:#5f6b7a;
  --royal:#0A4DA2; --royal-deep:#083B82; --gold:#F5B300; --light:#E6EFF8;
  --ring: 0 0 0 3px rgba(10,77,162,.20);
  --radius:18px; --shadow: 0 10px 30px rgba(2,18,71,.14), 0 3px 8px rgba(2,18,71,.08);
}
*{box-sizing:border-box}
.elmont-form-container, .elmont-form-container *{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;}
.elmont-form-container a{color:var(--gold);text-decoration:none}
.elmont-form-container a:hover{text-decoration:underline}
@media(max-width:820px){ .elmont-form-container body{padding-bottom:calc(96px + env(safe-area-inset-bottom));} }

/* ================= Buttons: normalize & center ================= */
.elmont-form-container button, .elmont-form-container .btn, .elmont-form-container .wp-block-button__link, .elmont-form-container .header-cta .btn, .elmont-form-container .header-sticky-cta .btn,
.elmont-form-container .loc-actions .btn, .elmont-form-container .hero-cta .btn, .elmont-form-container .submit-row .btn {
  -webkit-appearance:none; appearance:none;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  line-height:1 !important; text-align:center !important; vertical-align:middle;
  gap:8px; font-weight:800; border-radius:999px; padding:12px 18px; border:0;
  cursor:pointer; text-decoration:none !important;
}
.elmont-form-container .btn-primary, .elmont-form-container .wp-block-button__link.is-style-fill, .elmont-form-container .wp-block-button__link:not(.is-style-outline){
  background:linear-gradient(135deg,#F5B300,#ffd75b); color:#161616 !important; border:0 !important;
  box-shadow:0 6px 16px rgba(245,179,0,.35);
}
.elmont-form-container .btn-primary:hover, .elmont-form-container .wp-block-button__link.is-style-fill:hover,
.elmont-form-container .wp-block-button__link:not(.is-style-outline):hover{ transform:translateY(-1px); filter:brightness(1.03); }
.elmont-form-container .btn-outline, .elmont-form-container .wp-block-button__link.is-style-outline{
  background:transparent !important; color:#fff !important;
  border:2px solid rgba(255,255,255,.75) !important;
}
.elmont-form-container .btn-outline:hover, .elmont-form-container .wp-block-button__link.is-style-outline:hover{
  border-color:#fff !important; background:rgba(255,255,255,.08) !important;
}
.elmont-form-container .btn-ghost{ background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.55) !important; }
.elmont-form-container .btn-ghost:hover{ border-color:#fff !important; }

.elmont-form-container .hero-cta, .elmont-form-container .header-cta, .elmont-form-container .loc-actions, .elmont-form-container .submit-row{
  display:flex !important; align-items:center !important; justify-content:center !important;
  flex-wrap:wrap; gap:10px;
}
@media(max-width:820px){
  .elmont-form-container .header-sticky-cta .btn-primary{ width:100%; padding:16px 18px; font-size:1.06rem; }
  .elmont-form-container .loc-actions .btn{ flex:1 1 100%; min-height:44px; }
  .elmont-form-container .hero-cta .btn{ width:100%; max-width:520px; }
  .elmont-form-container .submit-row{ flex-direction:column; gap:12px; }
}
.elmont-form-container button.btn, .elmont-form-container .btn, .elmont-form-container .wp-block-button__link{ font-size:clamp(14px,1.2vw,16px) !important; letter-spacing:.2px; white-space:nowrap; }
.elmont-form-container .wp-block-button{ margin:0; }

/* ================= Header ================= */
.elmont-form-container .site-header{position:sticky;top:0;z-index:60;color:#fff;background:linear-gradient(180deg,#0a3e8a,var(--royal));box-shadow:0 2px 12px rgba(0,0,0,.18)}
.elmont-form-container .site-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;position:relative}
.elmont-form-container .brand{display:flex;align-items:center;gap:12px;min-width:0}
/* WordPress-safe logo sizing (header) */
.elmont-form-container .site-header .brand img, .elmont-form-container .site-header .custom-logo, .elmont-form-container .brand-img{
  height:34px !important; max-height:34px !important; width:auto !important; object-fit:contain;
}
.elmont-form-container .brand-name{font-size:1.05rem;font-weight:900;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Show header CTA only on desktop */
@media(min-width:821px){ .elmont-form-container .header-cta{display:flex !important;} .elmont-form-container .header-sticky-cta{display:none !important;} }
/* Show sticky CTA only on mobile */
@media(max-width:820px){ .elmont-form-container .header-cta{display:none !important;} .elmont-form-container .header-sticky-cta{display:block !important;} }

.elmont-form-container .header-sticky-cta{display:none}
@media(max-width:820px){
  .elmont-form-container .site-header{margin-bottom:66px;}
  .elmont-form-container .site-header .brand img, .elmont-form-container .site-header .custom-logo, .elmont-form-container .brand-img{ height:28px !important; max-height:28px !important; }
  .elmont-form-container .header-sticky-cta{
    position:absolute;left:0;right:0;bottom:-66px;padding:10px 16px;
    background:linear-gradient(180deg,#0f3f89,#0a3a80);box-shadow:0 10px 24px rgba(0,0,0,.18);
  }
  .elmont-form-container .header-sticky-cta .cta-inner{max-width:1200px;margin:0 auto}
  .elmont-form-container .header-sticky-cta .btn-primary{background:linear-gradient(135deg,var(--gold),#ffd75b)}
}

/* Safety: prevent theme image rules from stretching logos */
.elmont-form-container .site-header img, .elmont-form-container .site-footer img{ max-width:100% !important; height:auto; }

/* ================= Location banner ================= */
.elmont-form-container .loc-banner{background:linear-gradient(180deg,#0f3f89,#0A4DA2);color:#fff;position:relative;z-index:61}
@media(max-width:820px){ .elmont-form-container .loc-banner{margin-top:66px} }
.elmont-form-container .loc-inner{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.elmont-form-container .loc-text{font-weight:700;font-size:.95rem;line-height:1.3}
@media(max-width:720px){.elmont-form-container .loc-text{font-size:.9rem}}
.elmont-form-container .geo-pill{display:inline-block;margin-left:8px;background:#15a56c;color:#fff;border-radius:999px;padding:3px 8px;font-size:.78rem;vertical-align:middle}

/* ================= Hero ================= */
.elmont-form-container .hero{
  position:relative;isolation:isolate;overflow:hidden;color:#fff;min-height:64vh;display:grid;place-items:center;text-align:center;padding:80px 18px;
  background: radial-gradient(120% 90% at 70% 10%, rgba(15,79,170,.65), rgba(4,14,40,.95)),
    url('https://images.unsplash.com/photo-1555374018-13a8994ab246?q=80&w=2400&auto=format&fit=crop') center/cover no-repeat fixed;
}
.elmont-form-container .hero::before{
  content:"";position:absolute;inset:-10%;background:
    radial-gradient(35rem 35rem at 20% 20%, rgba(245,179,0,.22), transparent 55%),
    radial-gradient(28rem 28rem at 80% 30%, rgba(48,158,255,.22), transparent 60%),
    radial-gradient(30rem 30rem at 50% 80%, rgba(255,255,255,.10), transparent 65%);
  filter:blur(20px);animation:glow 10s ease-in-out infinite alternate;
}
@keyframes glow{0%{transform:translateY(0)}100%{transform:translateY(-18px)}}
.elmont-form-container .hero .inner{max-width:1100px;margin:0 auto;position:relative}
.elmont-form-container .eyebrow{display:inline-block;font-weight:900;padding:6px 12px;border-radius:999px;background:rgba(230,239,248,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px);margin-bottom:14px}
.elmont-form-container .hero h1{margin:0 0 10px;font-size:clamp(32px,6vw,64px);line-height:1.02;letter-spacing:-.02em;background:linear-gradient(180deg,#fff 60%, #dbe8ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.elmont-form-container .hero p{font-size:clamp(16px,2.2vw,20px);opacity:.98;margin:0 auto 16px;max-width:760px}
.elmont-form-container .nearest{display:inline-flex;gap:8px;align-items:center;margin-top:8px;padding:6px 12px;border-radius:999px;background:rgba(230,239,248,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px);font-weight:700}
.elmont-form-container .hero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.elmont-form-container .trust{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.elmont-form-container .trust .badge{background:rgba(230,239,248,.22);border:1px solid rgba(255,255,255,.28);padding:8px 12px;border-radius:999px;font-weight:700;backdrop-filter: blur(4px)}

/* ================= How it works ================= */
.elmont-form-container .howitworks{background:linear-gradient(180deg,var(--royal),var(--royal-deep));color:#fff;position:relative;overflow:hidden}
.elmont-form-container .howitworks::before,.elmont-form-container .howitworks::after{content:"";position:absolute;width:40rem;height:40rem;border-radius:50%;background:radial-gradient(closest-side, rgba(255,255,255,.12), transparent 70%);filter:blur(12px);opacity:.35;pointer-events:none}
.elmont-form-container .howitworks::before{top:-20rem;left:-10rem;animation:floatA 18s ease-in-out infinite}
.elmont-form-container .howitworks::after{bottom:-22rem;right:-12rem;animation:floatB 22s ease-in-out infinite}
@keyframes floatA{0%{transform:translateY(0)}50%{transform:translateY(20px)}100%{transform:translateY(0)}}
@keyframes floatB{0%{transform:translateY(0)}50%{transform:translateY(-24px)}100%{transform:translateY(0)}}
.elmont-form-container .hiw-head{max-width:860px;margin:0 auto 28px;text-align:center}
.elmont-form-container .hiw-head h2{margin:0 0 10px;font-size:clamp(24px,3.2vw,36px)}
.elmont-form-container .hiw-head p{margin:6px 0;color:#e8f1ff}
.elmont-form-container .timeline{position:relative;max-width:1100px;margin:0 auto}
@media(min-width:900px){
  .elmont-form-container .timeline::before{content:"";position:absolute;top:58px;left:12%;right:12%;height:3px;background-image:linear-gradient(90deg, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 0%);background-size:16px 3px;background-repeat:repeat-x;opacity:.6;animation:dash 1.8s linear infinite}
  @keyframes dash{to{background-position:16px 0}}
}
.elmont-form-container .steps{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.elmont-form-container .steps{grid-template-columns:repeat(3,1fr)}}
.elmont-form-container .step-card{background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid #dbe7fb;border-radius:18px;box-shadow:var(--shadow);padding:22px;position:relative;overflow:hidden;transform:translateY(16px);opacity:0;transition:.6s transform,.6s opacity,.3s box-shadow}
.elmont-form-container .step-card.in-view{transform:none;opacity:1}
.elmont-form-container .step-card:hover{box-shadow:0 14px 38px rgba(10,77,162,.22);transform:translateY(-3px)}
.elmont-form-container .step-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(18rem 18rem at -10% -10%, rgba(245,179,0,.12), transparent 65%)}
.elmont-form-container .step-tag{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#123b86;background:#e9f0ff;border:1px solid #cfe0ff;padding:6px 12px;border-radius:999px;margin-bottom:10px}
.elmont-form-container .step-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(245,179,0,.25)}
.elmont-form-container .step-card h3{margin:6px 0 8px}
.elmont-form-container .step-card p{margin:0;color:#3a4657}

/* ================= Sections / Cards ================= */
.elmont-form-container .section{padding:clamp(28px,6vw,72px) 18px}
.elmont-form-container .wrap{max-width:1200px;margin:0 auto}
.elmont-form-container .grid{display:grid;gap:22px}
@media(min-width:900px){.elmont-form-container .grid-2{grid-template-columns:1.05fr .95fr}}
.elmont-form-container .card{background:var(--light);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #dbe7fb}
.elmont-form-container .card-pad{padding:clamp(18px,2.4vw,28px)}

/* ================= Drawer (form) - UPDATED FOR SCROLLING ================= */
.elmont-form-container .drawer{
  position:fixed;inset:0;display:none;z-index:100;
}
.elmont-form-container .drawer.open{
  display:block;
}
.elmont-form-container .drawer-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.5);animation:fade .18s ease-out;
}
.elmont-form-container .drawer-panel{
  position:absolute;right:0;top:0;height:100%;width:min(720px,100%);
  background:#fff;border-radius:16px 0 0 16px;box-shadow:-12px 0 30px rgba(0,0,0,.28);
  display:flex;flex-direction:column;animation:slideIn .22s ease-out;
  overflow:hidden;
}
@keyframes slideIn{from{transform:translateX(8%);opacity:.6}to{transform:none;opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.elmont-form-container .panel-head{
  padding:18px 16px;border-bottom:1px solid #eef1f6;
  display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#f5f8ff,#fff);
  flex-shrink:0;
}
.elmont-form-container .panel-title{font-weight:800;font-size:1.12rem}
.elmont-form-container .panel-close{margin-left:auto;background:transparent;border:0;font-size:18px;cursor:pointer}

.elmont-form-container .lead-form{
  padding:16px;
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  max-height:calc(100vh - 80px);
}
.elmont-form-container .lead-grid{display:grid;gap:12px}
@media(min-width:720px){.elmont-form-container .lead-grid.two{grid-template-columns:1fr 1fr}}
.elmont-form-container label{font-weight:800;font-size:.95rem}
.elmont-form-container input, .elmont-form-container select, .elmont-form-container textarea{
  width:100%;padding:12px;border-radius:12px;border:1px solid #d6deea;
  background:#fff;font-size:1rem;transition:.15s border-color,.15s box-shadow;
}
.elmont-form-container textarea.big{min-height:120px; resize:vertical}
.elmont-form-container input:focus, .elmont-form-container select:focus, .elmont-form-container textarea:focus{
  outline:none;border-color:var(--royal);box-shadow:var(--ring)
}
.elmont-form-container .error{color:#c5122a;font-size:.85rem;margin-top:4px;display:none}
.elmont-form-container .field.invalid .error{display:block}

/* ================= Legal Consent Text - UPDATED ================= */
.elmont-form-container .legal {
    font-size: .9rem;
    color: #2a3342;
    line-height: 1.5;
    margin-top: 20px;
    padding: 15px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.elmont-form-container .legal input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    flex-shrink: 0;
}

.elmont-form-container .legal-text {
    flex: 1;
    text-align: left;
}

.elmont-form-container .legal a {
    color: #0A4DA2;
    text-decoration: underline;
    font-weight: 600;
}

/* Mobile optimization for legal text */
@media (max-width: 768px) {
    .elmont-form-container .legal {
        font-size: .85rem;
        line-height: 1.4;
        margin-top: 15px;
        padding: 12px;
        gap: 10px;
        display: flex;
        align-items: flex-start;
    }
    
    .elmont-form-container .legal input[type="checkbox"] {
        margin-top: 3px;
        width: 16px;
        height: 16px;
    }
    
    .elmont-form-container .legal-text {
        word-wrap: break-word;
        hyphens: auto;
    }
}

.elmont-form-container .error#consentError {
    margin-top: 8px;
    text-align: left;
}
/* ================= END Legal Consent Text ================= */

.elmont-form-container .submit-row{
  margin-top:25px;
  padding-top:20px;
  border-top:1px solid #eef1f6;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.elmont-form-container .submit-row .btn-primary{
  padding:16px 24px;
  font-size:1.1rem;
  min-width:280px;
}
.elmont-form-container .submit-row .hint{
  color:#5a6475;
  font-size:.9rem;
  max-width:400px;
  line-height:1.4;
}

.elmont-form-container .success{text-align:center;padding:36px 12px}
.elmont-form-container .success .check{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(60% 60% at 40% 40%, #27d48e, #0aa25a);color:#fff;font-size:38px;box-shadow:0 8px 24px rgba(10,162,90,.35)}

/* Custom scrollbar for the form */
.elmont-form-container .lead-form::-webkit-scrollbar {
  width: 6px;
}
.elmont-form-container .lead-form::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}
.elmont-form-container .lead-form::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
.elmont-form-container .lead-form::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* ================= Floating CTA ================= */
.elmont-form-container .floating{position:fixed;right:16px;bottom:16px;z-index:70;transition:.25s transform,.25s bottom}
.elmont-form-container .floating.raise{bottom:88px;}
.elmont-form-container .fab{position:relative;border-radius:999px;padding:16px 20px;font-weight:900;border:0;cursor:pointer;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:10px;color:#fff;background:linear-gradient(135deg,var(--royal),#123b86);animation:float 3.2s ease-in-out infinite;text-decoration:none}
.elmont-form-container .fab:hover{transform:translateY(-2px);filter:brightness(1.06)}
.elmont-form-container .fab.pulse::after{content:"";position:absolute;inset:-8px;border-radius:999px;border:3px solid rgba(10,77,162,.35);animation:pulse 1.7s infinite}
.elmont-form-container .fab::before{content:"";position:absolute;left:-30%;top:-180%;width:70%;height:400%;background:linear-gradient(120deg, rgba(255,255,255,.0) 0%, rgba(255,255,255,.35) 35%, rgba(255,255,255,.0) 70%);transform:rotate(12deg);animation:sheen 4.2s linear infinite;pointer-events:none;border-radius:999px}
@keyframes pulse{0%{transform:scale(.95);opacity:.85}70%{transform:scale(1.15);opacity:0}100%{opacity:0}}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-3px)}100%{transform:translateY(0)}}
.elmont-form-container .fab .phone{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#1a1a1a;font-weight:900}
@media(max-width:820px){.elmont-form-container .floating{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 32px);max-width:520px}.elmont-form-container .fab{justify-content:center;width:100%}}

/* ================= Footer ================= */
.elmont-form-container .site-footer{background:#0b1730;color:#bfc7d6}
.elmont-form-container .site-footer a{color:#e9eefb}
.elmont-form-container .site-footer .wrap{max-width:1200px;margin:0 auto;display:grid;gap:18px;padding:28px 18px}
@media(min-width:900px){.elmont-form-container .site-footer .wrap{grid-template-columns:1fr auto}}
.elmont-form-container .footer-brand{display:flex;align-items:center;gap:12px}
.elmont-form-container .site-footer .footer-brand img, .elmont-form-container .site-footer .custom-logo, .elmont-form-container .footer-logo{
  height:30px !important; max-height:30px !important; width:auto !important; object-fit:contain;
}

/* Success/Error Messages */
.elmont-success-message {
  background: #d4edda;
  color: #155724;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
  border: 1px solid #c3e6cb;
  font-weight: bold;
  text-align: center;
}

.elmont-error-message {
  background: #f8d7da;
  color: #721c24;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
  border: 1px solid #f5c6cb;
  font-weight: bold;
  text-align: center;
}

/* Form submission confirmation modal */
.elmont-confirmation-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.elmont-confirmation-content {
  background: white;
  padding: 40px 30px;
  border-radius: 16px;
  text-align: center;
  max-width: 500px;
  width: 100%;
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.elmont-confirmation-content h3 {
  color: var(--royal);
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.elmont-confirmation-content p {
  color: var(--ink);
  line-height: 1.6;
  margin-bottom: 25px;
  font-size: 1.1rem;
}

.elmont-confirmation-close {
  background: var(--royal);
  color: white;
  border: none;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  font-size: 1rem;
  transition: all 0.3s ease;
  min-width: 120px;
}

.elmont-confirmation-close:hover {
  background: var(--royal-deep);
  transform: translateY(-2px);
}

/* Better form section spacing */
.elmont-form-container .lead-form h3 {
  margin: 30px 0 18px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--light);
  color: var(--royal);
  font-size: 1.3rem;
}

.elmont-form-container .lead-form h3:first-child {
  margin-top: 0;
}