/* PMO: photographic composition, precise geometry and the original brand palette. */
h1,h2,h3 { text-wrap: balance; }
h1 { letter-spacing: -.055em; }
p { text-wrap: pretty; }
.site-header { background:var(--petrol); color:var(--powder); border-bottom:1px solid #fffef91f; }
.header-inner { min-height: 96px; }
.brand img { transform:translateY(-3px); }
.primary-nav > a { font-size: 13px; }
.primary-nav > a:hover { color:var(--lime); }
.primary-nav .nav-cta { background:var(--lime); color:var(--petrol); border:0; }
.primary-nav .nav-cta:hover { background:#cee25c; color:var(--petrol); }
.menu-toggle { color:var(--powder); }
.button { border-radius: 0; padding: 0 0 0 22px; gap: 24px; overflow: hidden; }
.button .arrow { display: grid; place-items: center; align-self: stretch; width: 54px; min-height: 54px; border-left: 1px solid #203e4a30; flex-shrink: 0; }
.cta-band .button .arrow { border-color: #fffef933; }
.text-link { border-bottom-color: #203e4a40; gap: 32px; }
.section-heading .text-link { white-space:nowrap; }
.text-link:hover { border-bottom-color: var(--petrol); }
.eyebrow { display: flex; align-items: center; gap: 12px; letter-spacing: .13em; }
.eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--lime); flex-shrink: 0; }
.hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height:max(650px,calc(100svh - 96px)); overflow: hidden; background:var(--petrol); }
.hero-photo { position: absolute; z-index: -2; inset: 0; width:100%; height:auto; min-height: 0; overflow:hidden; pointer-events:none; contain:paint; }
.hero-photo img { --hero-pan-overflow:72px; --hero-pan-start:-36px; --hero-pan-end:36px; position:relative; left:var(--hero-pan-start); width:calc(100% + var(--hero-pan-overflow)); max-width:none; height:100%; object-fit:cover; object-position:53% 58%; transform:translate3d(0,0,0); backface-visibility:hidden; }
.hero-photo::before { content:''; position:absolute; z-index:1; inset:0 0 0 40%; pointer-events:none; background-image:linear-gradient(#c4dd2530 1px,transparent 1px),linear-gradient(90deg,#c4dd2530 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 38%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 38%,#000 90%,transparent); opacity:.56; }
.hero-photo::after { content:''; position:absolute; z-index:2; right:4%; top:28%; width:min(44vw,680px); height:2px; pointer-events:none; background:linear-gradient(90deg,transparent 0%,#c4dd2570 24%,var(--lime) 68%,#efff87 72%,transparent 100%); box-shadow:0 0 8px #c4dd25cc,0 0 22px #c4dd2573; opacity:.88; }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(32,62,74,.82) 0%, rgba(32,62,74,.78) 28%, rgba(32,62,74,.68) 50%, rgba(32,62,74,.36) 70%, rgba(32,62,74,.1) 86%, rgba(32,62,74,0) 100%); }
.hero::after { content: ''; position: absolute; right: 0; bottom: 0; width: 132px; height: 16px; background: var(--lime); }
.hero-copy { position:relative; z-index:1; width: min(760px, 59%); padding: 76px 44px 76px max(56px, calc((100vw - 1280px)/2)); }
.hero-copy h1 { font-size: clamp(48px, 4.8vw, 72px); line-height: 1.04; max-width: 720px; }
.hero-copy .accent { display: block; }
.hero-copy p:not(.eyebrow) { max-width: 540px; font-size: 15px; line-height: 1.85; }
.hero-copy .eyebrow { font-size: 10px; }
.hero .button { padding: 0 0 0 22px; font-size: 13px; }
.route-strip { background:var(--petrol); color:var(--powder); border-top:1px solid #fffef924; border-bottom:0; padding:0; }
.route-strip > .wrap { display:grid; grid-template-columns:240px minmax(0,1fr); gap:0; align-items:stretch; }
.route-intro { display:flex; flex-direction:column; justify-content:center; padding:30px 36px 30px 0; border-right:1px solid #fffef92b; }
.route-intro .eyebrow { color:var(--lime); font-size:9px; margin:0 0 8px; }
.route-intro .eyebrow::before { display:none; }
.route-intro > p:last-child { margin:0; color:#d5dfdf; font-size:12px; line-height:1.65; }
.route-options { display:grid; grid-template-columns:1fr 1fr; }
.route-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 20px; align-content:center; min-height:142px; padding:25px 32px; border-right:1px solid #fffef92b; transition:background .2s; }
.route-option:last-child { border-right:0; }
.route-option:hover { background:#fffef90a; }
.route-kind { grid-column:1/-1; color:var(--lime); font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.route-name { display:flex; align-items:center; flex-wrap:wrap; gap:9px; min-width:0; color:var(--powder); font-size:15px; line-height:1.55; }
.route-name strong { font-weight:500; }
.route-direction { color:var(--lime); font-family:Arial,sans-serif; font-size:18px; }
.route-action { align-self:end; color:#d5dfdf; font-size:10px; font-weight:500; white-space:nowrap; }
.route-option:hover .route-action { color:var(--lime); }
.intro-photo { padding: 0 0 24px 24px; }
.intro-photo img { height: 410px; width: 100%; }
.intro-photo::before { content: ''; position: absolute; inset: 24px 24px 0 0; background: var(--lime); z-index: -1; }
.intro-photo { isolation: isolate; }
.intro-photo::after { display: none; }
.services-overview { background: var(--petrol); color: var(--powder); }
.services-overview .section-heading { padding-bottom: 32px; border-bottom: 1px solid #fffef92b; margin-bottom: var(--content-space); }
.services-overview .heading-copy { max-width: 640px; }
.services-overview .text-link { color: var(--powder); border-color: #fffef960; }
.services-overview .text-link:hover { border-color: var(--lime); }
.services-overview .service-row { grid-template-columns: 1.12fr 1fr; gap: clamp(40px, 6vw, 88px); }
.services-overview .service-row.reverse { grid-template-columns: 1fr 1.12fr; }
.services-overview .service-row + .service-row { margin-top: 64px; padding-top: 64px; border-top: 1px solid #fffef92b; }
.service-row figure { position: relative; }
.service-row figure::after { content: ''; position: absolute; bottom: 0; right: 0; width: 56px; height: 8px; background: var(--lime); }
.service-row figure img { height: 400px; }
.service-row h3 { font-size: clamp(30px, 3vw, 44px); }
.services-overview .service-row p { color: #d5dfdf; }
.services-overview .service-row .eyebrow { color: var(--lime); }
.services-overview .service-row .eyebrow::before { display: none; }
.location-section .split { grid-template-columns: 1.12fr 1fr; }
.location-section .landscape img { height: 380px; }
.location-copy h2 { font-size: clamp(32px, 3.2vw, 46px); }
.cta-band { position: relative; overflow: hidden; padding-block: var(--section-space-small); }
.cta-band .cta-copy { max-width: 690px; }
.cta-band h2 { font-size: clamp(30px, 3vw, 44px); }
.cta-band p { max-width: 590px; }
.site-footer { padding-top: var(--section-space-small); }
.footer-main { padding-bottom: var(--section-space-small); }
.footer-nav a:hover,.footer-contact a:hover { color: var(--lime); }
/* Inner pages use the same brand signature, without repeating the home hero. */
.page-masthead { position: relative; isolation: isolate; overflow: hidden; background: var(--petrol); color: var(--powder); padding-block: var(--section-space); border: 0; }
.page-masthead::after { content: ''; position: absolute; z-index: -1; right: max(56px, calc((100vw - 1280px)/2)); top: 24px; bottom: 24px; width: 240px; background: url('favicon.svg') center/contain no-repeat; opacity: .075; }
.page-masthead::before { content: ''; position: absolute; left: 0; bottom: 0; width: max(56px, calc((100vw - 1280px)/2)); height: 5px; background: var(--lime); }
.page-masthead h1 { max-width: 940px; font-size: clamp(42px, 4.6vw, 66px); }
.page-masthead .eyebrow { color: var(--lime); }
.page-masthead .lead { color: #d5dfdf; font-size: 16px; max-width: 700px; }
.company-purpose { background: #edf0e7; color: var(--petrol); border-left: 8px solid var(--lime); }
.company-purpose .eyebrow { color: var(--petrol); }
.company-purpose p.lead,.company-values p { color: var(--muted); }
.company-values { border-color: #203e4a30; }
.company-values .value { padding-left: 20px; border-left: 2px solid var(--lime); }
.service-detail .service-photo { position: relative; padding-bottom: 20px; }
.service-detail .service-photo::after { content: ''; position: absolute; left: 0; bottom: 0; height: 4px; width: 72px; background: var(--lime); }
.service-detail .service-photo img { height: 620px; }
.service-detail .copy h2 { font-size: clamp(34px, 3.2vw, 46px); }
.service-feature { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }
.service-feature h3 { font-size: 14px; line-height: 1.5; margin: 0; }
.service-detail .copy .service-feature p { line-height: 1.7; }
.contact-layout .landscape { border-bottom: 6px solid var(--lime); }
.contact-details h2 { color: var(--muted); }
.contact-email { font-weight: 500; }
.links-page { background: var(--petrol); border-top: 0; position: relative; isolation: isolate; }
.links-page::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(125deg, transparent 55%, #fffef904 55%, #fffef904 75%, transparent 75%); }
.links-shell { border-top: 5px solid var(--lime); }
.link-list > a { background: #fffef905; border-color: #fffef938; padding-right: 0; }
.link-list > a .arrow { display: grid; place-items: center; width: 52px; flex-shrink: 0; }
.link-list > a:hover { transform: translateY(-2px); }
@media (max-width: 1100px) {
 .hero-copy { padding-left: 32px; width: 63%; }
 .hero-copy h1 { font-size: 56px; }
 .service-feature { grid-template-columns: 1fr; gap: 6px; }
 .services-overview .service-row { gap: 40px; }
 .route-strip > .wrap { grid-template-columns:200px minmax(0,1fr); }
 .route-option { padding-inline:22px; }
 .route-action { grid-column:1/-1; justify-self:start; }
}
@media (min-width:901px) {
 .hero { height:var(--hero-stage-height,calc(100svh - 238px)); min-height:510px; }
}
@media (min-width:901px) and (max-height:820px) {
 .hero-copy { padding-block:38px; }
 .hero-copy h1 { font-size:56px; }
}
@media (max-width: 900px) {
 .primary-nav { background:var(--petrol); color:var(--powder); border-bottom-color:#fffef92b; box-shadow:0 15px 18px #10252d33; }
 .primary-nav .nav-cta { color:var(--petrol); }
 .hero { min-height:max(600px,calc(100svh - 96px)); }
 .hero-copy { padding-block: 56px; width: 68%; }
 .hero-copy h1 { font-size: 50px; }
 .hero-copy .eyebrow { font-size: 9px; }
 .intro-photo img { height: 370px; }
 .service-row figure img { height: 350px; }
 .services-overview .service-row,.services-overview .service-row.reverse { grid-template-columns: 1fr 1fr; gap: 32px; }
 .page-masthead { padding-block: var(--section-space); }
 .page-masthead::after { right: 24px; opacity: .045; }
 .service-detail .service-photo img { height: 600px; }
 .route-strip > .wrap { grid-template-columns:200px minmax(0,1fr); }
 .route-options { grid-template-columns:1fr; }
 .route-option { min-height:108px; border-right:0; border-bottom:1px solid #fffef92b; }
 .route-option:last-child { border-bottom:0; }
}
@media (min-width:601px) and (max-width:900px) {
 .hero { height:var(--hero-stage-height,calc(100svh - 312px)); min-height:600px; }
}
@media (max-width: 600px) {
 .header-inner { min-height: 79px; }
 .hero { display: flex; flex-direction: column; min-height:calc(100svh - 79px); align-items: stretch; }
 .hero-copy { width: 100%; padding: 72px 20px 64px; }
 .hero-copy h1 { font-size: clamp(39px, 10.7vw, 56px); max-width: 100%; }
 .hero-copy p:not(.eyebrow) { font-size: 14px; max-width: 390px; }
 .hero-copy .eyebrow { font-size: 8px; gap: 8px; }
 .hero-copy .eyebrow::before { width: 16px; }
 .hero-photo { position: relative; z-index: -2; inset: auto; flex:1 0 280px; width:auto; height:auto; min-height:280px; margin-left: 20px; }
 .hero-photo img { --hero-pan-overflow:48px; --hero-pan-start:-24px; --hero-pan-end:24px; height: 100%; object-position: 74% 58%; }
 .hero-photo::before { inset:0; background-size:54px 54px; opacity:.36; }
 .hero-photo::after { right:5%; width:76%; }
 .hero::before { display: none; }
 .hero::after { width: 80px; height: 8px; }
 .route-strip > .wrap { display:block; }
 .route-intro { padding:24px 0 20px; border-right:0; border-bottom:1px solid #fffef92b; }
 .route-intro > p:last-child { font-size:11px; }
 .route-options { display:block; }
 .route-option { min-height:0; padding:22px 0; grid-template-columns:minmax(0,1fr) auto; }
 .route-kind { font-size:8px; }
 .route-name { font-size:14px; }
 .route-action { font-size:9px; }
 .intro-photo { padding: 0 0 16px 16px; }
 .intro-photo::before { inset: 16px 16px 0 0; }
 .intro-photo img { height: 290px; }
 .services-overview .section-heading { padding-bottom: 24px; margin-bottom: var(--content-space); }
 .services-overview .service-row,.services-overview .service-row.reverse,.location-section .split { grid-template-columns: 1fr; gap: 28px; }
 .services-overview .service-row + .service-row { margin-top: 36px; padding-top: 36px; }
 .service-row figure img { height: 280px; }
 .service-row h3 { font-size: 30px; }
 .location-section .landscape img { height: 280px; }
 .cta-band { padding-block: var(--section-space-small); }
 .cta-band .button,.service-detail .button { padding: 0 0 0 18px; }
 .page-masthead { padding-block: var(--section-space); }
 .page-masthead h1 { font-size: 39px; }
 .page-masthead .lead { font-size: 14px; }
 .page-masthead::after { width: 170px; right: -50px; opacity: .045; }
 .company-purpose { border-left-width: 4px; }
 .service-detail .service-photo img { height: 330px; }
 .service-detail .copy h2 { font-size: 34px; }
 .service-feature { grid-template-columns: 1fr; gap: 6px; }
 .site-footer { padding-top: var(--section-space-small); }
 .footer-main { padding-bottom: 48px; }
}

/* Site composition v2: each page has a purpose-built native-block layout. */
.home .services-overview > .wrap { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--column-space); }
.home .services-overview .section-heading { grid-column: 1/-1; }
.home .services-overview .service-row,
.home .services-overview .service-row.reverse { display: flex; flex-direction: column; align-items: stretch; gap: 28px; margin: 0; padding: 0; border: 0; }
.home .service-row.reverse figure,.home .service-row.reverse .service-copy { order: initial; }
.home .service-row figure img { height: 360px; }
.home .service-row h3 { font-size: 36px; }
.home .service-row p { max-width: 520px; }
.home .service-copy { padding-right: 20px; }
.home .location-section .split { grid-template-columns: 1.4fr 1fr; gap: var(--column-space); }
.home .location-section .landscape img { height: 420px; }
/* Empresa: panorama, institutional introduction, purpose and people. */
.company-hero { position: relative; background: var(--petrol); padding-top: 1px; }
.company-hero .page-masthead { padding-bottom: var(--section-space-small); }
.company-hero .page-masthead > .wrap { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: var(--column-space); align-items: end; }
.company-hero .page-masthead .eyebrow { grid-column: 1/-1; }
.company-hero .page-masthead h1 { font-size: clamp(40px,4.5vw,64px); margin-bottom: 0; }
.company-hero .page-masthead::after,.company-hero .page-masthead::before { display:none; }
.company-hero > .landscape { width: min(1280px,calc(100% - 112px)); margin: auto; position:relative; }
.company-hero > .landscape img { height: 470px; object-position: center 52%; }
.company-hero::after { content:''; height: 88px; position:absolute; inset:auto 0 0; background:var(--powder); }
.company-hero > .landscape { z-index:1; }
.company-intro { padding-top: var(--section-space); }
.company-intro > .copy { display:grid; grid-template-columns: 1fr 1fr; column-gap:var(--column-space); }
.company-intro .eyebrow { grid-column:1; }
.company-intro h2 { grid-column:1; grid-row:2/4; max-width:480px; font-size:42px; }
.company-intro .lead { grid-column:2; grid-row:2; font-size:17px; color:var(--muted); }
.company-intro .copy > p:last-child { grid-column:2; color:var(--muted); }
.company-purpose { background:var(--petrol); color:var(--powder); border-left:0; }
.company-purpose > .wrap { display:grid; grid-template-columns:1.15fr 1fr; gap:var(--column-space); }
.company-purpose .split { display:block; }
.company-purpose .eyebrow { color:var(--lime); }
.company-purpose p.lead,.company-values p { color:#d5dfdf; }
.company-purpose h2 { font-size:40px; margin-bottom:20px; }
.company-purpose .company-values { display:block; margin:0; padding:0; border:0; }
.company-values .value { border-left:0; border-top:1px solid #fffef938; padding:24px 0; }
.company-values .value:first-child { border-top:3px solid var(--lime); }
.company-values h3 { font-size:24px; }
/* Servicios: route navigation and full-width service compositions. */
.pmo-servicios .page-masthead > .wrap { display:grid; grid-template-columns:1.3fr 1fr; column-gap:var(--column-space); align-items:end; }
.pmo-servicios .page-masthead .eyebrow { grid-column:1/-1; }
.pmo-servicios .page-masthead h1 { margin:0; font-size:clamp(40px,4.1vw,60px); }
.pmo-servicios .page-masthead::after { display:none; }
.service-jump { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.service-jump > a { position:relative; padding:28px 60px 28px 0; font-size:17px; font-weight:500; line-height:1.6; }
.service-jump > a + a { padding-left:40px; border-left:1px solid var(--line); }
.service-jump > a > span:first-child { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.service-jump > a > span:last-child { position:absolute; right:28px; top:35px; font-size:26px; }
.service-jump a:hover { background:#edf0e7; }
.service-top { display:grid; grid-template-columns:1fr 1.12fr; gap:var(--column-space); align-items:center; }
.service-top .copy h2 { font-size:clamp(38px,4vw,58px); margin-bottom:20px; }
.service-top .copy p { color:var(--muted); }
.service-top .copy .eyebrow { color:var(--petrol); }
.service-top .service-photo { padding:0; }
.service-top .service-photo img { height:440px; }
.service-top .service-photo::after { bottom:0; left:auto; right:0; height:8px; }
.service-bottom.wp-block-group { margin-top:var(--content-space); }
.service-bottom .service-features { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:0; }
.service-bottom .service-feature { display:block; padding:20px 0 0; border-top:2px solid var(--petrol); }
.service-bottom .service-feature h3 { font-size:18px; margin-bottom:12px; }
.service-bottom .service-feature p { font-size:14px; color:var(--muted); }
.service-bottom .button { margin-top:24px; }
.service-detail.alt .service-top .service-photo { grid-column:1; grid-row:1; }
.service-detail.alt .service-top .copy { grid-column:2; grid-row:1; }
.service-detail.alt .service-top { grid-template-columns:1.12fr 1fr; }
.integration .split { border-left:4px solid var(--lime); padding-left:32px; }
/* Contacto: an arrival photograph beside the title; a clear contact directory below. */
.contact-stage { display:grid; grid-template-columns:1fr 1fr; background:var(--petrol); color:var(--powder); }
.contact-stage .page-masthead { display:flex; align-items:center; padding:var(--section-space) 56px var(--section-space) max(56px,calc((100vw - 1280px)/2)); overflow:visible; }
.contact-stage .page-masthead > .wrap { width:100%; margin:0; }
.contact-stage .page-masthead h1 { font-size:clamp(40px,4.3vw,64px); }
.contact-stage .page-masthead::before,.contact-stage .page-masthead::after { display:none; }
.contact-stage .contact-image { position:relative; }
.contact-stage .landscape { height:100%; }
.contact-stage .landscape img { height:100%; min-height:540px; width:100%; object-fit:cover; }
.contact-stage .contact-caption { position:absolute; bottom:0; left:0; right:0; background:var(--petrol); color:var(--powder); margin:0; padding:16px 24px; border-left:5px solid var(--lime); }
.contact-directory .contact-details { display:grid; grid-template-columns:1fr 1fr; gap:64px var(--column-space); }
.contact-directory .contact-details > div { margin:0; padding:24px 0 0; border:0; border-top:2px solid var(--petrol); }
.contact-directory .contact-details h2 { font-size:11px; margin-bottom:16px; }
.contact-directory .contact-email { font-size:clamp(18px,2vw,28px); }
.contact-directory .contact-details p { max-width:460px; }
/* Links: a dedicated brand panel and a functional directory, responsive by design. */
.links-shell { width:min(1120px,calc(100% - 80px)); min-height:100svh; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; text-align:left; padding-block:56px; border:0; }
.links-intro { position:relative; padding:48px 0; border-top:3px solid var(--lime); }
.links-logo { width:300px; margin:0 0 28px; }
.links-shell h1 { max-width:420px; margin:0 0 20px; font-size:36px; line-height:1.25; }
.links-intro > p { font-size:14px; color:#d5dfdf; max-width:340px; margin:0; }
.links-directory .link-list { margin:0; gap:0; }
.links-directory .link-list > a { min-height:70px; border:0; border-bottom:1px solid #fffef938; background:none; padding-left:0; }
.links-directory .link-list > .link-primary { background:var(--lime); padding-left:20px; margin-bottom:10px; }
.links-directory .link-list > a:hover { background:#fffef909; transform:none; }
.links-directory .link-list > .link-primary:hover { background:#cee25c; }
.links-directory .links-signoff { margin:28px 0 12px; font-size:13px; color:var(--lime); }
@media(max-width:1100px) {
 .company-hero > .landscape { width:calc(100% - 64px); }
 .company-hero .page-masthead > .wrap,.company-intro > .copy,.company-purpose > .wrap,.service-top,.service-detail.alt .service-top { gap:40px; }
 .contact-stage .page-masthead { padding:var(--section-space) 32px; }
 .links-shell { gap:64px; }
}
@media(max-width:900px) {
 .home .services-overview > .wrap { column-gap:32px; }
 .home .service-row figure img { height:300px; }
 .home .service-row h3 { font-size:29px; }
 .company-hero .page-masthead > .wrap,.pmo-servicios .page-masthead > .wrap { grid-template-columns:1fr; gap:20px; }
 .company-hero .page-masthead .eyebrow,.pmo-servicios .page-masthead .eyebrow { margin-bottom:0; }
 .company-hero > .landscape img { height:400px; }
 .company-purpose > .wrap { grid-template-columns:1fr; gap:32px; }
 .company-purpose .company-values { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
 .company-values .value { border-top:1px solid #fffef938; }
 .company-values .value:first-child { border-top-width:1px; }
 .service-top,.service-detail.alt .service-top { gap:32px; }
 .service-top .service-photo img { height:440px; }
 .service-bottom .service-features { gap:24px; }
 .contact-stage .landscape img { height:100%; min-height:560px; }
 .links-shell { width:calc(100% - 48px); gap:40px; }
 .links-logo { width:240px; }
 .links-shell h1 { font-size:29px; }
}
@media(max-width:600px) {
 .home .services-overview > .wrap { display:block; }
 .home .services-overview .service-row + .service-row { margin-top:64px; padding-top:64px; border-top:1px solid #fffef938; }
 .home .service-row figure img { height:280px; }
 .home .service-copy { padding:0; }
 .home .location-section .split { grid-template-columns:1fr; gap:32px; }
 .home .location-section .landscape img { height:280px; }
 .company-hero .page-masthead { padding-bottom:var(--section-space-small); }
 .company-hero .page-masthead h1 { font-size:39px; }
 .company-hero > .landscape { width:calc(100% - 40px); }
 .company-hero > .landscape img { height:300px; }
 .company-hero::after { height:40px; }
 .company-intro { padding-top:var(--section-space); }
 .company-intro > .copy { display:block; }
 .company-intro h2 { font-size:32px; }
 .company-intro .lead { font-size:16px; }
 .company-purpose h2 { font-size:32px; }
 .company-purpose .company-values { display:block; }
 .company-values .value:last-child { padding-bottom:0; }
 .pmo-servicios .page-masthead h1 { font-size:38px; }
 .service-jump { grid-template-columns:1fr; }
 .service-jump > a,.service-jump > a + a { padding:22px 40px 22px 0; border-left:0; font-size:14px; }
 .service-jump > a + a { border-top:1px solid var(--line); }
 .service-jump > a > span:last-child { right:0; top:26px; }
 .service-top,.service-detail.alt .service-top { display:flex; flex-direction:column; align-items:stretch; gap:32px; }
 .service-top .copy h2 { font-size:36px; }
 .service-top .service-photo img { height:300px; }
 .service-bottom.wp-block-group { margin-top:var(--content-space); }
 .service-bottom .service-features { grid-template-columns:1fr; gap:32px; }
 .service-bottom .service-feature { border-top:1px solid var(--line); padding-top:20px; }
 .service-bottom .service-feature h3 { font-size:17px; }
 .integration .split { padding-left:20px; }
 .contact-stage { grid-template-columns:1fr; }
 .contact-stage .page-masthead { padding:var(--section-space) 20px; }
 .contact-stage .page-masthead h1 { font-size:39px; }
 .contact-stage .landscape img { height:330px; min-height:0; }
 .contact-stage .contact-caption { font-size:10px; padding:14px 20px; }
 .contact-directory .contact-details { grid-template-columns:1fr; gap:36px; }
 .contact-directory .contact-email { font-size:18px; }
 .links-shell { width:calc(100% - 40px); min-height:100svh; display:block; padding:40px 0 32px; }
 .links-intro { padding:40px 0 56px; text-align:center; }
 .links-logo { width:220px; margin:0 auto 24px; }
 .links-shell h1 { font-size:23px; margin:0 auto 14px; }
 .links-intro > p { margin:auto; font-size:12px; }
 .links-directory .link-list > a { min-height:60px; }
 .links-directory .links-signoff { text-align:center; margin-top:24px; }
 .links-directory .links-home { display:flex; justify-content:center; }
}

.company-intro .copy > p:last-child { grid-row:3; }
.company-purpose .split .copy h2 { margin-bottom:20px; }

/* Keep the outer alignment gutter outside the hero's reading measure.
   Including it in a capped border-box squeezed the text on wide screens. */
@media (min-width: 1101px) {
    .hero-copy {
        margin-left: max(56px, calc((100% - 1280px) / 2));
        width: 680px;
        max-width: calc(100% - 112px);
        flex: 0 0 auto;
        padding: 76px 0;
    }
    .hero-copy h1 { width: 100%; }
    .hero-copy .accent { white-space: nowrap; }
}
.inquiry-section { display:grid; grid-template-columns:1fr 1.2fr; gap:var(--column-space); margin-top:var(--section-space-small); padding-top:var(--section-space-small); border-top:1px solid var(--line); scroll-margin-top:110px; }
.inquiry-heading .eyebrow { margin-bottom:12px; }
.inquiry-heading h2 { font-size:40px; margin-bottom:20px; }
.inquiry-heading > p:last-child { color:var(--muted); max-width:380px; margin-bottom:0; }
.inquiry-form { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.inquiry-form label { display:block; font-size:12px; font-weight:600; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { display:block; width:100%; min-width:0; margin-top:10px; border:1px solid #94a3a5; border-radius:0; background:var(--powder); color:var(--petrol); font:inherit; font-size:15px; padding:12px; min-height:48px; }
.inquiry-form textarea { resize:vertical; }
.field-wide { grid-column:1/-1; }
.form-help { font-size:12px; color:var(--muted); margin:0; }
.inquiry-form .button { justify-self:start; cursor:pointer; }
.form-actions { display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; }
.form-notice { border-left:3px solid var(--lime); background:#edf0e7; padding:16px; font-size:14px; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-actions { display:flex; align-items:stretch; gap:12px; flex-wrap:wrap; }
.button-whatsapp { background:transparent; color:var(--petrol); border-color:var(--petrol); }
.button-whatsapp:hover { background:#edf0e7; }
.button-whatsapp.is-pending { opacity:.58; cursor:not-allowed; transform:none; }
.inquiry-form .button-whatsapp.is-pending { cursor:not-allowed; }
.button-whatsapp.is-pending:hover { background:transparent; transform:none; }
.contact-whatsapp { display:inline-flex; align-items:center; gap:20px; font-size:20px; font-weight:600; }
.contact-whatsapp.is-pending { color:var(--muted); font-size:15px; font-weight:500; }
.cta-band .contact-actions { flex-shrink:0; }
.cta-band .button-whatsapp { background:transparent; color:var(--petrol); border-color:var(--petrol); }
.cta-band .button-whatsapp:hover { background:#cee25c; }
.cta-band .button-whatsapp.is-pending:hover { background:transparent; }

.commercial-promises { background:var(--petrol); color:var(--powder); }
.commercial-promises > .wrap { position:relative; }
.promises-heading { display:grid; grid-template-columns:.92fr 1.08fr; column-gap:var(--column-space); row-gap:18px; align-items:end; margin-bottom:56px; }
.promises-heading .eyebrow { grid-column:1/-1; color:var(--lime); margin:0; }
.promises-heading h2 { max-width:620px; margin:0; font-size:clamp(38px,3.6vw,52px); }
.promises-heading .lead { max-width:540px; color:#d5dfdf; margin:0; }
.promise-grid { display:grid; grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr); grid-auto-flow:row; column-gap:var(--column-space); }
.promise-card { min-width:0; }
.promise-card:not(.promise-featured) { grid-column:2; display:grid; grid-template-columns:minmax(210px,.72fr) minmax(240px,1.28fr); gap:clamp(28px,3vw,48px); align-items:start; padding:22px 0; border-top:1px solid #fffef936; }
.promise-card:not(.promise-featured):first-child { border-top:2px solid var(--lime); }
.promise-card:not(.promise-featured) h3 { color:var(--powder); font-size:19px; line-height:1.55; margin:0; }
.promise-card:not(.promise-featured) p { color:#d5dfdf; font-size:13px; line-height:1.75; margin:0; padding-top:2px; }
.promise-featured { grid-column:1; grid-row:1 / span 5; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; min-height:100%; padding:clamp(34px,4vw,56px); background:var(--lime); color:var(--petrol); }
.promise-featured::before { content:''; position:absolute; width:240px; aspect-ratio:1; top:-88px; right:-70px; border:1px solid #203e4a2e; transform:rotate(45deg); }
.promise-featured::after { content:''; position:absolute; width:170px; aspect-ratio:1; top:-54px; right:-34px; border:1px solid #203e4a2e; transform:rotate(45deg); }
.promise-featured h3 { position:relative; z-index:1; margin:0 0 28px; color:var(--petrol); letter-spacing:-.04em; }
.promise-featured h3 span { display:block; margin-bottom:8px; font-size:12px; font-weight:600; letter-spacing:.14em; line-height:1.5; text-transform:uppercase; }
.promise-featured h3 strong { display:block; font-size:clamp(58px,6.5vw,92px); font-weight:600; line-height:.95; white-space:nowrap; }
.promise-featured p { position:relative; z-index:1; max-width:420px; margin:0; color:var(--petrol); font-size:15px; }

.faq-section { background:var(--powder); padding:72px 0 88px; }
.faq-section > .wrap { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:var(--column-space); align-items:start; }
.faq-heading { position:sticky; top:128px; padding-right:clamp(0px,2vw,28px); }
.faq-heading .eyebrow { margin-bottom:28px; }
.faq-heading h2 { max-width:500px; margin:0 0 24px; font-size:clamp(38px,3.6vw,52px); }
.faq-heading .lead { max-width:440px; color:var(--muted); margin:0; font-size:15px; }
.faq-heading::after { content:''; display:block; width:72px; height:4px; margin-top:36px; background:var(--lime); }
.faq-list { border-top:2px solid var(--petrol); counter-reset:faq; }
.faq-item { border-bottom:1px solid var(--line); counter-increment:faq; }
.faq-item summary { display:grid; grid-template-columns:38px minmax(0,1fr) 32px; gap:18px; align-items:start; padding:25px 0; cursor:pointer; list-style:none; font-size:17px; font-weight:600; line-height:1.55; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::before { content:'0' counter(faq); color:var(--lime); font-size:10px; letter-spacing:.12em; padding-top:6px; }
.faq-item summary::after { content:'+'; color:var(--lime); font-family:Arial,sans-serif; font-size:28px; font-weight:400; line-height:1; text-align:right; }
.faq-item[open] summary::after { content:'−'; }
.faq-item[open] summary { padding-bottom:16px; }
.faq-item p { max-width:720px; padding:0 50px 28px 56px; margin:0; color:var(--muted); font-size:14px; }

@media(max-width:900px){
 .inquiry-section{gap:24px;grid-template-columns:1fr}
 .inquiry-heading>p:last-child{max-width:600px}
 .promises-heading{grid-template-columns:1fr;row-gap:20px;margin-bottom:40px}
 .promises-heading .eyebrow{grid-column:auto}
 .promise-grid{grid-template-columns:1fr;gap:0}
 .promise-featured{grid-column:1;grid-row:auto;order:-1;min-height:360px;margin-bottom:28px}
 .promise-card:not(.promise-featured){grid-column:1}
 .faq-section>.wrap{grid-template-columns:1fr;gap:48px}
 .faq-heading{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:32px;padding:0}
 .faq-heading .eyebrow{grid-column:1/-1;margin-bottom:20px}
 .faq-heading h2{margin:0}
 .faq-heading .lead{align-self:end}
 .faq-heading::after{grid-column:1/-1;margin-top:28px}
}
@media(max-width:600px){
 .inquiry-section{margin-top:72px;padding-top:64px}
 .inquiry-heading h2{font-size:32px}
 .inquiry-form{grid-template-columns:1fr;gap:20px}
 .contact-actions{display:grid;grid-template-columns:1fr}
 .contact-actions .button{width:100%}
 .form-actions{display:grid;grid-template-columns:1fr}
 .form-actions .button{width:100%}
 .contact-whatsapp{font-size:18px}
 .promises-heading{row-gap:14px;margin-bottom:32px}
 .promises-heading h2,.faq-heading h2{font-size:32px}
 .promise-featured{min-height:300px;padding:32px 24px;margin-bottom:16px}
 .promise-featured h3 strong{font-size:58px}
 .promise-card:not(.promise-featured){grid-template-columns:1fr;gap:6px;padding:22px 0}
 .promise-card:not(.promise-featured) h3{font-size:18px}
 .promise-card:not(.promise-featured) p{font-size:13px;padding-top:0}
 .faq-section>.wrap{gap:36px}
 .faq-section{padding-block:64px}
 .faq-heading{display:block}
 .faq-heading .eyebrow{margin-bottom:16px}
 .faq-heading h2{margin-bottom:16px}
 .faq-heading::after{margin-top:24px}
 .faq-item summary{grid-template-columns:28px minmax(0,1fr) 26px;gap:12px;padding:22px 0;font-size:15px}
 .faq-item summary::before{padding-top:5px}
 .faq-item summary::after{font-size:25px}
 .faq-item p{padding:0 32px 24px 40px;font-size:13px}
}
