/* Keep the existing Services layout; scope interaction and readability fixes here. */
.services-page-layout .services-page h1 { font-size: clamp(34px, 4vw, 50px); line-height: 1.15; margin-bottom: 20px; }
.services-page-layout .services-page-intro { max-width: 850px; line-height: 1.65; margin: 0 0 20px; }
.services-page-nav { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 22px 0 34px; line-height: 1.5; }
.services-page-nav a { color: #295875; text-decoration: underline; text-underline-offset: 4px; padding: 4px 0; }
.services-page-nav a:focus-visible { outline: 3px solid #295875; outline-offset: 4px; }
.services-page-layout [id^="services-"], .services-overview [id^="service-"] { scroll-margin-top: 115px; }
.services-page-layout .section-formation .card-formation { max-width: none; min-height: 0; height: 100%; }
.services-page-layout .section-formation .card-descripcion { text-align: left; padding: 0 20px; }
.services-page-layout .section-formation .card-descripcion:last-child { margin-bottom: 20px; }
.services-overview .services-formation-overview,
.services-overview .services-overview-card[aria-labelledby="service-contabilidade"] { grid-column: 1 / -1; }
.services-formation-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.services-formation-options article { padding: 22px; border-radius: 14px; background: #f5f0e7; }
.services-formation-options h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 23px; line-height: 1.3; margin: 0 0 14px; }
.services-formation-options p { margin: 0 0 14px; }
.services-formation-options p:last-child { margin-bottom: 0; }
@media (max-width: 760px) { .services-formation-options { grid-template-columns: 1fr; } }
.services-page-layout .services-canary-details { margin: 20px 0 16px; padding: 16px 20px; background: #f5f0e7; border-left: 4px solid #aa8954; border-radius: 8px; }
.services-page-layout .services-canary-details h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 21px; line-height: 1.3; margin: 0 0 8px; }
.services-page-layout .services-canary-details h3 a { color: #295875; text-decoration: underline; text-underline-offset: 3px; }
:is(.services-page-layout, .services-overview) .services-employer-callout h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 23px; line-height: 1.3; margin: 0 0 12px; }
.services-page-layout .services-canary-details p, .services-page-layout .services-vat-link { line-height: 1.65; margin: 0; }
.services-page-layout .services-vat-link a, .services-page-layout .services-individual-links a { color: #295875; text-decoration: underline; text-underline-offset: 3px; }
:is(.services-page-layout, .services-overview) .services-employer-callout { margin: 22px 0; padding: 22px; border: 1px solid #dfd0b8; border-radius: 14px; background: #fbf8f2; }
:is(.services-page-layout, .services-overview) .services-employer-callout p { margin: 0 0 14px; line-height: 1.65; }
:is(.services-page-layout, .services-overview) .services-employer-callout p:last-child { margin-bottom: 0; }
.services-primary-links { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.services-primary-links a, .services-page-layout .services-contact-link { display: inline-block; padding: 11px 15px; border-radius: 8px; background: #173e52; color: #fff; line-height: 1.4; text-decoration: none; }
.services-primary-links a:hover, .services-page-layout .services-contact-link:hover { background: #295875; }
.services-page-layout .services-page-contact { margin: 40px auto; padding: 28px; border-radius: 16px; background: #f5f0e7; }
.services-page-layout .services-page-contact h2 { font-family: "DM Serif Display", Georgia, serif; font-size: 30px; line-height: 1.25; margin: 0 0 14px; }
.services-page-layout .services-page-contact p { line-height: 1.65; margin-bottom: 18px; }
.services-page-layout .services-individual-links { padding: 0 10px 16px; line-height: 1.6; }
.services-page-layout .services-individual-tax-link { margin-top: 18px; }
.services-overview .services-overview-detail { margin-top: 16px; }
.services-overview .services-overview-detail summary { cursor: pointer; color: #295875; }
.services-overview .services-overview-detail p { margin: 12px 0; }
.services-page-layout .services-accordion-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    position: relative;
    width: 100%;
    padding: 5px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.services-page-layout .services-accordion-trigger .icon { flex-shrink: 0; transition: transform .2s ease; }
.services-page-layout .services-accordion-trigger[aria-expanded="true"] .icon { transform: rotate(180deg); }
.services-page-layout .services-accordion-trigger:focus-visible,
.services-page-layout a:focus-visible { outline: 3px solid #295875; outline-offset: 4px; }
.services-page-layout .accordion-content { max-height: none; overflow: visible; }
.services-page-layout .accordion-content[hidden] { display: none; }
.services-page-layout .fuente-titular,
.services-page-layout .titulo-seccion,
.services-page-layout .title-card-equipo { text-transform: none; }
.services-page-layout .services-accordion-trigger .p-accounting { overflow-wrap: anywhere; }
/* Shared tracks align both accounting introductions and all four accordion rows. */
.services-page-layout #services-accounting {
    grid-template-columns: minmax(240px, .8fr) minmax(0, 2fr);
    grid-template-areas: "foto titulo" "foto opciones";
    gap: 24px 32px;
}
#services-accounting .services-accounting-options { grid-area: opciones; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto auto; gap: 14px 28px; align-self: start; min-width: 0; }
#services-accounting :is(.column-1, .column-2) { display: contents; }
#services-accounting .column-1 > :is(h3, p, .accordion) { grid-column: 1; }
#services-accounting .column-2 > :is(h3, p, .accordion) { grid-column: 2; }
#services-accounting .services-accounting-options h3 { grid-row: 1; margin: 0; padding: 0; font-size: clamp(23px, 2vw, 30px); line-height: 1.25; }
#services-accounting .texto-acounting { grid-row: 2; margin: 0; line-height: 1.55; }
#services-accounting .accordion { grid-row: 3; display: grid; align-content: start; gap: 12px; padding: 0; }
#services-accounting .accordion-item { margin: 0; padding: 0; align-self: start; }
#services-accounting .services-accordion-trigger { min-height: 48px; padding: 10px 12px; }
#services-accounting .services-accordion-trigger .p-accounting { margin: 0; }
#services-accounting .accordion-content { padding: 0 12px 12px; }
@supports (grid-template-rows: subgrid) {
    #services-accounting .services-accounting-options { grid-template-rows: auto auto repeat(4, auto); }
    #services-accounting :is(.column-1, .column-2) { display: grid; grid-row: 1 / span 6; grid-template-rows: subgrid; }
    #services-accounting .column-1 { grid-column: 1; }
    #services-accounting .column-2 { grid-column: 2; }
    #services-accounting .services-accounting-options :is(h3, .texto-acounting, .accordion) { grid-row: auto; grid-column: auto; }
    #services-accounting .accordion { display: contents; }
    #services-accounting .accordion-item { display: grid; grid-template-rows: 1fr auto; align-self: stretch; }
    #services-accounting .services-accounting-options:has(.accordion-item.open) .accordion-item:not(.open) { align-self: start; }
}
/* Payroll: introduction/photo, two services, grouped guides, secondary EOR. */
.services-payroll-section { min-width: 0; line-height: 1.65; color: #231d12; }
.services-page-layout > .services-payroll-section { width: min(1240px, calc(100% - 80px)); margin: 0 auto 88px; }
.services-payroll-header { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: center; gap: 32px; }
.services-payroll-header h2 { font-family: "DM Serif Display", Georgia, serif; font-size: clamp(30px, 3vw, 42px); line-height: 1.2; margin: 0 0 14px; }
.services-payroll-header h2 a { color: inherit; font: inherit; text-decoration: none; }
.services-payroll-header p { margin: 0; }
.services-payroll-photo { margin: 0; width: 100%; aspect-ratio: 3 / 2; border-radius: 20px; overflow: hidden; }
.services-payroll-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.services-payroll-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.services-payroll-options > :is(.services-employer-callout, .services-payroll-ongoing) { display: flex; flex-direction: column; gap: 16px; min-width: 0; margin: 0; padding: 26px; border: 1px solid #dfd0b8; border-radius: 16px; background: #fbf8f2; }
.services-payroll-options h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 25px; line-height: 1.25; margin: 0; }
.services-payroll-options .services-employer-callout h3 { margin: 0; }
.services-payroll-options > :is(.services-employer-callout, .services-payroll-ongoing) > p { margin: 0; }
.services-payroll-options .services-primary-links { margin: auto 0 0; padding-top: 4px; }
@supports (grid-template-rows: subgrid) {
    @media (min-width: 761px) {
        .services-payroll-options { grid-template-rows: auto 1fr auto; row-gap: 16px; }
        .services-payroll-options > :is(.services-employer-callout, .services-payroll-ongoing) { display: grid; grid-template-rows: subgrid; grid-row: 1 / span 3; }
        .services-payroll-options > .services-employer-callout { grid-column: 1; }
        .services-payroll-options > .services-payroll-ongoing { grid-column: 2; }
    }
}
.services-payroll-tools { margin: 12px 0 0; text-align: right; }
.services-payroll-tools a { color: #295875; text-decoration: underline; text-underline-offset: 3px; }
.services-payroll-guides { margin-top: 30px; }
.services-payroll-guides > h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 26px; line-height: 1.3; margin: 0 0 18px; }
.services-payroll-guide-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.services-payroll-guide-group { min-width: 0; padding: 22px; border: 1px solid #e4d9c9; border-radius: 16px; }
.services-payroll-guide-group h4 { font-family: "DM Serif Display", Georgia, serif; font-size: 21px; line-height: 1.3; margin: 0 0 16px; }
.services-payroll-guide-group ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 10px; list-style: none; margin: 0; padding: 0; }
.services-payroll-guide-group li { display: flex; min-width: 0; margin: 0; padding: 0; }
.services-payroll-guide-group a { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; padding: 12px; box-sizing: border-box; border-radius: 9px; background: #f5f0e7; color: #295875; font-size: 15px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.services-payroll-guide-group a span { flex-shrink: 0; }
.services-payroll-guide-group a:hover { background: #ece1d0; }
.services-payroll-eor { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 26px; padding: 22px 26px; background: #f3ede3; border-left: 4px solid #aa8954; border-radius: 12px; }
.services-payroll-eor h3 { font-family: "DM Serif Display", Georgia, serif; font-size: 23px; line-height: 1.3; margin: 0 0 10px; }
.services-payroll-eor p { margin: 0; font-size: 15px; }
.services-payroll-eor > a { max-width: 220px; color: #295875; text-underline-offset: 3px; }
.services-payroll-section a:focus-visible { outline: 3px solid #295875; outline-offset: 4px; }
.services-overview-grid > .services-payroll-section { grid-column: 1 / -1; padding: 28px; border: 1px solid #e4d6c2; border-radius: 20px; background: #fff; }
@media (max-width: 1000px), (orientation: portrait) {
    .services-page-layout #services-accounting { grid-template-columns: minmax(0, 1fr); grid-template-areas: "titulo" "opciones"; }
    #services-accounting .accounting-team-panel { display: none; }
}
@media (max-width: 900px) {
    .services-payroll-header { grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; }
}
@media (max-width: 760px) {
    #services-accounting .services-accounting-options, #services-accounting :is(.column-1, .column-2) { display: block; }
    #services-accounting .services-accounting-options h3 { margin-bottom: 12px; }
    #services-accounting .texto-acounting { margin-bottom: 18px; }
    #services-accounting .column-2 { margin-top: 30px; }
    #services-accounting .accordion { display: grid; gap: 12px; }
    .services-page-layout > .services-payroll-section { width: calc(100% - 32px); margin-bottom: 64px; }
    .services-payroll-header, .services-payroll-options, .services-payroll-guide-groups, .services-payroll-eor { grid-template-columns: minmax(0, 1fr); }
    .services-payroll-photo { max-width: 320px; margin-inline: auto; }
    .services-payroll-tools { text-align: left; }
    .services-payroll-options > :is(.services-employer-callout, .services-payroll-ongoing), .services-payroll-guide-group, .services-payroll-eor { padding: 20px; }
    .services-overview-grid > .services-payroll-section { padding: 22px; }
}
@media (max-width: 520px) {
    .services-payroll-guide-group ul { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .services-page-layout .services-accordion-trigger .icon { transition: none; }
}
