/* Grúas Phoenix · página Contacto v2.7 · estilos aislados */
.gp-contact-page{--cp-navy:#08172f;--cp-red:#d8152e;--cp-green:#0da658;--cp-muted:#58657b;color:var(--cp-navy);background:#fff;overflow:clip}
.gp-contact-page,.gp-contact-page *{box-sizing:border-box}
.gp-contact-page a{text-decoration:none}
.gp-contact-page a:focus-visible,.gp-contact-page button:focus-visible,.gp-contact-page input:focus-visible,.gp-contact-page select:focus-visible,.gp-contact-page textarea:focus-visible,.gp-contact-page summary:focus-visible{outline:3px solid #f2bd31;outline-offset:3px}
.gp-contact-page .gp-container{width:min(calc(100% - 56px),1260px);margin-inline:auto}
.gp-cp-section{padding-block:clamp(56px,5.6vw,88px)}
.gp-cp-kicker{color:var(--cp-red);font-weight:850;font-size:12px;letter-spacing:.12em;margin:0 0 13px;line-height:1.5}
.gp-contact-page h1,.gp-contact-page h2,.gp-contact-page h3,.gp-contact-page p{margin-top:0}
.gp-contact-page h2{font-size:clamp(28px,3vw,41px);letter-spacing:-.044em;line-height:1.13;margin:0 0 14px;color:var(--cp-navy);font-weight:850}
.gp-contact-page h3{font-size:17px;line-height:1.27;margin:0 0 6px;color:var(--cp-navy);font-weight:820}
.gp-contact-page p{line-height:1.6;color:#536078}
.gp-cp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* HERO */
.gp-cp-hero{position:relative;display:flex;align-items:center;isolation:isolate;min-height:clamp(465px,40vw,605px);background:#f5f8fc}
.gp-cp-hero-photo{position:absolute;inset:0 0 0 47%;z-index:-1;overflow:hidden;background:#d2dfec}
.gp-cp-hero-photo picture,.gp-cp-hero-photo img{display:block;width:100%;height:100%}
.gp-cp-hero-photo img{object-fit:cover;object-position:48% center}
.gp-cp-hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f5f8fc 0%,rgba(245,248,252,.97) 7%,rgba(245,248,252,.18) 45%,transparent 79%)}
.gp-cp-hero-layout{position:relative;z-index:1;padding-block:clamp(56px,6.5vw,95px) clamp(58px,6.5vw,92px)}
.gp-cp-hero-copy{width:min(56%,680px);min-width:0}
.gp-cp-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#5a6880;font-weight:650;margin-bottom:27px}
.gp-cp-breadcrumb a{color:#50607a}.gp-cp-breadcrumb a:hover{color:var(--cp-red)}
.gp-contact-page .gp-cp-hero h1{font-size:clamp(40px,4.7vw,67px);line-height:1.045;letter-spacing:-.055em;color:var(--cp-navy);font-weight:900;max-width:15ch;margin:0 0 22px;text-wrap:balance}
.gp-cp-hero h1 span{color:var(--cp-red)}
.gp-cp-hero-lead{font-size:clamp(16px,1.4vw,18px);max-width:55ch;line-height:1.6!important;color:#34435b!important;margin-bottom:25px}
.gp-cp-hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.gp-contact-page .gp-cp-btn{min-height:50px;border-radius:5px;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-weight:800;font-size:14px;color:#fff;line-height:1.3;padding:14px 18px;touch-action:manipulation}
.gp-cp-btn svg{flex:none}.gp-contact-page .gp-cp-btn-green{background:var(--cp-green)}.gp-contact-page .gp-cp-btn-green:hover{background:#087f42;color:#fff}
.gp-contact-page .gp-cp-btn-navy{background:#0a1933}.gp-contact-page .gp-cp-btn-navy:hover{background:#233c67;color:#fff}
/* Canales */
.gp-cp-methods{padding-block:25px 38px;background:#f6f8fb}
.gp-cp-methods-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gp-cp-method{min-width:0;border:1px solid #e2e8f0;border-radius:5px;background:#fff;padding:19px 16px;display:flex;gap:13px;align-items:flex-start;color:var(--cp-navy);min-height:120px}
.gp-cp-method span:last-child{display:flex;flex-direction:column;min-width:0}
.gp-cp-method-icon{flex:none;display:grid;place-items:center;width:43px;height:43px;color:#fff;border-radius:5px}
.gp-cp-method-icon-red{background:var(--cp-red)}.gp-cp-method-icon-green{background:var(--cp-green)}
.gp-cp-method strong{font-size:16px;line-height:1.3;margin:0 0 5px;font-weight:820}.gp-cp-method small{font-size:13px;color:#61708a;line-height:1.4}
.gp-cp-method b{color:#cc102b;font-size:14px;font-weight:850;margin-top:7px;line-height:1.3;overflow-wrap:anywhere}
.gp-contact-page a.gp-cp-method:hover{border-color:#b8c3d2;color:var(--cp-navy)}
/* Formulario */
.gp-cp-request-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.78fr);gap:clamp(28px,4.5vw,65px);align-items:start}
.gp-cp-form-area .gp-cp-description{font-size:16px;max-width:69ch;margin:0 0 26px}
.gp-cp-form{border:1px solid #e1e8f2;border-radius:5px;background:#fff;padding:clamp(20px,2.5vw,30px)}
.gp-cp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 17px}
.gp-cp-field{min-width:0;display:flex;flex-direction:column}
.gp-cp-field-full{grid-column:1/-1}
.gp-cp-field label{font-size:14px;font-weight:750;color:#263852;margin:0 0 8px;line-height:1.3}
.gp-cp-field label span{color:var(--cp-red)}
.gp-cp-field input,.gp-cp-field select,.gp-cp-field textarea{border:1px solid #cbd6e3;background:#fff;border-radius:4px;display:block;width:100%;padding:12px 13px;font:400 16px/1.4 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#0b1c39;box-shadow:none;min-height:48px;max-width:100%;appearance:none}
.gp-cp-field select{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 3l5 5 5-5' fill='none' stroke='%23445577' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.gp-cp-field textarea{min-height:108px;resize:vertical;max-height:360px}
.gp-cp-field input::placeholder,.gp-cp-field textarea::placeholder{color:#7c8ba0;opacity:1}
.gp-cp-honeypot{position:absolute!important;clip:rect(0,0,0,0)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}
.gp-cp-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:#3d4d66;margin:22px 0 20px;cursor:pointer}
.gp-cp-consent input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#d8152e}
.gp-cp-consent a,.gp-cp-form-actions a,.gp-cp-feedback a{color:#ae1228;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.gp-cp-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;border-top:1px solid #e0e6ed;padding-top:20px}
.gp-contact-page .gp-cp-submit{min-height:50px;border:0;border-radius:5px;background:#d8152e;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 27px;font-size:15px;font-weight:850;cursor:pointer;touch-action:manipulation}
.gp-contact-page .gp-cp-submit:hover{background:#ac142a}
.gp-cp-form-actions p{font-size:13px;margin:0;max-width:30ch}
.gp-cp-feedback{padding:14px 16px;border-radius:5px;font-size:14px;line-height:1.55;margin-bottom:18px}
.gp-cp-feedback-ok{background:#ebf7ee;border:1px solid #98d6ab;color:#15572b}
.gp-cp-feedback-error{background:#fff0f2;border:1px solid #edb5c0;color:#8f1826}
/* panel lateral */
.gp-cp-info{background:#eff5fc;border:1px solid #e3ecf5;border-radius:6px;padding:clamp(23px,3vw,36px)}
.gp-cp-info h2{font-size:clamp(25px,2.15vw,34px);margin-bottom:10px}
.gp-cp-info>p:not(.gp-cp-kicker):not(.gp-cp-info-note){font-size:15px;margin-bottom:22px}
.gp-cp-info-list{display:grid;gap:20px}
.gp-cp-info-list>div{display:flex;align-items:flex-start;gap:15px}
.gp-cp-info-list>div>span{background:var(--cp-red);display:grid;place-items:center;color:white;border-radius:50%;width:40px;height:40px;flex:none}
.gp-cp-info-list h3{font-size:16px;margin:0 0 3px}.gp-cp-info-list p{font-size:14px;margin:0;line-height:1.5}
.gp-cp-info-note{background:#dcebf9;display:flex;gap:12px;align-items:flex-start;border-radius:4px;color:#24517a!important;padding:15px;font-size:13px;margin:25px 0 0;line-height:1.5!important}
.gp-cp-info-note svg{flex:none}
/* Proceso y FAQ */
.gp-cp-steps{background:#f5f8fb}
.gp-cp-steps>.gp-container>p:not(.gp-cp-kicker){margin-bottom:26px}
.gp-cp-step-grid{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.gp-cp-step-grid li{display:flex;align-items:flex-start;gap:14px;padding:5px clamp(12px,2.3vw,34px);border-right:1px solid #d6e0ec;min-width:0}
.gp-cp-step-grid li:first-child{padding-left:0}.gp-cp-step-grid li:last-child{border-right:0;padding-right:0}
.gp-cp-step-count{background:var(--cp-red);color:#fff;flex:none;display:grid;place-items:center;border-radius:50%;width:38px;height:38px;font-size:14px;font-weight:900}
.gp-cp-step-icon{color:#d8152e;flex:none;margin-top:4px}.gp-cp-step-grid h3{margin:3px 0 7px}
.gp-cp-step-grid p{margin:0;font-size:14px;line-height:1.53}
.gp-cp-faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(30px,5vw,80px);align-items:start}
.gp-cp-faq-grid>div:first-child>p:last-child{font-size:15px;margin:0}
.gp-cp-faq-list{border-top:1px solid #e1e8f0}
.gp-cp-faq-item{border-bottom:1px solid #e1e8f0;background:#fff}
.gp-cp-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:15px;font-size:15px;font-weight:750;line-height:1.4;touch-action:manipulation}
.gp-cp-faq-item summary::-webkit-details-marker{display:none}
.gp-cp-faq-item summary span{font-size:24px;color:#d8152e;line-height:1;transition:transform .16s ease;flex:none}
.gp-cp-faq-item[open] summary span{transform:rotate(45deg)}
.gp-cp-faq-item>p{font-size:14px;padding:0 18px 19px;margin:0;line-height:1.6}
@media(max-width:1180px){.gp-cp-methods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-cp-hero-copy{width:58%}.gp-contact-page .gp-cp-hero h1{font-size:clamp(39px,4.55vw,60px)}}
@media(max-width:850px){.gp-cp-hero{display:flex;flex-direction:column;min-height:0}.gp-cp-hero-layout{order:1;padding-block:48px 42px}.gp-cp-hero-copy{width:100%;max-width:700px}.gp-cp-hero-photo{position:relative;order:2;inset:auto;width:100%;height:clamp(280px,49vw,440px)}.gp-cp-hero-photo::after{display:none}.gp-contact-page .gp-cp-hero h1{max-width:19ch;font-size:clamp(38px,6.3vw,55px)}.gp-cp-request-grid,.gp-cp-faq-grid{grid-template-columns:1fr;gap:28px}.gp-cp-info{max-width:none}.gp-cp-step-grid{grid-template-columns:1fr;gap:20px}.gp-cp-step-grid li,.gp-cp-step-grid li:first-child,.gp-cp-step-grid li:last-child{padding:0 0 20px;border:0;border-bottom:1px solid #d6e0ec}.gp-cp-step-grid li:last-child{padding:0;border:0}}
@media(max-width:600px){.gp-contact-page .gp-container{width:calc(100% - 40px)}.gp-cp-section{padding-block:54px}.gp-cp-hero-layout{padding-block:38px 34px}.gp-cp-breadcrumb{margin-bottom:18px}.gp-contact-page .gp-cp-hero h1{font-size:clamp(34px,8.4vw,45px);letter-spacing:-.045em;margin-bottom:17px}.gp-cp-hero-lead{font-size:16px}.gp-cp-hero-actions{flex-direction:column;align-items:stretch}.gp-contact-page .gp-cp-btn{width:100%}.gp-cp-hero-photo{height:clamp(230px,63vw,335px)}.gp-cp-methods-grid{grid-template-columns:1fr;gap:10px}.gp-cp-method{min-height:0;padding:16px}.gp-cp-methods{padding:20px 0 25px}.gp-cp-fields{grid-template-columns:1fr;gap:15px}.gp-cp-field-full{grid-column:auto}.gp-cp-form{padding:19px}.gp-cp-form-actions{align-items:stretch;flex-direction:column}.gp-contact-page .gp-cp-submit{width:100%}.gp-cp-form-actions p{max-width:none}.gp-cp-info{padding:22px}.gp-cp-faq-item summary{font-size:14px}}
@media(max-width:340px){.gp-contact-page .gp-container{width:calc(100% - 32px)}.gp-cp-method{gap:10px}.gp-cp-method-icon{height:39px;width:39px}.gp-cp-form{padding:15px}}
@media(prefers-reduced-motion:reduce){.gp-contact-page *{transition:none!important}}
