/* ------------------ BASE GLOBAL ------------------ */
:root {
--shadow:0 12px 28px rgba(0,0,0,.55);
--text-shadow-soft:0 2px 6px rgba(0,0,0,.35);
--text-shadow-strong:0 4px 12px rgba(0,0,0,.55);
--text-shadow-ultra:0 8px 24px rgba(0,0,0,.45);
--text-shadow-gold:0 2px 10px rgba(197,160,40,.45);}
body {font-family:'Urbanist',system-ui,sans-serif;overflow-x:hidden;width:100%;margin:0;padding:0;background-color:#3d0e49;}
a {text-decoration:none;}
/* ------------------ HEADER + NAV ------------------ */
.header {backdrop-filter:blur(30px);box-shadow:0 4px 12px rgba(0,0,0,.25);position:fixed;width:100%;z-index:50;border-bottom:1px solid rgba(197,160,40,.25);}
.header-scrolled {padding-block:.25rem;box-shadow:0 6px 18px rgba(0,0,0,.35);}
.nav-container {max-width:1280px;margin:0 auto;padding:0 1.5rem;}
.nav-inner {display:flex;justify-content:space-between;align-items:center;height:80px;}
.logo-group {display:flex;align-items:center;cursor:pointer;}
.logo-img {height:160px;width:auto;margin-top:60px;}
.logo-text {margin-left:.75rem;}
.logo-title {font-size:1.95rem;font-weight:1000;color:rgb(239,192,245);margin:0;}
.logo-sub {font-size:9px;color:#c5a028;font-weight:bold;text-transform:uppercase;letter-spacing:.25em;margin-top:4px;}
.nav-desktop {display:flex;gap:2.5rem;}
.nav-link {color:rgb(216,152,253);font-weight:500;transition:.2s;line-height:47px;}
.nav-link:hover {color:#c5a028;}
.nav-mail {display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(197,160,40,.4);color:white;transition:.25s;}
.nav-mail:hover {background:#c5a028;color:#4a1957;transform:translateY(-2px);}
.btn-secondary {background:#c5a028;color:#4a1957;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:700;transition:.25s;}
.btn-secondary:hover {background:rgb(255,251,30);transform:translateY(-3px);}
.mobile-btn {display:none;padding:.5rem;background:#2d0f35;border:1px solid rgba(197,160,40,.3);border-radius:.5rem;color:#c5a028;}
.icon-24 {width:24px;height:24px;}
/* ------------------ MENÚ MÓVIL ------------------ */
.mobile-panel {display:none;background:#4a1957;border-top:1px solid rgba(197,160,40,.25);}
.mobile-panel-inner {padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem;}
.mobile-link {color:white;font-weight:600;}
.mobile-btn-link {background:#c5a028;color:#4a1957;padding:.75rem 1rem;border-radius:.75rem;text-align:center;font-weight:700;}
/* ------------------ HERO ------------------ */
.hero {position:relative;padding-top:80px;min-height:100vh;display:flex;align-items:center;justify-content:center;}
.hero-logo {width:100%;display:flex;justify-content:center;margin-bottom:1rem;}
.hero-logo img {width:200px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));}
/* Fondo escudo */
.hero-bg {position:absolute;inset:0;z-index:0;background-image:url('/imagenes/fondo.png');background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero::before {content:"";position:absolute;inset:0;background:linear-gradient(rgba(75,0,124,.7),rgba(68,1,87,.7));mix-blend-mode:multiply;z-index:1;}
/* Contenido hero */
.hero-content {position:relative;z-index:2;max-width:700px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
.hero-badge {display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 4px 14px rgba(0,0,0,.35);padding:.65rem 2.5rem;border-radius:99px;background:rgba(45,15,53,.55);border:1px solid rgba(197,160,40,.35);color:#c5a028;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.39rem;backdrop-filter:blur(6px);}
.pulse-dot {width:.5rem;height:.5rem;background:#c5a028;border-radius:9999px;animation:pulse 1.5s infinite;}
@keyframes pulse {0%{opacity:.4;transform:scale(1);}50%{opacity:1;transform:scale(1.4);}100%{opacity:.4;transform:scale(1);}}
.hero-title {font-size:6rem;font-weight:900;color:white;line-height:1;margin:1.5rem 0;font-family:'Poppins',sans-serif;text-shadow:0 3px 8px rgba(0,0,0,.95);}
.hero-highlight {color:#ffd86b;font-style:italic;font-weight:900;}
.hero-subtitle {font-size:1.3rem;color:rgba(255,255,255,.85);line-height:1.6;border-left:4px solid #c5a028;padding-left:1.5rem;margin-bottom:3rem;}
.hero-buttons {display:flex;gap:2rem;flex-wrap:wrap;}
.btn-primary {background:#c5a028;color:#4a1957;padding:1.5rem 3rem;border-radius:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;display:inline-flex;align-items:center;gap:.75rem;transition:.25s;box-shadow:0 6px 18px rgba(0,0,0,.55);}
.btn-primary:hover {background:rgb(255,251,30);transform:translateY(-3px);}
.btn-outline {background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:white;padding:1.5rem 3rem;border-radius:1rem;font-weight:1000;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;transition:.25s;box-shadow:0 6px 18px rgba(0,0,0,.55);}
.btn-outline:hover {background:rgba(255,255,255,.25);transform:translateY(-3px);}
/* ------------------ BANDA SERVICIOS ------------------ */
.services-band {background:#2d0f35;padding:3rem 0;margin:0;border-bottom:4px solid rgba(197,160,40,.25);box-shadow:var(--shadow);}
.band-container {display:flex;justify-content:center;gap:10rem;flex-wrap:wrap;}
.band-item {text-align:center;color:white;font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:.25s;cursor:pointer;}
.band-item i {color:#c5a028;width:2.2rem;height:2.2rem;transition:.25s;filter:drop-shadow(0 0 4px rgba(197,160,40,.4));}
.band-item:hover {transform:translateY(-6px);}
.band-item:hover i {color:#ffd86b;filter:drop-shadow(0 0 8px rgba(255,216,107,.8));}
/* ------------------ SERVICIOS ------------------ */
.services-section {padding:3rem 0;background:rgb(199,143,245);}
.services-container {max-width:1280px;margin:0 auto;padding:0 1.5rem;}
.services-header {text-align:center;margin-bottom:4rem;}
.section-title {font-size:5rem;font-weight:900;line-height:1.2;color:#2f0542;}
.section-title .text-primary {color:#5b1991;font-weight:900;}
.section-subtitle {color:#aa891e;font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.35em;}
.section-description {color:#4a1957;max-width:650px;margin:1rem auto 0;line-height:1.7;}
.sep-line {background:linear-gradient(to right,transparent,#c5a028,transparent);height:2px;width:100px;margin:1.5rem auto;}
.services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;}
.service-card {background:white;border-radius:2rem;padding:2.5rem;border:1px solid rgba(45,15,53,.05);box-shadow:var(--shadow);transition:.35s;display:flex;flex-direction:column;}
.service-card:hover {background:#edc8f8;transform:translateY(-10px);box-shadow:0 15px 35px -5px rgba(45,15,53,.35);}
.service-icon {width:4rem;height:4rem;border-radius:1.25rem;background:#4a1957;color:#f7e061;display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;}
.service-title {font-size:1.5rem;font-weight:900;color:#4a1957;margin-bottom:1rem;}
.service-text {color:#ab44c7;font-size:.95rem;line-height:1.7;margin-bottom:2rem;flex-grow:1;}
.service-footer {font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.25em;color:#c5a028;border-top:1px solid rgba(45,15,53,.1);padding-top:1rem;}
/* ------------------ EXPERIENCIA ------------------ */
.experience-section {width:100%;background:#290632;padding:100px 0 50px 0; /* sin padding lateral */}
/* Caja centrada y limitada */
.experience-box {background:#3d0e49;border:1px solid #ae5ff0;border-radius:64px;padding:30px 60px;display:flex;flex-wrap:wrap;gap:60px; align-items:center; box-shadow:0 4px 12px rgba(225,188,235,0.25);max-width:1300px;margin:0 auto;}
/* Columna izquierda */
.experience-content { flex:1 1 400px; max-width:550px;}
.experience-subtitle {color:#f7d354; font-size:18px; letter-spacing:4px; text-transform:uppercase; margin-bottom:1px; padding:50px 0 0 0;}
.experience-title { font-size:88px;font-weight:900;line-height:1;margin-bottom:0;padding:0 0 0 30px;}
.experience-title .white {color:#ffffff;}
.experience-title .yellow {color:#f7d354;}
.linea-horizontal {width:80px;height:4px;background:#f7d354;border-radius:2px;margin:20px 0 30px 0;}
.experience-text {color:#e5e5e5;font-size:20px;line-height:1.7;margin-bottom:35px;padding:10px;}
.experience-metrics {display:flex;gap:60px;margin-bottom:35px;}
.metric {display:flex;align-items:center;gap:15px;}
.metric-value {color:#f7d354;font-size:40px;font-weight:800;}
.metric-label {color:#ffffff;font-size:16px;text-transform:uppercase;letter-spacing:1px;}
.linea-vertical {width:4px;height:40px;background:#f7d354;border-radius:2px;}
.experience-button {display:inline-block;color:#f7d354;font-size:18px;font-weight:700;text-decoration:none;}
/* Columna derecha (imagen) */
.experience-side {flex:1 1 400px;display:flex;justify-content:center;background:#350941;border-radius:64px;padding:100px 10px 20px 20px;max-width:550px; /* límite para que no empuje */}
.experience-image {width:100%;max-width:550px; /* límite real */border-radius:64px;box-shadow:0 8px 30px rgba(0,0,0,.35);object-fit:cover;}
/* ------------------ CONTACTO ------------------ */
.contact-section {padding:8rem 0;background:#f4f0f6;}
.contact-container {max-width:1280px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;}
.contact-items {margin-top:2rem;}
.contact-item {display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;}
.contact-icon {width:3rem;height:3rem;background:#2d0c38;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#c5a028;}
.contact-label {font-size:.75rem;text-transform:uppercase;letter-spacing:.25em;color:rgba(74,25,87,.75);}
.contact-value {font-size:1.2rem;font-weight:900;color:#4a1957;}
.contact-form {background:#ede3f3;padding:2.5rem;border-radius:1.5rem;box-shadow:var(--shadow);}
.form-title {font-size:1.8rem;font-weight:900;color:#4a1957;margin-bottom:1.5rem;}
.contact-form input,
.contact-form select,
.contact-form textarea {width:100%;background:#f4ecf8;border:1px solid rgba(74,25,87,.25);padding:.9rem 1rem;border-radius:.75rem;font-size:.95rem;margin-bottom:1.2rem;color:#4a1957;}
.contact-form textarea {height:120px;resize:none;}
.form-button {width:100%;background:#c5a028;color:#4a1957;padding:1rem;border-radius:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;transition:.25s;}
.form-button:hover {background:white;transform:translateY(-3px);}
/* ------------------ FOOTER ------------------ */
.footer {background:#3d0e49;padding:.1rem 3rem .1rem 8rem;color:rgba(255,255,255,.85);}
.footer-columns {display:grid;grid-template-columns:1fr .3fr .3fr .3fr;gap:3rem;margin-bottom:2rem;}
.footer img {width:120px;height:auto;}
.footer-title {font-weight:900;font-size:.9rem;text-transform:uppercase;letter-spacing:.15em;color:#c5a028;margin-bottom:1rem;}
.footer a {display:block;color:rgba(255,255,255,.75);margin-bottom:.6rem;text-decoration:none;}
.footer-5cols {grid-template-columns:1.8fr .3fr .3fr .3fr .3fr;}
.footer-brand {display:flex;align-items:center;gap:3rem;}
.footer-logo {width:55px;height:auto;flex-shrink:0;}
.footer-brand-text {display:flex;flex-direction:column;line-height:1.2;}
.footer-brand-text .brand-title {font-size:1.1rem;font-weight:900;color:#c5a028;text-transform:uppercase;letter-spacing:.12em;}
.footer-brand-text .brand-sub {font-size:.85rem;color:rgba(255,255,255,.75);}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;margin-top:2rem;}
.footer-copy {font-size:.8rem;color:rgba(255,255,255,.6);}
.footer-cert {font-size:.8rem;color:#c5a028;display:flex;align-items:center;gap:1rem;}
/* ------------------ MEDIA QUERIES ------------------ */
@media (max-width:1200px){
.experience-title {font-size:70px;line-height:1;}
.experience-subtitle {font-size:22px;letter-spacing:8px;}}
@media (max-width:900px){
.experience-box {flex-direction:column;padding:40px 40px;}
.experience-title {font-size:55px;line-height:1.05;}
.experience-subtitle {font-size:20px;letter-spacing:6px;}
.experience-text {font-size:18px;}
.metric-value {font-size:32px;}}
@media (max-width:600px){
.experience-title {font-size:42px;line-height:1.1;}
.experience-subtitle {font-size:18px;letter-spacing:4px;}
.experience-text {font-size:16px;}
.metric-value {font-size:28px;}}