
:root{--bg:#05070a;--text:#f6f7f8;--muted:#9ba6b2;--line:rgba(255,255,255,.10);--red:#d71920;--red-2:#ff3440;--steel:#aeb7c2;--shadow:0 22px 60px rgba(0,0,0,.34);--radius:24px;--container:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:radial-gradient(circle at 8% 6%,rgba(215,25,32,.16),transparent 18%),linear-gradient(180deg,#040608 0%,#071016 48%,#080b0f 100%);line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 32px),var(--container));margin:0 auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(5,7,10,.84);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative}.brand{display:flex;align-items:center;gap:14px}.brand img{height:70px;width:auto}.brand-copy strong{display:block;font-size:1.08rem;letter-spacing:.18em}.brand-copy span{display:block;color:var(--steel);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:20px;color:#d8dee6;font-size:.94rem}.nav a{opacity:.88;transition:.2s}.nav a:hover{opacity:1;color:#fff}.btn{min-height:48px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:850;border:1px solid transparent;transition:.2s;box-shadow:var(--shadow);cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff}.btn-secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}.menu-toggle{display:none;width:48px;height:48px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font-size:1.2rem;cursor:pointer}.hero{padding:76px 0 42px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:30px;align-items:center}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.20em;font-size:.78rem;font-weight:900;color:#ff6870}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.2rem,7vw,6.8rem);line-height:.88;letter-spacing:-.07em;max-width:10ch;margin-bottom:18px}h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:14px}.hero-text,.section-lead,.site-footer p{color:var(--muted)}.hero-text{max-width:62ch;font-size:1.09rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 24px}.hero-points,.panel-grid,.diff-grid,.service-grid,.drone-grid,.sector-grid,.trust-list,.form-row{display:grid;gap:14px}.hero-points{grid-template-columns:repeat(3,1fr)}.panel-grid{grid-template-columns:repeat(2,1fr)}.diff-grid{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(3,1fr)}.drone-grid{grid-template-columns:repeat(4,1fr)}.sector-grid{grid-template-columns:repeat(5,1fr)}.form-row{grid-template-columns:repeat(2,1fr)}.hero-point,.diff-card,.service-card,.trust-item,.drone-card,.sector-card,.team-card,.contact-form,.contact-copy,.panel-card,.panel-mini{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-point,.diff-card,.service-card,.drone-card,.sector-card,.trust-item{padding:22px}.hero-point strong,.diff-card strong,.trust-item strong{display:block;margin-bottom:8px}.hero-point span,.diff-card p,.service-card p,.trust-item p,.drone-card p,.contact-details span,.team-card p,.panel-main p,.panel-mini p{color:var(--muted)}.hero-panel{display:grid;gap:16px}.panel-main{padding:28px}.panel-kicker{text-transform:uppercase;letter-spacing:.20em;font-size:.76rem;font-weight:850;color:var(--steel);margin-bottom:12px}.panel-mini{padding:20px}.panel-mini span{font-size:1.35rem;display:inline-block;margin-bottom:12px}.section{padding:38px 0 46px}.compact-diff{padding-top:12px}.service-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;margin-bottom:14px;background:linear-gradient(145deg,rgba(215,25,32,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);font-size:1.35rem}.service-card-featured{background:linear-gradient(180deg,rgba(215,25,32,.12),rgba(255,255,255,.018)),rgba(12,17,24,.94)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head>div{max-width:58%}.section-head .section-lead{max-width:38%}.sector-card{text-align:center;font-weight:800;display:flex;align-items:center;justify-content:center;min-height:108px}.trust-grid,.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px}.team-card{padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-copy,.contact-form{padding:28px}.contact-details{display:grid;gap:14px;margin-top:24px}.contact-details div{padding:16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--line)}.field-wrap{display:grid;gap:10px}.field-wrap label{font-weight:850}input,textarea,select{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;border-radius:18px;padding:15px 16px;font:inherit;font-size:16px;outline:none}input:focus,textarea:focus,select:focus{border-color:rgba(215,25,32,.48);box-shadow:0 0 0 4px rgba(215,25,32,.10)}input::placeholder,textarea::placeholder{color:#97a1ad}textarea{min-height:150px;resize:vertical}select option{color:#000;background:#fff}.form-btn{width:fit-content}.form-alert{padding:14px 16px;border-radius:16px;font-weight:800}.form-alert-success{background:rgba(0,200,120,.14);border:1px solid rgba(0,200,120,.25);color:#d9ffef}.form-alert-error{background:rgba(215,25,32,.14);border:1px solid rgba(215,25,32,.30);color:#ffe3e5}.whatsapp-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;z-index:120;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.38);border:2px solid rgba(255,255,255,.16);transition:.2s}.whatsapp-float:hover{transform:translateY(-3px) scale(1.03)}.site-footer{padding:26px 0 38px;border-top:1px solid rgba(255,255,255,.08)}.footer-wrap{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer strong{display:block;margin-bottom:8px;letter-spacing:.14em}@media(max-width:1100px){.hero-grid,.trust-grid,.contact-grid{grid-template-columns:1fr}.diff-grid,.service-grid,.drone-grid{grid-template-columns:repeat(2,1fr)}.sector-grid{grid-template-columns:repeat(3,1fr)}.section-head{flex-direction:column;align-items:flex-start}.section-head>div,.section-head .section-lead{max-width:100%}}@media(max-width:860px){.nav,.nav-cta{display:none}.menu-toggle{display:grid;place-items:center}.nav.is-open{display:flex;position:absolute;top:84px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;background:rgba(5,7,10,.98);border:1px solid rgba(255,255,255,.10);border-radius:22px;box-shadow:var(--shadow)}.nav.is-open a{width:100%;padding:10px 8px}.hero{padding-top:46px}.hero-points,.panel-grid,.form-row,.diff-grid,.service-grid,.drone-grid,.sector-grid{grid-template-columns:1fr}.team-card{flex-direction:column;align-items:flex-start}.team-card .btn{width:100%}}@media(max-width:560px){.container{width:min(calc(100% - 22px),var(--container))}.nav-wrap{min-height:76px}.brand img{height:58px}.brand-copy strong{font-size:.94rem}.brand-copy span{font-size:.64rem}.menu-toggle{width:44px;height:44px}.nav.is-open{top:76px}h1{font-size:clamp(2.65rem,14vw,4rem)}h2{font-size:clamp(1.75rem,8vw,2.35rem)}.hero-text{font-size:1rem}.hero{padding-top:34px}.panel-main,.contact-copy,.contact-form,.team-card{padding:22px}.whatsapp-float{right:14px;bottom:14px;width:54px;height:54px}}




/* RHINO v2.2 - FIX FUERTE CACHE / PORTAL / CONTACTO */
.nav{
  gap:14px;
}

.nav .nav-portal-btn{
  padding:12px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#d71920,#ff3440) !important;
  color:#fff !important;
  opacity:1 !important;
  font-weight:900 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 14px 34px rgba(215,25,32,.32) !important;
}

.nav .nav-portal-btn:hover{
  transform:translateY(-2px);
}

.contact-section{
  padding-top:72px !important;
  padding-bottom:78px !important;
}

.contact-grid{
  gap:46px !important;
  align-items:stretch !important;
}

.contact-copy,
.contact-form{
  padding:42px !important;
  border-radius:30px !important;
}

.contact-copy h2{
  margin-bottom:22px !important;
}

.contact-copy .section-lead{
  margin-bottom:34px !important;
  line-height:1.85 !important;
}

.contact-details{
  gap:22px !important;
  margin-top:36px !important;
}

.contact-details div{
  padding:22px !important;
  border-radius:22px !important;
}

.contact-details strong{
  margin-bottom:10px !important;
}

.contact-form{
  gap:24px !important;
}

.contact-form .form-row{
  gap:22px !important;
}

.field-wrap{
  gap:14px !important;
}

input,
textarea,
select{
  padding:18px 20px !important;
  border-radius:20px !important;
}

textarea{
  min-height:190px !important;
}

.form-btn{
  margin-top:10px !important;
  width:fit-content !important;
}

@media (max-width:860px){
  .nav.is-open .nav-portal-btn{
    display:flex !important;
    justify-content:center !important;
    width:100% !important;
    margin-top:8px !important;
  }

  .contact-section{
    padding-top:46px !important;
    padding-bottom:56px !important;
  }

  .contact-grid{
    gap:24px !important;
  }

  .contact-copy,
  .contact-form{
    padding:26px !important;
  }

  .contact-form{
    gap:18px !important;
  }

  .form-btn{
    width:100% !important;
  }
}

/* RHINO v2.3 - spacing fixes */
.contact-details strong{
  display:inline-block !important;
  margin-right:10px !important;
  margin-bottom:0 !important;
}

.contact-details span{
  display:inline !important;
  line-height:1.7 !important;
}

.contact-details div{
  display:block !important;
}

.contact-form{
  gap:30px !important;
}

.contact-form .form-row{
  gap:28px !important;
  margin-bottom:6px !important;
}

.field-wrap{
  gap:16px !important;
}

.field-wrap label{
  margin-bottom:4px !important;
}

input,
textarea,
select{
  margin-top:6px !important;
}

textarea{
  margin-top:10px !important;
}

.form-btn{
  margin-top:16px !important;
}

@media (max-width:860px){
  .contact-form{
    gap:22px !important;
  }
  .contact-form .form-row{
    gap:18px !important;
  }
}

.whatsapp-float img{
  width:28px;
  height:28px;
  display:block;
}


/* RHINO Jobs Page */
.job-hero{
  padding-top:72px;
}

.job-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:start;
}

.job-hero h1{
  max-width:12ch;
}

.job-section{
  padding-top:24px;
}

.job-form{
  max-width:1100px;
  margin:0 auto;
}

.job-block{
  display:grid;
  gap:20px;
  padding:26px;
  border-radius:26px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
}

.job-block h2{
  font-size:clamp(1.5rem, 3vw, 2.2rem);
  margin:0;
}

.job-note{
  color:var(--muted);
  margin:0;
}

.checkbox-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.checkbox-grid label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:#dfe5ea;
  line-height:1.35;
}

.checkbox-grid input{
  width:auto !important;
  margin:3px 0 0 !important;
  accent-color:var(--red);
}

input[type="file"]{
  padding:14px;
}

@media(max-width:900px){
  .job-hero-grid{
    grid-template-columns:1fr;
  }

  .checkbox-grid{
    grid-template-columns:1fr;
  }

  .job-block{
    padding:20px;
  }
}


/* RHINO v2.4 - Privacidad y aviso de cookies */
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:10px;
  color:var(--steel);
  font-size:.92rem;
}

.footer-links a{
  color:var(--steel);
  text-decoration:underline;
  text-underline-offset:4px;
}

.footer-links a:hover{
  color:#fff;
}

.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:220;
  width:min(1040px,calc(100% - 36px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:24px;
  background:rgba(5,7,10,.96);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 70px rgba(0,0,0,.52);
  backdrop-filter:blur(16px);
}

.cookie-banner[hidden]{
  display:none !important;
}

.cookie-banner-text strong{
  display:block;
  margin-bottom:6px;
  letter-spacing:.04em;
}

.cookie-banner-text p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.55;
}

.cookie-banner-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.cookie-banner .btn{
  min-height:44px;
  box-shadow:none;
}

.cookie-more{
  background:rgba(255,255,255,.05) !important;
}

.privacy-section{
  padding-top:72px;
}

.privacy-card{
  max-width:980px;
  padding:38px;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.privacy-card h1{
  max-width:100%;
  font-size:clamp(2.45rem,6vw,4.9rem);
  line-height:.95;
}

.privacy-card h2{
  font-size:clamp(1.35rem,3vw,2rem);
  margin-top:32px;
}

.privacy-card p{
  color:var(--muted);
}

.privacy-updated{
  margin-top:34px;
  font-weight:850;
  color:#fff !important;
}

@media(max-width:760px){
  .cookie-banner{
    flex-direction:column;
    align-items:flex-start;
    padding:16px;
    border-radius:20px;
  }

  .cookie-banner-actions{
    width:100%;
    flex-direction:column;
  }

  .cookie-banner-actions .btn{
    width:100%;
  }

  .privacy-card{
    padding:24px;
  }
}
