.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:7%;padding:64px 7vw 72px;min-height:0;max-width:1600px;margin:auto}
.hero h1{font-size:clamp(2.5rem,4.2vw,4.25rem);letter-spacing:-.035em;line-height:1.08;margin:24px 0}
.hero .lead{font-size:1.125rem;max-width:580px;line-height:1.65}
.hero .eyebrow{line-height:1.8;letter-spacing:.12em}
.hero .actions{gap:18px;align-items:center;margin-top:30px}
.hero .ghost{border:0;background:transparent;padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:6px}
.hero-portrait{margin:0;position:relative;border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:24px;background:#004d98;isolation:isolate;overflow:hidden;box-shadow:0 22px 80px -28px #004d9830;transition:transform .6s ease,box-shadow .6s ease}
.hero-portrait img{display:block;width:100%;height:520px;object-fit:cover;object-position:50% 55%;transition:transform .8s ease,filter .8s ease}
.hero-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(140deg,#0053a912,transparent 48%,#c6004914)}
.phone-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(hover:hover) and (pointer:fine){.hero-portrait:hover{transform:translateY(-5px);box-shadow:0 28px 95px -25px #004d9838}.hero-portrait:hover img{transform:scale(1.035);filter:brightness(1.055)}}
@media(prefers-reduced-motion:reduce){.hero-portrait,.hero-portrait img{transition:none!important}.hero-portrait:hover,.hero-portrait:hover img{transform:none}}
.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:56px 26px 24px;background:linear-gradient(transparent,rgba(9,25,44,.88));color:white;display:flex;flex-direction:column;gap:5px}
.hero-portrait strong{font-size:1.375rem}.hero-portrait figcaption span{font-size:1rem}
.menu-toggle{display:none}
.mobile-contact{display:none}
button,.button,.nav-cta,.orbit{border-radius:12px;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease}
.site-header .menu-toggle,.site-header .nav-cta,.faq-questions button,.captcha-refresh{border-radius:12px}
.button.primary{box-shadow:0 6px 18px #c6004920}.hero .button.ghost{border:1px solid var(--line);background:white;padding:14px 20px;text-decoration:none}
.contact-links{align-items:flex-start}.contact-links .social-button{display:inline-flex;justify-content:center;gap:12px;padding:14px 20px;border-radius:14px;min-height:48px;border:1px solid #ffffff30;box-shadow:0 7px 20px #0002;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
.contact-links .social-whatsapp{background:#25d366;color:#08351b}.contact-links .social-linkedin{background:#0a66c2;color:white}.social-button svg{width:24px;height:24px;flex-shrink:0;fill:currentColor}
.contact textarea{min-height:6rem;resize:vertical}.form-row>label{min-width:0}.form-row select{min-width:0;max-width:100%}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover,.button:hover,.nav-cta:hover,.orbit:hover{transform:translateY(-2px);box-shadow:0 8px 22px #004d9825}.button.primary:hover{background:#a90040}.contact-links .social-button:hover{transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 12px 26px #0003}.hero .button.ghost:hover{background:#edf4fb}}
button:active,.button:active,.nav-cta:active{transform:translateY(0)}
@media(max-width:560px){.phone-row{grid-template-columns:1fr}.contact-links .social-button{width:100%}.contact-links{align-items:stretch}}
@media(prefers-reduced-motion:reduce){button,.button,.nav-cta,.orbit,.contact-links .social-button{transition:none!important;transform:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.senior-faq h2{max-width:850px;margin-bottom:40px}
.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.faq-answers{border-top:5px solid var(--blue);background:white;padding:32px;border-radius:0 0 12px 12px}
.faq-answer[hidden]{display:none}.faq-answer h3{font-size:1.5rem;line-height:1.3;margin:0 0 20px}.faq-answer p{font-size:1.125rem;line-height:1.75;color:var(--muted)}
.faq-questions{display:flex;flex-direction:column;gap:10px}.faq-questions button{text-align:left;display:flex;align-items:baseline;gap:16px;width:100%;border:1px solid var(--line);background:white;padding:18px;font:inherit;font-size:1rem;line-height:1.5;cursor:pointer;color:var(--ink)}
.faq-questions button span{color:var(--blue);font-size:.875rem;font-weight:700}.faq-questions button[aria-selected="true"]{border-color:var(--blue);background:#0053a90c;box-shadow:inset 4px 0 var(--blue)}
.faq-questions button:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
footer .footer-projects{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:28px}footer .footer-projects h2{font-size:1.25rem;margin:0 0 20px;color:white}footer .footer-projects>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 28px}footer .footer-projects a{font-size:1rem;line-height:1.5;color:#dce7f4}footer .footer-projects a:hover{color:white;text-decoration:underline}
@media(max-width:700px){.faq-layout{grid-template-columns:1fr;gap:20px}.faq-questions{grid-row:1}.faq-answers{padding:24px}.faq-answer p{font-size:1rem}footer .footer-projects>div{grid-template-columns:1fr}.senior-faq h2{font-size:2rem}}
.menu-toggle:focus-visible,.site-header a:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:1050px){
.site-header{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px}
.site-header .brand{justify-self:start;gap:6px;font-size:14px;max-width:100%}
.site-header .brand img{width:36px;height:36px;flex-shrink:0}
.mobile-contact{display:flex;align-items:center;justify-content:center;justify-self:end;font-size:14px;padding:10px 12px;min-height:44px}
.menu-toggle{justify-self:center}
.menu-toggle span{display:none}
.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:transparent;border:1px solid #ffffff80;border-radius:3px;min-width:48px;min-height:48px;padding:10px;font:inherit;font-size:.875rem;cursor:pointer}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#004d98;padding:16px 6vw 24px;gap:0;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 84px);overflow-y:auto;box-shadow:0 16px 25px #0b1a3226}
.site-header nav.is-open{display:flex}
.site-header nav a:not(.nav-cta),.site-header nav a{display:block;min-height:48px;padding:14px 12px;font-size:1rem}
.site-header .nav-cta{margin-top:8px}
.hero{gap:5%;padding:48px 6vw}.hero h1{font-size:clamp(2.25rem,4.6vw,3.4rem)}.hero-portrait img{height:470px}
}
@media(max-width:700px){
.hero{grid-template-columns:1fr;gap:32px;padding:36px 20px 48px}
.hero h1{font-size:clamp(2rem,8.6vw,3rem);line-height:1.12;margin:18px 0 20px}
.hero .lead{font-size:1rem;line-height:1.6}.hero .actions{margin-top:24px;gap:10px}
.hero .actions .button{width:100%;justify-content:center}.hero .ghost{min-height:44px}
.hero-portrait{width:100%;max-width:440px;justify-self:center}.hero-portrait img{height:390px;object-position:center 48%}
.site-header nav{max-height:calc(100dvh - 72px)}
}

/* Compact vertical spacing across the page. */
.hero{padding-block:36px}
.section,.contact{padding-block:56px}
.audiences a{padding-block:22px}
footer{padding-block:32px}
@media(max-width:700px){
.hero{padding-block:28px}
.section,.contact{padding-block:36px}
.audiences a{padding-block:18px}
footer{padding-block:28px}
}
footer .footer-resources{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #ffffff30;padding-top:28px}
.footer-resources h2{font-size:1.25rem;color:white;margin:0 0 20px}.footer-resources .resource-links,.footer-resources .blog-slots{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.footer-resources a,.blog-pending{font-size:1rem;line-height:1.5;color:#dce7f4}.footer-resources a:hover{text-decoration:underline}.blog-pending{color:#9da7b7}
@media(max-width:700px){footer .footer-resources{grid-template-columns:1fr;gap:28px}}
/* Social actions follow the site brand. */
.contact-links .social-whatsapp{background:var(--pink);color:#fff;border-color:#ffffff80}
.contact-links .social-linkedin{background:var(--blue);color:#fff;border-color:#ffffff80}
@media(hover:hover) and (pointer:fine){
.contact-links .social-whatsapp:hover{background:#fff;color:var(--pink);filter:none}
.contact-links .social-linkedin:hover{background:#fff;color:var(--blue);filter:none}
}
