/* Shared final hero layout for the homepage and Assist service pages. */
.home-hero .hero-service-linked { padding: 0; }
.home-hero .hero-service-linked a { display: block; height: 100%; padding: 9px 10px 9px 26px; border-radius: inherit; }
.home-hero .hero-service-linked a:hover { background: rgba(121,201,66,.12); }
.home-hero .hero-service-linked a:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.home-hero ~ #fundos, .funds-section#fundos { scroll-margin-top: 112px; }

@media (min-width: 1101px) {
    .home-hero, .home-hero .page-hero-grid { min-height: 0 !important; }
    .home-hero .page-hero-grid { padding-top: 144px !important; padding-bottom: 24px !important; }
    .home-hero .page-hero-copy {
        display: grid !important;
        max-width: none !important;
        grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
        grid-template-rows: auto auto 1fr auto !important;
        column-gap: clamp(26px,3vw,48px) !important;
        row-gap: 16px !important;
    }
    .home-hero .page-hero-copy > .eyebrow { grid-column: 1 !important; grid-row: 1 !important; margin: 16px 0 0 !important; font-size: .75rem; letter-spacing: .1em; }
    .home-hero .page-hero-copy > h1 { grid-column: 1 !important; grid-row: 2 !important; margin: 0 !important; font-size: clamp(3.3rem,min(3.9vw,7.1vh),4.3rem) !important; line-height: 1.05 !important; }
    .home-hero .page-hero-copy > p { grid-column: 1 !important; grid-row: 3 !important; margin: 0 !important; max-width: 560px !important; }
    .home-hero .page-hero-copy > .hero-actions { grid-column: 1 !important; grid-row: 4 !important; margin: 0 0 18px !important; align-self: end !important; }
    .home-hero .page-hero-copy > .hero-service-panel { grid-column: 2 !important; grid-row: 2 / span 3 !important; align-self: start !important; padding: 22px; border-radius: 24px; }
    .home-hero .hero-service-panel > p { margin-bottom: 14px; }
    .home-hero .hero-service-list { gap: 6px 10px; }
    .home-hero .hero-service-list li { min-height: 0; padding: 5px 10px; }
    .home-hero .hero-service-list li::before { top: 14px; left: 10px; width: 6px; height: 6px; }
    .home-hero .hero-service-list strong { font-size: .76rem; line-height: 1.22; }
    .home-hero .hero-service-list span { font-size: .7rem; line-height: 1.25; margin-top: 2px; }
    .home-hero .hero-service-list .hero-service-linked { padding: 0; }
    .home-hero .hero-assist-actions { margin-top: 16px; gap: 10px; }
    .home-hero .hero-assist-actions .btn { min-height: 48px; flex-basis: 0; font-size: .84rem; padding-inline: 12px; }
    .home-hero + .stats-strip { margin-top: 0 !important; }
}

@media (min-width: 921px) and (max-width: 1100px) {
    .home-hero .page-hero-grid { padding-top: 144px !important; }
    .home-hero .page-hero-copy { display: flex !important; flex-direction: column; gap: 22px; }
    .home-hero .page-hero-copy > * { max-width: 100% !important; }
    .home-hero .hero-service-panel { width: 100%; }
}

.assist-hero { min-height: 0; }
.assist-hero .page-hero-grid { min-height: 0; padding-top: 148px; padding-bottom: 44px; gap: clamp(28px,4vw,60px); grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); }
.assist-hero .page-hero-copy { min-width: 0; }
.assist-hero .page-hero-copy > .eyebrow { margin-bottom: 18px; }
.assist-hero #hero-title { font-size: clamp(2.5rem,min(4vw,7vh),4rem) !important; line-height: 1.08 !important; letter-spacing: -.035em; margin-bottom: 22px !important; }
.assist-hero .page-hero-copy > p { font-size: 1rem; line-height: 1.65; margin-bottom: 28px; }
.assist-hero .hero-card { padding: 26px; background: linear-gradient(145deg,rgba(10,48,62,.96),rgba(4,25,38,.93)); border-color: rgba(121,201,66,.28); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.assist-hero .hero-card > img { width: 64px !important; height: 64px !important; margin-bottom: 12px !important; }
.assist-hero .hero-card-label { color: var(--green); margin-bottom: 12px; }
.assist-hero .hero-card h2 { font-size: clamp(1.5rem,2vw,2rem); line-height: 1.2; margin-bottom: 12px; }
.assist-hero .hero-card p { margin-bottom: 18px; font-size: .92rem; }
.assist-hero .hero-card-list { gap: 10px; }
.assist-hero .hero-card-list li { font-size: .86rem; }
.assist-service-page .assist-price-card { min-width: 0; }
.assist-service-page .assist-price-card h3 { padding-top: 18px; }
.assist-service-page .assist-price-badge { top: 12px; right: 14px; }
.assist-service-page .intro-stat { max-width: 100%; }
.assist-service-page .intro-stat strong { font-size: clamp(1.3rem,2vw,1.8rem); line-height: 1.2; }

/* Leave room for the browser toolbar on laptop displays at 100% zoom. */
@media (min-width: 1101px) and (max-height: 800px) {
    /* Longer translations retain the compact minimum on low laptop screens. */
    html:is(:lang(fr), :lang(it)) .home-hero .page-hero-copy > h1 { font-size: clamp(2.8rem,min(3.9vw,7.1vh),4.3rem) !important; }
    .site-header { height: 88px !important; }
    .site-header .brand img { width: 300px !important; max-height: 72px !important; }
    .home-hero .page-hero-grid { padding-top: 104px !important; padding-bottom: 8px !important; }
    .home-hero .page-hero-copy { row-gap: 12px !important; }
    .home-hero .page-hero-copy > .eyebrow { margin-top: 0 !important; }
    .home-hero .page-hero-copy > .hero-service-panel { padding: 12px; }
    .home-hero .hero-service-panel > p { margin-bottom: 10px; }
    .home-hero .hero-service-list { gap: 3px 10px; }
    .home-hero .hero-service-list li { padding: 2px 10px 2px 24px; }
    .home-hero .hero-service-list li::before { top: 10px; left: 9px; }
    .home-hero .hero-service-list .hero-service-linked { padding: 0; }
    .home-hero .hero-service-linked a { padding: 2px 10px 2px 24px; }
    .home-hero .hero-assist-actions { margin-top: 12px; }
    .home-hero .hero-assist-actions .btn { min-height: 44px; }
    .home-hero + .stats-strip .stats-strip-inner { min-height: 72px !important; }
    .home-hero + .stats-strip .stat-item { min-height: 72px !important; padding: 12px 16px; }
    .assist-hero .page-hero-grid { padding-top: 112px; padding-bottom: 30px; }
}

@media (max-width: 1100px) {
    .assist-hero .page-hero-grid { gap: 28px; }
    .assist-hero .hero-card { padding: 22px; }
}
@media (max-width: 920px) {
    .home-hero .page-hero-copy > .hero-service-panel { margin-top: 24px; padding: 22px; }
    .assist-hero .page-hero-grid { grid-template-columns: 1fr; padding-top: 116px; padding-bottom: 36px; }
    .assist-hero .hero-card { max-width: none; }
    .assist-hero #hero-title { font-size: clamp(2.2rem,6vw,3.3rem) !important; }
}
@media (max-width: 620px) {
    .home-hero .hero-service-list { grid-template-columns: 1fr; }
    .home-hero .hero-assist-actions { flex-direction: column; }
    .home-hero .hero-assist-actions .btn { flex-basis: auto; }
    .assist-hero .page-hero-grid { padding-top: 108px; }
    .assist-hero #hero-title { font-size: clamp(2rem,9vw,2.75rem) !important; }
    .assist-hero .hero-actions { gap: 12px; }
}
