:root{
  --blue:#3b8fdc;
  --blue-dark:#173a5c;
  --blue-strong:#2d77bd;
  --blue-soft:#eaf5ff;
  --blue-pale:#f7fbff;
  --orange:#ffb21a;
  --orange-dark:#ef9800;
  --orange-soft:#fff4d8;
  --ink:#17324a;
  --muted:#66788a;
  --line:#d9e7f2;
  --white:#ffffff;
  --shadow:0 18px 44px rgba(20,54,84,.10);
  --shadow-soft:0 10px 24px rgba(20,54,84,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.container{width:min(1200px,calc(100% - 34px));margin-inline:auto}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(217,231,242,.85)
}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{display:block;width:152px;height:auto}
.nav-tabs{display:flex;align-items:center;gap:10px}
.nav-link,.footer-nav{
  border:0;background:transparent;color:var(--muted);font-weight:800;
  padding:11px 16px;border-radius:999px
}
.nav-link.active,.nav-link:hover{background:var(--blue-soft);color:var(--blue-strong)}

/* Hero */
.hero-section{padding:24px 0 54px}
.hero-shell{
  position:relative;overflow:hidden;border-radius:34px;
  display:grid;grid-template-columns:minmax(330px,405px) 1fr;gap:28px;
  padding:24px;min-height:550px;border:1px solid #e3eef7;
  background:linear-gradient(135deg,#eef7ff 0%,#fbfdff 55%,#fff7e8 100%)
}
.hero-glow{position:absolute;border-radius:999px;filter:blur(8px);opacity:.55;pointer-events:none}
.hero-glow-a{width:260px;height:260px;background:#dfefff;right:-60px;top:-40px}
.hero-glow-b{width:230px;height:230px;background:#ffe9b9;left:48%;bottom:-70px}
.hero-shell.view-inicio{background:linear-gradient(135deg,#eef7ff 0%,#fcfdff 55%,#fff7e8 100%)}
.hero-shell.view-terapias{background:linear-gradient(135deg,#eef8ff 0%,#fbfdff 55%,#f2f9ff 100%)}
.hero-shell.view-psicologia{background:linear-gradient(135deg,#fff8ea 0%,#fbfdff 55%,#eef7ff 100%)}

/* Form */
.lead-card{
  position:relative;z-index:2;background:#fff;border-radius:26px;
  padding:20px 21px 18px;box-shadow:var(--shadow);align-self:start
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;
  letter-spacing:.09em;font-weight:900;font-size:.74rem;color:var(--blue-strong)
}
.lead-copy h1{margin:5px 0 4px;font-size:clamp(1.42rem,2vw,1.88rem);line-height:1.04}
.lead-copy p{margin:0 0 3px;color:var(--muted);font-size:.91rem;line-height:1.38}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 11px}
.full-row{grid-column:1 / -1}
.age-fieldset{border:0;padding:0;margin:7px 0 0}
.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
label span,.age-fieldset legend{display:block;font-size:.79rem;font-weight:800;margin:0 0 4px}
input,textarea{
  width:100%;border:1px solid #c8d9e7;outline:none;background:#fff;color:var(--ink)
}
input{border-radius:999px;padding:9px 13px}
textarea{
  border-radius:16px;padding:10px 12px;resize:vertical;min-height:54px;max-height:100px;
  line-height:1.35
}
input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,143,220,.13)}
input.invalid,textarea.invalid{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.10)}
.field-error{display:block;min-height:.55em;font-size:.68rem;color:#c84540;font-weight:700;margin-top:2px}
.reason-field{display:block;margin-top:7px}
.reason-field em{font-style:normal;color:var(--muted);font-weight:700}
.consent{display:flex;align-items:flex-start;gap:8px;margin:8px 0 10px}
.consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--blue)}
.consent span{font-size:.76rem;line-height:1.28;color:var(--muted);font-weight:700}
.consent a{color:var(--blue-strong);font-weight:900}
.sensitive-consent[hidden]{display:none}
.sensitive-consent{
  margin-top:-3px;padding:9px 10px;border-radius:13px;
  background:#fff9e9;border:1px solid #f2dfac
}
.sensitive-consent span{color:#5f5232}
.cta-primary,.cta-secondary{border:0;border-radius:999px;font-weight:900;transition:.2s ease}
.cta-primary{width:100%;padding:12px 18px;background:var(--orange);color:#203042;font-size:.94rem}
.cta-primary:hover,.cta-secondary:hover{background:var(--orange-dark);transform:translateY(-1px)}
.form-status{font-size:.76rem;margin:6px 0 0;min-height:1em;color:var(--blue-strong);font-weight:800}

/* Phone + country */
.phone-group{display:grid;grid-template-columns:118px 1fr;gap:8px;align-items:center}
.country-code{
  display:none;width:100%;min-width:0;border:1px solid #c8d9e7;background:#fff;
  color:var(--ink);outline:none;border-radius:999px;padding:8px 10px;font-size:.82rem
}
.custom-country-code{position:relative;display:flex;align-items:center}
.custom-country-code[hidden]{display:none}
.custom-country-code .plus-sign{
  position:absolute;left:11px;z-index:1;margin:0;font-size:.82rem;color:var(--muted);pointer-events:none
}
.custom-country-code input{padding-left:24px}
.phone-group.has-custom{grid-template-columns:118px 92px 1fr}
.country-picker{position:relative;display:block;min-width:0}
.country-picker-button{
  width:100%;min-width:0;min-height:42px;border:1px solid #c8d9e7;background:#fff;
  color:var(--ink);border-radius:999px;padding:9px 12px;display:flex;align-items:center;
  justify-content:space-between;gap:8px;font-size:.82rem;outline:none
}
.country-picker-button:hover,.country-picker-button:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,143,220,.12)
}
.country-picker-value{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:22px;line-height:1}
.country-picker-value .dial-label{display:inline-flex;align-items:center;line-height:1}
.country-picker-chevron{
  width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:none;
  color:var(--muted);transition:transform .18s ease,color .18s ease
}
.country-picker-chevron svg{width:16px;height:16px;display:block}
.country-picker-chevron path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.country-picker.open .country-picker-chevron{transform:rotate(180deg);color:var(--blue-strong)}
.country-picker-menu{
  position:absolute;top:calc(100% + 6px);left:0;width:250px;max-height:310px;overflow:auto;
  z-index:200;background:#fff;border:1px solid #d7e4ee;border-radius:16px;
  box-shadow:0 16px 38px rgba(20,54,84,.18);padding:6px;display:none
}
.country-picker.open .country-picker-menu{display:block}
.country-picker-option{
  width:100%;border:0;background:transparent;color:var(--ink);border-radius:10px;padding:9px 10px;
  display:flex;align-items:center;gap:10px;text-align:left;font-size:.84rem
}
.country-picker-option:hover,.country-picker-option.active{background:var(--blue-soft);color:var(--blue-strong)}
.country-picker-option .flag,.flag-icon{
  width:26px;height:18px;display:block;border-radius:3px;border:1px solid rgba(23,58,92,.14);
  overflow:hidden;flex:none;position:relative;background:#f1f4f7
}
.country-picker-option .country-text{white-space:nowrap}

/* Flags */
.flag-pe,.country-picker-option[data-country="PE"] .flag{background:linear-gradient(90deg,#d91023 0 33.33%,#fff 33.33% 66.66%,#d91023 66.66% 100%)}
.flag-ar,.country-picker-option[data-country="AR"] .flag{background:linear-gradient(#74acdf 0 33.33%,#fff 33.33% 66.66%,#74acdf 66.66% 100%)}
.flag-bo,.country-picker-option[data-country="BO"] .flag{background:linear-gradient(#d52b1e 0 33.33%,#f9e300 33.33% 66.66%,#007934 66.66% 100%)}
.flag-br,.country-picker-option[data-country="BR"] .flag{background:#009c3b}
.flag-br::before,.country-picker-option[data-country="BR"] .flag::before{content:"";position:absolute;left:7px;top:3px;width:12px;height:12px;background:#ffdf00;transform:rotate(45deg)}
.flag-cl,.country-picker-option[data-country="CL"] .flag{background:linear-gradient(#fff 0 50%,#d52b1e 50% 100%)}
.flag-cl::before,.country-picker-option[data-country="CL"] .flag::before{content:"";position:absolute;left:0;top:0;width:10px;height:9px;background:#0039a6}
.flag-co,.country-picker-option[data-country="CO"] .flag{background:linear-gradient(#fcd116 0 50%,#003893 50% 75%,#ce1126 75% 100%)}
.flag-cr,.country-picker-option[data-country="CR"] .flag{background:linear-gradient(#002b7f 0 20%,#fff 20% 40%,#ce1126 40% 60%,#fff 60% 80%,#002b7f 80% 100%)}
.flag-cu,.country-picker-option[data-country="CU"] .flag{background:repeating-linear-gradient(#002a8f 0 3.6px,#fff 3.6px 7.2px)}
.flag-ec,.country-picker-option[data-country="EC"] .flag{background:linear-gradient(#ffd100 0 50%,#034ea2 50% 75%,#ed1c24 75% 100%)}
.flag-sv,.country-picker-option[data-country="SV"] .flag,
.flag-gt,.country-picker-option[data-country="GT"] .flag,
.flag-hn,.country-picker-option[data-country="HN"] .flag,
.flag-ni,.country-picker-option[data-country="NI"] .flag{background:linear-gradient(#2f6ab3 0 33.33%,#fff 33.33% 66.66%,#2f6ab3 66.66% 100%)}
.flag-mx,.country-picker-option[data-country="MX"] .flag{background:linear-gradient(90deg,#006847 0 33.33%,#fff 33.33% 66.66%,#ce1126 66.66% 100%)}
.flag-pa,.country-picker-option[data-country="PA"] .flag{background:linear-gradient(90deg,#fff 0 50%,#d21034 50% 100%)}
.flag-py,.country-picker-option[data-country="PY"] .flag{background:linear-gradient(#d52b1e 0 33.33%,#fff 33.33% 66.66%,#0038a8 66.66% 100%)}
.flag-uy,.country-picker-option[data-country="UY"] .flag{background:repeating-linear-gradient(#fff 0 2px,#5bc0eb 2px 4px)}
.flag-ve,.country-picker-option[data-country="VE"] .flag{background:linear-gradient(#f4d900 0 33.33%,#0033a0 33.33% 66.66%,#cf142b 66.66% 100%)}
.flag-us,.country-picker-option[data-country="US"] .flag{background:repeating-linear-gradient(#b22234 0 1.4px,#fff 1.4px 2.8px)}
.flag-ca,.country-picker-option[data-country="CA"] .flag{background:linear-gradient(90deg,#d80621 0 25%,#fff 25% 75%,#d80621 75% 100%)}
.flag-es,.country-picker-option[data-country="ES"] .flag{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%)}
.flag-it,.country-picker-option[data-country="IT"] .flag{background:linear-gradient(90deg,#009246 0 33.33%,#fff 33.33% 66.66%,#ce2b37 66.66% 100%)}
.flag-fr,.country-picker-option[data-country="FR"] .flag{background:linear-gradient(90deg,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66% 100%)}
.flag-de,.country-picker-option[data-country="DE"] .flag{background:linear-gradient(#000 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66% 100%)}
.flag-gb,.country-picker-option[data-country="GB"] .flag{background:linear-gradient(135deg,#012169 0 45%,#fff 45% 55%,#c8102e 55% 65%,#012169 65% 100%)}
.flag-pt,.country-picker-option[data-country="PT"] .flag{background:linear-gradient(90deg,#046a38 0 40%,#da291c 40% 100%)}
.flag-ch,.country-picker-option[data-country="CH"] .flag{background:#d52b1e}
.flag-ch::before,.country-picker-option[data-country="CH"] .flag::before{content:"";position:absolute;left:11px;top:3px;width:4px;height:12px;background:#fff}
.flag-ch::after,.country-picker-option[data-country="CH"] .flag::after{content:"";position:absolute;left:7px;top:7px;width:12px;height:4px;background:#fff}
.flag-nl,.country-picker-option[data-country="NL"] .flag{background:linear-gradient(#ae1c28 0 33.33%,#fff 33.33% 66.66%,#21468b 66.66% 100%)}
.flag-be,.country-picker-option[data-country="BE"] .flag{background:linear-gradient(90deg,#000 0 33.33%,#ffd90c 33.33% 66.66%,#ef3340 66.66% 100%)}
.flag-au,.country-picker-option[data-country="AU"] .flag,.flag-nz,.country-picker-option[data-country="NZ"] .flag{background:#012169}
.flag-jp,.country-picker-option[data-country="JP"] .flag{background:#fff}
.flag-jp::before,.country-picker-option[data-country="JP"] .flag::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#bc002d;left:8px;top:4px}
.flag-kr,.country-picker-option[data-country="KR"] .flag{background:linear-gradient(135deg,#fff 0 48%,#c60c30 48% 58%,#003478 58% 68%,#fff 68% 100%)}
.flag-cn,.country-picker-option[data-country="CN"] .flag{background:#de2910}
.flag-in,.country-picker-option[data-country="IN"] .flag{background:linear-gradient(#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66% 100%)}
.flag-other,.country-picker-option[data-country="OTHER"] .flag{background:linear-gradient(135deg,#eef4f8,#dfeaf2)}

/* Hero visual */
.hero-visual{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:15px}
.hero-copy{max-width:650px}
.hero-pill{display:inline-flex;padding:9px 13px;border-radius:999px;background:var(--orange);font-size:.83rem;font-weight:900}
.hero-copy h2{margin:11px 0 8px;font-size:clamp(1.85rem,3vw,3.15rem);line-height:1.03}
.hero-copy p{margin:0;color:var(--muted);line-height:1.55;font-size:.98rem;max-width:600px}
.illustration-panel{
  background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.9);
  border-radius:30px;padding:14px;box-shadow:var(--shadow-soft)
}
.artwork-board{background:#f7fbff;border:1px solid #ddebf6;border-radius:25px;padding:15px}
.board-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.board-title{font-size:1.08rem;font-weight:900;color:var(--blue-dark)}
.board-subtitle{font-size:.86rem;color:var(--muted);margin-top:3px;line-height:1.4}
.chip-row{display:flex;flex-wrap:wrap;gap:7px}
.info-chip{
  display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;
  background:var(--blue);color:#fff;font-weight:800;font-size:.84rem;box-shadow:var(--shadow-soft)
}
.info-chip .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#16324a;font-size:.78rem;font-weight:900;flex:none}
.scene-card{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;align-items:stretch}
.scene-card.single{grid-template-columns:1fr}
.scene-illustration{background:#fff;border:1px solid #e3edf7;border-radius:22px;padding:10px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.process-list{display:grid;gap:8px}
.process-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #e3edf7;border-radius:17px;padding:11px}
.process-badge{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--orange);color:var(--ink);font-weight:900;font-size:.84rem}
.process-item strong{display:block;font-size:.88rem}
.process-item span{display:block;color:var(--muted);font-size:.76rem;line-height:1.3;margin-top:2px}
.svg-hero{display:block;width:100%;height:auto}
.hero-art-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:16px;background:#fff}
.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.point-card{display:flex;align-items:flex-start;gap:9px;background:#fff;border-radius:17px;padding:12px;border:1px solid #e4eef6;box-shadow:var(--shadow-soft)}
.point-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--orange-soft);color:#b87a00;font-weight:900}
.point-card strong{display:block;font-size:.86rem}
.point-card span{display:block;color:var(--muted);font-size:.75rem;line-height:1.3;margin-top:2px}

/* Content */
.content-section{padding:72px 0 84px}
.section-head{text-align:center;max-width:880px;margin:0 auto 34px}
.section-head .eyebrow{margin-bottom:8px}
.section-head h2{margin:0 0 13px;font-size:clamp(2rem,4vw,3rem);line-height:1.05}
.section-head p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}
.cards{display:grid;gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.info-card{border:1px solid var(--line);border-radius:25px;padding:24px;background:#fff;box-shadow:var(--shadow-soft)}
.info-card.accent{background:linear-gradient(145deg,#fff,#f7fbff)}
.icon-badge{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;margin-bottom:16px;background:var(--blue-soft);color:var(--blue-strong)}
.icon-badge.warm{background:var(--orange-soft);color:#b67700}
.icon-badge svg{width:28px;height:28px}
.info-card h3{margin:0 0 9px;font-size:1.26rem}
.info-card p{margin:0;color:var(--muted);line-height:1.58;font-size:.95rem}
.text-link{margin-top:15px;border:0;background:transparent;padding:0;color:var(--blue-strong);font-weight:900}
.info-band{margin-top:26px;display:grid;grid-template-columns:1.12fr .88fr;gap:22px}
.panel{border-radius:28px;padding:26px;background:var(--blue-pale);border:1px solid #d8eaf8}
.panel.warm{background:#fffaf0;border-color:#f0dfb1}
.panel h3{margin:0 0 16px;font-size:1.4rem}
.service-list,.bullet-list{display:grid;gap:11px}
.service-item{display:flex;align-items:flex-start;gap:13px;background:#fff;border-radius:19px;padding:14px 16px;border:1px solid #e8eff5}
.service-item .mini{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--orange);color:#35506c}
.service-item .mini svg{width:21px;height:21px}
.service-item strong{display:block;font-size:.96rem;margin-bottom:2px}
.service-item span{display:block;color:var(--muted);font-size:.88rem;line-height:1.42}
.bullet{display:flex;align-items:flex-start;gap:13px;padding:11px 0;border-bottom:1px dashed rgba(45,119,189,.18)}
.bullet:last-child{border-bottom:0}
.check{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--orange);color:var(--blue-dark)}
.check svg{width:17px;height:17px}
.bullet strong{font-size:.96rem}
.bullet div div{font-size:.88rem;color:var(--muted);margin-top:3px}

/* Psychology */
.psych-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.psych-panel{border-radius:28px;padding:26px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft)}
.psych-panel.blue{background:linear-gradient(145deg,#f8fcff,#eef7ff)}
.psych-panel.warm{background:linear-gradient(145deg,#fffdf8,#fff7e5)}
.psych-panel h3{font-size:1.42rem;margin:0 0 6px}
.psych-panel > p{color:var(--muted);margin:0 0 17px;line-height:1.55}
.psych-services{display:grid;gap:11px}
.psych-service{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:18px;padding:14px;border:1px solid #e6eef5}
.psych-service .mini-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--blue-soft);color:var(--blue-strong);font-weight:900}
.psych-panel.warm .mini-icon{background:var(--orange-soft);color:#a96b00}
.psych-service strong{display:block;font-size:.95rem}
.psych-service span{display:block;color:var(--muted);font-size:.86rem;line-height:1.4;margin-top:2px}
.psych-note{margin-top:16px;border-radius:18px;padding:14px 16px;background:var(--blue-dark);color:#fff;display:flex;gap:11px;align-items:flex-start}
.psych-note b{display:block;margin-bottom:2px}
.psych-note span{font-size:.86rem;line-height:1.4;color:#eaf5ff}

/* CTA/footer */
.bottom-cta{padding:0 0 84px}
.bottom-cta-inner{background:linear-gradient(120deg,var(--blue-strong),var(--blue));border-radius:32px;padding:38px 44px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px}
.eyebrow.light{color:#dff1ff}
.bottom-cta h2{margin:7px 0 8px;font-size:clamp(1.7rem,3vw,2.5rem)}
.bottom-cta p{margin:0;color:#e9f6ff}
.cta-secondary{padding:14px 22px;background:var(--orange);color:#203042;white-space:nowrap}
.site-footer{border-top:1px solid var(--line);padding:32px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-logo{width:120px;height:auto}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.footer-links a,.footer-nav{font-size:.85rem;text-decoration:none;padding:6px 8px;color:var(--muted)}
.footer-inner p{margin:0;color:var(--muted);font-size:.85rem}

/* Legal pages */
.legal-page{background:#f7fbff;min-height:100vh}
.legal-header{background:#fff;border-bottom:1px solid #dfeaf3}
.legal-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.legal-header img{width:145px;height:auto;display:block}
.legal-back{text-decoration:none;color:var(--blue-strong);font-weight:900;font-size:.9rem}
.legal-hero{padding:54px 0 26px;text-align:center}
.legal-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--orange-soft);color:#9a6400;font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.legal-hero h1{margin:12px auto 12px;max-width:850px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}
.legal-hero p{max-width:820px;margin:0 auto;color:var(--muted);line-height:1.65}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:22px 0 70px;align-items:start}
.legal-toc{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft)}
.legal-toc strong{display:block;margin-bottom:10px}
.legal-toc a{display:block;padding:7px 0;color:var(--muted);text-decoration:none;font-size:.88rem;line-height:1.3}
.legal-toc a:hover{color:var(--blue-strong)}
.legal-content{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow-soft)}
.legal-content section{scroll-margin-top:110px;padding:0 0 27px;margin:0 0 27px;border-bottom:1px solid #e8eff5}
.legal-content section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-content h2{margin:0 0 12px;font-size:1.35rem}
.legal-content h3{margin:18px 0 8px;font-size:1.05rem}
.legal-content p,.legal-content li{color:#52697d;line-height:1.66;font-size:.95rem}
.legal-content ul{margin:10px 0 0;padding-left:22px}
.legal-callout{border-radius:18px;padding:16px 18px;background:#eef7ff;border:1px solid #d7eafb;margin:15px 0}
.legal-callout.warning{background:#fff8e7;border-color:#efdca7}
.legal-callout strong{display:block;color:var(--ink);margin-bottom:4px}
.legal-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.legal-meta div{background:#f8fbfd;border:1px solid #e3edf5;border-radius:16px;padding:13px}
.legal-meta b{display:block;font-size:.82rem;margin-bottom:3px}
.legal-meta span{color:var(--muted);font-size:.88rem}
.legal-footer{background:#fff;border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:.86rem}

/* Responsive */
@media(max-width:1120px){
  .hero-shell{grid-template-columns:1fr;min-height:auto}
  .cards.four{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .cards.three,.cards.two,.info-band,.hero-points,.scene-card,.psych-grid{grid-template-columns:1fr}
  .legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static}
}
@media(max-width:700px){
  .country-picker{display:none}
  .country-code{display:block}
  .phone-group{grid-template-columns:112px 1fr}
  .phone-group.has-custom{grid-template-columns:112px 86px 1fr}
}
@media(max-width:760px){
  .header-inner{min-height:74px;flex-direction:column;justify-content:center;padding:12px 0;gap:8px}
  .brand img{width:132px}
  .nav-tabs{width:100%;justify-content:center}
  .nav-link{padding:8px 11px;font-size:.9rem}
  .hero-section{padding-top:18px}
  .hero-shell{padding:16px}
  .lead-card{padding:17px}
  .form-grid,.age-grid,.hero-points,.cards.four{grid-template-columns:1fr}
  .full-row{grid-column:auto}
  .bottom-cta-inner{padding:30px 24px;flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .legal-content{padding:22px 18px}
  .legal-meta{grid-template-columns:1fr}
  .legal-hero{padding-top:36px}
}
@media(max-width:560px){
  .container{width:min(100% - 22px,1200px)}
  .hero-copy h2{font-size:1.95rem}
  .section-head h2{font-size:2rem}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:430px){
  .phone-group,.phone-group.has-custom{grid-template-columns:108px 1fr}
  .phone-group.has-custom .custom-country-code{grid-column:1 / -1;width:150px}
}


/* =========================================================
   Modal de documentos legales
   ========================================================= */
body.legal-modal-open{
  overflow:hidden;
}

.legal-modal[hidden]{
  display:none;
}

.legal-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
}

.legal-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,38,59,.48);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.legal-modal-dialog{
  position:relative;
  width:min(1040px,100%);
  height:min(88vh,850px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(217,231,242,.95);
  border-radius:28px;
  box-shadow:0 28px 80px rgba(13,38,59,.28);
  animation:legalModalIn .18s ease-out;
  outline:none;
}

@keyframes legalModalIn{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.legal-modal-header{
  min-height:76px;
  padding:14px 18px 14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex:none;
  background:#fff;
  border-bottom:1px solid #e3edf5;
}

.legal-modal-heading{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
}

.legal-modal-icon{
  width:42px;
  height:42px;
  flex:none;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:var(--blue-strong);
  background:var(--blue-soft);
}

.legal-modal-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.legal-modal-kicker{
  display:block;
  margin-bottom:1px;
  color:var(--blue-strong);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  font-size:.68rem;
}

.legal-modal-heading h2{
  margin:0;
  max-width:720px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  font-size:1.17rem;
  line-height:1.2;
}

.legal-modal-close{
  width:42px;
  height:42px;
  flex:none;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f4f8fb;
  color:var(--ink);
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

.legal-modal-close:hover{
  background:var(--blue-soft);
  color:var(--blue-strong);
  transform:scale(1.04);
}

.legal-modal-close:focus-visible{
  outline:3px solid rgba(59,143,220,.25);
  outline-offset:2px;
}

.legal-modal-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}

.legal-modal-body{
  position:relative;
  flex:1;
  min-height:0;
  background:#f7fbff;
}

.legal-modal-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#f7fbff;
  opacity:0;
  transition:opacity .14s ease;
}

.legal-modal-frame.is-loaded{
  opacity:1;
}

.legal-modal-loading{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--muted);
  font-size:.9rem;
  font-weight:800;
  background:#f7fbff;
}

.legal-modal-loading[hidden]{
  display:none;
}

.legal-loading-spinner{
  width:20px;
  height:20px;
  border:2px solid #d8e8f5;
  border-top-color:var(--blue-strong);
  border-radius:50%;
  animation:legalSpinner .75s linear infinite;
}

@keyframes legalSpinner{
  to{transform:rotate(360deg)}
}

/* Cuando las páginas legales se muestran dentro del modal */
body.embedded-legal{
  background:#f7fbff;
}

body.embedded-legal .legal-header,
body.embedded-legal .legal-footer{
  display:none;
}

body.embedded-legal .legal-hero{
  padding-top:30px;
  padding-bottom:18px;
}

body.embedded-legal .legal-layout{
  width:min(1120px,calc(100% - 34px));
  padding-top:10px;
  padding-bottom:36px;
}

body.embedded-legal .legal-toc{
  top:18px;
}

@media(max-width:760px){
  .legal-modal{
    padding:10px;
  }

  .legal-modal-dialog{
    width:100%;
    height:calc(100dvh - 20px);
    max-height:none;
    border-radius:22px;
  }

  .legal-modal-header{
    min-height:68px;
    padding:12px 12px 12px 15px;
  }

  .legal-modal-icon{
    width:38px;
    height:38px;
  }

  .legal-modal-heading h2{
    font-size:1rem;
  }

  .legal-modal-close{
    width:40px;
    height:40px;
  }

  body.embedded-legal .legal-hero{
    padding-top:24px;
  }
}

@media(max-width:430px){
  .legal-modal{
    padding:0;
  }

  .legal-modal-dialog{
    height:100dvh;
    border-radius:0;
    border:0;
  }

  .legal-modal-heading h2{
    max-width:245px;
  }
}


/* Campo anti-spam invisible para personas */
.lead-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.form-status[data-state="success"]{color:#25764a}
.form-status[data-state="error"]{color:#c84540}
.cta-primary:disabled{
  opacity:.72;
  cursor:wait;
  transform:none!important;
}


/* =========================================================
   Thank You Page
   ========================================================= */
.thankyou-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 12% 10%, rgba(59,143,220,.13), transparent 30%),
    radial-gradient(circle at 88% 86%, rgba(255,178,26,.14), transparent 30%),
    linear-gradient(135deg,#f7fbff 0%,#ffffff 52%,#fffaf0 100%);
  color:var(--ink);
}

.thankyou-shell{
  width:100%;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 18px;
}

.thankyou-card{
  position:relative;
  width:min(680px,100%);
  padding:42px 44px 38px;
  text-align:center;
  background:rgba(255,255,255,.96);
  border:1px solid #dfeaf3;
  border-radius:34px;
  box-shadow:0 24px 70px rgba(20,54,84,.13);
  overflow:hidden;
}

.thankyou-card::before,
.thankyou-card::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.thankyou-card::before{
  width:170px;
  height:170px;
  top:-88px;
  left:-76px;
  background:rgba(59,143,220,.09);
}

.thankyou-card::after{
  width:150px;
  height:150px;
  bottom:-82px;
  right:-62px;
  background:rgba(255,178,26,.10);
}

.thankyou-logo{
  position:relative;
  z-index:1;
  display:inline-block;
  margin-bottom:25px;
}

.thankyou-logo img{
  width:142px;
  height:auto;
  display:block;
}

.thankyou-icon{
  position:relative;
  z-index:1;
  width:82px;
  height:82px;
  margin:0 auto 20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--blue-soft);
  color:var(--blue-strong);
}

.thankyou-icon svg{
  width:56px;
  height:56px;
  fill:none;
  stroke:currentColor;
  stroke-width:3.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.thankyou-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  margin-bottom:8px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--orange-soft);
  color:#9b6500;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.thankyou-card h1{
  position:relative;
  z-index:1;
  margin:0 0 11px;
  font-size:clamp(3.3rem,9vw,5.7rem);
  line-height:.95;
  font-weight:900;
  letter-spacing:-.035em;
  color:var(--blue-dark);
}

.thankyou-lead{
  position:relative;
  z-index:1;
  margin:0 0 8px;
  color:var(--ink);
  font-size:1.22rem;
  font-weight:900;
}

.thankyou-copy{
  position:relative;
  z-index:1;
  max-width:520px;
  margin:0 auto 28px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

.thankyou-button{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 26px;
  border-radius:999px;
  background:var(--orange);
  color:#203042;
  text-decoration:none;
  font-weight:900;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  box-shadow:0 10px 24px rgba(255,178,26,.18);
}

.thankyou-button:hover{
  background:var(--orange-dark);
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(255,178,26,.24);
}

.thankyou-button:focus-visible{
  outline:3px solid rgba(59,143,220,.25);
  outline-offset:3px;
}

.thankyou-note{
  position:relative;
  z-index:1;
  margin:22px 0 0;
  color:#8595a5;
  font-size:.78rem;
  font-weight:700;
}

@media(max-width:600px){
  .thankyou-shell{
    padding:18px 12px;
  }

  .thankyou-card{
    padding:34px 22px 30px;
    border-radius:28px;
  }

  .thankyou-logo img{
    width:126px;
  }

  .thankyou-icon{
    width:72px;
    height:72px;
  }

  .thankyou-icon svg{
    width:49px;
    height:49px;
  }

  .thankyou-lead{
    font-size:1.1rem;
  }

  .thankyou-copy{
    font-size:.95rem;
  }

  .thankyou-button{
    width:100%;
  }
}


/* =========================================================
   V23 - Banderas reales en selector desktop
   ========================================================= */
.country-picker-option .flag,
.flag-icon{
  width:30px!important;
  height:22px!important;
  min-width:30px!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
  box-shadow:0 0 0 1px rgba(23,58,92,.08);
  position:static!important;
}

.country-picker-option .flag::before,
.country-picker-option .flag::after,
.flag-icon::before,
.flag-icon::after{
  content:none!important;
  display:none!important;
}

.country-picker-option{gap:11px}
.country-picker-value{gap:9px}
