/* Global Connect Advisor · servicios (servicios/advisor.html).
   Layout of the approved design (globalconnect_advisor_servicios.html), set in the site's own type scale and
   components (styles.css + products.css): titles 48/60 (h1) and 40/46 (h2), lead 18/28, card titles 20/24, text
   16/24, the site's pill buttons (.btn) and FAQ (.faq). Advisor's colour is the purple of its logo. */
.p-advisor{--adv:#5b30d6;--adv-ink:#2b2160;--adv-soft:#efeafd;--adv-tint:#f7f5fe;--adv-line:#ebe6f7;--adv-blob:#e6dcfb;}
/* Zero specificity (:where), so the spacing set on each component below always wins over this reset. */
:where(.p-advisor main) :where(h1,h2,h3,p){margin:0;}
.adv-ico{flex:none;display:grid;place-items:center;border-radius:50%;background:var(--adv-soft);color:var(--adv-ink);}
.adv-ico svg{width:45%;height:45%;}
.adv-blob{position:absolute;z-index:0;border-radius:50%;background:var(--adv-blob);pointer-events:none;}
.adv-link{display:inline-flex;align-items:center;gap:10px;color:var(--adv);font-weight:600;font-size:16px;line-height:24px;text-decoration:none;}
.adv-link svg{width:18px;height:18px;transition:transform .2s;}
.adv-link:hover svg{transform:translateX(3px);}
/* Read by screen readers and agents only (section title the design does not show). */
.adv-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.adv-h2{font-size:40px;line-height:46px;font-weight:700;color:var(--ink);}
.adv-lead{font-size:18px;line-height:28px;color:var(--ink-2);}

/* ── Hero + services ── */
.adv-hero{position:relative;overflow:hidden;padding:80px 0 100px;background:#fff;}
.adv-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:56px;align-items:center;}
.adv-hero__grid>*:not(.adv-blob){position:relative;z-index:1;}
.adv-hero .adv-blob.b1{width:260px;height:260px;left:-210px;top:-160px;}
.adv-hero .adv-blob.b2{width:420px;height:420px;right:-200px;top:-20px;background:#efe8fd;}
.adv-hero__logo{display:block;width:270px;max-width:62vw;height:auto;}
.adv-hero h1{margin-top:32px;font-size:48px;line-height:60px;font-weight:400;color:var(--ink);}
.adv-hero h1 strong{display:block;font-weight:700;}
.adv-hero .adv-lead{margin-top:24px;max-width:620px;}
.adv-hero .btn{margin-top:32px;}
.adv-hero__photo{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 22px 50px rgba(20,22,26,.12);}

.adv-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px;}
.adv-service{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--adv-line);border-radius:16px;transition:transform .25s,box-shadow .25s;}
.adv-service:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(91,48,214,.10);}
.adv-service>img{display:block;width:100%;height:auto;aspect-ratio:231/120;object-fit:cover;}
.adv-service__body{display:flex;flex-direction:column;flex:1;padding:24px;}
.adv-service__head{display:flex;align-items:center;gap:18px;}
.adv-service__head .adv-ico{width:58px;height:58px;}
.adv-service h3{font-size:20px;line-height:24px;font-weight:700;color:var(--ink);}
.adv-service p{flex:1;margin-top:16px;padding-left:76px;font-size:16px;line-height:24px;color:var(--ink-2);}
.adv-service .adv-link{margin-top:18px;padding-left:76px;}

/* ── For you and your family ── */
.adv-family{position:relative;overflow:hidden;padding:100px 0;background:var(--adv-tint);}
.adv-family__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:center;}
.adv-family .adv-h2{max-width:640px;}
.adv-family .adv-lead{margin-top:16px;max-width:640px;}
.adv-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;}
.adv-feat{display:flex;gap:14px;align-items:flex-start;}
.adv-feat .adv-ico{width:48px;height:48px;background:#e9e2fc;}
/* Compact items, as the site's small cards (.svc-card / .value-card text 14/20). */
.adv-feat h3{margin-top:2px;font-size:16px;line-height:22px;font-weight:700;color:var(--ink);}
.adv-feat p{margin-top:8px;font-size:14px;line-height:20px;color:var(--ink-2);}
.adv-family__media{position:relative;}
.adv-family__media img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 20px 44px rgba(20,22,26,.12);}
.adv-family .adv-blob{width:40%;aspect-ratio:1;top:-12%;right:-14%;}

/* ── What we consider (profile map) ── */
.adv-map-sec{padding:100px 0;background:#fff;}
.adv-head{max-width:1100px;margin:0 auto;text-align:center;}
.adv-head .adv-lead{margin-top:16px;}
.adv-map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.42fr);gap:40px;align-items:center;margin-top:48px;}
.adv-map{position:relative;aspect-ratio:1170/520;}
.adv-map__list{position:absolute;inset:0;margin:0;padding:0;list-style:none;}
.adv-map__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.adv-map__lines path{fill:none;stroke:#a993ec;stroke-width:1.6;stroke-dasharray:4 4;}
.adv-map__lines circle{fill:#fff;stroke:#a993ec;stroke-width:1.6;}
.adv-node{position:absolute;box-sizing:border-box;display:flex;align-items:center;gap:20px;padding:0 24px;background:#fff;border:1px solid #e6e1f3;border-radius:14px;}
.adv-node .adv-ico{width:clamp(44px,5.5vw,72px);aspect-ratio:1;background:#f0ebfd;}
.adv-node span:last-child{font-size:16px;line-height:22px;font-weight:600;color:var(--ink);}
.adv-node--center{flex-direction:column;justify-content:center;gap:10px;padding:7px;box-shadow:0 14px 30px rgba(91,48,214,.10);}
.adv-node--center>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;border-radius:10px;background:#f1edfd;}
.adv-node--center .adv-ico{width:clamp(40px,4.4vw,60px);background:#e4dbfb;}
.adv-node--center strong{font-size:20px;line-height:24px;font-weight:700;color:var(--ink);}
.adv-result{position:relative;overflow:hidden;padding:40px;background:var(--adv-tint);border:1px solid #efeafb;border-radius:22px;box-shadow:0 14px 34px rgba(91,48,214,.06);}
.adv-result>*:not(.adv-blob){position:relative;}
.adv-result .adv-blob{width:150px;height:150px;top:-20px;right:-60px;background:#ebe4fc;box-shadow:-10px 70px 0 -6px #efe9fd;}
.adv-result .adv-ico{width:96px;height:96px;background:#ece6fc;}
.adv-result h3{margin-top:32px;font-size:32px;line-height:38px;font-weight:700;color:var(--ink);}
.adv-result p{margin-top:12px;font-size:18px;line-height:28px;color:var(--ink-2);}
.adv-result .btn{margin-top:32px;}

/* ── Exams and requirements ── */
.adv-exams{padding:100px 0;background:#ece6fb url(../img/advisor/hero-pattern.webp) repeat-y center top/100% auto;}
.adv-exam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px;}
.adv-exam{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid var(--adv-line);border-radius:16px;transition:transform .25s,box-shadow .25s;}
.adv-exam:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(91,48,214,.10);}
.adv-exam .adv-ico{width:66px;height:66px;border-radius:14px;}
.adv-exam h3{margin-top:24px;font-size:20px;line-height:24px;font-weight:700;color:var(--ink);}
.adv-exam p{flex:1;margin-top:10px;font-size:16px;line-height:24px;color:var(--ink-2);}

/* ── Closing call to action ── */
.adv-cta{padding:0 0 100px;background:#fff;}
.adv-cta__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:56px;align-items:center;}
.adv-cta__media img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 18px 40px rgba(20,22,26,.10);}
.adv-cta__text{position:relative;}
.adv-cta__text>*:not(.adv-blob){position:relative;z-index:1;}
.adv-cta .adv-blob.b1{width:150px;height:150px;top:-30px;right:-20px;}
.adv-cta .adv-blob.b2{width:42px;height:42px;top:150px;right:6px;}
.adv-cta .adv-h2{max-width:560px;}
.adv-cta .adv-lead{margin-top:16px;max-width:560px;}
.adv-cta .btn{margin-top:32px;}

@media (max-width:1199px){
  .adv-feats{grid-template-columns:minmax(0,1fr);gap:20px;}
}
@media (max-width:991px){
  .adv-hero{padding:56px 0 80px;}
  .adv-hero__grid,.adv-family__grid,.adv-map-grid,.adv-cta__grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .adv-hero__media,.adv-family__media,.adv-cta__media{max-width:640px;}
  .adv-blob{display:none;}
  .adv-services{grid-template-columns:minmax(0,1fr);max-width:560px;}
  .adv-feats{grid-template-columns:repeat(3,minmax(0,1fr));}
  .adv-map{aspect-ratio:auto;}
  .adv-map__list{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .adv-map__lines{display:none;}
  .adv-node{position:static;width:auto!important;height:auto!important;min-height:86px;padding:14px 16px;}
  .adv-node--center{grid-column:1/-1;order:-1;}
  .adv-node--center>div{padding:16px;}
  .adv-node br{display:none;}
  .adv-result{max-width:560px;}
}
@media (max-width:767px){
  .adv-family,.adv-map-sec,.adv-exams{padding:60px 0;}
  .adv-cta{padding:0 0 60px;}
  .adv-hero h1{font-size:34px;line-height:42px;}
  .adv-h2{font-size:28px;line-height:34px;}
  .adv-lead{font-size:16px;line-height:24px;}
  .adv-feats,.adv-exam-grid{grid-template-columns:minmax(0,1fr);}
  .adv-feat h3 br{display:none;}
  .adv-result{padding:28px;}
  .adv-result h3{font-size:26px;line-height:32px;}
}
@media (max-width:640px){
  .adv-service p,.adv-service .adv-link{padding-left:0;}
}
@media (max-width:480px){
  .adv-map__list{grid-template-columns:minmax(0,1fr);}
}
/* The arrow is a real link (booking an advising call), sized for touch (44px target). */
.adv-exam__go{align-self:flex-start;margin-top:20px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;color:var(--ink);text-decoration:none;transition:background .2s,color .2s;}
.adv-exam__go:hover,.adv-exam__go:focus-visible{background:var(--ink);color:#fff;}
.adv-exam__go svg{width:16px;height:16px;}
