/* Services shares the main landing's palette, editorial rhythm and vocabulary. */
.services-current { --services-wine:#85334f; --services-ink:#242b29; background:#f3f0e9; color:var(--services-ink); }
.services-current .services-cinema { display:flex; align-items:flex-end; position:relative; isolation:isolate; min-height:100svh; padding:calc(var(--header,80px) + 270px) 7vw 100px; overflow:hidden; background:#202a28; }
.services-current .services-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; z-index:-2; }
.services-current .services-cinema::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(10,20,17,.91),rgba(10,20,17,.55) 36%,rgba(10,20,17,.04) 78%),linear-gradient(90deg,rgba(10,20,17,.22),transparent 80%); }
.services-current .services-hero-copy { max-width:920px; width:100%; }
.services-current .services-hero-copy .eyebrow { color:#ece6d8; font-size:11px; letter-spacing:.18em; line-height:1.7; }
.services-current .services-hero-copy h1 { font-size:clamp(44px,5.2vw,84px); font-weight:500; line-height:1.06; letter-spacing:-.045em; margin:25px 0; color:#faf7ef; }
.services-current .services-hero-copy h1 em { font-family:Georgia,serif; color:#e6bdc9; font-weight:400; }
.services-current .services-hero-copy>p { color:#ede9e0; max-width:650px; font-size:18px; line-height:1.75; margin:0; text-wrap:pretty; }
.services-current .services-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px 32px; margin-top:32px; }
.services-current .services-hero-copy .button { margin:0; }
.services-current .services-hero-contact { display:inline-flex; align-items:center; gap:28px; font-size:14px; color:#f5f0e7; padding:12px 0; border-bottom:1px solid #d8c8ba; }
.services-current .services-cover-note { position:absolute; bottom:30px; left:7vw; font-size:9px; letter-spacing:.16em; color:#dcd6c9; }
.services-current :is(.service-manifesto,.service-chapters,.service-chapter,.services-method,.services-legacy-anchor) { scroll-margin-top:105px; }
.services-current .service-manifesto { padding:100px 7vw 75px; }
.services-current .service-manifesto h2 { font-weight:500; letter-spacing:-.035em; max-width:1100px; }
.services-current :is(.service-manifesto,.service-chapter) h2 em { color:var(--services-wine); font-family:Georgia,serif; font-weight:400; }
.services-current .service-manifesto>div { max-width:1000px; color:#64615b; }
.services-current .service-chapters { padding:0 7vw 90px; }
.services-current .service-chapter { grid-template-columns:50px minmax(0,1.2fr) minmax(0,.85fr); gap:40px; padding:65px 0; }
.services-current .service-chapter .eyebrow { color:var(--services-wine); font-size:10px; letter-spacing:.14em; line-height:1.7; }
.services-current .service-chapter h2 { font-size:clamp(34px,3vw,50px); letter-spacing:-.035em; }
.services-current .service-chapter p { color:#64615b; font-size:16px; }
.services-current .service-chapter>ul { background:#eae5db; border:0; border-radius:0; padding:22px 28px; }
.services-current .service-chapter li { color:#514c47; }
.services-current .service-chapter .text-link { color:var(--services-wine); font-size:14px; }
.services-current .service-chapter-custom { border-bottom:1px solid #cbbfb1; }
.services-current .services-method { background:#202a28; padding:100px 7vw; }
.services-current .services-method>.eyebrow { color:#d8c8ba; letter-spacing:.16em; font-size:10px; line-height:1.7; }
.services-current .services-method h2 { font-weight:500; margin-bottom:26px; letter-spacing:-.035em; }
.services-current .services-method h2 em { font-family:Georgia,serif; color:#dbaab8; font-weight:400; }
.services-current .services-method-intro { max-width:650px; color:#c7cbc5; font-size:17px; line-height:1.8; }
.services-current .method-photo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:55px; }
.services-current .method-photo-grid figure { aspect-ratio:4/3; border-radius:0; border:0; margin-bottom:24px; }
.services-current .method-photo-grid figure img { object-position:50% 45%; }
.services-current .method-photo-grid article>span { border-color:#8e777e; color:#dfb5c2; background:transparent; }
.services-current .method-photo-grid h3 { font-size:23px; line-height:1.2; font-weight:500; letter-spacing:-.025em; color:#faf7ef; }
.services-current .method-photo-grid p { font-size:15px; color:#c7cbc5; line-height:1.8; }
.services-current .services-finale { background:#eee9df; color:var(--services-ink); padding:100px 7vw 80px; }
.services-current .services-finale>.eyebrow { color:var(--services-wine); }
.services-current .services-finale h2 { font-size:clamp(38px,4.7vw,72px); font-weight:500; letter-spacing:-.035em; }
.services-current .services-finale h2 em { color:var(--services-wine); font-family:Georgia,serif; }
.services-current .services-finale p { color:#64615b; font-size:17px; }
.services-current .finale-signature { color:#6c625c; }
@media(max-width:1100px) {
 .services-current .service-chapter { grid-template-columns:40px minmax(0,1fr); gap:24px; }
 .services-current .service-chapter>ul { grid-column:2; }
 .services-current .method-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; }
 .services-current .services-hero-copy h1 { font-size:clamp(46px,6vw,70px); }
}
@media(max-width:760px) {
 .services-current .services-cinema { min-height:100svh; padding:340px 24px 65px; }
 .services-current .services-cover { object-position:52% 40%; }
 .services-current .services-cinema::before { background:linear-gradient(0deg,rgba(10,20,17,.94),rgba(10,20,17,.64) 45%,rgba(10,20,17,.04) 85%); }
 .services-current .services-hero-copy h1 { font-size:clamp(39px,8.5vw,58px); margin:22px 0; }
 .services-current .services-hero-copy .eyebrow { font-size:9px; }
 .services-current .services-hero-copy>p { font-size:16px; line-height:1.7; }
 .services-current .services-hero-actions { gap:20px; margin-top:26px; }
 .services-current .services-hero-actions .button { font-size:13px; padding:19px 22px; gap:22px; }
 .services-current .services-hero-contact { font-size:13px; }
 .services-current .services-cover-note { display:none; }
 .services-current .service-manifesto { padding:70px 24px 45px; }
 .services-current .service-manifesto h2 { font-size:38px; }
 .services-current .service-manifesto>div { gap:12px; }
 .services-current .service-chapters { padding:0 24px 60px; }
 .services-current .service-chapter { grid-template-columns:1fr; gap:20px; padding:40px 0; }
 .services-current .service-chapter h2 { font-size:36px; margin:20px 0; }
 .services-current .service-chapter>ul { grid-column:1; padding:12px 20px; }
 .services-current .service-chapter p { font-size:15px; max-width:none; }
 .services-current .service-chapter .text-link { font-size:13px; }
 .services-current .services-method { padding:65px 24px; }
 .services-current .services-method h2 { font-size:38px; }
 .services-current .services-method-intro { font-size:16px; }
 .services-current .method-photo-grid { grid-template-columns:1fr; gap:44px; }
 .services-current .method-photo-grid h3 { font-size:28px; }
 .services-current .method-photo-grid p { font-size:16px; }
 .services-current .services-finale { padding:70px 24px; }
 .services-current .services-finale .button { font-size:13px; padding:18px; gap:22px; max-width:100%; }
}
@media(max-height:600px) and (min-width:761px) {
 .services-current .services-cinema { min-height:740px; padding-top:260px; }
}
/* The final invitation retains the dark surface used by the shared navigation. */
.services-current .services-finale { background:#18231f; color:#faf7ef; }
.services-current .services-finale>.eyebrow,.services-current .services-finale h2 em { color:#dbaab8; }
.services-current .services-finale p { color:#c7cbc5; }
.services-current .finale-signature { color:#c7cbc5; }
/* Each service keeps its name, icon and accent from the directory to the detail. */
.services-local [data-service="finanzas"] { --service-accent:#85334f; --service-tint:#f0e2e7; }
.services-local [data-service="inventarios"] { --service-accent:#1e6961; --service-tint:#e1eeea; }
.services-local [data-service="consultoria"] { --service-accent:#8b5b1d; --service-tint:#f3ead9; }
.services-local [data-service="cartera"] { --service-accent:#a24933; --service-tint:#f2e3dc; }
.services-local [data-service="software-a-medida"] { --service-accent:#514e91; --service-tint:#e9e7f3; }
.services-local [data-service="integraciones-ia"] { --service-accent:#256486; --service-tint:#e0edf3; }
.services-local [data-service="formalizacion"] { --service-accent:#4c6b35; --service-tint:#e8eedf; }
.services-local .services-method { padding-top:80px; }
.services-local .service-chapters { padding-top:30px; }
.services-local .service-chapter { border-top-color:var(--service-accent); }
.services-local .service-marker { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; color:var(--service-accent); padding-top:5px; }
.services-local .service-marker span { font-size:11px; letter-spacing:.12em; }
.services-local .service-chapter .eyebrow { color:var(--service-accent); text-transform:uppercase; }
.services-local .service-chapter h2 { font-size:clamp(32px,2.8vw,46px); }
.services-local .service-chapter h2 em,.services-local .service-chapter .text-link,.services-local .service-chapter li>span { color:var(--service-accent); }
.services-local .service-chapter>ul { background:var(--service-tint); }
@media(max-width:1100px) {
}
@media(max-width:600px) {
 .services-local .services-method { padding-top:60px; }
 .services-local .service-marker { flex-direction:row; justify-content:flex-start; gap:12px; padding:0; }
 .services-local .service-chapter h2 { font-size:34px; }
}
/* Keep the whole introduction inside the arrival viewport, including browser zoom. */
.services-current .services-cinema {
 height:100svh;
 min-height:0;
 box-sizing:border-box;
 align-items:center;
 padding:calc(var(--header,80px) + clamp(20px,5svh,56px)) 7vw clamp(50px,8svh,90px);
}
.services-current .services-cover { object-position:50% 50%; }
.services-current .services-cinema::before {
 background:linear-gradient(90deg,rgba(8,17,14,.57),rgba(8,17,14,.22) 72%,rgba(8,17,14,.13)),linear-gradient(0deg,rgba(8,17,14,.66),rgba(8,17,14,.08) 75%);
}
.services-local .service-chapters { padding-top:75px; }
@media(max-width:1100px) {
 .services-current .services-hero-copy h1 { font-size:clamp(42px,5.4vw,70px); }
}
@media(max-width:760px) {
 .services-current .services-cinema { padding:calc(var(--header,70px) + 24px) 24px 40px; }
 .services-current .services-cover { object-position:52% 40%; }
 .services-current .services-hero-copy h1 { font-size:clamp(31px,8.2vw,46px); margin:18px 0; }
 .services-current .services-hero-copy>p { font-size:14.5px; line-height:1.65; }
 .services-current .services-hero-actions { gap:14px 24px; margin-top:22px; }
 .services-current .services-hero-actions .button { padding:16px 19px; min-height:48px; }
 .services-current .services-hero-contact { padding:10px 0; }
 .services-local .service-chapters { padding-top:40px; }
}
@media(max-height:650px) {
 .services-current .services-cinema { padding-top:calc(var(--header,70px) + 16px); padding-bottom:24px; }
 .services-current .services-hero-copy h1 { font-size:clamp(28px,4vw,56px); margin:12px 0; }
 .services-current .services-hero-copy>.eyebrow { font-size:9px; }
 .services-current .services-hero-copy>p { font-size:14px; line-height:1.5; }
 .services-current .services-hero-actions { margin-top:18px; gap:12px 24px; }
 .services-current .services-hero-actions .button { padding:12px 16px; min-height:42px; }
 .services-current .services-cover-note { display:none; }
}
@media(max-width:600px) and (max-height:420px) {
 .services-current .services-cinema { height:auto; min-height:100svh; }
}
.services-current .services-cinema>picture { position:absolute; inset:0; z-index:-2; display:block; }
.services-current .services-cover { z-index:0; }
.services-local .service-marker svg { width:26px; height:26px; }
.services-current :is(.services-hero-contact,.button,.text-link):focus-visible { outline:3px solid #b58a4f; outline-offset:6px; }
