/* ===================================================================
   Air of America Builder — Global Styles
   Class prefix `aoa-` to prevent conflicts with Elementor or theme.
   =================================================================== */

:root{
  --aoa-navy:#0B1F3A;
  --aoa-navy-2:#142B4A;
  --aoa-teal:#1CC8C8;
  --aoa-teal-d:#14A8A8;
  --aoa-white:#FFFFFF;
  --aoa-bg:#F4F7FA;
  --aoa-bg-2:#E8F1F8;
  --aoa-text:#1A2B3C;
  --aoa-muted:#5A6B7D;
  --aoa-line:#D8E2EC;
  --aoa-gold:#F5A623;
  --aoa-shadow:0 12px 40px rgba(11,31,58,.10);
  --aoa-shadow-lg:0 24px 64px rgba(11,31,58,.18);
}

/* Base scope */
.aoa, .aoa *{box-sizing:border-box}
.aoa{font-family:'Open Sans',Arial,sans-serif;color:var(--aoa-text);line-height:1.65}
.aoa h1,.aoa h2,.aoa h3,.aoa h4,.aoa h5{font-family:'Montserrat',Arial,sans-serif;font-weight:800;color:var(--aoa-navy);line-height:1.2;margin:0}
.aoa p{margin:0}
.aoa a{text-decoration:none;color:var(--aoa-teal)}
.aoa img{max-width:100%;display:block;height:auto}
.aoa ul,.aoa ol{margin:0;padding:0}

/* Hide default Elementor canvas margins on AoA pages */
body.elementor-page{margin:0;padding:0}

/* ====== BUTTONS ====== */
.aoa-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;letter-spacing:.3px;padding:16px 28px;border-radius:8px;border:0;cursor:pointer;transition:all .25s ease;white-space:nowrap;text-decoration:none}
.aoa-btn.lg{font-size:16px;padding:18px 34px}
.aoa-btn-teal{background:var(--aoa-teal);color:#fff!important}
.aoa-btn-teal:hover{background:var(--aoa-teal-d);transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,200,200,.35)}
.aoa-btn-navy{background:var(--aoa-navy);color:#fff!important}
.aoa-btn-navy:hover{background:var(--aoa-navy-2);transform:translateY(-2px)}
.aoa-btn-ghost{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.5)}
.aoa-btn-ghost:hover{background:#fff;color:var(--aoa-navy)!important;border-color:#fff}
.aoa-btn-outline{background:transparent;color:var(--aoa-navy)!important;border:2px solid var(--aoa-navy)}
.aoa-btn-outline:hover{background:var(--aoa-navy);color:#fff!important}

/* ====== EYEBROW LABELS ====== */
.aoa-eyebrow{display:inline-block;background:rgba(28,200,200,.12);color:var(--aoa-teal-d);font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:30px;margin-bottom:18px}
.aoa-eyebrow.dark{background:rgba(28,200,200,.18);color:var(--aoa-teal)}
.aoa-bar{width:54px;height:4px;background:var(--aoa-teal);border-radius:2px;margin:0 0 22px}
.aoa-bar.center{margin:0 auto 22px}

/* ====== TOP BAR ====== */
.aoa-topbar{background:var(--aoa-navy);color:rgba(255,255,255,.8);padding:9px 24px;font-size:13.5px}
.aoa-topbar-row{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center}
.aoa-topbar a{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.aoa-topbar a:hover{color:var(--aoa-teal)}

/* ====== HEADER ====== */
.aoa-header{background:#fff;padding:16px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:0;z-index:500;transition:box-shadow .25s,padding .2s,background .2s;will-change:box-shadow,padding}
.aoa-header.is-stuck{box-shadow:0 6px 24px rgba(11,31,58,.12);padding-top:12px;padding-bottom:12px;background:rgba(255,255,255,.98);backdrop-filter:saturate(150%) blur(8px);-webkit-backdrop-filter:saturate(150%) blur(8px)}
.aoa-header-row{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.aoa-logo{display:flex;align-items:center;gap:12px;color:var(--aoa-navy)}
.aoa-logo img{max-height:54px;width:auto}
.aoa-logo-text{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--aoa-navy);font-size:22px;line-height:1;display:flex;flex-direction:column}
.aoa-logo-text small{font-size:11px;font-weight:600;color:var(--aoa-teal-d);letter-spacing:1.2px;text-transform:uppercase;margin-top:4px}
.aoa-nav{display:flex;align-items:center;gap:28px}
.aoa-nav a{color:var(--aoa-navy);font-family:'Montserrat',sans-serif;font-weight:600;font-size:14.5px;transition:color .2s}
.aoa-nav a:hover{color:var(--aoa-teal)}
.aoa-mobile-toggle{display:none;background:none;border:0;font-size:28px;color:var(--aoa-navy);cursor:pointer}

/* ====== HERO ====== */
.aoa-hero{position:relative;color:#fff;padding:90px 0 80px;background:linear-gradient(135deg,#0B1F3A 0%,#102B4D 50%,#0B1F3A 100%);overflow:hidden}
.aoa-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 85% 20%,rgba(28,200,200,.18),transparent 60%),radial-gradient(700px 400px at 15% 90%,rgba(28,200,200,.10),transparent 60%);pointer-events:none}
.aoa-hero-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;max-width:1200px;margin:0 auto;padding:0 24px;align-items:center}
.aoa-hero h1{font-size:60px;color:#fff;font-weight:800;letter-spacing:-1.2px;margin:0 0 22px}
.aoa-hero h1 span{color:var(--aoa-teal)}
.aoa-hero .lead{font-size:19px;color:rgba(255,255,255,.86);line-height:1.6;margin:0 0 30px;max-width:580px}
.aoa-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.aoa-hero-trust{display:flex;flex-wrap:wrap;gap:8px 22px;color:rgba(255,255,255,.85);font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px}
.aoa-hero-trust span{display:inline-flex;align-items:center;gap:6px}
.aoa-hero-trust span::before{content:"✓";color:var(--aoa-teal);font-weight:800}

/* Quote card on hero */
.aoa-quote-card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.35);color:var(--aoa-text)}
.aoa-quote-card h3{color:var(--aoa-navy);font-size:22px;margin:0 0 4px}
.aoa-quote-card .sub{color:var(--aoa-muted);font-size:13px;margin-bottom:18px}
.aoa-quote-card form{display:grid;gap:11px}
.aoa-quote-card input,.aoa-quote-card select,.aoa-quote-card textarea{width:100%;border:1.5px solid var(--aoa-line);border-radius:8px;padding:13px 14px;font-size:15px;font-family:inherit;background:#fff;outline:none;transition:border-color .2s}
.aoa-quote-card input:focus,.aoa-quote-card select:focus,.aoa-quote-card textarea:focus{border-color:var(--aoa-teal)}
.aoa-quote-card textarea{min-height:90px;resize:vertical}
.aoa-quote-card .privacy{font-size:12px;color:var(--aoa-muted);text-align:center;margin-top:10px}

/* ====== TRUST BAR ====== */
.aoa-trustbar{background:var(--aoa-teal);padding:18px 24px}
.aoa-trustbar-row{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-items:center}
.aoa-trustbar-item{display:flex;align-items:center;gap:10px;justify-content:center;color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.aoa-trustbar-item .ico{font-size:20px}

/* ====== SECTION WRAPPER ====== */
.aoa-sec{padding:90px 24px;background:#fff}
.aoa-sec.alt{background:var(--aoa-bg)}
.aoa-sec.dark{background:var(--aoa-navy);color:#fff}
.aoa-sec.dark h2,.aoa-sec.dark h3,.aoa-sec.dark h4{color:#fff}
.aoa-sec.dark p{color:rgba(255,255,255,.78)}
.aoa-wrap{max-width:1200px;margin:0 auto}
.aoa-head{text-align:center;margin-bottom:54px}
.aoa-head h2{font-size:40px;letter-spacing:-.5px;margin:0 0 14px}
.aoa-head p{font-size:17px;color:var(--aoa-muted);max-width:680px;margin:0 auto}
.aoa-sec.dark .aoa-head p{color:rgba(255,255,255,.78)}

/* ====== SERVICES GRID ====== */
.aoa-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.aoa-service{background:#fff;border:1px solid var(--aoa-line);border-radius:14px;padding:32px 28px;transition:all .3s ease;position:relative;overflow:hidden;display:block}
.aoa-service::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--aoa-teal);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.aoa-service:hover{transform:translateY(-6px);box-shadow:var(--aoa-shadow-lg);border-color:transparent}
.aoa-service:hover::before{transform:scaleX(1)}
.aoa-service .ico{width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,#E6F9F9,#C7F0F0);display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:20px}
.aoa-service h3{font-size:20px;margin:0 0 12px;color:var(--aoa-navy)}
.aoa-service p{color:var(--aoa-muted);font-size:15px;line-height:1.65;margin:0 0 18px}
.aoa-service .more{color:var(--aoa-teal);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.6px;display:inline-flex;align-items:center;gap:6px}
.aoa-service .more::after{content:"→";transition:transform .25s}
.aoa-service:hover .more::after{transform:translateX(5px)}

/* ====== WHY US ====== */
.aoa-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.aoa-why-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.aoa-why-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:26px 22px}
.aoa-why-card .ico{width:48px;height:48px;border-radius:12px;background:rgba(28,200,200,.15);color:var(--aoa-teal);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.aoa-why-card h4{font-size:16px;color:#fff;margin:0 0 8px}
.aoa-why-card p{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.6;margin:0}
.aoa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.aoa-stat{text-align:center;padding:22px 14px;background:rgba(255,255,255,.05);border-radius:12px}
.aoa-stat .num{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;color:var(--aoa-teal);line-height:1}
.aoa-stat .lbl{font-size:12px;color:rgba(255,255,255,.7);margin-top:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}

/* ====== SPOTLIGHT ====== */
.aoa-spot{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.aoa-spot-img{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--aoa-navy) 0%,#1a3458 60%,var(--aoa-teal-d) 100%);min-height:480px;box-shadow:var(--aoa-shadow-lg)}
.aoa-spot-img::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(28,200,200,.25),transparent 60%),radial-gradient(circle at 70% 70%,rgba(255,255,255,.08),transparent 50%);pointer-events:none;z-index:1}
.aoa-spot-img img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:block;min-height:480px}
.aoa-spot-img .badge{position:absolute;left:24px;bottom:24px;background:#fff;padding:14px 18px;border-radius:10px;box-shadow:var(--aoa-shadow);display:flex;align-items:center;gap:12px;z-index:3}
.aoa-spot-img .badge .ico{width:42px;height:42px;border-radius:50%;background:var(--aoa-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.aoa-spot-img .badge .txt{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);font-size:13px;line-height:1.3}
.aoa-spot-img.no-image .badge{display:none}
/* When image is missing, collapse the gradient block entirely — no broken-looking placeholder */
.aoa-spot-img.no-image{display:none}
.aoa-spot-img.no-image + *{margin-top:0}
.aoa-checks{margin:24px 0 28px;list-style:none}
.aoa-checks li{list-style:none;display:flex;gap:12px;align-items:flex-start;margin:10px 0;font-size:15.5px;color:var(--aoa-text)}
.aoa-checks li::before{content:"✓";color:var(--aoa-teal);font-weight:800;font-size:18px;flex-shrink:0;margin-top:1px}

/* Process steps */
.aoa-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}
.aoa-step{position:relative;padding:24px;background:#fff;border-radius:12px;border:1px solid var(--aoa-line)}
.aoa-step .num{position:absolute;top:-18px;left:24px;width:42px;height:42px;border-radius:50%;background:var(--aoa-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;box-shadow:0 6px 16px rgba(28,200,200,.4)}
.aoa-step h4{margin:18px 0 10px;font-size:17px;color:var(--aoa-navy)}
.aoa-step p{font-size:14.5px;color:var(--aoa-muted);line-height:1.65}

/* Benefits grid */
.aoa-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px}
.aoa-benefit{padding:28px 22px;background:#fff;border-radius:12px;border:1px solid var(--aoa-line);text-align:center}
.aoa-benefit .ico{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,#E6F9F9,#C7F0F0);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 16px}
.aoa-benefit h4{font-size:17px;margin:0 0 8px;color:var(--aoa-navy)}
.aoa-benefit p{font-size:14px;color:var(--aoa-muted);line-height:1.6}

/* Signs / warning list */
.aoa-signs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.aoa-sign{display:flex;gap:14px;align-items:flex-start;padding:18px;background:#fff;border-radius:10px;border-left:4px solid var(--aoa-gold)}
.aoa-sign .ico{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:rgba(245,166,35,.15);color:var(--aoa-gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.aoa-sign p{font-size:14.5px;color:var(--aoa-text);line-height:1.6;margin:0}
.aoa-sign strong{display:block;color:var(--aoa-navy);font-family:'Montserrat',sans-serif;margin-bottom:3px}

/* ====== PRO PLANS ====== */
.aoa-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.aoa-plan{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:36px 30px;display:flex;flex-direction:column;color:#fff}
.aoa-plan.featured{background:linear-gradient(180deg,var(--aoa-teal),var(--aoa-teal-d));border-color:var(--aoa-teal);box-shadow:0 24px 60px rgba(28,200,200,.32);transform:scale(1.03);position:relative}
.aoa-plan.featured .badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--aoa-gold);color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:11px;letter-spacing:1.2px;padding:6px 18px;border-radius:30px;text-transform:uppercase}
.aoa-plan .tier{font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;font-size:13px;color:var(--aoa-teal);margin-bottom:14px}
.aoa-plan.featured .tier{color:rgba(255,255,255,.8)}
.aoa-plan .price{font-family:'Montserrat',sans-serif;font-size:46px;font-weight:800;line-height:1}
.aoa-plan .price small{font-size:18px;font-weight:400}
.aoa-plan .billing{font-size:13px;color:rgba(255,255,255,.6);margin:6px 0 24px}
.aoa-plan.featured .billing{color:rgba(255,255,255,.78)}
.aoa-plan ul{list-style:none;padding:0;margin:0 0 26px;flex:1}
.aoa-plan ul li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:14.5px;color:rgba(255,255,255,.88)}
.aoa-plan ul li::before{content:"✓";color:var(--aoa-teal);font-weight:800;flex-shrink:0}
.aoa-plan.featured ul li::before{color:#fff}

/* ====== AREAS ====== */
.aoa-areas-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.aoa-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 28px}
.aoa-pill{background:var(--aoa-navy);color:#fff;padding:10px 18px;border-radius:30px;font-weight:700;font-size:14px;font-family:'Montserrat',sans-serif;text-decoration:none;transition:all .2s}
.aoa-pill:hover{background:var(--aoa-teal);color:#fff;transform:translateY(-2px)}
.aoa-pill.alt{background:#fff;color:var(--aoa-navy);border:1.5px solid var(--aoa-line)}
.aoa-pill.alt:hover{background:var(--aoa-teal);color:#fff;border-color:var(--aoa-teal)}
.aoa-map{border-radius:16px;overflow:hidden;box-shadow:var(--aoa-shadow);min-height:420px;background:#E8F1F8}
.aoa-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}

/* City cards on Service Areas page */
.aoa-cities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.aoa-city{background:#fff;border-radius:14px;border:1px solid var(--aoa-line);padding:26px 22px;transition:all .3s;display:block;text-decoration:none;color:inherit}
.aoa-city:hover{transform:translateY(-4px);box-shadow:var(--aoa-shadow);border-color:var(--aoa-teal)}
.aoa-city .ico{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,#E6F9F9,#C7F0F0);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}
.aoa-city h4{font-size:18px;color:var(--aoa-navy);margin:0 0 6px}
.aoa-city p{font-size:13.5px;color:var(--aoa-muted);line-height:1.55}

/* ====== TESTIMONIALS ====== */
.aoa-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.aoa-review{background:#fff;border-radius:14px;padding:30px 28px;box-shadow:var(--aoa-shadow);position:relative;border-left:4px solid var(--aoa-teal)}
.aoa-review .stars{color:var(--aoa-gold);font-size:18px;margin-bottom:12px;letter-spacing:2px}
.aoa-review p{font-style:italic;color:var(--aoa-muted);font-size:15.5px;line-height:1.75;margin:0 0 20px}
.aoa-review .who{display:flex;align-items:center;gap:14px;border-top:1px solid var(--aoa-line);padding-top:16px}
.aoa-review .av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--aoa-teal),var(--aoa-teal-d));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Montserrat',sans-serif}
.aoa-review .name{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);font-size:14.5px;line-height:1.2}
.aoa-review .city{color:var(--aoa-muted);font-size:13px;margin-top:3px}

/* ====== FAQ ====== */
.aoa-faq{max-width:860px;margin:0 auto}
.aoa-faq details{background:#fff;border:1px solid var(--aoa-line);border-radius:10px;margin-bottom:12px;overflow:hidden;transition:all .25s}
.aoa-faq details[open]{border-color:var(--aoa-teal);box-shadow:var(--aoa-shadow)}
.aoa-faq summary{padding:20px 24px;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.aoa-faq summary::-webkit-details-marker{display:none}
.aoa-faq summary::after{content:"+";font-size:24px;color:var(--aoa-teal);transition:transform .2s;flex-shrink:0;font-weight:300}
.aoa-faq details[open] summary::after{content:"−"}
.aoa-faq .ans{padding:0 24px 22px;color:var(--aoa-muted);font-size:15px;line-height:1.75}

/* ====== FINAL CTA ====== */
.aoa-finalcta{padding:70px 24px;background:linear-gradient(135deg,var(--aoa-navy) 0%,var(--aoa-navy-2) 60%,var(--aoa-teal) 200%);color:#fff;border-radius:0}
.aoa-finalcta-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center}
.aoa-finalcta h2{color:#fff;font-size:34px;margin:0 0 12px}
.aoa-finalcta p{color:rgba(255,255,255,.85);font-size:17px;margin:0}
.aoa-finalcta-btns{display:flex;flex-direction:column;gap:12px}
.aoa-finalcta-btns .aoa-btn{width:100%}

/* ====== CONTACT ====== */
.aoa-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.aoa-contact-info{display:flex;flex-direction:column;gap:18px}
.aoa-info-card{padding:24px;background:#fff;border-radius:12px;border:1px solid var(--aoa-line);display:flex;gap:18px;align-items:flex-start}
.aoa-info-card .ico{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,#E6F9F9,#C7F0F0);color:var(--aoa-teal-d);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.aoa-info-card h4{margin:0 0 6px;font-size:17px;color:var(--aoa-navy)}
.aoa-info-card p{font-size:14.5px;color:var(--aoa-muted);margin:0;line-height:1.6}
.aoa-info-card a{color:var(--aoa-teal-d);font-weight:700}

/* ====== FOOTER ====== */
.aoa-footer{background:#06142A;color:rgba(255,255,255,.7);padding:64px 24px 24px}
.aoa-footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.aoa-footer h5{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.aoa-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.aoa-footer ul li{list-style:none}
.aoa-footer ul a{color:rgba(255,255,255,.62);font-size:14px;transition:color .2s}
.aoa-footer ul a:hover{color:var(--aoa-teal)}
.aoa-footer .brand-line{font-family:'Montserrat',sans-serif;font-weight:800;color:#fff;font-size:22px;margin-bottom:10px}
.aoa-footer .tag{font-size:14px;line-height:1.7;margin-bottom:18px}
.aoa-footer .ph{display:inline-block;color:var(--aoa-teal);font-family:'Montserrat',sans-serif;font-weight:800;font-size:20px;margin-bottom:4px}
.aoa-footer-bottom{max-width:1200px;margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:rgba(255,255,255,.5)}

/* ====== STICKY MOBILE CALL BTN ====== */
.aoa-stickycall{display:none;position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--aoa-teal);color:#fff!important;text-align:center;padding:16px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;letter-spacing:.5px;box-shadow:0 -6px 24px rgba(0,0,0,.2);text-decoration:none}
.aoa-stickycall:hover{background:var(--aoa-teal-d)}

/* ====== FLOATING CHAT BTN ====== */
/* Floating chat trigger — circular brand button, turquoise bg + navy border + navy icon */
.aoa-floatchat{
  position:fixed;right:20px;bottom:90px;z-index:9998;
  width:62px;height:62px;border-radius:50%;
  background:var(--aoa-teal)!important;
  background-color:var(--aoa-teal)!important;
  color:var(--aoa-navy)!important;
  border:2.5px solid var(--aoa-navy)!important;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;outline:none!important;
  box-shadow:0 14px 32px rgba(28,200,200,.4),0 4px 10px rgba(11,31,58,.2);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .2s,box-shadow .25s,border-color .2s;
  text-decoration:none;
  animation:aoa-fc-pop .35s cubic-bezier(.34,1.56,.64,1);
  -webkit-appearance:none;appearance:none;
}
.aoa-floatchat:hover,
.aoa-floatchat:focus,
.aoa-floatchat:focus-visible{
  background:var(--aoa-teal-d)!important;
  background-color:var(--aoa-teal-d)!important;
  color:var(--aoa-navy)!important;
  border-color:var(--aoa-navy)!important;
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 18px 40px rgba(28,200,200,.5),0 6px 14px rgba(11,31,58,.22);
  outline:none!important;
}
.aoa-floatchat:active{
  transform:translateY(-1px) scale(.98);
  background:var(--aoa-teal-d)!important;
  color:var(--aoa-navy)!important;
}
.aoa-floatchat-icon{display:flex;align-items:center;justify-content:center;transition:transform .3s;color:var(--aoa-navy)}
.aoa-floatchat-icon svg{stroke:var(--aoa-navy)!important;color:var(--aoa-navy)!important}
.aoa-floatchat:hover .aoa-floatchat-icon{transform:rotate(-8deg)}
.aoa-floatchat.open{
  background:var(--aoa-navy)!important;
  background-color:var(--aoa-navy)!important;
  color:#fff!important;
  border-color:var(--aoa-navy)!important;
}
.aoa-floatchat.open .aoa-floatchat-icon,
.aoa-floatchat.open .aoa-floatchat-icon svg{stroke:#fff!important;color:#fff!important;transform:rotate(180deg)}
@keyframes aoa-fc-pop{
  from{opacity:0;transform:scale(.5) translateY(20px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}

/* ====== RESPONSIVE ====== */
@media(max-width:991px){
  .aoa-hero h1{font-size:44px}
  .aoa-hero-grid,.aoa-why-grid,.aoa-spot,.aoa-areas-grid,.aoa-finalcta-grid,.aoa-contact-grid{grid-template-columns:1fr;gap:40px}
  .aoa-services{grid-template-columns:repeat(2,1fr)}
  .aoa-plans{grid-template-columns:1fr;gap:18px}
  .aoa-plan.featured{transform:none}
  .aoa-trustbar-row{grid-template-columns:repeat(3,1fr);gap:14px}
  .aoa-reviews{grid-template-columns:1fr}
  .aoa-stats{grid-template-columns:repeat(2,1fr)}
  .aoa-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .aoa-cities{grid-template-columns:repeat(2,1fr)}
  .aoa-steps{grid-template-columns:repeat(2,1fr)}
  .aoa-benefits{grid-template-columns:repeat(2,1fr)}
  .aoa-signs{grid-template-columns:1fr}
  .aoa-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:20px;gap:14px;box-shadow:0 8px 24px rgba(0,0,0,.1)}
  .aoa-nav.open{display:flex}
  .aoa-mobile-toggle{display:block}
  .aoa-header-cta{display:none}
  .aoa-head h2{font-size:32px}
}
@media(max-width:600px){
  .aoa-hero{padding:60px 0 50px}
  .aoa-hero h1{font-size:34px;letter-spacing:-.5px}
  .aoa-hero .lead{font-size:16.5px}
  .aoa-sec{padding:60px 20px}
  .aoa-services{grid-template-columns:1fr}
  .aoa-cities{grid-template-columns:1fr}
  .aoa-stats,.aoa-trustbar-row{grid-template-columns:repeat(2,1fr)}
  .aoa-footer-grid{grid-template-columns:1fr}
  .aoa-stickycall{display:block}
  body.elementor-page{padding-bottom:62px}
  .aoa-floatchat{bottom:78px}
  .aoa-finalcta h2{font-size:26px}
  .aoa-head h2{font-size:26px}
  .aoa-spot-img{min-height:300px}
  .aoa-spot-img img{min-height:300px}
  .aoa-steps,.aoa-benefits{grid-template-columns:1fr}
  .aoa-topbar-row{flex-direction:column;gap:6px;text-align:center;font-size:12.5px}
  .aoa-topbar-row > div:first-child{order:2}
  .aoa-quote-card{padding:22px}
}

/* =================================================================
   FIX PACK v1.1 — Form buttons, dropdown nav, chat widget, focus
   ================================================================= */

/* Form submit buttons — guaranteed brand colors, override theme defaults */
.aoa-quote-card button,
.aoa-quote-card button[type="submit"],
.aoa-quote-card input[type="submit"],
.aoa form button,
.aoa form button[type="submit"],
.aoa form input[type="submit"],
.aoa-chat-form button[type="submit"]{
  background:var(--aoa-navy)!important;
  background-color:var(--aoa-navy)!important;
  background-image:none!important;
  color:#fff!important;
  border:0!important;
  border-color:transparent!important;
  font-family:'Montserrat',sans-serif!important;
  font-weight:700!important;
  font-size:16px!important;
  padding:16px!important;
  border-radius:8px!important;
  cursor:pointer!important;
  transition:all .25s ease!important;
  letter-spacing:.3px!important;
  width:100%!important;
  text-shadow:none!important;
  box-shadow:none;
  text-decoration:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  line-height:1.2!important;
}
.aoa-quote-card button:hover,
.aoa-quote-card button[type="submit"]:hover,
.aoa-quote-card button:focus,
.aoa-quote-card button[type="submit"]:focus,
.aoa form button:hover,
.aoa form button[type="submit"]:hover,
.aoa form button:focus,
.aoa form button[type="submit"]:focus,
.aoa form input[type="submit"]:hover,
.aoa-chat-form button[type="submit"]:hover{
  background:var(--aoa-teal)!important;
  background-color:var(--aoa-teal)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(28,200,200,.35)!important;
  outline:0!important;
  border-color:transparent!important;
}
.aoa-quote-card button:active,
.aoa form button:active,
.aoa form input[type="submit"]:active{
  background:var(--aoa-teal-d)!important;
  background-color:var(--aoa-teal-d)!important;
  transform:translateY(0);
}

/* Strip browser/theme red focus + invalid colors inside AoA scope */
.aoa input,.aoa select,.aoa textarea,.aoa button{outline:none}
.aoa input:focus,.aoa select:focus,.aoa textarea:focus{
  border-color:var(--aoa-teal)!important;
  box-shadow:0 0 0 3px rgba(28,200,200,.20)!important;
  outline:0!important;
}
.aoa input:invalid,.aoa select:invalid,.aoa textarea:invalid,
.aoa input:required,.aoa select:required,.aoa textarea:required{
  box-shadow:none;
  outline:none;
}
.aoa a:focus,.aoa button:focus,.aoa-btn:focus{
  outline:0;
  box-shadow:0 0 0 3px rgba(28,200,200,.30);
}
.aoa ::selection{background:rgba(28,200,200,.25);color:var(--aoa-navy)}

/* ====== HEADER NAV DROPDOWN ====== */
.aoa-nav .aoa-dropdown{position:relative}
/* Extend trigger hover area downward so cursor can reach dropdown without losing :hover */
.aoa-dropdown{padding-bottom:14px;margin-bottom:-14px}
.aoa-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.aoa-dropdown-toggle::after{content:"▾";font-size:11px;transition:transform .2s;line-height:1}
.aoa-dropdown.open > .aoa-dropdown-toggle::after,
.aoa-dropdown:hover > .aoa-dropdown-toggle::after{transform:rotate(180deg)}
.aoa-dropdown-menu{
  position:absolute;top:100%;left:0;
  min-width:260px;background:#fff;
  border-radius:10px;
  box-shadow:0 16px 40px rgba(11,31,58,.18);
  padding:8px;display:none;z-index:9999;margin-top:0;
  border:1px solid var(--aoa-line);
}
/* Invisible bridge to keep hover continuous between trigger and menu */
.aoa-dropdown-menu::before{
  content:"";position:absolute;left:0;right:0;top:-14px;height:14px;
  background:transparent;
}
.aoa-dropdown:hover > .aoa-dropdown-menu,
.aoa-dropdown:focus-within > .aoa-dropdown-menu,
.aoa-dropdown.open > .aoa-dropdown-menu{display:block;animation:aoa-fade-up .18s ease}
.aoa-dropdown-menu a{
  display:block;padding:10px 14px;
  color:var(--aoa-navy)!important;
  font-family:'Montserrat',sans-serif;
  font-size:14px;font-weight:600;
  border-radius:6px;
  transition:all .15s;
}
.aoa-dropdown-menu a:hover,.aoa-dropdown-menu a:focus{
  background:var(--aoa-bg);
  color:var(--aoa-teal-d)!important;
}

@media(max-width:991px){
  .aoa-dropdown-menu{
    position:static;box-shadow:none;border:0;
    background:transparent;padding-left:14px;
    margin-top:4px;min-width:0;
  }
  .aoa-dropdown.open > .aoa-dropdown-menu{display:block}
  .aoa-dropdown-menu a{padding:8px 10px;font-size:13.5px;color:var(--aoa-navy)!important}
  .aoa-dropdown-menu a:hover{background:rgba(28,200,200,.08)}
}

/* ====== CHOICE PANEL (Call / Chat) ====== */
.aoa-choice-panel{
  position:fixed;right:18px;bottom:160px;
  background:#fff;border-radius:14px;
  box-shadow:0 24px 60px rgba(11,31,58,.25);
  padding:16px;min-width:260px;
  display:none;z-index:9998;
  border:1px solid var(--aoa-line);
}
.aoa-choice-panel.open{display:block;animation:aoa-fade-up .2s ease}
.aoa-choice-panel .ttl{
  font-family:'Montserrat',sans-serif;font-weight:700;
  color:var(--aoa-navy);font-size:14px;margin-bottom:12px;
  text-align:center;
}
.aoa-choice-panel .opt{
  display:flex;align-items:center;gap:10px;
  width:100%;padding:12px 14px;margin-bottom:8px;
  background:#fff;border:1.5px solid var(--aoa-line);
  border-radius:8px;text-align:left;
  font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:14px;color:var(--aoa-navy);
  cursor:pointer;transition:all .2s;
  text-decoration:none;
}
.aoa-choice-panel .opt:last-child{margin-bottom:0}
.aoa-choice-panel .opt:hover{
  border-color:var(--aoa-teal);
  background:var(--aoa-bg);
  color:var(--aoa-teal-d);
  transform:translateY(-1px);
}
.aoa-choice-panel .opt .ico{font-size:18px}

/* ====== CHAT WIDGET ====== */
.aoa-chat{
  position:fixed;right:18px;bottom:88px;
  width:380px;max-width:calc(100vw - 36px);
  height:600px;max-height:calc(100vh - 130px);
  background:#fff;border-radius:16px;
  box-shadow:0 32px 80px rgba(11,31,58,.30);
  display:none;flex-direction:column;
  z-index:9999;overflow:hidden;
  border:1px solid var(--aoa-line);
}
.aoa-chat.open{display:flex;animation:aoa-fade-up .25s ease}

.aoa-chat-header{
  background:linear-gradient(135deg,var(--aoa-navy) 0%,var(--aoa-teal-d) 100%);
  color:#fff;padding:16px 18px;
  display:flex;align-items:center;gap:12px;
}
.aoa-chat-avatar{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;
  border:2px solid rgba(255,255,255,.30);
  flex-shrink:0;
}
.aoa-chat-meta{flex:1;min-width:0}
.aoa-chat-title{
  font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:15px;line-height:1.2;color:#fff;
}
.aoa-chat-sub{
  font-size:12px;opacity:.85;margin-top:2px;
  display:flex;align-items:center;gap:6px;
}
.aoa-chat-sub::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:#3DDB7E;display:inline-block;
  box-shadow:0 0 0 2px rgba(61,219,126,.3);
}
.aoa-chat-close{
  background:transparent;border:0;color:#fff;
  font-size:22px;cursor:pointer;line-height:1;
  opacity:.85;padding:4px 8px;
}
.aoa-chat-close:hover{opacity:1}

.aoa-chat-body{
  flex:1;overflow-y:auto;
  padding:16px;background:var(--aoa-bg);
  display:flex;flex-direction:column;gap:10px;
}
.aoa-chat-body::-webkit-scrollbar{width:6px}
.aoa-chat-body::-webkit-scrollbar-thumb{background:var(--aoa-line);border-radius:3px}

.aoa-chat-msg{
  max-width:85%;padding:10px 14px;
  border-radius:14px;font-size:14px;
  line-height:1.55;animation:aoa-fade-up .2s ease;
}
.aoa-chat-msg.bot{
  background:#fff;color:var(--aoa-text);
  border-bottom-left-radius:4px;align-self:flex-start;
  box-shadow:0 2px 8px rgba(11,31,58,.05);
}
.aoa-chat-msg.user{
  background:var(--aoa-teal);color:#fff;
  border-bottom-right-radius:4px;align-self:flex-end;
}

.aoa-chat-options{
  display:flex;flex-wrap:wrap;gap:6px;
  margin:6px 0;align-self:flex-start;max-width:100%;
}
.aoa-chat-option{
  background:#fff;border:1.5px solid var(--aoa-line);
  border-radius:18px;padding:7px 14px;
  font-size:13px;font-family:'Montserrat',sans-serif;
  font-weight:600;color:var(--aoa-navy);
  cursor:pointer;transition:all .18s;
}
.aoa-chat-option:hover,.aoa-chat-option:focus{
  border-color:var(--aoa-teal);
  background:var(--aoa-teal);
  color:#fff;outline:0;
}

.aoa-chat-form{
  padding:14px;background:#fff;
  border-top:1px solid var(--aoa-line);
  display:none;
}
.aoa-chat-form.show{display:block}
.aoa-chat-form input{
  width:100%;padding:11px 13px;
  border:1.5px solid var(--aoa-line);
  border-radius:8px;font-size:14px;
  margin-bottom:8px;outline:none;
  font-family:'Open Sans',sans-serif;
  transition:border-color .2s;
}
.aoa-chat-form input:focus{
  border-color:var(--aoa-teal);
  box-shadow:0 0 0 3px rgba(28,200,200,.20);
}
.aoa-chat-form button{
  width:100%;padding:12px;
  background:var(--aoa-navy);color:#fff;
  border:0;border-radius:8px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:14px;
  cursor:pointer;transition:all .2s;
}
.aoa-chat-form button:hover{
  background:var(--aoa-teal);
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(28,200,200,.3);
}

.aoa-chat-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--aoa-teal);color:#fff!important;
  padding:10px 18px;border-radius:8px;
  font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:14px;margin-top:6px;
  text-decoration:none;align-self:flex-start;
  transition:all .2s;
}
.aoa-chat-cta:hover{background:var(--aoa-teal-d);transform:translateY(-1px)}

@keyframes aoa-fade-up{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:600px){
  .aoa-chat{
    right:8px;left:8px;width:auto;
    bottom:78px;height:auto;
    max-height:calc(100vh - 100px);
    min-height:480px;
  }
  .aoa-choice-panel{
    right:8px;left:auto;bottom:140px;
    min-width:220px;
  }
  .aoa-floatchat{font-size:13px;padding:12px 18px}
}

/* =================================================================
   v1.2.0 — HERO SHIM
   Hero section migrated from 1 HTML widget → 6 native widgets.
   These rules make Elementor's wrapper structure render pixel-identical
   to the old hero. ZERO existing rules above are changed.
   ================================================================= */

/* The Elementor section itself now wears .aoa-hero — full bg+padding via existing rule. */
/* Inner Elementor container needs to match the old .aoa-hero-grid layout. */
.elementor-section.aoa-hero{position:relative}
.elementor-section.aoa-hero > .elementor-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  align-items:center;
  position:relative;
  z-index:1;
  gap:60px;
}

/* H1 inside Elementor heading widget — match the old .aoa-hero h1 */
.aoa-hero .elementor-widget-heading h1.elementor-heading-title{
  font-family:'Montserrat',sans-serif;
  font-size:60px;
  font-weight:800;
  color:#fff;
  letter-spacing:-1.2px;
  line-height:1.1;
  margin:0 0 22px;
}
.aoa-hero .elementor-widget-heading h1.elementor-heading-title span{color:var(--aoa-teal)}

/* Lead paragraph inside Elementor text-editor — match the old .aoa-hero .lead */
.aoa-hero .elementor-widget-text-editor{margin-bottom:30px}
.aoa-hero .elementor-widget-text-editor p{
  font-size:19px;
  color:rgba(255,255,255,.86);
  line-height:1.6;
  margin:0;
  max-width:580px;
}

/* Buttons — match old .aoa-btn / .aoa-btn-teal / .aoa-btn-ghost */
.aoa-hero .elementor-widget-button{display:inline-block;margin:0 14px 14px 0}
.aoa-hero .elementor-widget-button .elementor-button-wrapper{display:inline-block}
.aoa-hero .elementor-widget-button .elementor-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:'Montserrat',sans-serif!important;
  font-weight:700!important;
  font-size:16px!important;
  letter-spacing:.3px!important;
  padding:18px 34px!important;
  border-radius:8px!important;
  border:0!important;
  text-decoration:none!important;
  transition:all .25s ease!important;
  white-space:nowrap;
  line-height:1.2;
}
.aoa-hero .elementor-widget-button.aoa-btn-teal .elementor-button{
  background:var(--aoa-teal)!important;color:#fff!important;
}
.aoa-hero .elementor-widget-button.aoa-btn-teal .elementor-button:hover{
  background:var(--aoa-teal-d)!important;color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(28,200,200,.35);
}
.aoa-hero .elementor-widget-button.aoa-btn-ghost .elementor-button{
  background:transparent!important;color:#fff!important;
  border:2px solid rgba(255,255,255,.5)!important;
}
.aoa-hero .elementor-widget-button.aoa-btn-ghost .elementor-button:hover{
  background:#fff!important;color:var(--aoa-navy)!important;
  border-color:#fff!important;
}

/* Trust line + eyebrow are normal HTML widgets — already styled by existing .aoa-eyebrow + .aoa-hero-trust rules. */
/* Just ensure widgets stack with correct rhythm */
.aoa-hero .elementor-widget-html + .elementor-widget-heading{margin-top:0}
.aoa-hero .aoa-hero-trust{margin-top:0}

/* Quote form card column — preserve the floating card look */
.aoa-hero .elementor-widget-html .aoa-quote-card{margin:0}

/* Mobile breakpoints */
@media(max-width:991px){
  .elementor-section.aoa-hero > .elementor-container{
    flex-direction:column!important;
    gap:40px;
  }
  .elementor-section.aoa-hero > .elementor-container > .elementor-column{
    width:100%!important;
  }
  .aoa-hero .elementor-widget-heading h1.elementor-heading-title{
    font-size:44px;letter-spacing:-.6px;
  }
}
@media(max-width:600px){
  .aoa-hero .elementor-widget-heading h1.elementor-heading-title{
    font-size:34px;letter-spacing:-.5px;
  }
  .aoa-hero .elementor-widget-text-editor p{font-size:16.5px}
  .aoa-hero .elementor-widget-button .elementor-button{
    font-size:15px!important;padding:16px 24px!important;
  }
}

/* =================================================================
   v1.3.0 — SECTION SHIMS for Services / Why Us / Spotlight / Pro Plans /
   Service Areas / Reviews / FAQ / Final CTA
   Goal: Elementor's native widgets render pixel-identical to old HTML.
   ================================================================= */

/* Common: any AoA section that already has .aoa-sec gets bg/padding from existing rules.
   Inner Elementor container needs constrained width + center alignment. */
.elementor-section.aoa-sec > .elementor-container,
.elementor-section.aoa-finalcta-section > .elementor-container{
  max-width:1200px;margin:0 auto;padding:0 24px;position:relative;align-items:center;
}

/* Section-level H2 inside Elementor heading widget — match .aoa-head h2 (40px) */
.elementor-section .elementor-widget-heading.aoa-h2-section h2.elementor-heading-title,
.elementor-section .elementor-widget-heading.aoa-h2-section .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:40px;font-weight:800;
  color:var(--aoa-navy);line-height:1.2;letter-spacing:-.5px;
  margin:0 0 14px;text-align:center;
}
.elementor-section .elementor-widget-heading.aoa-h2-light h2.elementor-heading-title{color:#fff}

/* Section lead paragraph — match .aoa-head p (17px muted) */
.elementor-section .elementor-widget-text-editor.aoa-section-lead p{
  font-size:17px;color:var(--aoa-muted);max-width:680px;margin:0 auto;text-align:center;line-height:1.65;
}
.elementor-section .elementor-widget-text-editor.aoa-section-lead-dark p{color:rgba(255,255,255,.78)}

/* Native Elementor button → match .aoa-btn family. Class on the WIDGET wrapper. */
.elementor-widget-button.aoa-btn-elem .elementor-button-wrapper{display:inline-block}
.elementor-widget-button.aoa-btn-elem{display:inline-block;margin:0 14px 14px 0}
.elementor-widget-button.aoa-btn-elem .elementor-button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  font-family:'Montserrat',sans-serif!important;font-weight:700!important;
  font-size:15px!important;letter-spacing:.3px!important;
  padding:16px 28px!important;border-radius:8px!important;
  border:0!important;text-decoration:none!important;
  transition:all .25s ease!important;white-space:nowrap;line-height:1.2;
}
.elementor-widget-button.aoa-btn-elem.aoa-btn-teal .elementor-button{background:var(--aoa-teal)!important;color:#fff!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-teal .elementor-button:hover{background:var(--aoa-teal-d)!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,200,200,.35)}
.elementor-widget-button.aoa-btn-elem.aoa-btn-navy .elementor-button{background:var(--aoa-navy)!important;color:#fff!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-navy .elementor-button:hover{background:var(--aoa-navy-2)!important;transform:translateY(-2px)}
.elementor-widget-button.aoa-btn-elem.aoa-btn-ghost .elementor-button{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.5)!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-ghost .elementor-button:hover{background:#fff!important;color:var(--aoa-navy)!important;border-color:#fff!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-outline .elementor-button{background:transparent!important;color:var(--aoa-navy)!important;border:2px solid var(--aoa-navy)!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-outline .elementor-button:hover{background:var(--aoa-navy)!important;color:#fff!important}
.elementor-widget-button.aoa-btn-elem.aoa-btn-block{display:block;margin:0 0 12px}
.elementor-widget-button.aoa-btn-elem.aoa-btn-block .elementor-button-wrapper,
.elementor-widget-button.aoa-btn-elem.aoa-btn-block .elementor-button{width:100%}

/* ---- WHY US section ---- */
.elementor-section.aoa-why-section{position:relative}
.elementor-section.aoa-why-section > .elementor-container{
  max-width:1200px;align-items:center;gap:60px;padding:0 24px;
}
.aoa-why-section .elementor-widget-heading.aoa-h2-why h2.elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:38px;font-weight:800;
  color:#fff;line-height:1.25;margin:0 0 18px;letter-spacing:-.4px;
}
.aoa-why-section .elementor-widget-text-editor.aoa-why-lead p{
  color:rgba(255,255,255,.78);font-size:16px;line-height:1.65;margin:0 0 18px;
}
.aoa-why-section .elementor-widget-text-editor.aoa-why-lead p:last-child{margin:0 0 28px}

/* ---- SPOTLIGHT section ---- */
.elementor-section.aoa-spot-section > .elementor-container{
  max-width:1200px;align-items:center;gap:60px;padding:0 24px;
}
/* Image widget styled as the rounded card frame */
.aoa-spot-img-column .elementor-widget-image{
  position:relative;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,var(--aoa-navy) 0%,#1a3458 60%,var(--aoa-teal-d) 100%);
  box-shadow:var(--aoa-shadow-lg);min-height:480px;
}
.aoa-spot-img-column .elementor-widget-image::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%,rgba(28,200,200,.25),transparent 60%);
  pointer-events:none;z-index:1;
}
.aoa-spot-img-column .elementor-widget-image img{
  position:relative;z-index:2;width:100%;height:480px;object-fit:cover;display:block;border-radius:16px;
}
/* Floating NADCA badge overlay */
.aoa-spot-img-column{position:relative}
.aoa-spot-badge-floating{position:absolute;left:24px;bottom:24px;z-index:5}
.aoa-spot-badge-floating .badge{
  background:#fff;padding:14px 18px;border-radius:10px;
  box-shadow:var(--aoa-shadow);display:flex;align-items:center;gap:12px;
}
.aoa-spot-badge-floating .badge .ico{
  width:42px;height:42px;border-radius:50%;background:var(--aoa-teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;
}
.aoa-spot-badge-floating .badge .txt{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);font-size:13px;line-height:1.3;
}

.aoa-spot-section .elementor-widget-heading.aoa-h2-spot h2.elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;
  color:var(--aoa-navy);line-height:1.25;margin:0 0 16px;
}
.aoa-spot-section .elementor-widget-text-editor.aoa-spot-lead p{
  font-size:16.5px;color:var(--aoa-muted);line-height:1.7;margin:0 0 18px;
}
/* Icon List as the 4 ✓ checks — match .aoa-checks */
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-items{margin:24px 0 28px}
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-item{margin:10px 0;padding:0}
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-icon{margin-right:12px}
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-icon i,
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-icon svg{
  color:var(--aoa-teal)!important;fill:var(--aoa-teal)!important;
  font-size:18px!important;font-weight:800;
}
.elementor-widget-icon-list.aoa-spot-checks .elementor-icon-list-text{
  font-size:15.5px;color:var(--aoa-text);line-height:1.55;
}

/* ---- SERVICE AREAS section ---- */
.elementor-section.aoa-areas-section > .elementor-container{
  max-width:1200px;align-items:center;gap:60px;padding:0 24px;
}
.aoa-areas-section .elementor-widget-heading.aoa-h2-areas h2.elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;
  color:var(--aoa-navy);line-height:1.25;margin:0 0 16px;
}
.aoa-areas-section .elementor-widget-text-editor.aoa-areas-lead p{
  font-size:16.5px;color:var(--aoa-muted);line-height:1.7;margin:0 0 24px;
}
.aoa-areas-pills-block{margin-bottom:28px}
.aoa-areas-label{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);
  font-size:14px;text-transform:uppercase;letter-spacing:.6px;
  margin-bottom:8px;
}
.aoa-areas-pills-block .aoa-pills{margin:8px 0 18px}
.aoa-areas-map-widget{border-radius:16px;overflow:hidden;box-shadow:var(--aoa-shadow);min-height:420px}
.aoa-areas-map-widget iframe{min-height:420px;border-radius:16px}

/* ---- FAQ Accordion widget ---- */
.aoa-faq-section{padding-top:90px;padding-bottom:90px}
.elementor-widget-accordion.aoa-faq-accordion{max-width:860px;margin:0 auto}
.elementor-widget-accordion.aoa-faq-accordion .elementor-accordion-item{
  background:#fff;border:1px solid var(--aoa-line)!important;border-radius:10px!important;
  margin-bottom:12px;overflow:hidden;transition:all .25s;
}
.elementor-widget-accordion.aoa-faq-accordion .elementor-accordion-item:has(.elementor-active),
.elementor-widget-accordion.aoa-faq-accordion .elementor-active{
  border-color:var(--aoa-teal)!important;box-shadow:var(--aoa-shadow);
}
.elementor-widget-accordion.aoa-faq-accordion .elementor-tab-title{
  padding:20px 24px!important;cursor:pointer;
  font-family:'Montserrat',sans-serif!important;font-weight:700!important;
  color:var(--aoa-navy)!important;font-size:16px!important;
  border:0!important;background:transparent!important;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.elementor-widget-accordion.aoa-faq-accordion .elementor-tab-title .elementor-accordion-icon{
  color:var(--aoa-teal)!important;order:2;margin-left:auto;
}
.elementor-widget-accordion.aoa-faq-accordion .elementor-tab-content{
  padding:0 24px 22px!important;color:var(--aoa-muted)!important;
  font-size:15px!important;line-height:1.75!important;
  border:0!important;background:transparent!important;
}

/* ---- FINAL CTA section ---- */
.elementor-section.aoa-finalcta-section{
  background:linear-gradient(135deg,var(--aoa-navy) 0%,var(--aoa-navy-2) 60%,var(--aoa-teal) 200%)!important;
  color:#fff;padding:70px 24px;
}
.elementor-section.aoa-finalcta-section > .elementor-container{
  max-width:1200px;align-items:center;gap:40px;
}
.aoa-finalcta-section .elementor-widget-heading.aoa-h2-finalcta h2.elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:34px;font-weight:800;
  color:#fff;line-height:1.2;margin:0 0 12px;
}
.aoa-finalcta-section .elementor-widget-text-editor.aoa-finalcta-lead p{
  font-size:17px;color:rgba(255,255,255,.85);margin:0;line-height:1.55;
}

/* ---- Mobile responsive for newly converted sections ---- */
@media(max-width:991px){
  .elementor-section.aoa-why-section > .elementor-container,
  .elementor-section.aoa-spot-section > .elementor-container,
  .elementor-section.aoa-areas-section > .elementor-container,
  .elementor-section.aoa-finalcta-section > .elementor-container{
    flex-direction:column!important;gap:40px;
  }
  .elementor-section.aoa-why-section > .elementor-container > .elementor-column,
  .elementor-section.aoa-spot-section > .elementor-container > .elementor-column,
  .elementor-section.aoa-areas-section > .elementor-container > .elementor-column,
  .elementor-section.aoa-finalcta-section > .elementor-container > .elementor-column{
    width:100%!important;
  }
  .aoa-why-section .elementor-widget-heading.aoa-h2-why h2.elementor-heading-title,
  .aoa-spot-section .elementor-widget-heading.aoa-h2-spot h2.elementor-heading-title,
  .aoa-areas-section .elementor-widget-heading.aoa-h2-areas h2.elementor-heading-title{font-size:30px}
  .elementor-section .elementor-widget-heading.aoa-h2-section h2.elementor-heading-title{font-size:32px}
}
@media(max-width:600px){
  .aoa-why-section .elementor-widget-heading.aoa-h2-why h2.elementor-heading-title,
  .aoa-spot-section .elementor-widget-heading.aoa-h2-spot h2.elementor-heading-title,
  .aoa-areas-section .elementor-widget-heading.aoa-h2-areas h2.elementor-heading-title,
  .elementor-section .elementor-widget-heading.aoa-h2-section h2.elementor-heading-title{font-size:26px}
  .aoa-finalcta-section .elementor-widget-heading.aoa-h2-finalcta h2.elementor-heading-title{font-size:26px}
  .aoa-spot-img-column .elementor-widget-image,
  .aoa-spot-img-column .elementor-widget-image img{min-height:300px;height:300px}
}

/* =================================================================
   v1.4.0 — REMOVE ALL HTML WIDGETS — pure native widget shims
   Maps Elementor's wrapper structure to look exactly like the
   previous HTML-widget-based design.
   ================================================================= */

/* ----- Eyebrow as Heading widget (was inline span) ----- */
.elementor-widget-heading.aoa-eyebrow-widget{margin-bottom:18px}
.elementor-widget-heading.aoa-eyebrow-widget .elementor-heading-title{
  display:inline-block;background:rgba(28,200,200,.12);
  color:var(--aoa-teal-d);font-family:'Montserrat',sans-serif;
  font-size:12px;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;padding:7px 16px;border-radius:30px;
  margin:0;line-height:1.4;
}
.elementor-widget-heading.aoa-eyebrow-widget.is-dark .elementor-heading-title,
.aoa-sec.dark .elementor-widget-heading.aoa-eyebrow-widget .elementor-heading-title{
  background:rgba(28,200,200,.18);color:var(--aoa-teal);
}
/* Centered when section is centered */
.aoa-services-section .elementor-widget-heading.aoa-eyebrow-widget,
.aoa-plans-section .elementor-widget-heading.aoa-eyebrow-widget,
.aoa-reviews-section .elementor-widget-heading.aoa-eyebrow-widget,
.aoa-faq-section .elementor-widget-heading.aoa-eyebrow-widget{text-align:center;margin-bottom:14px}

/* ----- Inner section (general) ----- */
.elementor-section.aoa-inner > .elementor-container{
  max-width:none;padding:0;
}
.elementor-section.aoa-services-row > .elementor-container,
.elementor-section.aoa-stats-row > .elementor-container,
.elementor-section.aoa-why-cards-row > .elementor-container,
.elementor-section.aoa-plans-row > .elementor-container,
.elementor-section.aoa-reviews-row > .elementor-container{gap:24px}

/* ----- SERVICES — 9-card grid as inner section columns ----- */
.aoa-services-section .aoa-services-row{margin-top:18px}
.aoa-services-section .aoa-services-row + .aoa-services-row{margin-top:24px}
.elementor-column.aoa-service-card-col{
  background:#fff;border:1px solid var(--aoa-line);border-radius:14px;
  padding:32px 28px;transition:all .3s ease;position:relative;overflow:hidden;
}
.elementor-column.aoa-service-card-col::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--aoa-teal);transform:scaleX(0);transform-origin:left;
  transition:transform .35s ease;
}
.elementor-column.aoa-service-card-col:hover{
  transform:translateY(-6px);box-shadow:var(--aoa-shadow-lg);border-color:transparent;
}
.elementor-column.aoa-service-card-col:hover::before{transform:scaleX(1)}
.aoa-service-card-col .elementor-widget-heading.aoa-service-icon .elementor-heading-title{
  width:64px;height:64px;border-radius:14px;
  background:linear-gradient(135deg,#E6F9F9,#C7F0F0);
  display:flex;align-items:center;justify-content:center;
  font-size:30px;margin:0 0 20px;color:var(--aoa-navy);font-weight:400;
}
.aoa-service-card-col .elementor-widget-heading.aoa-service-title .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;
  color:var(--aoa-navy);margin:0 0 12px;
}
.aoa-service-card-col .elementor-widget-text-editor.aoa-service-desc p{
  color:var(--aoa-muted);font-size:15px;line-height:1.65;margin:0 0 18px;
}
.aoa-service-card-col .elementor-widget-button.aoa-service-link .elementor-button{
  background:transparent!important;color:var(--aoa-teal)!important;
  font-weight:700!important;font-size:13px!important;
  text-transform:uppercase;letter-spacing:.6px!important;
  padding:0!important;border-radius:0!important;border:0!important;
  display:inline-flex!important;align-items:center;gap:6px;
}
.aoa-service-card-col .elementor-widget-button.aoa-service-link .elementor-button:hover{
  background:transparent!important;color:var(--aoa-teal-d)!important;
  transform:translateX(4px);box-shadow:none!important;
}
.elementor-column.aoa-service-card-final{
  background:var(--aoa-navy);color:#fff;text-align:center;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
}
.aoa-service-card-final .elementor-widget-heading.aoa-service-icon .elementor-heading-title{
  background:rgba(28,200,200,.2);color:var(--aoa-teal);
}
.aoa-service-card-final .elementor-widget-heading.aoa-service-title .elementor-heading-title{color:#fff}
.aoa-service-card-final .elementor-widget-text-editor.aoa-service-desc p{color:rgba(255,255,255,.75)}

/* ----- WHY US — stats grid ----- */
.aoa-stats-row{margin-top:36px}
.elementor-column.aoa-stat-col{
  background:rgba(255,255,255,.05);border-radius:12px;padding:22px 14px;text-align:center;
}
.aoa-stat-col .elementor-widget-heading.aoa-stat-num-w .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:36px;font-weight:800;
  color:var(--aoa-teal);line-height:1;margin:0;
}
.aoa-stat-col .elementor-widget-heading.aoa-stat-lbl-w .elementor-heading-title{
  font-size:12px;color:rgba(255,255,255,.7);margin:6px 0 0;
  font-weight:600;text-transform:uppercase;letter-spacing:.5px;
  font-family:'Montserrat',sans-serif;
}

/* ----- WHY US — 4 right-column cards ----- */
.elementor-column.aoa-why-card-col{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  border-radius:12px;padding:26px 22px;
}
.aoa-why-card-col .elementor-widget-heading.aoa-why-card-icon .elementor-heading-title{
  width:48px;height:48px;border-radius:12px;
  background:rgba(28,200,200,.15);color:var(--aoa-teal);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin:0 0 14px;font-weight:400;
}
.aoa-why-card-col .elementor-widget-heading.aoa-why-card-title .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:16px;font-weight:800;
  color:#fff;margin:0 0 8px;line-height:1.3;
}
.aoa-why-card-col .elementor-widget-text-editor.aoa-why-card-desc p{
  font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.6;margin:0;
}

/* ----- SPOTLIGHT — floating badge as inner section ----- */
.aoa-spot-img-column{position:relative}
.elementor-section.aoa-spot-badge-floating-inner{
  position:absolute!important;left:24px;bottom:24px;z-index:5;
  background:#fff;padding:14px 18px;border-radius:10px;
  box-shadow:var(--aoa-shadow);max-width:260px;
}
.aoa-spot-badge-floating-inner > .elementor-container{display:flex;align-items:center;gap:12px}
.aoa-spot-badge-floating-inner .elementor-column.aoa-spot-badge-icon-col{flex:0 0 auto;width:auto!important}
.aoa-spot-badge-floating-inner .elementor-column.aoa-spot-badge-text-col{flex:1;width:auto!important}
.aoa-spot-badge-floating-inner .elementor-widget-heading.aoa-spot-badge-icon .elementor-heading-title{
  width:42px;height:42px;border-radius:50%;background:var(--aoa-teal);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:800;margin:0;line-height:1;
}
.aoa-spot-badge-floating-inner .elementor-widget-heading.aoa-spot-badge-line1 .elementor-heading-title,
.aoa-spot-badge-floating-inner .elementor-widget-heading.aoa-spot-badge-line2 .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);
  font-size:13px;line-height:1.3;margin:0;
}

/* ----- PRO PLANS — 3 pricing cards ----- */
.aoa-plans-row{margin-top:54px;align-items:stretch}
.elementor-column.aoa-plan-col{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:16px;padding:36px 30px;color:#fff;position:relative;
  display:flex;flex-direction:column;
}
.elementor-column.aoa-plan-col.aoa-plan-featured{
  background:linear-gradient(180deg,var(--aoa-teal),var(--aoa-teal-d));
  border-color:var(--aoa-teal);
  box-shadow:0 24px 60px rgba(28,200,200,.32);
  transform:scale(1.03);
}
.aoa-plan-col .elementor-widget-heading.aoa-plan-badge{position:absolute;top:-14px;left:0;right:0;text-align:center}
.aoa-plan-col .elementor-widget-heading.aoa-plan-badge .elementor-heading-title{
  display:inline-block;background:var(--aoa-gold);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:11px;
  letter-spacing:1.2px;padding:6px 18px;border-radius:30px;
  text-transform:uppercase;margin:0;
}
.aoa-plan-col .elementor-widget-heading.aoa-plan-tier .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:1.2px;font-size:13px;color:var(--aoa-teal);margin:0 0 14px;
}
.aoa-plan-featured .elementor-widget-heading.aoa-plan-tier .elementor-heading-title{color:rgba(255,255,255,.85)}
.aoa-plan-col .elementor-widget-heading.aoa-plan-price .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-size:46px;font-weight:800;
  line-height:1;color:#fff;margin:0;
}
.aoa-plan-col .elementor-widget-heading.aoa-plan-price small{font-size:18px;font-weight:400}
.aoa-plan-col .elementor-widget-text-editor.aoa-plan-billing p{
  font-size:13px;color:rgba(255,255,255,.6);margin:6px 0 24px;
}
.aoa-plan-featured .elementor-widget-text-editor.aoa-plan-billing p{color:rgba(255,255,255,.78)}
.aoa-plan-col .elementor-widget-icon-list.aoa-plan-features{flex:1;margin-bottom:26px}
.aoa-plan-col .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-item{padding:9px 0}
.aoa-plan-col .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-icon i,
.aoa-plan-col .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-icon svg{
  color:var(--aoa-teal)!important;fill:var(--aoa-teal)!important;font-size:14px!important;
}
.aoa-plan-featured .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-icon i,
.aoa-plan-featured .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-icon svg{
  color:#fff!important;fill:#fff!important;
}
.aoa-plan-col .elementor-widget-icon-list.aoa-plan-features .elementor-icon-list-text{
  font-size:14.5px;color:rgba(255,255,255,.88);
}
.aoa-plan-col .elementor-widget-button.aoa-plan-cta .elementor-button{width:100%}

/* ----- SERVICE AREAS — pills as Icon List ----- */
.aoa-areas-section .elementor-widget-heading.aoa-areas-label-w .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);
  font-size:14px;text-transform:uppercase;letter-spacing:.6px;
  margin:12px 0 8px;
}
.elementor-widget-icon-list.aoa-pills-iconlist .elementor-icon-list-items{
  display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px;
}
.elementor-widget-icon-list.aoa-pills-iconlist .elementor-icon-list-item{
  margin:0!important;padding:0!important;border:0!important;
}
.elementor-widget-icon-list.aoa-pills-iconlist .elementor-icon-list-icon{display:none!important}
.elementor-widget-icon-list.aoa-pills-iconlist .elementor-icon-list-text{
  margin:0!important;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;
  padding:10px 18px;border-radius:30px;display:inline-block;
  transition:all .2s;text-decoration:none;
}
.elementor-widget-icon-list.aoa-pills-iconlist a{
  text-decoration:none!important;display:inline-block;
}
/* Main pills — navy fill */
.elementor-widget-icon-list.aoa-pills-iconlist.aoa-pills-main .elementor-icon-list-text{
  background:var(--aoa-navy);color:#fff;
}
.elementor-widget-icon-list.aoa-pills-iconlist.aoa-pills-main a:hover .elementor-icon-list-text{
  background:var(--aoa-teal);color:#fff;transform:translateY(-2px);
}
/* Alt pills — light fill */
.elementor-widget-icon-list.aoa-pills-iconlist.aoa-pills-alt .elementor-icon-list-text{
  background:#fff;color:var(--aoa-navy);border:1.5px solid var(--aoa-line);
}
.elementor-widget-icon-list.aoa-pills-iconlist.aoa-pills-alt a:hover .elementor-icon-list-text{
  background:var(--aoa-teal);color:#fff;border-color:var(--aoa-teal);
}

/* ----- REVIEWS — stars row + 3 cards ----- */
.aoa-reviews-section .elementor-widget-heading.aoa-stars-row .elementor-heading-title{
  color:var(--aoa-gold);font-size:24px;letter-spacing:3px;margin:8px 0 6px;
  font-family:'Montserrat',sans-serif;font-weight:400;
}
.aoa-reviews-row{margin-top:54px}
.elementor-column.aoa-review-col{
  background:#fff;border-radius:14px;padding:30px 28px;
  box-shadow:var(--aoa-shadow);position:relative;border-left:4px solid var(--aoa-teal);
}
.aoa-review-col .elementor-widget-heading.aoa-review-stars .elementor-heading-title{
  color:var(--aoa-gold);font-size:18px;margin:0 0 12px;letter-spacing:2px;
  font-family:'Montserrat',sans-serif;font-weight:400;
}
.aoa-review-col .elementor-widget-text-editor.aoa-review-quote p{
  font-style:italic;color:var(--aoa-muted);font-size:15.5px;line-height:1.75;margin:0 0 20px;
}
.aoa-review-col .elementor-section.aoa-review-who{
  border-top:1px solid var(--aoa-line);padding-top:16px;margin-top:0;
}
.aoa-review-who > .elementor-container{display:flex;align-items:center;gap:14px}
.aoa-review-who .elementor-column.aoa-review-av-col{flex:0 0 auto;width:auto!important}
.aoa-review-who .elementor-column.aoa-review-meta-col{flex:1;width:auto!important}
.aoa-review-who .elementor-widget-heading.aoa-review-avatar .elementor-heading-title{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--aoa-teal),var(--aoa-teal-d));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-family:'Montserrat',sans-serif;font-size:14px;margin:0;line-height:1;
}
.aoa-review-who .elementor-widget-heading.aoa-review-name .elementor-heading-title{
  font-family:'Montserrat',sans-serif;font-weight:700;color:var(--aoa-navy);
  font-size:14.5px;line-height:1.2;margin:0;
}
.aoa-review-who .elementor-widget-heading.aoa-review-city .elementor-heading-title{
  color:var(--aoa-muted);font-size:13px;margin:3px 0 0;
  font-family:'Open Sans',sans-serif;font-weight:400;
}

/* ----- Mobile responsive for v1.4 widgets ----- */
@media(max-width:991px){
  .elementor-section.aoa-services-row > .elementor-container,
  .elementor-section.aoa-why-cards-row > .elementor-container,
  .elementor-section.aoa-plans-row > .elementor-container,
  .elementor-section.aoa-reviews-row > .elementor-container,
  .elementor-section.aoa-stats-row > .elementor-container{
    flex-direction:column!important;gap:18px;
  }
  .elementor-section.aoa-services-row .elementor-column,
  .elementor-section.aoa-why-cards-row .elementor-column,
  .elementor-section.aoa-plans-row .elementor-column,
  .elementor-section.aoa-reviews-row .elementor-column,
  .elementor-section.aoa-stats-row .elementor-column{width:100%!important}
  .elementor-column.aoa-plan-col.aoa-plan-featured{transform:none}
}
@media(max-width:600px){
  .elementor-section.aoa-spot-badge-floating-inner{
    left:12px;bottom:12px;padding:10px 14px;max-width:200px;
  }
  .elementor-section.aoa-spot-badge-floating-inner .elementor-widget-heading.aoa-spot-badge-icon .elementor-heading-title{
    width:36px;height:36px;font-size:16px;
  }
  .elementor-widget-icon-list.aoa-pills-iconlist .elementor-icon-list-text{
    font-size:13px;padding:8px 14px;
  }
}

/* =================================================================
   v1.6.0 — Blog page + single post template + icon contrast safety
   ================================================================= */

/* ----- Icon visibility safety: dark sections ----- */
.aoa-sec.dark .ico:not([style*="background"]),
.aoa-trustbar .ico{color:#fff}
.aoa-finalcta .ico{color:#fff}
/* Trust bar emojis stay full-color but ensure label text stays bright on teal */
.aoa-trustbar-item{color:#fff!important}
/* Spot-badge icon container always solid teal (not transparent) regardless of theme */
.aoa-spot-img .badge .ico{background:var(--aoa-teal)!important;color:#fff!important}

/* ----- Service spotlight: ensure right-side image renders cleanly ----- */
.aoa-spot{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
@media(max-width:991px){.aoa-spot{grid-template-columns:1fr;gap:30px}}

/* ----- BLOG LANDING ----- */
.aoa-blog-hero{
  position:relative;color:#fff;padding:70px 0 60px;
  background:linear-gradient(135deg,#0B1F3A 0%,#102B4D 50%,#0B1F3A 100%);
  overflow:hidden;
}
.aoa-blog-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(800px 400px at 80% 30%,rgba(28,200,200,.16),transparent 60%);
  pointer-events:none;
}
.aoa-blog-hero-grid{
  position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;
  gap:60px;max-width:1200px;margin:0 auto;padding:0 24px;align-items:center;
}
.aoa-blog-hero h1{font-family:'Montserrat',sans-serif;font-size:46px;font-weight:800;color:#fff;line-height:1.15;margin:0 0 16px}
.aoa-blog-hero .lead{font-size:18px;color:rgba(255,255,255,.85);line-height:1.6;max-width:560px}
.aoa-blog-hero-logo{text-align:right}
.aoa-blog-hero-logo img{display:inline-block;max-width:340px;width:100%;height:auto;background:#fff;padding:18px 22px;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.25)}

@media(max-width:991px){
  .aoa-blog-hero-grid{grid-template-columns:1fr;gap:30px;text-align:center}
  .aoa-blog-hero-logo{text-align:center}
  .aoa-blog-hero h1{font-size:34px}
  .aoa-blog-hero-logo img{max-width:240px}
}

/* Posts grid */
.aoa-blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
@media(max-width:991px){.aoa-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.aoa-blog-grid{grid-template-columns:1fr}}

.aoa-blog-card{
  background:#fff;border:1px solid var(--aoa-line);border-radius:14px;
  overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;
}
.aoa-blog-card:hover{transform:translateY(-6px);box-shadow:var(--aoa-shadow-lg)}
.aoa-blog-thumb{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#E6F0F8,#A8CDDF);overflow:hidden;position:relative}
.aoa-blog-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.aoa-blog-card:hover .aoa-blog-thumb img{transform:scale(1.05)}
.aoa-blog-thumb-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:54px;color:rgba(255,255,255,.7);
  background:linear-gradient(135deg,var(--aoa-navy),var(--aoa-teal-d));
}
.aoa-blog-card-body{padding:24px 22px;display:flex;flex-direction:column;flex:1}
.aoa-blog-meta{
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;color:var(--aoa-teal-d);margin-bottom:10px;
}
.aoa-blog-title{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:800;color:var(--aoa-navy);line-height:1.3;margin:0 0 12px}
.aoa-blog-title a{color:inherit;text-decoration:none}
.aoa-blog-title a:hover{color:var(--aoa-teal-d)}
.aoa-blog-excerpt{color:var(--aoa-muted);font-size:14.5px;line-height:1.6;margin:0 0 18px;flex:1}
.aoa-blog-readmore{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--aoa-teal-d)!important;font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.6px;
  text-decoration:none;align-self:flex-start;
}
.aoa-blog-readmore:hover{color:var(--aoa-teal)!important}

.aoa-blog-empty{
  text-align:center;padding:60px 24px;color:var(--aoa-muted);font-size:16px;grid-column:1/-1;
}

.aoa-blog-pagination{
  margin-top:40px;text-align:center;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;
}
.aoa-blog-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 14px;border-radius:8px;
  background:#fff;border:1px solid var(--aoa-line);
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;
  color:var(--aoa-navy);text-decoration:none;transition:all .2s;
}
.aoa-blog-pagination .page-numbers:hover,
.aoa-blog-pagination .page-numbers.current{
  background:var(--aoa-teal);color:#fff;border-color:var(--aoa-teal);
}

/* ----- SINGLE POST ----- */
.aoa-post-wrap{font-family:'Open Sans',sans-serif;color:var(--aoa-text)}
.aoa-post-hero{padding:70px 24px 30px;background:var(--aoa-bg)}
.aoa-post-hero .aoa-wrap{max-width:1100px}
.aoa-post-meta-line{display:flex;gap:16px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.aoa-post-date{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--aoa-muted)}
.aoa-post-title{
  font-family:'Montserrat',sans-serif;font-size:42px;font-weight:800;
  color:var(--aoa-navy);line-height:1.2;letter-spacing:-.5px;margin:0 0 30px;
}
.aoa-post-featured{border-radius:14px;overflow:hidden;box-shadow:var(--aoa-shadow);background:#E8F1F8}
.aoa-post-featured img{width:100%;height:auto;display:block;max-height:520px;object-fit:cover}

.aoa-post-body{padding:60px 24px}
.aoa-post-grid{
  display:grid;grid-template-columns:1fr 360px;gap:50px;
  max-width:1100px;margin:0 auto;align-items:start;
}
@media(max-width:991px){.aoa-post-grid{grid-template-columns:1fr;gap:30px}}

.aoa-post-content{
  font-size:17px;color:var(--aoa-text);line-height:1.75;
}
.aoa-post-content h2{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:800;color:var(--aoa-navy);margin:36px 0 14px;line-height:1.25}
.aoa-post-content h3{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:700;color:var(--aoa-navy);margin:28px 0 10px;line-height:1.3}
.aoa-post-content p{margin:0 0 18px}
.aoa-post-content ul,.aoa-post-content ol{margin:0 0 18px 24px}
.aoa-post-content li{margin-bottom:8px}
.aoa-post-content a{color:var(--aoa-teal-d);text-decoration:underline}
.aoa-post-content blockquote{
  border-left:4px solid var(--aoa-teal);background:var(--aoa-bg);
  padding:18px 24px;margin:24px 0;font-style:italic;border-radius:8px;
}
.aoa-post-content img{max-width:100%;height:auto;border-radius:10px;margin:16px 0}

.aoa-post-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px}
@media(max-width:991px){.aoa-post-sidebar{position:static}}

.aoa-post-contact-card{
  background:linear-gradient(135deg,var(--aoa-navy),#142B4A);
  color:#fff;border-radius:14px;padding:26px 24px;
}
.aoa-post-contact-card h3{
  font-family:'Montserrat',sans-serif;font-size:20px;font-weight:800;
  color:#fff;margin:0 0 8px;
}
.aoa-post-contact-card p{
  color:rgba(255,255,255,.8);font-size:14px;line-height:1.55;margin:0 0 18px;
}
.aoa-post-call{width:100%;margin-bottom:18px}
.aoa-post-contact-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.12)}
.aoa-post-contact-list li{
  display:flex;justify-content:space-between;gap:14px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);
  font-size:14px;
}
.aoa-post-contact-list li:last-child{border-bottom:0}
.aoa-post-contact-list .lbl{color:rgba(255,255,255,.6);font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1px}
.aoa-post-contact-list .val{color:#fff;text-align:right}
.aoa-post-contact-list a{color:var(--aoa-teal)!important}

.aoa-post-quote-card{box-shadow:var(--aoa-shadow);border:1px solid var(--aoa-line)}

/* Services strip below post */
.aoa-post-services{padding:70px 24px;background:var(--aoa-bg)}
.aoa-post-services-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:0 auto;
}
@media(max-width:991px){.aoa-post-services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.aoa-post-services-grid{grid-template-columns:1fr}}

.aoa-post-service-card{
  background:#fff;border:1px solid var(--aoa-line);border-radius:12px;
  padding:22px 20px;text-decoration:none;color:inherit;
  transition:all .25s;display:block;text-align:center;
}
.aoa-post-service-card:hover{transform:translateY(-4px);box-shadow:var(--aoa-shadow);border-color:var(--aoa-teal)}
.aoa-post-service-card .ico{
  width:54px;height:54px;border-radius:12px;
  background:linear-gradient(135deg,#E6F9F9,#C7F0F0);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin:0 auto 12px;
}
.aoa-post-service-card .name{
  font-family:'Montserrat',sans-serif;font-weight:800;color:var(--aoa-navy);
  font-size:14.5px;line-height:1.3;margin-bottom:6px;
}
.aoa-post-service-card .more{color:var(--aoa-teal-d);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}

@media(max-width:600px){
  .aoa-post-title{font-size:30px}
  .aoa-post-hero{padding:50px 20px 24px}
  .aoa-post-body{padding:40px 20px}
  .aoa-post-content{font-size:16px}
}

/* =================================================================
   v1.6.1 — Surgical visual fixes
   1) Remove colored vertical stripe artifact on service spotlight images
   2) Force light/white phone icons on dark backgrounds
   3) Mobile menu font size +2px
   ================================================================= */

/* ---- BUG 1: Remove decorative gradient overlay that creates the
        colored vertical stripe artifact on service spotlight images ---- */
.aoa-spot-img::before{
  content:none!important;
  background:none!important;
  display:none!important;
}
/* Same for the v1.3 Elementor-converted spotlight image column */
.aoa-spot-img-column .elementor-widget-image::before{
  content:none!important;
  background:none!important;
  display:none!important;
}
/* When a real image is present, drop the dark gradient placeholder
   background so nothing bleeds through transparent PNG edges */
.aoa-spot-img:not(.no-image),
.aoa-spot-img-column .elementor-widget-image{
  background:transparent!important;
}

/* ---- BUG 2: Phone icons (and emoji) must be visible on dark areas ---- */

/* Header CTA button icon — teal background, force white emoji glyph */
.aoa-header .aoa-btn-teal,
.aoa-header .aoa-btn-teal *{color:#fff!important}
.aoa-header .aoa-btn-teal svg,
.aoa-header .aoa-btn-teal i{color:#fff!important;fill:#fff!important;stroke:#fff!important}

/* Top bar dark navy strip — phone link must be light */
.aoa-topbar a,
.aoa-topbar a *{color:#fff!important}

/* Footer dark navy — phone display + icons stay light/teal */
.aoa-footer .ph,
.aoa-footer .ph *{color:var(--aoa-teal)!important}
.aoa-footer a,
.aoa-footer a *{color:rgba(255,255,255,.7)}
.aoa-footer a:hover,
.aoa-footer a:hover *{color:var(--aoa-teal)!important}
.aoa-footer .brand-line{color:#fff!important}
.aoa-footer ul a span,
.aoa-footer ul a i,
.aoa-footer ul a svg{color:inherit!important;fill:currentColor!important}

/* Sticky mobile call button — teal bg, force white icon/text */
.aoa-stickycall,
.aoa-stickycall *{color:#fff!important}
.aoa-stickycall svg,
.aoa-stickycall i{color:#fff!important;fill:#fff!important;stroke:#fff!important}

/* Final CTA & dark sections — any phone icon span/svg/i inside teal/navy buttons */
.aoa-finalcta .aoa-btn-teal,
.aoa-finalcta .aoa-btn-teal *,
.aoa-sec.dark .aoa-btn-teal,
.aoa-sec.dark .aoa-btn-teal *,
.aoa-sec.dark .aoa-btn-navy,
.aoa-sec.dark .aoa-btn-navy *{color:#fff!important}

/* Generic safety: any phone-link emoji (📞) inside dark scopes — emoji
   glyphs ignore CSS color, but if any wrapper span uses a CSS background
   for an icon, force light. This rule keeps inline emoji + icon spans
   readable when wrapped in <span class="ico"> on dark UI. */
.aoa-topbar .ico,
.aoa-footer .ico,
.aoa-sec.dark .ico:not([style*="background"]){
  color:#fff!important;
}

/* Header CTA button itself — keep teal bg with white text/icon */
.aoa-header-cta,
.aoa-header-cta *{color:#fff!important}

/* ---- Mobile menu font +2px ---- */
@media(max-width:991px){
  .aoa-nav a{font-size:16.5px!important}            /* was 14.5px → +2px */
  .aoa-dropdown-menu a{font-size:15.5px!important}  /* was 13.5px → +2px */
}

/* =================================================================
   v1.6.2 — Inline SVG phone icon (replaces 📞 emoji everywhere)
   ================================================================= */

/* Base — inherits color so context determines stroke. */
.aoa-phone-svg{
  display:inline-block;
  vertical-align:-3px;
  margin-right:6px;
  color:currentColor;
  stroke:currentColor;
  fill:none;
  width:18px;
  height:18px;
  flex-shrink:0;
}

/* Force WHITE on dark/teal/navy contexts where the icon must stay light */
.aoa-header-cta .aoa-phone-svg,
.aoa-header-cta:hover .aoa-phone-svg,
.aoa-footer .aoa-phone-svg,
.aoa-stickycall .aoa-phone-svg,
.aoa-btn-teal .aoa-phone-svg,
.aoa-btn-navy .aoa-phone-svg,
.aoa-sec.dark .aoa-phone-svg,
.aoa-finalcta .aoa-phone-svg,
.aoa-post-call .aoa-phone-svg,
.aoa-chat-cta .aoa-phone-svg,
.aoa-topbar .aoa-phone-svg{
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
}

/* Inside footer ph block (large teal phone display), keep teal */
.aoa-footer .ph .aoa-phone-svg{
  color:var(--aoa-teal)!important;
  stroke:var(--aoa-teal)!important;
}

/* Inside contact page info card icon tile, keep teal */
.aoa-info-card .ico .aoa-phone-svg{
  color:var(--aoa-teal-d)!important;
  stroke:var(--aoa-teal-d)!important;
  margin-right:0;
  vertical-align:middle;
  width:24px;
  height:24px;
}

/* Choice panel "Call Now" option — small SVG inline */
.aoa-choice-panel .opt .aoa-phone-svg{
  color:var(--aoa-teal-d);
  stroke:var(--aoa-teal-d);
  margin-right:0;
}

/* Outline buttons (white bg, navy border) — keep stroke navy */
.aoa-btn-outline .aoa-phone-svg,
.aoa-btn-ghost .aoa-phone-svg{
  color:inherit;
  stroke:currentColor;
}
