/* Landings por actividad (médicos, freelancers): variaciones sobre los estilos del inicio */
.button-light { background:white; color:var(--brand); }
.button-light:hover { background:var(--blush); transform:translateY(-2px); }

.hero-shell--med { background:linear-gradient(180deg,var(--navy) 0%,var(--navy) 62%,#1d1238 100%); }
.hero--med { grid-template-columns:1.05fr .95fr; padding-top:30px; }
.hero--med .hero-copy { padding-top:0; }
.hero--med h1 { font-size:clamp(50px,4.7vw,68px); }
.hero--med .hero-visual { min-height:600px; border-radius:20px 20px 120px 20px; }
.hero--med .hero-photo { object-position:center 30%; filter:saturate(.8); }
.hero--med .hero-photo.photo-left { object-position:30% center; }
.hero--med .hero-photo.photo-low { object-position:center 80%; }
.breadcrumb { font-size:11px; color:#9b92ae; margin-bottom:26px; }
.breadcrumb ol { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.breadcrumb li+li::before { content:"/"; margin-right:10px; }
.breadcrumb a:hover { color:#f583aa; }
.breadcrumb [aria-current] { color:#d2cedc; }
.hero-chips { list-style:none; padding:0; margin:34px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.hero-chips a { display:block; padding:9px 15px; border:1px solid #ffffff2e; border-radius:30px; font-size:12px; color:#d2cedc; transition:border-color .2s,color .2s,background .2s; }
.hero-chips a:hover { border-color:#f583aa; color:white; background:#ffffff0d; }
.hero-badge { position:absolute; top:24px; right:24px; display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:14px; background:#140e2ebf; backdrop-filter:blur(6px); color:white; }
.hero-badge .icon { color:#f2a7c1; width:26px; height:26px; }
.hero-badge p { display:flex; flex-direction:column; gap:3px; }
.hero-badge strong { font-size:13px; font-weight:400; }
.hero-badge span { font-size:10.5px; color:#bcb4cd; }
.brand-ribbons--left { left:0; right:auto; justify-content:flex-start; width:45%; }
.brand-ribbons--left i { transform:skewX(-34deg) translate(-60px,80px); }

.coverage--med p { font-size:12px; }

/* Especialidades */
.specialty-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.specialty-grid--four { grid-template-columns:repeat(4,1fr); }
.specialty-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; background:white; border-radius:20px; padding:30px 30px 22px; scroll-margin-top:calc(var(--header-height) + 24px); transition:transform .2s,box-shadow .2s; }
.specialty-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px #140e2e14; }
.specialty-card:target { box-shadow:0 0 0 2px var(--brand); }
.specialty-num { position:absolute; top:28px; right:30px; font-size:13px; color:#7a7382; letter-spacing:1px; }
.specialty-icon { width:36px; height:36px; fill:none; stroke:var(--brand); stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:22px; }
.specialty-card h3 { font-size:23px; line-height:1.25; letter-spacing:-.5px; }
.specialty-card p { font-size:15px; line-height:1.7; color:var(--ink-muted); margin-top:12px; margin-bottom:14px; }
.specialty-card .text-link { margin-top:auto; font-size:13px; }
.specialty-card--other { grid-column:1 / -1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:0 28px; padding:28px 34px; background:var(--brand); color:white; overflow:hidden; isolation:isolate; }
.specialty-card--other .specialty-icon { margin:0; grid-row:1 / 3; }
.specialty-card--other p { margin:6px 0 0; grid-column:2; }
.specialty-card--other .button { grid-column:3; grid-row:1 / 3; }
.specialty-card--other::after { content:""; position:absolute; z-index:-1; right:260px; top:-20px; bottom:-20px; width:120px; background:#ffffff14; transform:skewX(-34deg); }
.specialty-card--other .specialty-icon { stroke:#f4bcd0; }
.specialty-card--other p { color:#f4d3df; }
.specialty-card--other .button { margin:0; padding:16px 22px; font-size:13px; gap:14px; }
.specialty-card--other:hover { box-shadow:0 14px 30px #b5164f40; }

/* Qué incluye */
.scope { background:white; }
.scope-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #e1dde3; }
.scope-item { padding:34px 28px 10px; border-left:1px solid #e1dde3; }
.scope-item:first-child { border-left:0; padding-left:0; }
.scope-item:last-child { padding-right:0; }
.scope-step { display:inline-block; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; color:var(--brand); margin-bottom:22px; }
.scope-item .service-icon { display:block; }
.scope-item h3 { font-size:21px; line-height:1.3; letter-spacing:-.4px; }
.scope-item ul { list-style:none; padding:0; margin:18px 0 0; }
.scope-item li { position:relative; padding-left:18px; font-size:14.5px; line-height:1.6; color:var(--ink-muted); margin-bottom:11px; }
.scope-item li::before { content:""; position:absolute; left:0; top:9px; width:7px; height:7px; background:var(--pink); transform:skewX(-20deg); }
.scope-out { margin-top:50px; padding:26px 32px; border-radius:16px; background:var(--paper); display:grid; grid-template-columns:auto 1fr; gap:14px 40px; align-items:center; }
.scope-out-title { font-size:15px; color:var(--navy); }
.specialties .scope-out { background:white; }
.scope-out ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px 28px; }
.scope-out li { font-size:13px; line-height:1.5; color:var(--ink-muted); display:flex; gap:9px; align-items:center; }
.scope-out li::before { content:"×"; color:var(--brand); font-size:16px; line-height:1; }

/* Cómo empezamos */
.intake { background:var(--blush); }
.intake-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.intake-copy>p:not(.eyebrow) { font-size:17px; line-height:1.7; color:var(--ink-muted); margin-top:24px; max-width:470px; }
.intake-steps { list-style:none; padding:0; margin:38px 0 0; }
.intake-steps li { display:grid; grid-template-columns:64px 1fr; align-items:baseline; border-top:1px solid #d8bcc8; padding-block:20px; }
.intake-steps .step-number { font-size:30px; margin:0; }
.intake-steps h3 { font-size:20px; line-height:1.3; letter-spacing:-.3px; }
.intake-steps p { color:var(--ink-muted); font-size:15px; line-height:1.65; margin-top:6px; }
.intake-card { background:var(--wine); color:white; border-radius:20px 20px 20px 90px; padding:46px 45px 40px; }
.intake-card h3 { font-size:30px; line-height:1.2; letter-spacing:-.8px; }
.intake-card ul { list-style:none; padding:0; margin:26px 0 18px; }
.intake-card li { border-top:1px solid #ffffff35; padding:15px 0 15px 30px; position:relative; color:#f6dbe4; font-size:15px; line-height:1.6; }
.intake-card li::before { content:""; position:absolute; left:2px; top:21px; width:12px; height:6px; border-left:1.5px solid #f2a7c1; border-bottom:1.5px solid #f2a7c1; transform:rotate(-45deg); }
.intake-card--navy { background:#2a1d4f; }

/* Quién revisa tu caso */
.advisor-card { display:grid; grid-template-columns:300px 1fr; gap:60px; align-items:center; }
.advisor-card>img { width:100%; height:370px; object-fit:cover; object-position:center 20%; border-radius:20px; }
.advisor-card h2 { font-size:clamp(36px,3.4vw,46px); }
.advisor-card .lead { font-size:20px; line-height:1.55; color:var(--navy); margin-top:20px; max-width:620px; }
.advisor-card>div:not(.statement-band)>p:not(.eyebrow):not(.lead) { font-size:16px; line-height:1.7; color:var(--ink-muted); margin-top:14px; max-width:620px; }
.advisor-card .text-link { margin-top:14px; }
.fees-band { grid-column:1 / -1; border-radius:20px; margin-top:10px; gap:50px; }
.fees-band>p:first-child { flex-shrink:0; }
.fees-band .fees-copy { font-size:15px; line-height:1.7; color:#f6d2de; letter-spacing:0; max-width:520px; }

.contact-section--med .brand-ribbons { left:0; right:auto; justify-content:flex-start; }
.contact-section--med .brand-ribbons i { transform:skewX(-34deg) translate(-60px,80px); }

@media (max-width:1100px) {
  .specialty-grid--four { grid-template-columns:repeat(2,1fr); }
  .hero--med .hero-visual { min-height:560px; }
  .specialty-grid { gap:16px; }
  .specialty-card { padding:26px 24px 20px; }
  .scope-grid { grid-template-columns:repeat(2,1fr); }
  .scope-item { padding:30px 26px 10px; }
  .scope-item:nth-child(3) { border-left:0; padding-left:0; border-top:1px solid #e1dde3; }
  .scope-item:nth-child(4) { border-top:1px solid #e1dde3; }
  .scope-item:nth-child(2) { padding-right:0; }
  .intake-inner { gap:45px; }
  .intake-card { padding:36px 32px; }
  .advisor-card { grid-template-columns:240px 1fr; gap:40px; }
  .advisor-card>img { height:300px; }
}
@media (max-width:900px) {
  .hero--med h1 { font-size:46px; }
  .hero-badge { top:16px; right:16px; }
  .specialty-grid { grid-template-columns:repeat(2,1fr); }
  .intake-inner { grid-template-columns:1fr; }
  .scope-out { grid-template-columns:1fr; }
  .fees-band { flex-direction:column; align-items:flex-start; gap:16px; }
}
@media (max-width:700px) {
  .hero--med { padding-top:22px; }
  .hero--med .hero-visual { height:400px; border-radius:16px 16px 70px 16px; }
  .hero--med h1 { font-size:clamp(44px,11vw,60px); }
  .breadcrumb { margin-bottom:20px; }
  .hero-chips { margin-top:26px; }
  .hero-badge { display:none; }
  .hero-chips a { padding:8px 13px; font-size:11.5px; }
  .brand-ribbons--left { width:100%; }
  .specialty-grid { grid-template-columns:1fr; gap:12px; }
  .specialty-card { padding:24px 22px 18px; border-radius:16px; }
  .specialty-num { top:24px; right:22px; }
  .specialty-icon { margin-bottom:16px; }
  .specialty-card h3 { font-size:22px; }
  .specialty-card--other { grid-template-columns:1fr; padding:26px 22px; gap:0; }
  .specialty-card--other .specialty-icon { grid-row:auto; margin-bottom:16px; }
  .specialty-card--other p,.specialty-card--other .button { grid-column:1; grid-row:auto; }
  .specialty-card--other .button { margin-top:20px; justify-self:start; }
  .scope-grid { grid-template-columns:1fr; }
  .scope-item,.scope-item:nth-child(n) { border-left:0; padding:26px 0 8px; border-top:1px solid #e1dde3; }
  .scope-item:first-child { border-top:0; }
  .scope-out { padding:22px; margin-top:30px; }
  .scope-out ul { flex-direction:column; }
  .intake-copy>p:not(.eyebrow) { font-size:16px; }
  .intake-steps li { grid-template-columns:50px 1fr; }
  .intake-card { padding:30px 24px; border-radius:16px 16px 16px 60px; }
  .intake-card h3 { font-size:26px; }
  .advisor-card { grid-template-columns:1fr; gap:28px; }
  .advisor-card>img { width:160px; height:190px; border-radius:16px; }
  .advisor-card .lead { font-size:18px; }
  .fees-band { padding:25px; border-radius:16px; }
}

/* Aviso de privacidad */
.legal-hero { background:var(--navy); color:white; padding:56px 0 64px; }
.legal-hero h1 { margin:0; font-size:56px; font-weight:400; letter-spacing:-2px; line-height:1.05; }
.legal-updated { margin:20px 0 0; color:#c9c3d6; font-size:14px; }
.legal { display:grid; grid-template-columns:240px minmax(0,1fr); gap:72px; padding-block:72px 110px; }
.legal-toc { position:sticky; top:calc(var(--header-height) + 24px); align-self:start; }
.legal-toc p { margin:0 0 14px; color:var(--brand); font-size:10px; letter-spacing:1.7px; text-transform:uppercase; }
.legal-toc ol { margin:0; padding:0; list-style:none; border-left:1px solid #ddd8e0; }
.legal-toc a { display:block; padding:7px 0 7px 16px; color:var(--ink-muted); font-size:14px; }
.legal-toc a:hover { color:var(--brand); }
.legal-body { max-width:760px; color:var(--ink-muted); font-size:16px; line-height:1.75; }
.legal-intro { margin:0 0 12px; color:var(--navy); font-size:20px; line-height:1.6; }
.legal-body section { padding-top:36px; margin-top:36px; border-top:1px solid #ddd8e0; scroll-margin-top:calc(var(--header-height) + 24px); }
.legal-body h2 { display:flex; gap:16px; align-items:baseline; margin:0 0 16px; color:var(--navy); font-size:26px; font-weight:400; letter-spacing:-.5px; line-height:1.25; }
.legal-body h2 span { color:var(--brand); font-size:15px; letter-spacing:0; }
.legal-body p { margin:0 0 14px; }
.legal-body ul { margin:0 0 16px; padding-left:20px; }
.legal-body li { margin-bottom:8px; }
.legal-body li::marker { color:var(--brand); }
.legal-body strong { color:var(--navy); font-weight:400; }
.legal-body a { color:var(--brand); text-decoration:underline; text-underline-offset:3px; }
.legal-cookie-button { margin-top:6px; padding:13px 24px; border:1px solid var(--brand); border-radius:999px; background:none; color:var(--brand); font-size:15px; cursor:pointer; transition:background .2s,color .2s; }
.legal-cookie-button:hover { background:var(--brand); color:white; }
@media (max-width:900px) {
  .legal { grid-template-columns:1fr; gap:40px; padding-block:48px 80px; }
  .legal-toc { position:static; }
  .legal-toc ol { columns:2; column-gap:24px; }
  .legal-hero h1 { font-size:44px; }
}
@media (max-width:700px) {
  .legal-hero { padding:36px 0 44px; }
  .legal-hero h1 { font-size:38px; letter-spacing:-1.2px; }
  .legal-toc ol { columns:1; }
  .legal-intro { font-size:18px; }
  .legal-body h2 { font-size:22px; }
}

/* Página 404 */
.not-found { padding:90px 0 110px; }
.not-found .legal-updated { max-width:560px; font-size:17px; line-height:1.6; }
.not-found .hero-actions { flex-wrap:wrap; gap:18px 30px; margin-top:34px; }
