/*
Theme Name: Paso+
Theme URI: https://pasomas.com.ar/
Author: Paso+
Description: Tema liviano y editable para Paso+ y Paso+ Plus. Sitio bilingüe con páginas Gutenberg.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: pasomas
*/
:root{--pm-navy:#37404d;--pm-sage:#8ba3a0;--pm-sage-light:#dce6e2;--pm-paper:#f1f2f1;--pm-white:#fff;--pm-ink:#35404d;--pm-muted:#687780;--pm-border:#d7dfdb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;background:var(--pm-paper);color:var(--pm-ink);font-family:"Plus Jakarta Sans","DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.035em}p{line-height:1.75}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #709a8a;outline-offset:3px}
.pm-wrap{width:min(1160px,90%);margin-inline:auto}.pm-site-header{background:var(--pm-navy);color:#fff;position:relative;z-index:10}
.pm-header-inner{min-height:78px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.pm-brand{display:inline-flex;align-items:center;flex:none}.pm-brand img{width:160px;height:auto;max-height:54px;object-fit:contain}
.pm-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.pm-nav a{text-decoration:none;opacity:.93;transition:opacity .2s}.pm-nav a:hover{opacity:.62}
.pm-lang{display:flex;gap:7px;font-size:12px;font-weight:800;margin-left:auto;white-space:nowrap}.pm-lang a{text-decoration:none;opacity:.55}.pm-lang a.active{opacity:1;color:#a9c4ba}
.pm-header-cta{display:inline-block;border:1px solid #b3cbc2;border-radius:30px;padding:10px 18px;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap;color:#fff}
.pm-header-cta:hover{background:#52695f}
.pm-main{min-height:55vh}
.pm-main .wp-block-group.pm-hero{max-width:none;background:var(--pm-paper);padding:72px max(5%,calc((100% - 1160px)/2)) 50px;margin:0}
.pm-hero .pm-eyebrow{font-size:12px!important;letter-spacing:.16em;text-transform:uppercase;color:#688b80;font-weight:750}
.pm-hero .pm-hero-title{font-size:clamp(37px,6.2vw,77px);line-height:1.07;letter-spacing:-.06em;margin:22px 0 25px;max-width:1020px;font-weight:650}
.pm-hero-title strong,.pm-hero-title em{color:#86a299;font-weight:650;font-style:normal}
.pm-hero .pm-lead{max-width:720px;font-size:clamp(15px,1.7vw,19px);line-height:1.7;color:#56656a;margin:0 0 26px}
.pm-hero .wp-block-buttons{margin:0 0 34px}
.wp-block-button .wp-block-button__link,.pm-pill-link,.pm-submit{border-radius:40px;background:var(--pm-navy);color:white;display:inline-flex;padding:13px 26px;border:0;font-weight:750;text-decoration:none;font-size:13px;transition:transform .2s,background .2s}
.wp-block-button .wp-block-button__link:hover,.pm-pill-link:hover,.pm-submit:hover{background:#506479;transform:translateY(-1px)}
.wp-block-button.pm-btn-outline .wp-block-button__link{background:transparent;color:var(--pm-navy);border:1px solid var(--pm-navy)}
.pm-hero .pm-wide-photo{margin:0;max-height:450px;border-radius:17px;overflow:hidden;background:#bbc9c4}
.pm-wide-photo img{width:100%;height:min(40vw,450px);min-height:240px;display:block;object-fit:cover;object-position:center}
.pm-section{max-width:1160px!important;width:90%;margin:0 auto!important;padding-top:82px;padding-bottom:82px}
.pm-section .pm-kicker,.pm-on-dark .pm-kicker{font-size:12px;text-transform:uppercase;font-weight:780;letter-spacing:.16em;color:#688b80;margin:0 0 13px}
.pm-section h2{font-size:clamp(29px,4vw,51px);margin-top:0;margin-bottom:18px;max-width:760px}
.pm-section>.wp-block-paragraph,.pm-section>p{max-width:735px;color:#67747a;font-size:16px}
.pm-services{gap:24px!important;margin:33px 0 10px!important;align-items:stretch!important}
.pm-services>.wp-block-column{background:white;border:1px solid var(--pm-border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;padding-bottom:15px}
.pm-services .wp-block-image{margin:0}
.pm-services img{display:block;width:100%;height:255px;object-fit:cover}
.pm-services .pm-service-body{padding:23px 25px 16px}
.pm-service-body .pm-service-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#688b80;margin:0 0 9px}
.pm-service-body h3{font-size:clamp(25px,3vw,37px);margin:5px 0 11px}
.pm-service-body p{font-size:14px;color:#6f797e;line-height:1.75}
.pm-service-body .wp-block-buttons{margin-top:22px}
.pm-benefits{background:#e3ebe7;padding:38px 0;margin:0}.pm-benefits .pm-benefits-inner{width:min(1160px,90%);margin:auto;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-around}
.pm-benefits span{font-weight:700;font-size:13px;padding:10px 0}
.pm-on-dark{color:#fff!important;background:var(--pm-navy);padding:82px max(5%,calc((100% - 1160px)/2))!important;max-width:none!important}
.pm-on-dark h2{color:#fff!important;font-size:clamp(28px,4vw,49px)}
.pm-on-dark p{color:#dfebe5;font-size:15px}.pm-on-dark .pm-kicker{color:#adc9c0}
.pm-steps{gap:12px!important;margin-top:34px}.pm-steps>.wp-block-column{border-radius:14px;background:#cbd8d3;color:var(--pm-navy);min-height:178px;padding:25px 17px;display:flex;flex-direction:column;justify-content:space-between}
.pm-steps>.wp-block-column h3{margin:auto 0 0;font-size:18px;letter-spacing:-.02em}
.pm-steps .pm-step-num{font-size:27px;font-weight:700;color:#637e74;margin:0}
.pm-split{gap:44px!important;align-items:center!important}
.pm-split>.wp-block-column{min-width:0}
.pm-split .wp-block-image{margin:0}.pm-split .wp-block-image img{width:100%;height:auto;display:block;max-height:550px;object-fit:cover;border-radius:16px}
.pm-split h2{font-size:clamp(29px,3.8vw,48px)}
.pm-split p{font-size:15px;color:#69757a}
.pm-section.pm-special{padding-top:0;padding-bottom:80px}
.pm-feature-list{margin:18px 0 25px;font-size:15px;line-height:2;color:#4d5f60}
.pm-quote{font-size:clamp(21px,3vw,33px)!important;font-weight:650;color:#344950!important;line-height:1.35!important;letter-spacing:-.03em}
.pm-grid-three{gap:14px!important;margin-top:24px}
.pm-grid-three>.wp-block-column{background:#fff;border:1px solid #d8e0dc;border-radius:13px;padding:26px;min-height:168px}
.pm-grid-three h3{margin:0 0 9px;font-size:20px}
.pm-grid-three p{font-size:14px;line-height:1.6;color:#66777e}
.pm-internal-hero{padding:67px max(5%,calc((100% - 1160px)/2)) 66px!important;background:#dfe9e4;max-width:none!important}
.pm-internal-hero h1{font-size:clamp(36px,5.7vw,67px);max-width:970px;margin:10px 0 23px}
.pm-internal-hero p{font-size:16px;color:#566a64;max-width:750px}
.pm-profile{align-items:center!important;gap:35px!important;border-bottom:1px solid var(--pm-border);padding-bottom:30px}
.pm-profile .wp-block-image img{border-radius:18px;width:100%;max-height:380px;object-fit:cover;object-position:center top}
.pm-profile h3{font-size:29px;margin:0 0 13px}.pm-profile p{color:#667379}
.pm-cta{max-width:none!important;margin:0!important;background:var(--pm-sage);padding:74px max(5%,calc((100% - 1160px)/2))!important;text-align:center}
.pm-cta h2{font-size:clamp(30px,4.6vw,53px);max-width:760px;margin:0 auto 18px}
.pm-cta p{max-width:620px;margin:0 auto 20px;color:#364b48}
.pm-cta .wp-block-buttons{justify-content:center}
.pm-form{background:#fff;border-radius:18px;padding:26px;box-shadow:0 15px 45px #334c4614}
.pm-form label{font-size:13px;font-weight:750;display:block;margin-bottom:7px}
.pm-form .pm-input{width:100%;border:1px solid #ccd6d0;border-radius:9px;padding:13px 12px;font:inherit;font-size:14px;background:#fafcfb;color:#35404d}
.pm-form .pm-field{margin-bottom:17px}.pm-form textarea{min-height:130px;resize:vertical}
.pm-form .pm-tiny{font-size:11px!important;color:#697979!important;margin:12px 0 0}
.pm-form .pm-feedback{padding:12px;border-radius:8px;background:#e1f0e9;font-size:13px;color:#274b3f}
.pm-form .pm-feedback.error{background:#fae7e3;color:#7d302a}
.pm-collab{font-size:14px!important;color:#5e716a!important}
.pm-contact-cards{gap:16px!important}.pm-contact-cards .wp-block-column{border:1px solid var(--pm-border);background:#fff;border-radius:13px;padding:24px}
.pm-contact-cards h3{font-size:20px;margin:0 0 8px}.pm-contact-cards p{margin:0;font-size:14px}
.pm-site-footer{background:#37404d;color:#fff;padding:42px 0}
.pm-footer-top{display:flex;justify-content:space-between;gap:27px;align-items:flex-start}
.pm-footer-logo{display:block;width:148px;height:auto}.pm-footer-meta{font-size:12px;color:#ccd8d4;line-height:1.75}
.pm-footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}
.pm-footer-links a{text-decoration:none}.pm-footer-links a:hover{text-decoration:underline}
.pm-footer-bottom{border-top:1px solid #637477;margin-top:28px;padding-top:17px;font-size:11px;color:#b0c0bc;display:flex;justify-content:space-between;gap:10px}
.pm-skip{position:absolute;left:-99999px;top:10px}.pm-skip:focus{left:10px;background:white;color:#35404d;padding:10px;z-index:100}
.pm-site-header .custom-logo{max-width:155px}
@media(max-width:850px){.pm-header-inner{flex-wrap:wrap;padding:14px 0}.pm-nav{order:4;width:100%;justify-content:flex-start;overflow-x:auto;white-space:nowrap;gap:22px;padding-bottom:4px}.pm-lang{margin-left:auto}.pm-steps{flex-wrap:wrap!important}.pm-steps>.wp-block-column{flex-basis:30%!important}.pm-services>.wp-block-column{min-width:0}}
@media(max-width:640px){.pm-brand img{width:130px}.pm-header-cta{padding:8px 10px;font-size:10px}.pm-nav{font-size:12px}.pm-main .wp-block-group.pm-hero{padding-top:47px;padding-bottom:38px}.pm-hero .pm-wide-photo img{height:260px;min-height:0}.pm-section{padding-top:52px;padding-bottom:52px}.pm-services,.pm-split,.pm-grid-three,.pm-contact-cards{flex-direction:column!important;gap:18px!important}.pm-services>.wp-block-column,.pm-split>.wp-block-column,.pm-grid-three>.wp-block-column,.pm-contact-cards>.wp-block-column{flex-basis:100%!important;width:100%}.pm-steps{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.pm-steps>.wp-block-column{min-height:134px;padding:17px;min-width:0}.pm-steps>.wp-block-column h3{font-size:15px}.pm-on-dark,.pm-cta{padding-top:55px!important;padding-bottom:55px!important}.pm-internal-hero{padding-top:45px!important;padding-bottom:45px!important}.pm-footer-top,.pm-footer-bottom{display:block}.pm-footer-links{justify-content:flex-start;margin-top:19px}.pm-footer-bottom span{display:block;margin-top:6px}.pm-form{padding:20px}}

.pm-custom-nav{display:flex;list-style:none;padding:0;margin:0;gap:25px;align-items:center}.pm-custom-nav li{margin:0}
@media(max-width:640px){.pm-custom-nav{gap:18px}}


/* Trayectoria profesional previa al lanzamiento de la marca */
.pm-client-heritage{background:#e0e9e4;padding:64px max(5%,calc((100% - 1160px)/2))!important;margin:0!important}
.pm-client-heritage-inner{max-width:820px!important;margin:0 auto!important}
.pm-client-heritage .pm-kicker{font-size:12px;color:#60867b;font-weight:800;letter-spacing:.16em}
.pm-client-heritage h2{font-size:clamp(30px,4.6vw,52px);margin:14px 0 18px;line-height:1.15}
.pm-client-heritage p{max-width:730px;color:#586d68;font-size:15px;line-height:1.8}
.pm-client-heritage .pm-client-intro{font-size:19px;font-weight:680;color:#334e49}
.pm-client-heritage .pm-client-note{font-size:12px;color:#687d74;font-style:italic}
.pm-client-heritage .wp-block-buttons{margin-top:22px}
@media(max-width:640px){.pm-client-heritage{padding-top:49px!important;padding-bottom:49px!important}}

/* Identidad oficial Paso+: las formas y colores del logo provienen del SVG del diseñador. */
.pm-brand img,.pm-footer-logo{object-fit:contain;object-position:left center}

/* Logotipos de empresas con las que trabajaron los profesionales antes de Paso+. */
.pm-client-heritage-inner{max-width:1160px!important}
.pm-client-heritage .pm-client-intro,.pm-client-heritage .pm-client-note{max-width:860px}
.pm-client-logos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px!important;margin:30px 0 14px!important;align-items:stretch}
.pm-client-logos>.wp-block-column.pm-client-logo-card{min-width:0!important;min-height:172px;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;background:#fff;border:1px solid #ccd8d1;border-radius:15px;padding:18px 14px!important;box-shadow:0 7px 20px rgba(40,61,57,.035)}
.pm-client-logo-card .wp-block-image{display:flex;align-items:center;justify-content:center;margin:0!important;width:100%;height:102px}
.pm-client-logo-card .wp-block-image img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100px!important;object-fit:contain!important}
.pm-client-logo-card .pm-client-name{font-size:12px!important;line-height:1.4!important;text-align:center;color:#425257!important;font-weight:700;margin:13px 0 0!important}
@media(max-width:750px){.pm-client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}.pm-client-logos>.wp-block-column.pm-client-logo-card{min-height:154px;padding:12px!important}.pm-client-logo-card .wp-block-image{height:82px}.pm-client-logo-card .wp-block-image img{max-height:80px!important}}

/* VERSIÓN FINAL: fotos con ajuste de punto focal desde el bloque Cubierta de Gutenberg.
   La imagen se ajusta con object-position, sin borrar ni reencuadrar el original. */
.pm-photo.wp-block-cover{position:relative;display:block;overflow:hidden;isolation:isolate;
  padding:0!important;background:#dfe7e2;border-radius:16px;box-sizing:border-box}
.pm-photo.wp-block-cover>.wp-block-cover__image-background{position:absolute;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;max-width:none!important;max-height:none!important;display:block;z-index:0}
.pm-photo.wp-block-cover>.wp-block-cover__background,
.pm-photo.wp-block-cover>.wp-block-cover__inner-container{display:none!important}
.pm-hero .pm-photo-wide{width:100%;height:min(40vw,450px);min-height:250px!important;max-height:450px;border-radius:17px}
.pm-services .pm-photo-service{width:100%;height:255px;min-height:255px!important;border-radius:0}
.pm-services .pm-photo-service img{height:100%!important;max-height:none!important}
.pm-split .pm-photo-split{width:100%;height:400px;min-height:350px!important}
.pm-profile .pm-photo-profile{width:100%;height:380px;min-height:320px!important}
.pm-profile .pm-photo-profile img{max-height:none!important}
@media(max-width:640px){
  .pm-hero .pm-photo-wide{height:270px;min-height:270px!important;max-height:270px}
  .pm-services .pm-photo-service{height:235px;min-height:235px!important}
  .pm-split .pm-photo-split{height:300px;min-height:300px!important}
  .pm-profile .pm-photo-profile{height:330px;min-height:330px!important}
}
/* Optional site accessibility enhancement */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
