/* ============================================================
   INDUSTEX — style.css
   Paleta: #E84C1F naranja | #F5F5F5 blanco | #1F5E96 azul
           #2B2B2B grafito | #F4B41A amarillo
   ============================================================ */

:root {
    --orange:  #E84C1F;
    --orange2: #c93d14;
    --white:   #F5F5F5;
    --blue:    #1F5E96;
    --dark:    #2B2B2B;
    --darker:  #1a1a1a;
    --yellow:  #F4B41A;
    --ff:      'Montserrat', sans-serif;
    --fb:      'Open Sans', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--fb); color:var(--dark); background:var(--white); overflow-x:hidden; }
img { display:block; max-width:100%; }

/* ── NAVBAR ── */
.navbar {
    position: fixed; top:0; left:0; right:0; z-index:1000;
    height: 80px;
    display: flex; align-items:center; justify-content:space-between;
    padding: 0 6%;
    background: rgba(26,26,26,0.96);
    backdrop-filter: blur(12px);
    border-bottom: 2px solid var(--orange);
    transition: height .3s, box-shadow .3s;
}
.navbar.scrolled { height:64px; box-shadow:0 4px 24px rgba(0,0,0,.35); }
.navbar-logo img { height:44px; width:auto; transition:height .3s; }
.navbar.scrolled .navbar-logo img { height:36px; }

.navbar-nav { display:flex; gap:2rem; list-style:none; align-items:center; }
.navbar-nav a {
    color:var(--white); text-decoration:none;
    font-family:var(--ff); font-weight:600; font-size:.82rem;
    letter-spacing:.08em; text-transform:uppercase;
    position:relative; padding-bottom:4px;
    transition:color .25s;
}
.navbar-nav a::after {
    content:''; position:absolute; bottom:0; left:0;
    width:0; height:2px; background:var(--orange);
    transition:width .3s;
}
.navbar-nav a:hover { color:var(--orange); }
.navbar-nav a:hover::after { width:100%; }

.nav-cta {
    background:var(--orange) !important; color:#fff !important;
    padding:.55rem 1.3rem !important; border-radius:3px !important;
}
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:var(--orange2) !important; transform:translateY(-1px); }

.hamburger {
    display:none; flex-direction:column; gap:5px;
    background:none; border:none; cursor:pointer; padding:4px;
}
.hamburger span { width:24px; height:2px; background:var(--white); transition:all .3s; display:block; }

/* ── HERO ── */
.hero {
    height:100vh; min-height:680px;
    position:relative; display:flex;
    align-items:flex-end; padding-bottom:9vh; overflow:hidden;
}
.hero-bg {
    position:absolute; inset:0;
    background: url('img/web/hero-bordado.jpg') center/cover no-repeat;
    animation: heroKen 18s ease-in-out infinite alternate;
}
@keyframes heroKen {
    from { transform:scale(1.04) translate(0,0); }
    to   { transform:scale(1.10) translate(-1%,-.5%); }
}
.hero-overlay {
    position:absolute; inset:0;
    background: linear-gradient(135deg, rgba(26,26,26,.93) 0%, rgba(31,94,150,.45) 55%, rgba(232,76,31,.12) 100%);
}
.hero-content {
    position:relative; z-index:2;
    padding: 0 8%; max-width:880px;
}
.hero-tag {
    display:inline-flex; align-items:center; gap:.5rem;
    background:var(--orange); color:#fff;
    font-family:var(--ff); font-size:.72rem; font-weight:700;
    letter-spacing:.14em; text-transform:uppercase;
    padding:.38rem 1rem; margin-bottom:1.6rem;
    animation: slideL .8s ease both;
}
.hero h1 {
    font-family:var(--ff);
    font-size: clamp(2.8rem,5.5vw,5rem);
    font-weight:900; color:#fff;
    line-height:1.04; letter-spacing:-.02em;
    margin-bottom:1.4rem;
    animation: slideL .8s .18s ease both;
}
.hero h1 em { color:var(--orange); font-style:normal; }
.hero-sub {
    color:rgba(245,245,245,.82); font-size:1.05rem; font-weight:300;
    line-height:1.75; max-width:540px; margin-bottom:2.4rem;
    animation: slideL .8s .36s ease both;
}
.hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; animation:slideL .8s .52s ease both; }

.hero-scroll {
    position:absolute; bottom:2.5rem; right:7%;
    display:flex; flex-direction:column; align-items:center; gap:.5rem;
    color:rgba(255,255,255,.4); font-family:var(--ff);
    font-size:.65rem; letter-spacing:.18em; text-transform:uppercase;
    animation:fadeU 1s .9s ease both;
}
.scroll-line {
    width:1px; height:48px;
    background:linear-gradient(to bottom, var(--orange), transparent);
    animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:.3} 50%{opacity:1} }

/* ── BUTTONS ── */
.btn-primary {
    display:inline-flex; align-items:center; gap:.6rem;
    background:var(--orange); color:#fff;
    padding:.95rem 2.1rem; border-radius:3px;
    font-family:var(--ff); font-weight:700; font-size:.88rem;
    letter-spacing:.05em; text-transform:uppercase;
    text-decoration:none; transition:all .3s;
}
.btn-primary:hover { background:var(--orange2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,76,31,.4); }

.btn-outline {
    display:inline-flex; align-items:center; gap:.6rem;
    background:transparent; color:#fff;
    border:2px solid rgba(255,255,255,.55);
    padding:.95rem 2.1rem; border-radius:3px;
    font-family:var(--ff); font-weight:700; font-size:.88rem;
    letter-spacing:.05em; text-transform:uppercase;
    text-decoration:none; transition:all .3s;
}
.btn-outline:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px); }

/* ── TRUST BAR ── */
.trust-bar {
    background:var(--darker);
    border-bottom:3px solid var(--orange);
    padding:1.3rem 5%;
    display:flex; align-items:center; justify-content:center;
    gap:2.5rem; flex-wrap:wrap;
}
.trust-item { display:flex; align-items:center; gap:.7rem; }
.trust-item i { color:var(--orange); font-size:1rem; }
.trust-item span {
    color:var(--white); font-family:var(--ff);
    font-weight:600; font-size:.78rem;
    letter-spacing:.06em; text-transform:uppercase;
}
.trust-sep { width:1px; height:28px; background:rgba(255,255,255,.12); }

/* ── SECTION COMMONS ── */
.section-tag {
    display:inline-flex; align-items:center; gap:.6rem;
    color:var(--orange); font-family:var(--ff);
    font-size:.7rem; font-weight:700;
    letter-spacing:.2em; text-transform:uppercase;
    margin-bottom:.9rem;
}
.section-tag::before { content:''; width:18px; height:2px; background:var(--orange); }

.section-title {
    font-family:var(--ff);
    font-size:clamp(1.9rem,3.2vw,2.85rem);
    font-weight:900; color:var(--dark);
    line-height:1.1; letter-spacing:-.02em;
    margin-bottom:1.2rem;
}
.section-title.light { color:#fff; }

/* ── SERVICIOS ── */
.servicios { padding:100px 7%; background:var(--white); }
.servicios-header { max-width:560px; margin-bottom:3.5rem; }
.servicios-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

.service-card {
    position:relative; height:460px;
    border-radius:4px; overflow:hidden; cursor:pointer;
    transition:transform .4s ease;
}
.service-card:hover { transform:translateY(-10px); }
.service-card-bg {
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    transition:transform .65s ease;
}
.service-card:hover .service-card-bg { transform:scale(1.08); }
.service-card-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(26,26,26,.96) 25%, rgba(26,26,26,.22) 100%);
    transition:background .4s;
}
.service-card:hover .service-card-overlay {
    background:linear-gradient(to top, rgba(232,76,31,.92) 0%, rgba(26,26,26,.68) 100%);
}
.service-card-content {
    position:absolute; bottom:0; left:0; right:0;
    padding:2.2rem 2rem;
}
.service-icon {
    width:50px; height:50px; border:2px solid var(--orange); border-radius:3px;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:1.1rem; transition:background .3s;
}
.service-card:hover .service-icon { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.5); }
.service-icon i { color:var(--orange); font-size:1.25rem; transition:color .3s; }
.service-card:hover .service-icon i { color:#fff; }
.service-card h3 {
    font-family:var(--ff); font-size:1.28rem; font-weight:800;
    color:#fff; margin-bottom:.7rem; letter-spacing:-.01em;
}
.service-card p { color:rgba(255,255,255,.78); font-size:.88rem; line-height:1.7; margin-bottom:1.1rem; }
.service-link {
    color:var(--orange); font-family:var(--ff); font-weight:700;
    font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
    text-decoration:none; display:inline-flex; align-items:center; gap:.4rem;
    transition:all .25s;
}
.service-card:hover .service-link { color:#fff; gap:.7rem; }

/* ── STATS ── */
.stats-section {
    padding:90px 7%;
    background:var(--darker);
    position:relative; overflow:hidden;
}
.stats-section::before {
    content:''; position:absolute;
    top:0; left:0; width:4px; height:100%;
    background:var(--orange);
}
.stats-bg-text {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--ff); font-size:18vw; font-weight:900;
    color:rgba(255,255,255,.025);
    white-space:nowrap; pointer-events:none; letter-spacing:-.05em;
    user-select:none;
}
.stats-inner {
    position:relative; z-index:1;
    display:grid; grid-template-columns:1fr 1.8fr; gap:5rem; align-items:center;
}
.stats-left .section-tag { color:var(--orange); }
.stats-left h2 {
    font-family:var(--ff); font-size:clamp(1.9rem,2.8vw,2.6rem);
    font-weight:900; color:#fff; line-height:1.1;
    letter-spacing:-.02em; margin-bottom:1.3rem;
}
.stats-left h2 em { color:var(--orange); font-style:normal; }
.stats-left p { color:rgba(245,245,245,.6); font-size:.95rem; line-height:1.85; }
.stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.stat-item { border-left:3px solid var(--orange); padding-left:1.4rem; }
.stat-number {
    font-family:var(--ff); font-size:3.2rem; font-weight:900;
    color:#fff; line-height:1; letter-spacing:-.03em;
}
.stat-number .count-up { color:#fff; }
.stat-label {
    color:rgba(245,245,245,.55); font-family:var(--ff);
    font-size:.78rem; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; margin-top:.4rem;
}

/* ── GALERÍA ── */
.galeria { padding:100px 7%; background:var(--white); }
.galeria-header {
    display:flex; align-items:flex-end;
    justify-content:space-between; margin-bottom:3rem;
    flex-wrap:wrap; gap:1.5rem;
}
.galeria-grid {
    display:grid;
    grid-template-columns:repeat(12,1fr);
    grid-template-rows:280px 280px;
    gap:10px;
}
.galeria-item { overflow:hidden; border-radius:3px; position:relative; cursor:pointer; }
.gi-1 { grid-column:span 5; }
.gi-2 { grid-column:span 4; }
.gi-3 { grid-column:span 3; }
.gi-4 { grid-column:span 3; }
.gi-5 { grid-column:span 5; }
.gi-6 { grid-column:span 4; }

.galeria-item img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .65s ease, filter .4s;
    filter:grayscale(15%);
}
.galeria-item:hover img { transform:scale(1.1); filter:grayscale(0%); }
.gi-overlay {
    position:absolute; inset:0;
    background:rgba(232,76,31,0); transition:background .4s;
    display:flex; align-items:center; justify-content:center;
}
.galeria-item:hover .gi-overlay { background:rgba(232,76,31,.32); }
.gi-overlay i { color:#fff; font-size:1.8rem; opacity:0; transform:scale(.6); transition:all .3s .08s; }
.galeria-item:hover .gi-overlay i { opacity:1; transform:scale(1); }

/* ── PROCESO ── */
.proceso {
    padding:100px 7%;
    background:var(--darker);
    position:relative; overflow:hidden;
}
.proceso::after {
    content:''; position:absolute; bottom:0; right:0;
    width:40%; height:3px;
    background:linear-gradient(to left, var(--orange), transparent);
}
.proceso-header { margin-bottom:4.5rem; }
.proceso-header .section-tag { color:var(--orange); }

.proceso-timeline {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:0; position:relative;
}
.proceso-line {
    position:absolute; top:31px; left:12.5%; right:12.5%;
    height:2px; background:rgba(232,76,31,.25); z-index:0;
}
.proceso-fill {
    height:100%; background:var(--orange);
    width:0; transition:width 1.6s cubic-bezier(.4,0,.2,1);
}
.proceso-step {
    position:relative; z-index:1;
    display:flex; flex-direction:column; align-items:center;
    text-align:center; padding:0 1.5rem;
}
.proc-circle {
    width:62px; height:62px; border-radius:50%;
    border:2px solid rgba(232,76,31,.4);
    background:var(--darker);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:1.8rem;
    transition:all .4s;
}
.proceso-step:hover .proc-circle { border-color:var(--orange); background:var(--orange); }
.proc-circle span {
    font-family:var(--ff); font-size:1rem; font-weight:900;
    color:var(--orange); transition:color .3s;
}
.proceso-step:hover .proc-circle span { color:#fff; }
.proceso-step h4 {
    font-family:var(--ff); font-size:.95rem; font-weight:700;
    color:#fff; margin-bottom:.7rem;
    text-transform:uppercase; letter-spacing:.05em;
}
.proceso-step p { color:rgba(245,245,245,.52); font-size:.85rem; line-height:1.7; }

/* ── POR QUÉ ── */
.porque {
    display:grid; grid-template-columns:1fr 1fr;
    min-height:620px;
}
.porque-img { position:relative; overflow:hidden; }
.porque-img img { width:100%; height:100%; object-fit:cover; display:block; }
.porque-img-overlay {
    position:absolute; inset:0;
    background:rgba(31,94,150,.18);
}
.porque-content {
    padding:90px 7% 90px 6%;
    background:var(--white);
    display:flex; flex-direction:column; justify-content:center;
}
.porque-intro { color:#666; font-size:.95rem; line-height:1.8; margin-bottom:2rem; }
.porque-list { display:flex; flex-direction:column; gap:1.3rem; }
.pq-item {
    display:flex; gap:1.1rem; align-items:flex-start;
    padding:1rem 1.1rem; border-radius:4px;
    transition:background .3s;
}
.pq-item:hover { background:#ebebeb; }
.pq-icon {
    width:42px; height:42px; border-radius:3px;
    background:var(--orange); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
}
.pq-icon i { color:#fff; font-size:.95rem; }
.pq-item h4 {
    font-family:var(--ff); font-weight:700; font-size:.95rem;
    color:var(--dark); margin-bottom:.3rem;
}
.pq-item p { color:#666; font-size:.88rem; line-height:1.6; }

/* ── CONTACTO ── */
.contacto {
    display:grid; grid-template-columns:1fr 1fr;
}
.contacto-info {
    padding:90px 6% 90px 7%;
    background:var(--darker);
}
.contacto-info .section-tag { color:var(--orange); }
.contacto-sub { color:rgba(245,245,245,.6); font-size:.95rem; line-height:1.8; margin-bottom:2.2rem; }
.contacto-details { display:flex; flex-direction:column; gap:1.4rem; margin-bottom:2.2rem; }
.cd-item { display:flex; gap:1rem; align-items:flex-start; }
.cd-icon {
    width:40px; height:40px; flex-shrink:0;
    border:1px solid rgba(232,76,31,.4); border-radius:3px;
    display:flex; align-items:center; justify-content:center;
}
.cd-icon i { color:var(--orange); font-size:.88rem; }
.cd-item h5 {
    font-family:var(--ff); font-size:.72rem; font-weight:600;
    color:rgba(245,245,245,.48); text-transform:uppercase;
    letter-spacing:.1em; margin-bottom:.2rem;
}
.cd-item p { color:var(--white); font-size:.93rem; line-height:1.5; }

.btn-whatsapp {
    display:inline-flex; align-items:center; gap:.6rem;
    background:#25D366; color:#fff;
    padding:.9rem 1.8rem; border-radius:3px;
    font-family:var(--ff); font-weight:700; font-size:.85rem;
    letter-spacing:.05em; text-transform:uppercase;
    text-decoration:none; transition:all .3s;
}
.btn-whatsapp:hover { background:#1da851; transform:translateY(-2px); box-shadow:0 6px 20px rgba(37,211,102,.35); }
.btn-whatsapp i { font-size:1.15rem; }

.contacto-form-wrap {
    padding:90px 7% 90px 6%;
    background:var(--white);
}
.contacto-form-wrap .section-tag { color:var(--orange); }
.form-title {
    font-family:var(--ff); font-size:1.7rem; font-weight:800;
    color:var(--dark); letter-spacing:-.01em;
    margin-bottom:1.8rem;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fg { margin-bottom:1.1rem; }
.fg label {
    display:block; font-family:var(--ff); font-size:.72rem;
    font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:var(--dark); margin-bottom:.45rem;
}
.fg input, .fg select, .fg textarea {
    width:100%; padding:.85rem 1rem;
    border:1.5px solid #ddd; border-radius:3px;
    font-family:var(--fb); font-size:.93rem; color:var(--dark);
    background:#fff; outline:none; transition:border-color .3s, box-shadow .3s;
}
.fg input:focus, .fg select:focus, .fg textarea:focus {
    border-color:var(--orange);
    box-shadow:0 0 0 3px rgba(232,76,31,.12);
}
.fg textarea { min-height:108px; resize:vertical; }
.btn-submit {
    width:100%; background:var(--orange); color:#fff;
    padding:1rem; border:none; border-radius:3px;
    font-family:var(--ff); font-weight:700; font-size:.88rem;
    letter-spacing:.08em; text-transform:uppercase;
    cursor:pointer; display:flex; align-items:center;
    justify-content:center; gap:.6rem;
    transition:all .3s; margin-top:.3rem;
}
.btn-submit:hover { background:var(--orange2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,76,31,.38); }

/* ── MAPA ── */
.mapa-wrap { position:relative; height:380px; overflow:hidden; }
.mapa-wrap iframe { width:100%; height:100%; border:0; filter:grayscale(30%) contrast(1.05); }
.mapa-badge {
    position:absolute; bottom:1.5rem; left:1.5rem;
    background:var(--orange); color:#fff;
    padding:.6rem 1.2rem; border-radius:3px;
    font-family:var(--ff); font-size:.8rem; font-weight:700;
    letter-spacing:.06em; text-transform:uppercase;
    display:flex; align-items:center; gap:.5rem;
    box-shadow:0 4px 16px rgba(0,0,0,.3);
}

/* ── FOOTER ── */
.footer {
    background:#111;
    border-top:3px solid var(--orange);
    padding:4rem 7% 2rem;
}
.footer-top {
    display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr;
    gap:3rem; margin-bottom:3rem;
}
.footer-brand img { height:38px; width:auto; margin-bottom:1.1rem; }
.footer-brand p { color:rgba(245,245,245,.48); font-size:.85rem; line-height:1.8; margin-bottom:1.4rem; }
.footer-social { display:flex; gap:.7rem; }
.footer-social a {
    width:34px; height:34px; border:1px solid rgba(255,255,255,.15);
    border-radius:3px; display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.48); text-decoration:none; font-size:.82rem;
    transition:all .3s;
}
.footer-social a:hover { border-color:var(--orange); color:var(--orange); background:rgba(232,76,31,.1); }
.footer-col h5 {
    font-family:var(--ff); font-size:.72rem; font-weight:700;
    letter-spacing:.15em; text-transform:uppercase; color:var(--white);
    padding-bottom:.6rem; margin-bottom:1.1rem;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-col ul li a {
    color:rgba(245,245,245,.48); text-decoration:none;
    font-size:.85rem; transition:color .25s;
    display:flex; align-items:center; gap:.4rem;
}
.footer-col ul li a:hover { color:var(--orange); }
.footer-col ul li a i { color:var(--orange); font-size:.75rem; width:14px; }

.footer-bottom {
    border-top:1px solid rgba(255,255,255,.07);
    padding-top:1.5rem;
    display:flex; justify-content:space-between;
    align-items:center; flex-wrap:wrap; gap:.8rem;
}
.footer-bottom p { color:rgba(245,245,245,.32); font-size:.78rem; }
.ft-tagline {
    font-family:var(--ff); font-weight:700;
    font-size:.68rem; letter-spacing:.22em;
    text-transform:uppercase; color:rgba(245,245,245,.2);
}

/* ── WHATSAPP FLOAT ── */
.wa-float {
    position:fixed; bottom:2rem; right:2rem; z-index:900;
    width:56px; height:56px; border-radius:50%;
    background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.7rem; text-decoration:none;
    box-shadow:0 4px 20px rgba(37,211,102,.5);
    transition:transform .3s, box-shadow .3s;
    animation:waPop 1s 1.5s ease both;
}
.wa-float:hover { transform:scale(1.12); box-shadow:0 8px 28px rgba(37,211,102,.55); }
@keyframes waPop { from{opacity:0;transform:scale(.5)} to{opacity:1;transform:scale(1)} }

/* ── ANIMATIONS ── */
@keyframes slideL { from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeU  { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ── RESPONSIVE ── */
@media (max-width:1100px) {
    .servicios-grid { grid-template-columns:1fr 1fr; }
    .service-card:nth-child(3) { grid-column:span 2; height:340px; }
    .stats-inner { grid-template-columns:1fr; gap:3rem; }
    .porque { grid-template-columns:1fr; }
    .porque-img { min-height:420px; }
    .contacto { grid-template-columns:1fr; }
    .footer-top { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
    .navbar-nav { display:none; }
    .navbar-nav.open {
        display:flex; flex-direction:column;
        position:absolute; top:80px; left:0; right:0;
        background:rgba(26,26,26,.98);
        padding:2rem 6%; gap:1.5rem;
        border-top:1px solid rgba(255,255,255,.07);
    }
    .hamburger { display:flex; }

    .servicios { padding:70px 5%; }
    .servicios-grid { grid-template-columns:1fr; }
    .service-card:nth-child(3) { grid-column:span 1; height:380px; }
    .service-card { height:380px; }

    .stats-section, .galeria, .proceso { padding:70px 5%; }
    .stats-grid { grid-template-columns:1fr 1fr; }

    .galeria-grid {
        grid-template-columns:1fr 1fr;
        grid-auto-rows:200px;
    }
    .gi-1,.gi-2,.gi-3,.gi-4,.gi-5,.gi-6 { grid-column:span 1; }

    .proceso-timeline { grid-template-columns:1fr 1fr; row-gap:2.5rem; }
    .proceso-line { display:none; }

    .contacto-info, .contacto-form-wrap { padding:70px 5%; }
    .form-row { grid-template-columns:1fr; }
    .mapa-wrap { height:280px; }
    .footer-top { grid-template-columns:1fr; gap:2rem; }
    .trust-bar { gap:1.2rem; }
    .trust-sep { display:none; }
    .hero-content { padding:0 5%; }
}
@media (max-width:480px) {
    .hero h1 { font-size:2.2rem; }
    .stats-grid { grid-template-columns:1fr; }
    .galeria-grid { grid-template-columns:1fr; }
    .porque-content { padding:60px 5%; }
    .footer-top { grid-template-columns:1fr; }
}

/* ============================================================
   TEMA CLARO / OSCURO
   ============================================================ */

/* ── Logo visibility (default = dark theme) ── */
.logo-light { display:none; }
.logo-dark  { display:block; }

[data-theme="light"] .logo-light { display:block; }
[data-theme="light"] .logo-dark  { display:none; }

/* ── Iconos del toggle ── */
.theme-icon-dark  { display:block; }
.theme-icon-light { display:none; }

[data-theme="light"] .theme-icon-dark  { display:none; }
[data-theme="light"] .theme-icon-light { display:block; }

/* ── Botón toggle ── */
.navbar-actions {
    display:flex; align-items:center; gap:.35rem;
}
.theme-toggle {
    background:none; border:1px solid rgba(255,255,255,.18);
    border-radius:50%; cursor:pointer;
    width:36px; height:36px;
    display:flex; align-items:center; justify-content:center;
    color:var(--white); font-size:.9rem;
    transition:all .25s;
    flex-shrink:0;
}
.theme-toggle:hover {
    background:rgba(232,76,31,.18);
    border-color:var(--orange);
    color:var(--orange);
}
[data-theme="light"] .theme-toggle {
    border-color:rgba(43,43,43,.22);
    color:var(--dark);
}
[data-theme="light"] .theme-toggle:hover {
    background:rgba(232,76,31,.1);
    border-color:var(--orange);
    color:var(--orange);
}

/* ── Transición global suave ── */
body, .navbar, .servicios, .galeria,
.porque-content, .contacto-form-wrap,
.section-title, .fg input, .fg select, .fg textarea,
.fg label, .form-title, .pq-item h4, .pq-item p,
.porque-intro, .navbar-nav a {
    transition: background .35s ease, color .35s ease,
                border-color .25s ease;
}

/* ============================================================
   TEMA OSCURO — overrides sobre las secciones claras
   ============================================================ */
[data-theme="dark"] body {
    background:#111;
    color:rgba(245,245,245,.82);
}
[data-theme="dark"] .servicios,
[data-theme="dark"] .galeria {
    background:#161616;
}
[data-theme="dark"] .porque-content {
    background:#161616;
}
[data-theme="dark"] .contacto-form-wrap {
    background:#161616;
}

/* Títulos y texto en secciones claras → oscuro */
[data-theme="dark"] .section-title:not(.light) {
    color:rgba(245,245,245,.92);
}
[data-theme="dark"] .porque-intro {
    color:rgba(245,245,245,.58);
}
[data-theme="dark"] .pq-item:hover {
    background:rgba(255,255,255,.05);
}
[data-theme="dark"] .pq-item h4 {
    color:rgba(245,245,245,.88);
}
[data-theme="dark"] .pq-item p {
    color:rgba(245,245,245,.52);
}

/* Formulario */
[data-theme="dark"] .form-title {
    color:rgba(245,245,245,.92);
}
[data-theme="dark"] .fg label {
    color:rgba(245,245,245,.75);
}
[data-theme="dark"] .fg input,
[data-theme="dark"] .fg select,
[data-theme="dark"] .fg textarea {
    background:#1e1e1e;
    border-color:rgba(255,255,255,.12);
    color:rgba(245,245,245,.85);
}
[data-theme="dark"] .fg input::placeholder,
[data-theme="dark"] .fg textarea::placeholder {
    color:rgba(245,245,245,.28);
}
[data-theme="dark"] .fg select option {
    background:#1e1e1e;
}
[data-theme="dark"] .fg input:focus,
[data-theme="dark"] .fg select:focus,
[data-theme="dark"] .fg textarea:focus {
    border-color:var(--orange);
    box-shadow:0 0 0 3px rgba(232,76,31,.15);
}

/* ============================================================
   TEMA CLARO — overrides sobre la navbar oscura (base CSS)
   ============================================================ */
[data-theme="light"] .navbar {
    background:rgba(255,255,255,.97);
    border-bottom:2px solid var(--orange);
    box-shadow:0 2px 18px rgba(0,0,0,.07);
}
[data-theme="light"] .navbar.scrolled {
    box-shadow:0 4px 24px rgba(0,0,0,.12);
}
[data-theme="light"] .navbar-nav a {
    color:var(--dark);
}
[data-theme="light"] .navbar-nav a:hover {
    color:var(--orange);
}
[data-theme="light"] .hamburger span {
    background:var(--dark);
}
[data-theme="light"] .navbar-nav.open {
    background:rgba(255,255,255,.98);
    border-top:1px solid rgba(0,0,0,.07);
}
[data-theme="light"] .navbar-nav.open a {
    color:var(--dark);
}
