/*
Theme Name: Hello Elementor Child
Theme URI: https://cercadoscastellon.es
Description: Child theme de Hello Elementor para personalizaciones seguras
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* === Custom CSS del sitio, importado del custom_css post ID=26 (Customizer Additional CSS) === */

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Work+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');

.cc-home { --charcoal:#23272A; --charcoal-2:#2E3336; --olive:#4B5C2E; --olive-dark:#3a4824; --zinc:#9AA3AA; --zinc-light:#e4e6e8; --wheat:#C8A24A; --rust:#B4491F; --rust-dark:#8f3a17; --paper:#F6F4EE; --paper-2:#EDE9DE; --white:#FFFFFF; --font-display:'Archivo Black','Arial Black',sans-serif; --font-body:'Work Sans',-apple-system,sans-serif; --font-mono:'IBM Plex Mono',monospace; --maxw:1220px; }
.cc-home, .cc-home * { box-sizing:border-box; }
.cc-home { margin:0; font-family:var(--font-body); color:var(--charcoal); background:var(--paper); line-height:1.55; -webkit-font-smoothing:antialiased; }
.cc-home img, .cc-home svg { display:block; max-width:100%; }
.cc-home a { color:inherit; text-decoration:none; }
.cc-home ul { margin:0; padding:0; list-style:none; }
.cc-home .wrap { max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.cc-home h1, .cc-home h2, .cc-home h3 { font-family:var(--font-display); font-weight:400; line-height:1.02; margin:0; text-transform:uppercase; letter-spacing:-.01em; }
.cc-home .label { font-family:var(--font-mono); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; }
.cc-home .label::before { content:"//"; color:var(--rust); }
.cc-home .btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-weight:600; font-size:14px; letter-spacing:.03em; text-transform:uppercase; padding:17px 28px; border:2px solid var(--charcoal); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease; border-radius:2px; }
.cc-home .btn:hover { transform:translate(-2px,-2px); }
.cc-home .btn-primary { background:var(--rust); color:var(--paper); border-color:var(--rust); }
.cc-home .btn-primary:hover { background:var(--rust-dark); border-color:var(--rust-dark); box-shadow:6px 6px 0 var(--charcoal); }
.cc-home .btn-line { background:transparent; color:var(--charcoal); border-color:var(--charcoal); }
.cc-home .btn-line:hover { box-shadow:6px 6px 0 var(--rust); }
.cc-home .btn-line-light { background:transparent; color:var(--paper); border-color:var(--paper); }
.cc-home .btn-line-light:hover { box-shadow:6px 6px 0 var(--wheat); }
.cc-home .diamond { width:9px; height:9px; background:var(--rust); flex-shrink:0; transform:rotate(45deg); }
.cc-home .mesh-divider { width:100%; height:14px; overflow:hidden; line-height:0; }
.cc-home .mesh-divider svg { width:100%; height:14px; display:block; }
.cc-home .hero { position:relative; overflow:hidden; background:var(--charcoal); color:var(--paper); padding:64px 0 0; }
.cc-home .hero-mesh { position:absolute; inset:0; opacity:.16; }
.cc-home .hero-inner { position:relative; z-index:1; padding-bottom:56px; }
.cc-home .hero-tag { color:var(--wheat); margin-bottom:26px; }
.cc-home .hero-tag::before { color:var(--wheat); }
.cc-home .hero h1 { font-size:clamp(42px,7vw,84px); color:var(--paper); max-width:16ch; margin-bottom:8px; }
.cc-home .hero h1 .accent { color:var(--olive); -webkit-text-stroke:1.5px var(--wheat); }
.cc-home .hero p.lead { font-size:18px; max-width:56ch; color:var(--zinc-light); margin:26px 0 34px; }
.cc-home .hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:0; }
.cc-home .hero-strip { border-top:1px solid rgba(246,244,238,.15); margin-top:56px; }
.cc-home .hero-strip .wrap { display:grid; grid-template-columns:repeat(3,1fr); }
.cc-home .hero-strip-item { padding:20px 28px; border-left:1px solid rgba(246,244,238,.15); font-family:var(--font-mono); }
.cc-home .hero-strip-item:first-child { border-left:none; padding-left:0; }
.cc-home .hero-strip-item .k { font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--zinc); display:block; margin-bottom:6px; }
.cc-home .hero-strip-item .v { font-size:16px; font-weight:600; color:var(--wheat); }
@media (max-width:760px) {
  .cc-home .hero-strip .wrap { grid-template-columns:1fr; }
  .cc-home .hero-strip-item { border-left:none; border-top:1px solid rgba(246,244,238,.15); padding-left:0; }
  .cc-home .hero-strip-item:first-child { border-top:none; }
}
.cc-home section { padding:90px 0; }
.cc-home .section-head { max-width:680px; margin-bottom:52px; }
.cc-home .section-head .label { margin-bottom:20px; }
.cc-home .section-head h2 { font-size:clamp(30px,4vw,46px); }
.cc-home .section-head p { font-size:16.5px; color:#4a4f52; margin-top:16px; max-width:56ch; }
.cc-home .light-on-dark .section-head p { color:var(--zinc-light); }
.cc-home .light-on-dark .section-head h2 { color:var(--paper); }
.cc-home .intro { background:var(--paper); border-bottom:3px solid var(--charcoal); }
.cc-home .intro-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:start; }
.cc-home .intro h2 { font-size:clamp(28px,3.6vw,38px); margin-bottom:20px; }
.cc-home .intro p { color:#3a3f42; font-size:16px; }
.cc-home .intro-facts { display:flex; flex-direction:column; }
.cc-home .fact { display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-top:1px solid rgba(35,39,42,.15); }
.cc-home .fact:last-child { border-bottom:1px solid rgba(35,39,42,.15); }
.cc-home .fact .diamond { margin-top:6px; }
.cc-home .fact strong { display:block; font-family:var(--font-mono); font-size:14px; letter-spacing:.02em; text-transform:uppercase; margin-bottom:5px; }
.cc-home .fact span { font-size:14.5px; color:#5a5f62; }
@media (max-width:860px) {
  .cc-home .intro-grid { grid-template-columns:1fr; gap:40px; }
}
.cc-home .spec { background:var(--charcoal); color:var(--paper); }
.cc-home .spec-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(246,244,238,.18); border:1px solid rgba(246,244,238,.18); }
.cc-home .spec-card { background:var(--charcoal-2); padding:34px 28px; }
.cc-home .spec-card .num { font-family:var(--font-mono); font-size:12.5px; color:var(--wheat); letter-spacing:.1em; margin-bottom:18px; display:block; }
.cc-home .spec-card h3 { font-size:24px; color:var(--paper); margin-bottom:16px; text-transform:none; }
.cc-home .spec-card p { font-size:14.5px; color:var(--zinc-light); margin:0 0 22px; }
.cc-home .spec-rows { border-top:1px solid rgba(246,244,238,.15); padding-top:16px; }
.cc-home .spec-row { display:flex; justify-content:space-between; gap:12px; padding:7px 0; font-family:var(--font-mono); font-size:13px; }
.cc-home .spec-row .k { color:var(--zinc); }
.cc-home .spec-row .v { color:var(--wheat); text-align:right; }
@media (max-width:900px) {
  .cc-home .spec-grid { grid-template-columns:1fr; }
}
.cc-home .services { background:var(--paper); }
.cc-home .service-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2px; background:var(--charcoal); border:2px solid var(--charcoal); }
.cc-home .service-card { background:var(--paper); padding:30px 26px; transition:background .15s ease; position:relative; }
.cc-home .service-card:hover { background:var(--white); }
.cc-home .service-card .icon-wrap { width:48px; height:48px; background:var(--olive); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.cc-home .service-card .icon-wrap svg { width:24px; height:24px; color:var(--paper); }
.cc-home .service-card h3 { font-family:var(--font-body); font-weight:800; font-size:16.5px; text-transform:none; margin-bottom:9px; letter-spacing:0; }
.cc-home .service-card p { font-size:14px; color:#5a5f62; margin:0 0 16px; }
.cc-home .service-card .go { font-family:var(--font-mono); font-size:12px; color:var(--rust); font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.cc-home .service-card:hover .go { text-decoration:underline; }
.cc-home .services-cta { margin-top:44px; text-align:center; }
.cc-home .zones { background:var(--olive); color:var(--paper); position:relative; overflow:hidden; }
.cc-home .zones-mesh { position:absolute; inset:0; opacity:.12; }
.cc-home .zones .wrap { position:relative; z-index:1; }
.cc-home .zones .section-head h2 { color:var(--paper); }
.cc-home .zones .section-head p { color:rgba(246,244,238,.85); }
.cc-home .zones-chips { display:flex; flex-wrap:wrap; gap:0; border-top:1px solid rgba(246,244,238,.28); border-left:1px solid rgba(246,244,238,.28); margin-bottom:36px; }
.cc-home .chip { font-family:var(--font-mono); font-size:13.5px; font-weight:600; padding:14px 20px; border-right:1px solid rgba(246,244,238,.28); border-bottom:1px solid rgba(246,244,238,.28); transition:background .15s ease; }
.cc-home .chip:hover { background:rgba(35,39,42,.35); }
.cc-home .zones-note { font-size:15px; color:rgba(246,244,238,.85); max-width:60ch; }
.cc-home .zones-note a { color:var(--wheat); font-weight:700; text-decoration:underline; }
.cc-home .zones .label::before { color:var(--wheat); }
.cc-home .why { background:var(--paper); }
.cc-home .why-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:0; border-top:1px solid rgba(35,39,42,.18); border-left:1px solid rgba(35,39,42,.18); }
.cc-home .why-item { padding:30px 26px; border-right:1px solid rgba(35,39,42,.18); border-bottom:1px solid rgba(35,39,42,.18); }
.cc-home .why-item .num { font-family:var(--font-mono); font-size:13px; color:var(--rust); display:block; margin-bottom:14px; }
.cc-home .why-item strong { display:block; font-family:var(--font-display); font-size:16px; font-weight:400; margin-bottom:10px; text-transform:uppercase; }
.cc-home .why-item p { font-size:14.5px; color:#5a5f62; margin:0; }
.cc-home .process { background:var(--charcoal); color:var(--paper); }
.cc-home .process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.cc-home .process-step { padding:0 24px 0 0; border-left:1px solid rgba(246,244,238,.2); padding-left:24px; }
.cc-home .process-step:first-child { border-left:none; padding-left:0; }
.cc-home .step-num { font-family:var(--font-display); font-size:34px; color:var(--charcoal); -webkit-text-stroke:1.4px var(--wheat); margin-bottom:20px; }
.cc-home .process-step h3 { font-family:var(--font-body); font-weight:800; font-size:16px; color:var(--paper); margin-bottom:10px; text-transform:none; letter-spacing:0; }
.cc-home .process-step p { font-size:14px; color:var(--zinc-light); margin:0; }
@media (max-width:860px) {
  .cc-home .process-steps { grid-template-columns:1fr; gap:32px; }
  .cc-home .process-step { border-left:none; padding-left:0; border-top:1px solid rgba(246,244,238,.2); padding-top:28px; }
  .cc-home .process-step:first-child { border-top:none; padding-top:0; }
}
.cc-home .faq-list { max-width:860px; }
.cc-home details { border-bottom:2px solid var(--charcoal); padding:24px 0; }
.cc-home details:first-child { border-top:2px solid var(--charcoal); }
.cc-home details summary { font-family:var(--font-body); font-weight:800; font-size:17px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.cc-home details summary::-webkit-details-marker { display:none; }
.cc-home details summary::after { content:"+"; font-family:var(--font-display); font-size:22px; color:var(--rust); flex-shrink:0; transition:transform .2s ease; }
.cc-home details[open] summary::after { transform:rotate(45deg); }
.cc-home details p { font-size:15px; color:#4a4f52; margin:16px 0 0; max-width:70ch; }
.cc-home .contact { background:var(--rust); color:var(--paper); position:relative; overflow:hidden; }
.cc-home .contact-mesh { position:absolute; inset:0; opacity:.1; }
.cc-home .contact .wrap { position:relative; z-index:1; }
.cc-home .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.cc-home .contact h2 { font-size:clamp(30px,3.8vw,42px); color:var(--paper); margin-bottom:18px; }
.cc-home .contact p { font-size:16px; color:rgba(246,244,238,.9); margin-bottom:28px; max-width:48ch; }
.cc-home .contact-methods { display:flex; flex-direction:column; }
.cc-home .contact-method { display:flex; align-items:center; gap:16px; padding:18px 0; border-top:1px solid rgba(246,244,238,.28); }
.cc-home .contact-methods .contact-method:last-child { border-bottom:1px solid rgba(246,244,238,.28); }
.cc-home .contact-method svg { width:20px; height:20px; flex-shrink:0; color:var(--charcoal); }
.cc-home .contact-method strong { display:block; font-size:15.5px; font-family:var(--font-mono); }
.cc-home .contact-method span { font-size:13.5px; color:rgba(246,244,238,.8); }
@media (max-width:860px) {
  .cc-home .contact-grid { grid-template-columns:1fr; }
}
.cc-home .contact .label::before { color:var(--charcoal); }
@media (prefers-reduced-motion:reduce) {
  .cc-home, .cc-home * { transition:none !important; }
}