:root{
  --pe-navy:#071a2f;
  --pe-navy-2:#0c2238;
  --pe-blue:#123a5a;
  --pe-gold:#d6b342;
  --pe-gold-2:#b99025;
  --pe-cream:#f8f5ed;
  --pe-ink:#101820;
  --pe-muted:#6b7280;
  --pe-card:#ffffff;
  --pe-border:rgba(214,179,66,.25);
  --pe-shadow:0 22px 60px rgba(7,26,47,.12);
  --pe-radius:28px;
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--pe-ink);background:#fbfaf7;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 5%,rgba(214,179,66,.12),transparent 34rem),radial-gradient(circle at 0% 18%,rgba(18,58,90,.08),transparent 28rem);z-index:-1}
.site-nav{background:rgba(7,26,47,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,179,66,.18)}
.navbar-brand img{height:48px;width:auto}.nav-link{color:rgba(255,255,255,.78)!important;font-weight:700;font-size:.94rem}.nav-link:hover,.nav-link.active{color:#fff!important}.navbar-toggler{border-color:rgba(255,255,255,.18)}.navbar-toggler-icon{filter:invert(1)}
.btn-gold{--bs-btn-bg:var(--pe-gold);--bs-btn-border-color:var(--pe-gold);--bs-btn-color:#071a2f;--bs-btn-hover-bg:#e5c75d;--bs-btn-hover-border-color:#e5c75d;font-weight:800;border-radius:999px;box-shadow:0 14px 34px rgba(214,179,66,.28)}
.btn-outline-gold{--bs-btn-color:#fff;--bs-btn-border-color:rgba(214,179,66,.58);--bs-btn-hover-bg:var(--pe-gold);--bs-btn-hover-border-color:var(--pe-gold);--bs-btn-hover-color:#071a2f;font-weight:800;border-radius:999px}.btn-soft{background:#fff;border:1px solid rgba(7,26,47,.14);border-radius:999px;font-weight:800;color:var(--pe-navy)}
.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#071a2f 0%,#0b2540 48%,#123a5a 100%);color:#fff;padding:140px 0 82px}.hero::after{content:"";position:absolute;inset:auto -8% -18% -8%;height:260px;background:linear-gradient(180deg,transparent,rgba(251,250,247,.92));pointer-events:none}.hero .container{position:relative;z-index:2}.hero-logo{max-width:min(420px,92%);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}.eyebrow{display:inline-flex;gap:.5rem;align-items:center;padding:.45rem .8rem;border:1px solid rgba(214,179,66,.38);border-radius:999px;color:#fff;background:rgba(255,255,255,.08);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-size:clamp(2.15rem,5vw,4.55rem);line-height:1.02;font-weight:900;letter-spacing:-.06em}.hero p.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.82);max-width:680px}.hero-art{position:relative}.hero-art img{width:100%;height:auto;filter:drop-shadow(0 26px 80px rgba(214,179,66,.18))}.contact-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:1rem;backdrop-filter:blur(10px)}
.trust-strip{margin-top:2rem}.trust-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:1rem;color:rgba(255,255,255,.9);height:100%}.trust-icon{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:14px;background:rgba(214,179,66,.15);color:var(--pe-gold)}
.section{padding:86px 0}.section-sm{padding:58px 0}.section-title{font-size:clamp(2rem,4vw,3.25rem);font-weight:900;letter-spacing:-.045em;color:var(--pe-navy)}.section-lead{font-size:1.08rem;color:var(--pe-muted);max-width:760px}.card-premium{background:var(--pe-card);border:1px solid rgba(7,26,47,.08);border-radius:var(--pe-radius);box-shadow:var(--pe-shadow);height:100%}.glass-dark{background:linear-gradient(145deg,rgba(7,26,47,.94),rgba(18,58,90,.92));border:1px solid rgba(214,179,66,.22);border-radius:var(--pe-radius);box-shadow:var(--pe-shadow);color:#fff}.gold-line{width:74px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--pe-gold),transparent)}.icon-bubble{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(214,179,66,.12);color:var(--pe-gold);margin-bottom:1rem}.icon-bubble svg{width:28px;height:28px}.method-step{position:relative;padding:1.35rem}.step-number{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:999px;border:1px solid rgba(214,179,66,.45);display:grid;place-items:center;font-weight:900;color:var(--pe-gold)}
.service-card{transition:.18s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 28px 75px rgba(7,26,47,.16)}.mindset{background:linear-gradient(145deg,#071a2f,#0b2945 55%,#071a2f);color:#fff;overflow:hidden}.mindset .section-title{color:#fff}.mindset .section-lead{color:rgba(255,255,255,.75)}.mindset-art{opacity:.96}.check-list{list-style:none;margin:0;padding:0}.check-list li{display:flex;gap:.75rem;align-items:flex-start;margin:.85rem 0}.check{flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:rgba(214,179,66,.14);color:var(--pe-gold);display:grid;place-items:center;font-weight:900}.location-card{background:linear-gradient(145deg,#fff,#f7f1de);border:1px solid rgba(214,179,66,.22);border-radius:var(--pe-radius);box-shadow:var(--pe-shadow)}.map-card{min-height:260px;border-radius:24px;background:linear-gradient(145deg,#0b2239,#102e4d);position:relative;overflow:hidden;color:#fff;border:1px solid rgba(214,179,66,.25)}.map-card::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px;transform:rotate(-8deg) scale(1.25);opacity:.65}.map-card>*{position:relative}.faq .accordion-item{border:1px solid rgba(7,26,47,.1);border-radius:18px!important;overflow:hidden;margin-bottom:1rem;box-shadow:0 12px 36px rgba(7,26,47,.06)}.faq .accordion-button{font-weight:800;color:var(--pe-navy);box-shadow:none}.faq .accordion-button:not(.collapsed){background:#fff7de;color:var(--pe-navy)}.testimonial-placeholder{border:1px dashed rgba(214,179,66,.46);background:rgba(214,179,66,.06)}
.cta{background:linear-gradient(145deg,#071a2f,#123a5a);color:#fff;border-radius:36px;overflow:hidden;position:relative}.cta::before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 75% 30%,rgba(214,179,66,.2),transparent 24rem)}.cta>*{position:relative}.footer{background:#061525;color:rgba(255,255,255,.76);padding:42px 0}.footer img{height:44px}.footer a{color:rgba(255,255,255,.74);text-decoration:none}.footer a:hover{color:#fff}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:999px;background:#25d366;color:#fff;display:grid;place-items:center;z-index:50;box-shadow:0 18px 40px rgba(37,211,102,.36);text-decoration:none}.whatsapp-float svg{width:32px;height:32px}.modal-content{border:0;border-radius:28px;overflow:hidden}.modal-header{background:linear-gradient(145deg,#071a2f,#123a5a);color:#fff;border:0}.modal-body .choice{display:block;text-decoration:none;color:inherit;border:1px solid rgba(7,26,47,.09);border-radius:20px;padding:1rem;transition:.18s ease}.modal-body .choice:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(7,26,47,.1)}@media(max-width:991px){.hero{padding-top:118px}.navbar-brand img{height:40px}.section{padding:64px 0}.hero-art{margin-top:2rem}}

/* V2 public site refinements */
.hero .eyebrow{margin-top:.5rem}
.map-card{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--pe-border);background:#071a2f;box-shadow:var(--pe-shadow)}
.map-card img{display:block;width:100%;height:auto}
.map-card-caption{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(7,26,47,.82);backdrop-filter:blur(12px);border:1px solid rgba(214,179,66,.28);border-radius:18px;padding:16px;color:#fff}
.map-card-caption strong{display:block;color:var(--pe-gold);font-size:1.05rem}
.map-card-caption span{display:block;color:rgba(255,255,255,.78)}
.contact-form-card{background:#fff;border-radius:28px;padding:32px;box-shadow:var(--pe-shadow);border:1px solid var(--pe-border)}
.contact-stack{display:grid;gap:12px}
.contact-stack a{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(214,179,66,.22);border-radius:18px;padding:16px 18px}
.contact-stack a span{color:rgba(255,255,255,.72)}
.social-row,.footer-social{display:flex;gap:12px;flex-wrap:wrap}
.social-row a,.footer-social a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid rgba(214,179,66,.28);border-radius:999px;padding:8px 14px;color:var(--pe-gold);font-weight:800}
.footer-social a:hover,.social-row a:hover{background:rgba(214,179,66,.12)}
.register-page{min-height:100vh;background:radial-gradient(circle at 85% 0,rgba(214,179,66,.16),transparent 32rem),linear-gradient(135deg,#06172a,#123a5a);padding:40px 0}
.register-card{background:#fff;border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.22);border:1px solid rgba(214,179,66,.22)}
.register-brand img{max-width:240px}
.form-hint{font-size:.9rem;color:#6b7280}
.alert-soft{background:#f8f5ed;border:1px solid rgba(214,179,66,.28);border-radius:18px}


/* ===== Public Site V3 refinements ===== */
.review-card{
  background: rgba(255,255,255,0.98);
  border: 1px solid rgba(199,161,52,0.55);
  box-shadow: 0 18px 40px rgba(4,20,36,0.08);
}
.review-card .stars{
  color: var(--pe-gold);
  letter-spacing: .14rem;
  font-size: 1.1rem;
}
.review-card span{
  color: #7b6b3e;
  font-weight: 700;
}
.map-card{
  border: 1px solid rgba(199,161,52,0.26);
  overflow: hidden;
}
.map-card img{
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}
.map-card-caption{
  background: linear-gradient(180deg, rgba(6,20,36,0.20), rgba(6,20,36,0.88));
}
.contact-premium-shell{
  background: linear-gradient(135deg, rgba(5,22,38,0.95), rgba(12,42,70,0.92));
  border: 1px solid rgba(214,179,66,0.18);
  border-radius: 32px;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  box-shadow: 0 24px 80px rgba(2,16,30,0.28);
}
.contact-intro-panel{
  padding: clamp(1rem, 2vw, 1.25rem);
}
.contact-premium-list{
  display: grid;
  gap: 14px;
}
.contact-premium-list a{
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: #fff;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(214,179,66,0.22);
  background: rgba(255,255,255,0.06);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.contact-premium-list a:hover{
  transform: translateY(-2px);
  border-color: rgba(214,179,66,0.45);
  background: rgba(255,255,255,0.10);
}
.contact-icon{
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(214,179,66,0.95), rgba(184,145,37,0.95));
  color: #0b2036;
  font-size: 1.2rem;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}
.contact-copy{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contact-copy strong{
  color: #fff;
  font-size: 1rem;
}
.contact-copy small{
  color: rgba(255,255,255,0.72);
  font-size: .92rem;
}
.contact-social-premium{
  display: flex;
  gap: 12px;
}
.contact-social-premium a{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--pe-gold);
  border: 1px solid rgba(214,179,66,0.35);
  background: rgba(255,255,255,0.05);
  font-size: 1.2rem;
  transition: all .2s ease;
}
.contact-social-premium a:hover{
  color: #0b2036;
  background: var(--pe-gold);
  border-color: var(--pe-gold);
  transform: translateY(-2px);
}
.premium-form-card{
  padding: clamp(1.6rem, 2vw, 2rem);
  border: 1px solid rgba(214,179,66,0.20);
  box-shadow: 0 24px 64px rgba(0,0,0,0.14);
}
.premium-form-card .form-control,
.premium-form-card .form-select{
  border-radius: 16px;
  border-color: rgba(11,32,54,0.12);
}
.premium-form-card .form-control:focus,
.premium-form-card .form-select:focus{
  border-color: rgba(199,161,52,0.6);
  box-shadow: 0 0 0 .25rem rgba(199,161,52,0.16);
}
.mini-badge{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1rem;
  border-radius: 999px;
  background: rgba(214,179,66,0.10);
  color: #6f5620;
  font-weight: 700;
  border: 1px solid rgba(214,179,66,0.26);
}
.footer-social{ display:none !important; }

@media (max-width: 991.98px){
  .map-card img{ min-height: 320px; }
}
