/*
Theme Name: Global Harvest
Theme URI: https://quqos.com
Author: Global Harvest
Author URI: https://quqos.com
Description: Tema corporativo responsive para Global Harvest: servicios tecnológicos, desarrollo web, aplicaciones, sistemas de gestión, TIC y portafolio.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: quqos-tech
Tags: business, portfolio, responsive, custom-logo, one-column, featured-images
*/

:root{
  --qt-primary:#16a34a;
  --qt-primary-dark:#166534;
  --qt-primary-light:#4ade80;
  --qt-dark:#052e16;
  --qt-blue:#0b3d24;
  --qt-muted:#5b6b60;
  --qt-light:#f2fdf6;
  --qt-white:#ffffff;
  --qt-border:rgba(5,46,22,.12);
  --qt-shadow:0 18px 45px rgba(2,23,8,.14);
  --qt-radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.qt-container{width:min(1160px,92%);margin:0 auto}
.qt-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:999px;padding:.9rem 1.3rem;font-weight:800;cursor:pointer;transition:.25s ease;line-height:1;background:var(--qt-primary);color:#fff;box-shadow:0 12px 26px rgba(22,163,74,.28)}
.qt-btn:hover{transform:translateY(-2px);background:var(--qt-primary-dark)}
.qt-btn.qt-secondary{background:#fff;color:var(--qt-dark);box-shadow:none;border:1px solid rgba(255,255,255,.35)}
.qt-btn.qt-outline{background:transparent;color:var(--qt-dark);border:1px solid var(--qt-border);box-shadow:none}
.qt-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--qt-border)}
.qt-nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.qt-brand{display:flex;align-items:center;gap:.75rem;font-weight:900;color:var(--qt-dark);letter-spacing:-.03em;font-size:1.18rem}
.qt-logo-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--qt-primary),#4ade80);color:#fff;font-weight:950;box-shadow:0 12px 25px rgba(22,163,74,.32)}
.qt-menu{display:flex;align-items:center;gap:1.1rem;margin:0;padding:0;list-style:none;font-weight:700;color:#334155;font-size:.95rem}
.qt-menu a:hover{color:var(--qt-primary)}
.qt-mobile-toggle{display:none;background:var(--qt-light);border:1px solid var(--qt-border);border-radius:12px;padding:.65rem;font-size:1.2rem}
.qt-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(22,163,74,.24),transparent 32%),linear-gradient(135deg,#052e16 0%,#0b3d24 58%,#0f4c2e 100%);color:#fff;padding:95px 0 74px}
.qt-hero:after{content:"";position:absolute;inset:auto -12% -32% auto;width:520px;height:520px;border-radius:50%;background:rgba(22,163,74,.16);filter:blur(10px);animation:qtBlobFloat 9s ease-in-out infinite}
.qt-hero:before{content:"";position:absolute;inset:-20% -10% auto auto;width:380px;height:380px;border-radius:50%;background:rgba(74,222,128,.14);filter:blur(30px);animation:qtBlobFloat 11s ease-in-out infinite reverse}
.qt-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:3rem;align-items:center}
.qt-kicker{display:inline-flex;gap:.45rem;align-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:.45rem .75rem;border-radius:999px;font-size:.86rem;font-weight:800;margin-bottom:1rem;animation:qtKickerPulse 2.6s ease-in-out infinite}
.qt-hero h1{font-size:clamp(2.35rem,6vw,5rem);line-height:.98;margin:.2rem 0 1rem;letter-spacing:-.07em;opacity:0;animation:qtRiseIn .8s ease forwards .05s}
.qt-hero p{font-size:1.1rem;color:#dcfce7;max-width:690px;margin:0 0 1.5rem;opacity:0;animation:qtRiseIn .8s ease forwards .22s}
.qt-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem;opacity:0;animation:qtRiseIn .8s ease forwards .38s}
.qt-hero-card{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:32px;padding:1.4rem;box-shadow:var(--qt-shadow);backdrop-filter:blur(14px);opacity:0;animation:qtRiseIn .9s ease forwards .3s}
.qt-float-badge{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.35rem;background:#fff;color:var(--qt-dark);font-size:.78rem;font-weight:800;padding:.5rem .8rem;border-radius:999px;box-shadow:0 14px 30px rgba(2,23,8,.28);white-space:nowrap}
.qt-float-badge-1{top:-16px;left:24px;animation:qtBadgeFloat 4.5s ease-in-out infinite}
.qt-float-badge-2{bottom:-14px;right:28px;animation:qtBadgeFloat 5.2s ease-in-out infinite .6s}
.qt-terminal{background:#020617;border-radius:22px;padding:1.1rem;border:1px solid rgba(255,255,255,.12);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#86efac;font-size:.87rem;min-height:300px}
.qt-terminal b{color:#4ade80}.qt-dots{display:flex;gap:.35rem;margin-bottom:1rem}.qt-dots span{width:11px;height:11px;border-radius:99px;background:#475569}.qt-dots span:first-child{background:#ef4444}.qt-dots span:nth-child(2){background:#f59e0b}.qt-dots span:nth-child(3){background:#22c55e}
.qt-typing p{opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}
.qt-typing p.qt-line-in{opacity:1;transform:translateY(0)}
.qt-cursor-line{height:1.1em}
.qt-cursor-line:after{content:"";display:inline-block;width:8px;height:1em;background:#4ade80;vertical-align:text-bottom;animation:qtCursorBlink 1s steps(1) infinite}
@keyframes qtRiseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes qtBlobFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-18px,22px) scale(1.06)}}
@keyframes qtKickerPulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.35)}50%{box-shadow:0 0 0 6px rgba(74,222,128,0)}}
@keyframes qtBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes qtCursorBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.qt-hero:after,.qt-hero:before,.qt-kicker,.qt-hero h1,.qt-hero p,.qt-actions,.qt-hero-card,.qt-float-badge-1,.qt-float-badge-2,.qt-cursor-line:after{animation:none;opacity:1;transform:none}}
.qt-section{padding:78px 0}.qt-section.alt{background:var(--qt-light)}
.qt-section-head{text-align:center;max-width:780px;margin:0 auto 2.5rem}.qt-section-head h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.05;margin:0 0 .8rem;color:var(--qt-dark);letter-spacing:-.055em}.qt-section-head p{margin:0;color:var(--qt-muted);font-size:1.04rem}
.qt-grid{display:grid;gap:1.15rem}.qt-grid-3{grid-template-columns:repeat(3,1fr)}.qt-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.qt-grid-4{grid-template-columns:repeat(3,1fr)}}
.qt-card{background:#fff;border:1px solid var(--qt-border);border-radius:var(--qt-radius);padding:1.35rem;box-shadow:0 12px 28px rgba(15,23,42,.06);transition:transform .5s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,opacity .5s ease;opacity:0;transform:translateY(24px)}.qt-card:hover{transform:translateY(-6px);box-shadow:var(--qt-shadow)}.qt-card.qt-reveal-in{opacity:1;transform:translateY(0)}.qt-card.qt-reveal-in:hover{transform:translateY(-6px)}
.qt-icon{transition:transform .35s ease}.qt-card:hover .qt-icon{transform:scale(1.12) rotate(-4deg)}
.qt-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(22,163,74,.12);color:var(--qt-primary);font-size:1.45rem;margin-bottom:.85rem}.qt-card h3{margin:.2rem 0 .45rem;color:var(--qt-dark);font-size:1.18rem}.qt-card p{margin:0;color:var(--qt-muted)}
.qt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.qt-stat{background:linear-gradient(180deg,#fff,#f0fdf4);border:1px solid rgba(22,163,74,.18);border-radius:24px;padding:1.5rem;text-align:center;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.3,1)}.qt-stat.qt-reveal-in{opacity:1;transform:translateY(0)}.qt-stat strong{display:block;color:var(--qt-primary);font-size:2.5rem;line-height:1;font-weight:950}.qt-stat span{display:block;color:var(--qt-dark);font-weight:850;margin-top:.5rem}.qt-stat small{display:block;color:var(--qt-muted);margin-top:.35rem}
.qt-portfolio-card{overflow:hidden;padding:0}.qt-project-top{min-height:128px;background:linear-gradient(135deg,var(--qt-dark),var(--qt-blue));display:flex;align-items:flex-end;padding:1.2rem;color:#fff;position:relative}.qt-project-top:before{content:"";position:absolute;right:-32px;top:-42px;width:145px;height:145px;border-radius:50%;background:rgba(22,163,74,.42)}.qt-project-top h3{position:relative;margin:0;color:#fff}.qt-project-body{padding:1.2rem}.qt-tag{display:inline-flex;background:#f0fdf4;color:#166534;border:1px solid rgba(22,163,74,.22);border-radius:999px;padding:.25rem .58rem;font-size:.78rem;font-weight:800;margin-bottom:.7rem}.qt-project-body p{margin:.25rem 0 1rem;color:var(--qt-muted)}.qt-link{font-weight:900;color:var(--qt-primary)}
.qt-portfolio-app{border:1px solid rgba(22,163,74,.45);box-shadow:0 14px 32px rgba(22,163,74,.16)}
.qt-portfolio-app .qt-project-top{background:linear-gradient(135deg,#052e16,#0f4c2e);align-items:flex-start;flex-direction:column;gap:.5rem;padding:1.2rem 1.2rem 1.4rem}
.qt-app-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#dcfce7;font-size:.74rem;font-weight:800;padding:.3rem .6rem;border-radius:999px}
.qt-link-app{display:inline-flex;align-items:center;gap:.5rem;background:var(--qt-light);border:1px solid rgba(22,163,74,.3);border-radius:999px;padding:.55rem .95rem;transition:.2s ease}
.qt-link-app:hover{background:#dcfce7;transform:translateY(-2px)}
.qt-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.2rem;align-items:start}.qt-contact-box{background:var(--qt-dark);color:#fff;border-radius:var(--qt-radius);padding:1.6rem}.qt-contact-box p{color:#cbd5e1}.qt-contact-box a{color:#fff;font-weight:800}.qt-form{background:#fff;border:1px solid var(--qt-border);border-radius:var(--qt-radius);padding:1.4rem;box-shadow:var(--qt-shadow)}.qt-form label{display:block;font-weight:800;color:var(--qt-dark);margin:.7rem 0 .3rem}.qt-form input,.qt-form select,.qt-form textarea{width:100%;border:1px solid var(--qt-border);border-radius:14px;padding:.88rem 1rem;font:inherit}.qt-form textarea{min-height:120px;resize:vertical}
.qt-footer{background:#050b16;color:#cbd5e1;padding:42px 0}.qt-footer-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.qt-footer b{color:#fff}.qt-footer a{color:#fff;font-weight:800}
@media(max-width:900px){.qt-mobile-toggle{display:inline-flex}.qt-menu{position:absolute;top:78px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--qt-border);box-shadow:var(--qt-shadow);border-radius:18px;padding:1rem}.qt-menu.is-open{display:flex}.qt-menu li a{display:block;padding:.65rem}.qt-hero-grid,.qt-contact{grid-template-columns:1fr}.qt-grid-3,.qt-grid-4,.qt-stats{grid-template-columns:repeat(2,1fr)}.qt-hero{padding:70px 0 54px}}
@media(max-width:560px){.qt-nav{height:68px}.qt-menu{top:68px}.qt-hero h1{font-size:2.35rem}.qt-grid-3,.qt-grid-4,.qt-stats{grid-template-columns:1fr}.qt-section{padding:56px 0}.qt-actions .qt-btn{width:100%}.qt-brand{font-size:1rem}.qt-logo-mark{width:40px;height:40px}.qt-terminal{min-height:auto;font-size:.78rem}.qt-stat strong{font-size:2.15rem}}
