/*
Theme Name: SCLOG Software Legacy
Theme URI: https://sclogsoftware.com/
Author: SCLOG Software
Description: Réplica editable en WordPress del sitio corporativo Joomla de SCLOG Software.
Version: 1.1.4
Text Domain: sclog-legacy
*/

:root {
  --red: #ef1745;
  --deep-red: #7d0023;
  --ink: #151515;
  --muted: #707070;
  --line: #ececec;
  --paper: #ffffff;
  --soft: #f7f7f7;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Montserrat, Arial, sans-serif; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.topbar { background: #171717; color: #fff; font-size: 11px; }
.topbar .wrap { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.topbar__locations { display: flex; gap: 18px; overflow: hidden; white-space: nowrap; color: #d8d8d8; }
.topbar__call { flex: 0 0 auto; font-weight: 700; color: #fff; }
.topbar__call strong { color: var(--red); }

.site-header { background: #fff; border-bottom: 1px solid var(--line); position: relative; z-index: 20; }
.site-header .wrap { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { flex: 0 0 auto; display: flex; align-items: center; }
.brand img { width: 220px; height: 70px; max-height: 70px; object-fit: contain; object-position: left center; }
.nav { display: flex; align-items: center; gap: 34px; font-family: Exo, Montserrat, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.nav a { position: relative; padding: 34px 0; }
.nav a::after { content: ""; position: absolute; height: 3px; left: 0; right: 100%; bottom: 24px; background: var(--red); transition: right .25s ease; }
.nav a:hover::after, .nav .current-menu-item a::after { right: 0; }
.language-switch { display:flex; align-items:center; gap:4px; margin-left:4px; padding-left:16px; border-left:1px solid var(--line); }
.mobile-language-switch { display:none; }
.nav .language-option { display:inline-flex; align-items:center; gap:5px; padding:7px 6px; border:1px solid transparent; font-size:11px; line-height:1; letter-spacing:.03em; }
.nav .language-option::after { display:none; }
.nav .language-option:hover, .nav .language-option.is-current { color:var(--ink); border-color:#d6d6d6; background:#fafafa; }
.language-flag { display:block; width:18px; height:12px; border:1px solid rgba(0,0,0,.16); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.flag-es { background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%); }.flag-en { position:relative; background:linear-gradient(33deg,transparent 43%,#fff 43% 50%,#c8102e 50% 55%,#fff 55% 62%,transparent 62%),linear-gradient(-33deg,transparent 43%,#fff 43% 50%,#c8102e 50% 55%,#fff 55% 62%,transparent 62%),linear-gradient(90deg,transparent 36%,#fff 36% 64%,transparent 64%),linear-gradient(transparent 30%,#fff 30% 70%,transparent 70%),#012169; }.flag-en:after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 43%,#c8102e 43% 57%,transparent 57%),linear-gradient(transparent 38%,#c8102e 38% 62%,transparent 62%); }.flag-pt { background:linear-gradient(90deg,#006600 0 40%,#ff0000 40%); }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 26px; }

.hero { min-height: 560px; position: relative; overflow: hidden; background: #fff; }
.hero__slides { min-height: 560px; position: relative; }
.hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease; background-size: cover; background-position: center; }
.hero__slide.is-active { opacity: 1; visibility: visible; }
.hero__slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.89) 36%,rgba(255,255,255,.48) 57%,rgba(255,255,255,0) 76%); pointer-events:none; }
.hero__content { min-height: 560px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.hero__content { position:relative; z-index:1; }
.eyebrow { color: var(--red); letter-spacing: .18em; font-weight: 700; font-size: 13px; text-transform: uppercase; }
.hero h1 { font-family: Exo, Montserrat, sans-serif; font-size: clamp(42px, 6vw, 82px); line-height: .98; max-width: 610px; margin: 12px 0 20px; font-weight: 700; }
.hero h1 span { color: var(--red); }
.hero p { font-size: 19px; max-width: 580px; margin: 0 0 30px; color: #454545; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; background: var(--red); color: #fff; font-family: Exo, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.button:hover { background: #c70034; }
.hero__dots { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 3; display: flex; gap: 9px; }
.hero__dots button { width: 10px; height: 10px; padding: 0; border: 1px solid var(--red); background: transparent; border-radius: 50%; }
.hero__dots button.is-active { background: var(--red); }

.section { padding: 82px 0; }
.section--soft { background: var(--soft); }
.section__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section__head h2, .page-hero h1 { margin: 0; font-family: Exo, Montserrat, sans-serif; font-size: clamp(34px, 5vw, 58px); line-height: 1.05; }
.section__head h2::after, .page-hero h1::after { content: ""; display: block; width: 58px; height: 4px; margin-top: 16px; background: var(--red); }

.partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.partner-card { background: #fff; border: 1px solid var(--line); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.partner-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(0,0,0,.12); }
.partner-card__media { height: 180px; background: #f1f1f1; overflow: hidden; }
.partner-card__media img { width: 100%; height: 100%; object-fit: cover; }
.partner-card h3 { font-family: Exo, sans-serif; font-size: 16px; line-height: 1.35; margin: 0; padding: 18px; }

.stats { background: linear-gradient(120deg, #75001f, #df0b3b); color: #fff; }
.stats .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 52px 24px; text-align: center; border-right: 1px solid rgba(255,255,255,.22); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font-family: Exo, sans-serif; font-size: 48px; line-height: 1; }
.stat span { display: block; margin-top: 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }

.page-hero { padding: 74px 0; background: linear-gradient(120deg, #fafafa 0 60%, #870028 60% 100%); }
.content-shell { width: min(980px, calc(100% - 40px)); margin-inline: auto; padding: 70px 0; }
.content-shell h2 { margin: 38px 0 12px; font-family: Exo, sans-serif; font-size: 30px; }
.content-shell p { color: #4c4c4c; }
.contact-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 54px; }
.contact-form label { display: block; font-weight: 700; margin: 0 0 8px; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #d8d8d8; padding: 13px 14px; font: inherit; margin-bottom: 18px; }
.contact-form textarea { min-height: 150px; resize: vertical; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-notice { padding: 13px 16px; border-left: 4px solid; font-weight: 600; }
.form-notice--success { color: #14532d; background: #ecfdf3; border-color: #16a34a; }
.form-notice--error { color: #7f1d1d; background: #fff1f2; border-color: #e11d48; }
.contact-card { background: #171717; color: #fff; padding: 34px; align-self: start; }
.contact-card a { color: #fff; text-decoration: underline; }

.site-footer { background: #111; color: #e9e9e9; padding: 52px 0 26px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 45px; }
.site-footer h3 { color: #fff; font-family: Exo, sans-serif; margin-top: 0; }
.site-footer p, .site-footer li { color: #bdbdbd; font-size: 13px; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer a:hover { color: var(--red); }
.copyright { border-top: 1px solid #333; margin-top: 36px; padding-top: 22px; color: #8a8a8a; font-size: 12px; }
.footer-social{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;font-size:12px}.footer-social a{color:#f1f3f5}.footer-social a:hover,.footer-social a:focus-visible{color:var(--red)}

@media (max-width: 980px) {
  .topbar__locations { display: none; }
  .menu-toggle { display: block; }
  .mobile-language-switch { display:flex; align-items:center; margin-left:auto; }
  .mobile-language-switch .language-switch { margin:0; padding:0; border:0; }
  .mobile-language-switch .language-option { display:inline-flex; align-items:center; gap:4px; padding:7px 5px; font-size:11px; }
  .nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 18px 24px; background: #fff; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 15px 35px rgba(0,0,0,.12); }
  .nav.is-open { display: flex; }
  .nav a { padding: 13px 0; }
  .language-switch { width:100%; margin:8px 0 0; padding:12px 0; border-left:0; border-top:1px solid var(--line); }
  .nav .language-option { padding:10px 12px; }
  .partners { grid-template-columns: repeat(2, 1fr); }
  .stats .wrap { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .wrap { width: min(100% - 28px, 1180px); }
  .site-header .wrap { min-height: 72px; }
  .brand img { width: 150px; }
  .mobile-language-switch .language-option > span:last-child { display:none; }
  .mobile-language-switch .language-option { padding:7px 4px; }
  .hero, .hero__slides, .hero__content { min-height: 520px; }
  .hero__slide { background-position: 67% center; }
  .hero__slide::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.76); }
  .hero__content { position: relative; z-index: 2; }
  .hero h1 { font-size: 44px; max-width: 92%; }
  .hero p { font-size: 16px; max-width: 90%; }
  .partners, .stats .wrap, .footer-grid { grid-template-columns: 1fr; }
  .stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .page-hero { background: #fafafa; }
}

/* Motion layer: preserves the Joomla layout and only animates existing blocks. */
.hero__slide .hero__content > * { opacity: 0; transform: translateY(22px); }
.hero__slide.is-active .hero__content > * { animation: sclogHeroEnter .65s both; }
.hero__slide.is-active .hero__content h1 { animation-delay: .08s; }
.hero__slide.is-active .hero__content p { animation-delay: .16s; }
.hero__slide.is-active .hero__content .button { animation-delay: .24s; }
@keyframes sclogHeroEnter { to { opacity: 1; transform: none; } }
.motion-reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease var(--motion-delay,0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--motion-delay,0ms); }
.motion-reveal.is-visible { opacity: 1; transform: none; }
.partner-card { transition: transform .28s ease, box-shadow .28s ease; }
@media (prefers-reduced-motion: reduce) { .hero__slide .hero__content > *, .motion-reveal { animation: none !important; transition: none !important; opacity: 1; transform: none; } }

/* Readable hero copy and a persistent compact navigation bar on narrow screens. */
.hero__slide::after { background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.84) 47%,rgba(255,255,255,.56) 66%,rgba(255,255,255,.16) 87%,rgba(255,255,255,0) 100%); }
.hero h1 { max-width:540px; }
.hero p { max-width:510px; }
.hero__arrows{position:absolute;inset:50% 22px auto;z-index:4;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%)}
.hero__arrow{pointer-events:auto;width:44px;height:44px;border:1px solid rgba(21,21,21,.36);border-radius:50%;background:rgba(255,255,255,.82);color:var(--ink);font-size:30px;line-height:1;cursor:pointer;opacity:.35;transition:opacity .2s ease,transform .2s ease,background .2s ease}.hero:hover .hero__arrow,.hero__arrow:focus-visible{opacity:1}.hero__arrow:hover{background:#fff;transform:scale(1.08)}
@media(max-width:980px){.site-header .wrap{flex-wrap:wrap;gap:0}.menu-toggle{display:none}.mobile-language-switch{display:none!important}.nav{display:flex;position:relative;order:3;width:100%;padding:0 20px;flex-direction:row;align-items:center;gap:20px;overflow-x:auto;box-shadow:none;border-top:1px solid var(--line);white-space:nowrap}.nav a{padding:12px 0;font-size:11px}.nav a::after{bottom:5px}.nav .language-switch{width:auto;margin-left:auto;padding:0 0 0 13px;border-left:1px solid var(--line);border-top:0}.nav .language-option{padding:7px 5px}.hero__arrows{inset:50% 12px auto}.hero__arrow{width:38px;height:38px}}

/* 2026 visual system: preserves the legacy information architecture while giving each commercial section its own visual rhythm. */
:root{--red-glow:#ff3e63;--night:#080b10;--night-2:#111722;--steel:#cbd4dd;--elev:0 24px 56px rgba(9,14,24,.16)}
.site-header{box-shadow:0 1px 0 rgba(21,21,21,.03);transition:box-shadow .3s ease,background .3s ease}.site-header:hover{box-shadow:0 9px 30px rgba(10,14,22,.08)}
.topbar{background:linear-gradient(90deg,#10151d,#1b2028 58%,#171717)}
.topbar__call{letter-spacing:.04em}.topbar__call strong{color:#ff3158}
.hero{min-height:610px;background:#e8edf1}.hero__slides{min-height:610px}.hero__slide{background-position:center;background-color:#e5ebef;transform:scale(1.025);transition:opacity .75s ease,visibility .75s ease,transform 7s ease}.hero__slide.is-active{transform:scale(1)}
.hero__slide::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 31%,rgba(255,255,255,.72) 47%,rgba(255,255,255,.16) 70%,rgba(255,255,255,0) 86%)}
.hero__content{min-height:610px}.hero__content::before{content:"";position:absolute;width:460px;height:460px;left:-210px;top:50%;transform:translateY(-50%);border:1px solid rgba(239,23,69,.2);border-radius:50%;box-shadow:0 0 0 38px rgba(239,23,69,.045),0 0 85px rgba(239,23,69,.13);pointer-events:none}.hero h1{font-size:clamp(46px,6vw,86px);letter-spacing:-.055em;max-width:600px;text-wrap:balance}.hero h1 span{color:var(--red);text-shadow:0 7px 25px rgba(239,23,69,.13)}.hero p{font-size:18px;max-width:460px;color:#3f4750}.eyebrow{position:relative;font-size:11px;letter-spacing:.24em}.eyebrow::before{content:"";display:inline-block;width:34px;height:2px;background:var(--red);vertical-align:middle;margin:0 12px 3px 0}
.button{position:relative;overflow:hidden;border-radius:2px;box-shadow:0 11px 26px rgba(201,0,52,.2);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.28) 47%,transparent 70%);transform:translateX(-120%);transition:transform .55s ease}.button:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(201,0,52,.32)}.button:hover::after{transform:translateX(120%)}
.hero__dots{gap:11px;bottom:27px}.hero__dots button{width:28px;height:3px;border:0;border-radius:0;background:rgba(21,21,21,.2);transition:background .25s ease,width .25s ease}.hero__dots button.is-active{width:46px;background:var(--red)}.hero__arrow{border:1px solid rgba(21,21,21,.13);box-shadow:0 8px 24px rgba(0,0,0,.08);opacity:.75}
.capabilities{padding:0;background:radial-gradient(circle at 82% 0,#242d3a 0,transparent 38%),linear-gradient(122deg,#080b10,#151c26);color:#fff;overflow:hidden}.capabilities .wrap{display:grid;grid-template-columns:.9fr 1.6fr;gap:64px;min-height:345px;align-items:center}.capabilities__intro{padding:55px 0}.capabilities h2{font:700 clamp(30px,3.4vw,48px)/1.08 Exo,Montserrat,sans-serif;letter-spacing:-.035em;margin:0 0 16px;max-width:465px}.capabilities p{max-width:420px;margin:0 0 28px;color:#c4ced8}.button--light{background:#fff;color:#111;box-shadow:none}.button--light:hover{background:#fff;color:#111}.capabilities__rail{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.16)}.capability{position:relative;min-height:235px;padding:31px 24px;border-right:1px solid rgba(255,255,255,.16);background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,0));transition:background .35s ease,transform .35s ease}.capability:hover{background:linear-gradient(155deg,rgba(239,23,69,.24),rgba(255,255,255,.05));transform:translateY(-8px)}.capability svg{width:42px;height:42px;fill:none;stroke:#ff5374;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:38px}.capability span{display:block;font:700 18px/1.2 Exo,Montserrat,sans-serif}.capability small{display:block;color:#c1cad2;margin-top:8px;font-size:12px}.capability b{position:absolute;right:24px;bottom:26px;font-size:23px;color:#ff5374;transition:transform .25s ease}.capability:hover b{transform:translateX(6px)}
.section{padding:105px 0;background:linear-gradient(180deg,#fff 0,#f6f8fa 100%)}.section__head{margin-bottom:46px}.section__head h2{letter-spacing:-.045em}.section__head .button{min-height:46px}.partners{gap:1px;background:#dbe1e7;border:1px solid #dbe1e7;box-shadow:var(--elev)}.partner-card{border:0;background:#fff}.partner-card a{height:100%;display:flex;flex-direction:column}.partner-card__media{height:190px;background:#eef2f5}.partner-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 45%,rgba(239,23,69,.14));opacity:0;transition:opacity .3s ease}.partner-card__media{position:relative}.partner-card__media img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease}.partner-card:hover{transform:translateY(-9px);box-shadow:0 24px 40px rgba(8,15,25,.17);z-index:1}.partner-card:hover .partner-card__media img{transform:scale(1.07);filter:saturate(1.12)}.partner-card:hover .partner-card__media::after{opacity:1}.partner-card h3{padding:21px 20px 25px;font-size:15px;letter-spacing:-.01em;transition:color .25s ease}.partner-card:hover h3{color:var(--red)}
.stats{position:relative;overflow:hidden;background:radial-gradient(circle at 13% 120%,rgba(255,67,102,.6),transparent 31%),radial-gradient(circle at 82% -30%,rgba(238,23,69,.38),transparent 35%),linear-gradient(120deg,#090c12,#151a23)}.stats::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent);opacity:.45}.stats .wrap{position:relative}.stat{position:relative;padding:58px 22px;border-color:rgba(255,255,255,.17);transition:background .3s ease,transform .3s ease}.stat::before{content:"";position:absolute;top:28px;left:50%;width:26px;height:2px;transform:translateX(-50%);background:#ff4668;opacity:.8}.stat:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}.stat strong{font-size:57px;color:#fff;text-shadow:0 12px 25px rgba(0,0,0,.35)}.stat span{color:#d9e0e6;font-size:11px}
.site-footer{position:relative;background:linear-gradient(120deg,#090c10,#151b24);padding:68px 0 25px}.site-footer::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--red),transparent 45%)}.footer-grid{gap:50px}.site-footer h3{font-size:17px;letter-spacing:.02em}.site-footer p,.site-footer li{font-size:13px;line-height:1.75}.site-footer li{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08)}.site-footer li:last-child{border-bottom:0}.copyright{display:flex;align-items:center;min-height:46px}
@media(max-width:980px){.hero,.hero__slides,.hero__content{min-height:570px}.capabilities .wrap{grid-template-columns:1fr;gap:0}.capabilities__intro{padding:62px 0 32px}.capabilities__rail{border-top:1px solid rgba(255,255,255,.16);border-left:0}.capability{min-height:205px}.section{padding:75px 0}}
@media(max-width:650px){.hero,.hero__slides,.hero__content{min-height:540px}.hero__slide{background-position:64% center}.hero__slide::after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.87) 53%,rgba(255,255,255,.31) 100%)}.hero h1{font-size:45px}.hero__content::before{width:300px;height:300px;left:-170px}.capabilities__rail{grid-template-columns:1fr}.capability{min-height:170px;padding:25px 20px}.capability svg{margin-bottom:20px}.section__head{align-items:flex-start;flex-direction:column}.partners{grid-template-columns:1fr}.partner-card__media{height:205px}.stats .wrap{grid-template-columns:1fr}.stat{padding:45px 20px}.footer-grid{grid-template-columns:1fr}.copyright{display:block}}
