/* Hoja compartida por las paginas de zona. Copiada de levantamientos.html
   el 2026-10-03 para no repetir el mismo bloque en cada pagina. */
  :root{
    --ink:#0E1013;
    --ink-2:#161A20;
    --ink-3:#1F242C;
    --line:#2B3139;
    --line-2:#39424E;
    --sky:#9AACBC;
    --sky-dim:#6C7B8B;
    --orange:#F26B0F;
    --orange-lt:#FF8A2A;
    --paper:#EDEAE4;
    --paper-ink:#14171B;
    --paper-dim:#5C6167;

    --fd:'Archivo','Helvetica Neue',Arial,sans-serif;
    --fb:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
    --fm:'IBM Plex Mono','SFMono-Regular',Menlo,monospace;

    --shell:1180px;
    --gutter:28px;
    --head-h:66px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 12px);}
  body{
    font-family:var(--fb);
    background:var(--ink);
    color:#DDE3E9;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  h1,h2,h3,h4{font-family:var(--fd);font-weight:800;line-height:1.08;letter-spacing:-0.02em;}

  :focus-visible{outline:2px solid var(--orange-lt);outline-offset:3px;}

  .shell{max-width:var(--shell);margin:0 auto;padding:0 var(--gutter);}

  /* Mono utility face — captions, codes, data */
  .code{
    font-family:var(--fm);font-size:0.7rem;font-weight:500;
    letter-spacing:0.16em;text-transform:uppercase;color:var(--sky-dim);
  }
  .code--hot{color:var(--orange);}

  .skip{
    position:absolute;left:-9999px;top:0;background:var(--orange);color:#fff;
    padding:10px 16px;font-family:var(--fm);font-size:0.8rem;z-index:1200;
  }
  .skip:focus{left:12px;top:12px;}

  /* ---------- Header ---------- */
  .head{
    position:fixed;top:0;left:0;right:0;z-index:100;height:var(--head-h);
    background:rgba(14,16,19,0.88);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .head-in{
    height:100%;display:flex;align-items:center;justify-content:space-between;
    max-width:var(--shell);margin:0 auto;padding:0 var(--gutter);position:relative;
  }
  .brand img{height:38px;width:auto;transition:opacity .2s;}
  .brand:hover img{opacity:.8;}
  .head-right{display:flex;align-items:center;gap:18px;}
  .menu{display:flex;gap:20px;list-style:none;}
  .menu a{
    font-family:var(--fm);font-size:0.72rem;font-weight:500;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--sky);transition:color .2s;
    padding:6px 0;position:relative;
  }
  .menu a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
    background:var(--orange);transition:right .25s ease;
  }
  .menu a:hover{color:#fff;}
  .menu a:hover::after{right:0;}
  .burger{
    display:none;background:none;border:1px solid var(--line-2);color:#fff;
    font-size:1rem;line-height:1;cursor:pointer;padding:9px 11px;border-radius:2px;
  }
  .ingresar{
    display:flex;align-items:center;gap:7px;
    padding:7px 13px;border:1px solid var(--line-2);border-radius:2px;
    font-family:var(--fm);font-size:.72rem;font-weight:500;letter-spacing:.1em;
    text-transform:uppercase;color:var(--sky);
    transition:border-color .18s,color .18s,background .18s;
  }
  .ingresar svg{width:15px;height:15px;flex:none;}
  .ingresar:hover{border-color:var(--orange);color:var(--orange-lt);background:rgba(242,107,15,.08);}
  @media(max-width:520px){.ingresar span{display:none;}.ingresar{padding:9px;}}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;padding:calc(var(--head-h) + 72px) 0 76px;
    border-bottom:1px solid var(--line);overflow:hidden;
  }
  /* survey sheet grid — structure, not decoration */
  .hero::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
      repeating-linear-gradient(to right, rgba(154,172,188,.055) 0 1px, transparent 1px 96px),
      repeating-linear-gradient(to bottom, rgba(154,172,188,.055) 0 1px, transparent 1px 96px);
    mask-image:radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 80%);
    -webkit-mask-image:radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 80%);
  }
  .hero-grid{
    position:relative;z-index:2;
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
    gap:56px;align-items:center;
  }
  .hero h1{
    font-size:clamp(2.2rem,4.7vw,3.5rem);color:#fff;margin:18px 0 22px;max-width:17ch;
  }
  .hero h1 em{font-style:normal;color:var(--orange-lt);}
  .lede{color:var(--sky);font-size:1.06rem;max-width:52ch;margin-bottom:32px;}

  .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--fm);font-size:0.76rem;font-weight:700;letter-spacing:0.1em;
    text-transform:uppercase;padding:14px 22px;border-radius:2px;
    border:1px solid transparent;transition:background .2s,border-color .2s,color .2s;
  }
  .btn svg{width:16px;height:16px;flex-shrink:0;}
  .btn--hot{background:var(--orange);color:#fff;}
  .btn--hot:hover{background:var(--orange-lt);}
  .btn--ghost{border-color:var(--line-2);color:#DDE3E9;}
  .btn--ghost:hover{border-color:var(--sky);color:#fff;}

  /* spec list — the facts, without the big-number template */
  .spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;max-width:500px;}
  .spec > div{padding:12px 0 14px;border-top:1px solid var(--line);}
  .spec dt{
    font-family:var(--fm);font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--sky-dim);margin-bottom:4px;
  }
  .spec dd{font-family:var(--fd);font-weight:700;font-size:1rem;color:#fff;line-height:1.2;}

  /* ---------- Signature: the mosaic stitches itself ---------- */
  .plate{position:relative;}
  .mosaic{
    position:relative;width:100%;aspect-ratio:2000/1703;
  }
  .tile{
    position:absolute;width:20%;height:25%;
    left:calc(var(--c) * 20%);
    top:calc(var(--r) * 25%);
    background-image:url("assets/ortofotos/web/huentelauquen.webp?v=2");
    background-size:500% 400%;
    background-position:calc(var(--c) / 4 * 100%) calc(var(--r) / 3 * 100%);
    background-repeat:no-repeat;
    opacity:0;
    animation:stitch .55s cubic-bezier(.2,.7,.3,1) forwards;
    animation-delay:calc(var(--d) * 42ms);
  }
  @keyframes stitch{
    from{opacity:0;transform:scale(1.05);filter:saturate(.4) brightness(1.3);}
    to{opacity:1;transform:scale(1);filter:none;}
  }
  .plate-legend{
    display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:16px;
    padding-top:12px;border-top:1px solid var(--line);
  }

  /* ---------- Bands ---------- */
  .band{padding:96px 0;border-bottom:1px solid var(--line);}
  .band--paper{background:var(--paper);color:var(--paper-ink);border-bottom:none;}
  .band--mark{border-top:2px solid var(--orange);}
  .band--tight{padding:72px 0;}

  .band-head{
    display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
    padding-bottom:20px;margin-bottom:44px;border-bottom:1px solid var(--line);
  }
  .band--paper .band-head{border-bottom-color:#D6D2C9;}
  .band-head h2{font-size:clamp(1.8rem,3.6vw,2.7rem);color:#fff;}
  .band--paper .band-head h2{color:var(--paper-ink);}
  .band-head .band-intro{max-width:56ch;margin-top:12px;color:var(--sky);font-size:1rem;}
  .band--paper .band-head .band-intro{color:var(--paper-dim);}
  .band-head .code{white-space:nowrap;padding-bottom:6px;}

  /* ---------- Servicios: spec rows ---------- */
  .rows{border-top:1px solid var(--line);}
  .row{
    display:grid;grid-template-columns:96px 44px minmax(0,1fr);
    gap:20px;align-items:start;
    padding:24px 12px 24px 0;border-bottom:1px solid var(--line);
    transition:background .2s;
  }
  .row:hover{background:var(--ink-2);}
  .row-code{font-family:var(--fm);font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--sky-dim);padding-top:6px;transition:color .2s;}
  .row:hover .row-code{color:var(--orange);}
  .row-ic{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:2px;}
  .row-ic svg{width:18px;height:18px;stroke:var(--orange-lt);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .row h3{font-size:1.12rem;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:-0.01em;}
  .row p{color:var(--sky);font-size:0.95rem;max-width:62ch;}

  /* ---------- Photo grids ---------- */
  .shots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-flow:dense;}
  .shot{position:relative;overflow:hidden;background:var(--ink-2);aspect-ratio:4/3;}
  .shot.tall{aspect-ratio:auto;grid-row:span 2;}
  .shot.wide{grid-column:span 2;aspect-ratio:8/3;}
  .shot img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .4s ease,filter .3s;}
  .shot:hover img{transform:scale(1.03);filter:brightness(1.06);}

  /* aerial band keeps the native 16:9 of the frames — a different rhythm */
  .flight{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  .flight .shot{aspect-ratio:16/9;}
  .flight .shot.lead{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}

  /* ---------- Ortofotos: plates, ragged flight footprint on dark ---------- */
  .plates{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 22px;}
  .plate-card{display:flex;flex-direction:column;}
  /* sin marco: la lámina se recorta sola contra el fondo.
     min-height:0 — sin esto el min-height:auto de flex estira la caja
     hasta el alto intrínseco de las láminas verticales y rompe el cuadrado */
  .plate-frame{
    position:relative;aspect-ratio:1/1;min-height:0;
  }
  .plate-frame img{width:100%;height:100%;object-fit:contain;cursor:zoom-in;transition:transform .3s;}
  .plate-card:hover .plate-frame img{transform:scale(1.03);}
  .plate-frame::after{
    content:"⤢";position:absolute;top:8px;right:8px;width:26px;height:26px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(14,16,19,.8);color:var(--sky);font-size:.85rem;
    opacity:0;transition:opacity .2s;pointer-events:none;
  }
  .plate-card:hover .plate-frame::after{opacity:1;}
  .plate-cap{padding-top:12px;margin-top:12px;border-top:1px solid var(--line);}
  .plate-cap strong{display:block;font-family:var(--fd);font-weight:700;font-size:.9rem;color:#fff;line-height:1.25;margin-bottom:4px;letter-spacing:-0.01em;}

  .why{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:52px;}
  .why-item{padding-top:16px;border-top:2px solid var(--orange);}
  .why-item h4{font-size:1rem;font-weight:700;color:#fff;margin:8px 0 6px;}
  .why-item p{color:var(--sky);font-size:.92rem;}

  /* ---------- Nosotros (paper band) ---------- */
  .about-banner{aspect-ratio:21/9;overflow:hidden;margin-bottom:56px;}
  .about-banner img{width:100%;height:100%;object-fit:cover;}
  .about{display:grid;grid-template-columns:minmax(0,200px) minmax(0,700px);gap:56px;align-items:start;justify-content:center;}
  .about-aside{position:sticky;top:calc(var(--head-h) + 28px);}
  .about-aside .code{color:var(--paper-dim);display:block;margin-bottom:10px;}
  .about-aside h2{font-size:clamp(1.6rem,2.6vw,2rem);color:var(--paper-ink);}
  .about-body h3{
    font-size:1.05rem;font-weight:700;color:var(--paper-ink);
    margin:34px 0 10px;padding-left:14px;border-left:3px solid var(--orange);
  }
  .about-body h3:first-child{margin-top:0;}
  .about-body p{color:#3E444B;margin-bottom:13px;max-width:66ch;}
  .pillars{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .pillars span{
    font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
    border:1px solid #CFCAC0;padding:8px 14px;color:var(--paper-ink);
  }
  .claim{
    margin-top:64px;background:var(--ink);color:#fff;padding:40px 44px;
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  }
  .claim strong{font-family:var(--fd);font-size:1.15rem;letter-spacing:.04em;}
  .claim-lines{display:flex;flex-wrap:wrap;gap:10px 28px;}
  .claim-lines span{color:var(--sky);font-family:var(--fm);font-size:.8rem;letter-spacing:.06em;}
  .claim-lines span::before{content:"—";color:var(--orange);margin-right:9px;}

  /* ---------- Stack ---------- */
  .stack{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:30px 56px;}
  /* every logo reduced to one light silhouette, whatever its source colour */
  .stack img{
    height:32px;width:auto;max-width:160px;object-fit:contain;
    filter:brightness(0) invert(0.78);opacity:.7;
    transition:opacity .25s,filter .25s;
  }
  .stack img.ic{height:28px;}
  .stack span:hover img{filter:none;opacity:1;}

  /* ---------- Contacto ---------- */
  .contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}
  .contact h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin:14px 0 16px;}
  .contact p.lede{margin-bottom:30px;}
  .clist{border-top:1px solid var(--line);}
  .crow{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
  .crow svg{width:18px;height:18px;flex-shrink:0;stroke:var(--orange-lt);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .crow svg.solid{fill:var(--orange-lt);stroke:none;}
  .crow a,.crow span{color:#E6EAEE;font-size:1rem;transition:color .2s;}
  .crow a:hover{color:var(--orange-lt);}
  .crow .code{margin-left:auto;}

  /* ---------- Footer ---------- */
  .foot{padding:34px 0;}
  .foot-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .foot img{height:34px;width:auto;opacity:.85;}

  /* ---------- WhatsApp ---------- */
  .wa{
    position:fixed;bottom:22px;right:22px;width:54px;height:54px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.45);z-index:900;transition:transform .2s;
  }
  .wa:hover{transform:scale(1.07);}
  .wa-tip{
    position:absolute;right:66px;top:50%;transform:translateY(-50%);
    background:var(--ink-3);color:#fff;padding:8px 12px;
    font-family:var(--fm);font-size:.72rem;letter-spacing:.06em;white-space:nowrap;
    opacity:0;pointer-events:none;transition:opacity .2s;
  }
  .wa:hover .wa-tip{opacity:1;}

  /* ---------- Lightbox ---------- */
  .lb{position:fixed;inset:0;background:rgba(8,9,11,.96);z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;}
  .lb.on{display:flex;}
  .lb img{max-width:92vw;max-height:76vh;object-fit:contain;}
  .lb-cap{color:#fff;font-family:var(--fd);font-weight:700;font-size:.98rem;margin-top:20px;text-align:center;}
  .lb-sub{margin-top:6px;}
  .lb-btn{
    position:absolute;background:rgba(255,255,255,.07);border:1px solid var(--line-2);
    color:#fff;cursor:pointer;width:46px;height:46px;display:flex;align-items:center;
    justify-content:center;font-size:1.2rem;line-height:1;transition:background .2s;
  }
  .lb-btn:hover{background:rgba(255,255,255,.16);}
  .lb-close{top:18px;right:20px;}
  .lb-prev{left:20px;top:50%;transform:translateY(-50%);}
  .lb-next{right:20px;top:50%;transform:translateY(-50%);}

  /* ---------- Responsive ---------- */
  @media(max-width:1000px){
    .hero-grid{grid-template-columns:1fr;gap:44px;}
    .hero h1{max-width:18ch;}
    .plates{grid-template-columns:repeat(3,1fr);}
    .about{grid-template-columns:1fr;gap:28px;}
    .about-aside{position:static;}
    .contact{grid-template-columns:1fr;gap:36px;}
  }
  @media(max-width:1060px){
    .menu{display:none;}
    .burger{display:block;}
    .ingresar span{display:none;}
    .ingresar{padding:9px;}
    .head nav.open .menu{
      display:flex;flex-direction:column;gap:0;
      position:absolute;top:calc(100% + 1px);left:0;right:0;
      background:var(--ink);border-bottom:1px solid var(--line);
      padding:0 var(--gutter);box-shadow:0 18px 40px rgba(0,0,0,.5);
    }
    .head nav.open .menu li + li{border-top:1px solid var(--line);}
    .head nav.open .menu a{display:block;padding:16px 0;font-size:.8rem;}
    .band{padding:72px 0;}
    .why{grid-template-columns:1fr;gap:20px;margin-bottom:40px;}
    .band-head{flex-direction:column;align-items:flex-start;gap:10px;}
    .row{grid-template-columns:76px minmax(0,1fr);}
    .row-ic{display:none;}
    .flight .shot.lead{grid-column:span 3;grid-row:auto;aspect-ratio:16/9;}
  }
  @media(max-width:640px){
    :root{--gutter:18px;}
    .brand img{height:32px;}
    .shots{grid-template-columns:repeat(2,1fr);gap:8px;}
    .shot.tall{grid-row:auto;aspect-ratio:4/3;}
    .shot.wide{grid-column:span 2;aspect-ratio:16/9;}
    .flight{grid-template-columns:repeat(2,1fr);gap:8px;}
    .flight .shot.lead{grid-column:span 2;}
    .plates{grid-template-columns:repeat(2,1fr);gap:20px 14px;}
    .spec{grid-template-columns:1fr;max-width:none;}
    .claim{padding:28px 22px;flex-direction:column;align-items:flex-start;}
    .claim-lines{flex-direction:column;gap:8px;}
    .lb-prev{left:8px;}.lb-next{right:8px;}
    .lb-btn{width:40px;height:40px;}
    .wa-tip{display:none;}
  }

  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{
      animation-duration:.01ms !important;animation-iteration-count:1 !important;
      transition-duration:.01ms !important;scroll-behavior:auto !important;
    }
    .tile{opacity:1 !important;transform:none !important;filter:none !important;}
  }
