.pc-contact-page,
.pc-contact-page * {
 box-sizing: border-box;
}.pc-contact-page {
 --pc-green-dark: #19432f;
 --pc-green-deep: #102d20;
 --pc-green: #6ca442;
 --pc-green-hover: #7db84b;
 --pc-green-light: #edf5e8;
 --pc-green-soft: #f6f9f4;
 --pc-text: #1f2722;
 --pc-muted: #68716b;
 --pc-border: rgba(25,67,47,.12);
 width: 100%;
 margin: 0;
 padding: 0;
 overflow: hidden;
 color: var(--pc-text);
 background: #ffffff;
 font-family:
 -apple-system,
 BlinkMacSystemFont,
 "Segoe UI",
 Roboto,
 Arial,
 sans-serif;
}.pc-contact-page a {
 text-decoration: none !important;
}.pc-contact-page .pc-container {
 width: 100%;
 max-width: 1180px;
 margin: 0 auto;
 padding:
 0
 24px;
}.pc-contact-hero {
 position: relative;
 min-height: 520px;
 display: flex;
 align-items: center;
 justify-content: center;
 overflow: hidden;
 background:
 var(--pc-green-dark);
}.pc-contact-hero-bg {
 position: absolute;
 inset: 0;
 z-index: 0;
 background-image:
 url('/wp-content/uploads/2026/08/contacto-reciclaje-papeles-cruz-madrid.webp');
 background-size: cover;
 background-position:
 center center;
 transform:
 scale(1.03);
 animation:
 pcContactHeroZoom
 14s
 ease-in-out
 infinite alternate;
}@keyframes pcContactHeroZoom {from {
 transform: scale(1.03);
 }to {
 transform: scale(1.07);
 }
}.pc-contact-hero-overlay {
 position: absolute;
 inset: 0;
 z-index: 1;
 background:
 linear-gradient(
 90deg,
 rgba(8,31,21,.88) 0%,
 rgba(8,31,21,.74) 46%,
 rgba(8,31,21,.38) 100%
 );
}.pc-contact-hero-content {
 position: relative;
 z-index: 2;
 width: 100%;
 max-width: 1180px;
 margin: 0 auto;
 padding:
 100px
 24px;
}.pc-contact-hero-inner {
 max-width: 760px;
}.pc-contact-hero-kicker {
 display: inline-flex;
 align-items: center;
 gap: 9px;
 margin-bottom:
 20px;
 color:
 #b6e58b;
 font-size:
 11px;
 font-weight:
 800;
 letter-spacing:
 .16em;
 text-transform:
 uppercase;
}.pc-contact-hero-kicker::before {
 content: "";
 width: 30px;
 height: 2px;
 display: block;
 background:
 var(--pc-green-hover);
}.pc-contact-hero h1 {
 max-width: 780px;
 margin:
 0
 0
 22px;
 color:
 #ffffff;
 font-size:
 clamp(
 42px,
 5vw,
 64px
 );
 font-weight:
 500;
 line-height:
 1.03;
 letter-spacing:
 -.045em;
}.pc-contact-hero p {
 max-width: 650px;
 margin:
 0;
 color:
 rgba(255,255,255,.86);
 font-size:
 17px;
 line-height:
 1.75;
}.pc-contact-section {
 width: 100%;
 padding:
 90px
 0
 80px;
 background:
 radial-gradient(
 circle at 10% 5%,
 rgba(108,164,66,.08),
 transparent 30%
 ),
 #ffffff;
}.pc-contact-container {
 width: 100%;
 max-width: 1180px;
 margin: 0 auto;
 padding:
 0
 24px;
}.pc-contact-grid {
 display: grid;
 grid-template-columns:
 .82fr
 1.18fr;
 gap:
 46px;
 align-items:
 start;
}.pc-contact-info {
 min-width: 0;
}.pc-contact-kicker,
.pc-contact-form-kicker {
 margin-bottom:
 10px;
 display:
 inline-block;
 color:
 var(--pc-green);
 font-size:
 11px;
 font-weight:
 800;
 line-height:
 1;
 letter-spacing:
 .16em;
 text-transform:
 uppercase;
}.pc-contact-info h2 {
 max-width:
 410px;
 margin:
 0
 0
 24px;
 color:
 var(--pc-text);
 font-size:
 clamp(
 34px,
 4vw,
 52px
 );
 font-weight:
 500;
 line-height:
 1.05;
 letter-spacing:
 -.035em;
}.pc-contact-cards {
 display:
 grid;
 gap:
 13px;
}.pc-contact-card {
 min-height:
 88px;
 padding:
 17px
 18px;
 border:
 1px solid
 var(--pc-border);
 border-radius:
 17px;
 display:
 grid;
 grid-template-columns:
 44px
 1fr;
 gap:
 14px;
 align-items:
 start;
 background:
 rgba(255,255,255,.92);
 box-shadow:
 0
 10px
 28px
 rgba(25,67,47,.05);
 transition:
 transform .22s ease,
 box-shadow .22s ease,
 border-color .22s ease;
}.pc-contact-card:hover {
 transform:
 translateY(-3px);
 border-color:
 rgba(108,164,66,.28);
 box-shadow:
 0
 16px
 34px
 rgba(25,67,47,.08);
}.pc-contact-icon {
 width:
 44px;
 height:
 44px;
 border-radius:
 12px;
 display:
 flex;
 align-items:
 center;
 justify-content:
 center;
 color:
 #ffffff;
 background:
 var(--pc-green-dark);
}.pc-contact-icon svg {
 width:
 20px;
 height:
 20px;
 display:
 block;
 fill:
 none;
 stroke:
 currentColor;
 stroke-width:
 1.9;
 stroke-linecap:
 round;
 stroke-linejoin:
 round;
}.pc-contact-card strong {
 margin-bottom:
 5px;
 display:
 block;
 color:
 var(--pc-text);
 font-size:
 14px;
 font-weight:
 700;
}.pc-contact-card p,
.pc-contact-card a {
 margin:
 0;
 color:
 var(--pc-muted) !important;
 font-size:
 13px;
 line-height:
 1.6;
 text-decoration:
 none !important;
}.pc-contact-card a:hover {
 color:
 var(--pc-green) !important;
}.pc-contact-form-wrap {
 padding:
 32px
 34px
 34px;
 border:
 1px solid
 var(--pc-border);
 border-radius:
 24px;
 background:
 #ffffff;
 box-shadow:
 0
 18px
 50px
 rgba(25,67,47,.09);
}.pc-contact-form-wrap h2 {
 margin:
 0
 0
 24px;
 color:
 var(--pc-text);
 font-size:
 clamp(
 31px,
 3.5vw,
 45px
 );
 font-weight:
 500;
 line-height:
 1.08;
 letter-spacing:
 -.03em;
}.pc-contact-map {
 margin-top:
 55px;
 border:
 1px solid
 var(--pc-border);
 border-radius:
 24px;
 overflow:
 hidden;
 background:
 #eef2ed;
 box-shadow:
 0
 18px
 42px
 rgba(25,67,47,.07);
}.pc-contact-map iframe {
 width:
 100%;
 height:
 420px;
 border:
 0;
 display:
 block;
}@media (max-width: 900px) {.pc-contact-grid {
 grid-template-columns:
 1fr;
 gap:
 38px;
 }.pc-contact-info h2 {
 max-width:
 100%;
 }.pc-contact-hero {
 min-height:
 500px;
 }
}@media (max-width: 600px) {.pc-contact-page .pc-container,
 .pc-contact-container {
 padding:
 0
 20px;
 }.pc-contact-hero {
 min-height:
 490px;
 }.pc-contact-hero-bg {
 background-position:
 42% center;
 }.pc-contact-hero-overlay {
 background:
 rgba(8,31,21,.70);
 }.pc-contact-hero-content {
 padding:
 80px
 20px;
 }.pc-contact-hero h1 {
 font-size:
 37px;
 }.pc-contact-hero p {
 font-size:
 15px;
 }.pc-contact-section {
 padding:
 65px
 0
 60px;
 }.pc-contact-info h2,
 .pc-contact-form-wrap h2 {
 font-size:
 34px;
 }.pc-contact-card {
 grid-template-columns:
 40px
 1fr;
 padding:
 15px;
 border-radius:
 15px;
 }.pc-contact-icon {
 width:
 40px;
 height:
 40px;
 border-radius:
 11px;
 }.pc-contact-icon svg {
 width:
 18px;
 height:
 18px;
 }.pc-contact-form-wrap {
 padding:
 26px
 20px
 28px;
 border-radius:
 20px;
 }.pc-contact-map {
 margin-top:
 38px;
 border-radius:
 18px;
 }.pc-contact-map iframe {
 height:
 340px;
 }
}@media (max-width: 390px) {.pc-contact-hero h1 {
 font-size:
 34px;
 }.pc-contact-info h2,
 .pc-contact-form-wrap h2 {
 font-size:
 31px;
 }
}
