/* Dartian · shared styles (ported from the design-canvas boards' <helmet> blocks) */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#061226}
a{color:#FFFFFF}
a:hover{color:#2FD0A4}
body.accent-corp a:hover{color:#00AEEF}
button{font-family:inherit;cursor:pointer}
button:disabled{cursor:not-allowed}
input,textarea{font-family:inherit}
input:focus,textarea:focus{outline:2px solid #2FD0A4;outline-offset:2px}
a:focus-visible,button:focus-visible{outline:2px solid #2FD0A4;outline-offset:3px}
img,video{max-width:100%}

/* Background motion (one per page, as in the boards) */
@keyframes dtzoom{from{transform:scale(1.0)}to{transform:scale(1.12)}}
.dt-zoom{animation:dtzoom 24s ease-in-out infinite alternate}
@keyframes gzoom{from{transform:scale(1)}to{transform:scale(1.14)}}
.g-zoom{animation:gzoom 26s ease-in-out infinite alternate}
@keyframes cpan{from{transform:scale(1.15) translateX(-3%)}to{transform:scale(1.15) translateX(3%)}}
.c-pan{animation:cpan 30s ease-in-out infinite alternate}
@keyframes tdrift{from{transform:scale(1.2) rotate(0deg)}to{transform:scale(1.3) rotate(4deg)}}
.t-drift{animation:tdrift 40s ease-in-out infinite alternate}
@keyframes edrift{from{transform:scale(1.25) rotate(0deg)}to{transform:scale(1.35) rotate(-4deg)}}
.e-drift{animation:edrift 40s ease-in-out infinite alternate}
@keyframes kzoom{from{transform:scale(1)}to{transform:scale(1.14)}}
.k-zoom{animation:kzoom 26s ease-in-out infinite alternate}
@media (prefers-reduced-motion: reduce){
  .dt-zoom,.g-zoom,.c-pan,.t-drift,.e-drift,.k-zoom{animation:none}
}

/* Contact form: sector pills and submit (state set by assets/js/site.js) */
.pill{padding:11px 18px;border:0;border-radius:999px;font-size:14px;font-weight:600;transition:background .3s,color .3s;background:transparent;color:#C9D6E6}
.pill[aria-pressed="true"]{color:#061226}
.pill-gov[aria-pressed="true"]{background:#2FD0A4}
.pill-corp[aria-pressed="true"]{background:#00AEEF}
.send-btn{margin-top:6px;padding:18px;border:0;border-radius:999px;background:#2FD0A4;color:#061226;font-size:16px;font-weight:600;transition:background .3s,opacity .3s}
.contact-form[data-mode="corp"] .send-btn{background:#00AEEF}
.send-btn:disabled{opacity:.55}
.form-note{margin:0;font-size:13px;line-height:1.5;color:#8FA3BA;text-align:center}
[hidden]{display:none !important}

/* Phone-width adjustments (inline board styles need !important to override) */
@media (max-width: 640px){
  .site-header-inner{padding:16px 20px !important}
  .site-header-inner{gap:10px !important;padding:12px 20px !important}
  /* One scrollable row so the fixed bar stays short; the inert language switch is dropped. */
  .site-nav{flex-wrap:nowrap !important;gap:14px !important;font-size:14px !important;width:100%;overflow-x:auto;scrollbar-width:none}
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav > span{display:none}
  .site-nav a{white-space:nowrap}
  .site-nav a[href$="contacto/"]{padding:8px 14px !important;margin-left:auto}
  .seg{flex-wrap:wrap;border-radius:22px !important}
  .form-card{padding:24px !important}
  .kv-row{flex-wrap:wrap}
}

/* Sticky top bar: fixed over the hero, gains a backdrop once the page scrolls
   (.is-scrolled and --header-h are set by assets/js/site.js). */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-header.is-scrolled{background:rgba(6,18,38,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 #12264A}
:has(> .site-header){padding-top:var(--header-h,89px)}
