/* ============================================================
   PIRODRONE — "Técnica-precisa" (instrumento / ingeniería)
   HTML/CSS/JS plano. Un único archivo: tokens + base + componentes.
   ============================================================ */

:root {
  /* Grafito de instrumento (no negro puro) */
  --ink-0:#090c0d; --bg:#0e1214; --bg-elev:#141a1d; --surface:#12181b; --surface-2:#182025;
  --gray-700:#232b30; --border:#232b30; --border-strong:#39444a;

  /* Óxido/rust: acento de ingeniería (rojo calmado, no neón) */
  --accent:#d9542f; --accent-hover:#ea6a45; --accent-quiet:rgba(217,84,47,.12);
  --on-accent:#140a06;

  /* Texto (contraste AA sobre grafito) */
  --white:#f2f5f5; --text:#eceff0; --text-muted:#aeb8bd; --text-faint:#7f8a90;
  --gray-200:#c7cfd3;

  --line-strong:rgba(210,225,230,.16);
  --scrim-80:rgba(9,12,13,.82); --scrim-60:rgba(9,12,13,.62);
  --ok:#4fbf8f;

  /* Tipografía: Saira (superfamilia técnica) + mono para datos */
  --font-display:'Saira Semi Condensed','Saira',system-ui,sans-serif;
  --font-sans:'Saira',system-ui,-apple-system,sans-serif;
  --font-mono:'Spline Sans Mono',ui-monospace,monospace;

  --fs-display:clamp(2.6rem,1.2rem + 4.6vw,4.5rem);
  --fs-h1:clamp(2.1rem,1.3rem + 3vw,3.4rem);
  --fs-h2:clamp(1.6rem,1.1rem + 2.2vw,2.5rem);
  --fs-h3:clamp(1.2rem,1rem + 1vw,1.55rem);
  --fs-lead:clamp(1.05rem,.98rem + .5vw,1.28rem);
  --fs-sm:.9rem; --fs-xs:.78rem; --fs-eyebrow:.74rem;

  --bw:1px; --bw-strong:2px; --radius:3px; --radius-lg:6px;
  --gutter:clamp(1rem,.4rem + 2.5vw,2.5rem);
  --container:1220px;
  --section-y:clamp(3.5rem,2rem + 7vw,7rem);

  --sp2:.5rem; --sp3:.75rem; --sp4:1rem; --sp5:1.5rem; --sp6:2rem; --sp7:3rem; --sp8:4rem; --sp9:6rem;
  --dur:.2s; --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.06;letter-spacing:-.015em;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}
::selection{background:var(--accent);color:#fff}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:760px}
.section{padding-block:var(--section-y)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Eyebrow: etiqueta corta y sobria (no gritona) */
.eyebrow{display:inline-flex;align-items:center;gap:var(--sp2);font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--accent)}
.glow{color:var(--accent)}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--bw) solid var(--border)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:var(--sp5)}
.logo{display:inline-flex;align-items:center;gap:var(--sp2)}
.logo__mark{width:1.6em;height:1.6em;color:var(--text);flex:none}
.logo__word{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:1.1rem;color:var(--text)}
.logo__word span{color:var(--accent)}
.nav{margin-inline:auto}
.nav__list{display:flex;gap:var(--sp6)}
.nav__link{font-size:var(--fs-sm);color:var(--text-muted);transition:color var(--dur) var(--ease)}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--text)}
.header__actions{display:flex;align-items:center;gap:var(--sp4)}
.emergency{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gray-200)}
.emergency:hover{color:var(--accent)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.lang{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;color:var(--text-muted);border:var(--bw) solid var(--border);padding:5px 8px;border-radius:var(--radius)}
.lang:hover{color:var(--text);border-color:var(--border-strong)}
.burger{display:none;background:none;border:none;color:var(--text);cursor:pointer}
.mobile{display:none;border-top:var(--bw) solid var(--border);background:var(--bg-elev);padding:var(--sp5) var(--gutter) var(--sp6)}
.mobile a{display:block;padding:var(--sp3) 0;font-family:var(--font-display);font-size:var(--fs-h3);border-bottom:var(--bw) solid var(--border)}
.site-header.is-open .mobile{display:block}
@media (max-width:960px){.nav,.emergency span,.header__cta,.header__actions .lang{display:none}.burger{display:inline-flex}}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:var(--sp2);font-family:var(--font-sans);font-weight:600;letter-spacing:.01em;line-height:1;border:var(--bw) solid transparent;border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.btn:active{transform:translateY(1px)}
.btn--md{padding:.6rem 1rem;font-size:var(--fs-sm)}
.btn--lg{padding:.85rem 1.4rem;font-size:1rem}
.btn__bk{display:none}
.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn--secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}
.btn--secondary:hover{border-color:var(--accent);color:var(--accent)}
.btn--ghost{background:transparent;color:var(--accent);border-color:transparent;padding-inline:0}
.btn--ghost:hover{color:var(--accent-hover)}
.btn__arrow{transition:transform var(--dur) var(--ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}

/* ---- Hero ---- */
.hero{border-bottom:var(--bw) solid var(--border)}
.hero__stage{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(520px,78vh,820px);display:flex;flex-direction:column;justify-content:flex-end}
.hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.5;filter:grayscale(.85) contrast(1.04) brightness(.7)}
.hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 0%,var(--scrim-80) 44%,transparent 96%),linear-gradient(0deg,var(--bg) 4%,transparent 48%)}
.hero__bp{position:absolute;z-index:2;pointer-events:none;top:46%;right:-3%;transform:translateY(-50%);width:min(520px,44vw);aspect-ratio:1;opacity:.5;-webkit-mask-image:radial-gradient(circle at 55% 50%,#000 60%,transparent 82%);mask-image:radial-gradient(circle at 55% 50%,#000 60%,transparent 82%)}
.hero__inner{position:relative;z-index:3;width:100%;padding-block:clamp(2.5rem,1.5rem + 4vw,4rem)}
.hero__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--sp4);flex-wrap:wrap}
.hero__coord{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-faint);letter-spacing:.06em}
.hero__title{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.02em;margin-block:clamp(1.2rem,1rem + 2vw,2rem) 0;max-width:20ch}
.hero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp6);flex-wrap:wrap;margin-top:clamp(1.5rem,1rem + 2vw,2.2rem)}
.hero__lead{font-size:var(--fs-lead);color:var(--text-muted);max-width:56ch;line-height:1.6}
.hero__cta{display:flex;gap:var(--sp3);flex-wrap:wrap}
.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--bw) solid var(--border)}
.stat{padding:var(--sp5) var(--sp4);border-left:var(--bw) solid var(--border)}
.stat:first-child{border-left:none}
.stat__id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);display:block;margin-bottom:var(--sp3)}
.stat__num{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.7rem,1rem + 2.4vw,2.7rem);letter-spacing:-.02em;line-height:1;color:var(--text)}
.stat__label{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--sp2)}
@media (max-width:640px){.hero__stats{grid-template-columns:1fr 1fr}.stat:nth-child(odd){border-left:none}}

/* Blueprint SVG (motivo de instrumento) */
.bp{width:100%;height:100%;overflow:visible}
.bp__faint{stroke:var(--line-strong);stroke-width:.8;fill:none}
.bp__line{stroke:rgba(210,225,230,.4);stroke-width:1;fill:none}
.bp__accent{stroke:var(--accent);stroke-width:1.2;fill:none}
.bp__dot{fill:var(--accent)}
.bp__txt{fill:rgba(210,225,230,.65);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-anchor:middle}

/* ---- Strip ---- */
.strip{border-bottom:var(--bw) solid var(--border);background:var(--bg-elev)}
.strip__inner{display:flex;align-items:center;gap:var(--sp5);flex-wrap:wrap;padding-block:var(--sp4)}
.strip__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}
.strip__items{display:flex;flex-wrap:wrap;gap:var(--sp5)}
.strip__items li{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted)}
.strip__cert{color:var(--gray-200)}

/* ---- Section headers ---- */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp5);margin-bottom:var(--sp7)}
.sec-head__title{font-size:var(--fs-h2);margin-top:var(--sp3);max-width:22ch}

/* ---- Service grid / cards ---- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp4)}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid-3{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease);min-height:100%}
.card:hover{border-color:var(--border-strong);transform:translateY(-3px)}
.card__media{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:var(--bw) solid var(--border)}
.card__img{width:100%;height:100%;object-fit:cover;opacity:.88;filter:grayscale(.7) contrast(1.03) brightness(.82);transition:filter .5s var(--ease),opacity .5s var(--ease),transform .5s var(--ease)}
.card:hover .card__img{opacity:1;filter:grayscale(0) brightness(.95);transform:scale(1.04)}
.card__num{position:absolute;left:var(--sp4);top:var(--sp3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gray-200);letter-spacing:.05em;background:var(--scrim-60);padding:2px 7px;border-radius:var(--radius)}
.card__icon{position:absolute;right:var(--sp4);top:var(--sp3);color:var(--accent)}
.card__body{display:flex;flex-direction:column;gap:var(--sp3);padding:var(--sp5);flex:1}
.card__title{font-size:var(--fs-h3)}
.card__tag{color:var(--text-muted);font-size:var(--fs-sm);flex:1}
.card__cta{display:inline-flex;align-items:center;gap:var(--sp2);font-size:var(--fs-sm);font-weight:600;color:var(--accent)}
.card:hover .card__cta{color:var(--accent-hover)}

/* ---- Value / process ---- */
.value__inner{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--sp8);align-items:start}
.value__title{font-size:var(--fs-h2);margin-top:var(--sp3)}
.value__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp5)}
.value__item{padding:var(--sp5);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev)}
.value__icon{color:var(--accent);margin-bottom:var(--sp3)}
.value__h{font-size:var(--fs-h3);margin-bottom:var(--sp2)}
.value__b{color:var(--text-muted);font-size:var(--fs-sm)}
@media (max-width:820px){.value__inner{grid-template-columns:1fr;gap:var(--sp6)}}
@media (max-width:480px){.value__grid{grid-template-columns:1fr}}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp5)}
.step{padding-top:var(--sp5);border-top:var(--bw-strong) solid var(--border)}
.step__n{font-family:var(--font-mono);color:var(--accent);font-size:var(--fs-sm)}
.step__h{font-size:var(--fs-h3);margin-block:var(--sp3) var(--sp2)}
.step__b{color:var(--text-muted);font-size:var(--fs-sm)}
@media (max-width:760px){.process{grid-template-columns:1fr 1fr;gap:var(--sp6)}}
@media (max-width:440px){.process{grid-template-columns:1fr}}

/* ---- Proof (bloque claro de contraste) ---- */
.proof{background:#eef1f0;color:#12181b}
.proof .sec-head__title,.proof h2{color:#12181b}
.proof .eyebrow{color:#6a7378}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp5)}
.quote{padding:var(--sp6);border:var(--bw) solid #cfd6d4;border-radius:var(--radius-lg);background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp5)}
.quote blockquote{font-family:var(--font-display);font-size:var(--fs-h3);line-height:1.35}
.quote__author{display:block;font-weight:600}
.quote__role{display:block;color:#5a6367;font-size:var(--fs-sm);font-family:var(--font-mono)}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

/* ---- CTA band ---- */
.cta-band{padding-block:var(--sp6) var(--sp9)}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp6);flex-wrap:wrap;padding:clamp(2rem,1rem + 5vw,3.5rem);border:var(--bw) solid var(--border-strong);border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 0% 0%,var(--accent-quiet),transparent 55%),var(--bg-elev)}
.cta-band__title{font-size:var(--fs-h2)}
.cta-band__lead{color:var(--text-muted);margin-top:var(--sp3);max-width:46ch}

/* ---- Inner hero ---- */
.inner-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(4rem,2rem + 7vw,7rem) var(--sp7);border-bottom:var(--bw) solid var(--border)}
.inner-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.42;filter:grayscale(.8) contrast(1.05) brightness(.68)}
.inner-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 0%,var(--scrim-80) 50%,transparent 100%),linear-gradient(0deg,var(--bg) 4%,transparent 52%)}
.inner-hero__bp{position:absolute;z-index:2;pointer-events:none;top:50%;right:-4%;transform:translateY(-50%);width:min(420px,40vw);aspect-ratio:1;opacity:.42;-webkit-mask-image:radial-gradient(circle at 55% 50%,#000 58%,transparent 82%);mask-image:radial-gradient(circle at 55% 50%,#000 58%,transparent 82%)}
.inner-hero__inner{position:relative;z-index:3;max-width:820px}
.inner-hero__title{font-size:var(--fs-h1);margin-block:var(--sp4);max-width:22ch}
.inner-hero__lead{font-size:var(--fs-lead);color:var(--text-muted);max-width:62ch}

/* ---- Breadcrumbs ---- */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp2);font-family:var(--font-mono);font-size:var(--fs-xs);margin-bottom:var(--sp5)}
.crumbs li{display:inline-flex;align-items:center;gap:var(--sp2);color:var(--text-faint)}
.crumbs a{color:var(--text-muted)}
.crumbs a:hover{color:var(--accent)}
.crumbs [aria-current="page"]{color:var(--text)}

/* ---- Detail layout ---- */
.detail{display:grid;grid-template-columns:1.7fr 1fr;gap:var(--sp8);align-items:start}
.block-title{font-size:var(--fs-h2);margin-bottom:var(--sp5)}
.caps{display:grid;gap:var(--sp3)}
.cap{display:flex;gap:var(--sp3);align-items:flex-start;font-size:var(--fs-lead)}
.cap__check{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-quiet);color:var(--accent);border-radius:var(--radius);margin-top:2px}
.panel{padding:var(--sp5);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev)}
.panel--accent{border-color:var(--border-strong)}
.panel__eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}
.tags{display:flex;flex-wrap:wrap;gap:var(--sp2);margin-top:var(--sp4)}
.tag{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--gray-200);border:var(--bw) solid var(--border);border-radius:var(--radius);padding:5px 12px}
.aside-stack{display:grid;gap:var(--sp4);position:sticky;top:84px}
@media (max-width:820px){.detail{grid-template-columns:1fr;gap:var(--sp6)}.aside-stack{position:static}}

/* ---- Projects ---- */
.proj{display:flex;flex-direction:column;border:var(--bw) solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.proj:hover{border-color:var(--border-strong);transform:translateY(-3px)}
.proj__media{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:var(--bw) solid var(--border)}
.proj__img{width:100%;height:100%;object-fit:cover;opacity:.88;filter:grayscale(.7) contrast(1.03) brightness(.8);transition:filter .5s var(--ease),transform .5s var(--ease)}
.proj:hover .proj__img{filter:grayscale(0) brightness(.95);transform:scale(1.04)}
.proj__year{position:absolute;right:var(--sp4);top:var(--sp3);font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--scrim-60);padding:2px 7px;border-radius:var(--radius)}
.proj__body{display:flex;flex-direction:column;gap:var(--sp3);padding:var(--sp5);flex:1}
.proj__client{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--accent)}
.proj__title{font-size:var(--fs-h3)}
.proj__summary{color:var(--text-muted);font-size:var(--fs-sm);flex:1}
.proj__metric{display:inline-flex;align-items:center;gap:var(--sp2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);border-top:var(--bw) solid var(--border);padding-top:var(--sp3)}

/* ---- Contact ---- */
.contact{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--sp8);align-items:start}
.form{display:grid;gap:var(--sp5)}
.field{display:grid;gap:var(--sp2)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp4)}
.form label{font-size:var(--fs-sm);color:var(--text-muted)}
.form input,.form select,.form textarea{background:var(--ink-0);border:var(--bw) solid var(--border);border-radius:var(--radius);padding:.75rem .9rem;color:var(--text);font-size:1rem;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.form input::placeholder,.form textarea::placeholder{color:var(--text-faint)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-quiet)}
.form [aria-invalid="true"]{border-color:var(--accent)}
.form textarea{resize:vertical}
.consent{display:flex;gap:var(--sp3);align-items:flex-start;font-size:var(--fs-sm);color:var(--text-muted)}
.consent input{width:auto;margin-top:3px;accent-color:var(--accent)}
.consent a{color:var(--accent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp2);background:var(--accent);color:#fff;font-family:var(--font-sans);font-weight:600;border:var(--bw) solid var(--accent);border-radius:var(--radius);padding:.85rem 1.5rem;cursor:pointer;justify-self:start;transition:background var(--dur) var(--ease)}
.submit:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.submit:disabled{opacity:.6;cursor:progress}
.note{font-size:var(--fs-sm);padding:var(--sp3) var(--sp4);border:var(--bw) solid transparent;border-radius:var(--radius)}
.note.ok{background:rgba(79,191,143,.12);border-color:var(--ok);color:var(--ok)}
.note.err{background:var(--accent-quiet);border-color:var(--accent);color:var(--accent-hover)}
.contact__aside{display:grid;gap:var(--sp4)}
.contact__line{display:flex;align-items:center;gap:var(--sp3);padding:var(--sp2) 0;font-size:var(--fs-sm)}
.contact__line:hover{color:var(--accent)}
.em__phone{font-family:var(--font-mono);font-size:var(--fs-h3);color:var(--text)}
.em__phone:hover{color:var(--accent)}
@media (max-width:820px){.contact{grid-template-columns:1fr;gap:var(--sp6)}}
@media (max-width:480px){.field-row{grid-template-columns:1fr}}

/* ---- Footer ---- */
.footer{border-top:var(--bw) solid var(--border);background:var(--ink-0);padding-block:var(--sp8) var(--sp6)}
.footer__top{display:grid;grid-template-columns:1.2fr 2fr;gap:var(--sp8);padding-bottom:var(--sp7);border-bottom:var(--bw) solid var(--border)}
.footer__tagline{margin-top:var(--sp4);color:var(--text-muted);max-width:34ch;font-size:var(--fs-sm)}
.footer__cert{display:inline-flex;align-items:center;gap:var(--sp2);margin-top:var(--sp5);color:var(--gray-200);font-size:var(--fs-xs);font-family:var(--font-mono)}
.footer__social{display:flex;gap:var(--sp3);margin-top:var(--sp5)}
.footer__social a{color:var(--text-muted)}
.footer__social a:hover{color:var(--accent)}
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp5)}
.footer__h{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:var(--sp4);font-weight:500}
.footer__col ul{display:flex;flex-direction:column;gap:var(--sp3)}
.footer__col a{color:var(--text-muted);font-size:var(--fs-sm)}
.footer__col a:hover{color:var(--text)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--sp5);color:var(--text-faint);font-size:var(--fs-xs)}
.footer__bottom a:hover{color:var(--text)}
@media (max-width:860px){.footer__top{grid-template-columns:1fr;gap:var(--sp6)}.footer__cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__cols{grid-template-columns:1fr}.footer__bottom{flex-direction:column;gap:var(--sp3);align-items:flex-start}}

/* ---- Services list (servicios.html) ---- */
.svc-list{display:grid;gap:var(--sp7)}
.svc-block{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--sp6);align-items:center;border-top:var(--bw) solid var(--border);padding-top:var(--sp7);scroll-margin-top:84px}
.svc-block:nth-child(even) .svc-block__media{order:2}
.svc-block__media{aspect-ratio:16/11;overflow:hidden;border:var(--bw) solid var(--border);border-radius:var(--radius-lg)}
.svc-block__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.7) contrast(1.03) brightness(.85);transition:filter .5s var(--ease),transform .5s var(--ease)}
.svc-block:hover .svc-block__media img{filter:grayscale(0) brightness(.98);transform:scale(1.03)}
.svc-block__num{font-family:var(--font-mono);color:var(--accent);font-size:var(--fs-sm)}
.svc-block h2{font-size:var(--fs-h2);margin-block:var(--sp2) var(--sp3)}
.svc-block__lead{color:var(--text-muted);margin-bottom:var(--sp4)}
.ticks{display:grid;gap:var(--sp2);margin-bottom:var(--sp4)}
.ticks li{position:relative;padding-left:1.4rem;font-size:var(--fs-sm);color:var(--text-muted)}
.ticks li::before{content:"\203A";position:absolute;left:0;color:var(--accent);font-weight:700}
@media (max-width:760px){.svc-block{grid-template-columns:1fr;gap:var(--sp4)}.svc-block:nth-child(even) .svc-block__media{order:0}}

/* ---- Enlaces secundarios bajo un grid ---- */
.more-links{margin-top:var(--sp5);color:var(--text-faint);font-size:var(--fs-sm)}
.more-links a{color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.more-links a:hover{color:var(--accent)}

/* ---- Contenido de detalle (páginas de servicio/flota) ---- */
.detail__main p{color:var(--text-muted);margin-bottom:var(--sp4);max-width:70ch}
.detail__main p a,.hub-copy p a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.detail__main p a:hover,.hub-copy p a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.detail__main>.block-title{margin-top:var(--sp7)}
.detail__main>p:first-child{font-size:var(--fs-lead)}
.ticks a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}
.ticks a:hover{color:var(--accent)}
.aside-links{display:grid;gap:var(--sp3);margin-top:var(--sp4)}
.aside-links a{color:var(--text-muted);font-size:var(--fs-sm)}
.aside-links a:hover{color:var(--accent)}

/* ---- FAQ ---- */
.faq{display:grid;gap:var(--sp3)}
.faq details{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev)}
.faq summary{cursor:pointer;padding:var(--sp4) var(--sp5);font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-family:var(--font-mono);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .faq__a{padding:0 var(--sp5) var(--sp4);color:var(--text-muted);max-width:75ch}

/* ---- Ficha técnica ---- */
.spec{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.spec th,.spec td{padding:.7rem .9rem;border:var(--bw) solid var(--border);text-align:left;vertical-align:top}
.spec th{font-family:var(--font-mono);font-weight:500;color:var(--text-muted);width:36%;white-space:nowrap}
.spec td{color:var(--text)}
@media (max-width:560px){.spec th{white-space:normal;width:42%}}

/* ---- Equipo utilizado ---- */
.kit{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp4)}
.kit a{display:block;padding:var(--sp4) var(--sp5);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elev);transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.kit a:hover{border-color:var(--accent);transform:translateY(-2px)}
.kit b{display:block;margin-bottom:.3rem;color:var(--text)}
.kit span{color:var(--text-muted);font-size:var(--fs-sm)}

/* ---- Hub copy ---- */
.hub-copy p{color:var(--text-muted);margin-bottom:var(--sp4)}
.hub-copy .block-title{margin-top:var(--sp7)}

/* ---- Reveal (mejora un default ya visible) ---- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .reveal.is-visible{opacity:1;transform:none}
}
