/* Portada de marca. Ramas independientes; comparte los tokens del sitio. */
.home-page{background:var(--paper)}
.home-wrap{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}
.home-header{position:relative;background:var(--paper);border-bottom:1px solid var(--line)}
.home-nav{min-height:100px;display:flex;align-items:center;gap:40px}
.home-nav nav{display:flex;margin-left:auto;gap:34px;font-size:16px}
.home-nav nav a{text-decoration:none;padding-block:12px}
.home-nav nav a:hover{color:var(--cyan-dark)}
.home-contact{border:1px solid #a9bdc7;border-radius:4px;padding:11px 20px;text-decoration:none;font-size:16px;font-weight:600;display:inline-flex;gap:24px;align-items:center;min-height:48px}
.home-contact:hover{background:var(--navy);color:white;border-color:var(--navy)}
.home-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;padding-block:62px 44px}
.home-kicker{font-size:12px;letter-spacing:.16em;font-weight:650;color:var(--cyan-dark);margin-bottom:22px}
.home-intro h1{font-size:clamp(50px,5.25vw,78px);line-height:1.06;letter-spacing:-.045em;margin:0}
.home-intro h1 em{color:var(--cyan-dark)}
.home-intro-copy{max-width:380px;justify-self:end;padding-bottom:3px}
.home-intro-copy>p{font-size:20px;line-height:1.5;color:var(--ink);margin-bottom:18px}
.home-intro-copy .home-direction{font-size:16px;color:var(--muted);margin:0}
.home-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-card{display:flex;flex-direction:column;text-decoration:none;overflow:hidden;border-radius:10px;background:var(--navy);color:white;border:1px solid var(--navy);transition:transform .22s ease,border-color .22s ease}
.service-card:hover{transform:translateY(-5px);border-color:var(--cyan-dark)}
.service-card:focus-visible{outline:4px solid var(--cyan-dark);outline-offset:6px}
.service-image{height:340px;position:relative;overflow:hidden;background:var(--navy)}
.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.family-card .service-image img{object-position:50% 15%}
.institution-card .service-image img{object-position:50% 20%}
.service-card:hover .service-image img{transform:scale(1.025)}
.image-label{position:absolute;top:20px;left:24px;display:inline-block;padding:7px 12px;font-size:11px;letter-spacing:.12em;font-weight:650;background:var(--paper);color:var(--navy);border-radius:2px}
.home-image-credit{position:absolute;bottom:10px;right:12px;background:#071d3fe6;color:#fff;padding:3px 7px;font-size:12px}
.service-copy{padding:27px 30px 28px;display:flex;flex-direction:column;flex:1}
.service-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:15px}
.service-heading h2{font-size:clamp(31px,3.15vw,44px);line-height:1.1;letter-spacing:-.04em;margin:0}
.service-arrow{font-size:25px;font-weight:400;line-height:1;color:var(--cyan);transition:transform .2s}
.service-card:hover .service-arrow{transform:translate(3px,-3px)}
.service-copy p{color:#d3e1ec;font-size:17px;line-height:1.6;margin-bottom:24px;max-width:475px}
.service-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:600;margin-top:auto;padding-top:19px;border-top:1px solid #36506a;color:white}
.service-cta>span{font-size:22px;font-weight:400}
.institution-card{background:#edf3f4;color:var(--navy);border-color:#d7e1e5}
.institution-card .service-copy p{color:#425970}
.institution-card .service-cta{color:var(--navy);border-color:#cbd8df}
.institution-card .service-arrow{color:var(--cyan-dark)}
.home-foundations{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding-block:48px 50px}
.foundation{display:flex;gap:15px;align-items:flex-start}
.foundation svg{width:28px;height:28px;flex-shrink:0;fill:none;stroke:var(--cyan-dark);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.foundation h3{font-size:17px;margin:0 0 8px;line-height:1.4}
.foundation p{font-size:15px;line-height:1.6;margin:0}
.home-footer{background:#f1f3f2;padding:28px 0}
.home-footer-top{display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:14px;padding-bottom:23px}
.home-footer-top a{text-decoration:none}.home-footer-top a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-separator{color:#889eac;margin-inline:10px}
.home-footer .legal{font-size:14px;color:#526679;border-color:#d1dddf;padding-top:20px;max-width:none}
@media(min-width:1600px){.home-intro{padding-block:74px 50px}.service-image{height:300px}}
@media(max-width:1100px){.home-wrap{width:calc(100% - 64px)}.home-intro{gap:35px;grid-template-columns:1.3fr 1fr}.home-intro h1{font-size:57px}.home-intro-copy>p{font-size:18px}.service-copy{padding:25px}.service-heading h2{font-size:35px}.home-foundations{gap:22px}.foundation{gap:12px}.home-nav nav{gap:22px}}
@media(max-width:800px){.home-wrap{width:calc(100% - 40px)}.home-nav{min-height:82px;flex-wrap:wrap;gap:10px;padding-block:15px}.home-nav nav{display:flex;order:3;width:100%;margin:0;gap:25px;padding-top:8px;font-size:15px;border-top:1px solid var(--line)}.home-contact{margin-left:auto;padding:9px 15px;font-size:15px}.home-nav .brand span{font-size:25px}.home-intro{grid-template-columns:1fr;gap:24px;padding-block:40px 30px}.home-intro h1{font-size:clamp(45px,7.7vw,60px)}.home-intro-copy{max-width:530px;justify-self:start}.home-intro-copy>p{font-size:18px;margin-bottom:13px}.home-direction br{display:none}.home-choices{grid-template-columns:1fr 1fr;gap:16px}.service-image{height:240px}.service-copy{padding:24px 22px}.service-heading h2{font-size:33px}.service-copy p{font-size:16px}.service-cta{font-size:15px}.home-foundations{grid-template-columns:1fr;padding-block:35px;gap:24px}.foundation h3{font-size:18px}.foundation p{font-size:16px}.home-footer-top{flex-wrap:wrap;justify-content:flex-start;gap:13px 30px}.home-footer-top>span{width:100%}}
@media(max-width:580px){.home-choices{grid-template-columns:1fr;gap:22px}.home-intro h1{font-size:clamp(41px,10.2vw,57px)}.home-intro-copy{padding:0}.service-image{height:225px}.service-copy{padding:25px}.service-heading h2{font-size:37px}.service-copy p{font-size:17px}.service-cta{font-size:16px}.image-label{top:16px;left:18px}.home-nav .brand img{width:38px;height:38px}.home-nav .brand span{font-size:23px}.home-nav .brand small{font-size:8px}.home-contact{gap:13px}.home-foundations{gap:25px}.home-footer-top{display:grid;gap:12px}.home-footer-top>span{font-size:13px}.footer-separator{margin-inline:5px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-image img,.service-arrow{transition:none}.service-card:hover,.service-card:hover .service-image img,.service-card:hover .service-arrow{transform:none}}
/* Mayor presencia de fotografía sin añadir secciones. */
@media(min-width:1600px){.service-image{height:380px}}
@media(min-width:581px) and (max-width:800px){.service-image{height:270px}}
@media(max-width:580px){.service-image{height:280px}.service-copy p{margin-bottom:19px}}

/* Corrección de portada: marca primero, tarjetas equivalentes y entrada compacta. */
.home-nav{min-height:100px;gap:32px}
.home-nav .brand{gap:12px}
.home-nav .brand img{width:64px;height:64px}
.home-nav .brand span{font-size:36px}
.home-nav .brand small{font-size:12px;letter-spacing:.12em}
.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;padding-block:28px}
.home-intro h1{font-size:clamp(48px,4.5vw,66px);line-height:1.05;margin:0 0 5px}
.home-tagline{font-size:24px;line-height:1.3;color:var(--cyan-dark);margin:0 0 12px}
.home-promise{font-size:21px;line-height:1.4;color:var(--ink);margin:0}
.home-intro-copy{max-width:440px;padding:0}
.home-intro-copy>p{font-size:18px;line-height:1.5;margin-bottom:10px}
.service-card{min-width:0}
.service-image{height:clamp(200px,31vh,310px);flex:none}
.service-copy{padding:20px 26px}
.service-heading{margin-bottom:12px}
.service-heading h2{font-size:clamp(30px,2.8vw,40px)}
.service-copy p{font-size:16px;line-height:1.5;margin-bottom:17px;max-width:none}
.service-cta{padding-top:14px;line-height:1.4}
@media(min-width:801px) and (max-height:760px){
 .home-nav{min-height:88px}.home-intro{padding-block:20px}.home-intro h1{font-size:54px}
 .home-tagline{font-size:22px;margin-bottom:8px}.service-image{height:210px}
}
@media(max-width:800px){
 .home-nav{gap:16px;padding-block:14px}.home-nav .brand img{width:54px;height:54px}
 .home-nav .brand span{font-size:31px}.home-nav .brand small{font-size:10px}
 .home-intro{grid-template-columns:1fr;gap:18px;padding-block:26px}
 .home-intro h1{font-size:52px}.home-tagline{font-size:23px;margin-bottom:8px}
 .home-promise{font-size:19px}.home-intro-copy{max-width:560px}
 .service-image{height:230px}.service-copy{padding:20px}.service-heading h2{font-size:30px}
 .service-cta{font-size:15px}
}
@media(max-width:580px){
 .home-nav{gap:12px}.home-nav .brand{gap:9px}.home-nav .brand img{width:48px;height:48px}
 .home-nav .brand span{font-size:29px}.home-nav .brand small{font-size:10px;letter-spacing:.075em}
 .home-contact{padding:8px 10px;font-size:14px;gap:8px}.home-contact span{display:none}
 .home-intro h1{font-size:clamp(46px,12vw,58px)}.home-tagline{font-size:23px}
 .home-intro-copy>p{font-size:17px}.home-choices{grid-template-columns:minmax(0,1fr)}
 .service-image{height:245px}.service-copy{padding:22px}.service-heading h2{font-size:35px}
 .service-copy p{font-size:16px}.service-cta{font-size:15px}
}

@media(max-width:580px){.service-copy p{min-height:72px}}

/* Entrada móvil: dos decisiones compactas, no dos páginas apiladas. */
.home-mobile{display:none}
.service-cta>.home-desktop{font:inherit}
@media(max-width:580px){
 .home-desktop,.home-nav nav,.home-intro-copy,.home-tagline,.home-promise{display:none}
 .home-mobile{display:block}
 .home-wrap{width:calc(100% - 36px)}
 .home-nav{min-height:82px;padding-block:12px;gap:12px;flex-wrap:nowrap}
 .home-nav .brand{gap:8px}.home-nav .brand img{width:44px;height:44px}
 .home-nav .brand span{font-size:26px}.home-nav .brand small{font-size:9px}
 .home-contact{min-height:44px;padding:9px;font-size:14px}
 .home-intro{display:block;padding-block:24px 20px}
 .home-intro h1{font-size:2.25rem;line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}
 .home-choice-hint{font-size:1rem;line-height:1.45;margin:0;color:var(--muted);max-width:310px}
 .home-choices{gap:12px;grid-auto-rows:1fr}
 .service-card{display:grid;grid-template-columns:90px minmax(0,1fr);border-radius:10px}
 .service-image{height:auto;min-height:180px}
 .service-image img{position:absolute;inset:0}
 .family-card .service-image img{object-position:center center}
 .institution-card .service-image img{object-position:center center}
 .service-image .image-label,.service-image .home-image-credit,.service-arrow{display:none}
 .service-copy{padding:15px;min-width:0}
 .service-heading{margin-bottom:8px}
 .service-heading h2{font-size:1.65rem;line-height:1.08;letter-spacing:-.035em}
 .service-copy p{min-height:0;font-size:1rem;line-height:1.4;margin:0 0 14px}
 .service-cta,.institution-card .service-cta{background:var(--cyan);color:var(--navy);border:0;border-radius:5px;padding:10px 12px;min-height:44px;gap:8px;font-size:.875rem;line-height:1.3}
 .service-cta>.home-mobile{font:inherit}.service-cta>[aria-hidden]{font-size:20px}
 .service-card:active{border-color:var(--cyan-dark);transform:translateY(1px)}
 .home-photo-note{font-size:.75rem;line-height:1.4;margin-block:10px 0;text-align:right;color:var(--muted)}
}
@media(max-width:360px){
 .home-nav .brand span{font-size:22px}.home-nav .brand img{width:36px;height:36px}.home-nav .brand small{font-size:8px}
 .service-card{grid-template-columns:68px minmax(0,1fr)}.service-copy{padding:13px}.service-heading h2{font-size:1.5rem}
}
