/* ===== personal-agent-v1 =====
   "Talk to Our Agent" intro block in the contact section. */

/* ===== Two standalone contact sections =====
   The agent profile and the message form used to share one shell; they are now
   two separate dark panels, each centred in its own section. */
.personal-assistance-shell-single{
  display:block;
  grid-template-columns:none;
}
.personal-assistance-section + .personal-assistance-section{
  padding-top:0;
}

/* Full-bleed bands: the dark panels run edge to edge with no outer container,
   and the content inside keeps a comfortable reading width. */
.personal-assistance-band{
  padding:0;
  background:transparent;
}
.personal-assistance-band .personal-assistance-shell-single{
  max-width:none;
  margin:0;
  border-radius:0;
  padding:48px clamp(20px,5vw,72px);
}
.personal-assistance-band .personal-assistance-intro{
  max-width:960px;
  margin:0 auto;
}
.personal-assistance-band .personal-message-card{
  max-width:1080px;
  margin:0 auto;
}

/* ===== Fancy centred agent band ===== */
#contact .personal-assistance-band .personal-assistance-intro,
#contact .personal-assistance-intro{
  max-width:920px;
  margin:0 auto;
  padding:36px 30px 32px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 40px rgba(0,0,0,.18);
  text-align:center;
  align-items:center;
}
#contact .personal-assistance-intro .personal-agent-head{
  justify-content:center;
  margin-top:0;
  padding-bottom:0;
}
#contact .personal-assistance-intro .personal-agent-head-icon{
  width:44px;
  height:44px;
  border-radius:13px;
  font-size:1.05rem;
}
#contact .personal-assistance-intro .personal-agent-head strong{
  font-size:1.02rem;
}
#contact .personal-assistance-intro .personal-agent-head small{
  font-size:.68rem;
}
#contact .personal-assistance-intro .personal-agent-rule{
  width:min(340px,62%);
  margin:.85rem auto .95rem;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.38),rgba(255,255,255,0));
}
#contact .personal-assistance-intro .personal-assistance-kicker{
  display:block;
  margin-bottom:.55rem;
}
#contact .personal-assistance-intro p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
#contact .personal-agent-card{
  flex-direction:column;
  align-items:center;
  gap:.75rem;
  margin-top:1.5rem;
}
#contact .personal-agent-photo{
  width:104px;
  height:104px;
  border-radius:50%;
  border:3px solid rgba(212,175,55,.85);
  box-shadow:0 10px 26px rgba(0,0,0,.3);
}
#contact .personal-agent-meta h4{
  font-size:1.14rem;
}
#contact .personal-agent-contact{
  justify-content:center;
}
#contact .personal-assistance-trust{
  justify-content:center;
  margin-top:1.15rem;
}
/* Bottom call / WhatsApp badges. */
#contact .personal-agent-cta{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:center;
  margin-top:1.35rem;
}
#contact .personal-agent-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.72rem 1.4rem;
  border-radius:999px;
  border:1.5px solid transparent;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
#contact .personal-agent-cta-btn:hover{
  transform:translateY(-2px);
}
#contact .personal-agent-cta-wa{
  background:#25D366;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(37,211,102,.32);
}
#contact .personal-agent-cta-wa:hover{
  background:#1eb257;
}
#contact .personal-agent-cta-call{
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#173b2c !important;
  box-shadow:0 8px 20px rgba(212,175,55,.3);
}
#contact .personal-agent-cta-call:hover{
  background:linear-gradient(135deg,#f6d463,#dcb945);
}
@media (max-width:560px){
  #contact .personal-assistance-intro{
    padding:26px 18px 24px;
  }
  #contact .personal-agent-photo{
    width:88px;
    height:88px;
  }
  #contact .personal-agent-cta{
    width:100%;
  }
  #contact .personal-agent-cta-btn{
    flex:1 1 auto;
    justify-content:center;
    padding:.68rem 1rem;
    font-size:.8rem;
  }
}

#contact .personal-assistance-intro p + p{
  margin-top:.6rem;
}
#contact .personal-assistance-intro strong{
  color:#fff;
  font-weight:800;
}
/* All copy in this block sits on the deep green panel. */
#contact .personal-assistance-intro,
#contact .personal-assistance-intro p,
#contact .personal-assistance-intro h3{
  color:#fff;
}
#contact .personal-assistance-intro p{
  font-weight:400;
}
#contact .personal-agent-card{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:1.15rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

/* ===== Header row, mirroring the "Send us a message" card ===== */
#contact .personal-assistance-intro .personal-agent-head{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-top:.9rem;
  padding-bottom:.7rem;
}
#contact .personal-assistance-intro .personal-agent-head-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#173b2c;
  font-size:.95rem;
  box-shadow:0 4px 10px rgba(180,140,30,.28);
}
#contact .personal-assistance-intro .personal-agent-head strong{
  display:block;
  color:#fff;
  font-size:.9rem;
  font-weight:700;
  line-height:1.25;
}
#contact .personal-assistance-intro .personal-agent-head small{
  display:block;
  margin-top:.1rem;
  color:rgba(255,255,255,.62);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.02em;
}
/* Thin subtle divider under the header. */
#contact .personal-assistance-intro .personal-agent-rule{
  height:1px;
  width:100%;
  margin:0 0 .95rem;
  background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.03));
}
/* Phone / WhatsApp icon links. */
#contact .personal-agent-contact{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.4rem;
}
#contact .personal-agent-ic{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.14);
  color:#fff !important;
  font-size:.78rem;
  text-decoration:none;
  transition:background-color .16s ease,transform .16s ease;
}
#contact .personal-agent-ic:hover{
  background:rgba(255,255,255,.26);
  transform:translateY(-1px);
}
#contact .personal-agent-ic-wa{
  background:#25D366;
  border-color:#25D366;
}
#contact .personal-agent-ic-wa:hover{
  background:#1eb257;
}
#contact .personal-agent-nums{
  color:rgba(255,255,255,.92);
  font-size:.78rem;
  font-weight:600;
  white-space:nowrap;
}
#contact .personal-agent-nums a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
}
#contact .personal-agent-nums a:hover{
  text-decoration:underline;
}
#contact .personal-agent-sep{
  margin:0 .15rem;
  color:rgba(255,255,255,.5);
}
#contact .personal-agent-photo{
  flex:0 0 auto;
  width:78px;
  height:78px;
  border-radius:14px;
  object-fit:cover;
  object-position:center 18%;
  background:#e8f5e9;
  border:2px solid #fff;
  box-shadow:0 4px 12px rgba(15,23,42,.12);
}
#contact .personal-agent-meta{
  min-width:0;
}
#contact .personal-agent-meta h4{
  margin:0 0 .15rem;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
  font-size:1.02rem;
  font-weight:800;
  line-height:1.2;
}
#contact .personal-assistance-intro .personal-agent-role{
  margin:0 0 .45rem;
  color:rgba(255,255,255,.82);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.35;
}
#contact .personal-assistance-intro .personal-agent-agency{
  color:var(--accent-gold);
  font-weight:700;
}
#contact .personal-agent-contact{
  margin:0 0 .55rem;
  color:rgba(255,255,255,.88);
  font-size:.78rem;
  line-height:1.4;
}
#contact .personal-agent-contact i{
  color:var(--accent-gold);
  margin-right:.25rem;
}
#contact .personal-agent-contact a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
#contact .personal-agent-contact a:hover{
  text-decoration:underline;
}
#contact .personal-agent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
#contact .personal-agent-btn{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem .8rem;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  text-decoration:none;
  border:1.5px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;
}
#contact .personal-agent-btn:hover{
  transform:translateY(-1px);
}
#contact .personal-agent-wa{
  background:#25D366;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(37,211,102,.28);
}
#contact .personal-agent-wa:hover{
  background:#1eb257;
}
#contact .personal-agent-call{
  background:#fff;
  border-color:rgba(255,255,255,.55);
  color:#173b2c !important;
}
#contact .personal-agent-call:hover{
  background:#f4fbf6;
}
#contact .personal-assistance-trust{
  flex-wrap:wrap;
}
@media (max-width:520px){
  #contact .personal-agent-card{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }
  #contact .personal-agent-photo{
    width:88px;
    height:88px;
  }
  #contact .personal-agent-actions{
    width:100%;
  }
  #contact .personal-agent-btn{
    flex:1 1 auto;
    justify-content:center;
  }
}

/* ===== Fancy agent band — final overrides =====
   Placed last so nothing earlier in this sheet wins the cascade. */
#contact .personal-agent-photo{
  width:104px !important;
  height:104px !important;
  border-radius:50% !important;
  border:3px solid rgba(212,175,55,.85) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.3) !important;
  object-position:center 16% !important;
}
#contact .personal-agent-meta h4{
  font-size:1.14rem !important;
  letter-spacing:.01em;
}
#contact .personal-agent-contact{
  justify-content:center;
}
@media (max-width:560px){
  #contact .personal-agent-photo{
    width:88px !important;
    height:88px !important;
  }
}

/* ===== Message card action row =====
   Only two buttons remain (Email / WhatsApp); centre them as a pair instead of
   leaving a third empty grid column. */
.personal-contact-actions{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  justify-content:center;
  max-width:400px;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:520px){
  .personal-contact-actions{
    max-width:100%;
  }
}

/* ===== Agent card: photo, vertical rule, then the details ===== */
#contact .personal-agent-card{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center;
  gap:1.15rem;
  text-align:left;
}
#contact .personal-agent-meta{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:1.15rem;
  text-align:left;
}
#contact .personal-agent-contact{
  justify-content:flex-start !important;
}
@media (max-width:520px){
  #contact .personal-agent-card{
    gap:.85rem;
  }
  #contact .personal-agent-meta{
    padding-left:.85rem;
  }
}

/* ===== Bottom badges: equal rectangular pills spanning the column ===== */
#contact .personal-agent-cta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  width:100%;
  max-width:440px;
  margin:1.45rem auto 0;
}
#contact .personal-agent-cta-btn{
  justify-content:center;
  width:100%;
  padding:.8rem 1rem;
  border-radius:14px !important;
}
@media (max-width:520px){
  #contact .personal-agent-cta{
    grid-template-columns:1fr;
    max-width:100%;
  }
}

/* ===== Trust chips: three per line, two on the second ===== */
#contact .personal-assistance-trust{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem .55rem;
  justify-content:center;
  max-width:560px;
  margin:1.2rem auto 0 !important;
}
#contact .personal-assistance-trust > span{
  justify-content:center;
  width:100%;
}
@media (max-width:520px){
  #contact .personal-assistance-trust{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:100%;
  }
}

/* The agent copy sits directly on the band — no rounded sub-container. */
#contact .personal-assistance-intro{
  max-width:920px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* ===== One dark band, two columns, vertical divider ===== */
#contact.personal-assistance-band{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) 1px minmax(0,1fr);
  gap:0 clamp(20px,3.2vw,46px);
  align-items:center;
  padding:56px clamp(20px,5vw,72px);
  background:
    radial-gradient(circle at 12% 0%,rgba(212,175,55,.14),transparent 30%),
    radial-gradient(circle at 88% 100%,rgba(47,143,91,.20),transparent 32%),
    linear-gradient(135deg,#123a2d 0%,#174d3a 55%,#123a2d 100%);
}
#contact .personal-assistance-shell{
  display:block !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#contact .personal-contact-divider{
  width:1px;
  align-self:stretch;
  justify-self:center;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
}
#contact .personal-assistance-intro{
  max-width:640px !important;
  margin:0 0 0 auto !important;
  padding-right:clamp(0px,2vw,26px) !important;
}
#contact .personal-message-card{
  max-width:100%;
  margin:0 !important;
}
@media (max-width:900px){
  #contact.personal-assistance-band{
    grid-template-columns:1fr;
    gap:34px;
    padding:44px clamp(18px,5vw,40px);
  }
  #contact .personal-contact-divider{
    width:100%;
    height:1px;
    align-self:auto;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
  }
  #contact .personal-assistance-intro{
    max-width:100% !important;
    margin:0 auto !important;
    padding-right:0 !important;
  }
}
/* Header row: two gold quick-action icons then the heading. */
#contact .personal-agent-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
}
/* Square gold call button beside the white heading. */
#contact .personal-agent-head-call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:14px;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#173b2c !important;
  font-size:1.15rem;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(180,140,30,.35);
  transition:transform .16s ease,box-shadow .16s ease;
  flex:0 0 auto;
}
#contact .personal-agent-head-call:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(180,140,30,.45);
}
#contact .personal-agent-head-text{
  text-align:left;
}
#contact .personal-agent-head-text strong{
  display:block;
  color:#fff !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
  line-height:1.2;
}
#contact .personal-agent-head-text small{
  display:block;
  margin-top:.1rem;
  color:var(--accent-gold);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.02em;
}
#contact .personal-agent-head-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,#f2c94c,#d4af37);
  color:#173b2c !important;
  font-size:1rem;
  text-decoration:none;
  border:0;
  box-shadow:0 6px 16px rgba(180,140,30,.35);
  transition:transform .16s ease,box-shadow .16s ease;
}
#contact .personal-agent-head-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(180,140,30,.45);
}
#contact .personal-agent-head-wa:hover{
  background:linear-gradient(135deg,#3ddc84,#25D366);
  color:#fff !important;
}

/* Principal Agent role: agency name on its own line. */
#contact .personal-assistance-intro .personal-agent-role .personal-agent-agency{
  display:block;
  margin-top:.12rem;
}
/* Section band: deep blue blending into deep green (behind the sub-containers). */
#contact.personal-assistance-band{
  background:
    radial-gradient(circle at 6% -12%,rgba(41,98,168,.46),transparent 44%),
    radial-gradient(circle at 96% 112%,rgba(32,146,92,.44),transparent 46%),
    linear-gradient(116deg,#0a2144 0%,#0f3157 24%,#11403c 58%,#13512f 82%,#145a33 100%);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
/* ===== "Talk to Our Agent" now sits in a glass card, matching "Send us a message" ===== */
#contact .personal-assistance-intro{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:100% !important;
  margin:0 !important;
  padding:18px 18px 35px !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.075) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 34px rgba(0,0,0,.16) !important;
  text-align:center !important;
}
@media (max-width:520px){
  #contact .personal-assistance-intro{
    padding:20px 15px 22px !important;
  }
}
/* ===== Section footer note: centred under both cards ===== */
#contact .personal-contact-footnote{
  grid-column:1 / -1;
  justify-self:center;
  text-align:center;
  margin:24px auto 0 !important;
  color:rgba(255,255,255,.64);
  font-size:.73rem;
  font-weight:500;
  letter-spacing:.01em;
  line-height:1.5;
}
#contact .personal-contact-footnote i{
  margin-right:.38rem;
  color:var(--accent-gold);
}
@media (max-width:900px){
  #contact .personal-contact-footnote{
    margin-top:26px !important;
  }
}

/* ===== Larger type throughout the "Send us a message" card ===== */
#contact .personal-message-card .personal-message-head strong{
  font-size:1.06rem;
  line-height:1.3;
}
#contact .personal-message-card .personal-message-head small{
  font-size:.8rem;
  line-height:1.45;
}
#contact .personal-message-card .personal-message-icon{
  width:40px;
  height:40px;
  font-size:1.05rem;
}
#contact .personal-message-card label{
  font-size:.84rem;
  letter-spacing:.01em;
  margin-bottom:7px;
}
#contact .personal-message-card label small{
  font-size:.73rem;
}
#contact .personal-message-card input,
#contact .personal-message-card select,
#contact .personal-message-card textarea{
  font-size:.95rem !important;
}
#contact .personal-message-card input,
#contact .personal-message-card select{
  min-height:47px !important;
  padding:10px 12px !important;
}
#contact .personal-message-card textarea{
  min-height:106px !important;
  padding:11px 12px !important;
}
#contact .personal-message-card .form-group{
  margin-bottom:13px !important;
}
#contact .personal-contact-btn strong{
  font-size:.9rem;
}
#contact .personal-contact-btn small{
  font-size:.73rem;
}
#contact .personal-attach-control strong{
  font-size:.95rem;
}
#contact .personal-attach-control small{
  font-size:.8rem;
}
#contact .personal-attach-list li{
  font-size:.8rem;
}
#contact .personal-attach-note{
  font-size:.8rem;
}
/* ===== "Talk to Our Agent" type scaled to match "Send us a message" ===== */
#contact .personal-assistance-intro .personal-agent-head strong{
  font-size:1.06rem;
  line-height:1.3;
}
#contact .personal-assistance-intro .personal-agent-head small{
  font-size:.8rem;
  line-height:1.45;
}
#contact .personal-assistance-intro > p{
  font-size:.95rem;
  line-height:1.62;
}
#contact .personal-assistance-intro .personal-agent-card h4{
  font-size:1.2rem;
}
#contact .personal-assistance-intro .personal-agent-role,
#contact .personal-assistance-intro .personal-agent-agency{
  font-size:.84rem;
}
#contact .personal-assistance-intro .personal-agent-contact,
#contact .personal-assistance-intro .personal-agent-contact a,
#contact .personal-assistance-intro .personal-agent-contact i{
  font-size:.88rem;
}
#contact .personal-assistance-trust > span{
  padding:.5rem .55rem;
  font-size:.8rem;
  white-space:nowrap;
}
#contact .personal-assistance-trust > span i{
  font-size:.8rem;
}
#contact .personal-agent-cta-btn,
#contact .personal-agent-cta-btn i{
  font-size:.9rem;
}
/* ===== Left-aligned, justified agent copy to mirror "Send us a message" ===== */
#contact .personal-assistance-intro{
  align-items:flex-start !important;
  text-align:left !important;
}
#contact .personal-assistance-intro > p{
  width:100%;
  text-align:justify;
  text-justify:inter-word;
}
#contact .personal-assistance-intro .personal-agent-head{
  justify-content:flex-start !important;
  width:100%;
}
#contact .personal-assistance-intro .personal-agent-card{
  justify-content:flex-start !important;
  width:100%;
}
#contact .personal-assistance-intro .personal-assistance-trust{
  margin:1.2rem 0 0 !important;
}
#contact .personal-assistance-intro .personal-agent-cta{
  margin:1.45rem 0 0 !important;
}
/* ===== "Send Us a Message" header: glowing title + icon matching "Talk to Our Agent" ===== */
#contact .personal-message-card .personal-message-head strong{
  font-size:1.05rem !important;
  font-weight:800 !important;
  letter-spacing:.005em;
  line-height:1.2;
  color:#fff;
  text-shadow:0 0 16px rgba(212,175,55,.50),0 0 32px rgba(212,175,55,.26);
}
/* Same gold square as the agent card's call button. */
#contact .personal-message-card .personal-message-icon{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#f2c94c,#d4af37) !important;
  color:#173b2c !important;
  font-size:1.15rem !important;
  box-shadow:0 8px 20px rgba(180,140,30,.35),0 0 22px rgba(212,175,55,.32);
}

/* Align both card headers to the same baseline, then spread the spare space
   through the blocks below so the two cards stay the same height. */
#contact .personal-assistance-intro .personal-agent-head{
  margin-top:0 !important;
}
#contact .personal-assistance-intro .personal-assistance-trust{
  margin-top:1.65rem !important;
}
#contact .personal-assistance-intro .personal-agent-cta{
  margin-top:1.9rem !important;
}
/* More breathing room between the two agent paragraphs (bottom padding
   trimmed by the same amount so the two cards stay level). */
#contact .personal-assistance-intro > p + p{
  margin-top:1.5rem !important;
}