/* Contacto: comparte fuentes, tokens, navegación y pie con pg.css. */
.contact-page .nav{background:var(--paper);box-shadow:inset 0 -1px 0 var(--line)}
.contact-page :focus-visible{outline:2px solid var(--orange-deep);outline-offset:4px}
.ct-main{padding:calc(var(--nav) + 36px) 0 80px}
.ct-crumbs{display:flex;gap:12px;margin-bottom:48px;font:10px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--steel)}
.ct-crumbs a:hover{color:var(--ink)}
.ct-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,7vw,112px);align-items:start}
.ct-intro{padding-top:8px;min-width:0}
.ct-intro h1{margin:23px 0;font-size:clamp(3.5rem,6.2vw,6rem);font-variation-settings:'wdth' 100;font-weight:500;line-height:.98;letter-spacing:-.055em}
.ct-lead{max-width:42ch;font-size:clamp(1.05rem,1.35vw,1.2rem);color:var(--steel);line-height:1.6}
.ct-people{position:relative;margin:34px 0 36px;border-radius:calc(var(--r) * 1.6);overflow:hidden;background:var(--ink);box-shadow:0 40px 80px -48px rgba(30,32,35,.55)}
.ct-people img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ct-people::after{content:"";position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(0deg,rgba(16,18,20,.82),rgba(16,18,20,0));pointer-events:none}
.ct-people figcaption{position:absolute;left:clamp(18px,2.4vw,28px);right:clamp(18px,2.4vw,28px);bottom:clamp(16px,2.2vw,26px);z-index:1;color:#fff}
.ct-people b{display:block;font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:600;font-size:clamp(1.2rem,1.9vw,1.6rem);letter-spacing:-.03em;line-height:1.1}
.ct-people span{display:block;margin-top:6px;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.45}
.ct-channel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid var(--line-strong)}
.ct-channel small{display:block;font:10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-bottom:5px}
.ct-channel b{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2.15vw,2rem);letter-spacing:-.03em;overflow-wrap:anywhere}
.ct-channel svg,.ct-meeting svg,.ct-quote>svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.5;fill:none;flex:none;transition:transform .25s var(--ease)}
.ct-channel:hover svg,.ct-meeting:hover>svg:last-child{transform:translate(3px,-3px);color:var(--orange-deep)}
.ct-hours{padding:20px 0 22px;border-top:1px solid var(--line-strong)}
.ct-hours dl{margin:12px 0 7px;font-size:.92rem;max-width:295px}
.ct-hours dl div{display:flex;justify-content:space-between;gap:20px;margin-top:5px}
.ct-hours dd{margin:0;font-family:var(--mono);font-size:.83rem}
.ct-hours p{font-size:.78rem;color:var(--steel)}
.ct-meeting{display:flex;align-items:center;gap:16px;padding:20px;background:var(--paper-2);border-radius:var(--r);transition:background .2s}
.ct-meeting:hover{background:#e3e3df}
.ct-meeting .ct-calendar{color:var(--orange-deep);width:29px;height:29px}
.ct-meeting span{flex:1}
.ct-meeting b{display:block;font-size:.96rem;font-weight:600}
.ct-meeting small{display:block;color:var(--steel);font-size:.83rem;margin-top:3px}
.ct-form-panel{background:var(--white);padding:clamp(24px,2.7vw,42px);border:1px solid var(--line);border-radius:var(--r);min-width:0;scroll-margin-top:90px}
.ct-form-heading .mono{font-size:.65rem}
.ct-form-heading h2{font-size:clamp(1.65rem,2.6vw,2.4rem);margin:14px 0 10px;font-variation-settings:'wdth' 100;font-weight:500;letter-spacing:-.045em}
.ct-form-heading p{font-size:.83rem;color:var(--steel)}
.ct-field>label{font-size:.83rem;font-weight:600;margin-bottom:8px}
.ct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px}
.ct-field{display:flex;flex-direction:column;min-width:0}
.ct-field label{display:flex;gap:4px;align-items:baseline;flex-wrap:wrap}
.ct-optional{font-size:.67rem;color:var(--steel);font-weight:400;margin-left:auto}
.ct-full{grid-column:1/-1}
.ct-field input,.ct-field select,.ct-field textarea,#ct-copy-text{width:100%;min-height:47px;padding:12px;border:1px solid var(--line-strong);background:var(--paper);border-radius:4px;font:400 .9rem/1.4 var(--body);color:var(--ink);transition:border-color .2s,background .2s}
.ct-field textarea{resize:vertical;min-height:118px;max-height:500px}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:#74797f;opacity:1}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{background:#fff;border-color:var(--orange-deep);outline:2px solid #c9720026;outline-offset:1px}
.ct-field small{margin-top:6px;font-size:.73rem;color:var(--steel);line-height:1.5}
.ct-consent{margin-top:22px;font-size:.79rem}
.ct-consent label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.ct-consent input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--ink)}
.ct-consent a{text-decoration:underline;text-underline-offset:3px}
.ct-consent a:hover{color:var(--orange-deep)}
.ct-submit{display:flex;align-items:center;gap:16px;margin-top:22px}
.ct-submit .btn{font-size:.87rem;padding:15px 20px;gap:10px}
.ct-submit .btn svg{margin-left:8px}
.ct-submit p{font-size:.73rem;color:var(--steel);max-width:25ch;line-height:1.5}
.ct-error:not([hidden]){display:block;color:#ab3525;font-size:.76rem;margin-top:6px}
.ct-field [aria-invalid=true]{border-color:#ab3525}
.ct-consent input[aria-invalid=true]{outline:2px solid #ab3525;outline-offset:2px}
.ct-quote{display:flex;gap:15px;margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}
.ct-quote>svg{color:var(--orange-deep);margin-top:2px}
.ct-quote b{font-size:.9rem;font-weight:600}
.ct-quote p{font-size:.8rem;color:var(--steel);margin:4px 0 10px}
.ct-quote .link{font-size:.84rem}
.ct-result{margin-top:24px;padding:22px;background:var(--orange-soft);border-left:2px solid var(--orange)}
.ct-result h3{font-size:1.1rem;font-variation-settings:'wdth' 100}
.ct-result p{font-size:.83rem;margin-top:9px}
.ct-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;font-size:.83rem}
.ct-result .btn{font-size:.82rem}
.ct-copy-status:empty{display:none}
#ct-copy-fallback{margin-top:12px;font-size:.8rem}
#ct-copy-text{margin-top:8px;resize:vertical}
.ct-noscript{margin-top:20px;font-size:.8rem}
.ct-location{padding:65px 0;background:var(--ink);color:var(--paper);scroll-margin-top:60px}
.ct-location-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,7vw,112px);align-items:center}
.ct-location .eyebrow,.ct-location .mono{color:var(--paper-on-ink)}
.ct-location h2{margin-top:22px;font-size:clamp(1.8rem,3.3vw,3.2rem);font-weight:500;font-variation-settings:'wdth' 100;line-height:1.1;letter-spacing:-.04em}
.ct-address{border-left:1px solid var(--line-on-ink);padding-left:34px}
.ct-address address{font-size:1.05rem;font-style:normal;line-height:1.65;margin:13px 0 17px}
.ct-address .link{font-size:.84rem;border-color:var(--paper-on-ink)}
.ct-help{padding:65px 0}
.ct-help .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}
.ct-help h2{font-size:clamp(1.55rem,2.5vw,2.3rem);margin-top:17px;font-variation-settings:'wdth' 100;font-weight:500}
.ct-help p:not(.eyebrow){color:var(--steel);font-size:.95rem;margin-top:14px}
@media(max-width:1000px){.ct-layout,.ct-location-grid{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.ct-form-panel{padding:24px}.ct-submit{align-items:flex-start;flex-direction:column;gap:10px}.ct-submit p{max-width:none}}
@media(max-width:760px){.ct-main{padding-top:calc(var(--nav) + 22px);padding-bottom:45px}.ct-crumbs{margin-bottom:30px}.ct-layout,.ct-location-grid{grid-template-columns:1fr;gap:36px}.ct-intro h1{font-size:clamp(3.3rem,12vw,5rem)}.ct-intro .eyebrow{font-size:.63rem}.ct-lead{max-width:48ch}.ct-people{margin:26px 0 28px}.ct-channel b{font-size:1.55rem}.ct-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ct-channel b{font-size:clamp(1rem,3.4vw,1.5rem)}.ct-channel{gap:8px}.ct-channel svg{width:17px}.ct-hours{padding:16px 0 20px}.ct-form-panel{padding:25px}.ct-form-heading h2{font-size:1.85rem}.ct-location{padding:45px 0}.ct-address{padding-left:0;border-left:0;border-top:1px solid var(--line-on-ink);padding-top:25px}.ct-help{padding:45px 0}.ct-help .wrap{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:440px){.ct-fields{grid-template-columns:1fr;gap:17px}.ct-form-panel{padding:23px 19px}.ct-field input,.ct-field select,.ct-field textarea{font-size:16px}.ct-channels{grid-template-columns:1fr;gap:0}.ct-channel b{font-size:1.4rem}.ct-channel{padding:16px 0}.ct-submit .btn{justify-content:center;width:100%}.ct-submit p{font-size:.75rem}.ct-optional{font-size:.72rem}}
@media(max-width:440px){.contact-page .nav .wrap{gap:10px}.contact-page .nav .logo{flex-shrink:0}.contact-page .nav .logo-img{width:90px;height:auto}.contact-page .nav .menu{margin-left:auto}.contact-page .nav:not(.open) .menu .btn{font-size:.78rem;padding:10px 12px;gap:7px}.contact-page .nav .burger{flex:0 0 36px;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.contact-page *, .contact-page *::before,.contact-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
