
  /* ============ TOKENS ============ */
  :root{
    --tinta:#21371D;        /* casi negro, leve sesgo verde */
    --tinta-soft:#111C0F;
    --mares:#ECE6D9;        /* piedra marés cálida (fondo claro) */
    --mares-hi:#F4EFE5;     /* superficie elevada */
    --piedra:#A69C86;       /* greige medio: bordes, captions */
    --piedra-dim:#7C7856;
    --oliva:#787852;        /* acento: verde contraventana */
    --oliva-hi:#8E8E63;
    --terracota:#B0532E;    /* guiño cálido puntual (teja) */

    --bg:var(--mares);
    --surface:var(--mares-hi);
    --ink:var(--tinta);
    --ink-soft:#4C5742;
    --muted:var(--piedra-dim);
    --line:rgba(33,55,29,.14);
    --accent:#8A7A45;
    --accent-hi:#CAB37D;
    --logo-solid:brightness(0);   /* logo oscuro sobre fondos claros */

    --serif:"Didot","Bodoni 72","GFS Didot","Hoefler Text",Garamond,"Times New Roman",serif;
    --sans:"Avenir Next","Avenir","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;

    --maxw:1220px;
    --gutter:clamp(20px,5vw,64px);
    --step:clamp(72px,11vw,160px);
  }
  @media (prefers-color-scheme:dark){
    :root{
      --bg:#111C0F;
      --surface:#21371D;
      --ink:#EFE9DC;
      --ink-soft:#C6C2AC;
      --muted:#8C8968;
      --line:rgba(202,179,125,.16);
      --accent:#CAB37D;
      --accent-hi:#CEB886;
      --logo-solid:none;   /* logo blanco sobre fondos oscuros */
    }
  }
  :root[data-theme="light"]{
    --bg:var(--mares);--surface:var(--mares-hi);--ink:var(--tinta);--ink-soft:#4C5742;
    --muted:var(--piedra-dim);--line:rgba(33,55,29,.14);--accent:#8A7A45;--accent-hi:#CAB37D;
    --logo-solid:brightness(0);
  }
  :root[data-theme="dark"]{
    --bg:#111C0F;--surface:#21371D;--ink:#EFE9DC;--ink-soft:#C6C2AC;
    --muted:#8C8968;--line:rgba(202,179,125,.16);--accent:#CAB37D;--accent-hi:#CEB886;
    --logo-solid:none;
  }

  /* ============ BASE ============ */
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:var(--sans);font-size:17px;line-height:1.65;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
    overflow-x:clip;
  }
  h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance;letter-spacing:.01em}
  p{margin:0}
  a{color:inherit;text-decoration:none}
  img,video{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
  .eyebrow{
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.28em;
    text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:.7em;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);opacity:.8}
  .lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--ink-soft);max-width:60ch}

  /* ============ NAV ============ */
  header.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s ease,box-shadow .4s ease,padding .4s ease;padding:22px 0}
  header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
  .brand{display:inline-flex;align-items:center}
  .brand-logo{height:30px;width:auto;display:block;filter:none;transition:filter .4s ease}
  header.nav.scrolled .brand-logo{filter:none}
  @media (max-width:640px){.brand-logo{height:26px}}
  nav.links{display:flex;gap:34px;align-items:center}
  nav.links a{font-size:13.5px;letter-spacing:.06em;color:rgba(244,239,229,.82);text-transform:uppercase;transition:color .25s;position:relative}
  nav.links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .3s}
  nav.links a:hover{color:#fff}
  nav.links a:hover::after{width:100%}
  .nav-cta{border:1px solid rgba(244,239,229,.45);padding:9px 18px;border-radius:2px;color:#F4EFE5 !important;letter-spacing:.08em}
  .nav-cta:hover{background:#F4EFE5;color:var(--tinta) !important;border-color:#F4EFE5}
  .nav-cta::after{display:none}
  header.nav.scrolled{background:var(--bg);box-shadow:0 1px 0 var(--line);padding:14px 0}
  header.nav.scrolled .brand{color:var(--ink)}
  header.nav.scrolled nav.links a{color:var(--ink-soft)}
  header.nav.scrolled nav.links a:hover{color:var(--ink)}
  header.nav.scrolled .nav-cta{border-color:var(--line);color:var(--ink) !important}
  header.nav.scrolled .nav-cta:hover{background:var(--ink);color:var(--bg) !important;border-color:var(--ink)}
  .burger{display:none}

  /* ============ FONDO FIJO DE CONSTRUCCIÓN ============ */
  .bg-stage{position:fixed;inset:0;z-index:0;background:#0d100c;overflow:hidden}
  #scrubCanvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .bg-scrim{position:absolute;inset:0;background:
      linear-gradient(180deg,rgba(14,22,12,.72) 0%,rgba(14,22,12,.40) 32%,rgba(14,22,12,.46) 62%,rgba(14,22,12,.84) 100%)}
  .bg-grain{position:absolute;inset:0;opacity:.5;mix-blend-mode:soft-light;pointer-events:none;
     background:radial-gradient(120% 120% at 50% 0,transparent 60%,rgba(0,0,0,.5))}

  /* secciones que flotan SOBRE el fondo (texto claro) */
  main>section,footer.site{position:relative;z-index:1}
  .on-video{color:#F6F2E8;text-shadow:0 2px 34px rgba(0,0,0,.4)}
  .on-video .eyebrow{color:#CEB886}.on-video .eyebrow::before{background:#CEB886}
  /* secciones sólidas: tapan el fondo al subir */
  .proceso,.feature,.proyectos,.adn,.desde{background:var(--bg)}

  /* INTERLUDIOS: reaparece el vídeo entre secciones sólidas */
  .interlude{min-height:94svh;display:flex;align-items:center;padding-block:var(--step)}
  .interlude .eyebrow{margin-bottom:20px}
  .interlude .big{font-family:var(--serif);font-size:clamp(30px,5.2vw,68px);line-height:1.12;max-width:17ch;color:#F6F2E8}
  .interlude .big em{font-style:italic;color:var(--accent-hi)}
  .interlude.alt{justify-content:flex-end}
  .interlude.alt .wrap{text-align:right}
  .interlude.alt .big{margin-left:auto}
  .interlude.alt .eyebrow{flex-direction:row-reverse}

  /* HERO (fluye normal sobre el fondo) */
  .hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(90px,14vh,150px)}
  .hero .eyebrow{margin-bottom:22px}
  .hero h1{color:#F6F2E8;font-size:clamp(48px,9vw,132px);line-height:.98;letter-spacing:-.01em}
  .hero h1 em{font-style:italic;color:#D8C79B}
  .hero .sub{color:rgba(246,242,232,.9);font-size:clamp(16px,1.9vw,20px);max-width:46ch;margin-top:26px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
  .hero .cue{margin-top:clamp(34px,6vh,60px);width:23px;height:38px;display:block;
     border:1px solid rgba(246,242,232,.5);border-radius:12px;position:relative}
  .hero .cue::before{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;
     background:rgba(246,242,232,.9);transform:translateX(-50%);animation:cuedot 1.8s ease-in-out infinite}
  @keyframes cuedot{0%{opacity:0;transform:translate(-50%,0)}25%{opacity:1}75%{opacity:1;transform:translate(-50%,13px)}100%{opacity:0;transform:translate(-50%,13px)}}

  /* INTRO / manifiesto sobre el fondo */
  .intro{min-height:104svh;display:flex;align-items:center;padding-block:var(--step)}
  .intro .big{font-family:var(--serif);font-size:clamp(28px,4.7vw,60px);line-height:1.14;max-width:19ch;color:#F6F2E8}
  .intro .big em{font-style:italic;color:var(--accent-hi)}
  .intro .sub2{margin-top:26px;color:rgba(246,242,232,.86);max-width:52ch;font-size:clamp(16px,1.7vw,19px)}
  .intro .asides{display:flex;gap:clamp(30px,6vw,72px);margin-top:44px;flex-wrap:wrap}
  .intro .asides .k{font-family:var(--serif);font-size:40px;color:var(--accent-hi)}
  .intro .asides .v{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,242,232,.7);margin-top:6px}

  /* ADN / Desde Mallorca (texto corporativo) */
  .adn-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
  .adn-grid .lead{color:var(--ink);font-size:clamp(18px,1.7vw,22px);line-height:1.55}
  .prose{display:flex;flex-direction:column;gap:18px;color:var(--ink-soft);font-size:clamp(15.5px,1.25vw,17px);line-height:1.72}
  .prose.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px)}
  .estudio{margin-top:clamp(40px,6vw,64px);padding-top:30px;border-top:1px solid var(--line);
     display:flex;flex-wrap:wrap;gap:clamp(20px,4vw,54px);align-items:baseline}
  .estudio .lab{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
  .estudio .team{display:flex;flex-wrap:wrap;gap:10px 26px;font-family:var(--serif);font-size:clamp(18px,1.8vw,23px)}
  .estudio .team span{color:var(--ink)}
  @media (max-width:860px){.adn-grid{grid-template-columns:1fr}.prose.two{grid-template-columns:1fr}}

  /* CTA extras */
  .cta .tag-line{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.4vw,27px);color:var(--accent-hi);margin-top:24px}
  .cta .cats{margin-top:28px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,239,229,.6)}

  /* lista completa de proyectos */
  .allprojects{margin-top:clamp(34px,5vw,56px);padding-top:28px;border-top:1px solid var(--line)}
  .allprojects .lab{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
  .allprojects ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
  .allprojects li{font-family:var(--serif);font-size:clamp(17px,1.7vw,22px);color:var(--ink)}
  .allprojects li:not(:last-child)::after{content:"·";margin-left:14px;color:var(--muted)}

  /* Contacto / formulario */
  .contacto{background:var(--bg);border-top:1px solid var(--line)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,80px);align-items:start}
  .contact-grid p.lead{color:var(--ink-soft)}
  .cform{display:grid;gap:14px}
  .cform .rowf{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .cform input,.cform textarea{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--ink);
     font-family:var(--sans);font-size:15px;padding:14px 16px;border-radius:2px;transition:border-color .25s}
  .cform textarea{min-height:120px;resize:vertical}
  .cform input:focus,.cform textarea:focus{outline:none;border-color:var(--accent)}
  .cform input::placeholder,.cform textarea::placeholder{color:var(--muted)}
  .cform .btn-solid{justify-self:start;background:var(--ink);color:var(--bg);margin-top:4px;cursor:pointer;border:none}
  .cform .btn-solid:hover{background:var(--accent)}
  @media (max-width:860px){.contact-grid{grid-template-columns:1fr}.cform .rowf{grid-template-columns:1fr}}

  .btn{display:inline-flex;align-items:center;gap:.6em;padding:15px 26px;border-radius:2px;font-size:14px;
       letter-spacing:.06em;font-weight:600;transition:transform .25s,background .25s,color .25s,border-color .25s}
  .btn .arw{transition:transform .3s}
  .btn:hover .arw{transform:translateX(4px)}
  .btn-solid{background:#F4EFE5;color:var(--tinta)}
  .btn-solid:hover{background:var(--accent-hi);color:#1A2913}
  .btn-ghost{border:1px solid rgba(246,242,232,.5);color:#F6F2E8}
  .btn-ghost:hover{background:rgba(246,242,232,.12);border-color:#F6F2E8}

  /* ============ SECTIONS ============ */
  section{padding-block:var(--step)}
  .sec-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:clamp(40px,6vw,72px)}
  .sec-head h2{font-size:clamp(32px,5vw,60px);line-height:1.02}
  .sec-head h2 em{font-style:italic;color:var(--accent)}

  /* manifiesto */
  .manifesto{background:var(--surface);border-block:1px solid var(--line)}
  .manifesto .big{font-family:var(--serif);font-size:clamp(26px,4.2vw,50px);line-height:1.18;max-width:20ch}
  .manifesto .big em{font-style:italic;color:var(--accent)}
  .manifesto .row{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(30px,6vw,80px);align-items:end}
  .manifesto .aside{border-left:1px solid var(--line);padding-left:28px}
  .manifesto .aside .k{font-family:var(--serif);font-size:44px;color:var(--accent)}
  .manifesto .aside .v{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}
  .manifesto .aside + .aside{margin-top:32px}

  /* proceso / timeline */
  .proceso{position:relative}
  .phases{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px)}
  .phase{position:relative}
  .phase .frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--surface)}
  .phase .frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);filter:saturate(.96)}
  .phase:hover .frame img{transform:scale(1.05)}
  .phase .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,16,12,.72));opacity:.9}
  .phase .num{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--serif);font-size:15px;
      color:#F4EFE5;border:1px solid rgba(244,239,229,.55);width:34px;height:34px;border-radius:50%;
      display:grid;place-items:center;letter-spacing:0}
  .phase .cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:2}
  .phase .cap h3{color:#F6F2E8;font-size:22px}
  .phase .cap p{color:rgba(246,242,232,.8);font-size:13px;margin-top:4px;line-height:1.45}
  .proceso .track{height:1px;background:var(--line);margin-top:30px;position:relative}
  .proceso .track i{position:absolute;left:0;top:0;height:100%;background:var(--accent);width:0;transition:width 1.6s ease}
  .proceso.in .track i{width:100%}

  /* áreas */
  .areas{background:var(--surface);border-block:1px solid var(--line)}
  .grid-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .area{background:var(--bg);padding:clamp(26px,3vw,42px);min-height:210px;display:flex;flex-direction:column;
     justify-content:space-between;gap:22px;transition:background .3s}
  .area:hover{background:var(--surface)}
  .area .idx{font-size:12px;letter-spacing:.18em;color:var(--muted)}
  .area h3{font-size:26px}
  .area p{font-size:14.5px;color:var(--ink-soft);line-height:1.55}
  .area .mark{width:30px;height:30px;color:var(--accent)}

  /* feature video */
  .feature{position:relative}
  .feature .row{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(30px,5vw,70px);align-items:center}
  .feature .copy h2{font-size:clamp(30px,4.4vw,54px);line-height:1.04}
  .feature .copy h2 em{font-style:italic;color:var(--accent)}
  .feature .copy p{margin-top:22px;color:var(--ink-soft)}
  .feature .copy .steps{margin-top:30px;display:flex;flex-direction:column;gap:14px}
  .feature .copy .steps div{display:flex;gap:14px;align-items:baseline;font-size:15px}
  .feature .copy .steps b{font-family:var(--serif);color:var(--accent);font-size:18px;min-width:26px}
  .vframe{position:relative;border-radius:3px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(13,16,12,.6);background:#0d100c}
  .vframe video{width:100%;aspect-ratio:16/9;object-fit:cover}
  .vframe .tag{position:absolute;left:16px;bottom:14px;z-index:2;font-size:11px;letter-spacing:.2em;
     text-transform:uppercase;color:rgba(246,242,232,.85);display:flex;align-items:center;gap:8px}
  .vframe .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#CAB37D;box-shadow:0 0 0 0 rgba(202,179,125,.6);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(202,179,125,.5)}70%{box-shadow:0 0 0 9px rgba(202,179,125,0)}100%{box-shadow:0 0 0 0 rgba(202,179,125,0)}}
  .vframe .brackets i{position:absolute;width:20px;height:20px;border-color:rgba(246,242,232,.7);z-index:2}
  .vframe .brackets i:nth-child(1){top:14px;left:14px;border-top:1px solid;border-left:1px solid}
  .vframe .brackets i:nth-child(2){top:14px;right:14px;border-top:1px solid;border-right:1px solid}

  /* proyectos */
  .proyectos .pgrid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(120px,auto);gap:clamp(12px,1.4vw,20px)}
  .pcard{position:relative;overflow:hidden;border-radius:2px;background:var(--surface);min-height:100%}
  .pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .pcard:hover img{transform:scale(1.06)}
  .pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,16,12,.78))}
  .pcard .meta{position:absolute;left:20px;bottom:18px;right:20px;z-index:2}
  .pcard .meta .loc{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-hi)}
  .pcard .meta h3{color:#F6F2E8;font-size:clamp(20px,2vw,28px);margin-top:5px}
  .pcard.big{grid-column:span 4;grid-row:span 2}
  .pcard.tall{grid-column:span 2;grid-row:span 2}
  .pcard.wide{grid-column:span 3}
  .pcard.sm{grid-column:span 3}

  /* CTA */
  .cta{background:var(--tinta);color:#F4EFE5;text-align:center;position:relative;overflow:hidden}
  .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% -20%,rgba(202,179,125,.22),transparent 60%)}
  .cta .wrap{position:relative}
  .cta h2{color:#F6F2E8;font-size:clamp(34px,6vw,78px);line-height:1.02}
  .cta h2 em{font-style:italic;color:var(--accent-hi)}
  .cta p{color:rgba(244,239,229,.75);margin:20px auto 0;max-width:48ch}
  .cta .btn-solid{margin-top:36px}

  /* footer */
  footer.site{background:var(--surface);border-top:1px solid var(--line);padding-block:clamp(56px,8vw,90px) 34px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(30px,5vw,70px)}
  .brand-logo.foot{height:40px;width:auto;filter:none;margin-bottom:2px}
  footer .fmuted{color:var(--muted);margin-top:16px;max-width:34ch;font-size:15px}
  footer h4{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
  footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
  footer a:hover{color:var(--accent)}
  .foot-bottom{margin-top:clamp(44px,6vw,70px);padding-top:24px;border-top:1px solid var(--line);
     display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);letter-spacing:.04em}
  .siv-credit a{color:inherit;text-decoration:none;transition:.25s}
  .siv-credit a:hover{color:var(--accent)}

  /* theme toggle */
  .themebtn{background:transparent;border:1px solid rgba(244,239,229,.4);color:#F4EFE5;width:38px;height:38px;
     border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.3s;font-size:15px}
  header.nav.scrolled .themebtn{border-color:var(--line);color:var(--ink)}
  .themebtn:hover{border-color:var(--accent)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}
    .hero .cue::before,.vframe .tag::before{animation:none}}

  /* responsive */
  @media (max-width:940px){
    .manifesto .row{grid-template-columns:1fr}
    .grid-areas{grid-template-columns:repeat(2,1fr)}
    .feature .row{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr}
    .phases{grid-template-columns:repeat(2,1fr)}
    .proyectos .pgrid{grid-template-columns:repeat(2,1fr)}
    .pcard.big,.pcard.tall,.pcard.wide,.pcard.sm{grid-column:span 2;grid-row:auto;min-height:230px}
  }
  @media (max-width:640px){
    nav.links{display:none}
    .grid-areas{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr}
    .phases{grid-template-columns:1fr 1fr}
    .hero-meta{display:none}
  }

.l-green{display:none}
header.nav.scrolled .l-gold{display:none}
header.nav.scrolled .l-green{display:block}
.brand-logo.foot.l-gold{display:none}
.brand-logo.foot.l-green{display:block}
:root[data-theme="dark"] header.nav.scrolled .l-gold{display:block}
:root[data-theme="dark"] header.nav.scrolled .l-green{display:none}
:root[data-theme="dark"] .brand-logo.foot.l-gold{display:block}
:root[data-theme="dark"] .brand-logo.foot.l-green{display:none}
:root[data-theme="light"] header.nav.scrolled .l-gold{display:none}
:root[data-theme="light"] header.nav.scrolled .l-green{display:block}
:root[data-theme="light"] .brand-logo.foot.l-gold{display:none}
:root[data-theme="light"] .brand-logo.foot.l-green{display:block}
@media (prefers-color-scheme:dark){
 header.nav:not([data-x]).scrolled .l-gold{display:block}
 header.nav.scrolled .l-green{display:none}
 .brand-logo.foot.l-gold{display:block}
 .brand-logo.foot.l-green{display:none}
}
:root[data-theme="light"] header.nav.scrolled .l-green{display:block}
:root[data-theme="light"] .brand-logo.foot.l-green{display:block}

/* ===== Grid de proyectos (home) ===== */
.proyectos .pgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:clamp(12px,1.6vw,22px)}
.proyectos .pcard{display:block;grid-column:auto!important;grid-row:auto!important;min-height:0}
.proyectos .pcard .ph{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;background:var(--surface)}
.proyectos .pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.proyectos .pcard:hover img{transform:scale(1.06)}
.proyectos .pcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,16,12,.72))}
.proyectos .pcard .meta{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.proyectos .pcard .meta .loc{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-hi)}
.proyectos .pcard .meta h3{color:#F6F2E8;font-size:clamp(19px,1.7vw,24px);margin-top:4px}
.proyectos .pcard .meta .psub{color:rgba(246,242,232,.82);font-size:13px;margin-top:3px;line-height:1.35}
@media(max-width:940px){.proyectos .pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.proyectos .pgrid{grid-template-columns:1fr}}

/* ===== Paginas de detalle de proyecto ===== */
.project-page{overflow-x:clip}
.project-page header.nav{position:sticky;background:var(--bg);box-shadow:0 1px 0 var(--line);padding:14px 0}
.project-page main>section{position:relative;z-index:1}
.proj-hero{min-height:76svh;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative;color:#F6F2E8}
.proj-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,12,.20) 0%,rgba(13,16,12,.35) 45%,rgba(13,16,12,.84) 100%)}
.proj-hero .wrap{position:relative;z-index:1;padding-block:clamp(38px,8vh,86px)}
.proj-hero .eyebrow{color:#CEB886}.proj-hero .eyebrow::before{background:#CEB886}
.proj-hero h1{font-size:clamp(42px,7.5vw,104px);line-height:.98;margin-top:14px;color:#F6F2E8}
.proj-hero .sub{margin-top:16px;font-size:clamp(17px,2vw,22px);color:rgba(246,242,232,.92);max-width:42ch}
.proj-back{display:inline-block;margin-bottom:20px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,242,232,.85)}
.proj-back:hover{color:#fff}
.proj-phase{padding-block:clamp(46px,7vw,96px)}
.proj-phase + .proj-phase{padding-top:0}
.proj-phase .sec-head{margin-bottom:clamp(22px,3.5vw,40px)}
.proj-gallery{columns:3 300px;column-gap:14px}
.proj-gallery img{width:100%;margin:0 0 14px;border-radius:3px;break-inside:avoid;display:block;background:var(--surface)}
@media(max-width:640px){.proj-gallery{columns:1}}
.proj-cta{margin-top:clamp(30px,5vw,60px)}
.proj-pn{display:flex;justify-content:space-between;gap:16px;padding-block:clamp(30px,5vw,54px);border-top:1px solid var(--line)}
.proj-pn .pn-link{font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);color:var(--ink)}
.proj-pn .pn-link:hover{color:var(--accent)}


/* ===== Equipo (fotos) ===== */
.estudio-team{margin-top:clamp(40px,6vw,64px);padding-top:30px;border-top:1px solid var(--line)}
.estudio-team .lab{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,26px);margin-top:22px}
.team-member{margin:0}
.team-member .tm-photo{aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--surface)}
.team-member .tm-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.97);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.team-member:hover .tm-photo img{transform:scale(1.04)}
.team-member figcaption{margin-top:14px}
.team-member h3{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);color:var(--ink);font-weight:400}
@media(max-width:760px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== Metodo 9 pasos ===== */
.metodo9{background:var(--bg)}
.steps9{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.9vw,26px)}
.step9{position:relative}
.step9 .s9-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:var(--surface)}
.step9 .s9-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.step9:hover .s9-photo img{transform:scale(1.05)}
.step9 .s9-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(13,16,12,.45))}
.step9 .s9-num{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--serif);font-size:14px;color:#F4EFE5;border:1px solid rgba(244,239,229,.55);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}
.step9 h3{font-family:var(--serif);font-size:clamp(19px,1.7vw,23px);color:var(--ink);margin-top:15px;font-weight:400}
.step9 p{font-size:14px;color:var(--ink-soft);line-height:1.5;margin-top:6px}
@media(max-width:860px){.steps9{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps9{grid-template-columns:1fr}}


/* ===== Areas de trabajo (con foto) ===== */
.area{padding:0;min-height:0;justify-content:flex-start;gap:0}
.area .area-photo{aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.area .area-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.97);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.area:hover .area-photo img{transform:scale(1.05)}
.area .area-body{padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:10px}
.area .area-body .idx{font-size:12px;letter-spacing:.18em;color:var(--muted)}
.area .area-body h3{font-size:clamp(21px,1.8vw,26px)}
.area .area-body p{font-size:14.5px;color:var(--ink-soft);line-height:1.55}


/* ===== Cargos equipo ===== */
.team-member .tm-role{font-size:12px;letter-spacing:.02em;color:var(--muted);margin-top:5px;line-height:1.4}
/* ===== Valores ===== */
.intro .asides.values{gap:clamp(24px,4vw,54px)}
.intro .asides.values .k{font-size:clamp(22px,2.6vw,32px)}
.intro .asides.values .v{max-width:16ch}
/* ===== Nav IG ===== */
nav.links a.nav-ig{display:inline-flex;align-items:center}
nav.links a.nav-ig::after{display:none}
/* ===== Contacto acciones ===== */
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.contact-actions .cbtn{border:1px solid var(--line);color:var(--ink);padding:9px 16px;border-radius:2px;font-size:13px;letter-spacing:.04em;transition:background .25s,color .25s,border-color .25s}
.contact-actions .cbtn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.contact-hours{margin-top:14px;color:var(--muted);font-size:13px;letter-spacing:.04em}
.area .area-more{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.area:hover .area-more{color:var(--accent-hi)}

/* ===== Contacto ampliado ===== */
.c-lab{margin-top:26px;color:var(--muted);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.contact-map{margin-top:26px;border:1px solid var(--line);border-radius:3px;overflow:hidden;height:220px}
.contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(.25)}
.cform select{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-family:var(--sans);font-size:15px;padding:14px 16px;border-radius:2px;appearance:none}
.cform select:focus{outline:none;border-color:var(--accent)}
.cf-servicios{border:1px solid var(--line);border-radius:2px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.cf-servicios legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 6px}
.cf-servicios label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-soft);cursor:pointer}
.cf-servicios input{accent-color:var(--accent);width:16px;height:16px}
@media(max-width:520px){.cf-servicios{grid-template-columns:1fr}}
.cform-note{margin-top:2px;color:var(--muted);font-size:13px;line-height:1.6}
.cform-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.adn .adn-link{border-color:var(--line);color:var(--ink)}
.adn .adn-link:hover{background:var(--ink);color:var(--bg)}


/* ============ BLOQUES DE PAGINAS ============ */
/* ===== Grid de proyectos (home) ===== */
.proyectos .pgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:clamp(12px,1.6vw,22px)}
.proyectos .pcard{display:block;grid-column:auto!important;grid-row:auto!important;min-height:0}
.proyectos .pcard .ph{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;background:var(--surface)}
.proyectos .pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.proyectos .pcard:hover img{transform:scale(1.06)}
.proyectos .pcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,16,12,.72))}
.proyectos .pcard .meta{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.proyectos .pcard .meta .loc{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-hi)}
.proyectos .pcard .meta h3{color:#F6F2E8;font-size:clamp(19px,1.7vw,24px);margin-top:4px}
.proyectos .pcard .meta .psub{color:rgba(246,242,232,.82);font-size:13px;margin-top:3px;line-height:1.35}
@media(max-width:940px){.proyectos .pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.proyectos .pgrid{grid-template-columns:1fr}}

/* ===== Paginas de detalle de proyecto ===== */
.project-page{overflow-x:clip}
.project-page header.nav{position:sticky;background:var(--bg);box-shadow:0 1px 0 var(--line);padding:14px 0}
.project-page main>section{position:relative;z-index:1}
.proj-hero{min-height:76svh;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative;color:#F6F2E8}
.proj-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,12,.20) 0%,rgba(13,16,12,.35) 45%,rgba(13,16,12,.84) 100%)}
.proj-hero .wrap{position:relative;z-index:1;padding-block:clamp(38px,8vh,86px)}
.proj-hero .eyebrow{color:#CEB886}.proj-hero .eyebrow::before{background:#CEB886}
.proj-hero h1{font-size:clamp(42px,7.5vw,104px);line-height:.98;margin-top:14px;color:#F6F2E8}
.proj-hero .sub{margin-top:16px;font-size:clamp(17px,2vw,22px);color:rgba(246,242,232,.92);max-width:42ch}
.proj-back{display:inline-block;margin-bottom:20px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,242,232,.85)}
.proj-back:hover{color:#fff}
.proj-phase{padding-block:clamp(46px,7vw,96px)}
.proj-phase + .proj-phase{padding-top:0}
.proj-phase .sec-head{margin-bottom:clamp(22px,3.5vw,40px)}
.proj-gallery{columns:3 300px;column-gap:14px}
.proj-gallery img{width:100%;margin:0 0 14px;border-radius:3px;break-inside:avoid;display:block;background:var(--surface)}
@media(max-width:640px){.proj-gallery{columns:1}}
.proj-cta{margin-top:clamp(30px,5vw,60px)}
.proj-pn{display:flex;justify-content:space-between;gap:16px;padding-block:clamp(30px,5vw,54px);border-top:1px solid var(--line)}
.proj-pn .pn-link{font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);color:var(--ink)}
.proj-pn .pn-link:hover{color:var(--accent)}

/* ===== Ficha de proyecto ===== */
.proj-intro{padding-block:clamp(40px,6vw,80px) 0}
.proj-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.5vw,40px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:clamp(24px,3vw,36px)}
.proj-meta-grid .pm-lab{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.proj-meta-grid .pm-val{font-family:var(--serif);font-size:clamp(15px,1.3vw,18px);color:var(--ink);line-height:1.4}
.proj-desc{margin-top:clamp(28px,4vw,44px);font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:var(--ink-soft);max-width:70ch}
.proj-badge{display:inline-block;font-size:12px;letter-spacing:.04em;color:var(--ink)}
.proj-badge.live{color:var(--accent)}
.proj-badge.live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle}
@media(max-width:760px){.proj-meta-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== Sobre nosotros ===== */
.sobre-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(30px,4vw,48px)}
.sobre-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;background:var(--surface)}
@media(max-width:700px){.sobre-gallery{grid-template-columns:1fr 1fr}}


/* ============ MENU HAMBURGUESA (movil) ============ */
.burger{display:none;background:none;border:0;width:30px;height:20px;position:relative;cursor:pointer;padding:0;color:rgba(244,239,229,.92)}
header.nav.scrolled .burger{color:var(--ink)}
.burger span{position:absolute;left:0;width:100%;height:2px;background:currentColor;transition:transform .3s,opacity .3s,top .3s}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:9px}.burger span:nth-child(3){top:18px}
.burger.open span:nth-child(1){top:9px;transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){top:9px;transform:rotate(-45deg)}
@media(max-width:640px){
  .burger{display:block;z-index:60}
  nav.links{position:fixed!important;inset:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--bg);transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:55}
  nav.links.open{transform:none}
  nav.links a{color:var(--ink)!important;font-size:21px}
  nav.links .nav-cta{border-color:var(--line)!important}
  .burger.open{color:var(--ink)}
}

/* ============ ANIMACION SOLO EN HOME (desactivar reveal en subpaginas) ============ */
.project-page .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* ============ PROYECTOS: mosaico irregular ============ */
.pmosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:clamp(12px,1.4vw,20px);grid-auto-flow:dense}
.pmosaic .pcard{position:relative;overflow:hidden;border-radius:2px;background:var(--surface);grid-column:span 1;grid-row:span 1;min-height:0;display:block}
.pmosaic .pcard .ph{position:absolute;inset:0;margin:0}
.pmosaic .pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pmosaic .pcard:hover .ph img{transform:scale(1.06)}
.pmosaic .pcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(13,16,12,.82))}
.pmosaic .pcard .meta{position:absolute;left:16px;right:16px;bottom:14px;z-index:2}
.pmosaic .pcard .meta .loc{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-hi)}
.pmosaic .pcard .meta h3{color:#F6F2E8;font-size:clamp(17px,1.5vw,23px);margin-top:3px}
.pmosaic .pcard .meta .psub{color:rgba(246,242,232,.8);font-size:12px;margin-top:2px;line-height:1.35}
.pmosaic .pc-badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--accent-hi);color:#1A2913;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:2px}
.pmosaic .pcard:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.pmosaic .pcard:nth-child(7n+4){grid-column:span 2}
.pmosaic .pcard:nth-child(7n+6){grid-row:span 2}
@media(max-width:900px){.pmosaic{grid-template-columns:repeat(3,1fr);grid-auto-rows:170px}}
@media(max-width:600px){.pmosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px}.pmosaic .pcard:nth-child(7n+1){grid-column:span 2;grid-row:span 1}.pmosaic .pcard:nth-child(7n+4){grid-column:span 2}}

/* ============ NOSOTROS: logo centrado ============ */
.logo-center{display:block;text-align:center;margin:0 auto clamp(24px,4vw,40px)}
.logo-center img{height:44px;width:auto;display:inline-block}
.logo-center .l-green{display:none}
@media(prefers-color-scheme:light){.logo-center .l-gold{display:none}.logo-center .l-green{display:inline-block}}
:root[data-theme="light"] .logo-center .l-gold{display:none}
:root[data-theme="light"] .logo-center .l-green{display:inline-block}
:root[data-theme="dark"] .logo-center .l-gold{display:inline-block}
:root[data-theme="dark"] .logo-center .l-green{display:none}

/* override: mosaico irregular debe superar el grid-column:auto!important antiguo */
.pmosaic .pcard{grid-column:span 1;grid-row:span 1}
.pmosaic .pcard:nth-child(7n+1){grid-column:span 2!important;grid-row:span 2!important}
.pmosaic .pcard:nth-child(7n+4){grid-column:span 2!important;grid-row:span 1!important}
.pmosaic .pcard:nth-child(7n+6){grid-column:span 1!important;grid-row:span 2!important}
@media(max-width:600px){.pmosaic .pcard:nth-child(7n+1){grid-row:span 1!important}}

/* D2: fotos del equipo en blanco y negro */
.team-member .tm-photo img{filter:grayscale(1);transition:filter .4s ease}

/* D3: animacion de aparicion SOLO en Nosotros (body.reveal-on) */
.project-page.reveal-on .reveal{opacity:0!important;transform:translateY(26px)!important;transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)!important}
.project-page.reveal-on .reveal.in{opacity:1!important;transform:none!important}
.project-page.reveal-on .reveal.d1{transition-delay:.10s}
.project-page.reveal-on .reveal.d2{transition-delay:.20s}
.project-page.reveal-on .reveal.d3{transition-delay:.30s}
@media(prefers-reduced-motion:reduce){.project-page.reveal-on .reveal{opacity:1!important;transform:none!important}}

/* Fichas de proyecto: carruseles infinitos por fase (B/N) */
.proj-carousel{padding-block:clamp(28px,4.5vw,58px)}
.proj-carousel + .proj-carousel{padding-top:0}
.proj-carousel .sec-head{margin-bottom:clamp(14px,2.2vw,26px)}
.carousel{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.carousel .track{display:flex;gap:14px;width:max-content;animation:bmarquee var(--dur,60s) linear infinite;will-change:transform}
.carousel .track img{height:clamp(190px,25vw,320px);width:auto;object-fit:cover;border-radius:2px;display:block;filter:grayscale(1);background:var(--surface)}
.carousel:hover .track{animation-play-state:paused}
@keyframes bmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.carousel .track{animation:none}.carousel{overflow-x:auto}}

/* Tarea 2: Proyectos (mosaico) — texto oculto, aparece en hover */
.pmosaic .pcard .ph::after{opacity:0;transition:opacity .35s ease}
.pmosaic .pcard .meta{opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease}
.pmosaic .pcard:hover .ph::after{opacity:1}
.pmosaic .pcard:hover .meta{opacity:1;transform:none}
@media(hover:none){.pmosaic .pcard .ph::after{opacity:1}.pmosaic .pcard .meta{opacity:1;transform:none}}

/* ===== DOC cliente: fichas de proyecto (meta) + mosaico con nombre centrado ===== */
.proj-meta{padding-block:clamp(40px,6vw,80px);border-bottom:1px solid var(--line)}
.pm-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,72px);align-items:start}
.pm-facts{display:flex;flex-direction:column;gap:18px}
.pm-facts .lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.pm-facts p{font-family:var(--serif);font-size:clamp(16px,1.5vw,20px);color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);padding:5px 11px;border-radius:2px}
.pm-desc{font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:var(--ink-soft)}
@media(max-width:820px){.pm-grid{grid-template-columns:1fr}}
/* mosaico v2: nombre siempre visible centrado; ubicacion+tipo en hover */
.pmosaic .pcard .pm-name{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#F6F2E8;font-size:clamp(18px,1.9vw,26px);text-align:center;padding:10px;text-shadow:0 2px 22px rgba(0,0,0,.55);margin:0}
.pmosaic .pcard .ph::before{content:"";position:absolute;inset:0;background:rgba(13,16,12,.28);transition:background .35s ease}
.pmosaic .pcard:hover .ph::before{background:rgba(13,16,12,.45)}
.pmosaic .pcard:hover .pm-name{transform:translateY(-12px)}
.pmosaic .pcard .pm-name{transition:transform .35s ease}
@media(hover:none){.pmosaic .pcard .pm-name{transform:none!important}}
/* MOBILE-FIX: en tactil o pantalla estrecha, nombre y meta se solapaban. Apilar abajo: ubicacion -> nombre -> subtitulo */
@media(hover:none),(max-width:600px){
  .pmosaic .pcard{display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px 15px}
  .pmosaic .pcard .pm-name{position:relative;z-index:2;inset:auto;display:block;place-items:unset;text-align:left;order:2;padding:0;margin:2px 0 0;font-size:clamp(19px,5.2vw,24px);line-height:1.15}
  .pmosaic .pcard .meta{display:contents}
  .pmosaic .pcard .meta .loc{position:relative;z-index:2;order:1}
  .pmosaic .pcard .meta .psub{position:relative;z-index:2;order:3;margin-top:3px}
}


/* ===== DOC: boton de idioma ES/EN ===== */
.langbtn{background:transparent;border:1px solid rgba(244,239,229,.4);color:#F4EFE5;min-width:40px;height:38px;padding:0 10px;border-radius:19px;cursor:pointer;font-size:12.5px;letter-spacing:.08em;font-weight:600;transition:.3s}
header.nav.scrolled .langbtn,.project-page .langbtn{border-color:var(--line);color:var(--ink)}
.langbtn:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:640px){.langbtn{position:relative;z-index:60}}


/* DOC flecos: hero de Sobre nosotros centrado con logo; carrusel Mallorca en color */
.sobre-hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.sobre-hero .hero-logo-sm{height:clamp(44px,5.5vw,72px);width:auto;margin-bottom:clamp(18px,3.5vh,32px)}
.sobre-hero .eyebrow::before{display:none}
.sobre-carousel .track img{filter:none}


/* ==CLIENT-FIX-START== (feedback cliente 30 ago) */
/* fix 6: Contacto e idioma con el mismo estilo que el resto de enlaces del nav */
.nav-cta{border:0!important;padding:0!important;border-radius:0!important;background:none!important;color:rgba(244,239,229,.82)!important;letter-spacing:.06em!important;font-size:13.5px;text-transform:uppercase}
.nav-cta::after{display:block!important}
.nav-cta:hover{color:#fff!important;background:none!important}
header.nav.scrolled .nav-cta,.project-page .nav-cta{color:var(--ink-soft)!important;border-color:transparent!important}
header.nav.scrolled .nav-cta:hover,.project-page .nav-cta:hover{color:var(--ink)!important;background:none!important}
.langbtn{background:none!important;border:0!important;border-radius:0!important;padding:0!important;min-width:0!important;height:auto!important;color:rgba(244,239,229,.82)!important;font-size:13.5px!important;letter-spacing:.06em!important;font-weight:400!important;text-transform:uppercase}
header.nav.scrolled .langbtn,.project-page .langbtn{color:var(--ink-soft)!important;border-color:transparent!important}
.langbtn:hover{color:#fff!important}
.project-page .langbtn:hover,header.nav.scrolled .langbtn:hover{color:var(--ink)!important}
.langbtn b{font-weight:700}
/* fix 4: boton @instagram legible en tema claro (fuera de secciones sobre video) */
:root[data-theme="light"] section:not(.on-video) .btn-ghost{border-color:rgba(32,55,29,.5);color:var(--ink)}
:root[data-theme="light"] section:not(.on-video) .btn-ghost:hover{background:rgba(32,55,29,.08);border-color:var(--ink)}
/* fix 1: direccion del footer enlazada */
footer a.maplink{color:inherit;text-decoration:none;transition:color .25s}
footer a.maplink:hover{color:var(--accent)}
/* fix 2: aviso al cambiar tema */
.bp-toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(12px);background:#20371D;color:#F4EFE5;border:1px solid rgba(206,184,131,.45);padding:11px 22px;border-radius:30px;font-size:13px;letter-spacing:.02em;box-shadow:0 12px 34px rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .28s,transform .28s;z-index:200}
.bp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* ==CLIENT-FIX-END== */


/* ==CLIENT-FIX2-START== (feedback cliente 30 ago - tanda 2) */
/* pagina activa: subrayado en la barra */
.links a.active::after{width:100%}
.links a.active{color:#fff}
header.nav.scrolled .links a.active,.project-page .links a.active{color:var(--ink)}
/* hover del selector de idioma visible tambien con la barra arriba */
.langbtn{position:relative}
.langbtn::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .3s}
.langbtn:hover{color:#fff!important}
.langbtn:hover::after{width:100%}
header.nav.scrolled .langbtn:hover,.project-page .langbtn:hover{color:var(--ink)!important}
/* imagen suelta (fase con <2 fotos) */
.proj-shot .shot-img{width:100%;max-height:60vh;object-fit:cover;border-radius:2px;filter:grayscale(1);display:block;background:var(--surface)}
/* movil: logo centrado en la barra + idioma/tema dentro del menu hamburguesa */
@media(max-width:640px){
  header.nav .wrap{position:relative;justify-content:center}
  header.nav .brand{position:static}
  .burger{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;z-index:60}
  nav.links .langbtn{font-size:20px!important;color:var(--ink)!important}
  nav.links .langbtn::after{display:none}
}
/* ==CLIENT-FIX2-END== */





/* ==MOSAIC-FIX== grandes alternando izq/dcha/izq, teselado exacto (15 proy, 4 col) */
@media(min-width:901px){
  .pmosaic .pcard:nth-child(1),.pmosaic .pcard:nth-child(11){grid-column:span 2!important;grid-row:span 2!important}
  .pmosaic .pcard:nth-child(6){grid-column:3 / span 2!important;grid-row:span 2!important}
  .pmosaic .pcard:nth-child(4),.pmosaic .pcard:nth-child(8),.pmosaic .pcard:nth-child(10),.pmosaic .pcard:nth-child(13),.pmosaic .pcard:nth-child(15){grid-column:span 1!important;grid-row:span 1!important}
}
@media(max-width:900px){
  .pmosaic .pcard:nth-child(1),.pmosaic .pcard:nth-child(4),.pmosaic .pcard:nth-child(6),.pmosaic .pcard:nth-child(8),.pmosaic .pcard:nth-child(10),.pmosaic .pcard:nth-child(11),.pmosaic .pcard:nth-child(13),.pmosaic .pcard:nth-child(15){grid-column:span 1!important;grid-row:span 1!important}
}
/* ==MOSAIC-FIX-END== */

/* ==FICHAS-COLOR== carruseles e imagenes de las fichas de proyecto en color (no B/N) */
.proj-carousel .carousel .track img,.proj-shot .shot-img,.proj-shots .shot-img{filter:none!important}
/* ==FICHAS-COLOR-END== */






/* ==HOVER-ALL== hover: la imagen crece al pasar el raton (toda la web) */
/* imagenes sueltas / equipo / mosaico de servicios: pop-out */
.team-member .tm-photo,.serv-mosaic .pcard{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.team-member .tm-photo:hover,.serv-mosaic .pcard:hover{transform:scale(1.05);z-index:5;box-shadow:0 20px 50px rgba(0,0,0,.42);position:relative}
/* carruseles: espacio vertical para que la foto crezca SIN recortarse arriba/abajo */
.carousel{padding-block:24px}
.carousel .track img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.carousel .track img:hover{transform:scale(1.10);position:relative;z-index:2}
/* ==HOVER-ALL-END== */

/* ==METODO-BG== casillas del metodo sobre el verde de pagina (sin rejilla de otro color) */
#metodo9{background:var(--bg)!important;border-block:0!important}
#metodo9 .metodo-grid{background:transparent!important;border:0!important}
/* ==METODO-BG-END== */

/* ==EQUIPO-INTRO== foto de grupo + texto ADN a 2 columnas */
.equipo-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:center;margin-bottom:clamp(38px,5vw,64px)}
.equipo-foto{margin:0;border-radius:2px;overflow:hidden;background:var(--surface)}
.equipo-foto img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover}
.equipo-texto .sec-head{text-align:left;justify-items:start;margin:0}
.equipo-texto .lead{margin:16px 0 0;max-width:60ch}
@media(max-width:820px){.equipo-intro{grid-template-columns:1fr}}
/* ==EQUIPO-INTRO-END== */

/* ==SV-BAND== banda con el nombre de marca sobre foto (tras el texto de intro) */
.sv-band{position:relative;background-size:cover;background-position:center;padding-block:clamp(72px,12vw,150px);text-align:center;overflow:hidden}
.sv-band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,12,.55),rgba(13,16,12,.38))}
.sv-band .wrap{position:relative;z-index:1}
.sv-band .sv-title{color:#F4EFE5;font-family:var(--serif);font-weight:400;font-size:clamp(30px,5.2vw,66px);line-height:1;white-space:nowrap;margin:0}
@media(max-width:640px){.sv-band .sv-title{white-space:normal;font-size:clamp(26px,8vw,42px)}}
/* ==SV-BAND-END== */

/* ==PROJ-GALLERY== cuadricula estatica en color + hover que agranda la foto (admite cualquier nº) */
.proj-shots .shots-grid{display:grid;gap:clamp(10px,1.2vw,16px);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.proj-shots .shots-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.proj-shots .shots-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.proj-shot .shot,.proj-shots .shots-grid .shot{position:relative;overflow:hidden;border-radius:2px;margin:0;background:var(--surface);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.proj-shots .shots-grid .shot{aspect-ratio:4/3}
.proj-shot .shot .shot-img{width:100%;max-height:60vh;object-fit:cover;display:block}
.proj-shots .shot .shot-img{width:100%;height:100%;object-fit:cover;display:block}
.proj-shot .shot:hover,.proj-shots .shot:hover{transform:scale(1.06);z-index:5;box-shadow:0 22px 55px rgba(0,0,0,.45)}
@media(max-width:640px){.proj-shots .shots-grid{grid-template-columns:repeat(2,1fr)}.proj-shots .shots-grid.cols-2,.proj-shots .shots-grid.cols-3{grid-template-columns:1fr}}
/* ==PROJ-GALLERY-END== */

/* ==GMOSAIC== DETALLES tipo mosaico: tamaños variados, imagenes mas grandes */
.proj-shots .shots-grid.gmosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15.5vw,215px);grid-auto-flow:dense;gap:clamp(8px,1vw,14px)}
.proj-shots .shots-grid.gmosaic .shot{aspect-ratio:auto;width:auto;height:auto}
.proj-shots .shots-grid.gmosaic .shot:nth-child(6n+1){grid-column:span 2;grid-row:span 2}
.proj-shots .shots-grid.gmosaic .shot:nth-child(6n+4){grid-row:span 2}
.proj-shots .shots-grid.gmosaic .shot .shot-img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.proj-shots .shots-grid.gmosaic{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.proj-shots .shots-grid.gmosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.proj-shots .shots-grid.gmosaic .shot:nth-child(6n+1){grid-column:span 2}}
/* ==GMOSAIC-END== */






/* ==METODO-CSS-START== */
/* ===== metodo: casillas coherentes con el resto del sitio (surface + radio 2px + borde fino) ===== */
.metodo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px)}
.mstep2{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:2px;transition:border-color .3s,transform .3s}
.mstep2:hover{border-color:var(--accent);transform:translateY(-3px)}
.mstep2 .ms-photo{aspect-ratio:16/10;overflow:hidden;background:#20371D}
.mstep2 .ms-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s,filter .5s}
.mstep2:hover .ms-photo img{transform:scale(1.04);filter:grayscale(.15)}
.mstep2 .ms-body{padding:22px 22px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.mstep2 .ms-body .idx{font-size:12px;letter-spacing:.18em;color:var(--muted)}
.mstep2 .ms-body h3{font-size:21px;color:var(--ink);margin:0}
.mstep2 .ms-body p{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0}
.mstep2 .ms-body .vermas{margin-top:auto;padding-top:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:.5em;align-items:center}
.mstep2 .ms-body .vermas .arw{transition:transform .3s}
.mstep2:hover .ms-body .vermas .arw{transform:translateX(4px)}
@media(max-width:900px){.metodo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.metodo-grid{grid-template-columns:1fr}}
.serv{padding-block:clamp(46px,7vw,96px);scroll-margin-top:90px}
.serv.alt{background:var(--surface);border-block:1px solid var(--line)}
.serv .eyebrow{margin-bottom:14px}
.serv h2{font-size:clamp(28px,4.2vw,52px);line-height:1.06}
.serv h2 em{font-style:italic;color:var(--accent)}
.serv .lead{margin-top:18px;max-width:64ch}
.serv .carousel{margin-top:clamp(24px,3.5vw,40px)}
.serv .carousel .track img{filter:none}
.serv-mosaic .pcard .ph::before{display:none}
/* post-venta: 1 foto que cambia (izq) + titulo/texto (dcha), como Canva */
.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(24px,3vw,40px)}
.pv-photos{position:relative;display:block;aspect-ratio:4/3;border-radius:2px;overflow:hidden;background:var(--surface)}
.pv-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease}
.pv-slide.active{opacity:1}
.pv-slide img{width:100%;height:100%;object-fit:cover;display:block}
.pv-slide .pv-name{position:absolute;left:0;right:0;bottom:0;padding:30px 22px 16px;color:#F6F2E8;font-family:var(--serif);font-size:clamp(20px,2vw,28px);background:linear-gradient(180deg,transparent,rgba(13,16,12,.78))}
.pv-photos .pv-cta{position:absolute;top:14px;right:14px;z-index:3;background:var(--accent-hi);color:#1A2913;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:2px;display:inline-flex;gap:.5em;align-items:center;opacity:0;transition:opacity .3s}
.pv-photos:hover .pv-cta{opacity:1}
.pv-text{text-align:right}
.pv-text .lead{margin-left:auto;max-width:46ch;margin-top:18px}
@media(max-width:820px){.pv-grid{grid-template-columns:1fr}.pv-text{text-align:left}.pv-text .lead{margin-left:0}}
/* "Todo bajo un mismo techo" con foto de fondo (banda) */
.serv-band{position:relative;background-size:cover;background-position:center;padding-block:clamp(72px,11vw,150px);text-align:center;overflow:hidden;border-block:1px solid var(--line)}
.serv-band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,12,.55),rgba(13,16,12,.42))}
.serv-band .wrap{position:relative;z-index:1}
.serv-band h2{color:#F4EFE5;font-size:clamp(30px,5vw,62px);line-height:1.05;margin:0}
.serv-band h2 em{font-style:italic;color:var(--accent-hi)}
/* servicios centrados (Topografía / Administración), como Canva */
.serv-center{text-align:center}
.serv-center .eyebrow{justify-content:center}
.serv-center .lead{margin-left:auto;margin-right:auto}
/* ==METODO-CSS-END== */
